Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4745335B2 - 動的負荷バランシング - Google Patents
[go: Go Back, main page]

JP4745335B2 - 動的負荷バランシング - Google Patents

動的負荷バランシング Download PDF

Info

Publication number
JP4745335B2
JP4745335B2 JP2007507848A JP2007507848A JP4745335B2 JP 4745335 B2 JP4745335 B2 JP 4745335B2 JP 2007507848 A JP2007507848 A JP 2007507848A JP 2007507848 A JP2007507848 A JP 2007507848A JP 4745335 B2 JP4745335 B2 JP 4745335B2
Authority
JP
Japan
Prior art keywords
thread
metric
page
ama
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2007507848A
Other languages
English (en)
Other versions
JP2007533020A (ja
Inventor
イン ナム コー
ロバート グレイアム イシャーウッド
Original Assignee
イマジネイション テクノロジーズ リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by イマジネイション テクノロジーズ リミテッド filed Critical イマジネイション テクノロジーズ リミテッド
Publication of JP2007533020A publication Critical patent/JP2007533020A/ja
Application granted granted Critical
Publication of JP4745335B2 publication Critical patent/JP4745335B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、例えばマルチスレッド化されたマイクロプロセッサのスレッドへのメモリのような一つまたはそれより多いリソースへのアクセス帯域幅を動的に割り当てるための方法および装置に関する。メモリアクセスにおいて、これはメモリレイテンシを改善し、特に、集中的なメモリ動作の期間における自動MIPS配置(AMA)制御システムの過負荷を防止する。
我々の英国特許出願9607153.5号は、マルチスレッド化されたプロセッサおよび複数の実行スレッドが、複数のデータ入力と複数のデータ出力の間で、データ処理手段を介して、ルーチングされるデータ処理管理システムについて説明する。このデータ処理手段は、データ記憶手段へのアクセスを有する。このシステムは、繰り返し、どのルーチング動作およびどのデータ処理動作が実行される能力を有するかを決定し、少なくとも一つのルーチングまたはデータ処理動作の実行を各クロック周期において開始する。
そういったマルチスレッド化されたプロセッサの典型的なサブモジュールが図1に示される。この例示の目的のため、この図におけるマイクロプロセッサ・コアは二つの実行スレッドだけを有する。
マイクロプロセッサ・コア1はメモリ要求をメモリ管理ユニット2へ発行する。この要求されたデータがそのローカルメモリ内にない場合(すなわち、キャッシュ・ミス)、その要求されたデータは外部メモリからフェッチされなければならないことが考えられる。外部メモリは単一のデータパスを有するだけであるため、プレ・アービター3は、異なるスレッドからの要求の間で仲裁を行なうために使用される。
図1において使用され得る最も単純な種類の仲裁方式は、ラウンド・ロビンである。しかし、そういった方式には二つの主要な問題がある。それらは以下のものである。
第1に、従来型のダイナミック・ランダム・アクセスメモリ(DRAM)は、複数のバンクとして組織される。これらのバンクはページと呼ばれる領域へ分割される。一般的には、メモリ位置へアクセスされ得る前に、関連するページがオープンされなければならない。アクセスの後、このメモリは現在のページをオープン(オープン・ページ・ポリシー)、またはクローズ(クローズ・ページ・ポリシー)し続けるかを選択することが考えられる。例えば、メモリがオープン・ページ・ポリシーにおいて動作し、プレ・アービターが、最後のアクセスと同じページ内に存在しないメモリアクセスを送信することを選択する場合、新規なページをオープンするために必要な時間量に起因して高いメモリ周期レイテンシが生じる。一方、メモリがクローズ・ページ・ポリシーにおいて動作している場合、最後と同じページ内のメモリ要求の送信が同様に高いレイテンシを生じる。
第2に、マルチスレッド化されたプロセッサのAMAは、すべてのスレッド上において動作するすべてのプログラム処理要求が満たされるように、プロセッサリソースの使用を制御する問題を取り扱う。図1の仲裁手段はスレッドの現在の状態を考慮しない。これは、AMAの動作が妨げられるかもしれない可能性があることを意味する。特に、集中的メモリ動作期間が存在する場合、プレ・アービター3が単純にいかなるスレッドAMA情報をも有さないという事実に起因して、AMA制御システムは過負荷となり得る。
本発明の好ましい実施形態は、一以上のスレッドがメモリアクセスを要求している場合において、メモリレイテンシを最適化することを目的とする。これを達成すべく、メモリによって受け入れられた最後のメモリアクセスのページアドレスを記憶するためにレジスタが使用される。アービター入力での各スレッドの各アクセスのために、個別のページアドレスが計算され、最後のメモリアクセスのページアドレスを記憶するためのレジスタにおいて保持されるページアドレスと比較される。それから、この比較は、ページ内インジケーションを生成するために使用され得る。それから、ページ内インジケーションをユーザ定義の重みに乗算し、メモリアクセスおよび異なるスレッド間のページ内最適化におけるユーザ制御を許容することで、様々なスレッドのページ内メトリックが導出される。オープンおよびクローズ・ページ・ポリシーの両方を伴うメモリは最適化され得ることに注意されたい。
第2の問題を解決するために、好ましい実施形態は、AMAメトリックと呼ばれるもう一つのメトリックを生成する。まず、AMA遅延カウント、およびデッドラインカウント値のサブセットが取得される。これらの値は、AMAメトリックを生成するために操作される。各カウントのための各スレッドのためのサブセットは、メモリアクセスの仲裁に影響するAMA状態の範囲の制御を提供するために、ユーザによって個別的に選択可能である。
好ましい実施形態は、メモリへのスレッドアクセスに影響を及ぼすために、これら二つのメトリックを個別にまたは状態スレッド優先度と組み合わせて一緒に使用することを可能にする。
ここで、本発明の好ましい実施形態が、添付された図面を参照しつつ、例示の方法で詳細に述べられる。
図2はメモリ・プレ・アービター1を図解的に示す。これは、各スレッドのためのAMA入力を受信するAMA抜出ユニット4と、並列に各スレッドのためのメモリデータおよび制御入力を受信するページ内メトリック生成ユニット7とを備える。AMA抜出ユニットおよびページ内メトリック生成ユニットの結果が、総合的メトリック生成ユニット5へ供給され、そしてそれから、どのスレッドがメモリへのアクセスを有するべきかを決定し、その出力においてこのアクセスを提供する仲裁ロジック6へ供給される。仲裁ロジック6は、それがデータをその出力を介してメモリへ渡すことを可能とするため、各スレッドのためのメモリデータおよび制御入力へも接続される。
AMA抜出ユニット4は、サブセット選択操作および各スレッドのためのAMAメトリックへの様々なAMAカウントの連結を実行する。ページ内メトリック生成ブロック7は、最後のメモリページアドレスの記憶、入力要求のページアドレスとの比較、およびページ内メトリックを与えるために必要な操作を実行する。通常、この操作は単純に一つの操作を含む。
総合的メトリック生成ユニット5は、その最終的なスレッド決定を導出するために、仲裁ロジック6による使用のための各スレッドの総合的メトリックを生成するために必要なロジックすべてを含む。スレッドが、マルチスレッド化されたプロセッサ上で実行している場合、各スレッドは、AMA入力と、メモリデータおよび制御データを、どのスレッドがメモリへのアクセスを有するべきかを決定するための仲裁ロジックによって使用される総合的メトリックを生成するために、AMAメトリックおよびページ内メトリックを抜出すメモリ・プレ・アービターに供給する。どのスレッドがメモリへのアクセスを有するかを決定するために、AMAメトリックかページ内メトリックまたは静的スレッド優先度だけが使用されるように、本発明は修正され得る。
図3は、スレッドのN番目のためのページ内メトリックブロックの実施を示す。最後のメモリアクセスレジスタ9は、図2の仲裁ロジック6によって外部メモリへ送信される最後のメモリ・トランザクションのメモリアドレスを記憶するために提供される。ページサイズレジスタ8は、アクセスされるメモリにおけるバイト表示のページサイズを表す定数を記憶する。比較器はそれぞれ、入力アドレスから各スレッドによって要求されるページアドレスを算出するために、ページサイズレジスタ8において記憶される値を使用する。次に、これは、レジスタ9において記憶された最終メモリアクセス値と比較される。それから、一つが各スレッドのためであるN個のページ内メトリックを与えるために、比較器の出力はユーザ指定のページ内重み付けによって乗算される。各ページ内重み付けは、同じサイズのページ内メトリックを与える8bit unsingedのベクトルである。
このスレッド毎ページ内重み付けは、各スレッドのページ内効果が個別によく調整されることを可能とする。それはまた、すべてのスレッドの要求がページ内であるとき、例えば、関連のあるスレッド優先度を異なる値を各スレッドへ割り当てることで確立するような柔軟性を与える。
スレッドの一つのためのAMA抜出ブロックが図4に示される。他の実施形態においては異なる出力が適切であるかもしれないが、このブロックの目的はこの特定の実施形態におけるスレッド毎の8bit出力ベクトルを生成することである。この8bit出力ベクトルは、スレッドの現在のAMA状態を反映すべきである。AMAにおいて、スレッド順位付けアルゴリズムは、スレッドの総合的メトリックを比較することに基づく。これは、その時間までにスレッドが実行されなければならない時間であるDEADLINE COUNT、スレッドの実行が最初に要求されてからの遅延であるDELAY COUNT、およびスレッドに与えられた優先度である優先度の連結である。DEADLINE COUNTは、これらのメトリックの中で最も重要である。したがって、このブロックのために使用するためのAMAメトリックの一つの妥当な形式はより深刻なDEADLINE COUNTを伴うDEADLINE COUNTとDELAY COUNTの連結である。
二つのカウント値の全体長が使用された場合、極めて厳密なタイミング要求がプレ・アービターの以下のステージにおけるハードウェア上で課される。例えば、加算器と比較器は、懸命に動作しなければならないだろう。このタイミング要求を軽減するために、AMA状態へのプレ・アービターの感度の許容可能かつ使用可能なレンジを許容している間、例えば、DEADLINEおよびDELAY COUNTのそれぞれからのレングス4のビットスライスが、スライス選択ユニット10によって取得される。図4からわかるように、この特定の例においては、4bitスライスが20bitのDEADLINE COUNTおよび27−bitのDELAY COUNTから取得される。異なる大きさのスライスが、特に異なるサイズのDELAYおよびDEADLINEカウントとともに使用されるかもしれない。これがなされた後、これらのビットは、レンジ超過ロジック11へ渡される。それは、スライスが本当にそれらのオリジナルの小型版を表していることを補償することを確認する。例えば、ビット5からビット2までのスライスが、(MSB)xxxxx10000000(LSB)であるオリジナル値とともに取得された場合、最大限界でレンジ超過である値を示すために、そのスライスは1111の最大値へセットされるべきである。レンジ超過確認クロジック11がこの機能を実行する。同様の処理が、DELAY COUNTスライスにおいても実行される。この値がレンジ限界を超えていない場合、それは変更されない。この後、二つのスライスは、連結ユニット12によって、そのスレッドのためのAMAメトリックを生成するために連結される。
図5は、さらに詳細に、図2の総合的メトリック生成ユニット5を示す。これは、3つのメトリック入力を受信する加算器13を備える。これらの第1は、スレッド実行のための8bit固定のユーザ定義のスレッド優先度である。AMAメトリックおよびページ内メトリックは他の二つの入力である。加算器の出力は9bitであり、レンジ制限ロジック14へ供給される。すべての8bit入力ベクトルが、9bit出力と同様にunsignedである。
各スレッドのために、個々の加算器13は、上述のAMAとページ内メトリックを固定のユーザ指定のスレッド優先度に加算する。それから、レンジ制限ロジックはその和を最大許容可能値へ制限する。この固定のスレッド優先度を含むことの目的は、AMAおよび/またはページ内データが使用されていないときに、プレ・アービターが固定のスレッド優先方式とともに動作することを可能とすることである。
上記提案された総合的なスレッド優先メトリックは、スレッド決定のために使用されることに適している。なぜなら、この値が高いほど、この要求の重要性が仲裁ロジックによって高いとみなされるであろうためである。例えば、ユーザはメモリレイテンシ特性を、特定のスレッドのために重要であるとみなすかもしれないことで、大きなページ内重みが設定され、それにより、ページ内最適化機会が到来すると、大きな総合的メトリックを生成する。AMA制御のコンテキストにおいて、導出されたAMAメトリックにおけるより高い値は、重くスケジュールされたスレッドに対応するかもしれない。これは、その通常のスケジューリングへ立ち戻るためにAMAによって必要とされる時間を減少させるためにスレッドが高いメモリ帯域幅を有することを、プレ・アービターが確認することを可能とし、このようにして、このバランシング期間の間に他のスレッドのAMAカウントが飽和する可能性を減少させる。
上述の総合的メトリックに基づいた仲裁方式を用いると、一つの実行スレッドも要求していない場合または少なくとも一つのスレッドは要求している場合の両方の場合において、周期的決定によって顕著かつ機能上正しい周期が生成されることは重要なことである。少なくとも二つの実行スレッドが同じメトリックを有する場合において、プレ・アービターは、例えば、ラウンドロビン仲裁方式を用いることでスレッドのそれぞれへのメモリ帯域幅の等しい割り当てを与えるべきであることもまた重要である。
図6は、図2におけるプレ・アービターの仲裁ロジックの構成を図示したものである。このブロックへの入力はm_T0、m_T1、m_T2ならびにm_T3(ここで、m_T0はスレッド0の総合的メトリックである)、および、v_T0、v_T1、v_T2ならびにv_T3(ここで、v_T0における1はm_T0が有効であることを示す)である。図6がどのように動作するのかを理解するために、サブブロックの動作についてまず説明する。
再並べ替えロジック15の機能は、四つの入力のペア、m_T0(v_T0)・・・m_T3(v_T3)を異なる出力位置へ、各クロック周期において割り当てるためのものである。例えば、現在の周期において、
m_Ta=m_T0、m_Tb=m_T1、m_Tc=m_T2、m_Td=m_T3
v_Ta=v_T0、v_Tb=v_T1、v_Tc=v_T2、v_Td=v_T3
であり、次の周期において、
m_Ta=m_T1、m_Tb=m_T2、m_Tc=m_T3、m_Td=m_T0
v_Ta=v_T1、v_Tb=v_T2、v_Tc=v_T3、v_Td=v_T0
である。
このシフトと規則であってそれがその規則に基づく規則の目的は、この議論の中で後ほど明らかとなるであろう。
比較器ブロック16の機能は、それらの有効性をv_Ta・・・v_Tdによって与えられるm_Ta、m_Tb、m_Tc、およびm_Tdのなかで最も高い総合的メトリックを決定し、「スレッド決定」となるその対応するスレッド番号を出力する。図6におけるそういった単一の比較器17の真理値表が以下に与えられる。A0およびA1は、比較されるべき二つのデータ入力であり、V0およびV1はその有効性である。出力は、どれがサイズにおいてより大きいかに応じて、A0またはA1を含む。
Figure 0004745335
この表から、太字で示された列は一つだけの明確な出力を有することがわかる。例えば、第2段において、有効なA1と無効なA0を比較することはA1の出力を生成することとなる。太字で記されていないその他の列は、「どちらの実行スレッドも要求していない」、または「二つのメトリックが同じである」ような状況を示す。それは、出力が適宜割り当てられるかもしれないという結果になる。この実施形態においては、A0が常に出力に割り当てられる。
この方式を用いると、再並べ替えロジックが迂回され(すなわちm_Ta=m_T0等)、図6におけるブロック40の入力ですべてのスレッドが何らかの期間に同じメトリックを用いて要求する場合、常に、スレッド0にはアクセスが与えられるであろう。これは、上述の等しい帯域幅割り当て要求を無視する。これが、シフトが必要であり、これらの均衡状態の間はメモリ帯域幅の等しい割り当てが提供されるようにそれが実行される理由である。
図6における最後のハードウェアブロック、すなわちユニット18が、要求に応じてデータと決定スレッドの制御入力を外部メモリへ接続するために使用される。それは19におけるデータ入力を受信し、これらを20における外部メモリへ接続する。これがすべて、そこに到来するスレッド決定49の制御のもとで、比較器ブロック40によってなされる。
上記はスレッド優先度を動的に変化させる方法を示す。他のものも明らかに可能である。どんなメトリックであろうとも、これらのメトリックが、個別にまたは他のメトリックとの組合せにおいて、動的な優先度を生成するために使用され得る。例えば、このシステムは、各スレッドのアクセスのための多数のクロック周期においてデッドラインカウントのみを使用する。そういった状況において、与えられるために待っている間に、アクセスがデッドラインに近づくほど、優先度はそのスレッドのためのものより高くなる。すべてのスレッドが実行を完了するための時間を有することを保証するために、スレッドの負荷における変化を反映するようデッドラインの設定をレジスタによって変更することが、もちろんいつでも可能である。
入力ストリームの固定的および動的な優先度アスペクトのユーザ定義の組合せを表す総合的スレッド決定メトリックを生成する説明された方法は、いかなる種類のアービターへも適用することができる。この特定の適用においては、メモリ・プレ・アービターとして示された。この実施は仲裁方式が、ラウンドロビン、ページ内最適化、およびAMA状態の単独、または多くの柔軟性を与えるすべての3つのスケールまたは混合に基づくことを許容する。
図1は上述のマルチスレッド化されたプロセッサのための典型的なサブモジュールを示す。 図2は本発明を実現するメモリ・プレ・アービターのアーキテクチャを図解的に示す。 図3は本発明の実施形態におけるページ内メトリック生成の実施を図解的に示す。 図4は本発明の実施形態における使用のためのスレッドのためのAMA抜出ブロックの実施を図解的に示す。 図5は本発明の実施形態におけるスレッドNのための総合的メトリック生成の実施を示す。 図6は本発明の実施形態における仲裁ブロックを図解的に示す。 図7は本発明の実施形態におけるスレッドメトリックの再並べ替えを示す。

Claims (7)

  1. マルチスレッド化されたプロセッサのメモリへのアクセスを動的に割り当てるコンピュータによって実行される方法であって、
    一つより多いスレッドを同時に実行するマルチスレッド化されたプロセッサを構成し、 メモリアクセスを前記一つより多いスレッドから要求し、
    一つまたはそれより多いスレッドの各スレッドのための自動非インターロックパイプラインステージマイクロプロセッサ(MIPS)配置(AMAメトリックを前記各スレッドのための実行メトリックから導出する段階と、
    前記各スレッドのためのページ内メトリックを最後のメモリアクセスのページアドレスおよび実行スレッドのために要求されたページ内アドレスから導出する段階と、
    前記AMAメトリックおよびページ内メトリックに基づいて前記メモリへのアクセスを決定する段階とを備え
    前記ページ内メトリックを導出するために、前記最後のメモリアドレスのページアドレスがレジスタ内に格納され、前記実行スレッドのためのページ内アドレスと比較され、
    前記ページ内メトリックはメモリレイテンシを最適化するために使用され、
    ビットスライスを二つの実行メトリックのそれぞれから取得する段階と、前記AMAメトリックを導出するために前記ビットスライスを組み合わせる段階とによって前記AMAメトリックが導出されることを特徴とする方法。
  2. ビットスライスのための通過手段により、各ビットスライスをレンジ超過確認ロジックに通過させ、ビットスライスがレンジを越えている場合、値を最大に設定する段階を備えることを特徴とする請求項に記載の方法。
  3. 前記ページ内メトリックを各スレッドのためのユーザ定義の優先度と組み合わせる段階を含むことを特徴とする請求項に記載の方法。
  4. 二つまたはそれより多いスレッドから前記リソースへの等しいアクセスに等しい同等のメトリックを与える段階を備えることを特徴とする請求項に記載の方法。
  5. 前記AMAメトリックが、それまでにスレッドが実行されなければならないデッドラインに基づくものであることを特徴とする請求項1に記載の方法。
  6. 前記AMAメトリックがスレッドの実行要求されてからの遅延に基づくものであることを特徴とする請求項1に記載の方法。
  7. マルチスレッド化されたプロセッサのメモリへのアクセスを動的に割り当てるためのコンピュータであって、
    一つより多いスレッドを同時に実行するマルチスレッド化されたプロセッサと、
    各スレッドのための自動非インターロックパイプラインステージマイクロプロセッサ(MIPS)配置(AMAメトリックを、そのスレッドのための実行メトリックから導出する手段と、
    各スレッドのためのページ内メトリックを、最後のメモリアクセスのページアドレスと実行スレッドのために要求されるページ内アドレスから導出する手段と
    前記AMAメトリックおよびページ内メトリックにしたがって、各スレッドのためのメモリおよびその他のリソースへのアクセスを決定する手段とを備え、
    前記ページ内メトリックを導出するために、前記最後のメモリアドレスのページアドレスがレジスタ内に格納され、前記実行スレッドのためのページ内アドレスと比較され、
    前記ページ内メトリックはメモリレイテンシを最適化するために使用され、
    ビットスライスを二つの実行メトリックのそれぞれから取得する段階と、前記AMAメトリックを導出するために前記ビットスライスを組み合わせる段階とによって前記AMAメトリックが導出されることを特徴とするコンピュータ
JP2007507848A 2004-04-16 2005-04-15 動的負荷バランシング Expired - Lifetime JP4745335B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB0408553.6 2004-04-16
GB0408553A GB2415060B (en) 2004-04-16 2004-04-16 Dynamic load balancing
PCT/GB2005/001459 WO2005101203A1 (en) 2004-04-16 2005-04-15 Dynamic load balancing

Publications (2)

Publication Number Publication Date
JP2007533020A JP2007533020A (ja) 2007-11-15
JP4745335B2 true JP4745335B2 (ja) 2011-08-10

Family

ID=32320972

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007507848A Expired - Lifetime JP4745335B2 (ja) 2004-04-16 2005-04-15 動的負荷バランシング

Country Status (5)

Country Link
US (1) US7712101B2 (ja)
EP (1) EP1738259B1 (ja)
JP (1) JP4745335B2 (ja)
GB (1) GB2415060B (ja)
WO (1) WO2005101203A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8079033B2 (en) * 2007-02-20 2011-12-13 Amadeus Sas System and method for balancing information loads
GB2457265B (en) * 2008-02-07 2010-06-09 Imagination Tech Ltd Prioritising of instruction fetching in microprocessor systems
US9189282B2 (en) 2009-04-21 2015-11-17 Empire Technology Development Llc Thread-to-core mapping based on thread deadline, thread demand, and hardware characteristics data collected by a performance counter
US9569270B2 (en) 2009-04-21 2017-02-14 Empire Technology Development Llc Mapping thread phases onto heterogeneous cores based on execution characteristics and cache line eviction counts
US8881157B2 (en) * 2009-09-11 2014-11-04 Empire Technology Development Llc Allocating threads to cores based on threads falling behind thread completion target deadline
GB2469822B (en) 2009-04-28 2011-04-20 Imagination Tech Ltd Method and apparatus for scheduling the issue of instructions in a multithreaded microprocessor
JP2014053058A (ja) * 2012-09-06 2014-03-20 Toshiba Corp 半導体記憶装置
GB2545307B (en) * 2013-11-29 2018-03-07 Imagination Tech Ltd A module and method implemented in a multi-threaded out-of-order processor
US10057336B2 (en) * 2015-11-17 2018-08-21 Sap Se Dynamic load balancing between client and server
US11281493B2 (en) * 2018-05-30 2022-03-22 Texas Instruments Incorporated Real-time context specific task manager for multi-core communication and control system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2311882B (en) * 1996-04-04 2000-08-09 Videologic Ltd A data processing management system
US5777628A (en) * 1996-05-29 1998-07-07 Hewlett-Packard Company Method and apparatus for detecting cache collisions in a two dimensional memory
US5887166A (en) * 1996-12-16 1999-03-23 International Business Machines Corporation Method and system for constructing a program including a navigation instruction
US6233645B1 (en) * 1998-11-02 2001-05-15 Compaq Computer Corporation Dynamically disabling speculative prefetch when high priority demand fetch opportunity use is high
US7051329B1 (en) * 1999-12-28 2006-05-23 Intel Corporation Method and apparatus for managing resources in a multithreaded processor
GB2372847B (en) * 2001-02-19 2004-12-29 Imagination Tech Ltd Control of priority and instruction rates on a multithreaded processor
US7191446B2 (en) * 2001-06-01 2007-03-13 Texas Instruments Incorporated Method for resource management in a real-time embedded system
EP1262871A3 (en) * 2001-06-01 2007-05-30 Telogy Networks Real-time embedded resource management system
US7535515B2 (en) * 2003-12-23 2009-05-19 Ravi Ananthapur Bacche Motion detection in video signals
US7383396B2 (en) * 2005-05-12 2008-06-03 International Business Machines Corporation Method and apparatus for monitoring processes in a non-uniform memory access (NUMA) computer system

Also Published As

Publication number Publication date
US20050235126A1 (en) 2005-10-20
JP2007533020A (ja) 2007-11-15
WO2005101203A1 (en) 2005-10-27
US7712101B2 (en) 2010-05-04
GB2415060A (en) 2005-12-14
EP1738259A1 (en) 2007-01-03
GB2415060B (en) 2007-02-14
EP1738259B1 (en) 2018-02-14
GB0408553D0 (en) 2004-05-19

Similar Documents

Publication Publication Date Title
US7051133B2 (en) Arbitration circuit and data processing system
JP6755935B2 (ja) 共有メモリコントローラおよびそれを使用する方法
Aladwani Types of Task Scheduling algorithms in Cloud Computing
US9588810B2 (en) Parallelism-aware memory request scheduling in shared memory controllers
JP4745335B2 (ja) 動的負荷バランシング
JP2009245047A (ja) メモリバッファ割当装置およびプログラム
CN112214427B (zh) 缓存结构、工作量证明运算芯片电路及其数据调用方法
US12007974B2 (en) Memory processing optimisation
US20120030430A1 (en) Cache control apparatus, and cache control method
JP2015141590A (ja) 演算処理装置及び演算処理装置の制御方法
US11429452B2 (en) Method for distributing keys using two auxiliary hashing functions
Bezerra et al. Job scheduling for optimizing data locality in Hadoop clusters
US9535845B2 (en) Cache control device and cache control method
US6625700B2 (en) Arbitration and select logic for accessing a shared memory
CN112256435A (zh) 用于图形处理器的工作组的分配方法以及图形处理器
CN114661363A (zh) 一种流水线指令分配方法、系统、设备及介质
CN116841751B (zh) 一种多任务线程池的策略配置方法、装置和存储介质
CN107193648A (zh) 一种基于numa架构的性能优化方法及系统
WO2020249106A1 (zh) 用于处理数据组的可编程器件及处理数据组的方法
CN113225263B (zh) 一种流量请求处理方法、装置及网络芯片
JP4409568B2 (ja) 帯域制御プログラム及びマルチプロセッサシステム
CN114356732A (zh) 一种基于numa架构的应用系统性能优化方法及装置
Faraji et al. Hyper-Q aware intranode MPI collectives on the GPU
US10698687B1 (en) Pipelined resource allocation using size aligned allocation
WO2014202128A1 (en) P-select n-port round robin arbiter for scheduling requests

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100921

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101221

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110311

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110411

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110511

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140520

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4745335

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term