JP3428618B2 - プログラムのキャッシュ局所性改善方法 - Google Patents
プログラムのキャッシュ局所性改善方法Info
- Publication number
- JP3428618B2 JP3428618B2 JP26433997A JP26433997A JP3428618B2 JP 3428618 B2 JP3428618 B2 JP 3428618B2 JP 26433997 A JP26433997 A JP 26433997A JP 26433997 A JP26433997 A JP 26433997A JP 3428618 B2 JP3428618 B2 JP 3428618B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- program
- improving
- locality
- threads
- 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 - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
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)
- Devices For Executing Special Programs (AREA)
Description
テムに関し、特に、キャッシュ局所性を高める方法、即
ち、特定の適用プログラムやデータがキャッシュ内にて
発見される可能性を増大させる方法に関する。
の能力差は過去数年継続して拡大してきた。特に、プロ
セッサの性能が年率50%で向上している一方、メモリ
の性能、特にダイナミックランダムアクセスメモリ(D
RAM)の性能増大は年率僅か10%であった(例とし
て下記参照;John L. Hennessy 及び Norman P. Jouppi
“コンピュータ技術及び構成:進展する相互作用”IEEE
コンピュータ 1991年9月 24巻9号 頁18-29 及び Willi
am A. Wulf Sally A. McKee“メモリ壁をヒット:隠さ
れた暗示”コンピュータ構成ニュース 1995年3月 23巻1
号 頁20-24)。
プロセッサで達成できる高速クロックレートを利用する
ため、アドレスパイプラインまたは高速一時保管(キャ
ッシュ)の様な技術がしばしば使用されている。キャッ
シュとは、プロセッサと大型で遅いメモリとの間に配置
された比較的小型で高速のメモリである。現在の設計方
法論ではしばしばマルチプルレベルのキャッシュが採用
されている。
の一構成例を示すブロック図である。
央プロセッサ110は相互連絡線160を通じて外部キ
ャッシュ100と連結されており、外部キャッシュ10
0には、速いキャッシュ130と、オプションとしての
キャッシュコントローラ140とが設けられている。な
お、典型的な実行例として、速いキャッシュ130はス
タティックランダムアクセスメモリ(SRAM)で遅い
主メモリ150はダイナミックランダムアクセスメモリ
(DRAM)が挙げられる。また、現在の多くの高性能
中央プロセッサにおいては、しばしばチップ上キャッシ
ュ120が設けられている。とり決めとしてL1キャッ
シュはプロセッサ110に最も近いキャッシュ120
で、最低レベルのLkキャッシュはメモリ150に最も
近いキャッシュ130とする。
設けられたキャッシュ120とキャッシュ130とは共
に主メモリ150の内容の一部を含んでいる。プロセッ
サがメモリ内の希望する部分にアクセスしようと試みた
場合、メモリ内の希望する部分がキャッシュ内(チップ
上及びチップ外で)にあるかどうかを判断するためチェ
ックが行われる。希望する部分がキャッシュ内にあると
判断された場合は、その希望する部分は実行のために簡
単にプロセッサに送付され、希望する部分がキャッシュ
内に存在しないと判断された場合は、メモリ内の希望す
る部分がキャッシュ内に送付され、次いでプロセッサに
送られる。メモリ内の希望する部分を取り出しキャッシ
ュ内に置くことができれば、今後の参照は一部を取り出
したメモリの他の部分に向かうことになる。
さが、主メモリの全体量に比べて合理的に小さくなけれ
ばならないことである。さもなければ、キャッシュを使
用することによる経済性が失わてしまう。また、キャッ
シュシステムは、所定時間内にアクセスされるべきプロ
グラムコードとデータとがキャッシュ内に存在する可能
性が高くなるように設計されていなければならない。さ
もなければ、システム性能の信頼性が低下してしまう。
セスされたときは、キャッシュ“ヒット”が生じ、遅い
主メモリからアクセスされたときは、キャッシュ“ミ
ス”が生じる。キャッシュの有効性は、キャッシュ内に
おいて適用コードやデータを発見した単なるアクセス確
率であるヒット率と呼ばれる要因で測定される。ヒット
率は数個の要素即ち、キャッシュの大きさ(主要因)、
キャッシュが満杯であるときに置き換える場所を定める
方法及びその時作動する適用プログラムの性質等により
作用される。
がるにつれて、適用プログラムの性能はキャッシュミス
の存在に影響を受けやすい。キャッシュ内に希望の部分
があるかどうかを判断し、その後、遅い主メモリから適
用コードやデータをアクセスする場合、それに要する時
間は、キャッシュ無しのシステムに比べて全体アクセス
時間が数クロックサイクル増大してしまう。第二レベル
のキャッシュミスに関連する処理損失時間は数十CPU
サイクルであるが、特にキャッシュの大きさより大きな
データセットを有し広範囲のメモリ参照局所性を明示し
ない適用プログラムの場合にはその損失がかなり増大し
てしまう。
局所性に関する改善を行い、それにより、プロセッサと
メモリとの性能ギャップを最小限にしようと試みた。か
かる従来型のソフトウェア技術の一つはブロッキングと
呼ばれ、W. Abu-Sufah, D. J. Kuck 及び D. J. Lawrie
等が “仮想メモリコンピュータの為の自動プログラム
変換”と題して記述し1979 ナショナルコンピュータ会
議議事録 1979年6月 頁969-974 に発表し、また D. Cal
lahan, K. Kennedy 及び A. Porterfield 等が“ソフト
ウエヤ事前呼び出し”と題して記述し プログラム言語
及びオペレイティングシステムの構成サポートに関する
第4回国際会議議事録 1991年4月 頁40-52に発表した。
キャッシュにはめ込まれたある塊のデータを再使用する
ようにプログラムを再構築することである。この方法は
キャッシュミスを最大限に減少させ、仮想メモリ、キャ
ッシュ及びレジスタを含め如何なる記憶階層にも適用で
きるものとして提示されてきた。しかしながら、ブロッ
キング方法は自動的にも手動でも行うことができるが、
自動的施行は限定された状況においてのみ有効であり、
手動施行はしばしば実施が複雑となり困難である。
おいては、適用プログラムの局所性問題を効率的にまた
簡単且つ有効に改善する方法の必要性、ゆえに、キャッ
シュメモリの有効性確保の必要性が依然残されている。
めに本発明は、コンピュータシステムにて実行される適
用プログラムがキャッシュ内に所在する度合いを改善す
るプログラムのキャッシュ局所性改善方法であって、前
記プログラムを1つ以上のスレッドに分解する手順と、
次のスレッドが前記キャッシュ中に存在するように前記
スレッドを引き続き作動させるようにスケジューリング
する手順とを有し、前記スケジューリング手順は、k個
のデータを参照するスレッドをk次元のスペース内にて
該スレッドと関連したキャッシュのアドレスに基づいて
表示された点として表現し、キャッシュミスを減少させ
る要求を満足する、その点を辿る経路を抽出する手順
と、スケジューラに対して前記スレッドの各々と関連し
たキャッシュのアドレスを与える手順と、抽出された経
路に基づいてスレッドの実行手順を決定する手順とを具
備することを特徴とする。
クに分割する手順と、前記スレッドと関連したキャッシ
ュのアドレスを用いてブロックの一つを特定する手順と
を有することを特徴とする。
ロック間を通過する経路であることを特徴とする。
ぶ最短経路であることを特徴とする。
ッシュに対するスペースであることを特徴とする。
おいては、コンピュータシステム上で適用プログラムの
局所性問題を有利に改善するスレッド計画方法の開発に
向けて技術の進歩を計り、それにより全体のシステム性
能を強化する一方、スレッドの創設、スケジューリング
及び終了に関する経費を最小にすることができる。
レッドに分解し、次いで適用プログラムの局所性問題を
改善する様にスレッドをスケジューリングする。
ログラムに組み込まれており、適用プログラム自身の上
で作動することや、コンピュータオペレーティングシス
テム内で作動し、その下で作動する個々の適用プログラ
ムに作用を及ぼすこと等が考えられる。
れるk次元のスペースを作り出す。
えばk次元のスペース内で座標として働くデータのアド
レスを有し、それによりスペース内の相当する場所が画
定される。スケジューラはキャッシュミスを最小にする
各点を通る移動路即ち経路を決定する。好適なことにこ
の方は多数のレベルのキャッシュにも拡大できる。
いて図面を参照して説明する。なお、以下に示す実施の
形態においては、簡略化のため、様々の場合で2次元の
スペースについて説明を行うが、原理はk次元のスペー
スにも同様に適用できる。
局所性改善方法の実施の一形態を説明するための図であ
り、(a)は、本発明がユーザ適用プログラムに組み込
まれた状態を示すブロック線図、(b)は、本発明が作
動システムに組み込まれた状態を示すブロック線図であ
る。
ムをきめ細かいスレッドに分解し、その後、プログラム
の局所性状態を改善するようにこれらのスレッドのスケ
ジューラを作成する。作成されたスケジューラは図1に
示すように、ユーザレベルの適用プログラム内(ユーザ
スペース)に組み込むかオペレーティングシステムの中
核(中核スペース)に組み込むことができる。
グシステムにおいては、システム構築用ブロックとして
役立つ多数のプログラム作成用抽象観念が提供されてい
る。これら抽象観念の一つはタスクと呼ばれ、この抽象
観念は一般に、仮想メモリや通信ポートの様な共同体の
グループに対する資源を全て包含している。他の抽象観
念はスレッドで、特定のタスクと関連した有効な計算方
法である。システム内の全てのスレッドはそれぞれ一つ
のタスクと関連し、また多数のスレッドがしばしば同一
のタスクと関連することがある。現在のシステムで重要
なことは、スレッドが同時に作動できることで、単一プ
ロセッサの機械では使用できるプロセッサ時間を作動可
能スレッド間に割り当てることができ、また多数プロセ
ッサシステムではスレッドが並列作動できることであ
る。
てみる。C=A×B。ここにA,B,Cは全てn行n列
のマトリックスである。プログラムの局所性問題を改善
するためにBが計算の前後に位置を交換される(列主体
の保管と仮定して)。一つの計算実行には次のように、
入れ子ループ計算を行う。
素ベクトルの内積を計算する。
積ループを下記のスレッドで置換できる。
できるが、実用上の変換においては、更に重要な実行上
の問題が生じてくる。特に、スレッド創造、スケジュー
リング、作動開始及び作動終了における計算コストは、
内積計算中のキャッシュミスの場合の計算コストよりも
低くなければならない。さらに、スレッドのスケジュー
リング方法はプログラムの局所性問題を改善する合理的
な決定を行わなければならない。
うためには、スケジューラに対して、スレッドが行った
メモリ参照の内容を知らせなければならない。ここで、
問題を完全に理解するため、一つのスレッドがその作業
実行中にk個のデータを参照すると仮定し、またk個の
データの最初のアドレスがスレッドスケジューラに知ら
れていると仮定し、さらにまた、全てのスレッドが互い
に独立であると仮定する。
目のデータの最初のアドレスをaijとすると、スレッド
tiはti(ai1,・・・,aik)で表される。それ故、
n個のスレッドがt1,t2,・・・,tnの順に実行さ
れればその値は次の順列で表示できる。
次元の幾何学的問題となる。特に、スレッドt
i(ai1,・・・,aik)はk次元スペース内の点で、
そこでの点の座標は(ai1,・・・,aik)である。そ
こで、スケジューリング上の問題点は、最小キャッシュ
ミスの要求を満足するスペース内のスレッド点の移動経
路を発見するのに等しいと見なすことができる。
ト(ai1,・・・,aik)をスケジューラに対する情報
のセットと置き換えることによりこの一般的な問題が解
決される。典型的な情報としては、関連するデータのア
ドレスがある。また、単一多次元スペース内の座標等の
他のタイプの情報も可能である。二次元の場合はこのよ
うな2つのアドレスがある。この様に問題を解決してい
くと、スケジューリング上の問題は図2に示すように二
次元平面上の点の移動経路を発見する問題に縮小するこ
とができる。
に準拠してスレッドのスケジューリングを行う状態を示
す図であり、図3は、本発明のプログラムのキャッシュ
局所性改善方法の実施の一形態を説明するためのフロー
チャートである。
つの情報(hi,hj)で定まる座標を有する平面内の点
として表示されている。キャッシュミスを最小にするた
め、スケジューリング方法においては “群”特性、即
ち、同じまたは類似の情報を有するスレッドが移動中群
れ集まるという特性を有する移動経路を発見する。
スを同寸法のブロックに分割する(ステップS1)。こ
こで、スレッドと関連する情報はスレッドを特有のブロ
ックに配置するための座標として使用される。例えば、
二次元のスペースにおいて、スレッドの二つの情報(h
i,hj)が、スレッドを特有のブロックに配置するため
の座標として使用されている。好適な実施の形態におい
て実現したように、各ブロックは二次元スペース内のブ
ロックの各寸法から一つずつ合計二つのユーザメモリを
包含する。もし、ブロックのk次元の合計がキャッシュ
寸法Cよりも少なければ、そしてもし同ブロックに並ぶ
スレッドが一緒にスケジューリングされたら、ブロック
内のスレッドの実行によりキャッシュミスが生じること
はない。それ故、ブロックの各寸法の大きさはキャッシ
ュ寸法の1/kである。
経路に沿って移動させる(ステップS2)。
ケジューラはすべてのスレッドをある順番に実行する
(ステップS3)。もし、スケジューラが最低レベルの
キャッシュ、即ち、二つのレベルのキャッシュを有する
システム内での第二レベルのキャッシュのキャッシュミ
スを最小化すれば良いのならば、同ブロック内のスレッ
ドのスケジューラを作成するとき、スケジューラは任意
の順序でスケジューリングすることができる。同じブロ
ック内のスレッドのデータ参照は全てキャッシュに適合
するからキャッシュミスは生じない。
レベルのキャッシュを取扱うことができる。これは、上
述したスペースを複数組み合せて行われる。2レベルの
キャッシュを取扱うため、ブロックを第一レベルキャッ
シュのためのスペースと考えることができる。この平面
は次に同じ大きさの小さなブロックに分割される。各小
ブロックの大きさは、第一レベルのキャッシュ寸法の1
/2未満が好ましい。スケジューラは次いで最上位レベ
ルのスペース内の正規ブロックに適用したと同じ方法
で、入れ子状の平面内の小ブロックをある経路に沿って
横移動する。
ムの一構成例を示す図である。
セッサ410と、メモリ間に挟まれた一つ以上のレベル
のキャッシュ430,440を有するメモリ420とか
ら構成されている。
ュ440は典型的には最大、最遅でメモリ420に最も
近いキャッシュブロックであって、一般的には最低レベ
ルキャッシュと呼ばれている。この様なマルチレベルの
キャッシュ配置は一般に知られており、現在のコンピュ
ータシステムにも容易に組み込むことができる。なお、
上述した実施の形態は、本発明の単なる説明例であり、
本技術に熟達した者が本発明の範囲を逸脱することな
く、各種のまた多数の他の配置を考え得ることは当然で
ある。従って本発明は添付の請求項に定めるように規定
される。
ているので、コンピュータシステム上で適用プログラム
の局所性問題を有利に改善するスレッド計画方法の開発
に向けて技術の進歩を計り、それにより全体のシステム
性能を強化する一方、スレッドの創設、スケジューリン
グ及び終了に関する経費を最小にすることができる。
法の実施の一形態を説明するための図であり、(a)
は、本発明がユーザ適用プログラムに組み込まれた状態
を示すブロック線図、(b)は、本発明が作動システム
に組み込まれた状態を示すブロック線図である。
レッドのスケジューリングを行う状態を示す図である。
法の実施の一形態を説明するためのフローチャートであ
る。
を示す図である。
示すブロック図である。
Claims (5)
- 【請求項1】 コンピュータシステムにて実行される適
用プログラムがキャッシュ内に所在する度合いを改善す
るプログラムのキャッシュ局所性改善方法であって、 前記プログラムを1つ以上のスレッドに分解する手順
と、 次のスレッドが前記キャッシュ中に存在するように前記
スレッドを引き続き作動させるようにスケジューリング
する手順とを有し、 前記スケジューリング手順は、k個のデータを参照するスレッドをk次元のスペース内
にて該スレッドと関連したキャッシュのアドレスに基づ
いて表示された点として表現し、 キャッシュミスを減少
させる要求を満足する、その点を辿る経路を抽出する手
順と、 スケジューラに対して前記スレッドの各々と関連したキ
ャッシュのアドレスを与える手順と、抽出された経路に基づいてスレッドの実行手順を決定す
る手順とを 具備することを特徴とするプログラムのキャ
ッシュ局所性改善方法。 - 【請求項2】 請求項1に記載のプログラムのキャッシ
ュ局所性改善方法において、 前記k次元スペースを同じ大きさのブロックに分割する
手順と、 前記スレッドと関連したキャッシュのアドレスを用いて
ブロックの一つを特定する手順とを有することを特徴と
するプログラムのキャッシュ局所性改善方法。 - 【請求項3】 請求項2に記載のプログラムのキャッシ
ュ局所性改善方法において、 前記経路は、スペース内の異なるブロック間を通過する
経路であることを特徴とするプログラムのキャッシュ局
所性改善方法。 - 【請求項4】 請求項3に記載のプログラムのキャッシ
ュ局所性改善方法において、 前記経路は、異なるブロック間を結ぶ最短経路であるこ
とを特徴とするプログラムのキャッシュ局所性改善方
法。 - 【請求項5】 請求項3に記載のプログラムのキャッシ
ュ局所性改善方法において、 前記ブロックの一つが高レベルキャッシュに対するスペ
ースであることを特徴とするプログラムのキャッシュ局
所性改善方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/724562 | 1996-09-30 | ||
US08/724,562 US5724586A (en) | 1996-09-30 | 1996-09-30 | Method for improving cache locality of a computer program |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10116198A JPH10116198A (ja) | 1998-05-06 |
JP3428618B2 true JP3428618B2 (ja) | 2003-07-22 |
Family
ID=24910934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26433997A Expired - Fee Related JP3428618B2 (ja) | 1996-09-30 | 1997-09-29 | プログラムのキャッシュ局所性改善方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5724586A (ja) |
EP (1) | EP0833247A3 (ja) |
JP (1) | JP3428618B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008544417A (ja) * | 2005-06-29 | 2008-12-04 | インテル コーポレイション | キャッシュする方法、装置及びシステム |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3178403B2 (ja) * | 1998-02-16 | 2001-06-18 | 日本電気株式会社 | プログラム変換方法、プログラム変換装置及びプログラム変換プログラムを記憶した記憶媒体 |
US6243788B1 (en) * | 1998-06-17 | 2001-06-05 | International Business Machines Corporation | Cache architecture to enable accurate cache sensitivity |
US6938252B2 (en) * | 2000-12-14 | 2005-08-30 | International Business Machines Corporation | Hardware-assisted method for scheduling threads using data cache locality |
US7337443B2 (en) * | 2003-06-30 | 2008-02-26 | Microsoft Corporation | Method and apparatus for processing program threads |
US20050044538A1 (en) * | 2003-08-18 | 2005-02-24 | Srinivas Mantripragada | Interprocedural computing code optimization method and system |
US7441101B1 (en) | 2003-12-10 | 2008-10-21 | Cisco Technology, Inc. | Thread-aware instruction fetching in a multithreaded embedded processor |
US7360064B1 (en) | 2003-12-10 | 2008-04-15 | Cisco Technology, Inc. | Thread interleaving in a multithreaded embedded processor |
US7206922B1 (en) | 2003-12-30 | 2007-04-17 | Cisco Systems, Inc. | Instruction memory hierarchy for an embedded processor |
US7818747B1 (en) * | 2005-11-03 | 2010-10-19 | Oracle America, Inc. | Cache-aware scheduling for a chip multithreading processor |
DE102006020178A1 (de) * | 2006-05-02 | 2007-11-08 | Fujitsu Siemens Computers Gmbh | Verfahren und Computerprogrammprodukt zur Ausführung eines Programms auf einem Prozessor mit Multithreading-Architektur |
US10140210B2 (en) * | 2013-09-24 | 2018-11-27 | Intel Corporation | Method and apparatus for cache occupancy determination and instruction scheduling |
GB2521151B (en) * | 2013-12-10 | 2021-06-02 | Advanced Risc Mach Ltd | Configurable thread ordering for a data processing apparatus |
GB2521155B (en) | 2013-12-10 | 2021-06-02 | Advanced Risc Mach Ltd | Configuring thread scheduling on a multi-threaded data processing apparatus |
CN104717152B (zh) * | 2013-12-17 | 2019-07-19 | 深圳市中兴微电子技术有限公司 | 一种实现接口缓存动态分配的方法和装置 |
JP2019179417A (ja) * | 2018-03-30 | 2019-10-17 | 株式会社デンソー | スケジューリング方法、スケジューリング装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5185861A (en) * | 1991-08-19 | 1993-02-09 | Sequent Computer Systems, Inc. | Cache affinity scheduler |
US5287508A (en) * | 1992-04-07 | 1994-02-15 | Sun Microsystems, Inc. | Method and apparatus for efficient scheduling in a multiprocessor system |
-
1996
- 1996-09-30 US US08/724,562 patent/US5724586A/en not_active Expired - Lifetime
-
1997
- 1997-09-19 EP EP97116399A patent/EP0833247A3/en not_active Withdrawn
- 1997-09-29 JP JP26433997A patent/JP3428618B2/ja not_active Expired - Fee Related
Non-Patent Citations (6)
Title |
---|
Frank Mueller,"Compiler Support for Software−Based Cache Partitioning",ACM SIGPLAN Notices,1995年11月,Vol.30,No.11,pp.125−133,ISSN:0362−1340 |
James Philbin,et.al.,"Thread Scheduling for Cache Locality",ACM SIGPLAN Notices,1996年 9月,Vol.31,No.9,pp.60−71,JST資料番号:D0915A、ISSN:0362−1340 |
北島宏之・他,「FL階層化並列簡約システムの性能評価」,情報処理学会研究報告,日本,1995年 6月 1日,Vol.95,No.56,pp.1−8 |
小沢年弘・他,「ロード命令の先行実行とその評価」,情報処理学会研究報告,日本,1994年12月13日,Vol.94,NO.107,pp.1−8 |
尾形三喜雄・他,「RISCプロセッサ「VR3000」研究3」,インターフェース,日本,CQ出版株式会社,1991年 1月 1日,Vol.17,NO.1,pp.253−270 |
牧晋広・他,「URCHMSのプログラムによる高速化手法」,情報処理学会研究報告,日本,1996年 8月29日,Vol.96,No.80,pp.73−78 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008544417A (ja) * | 2005-06-29 | 2008-12-04 | インテル コーポレイション | キャッシュする方法、装置及びシステム |
Also Published As
Publication number | Publication date |
---|---|
EP0833247A3 (en) | 1999-05-12 |
EP0833247A2 (en) | 1998-04-01 |
US5724586A (en) | 1998-03-03 |
JPH10116198A (ja) | 1998-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3428618B2 (ja) | プログラムのキャッシュ局所性改善方法 | |
Rogers et al. | Cache-conscious wavefront scheduling | |
Joseph et al. | Prefetching using markov predictors | |
US6324623B1 (en) | Computing system for implementing a shared cache | |
EP0747816B1 (en) | Method and system for high performance multithread operation in a data processing system | |
Larus et al. | Using cohort scheduling to enhance server performance | |
Solihin et al. | Using a user-level memory thread for correlation prefetching | |
US6618737B2 (en) | Speculative caching of individual fields in a distributed object system | |
US5784697A (en) | Process assignment by nodal affinity in a myultiprocessor system having non-uniform memory access storage architecture | |
Chen et al. | Improving hash join performance through prefetching | |
Kaxiras et al. | Improving CC-NUMA performance using instruction-based prediction | |
US5737750A (en) | Partitioned single array cache memory having first and second storage regions for storing non-branch and branch instructions | |
Snyder et al. | Fast context switches: Compiler and architectural support for preemptive scheduling | |
JPH07271674A (ja) | キャッシュ最適化の方法 | |
Kavi et al. | Design of cache memories for multi-threaded dataflow architecture | |
Guo et al. | Mira: A program-behavior-guided far memory system | |
US20080005726A1 (en) | Methods and systems for modifying software applications to implement memory allocation | |
JPH03129454A (ja) | マルチプロセッサシステム | |
Ahn et al. | SEOF: an adaptable object prefetch policy for object-oriented database systems | |
Bellew et al. | Update propagation in distributed memory hierarchy | |
Eickemeyer et al. | Evaluation of multithreaded processors and thread-switch policies | |
Bellosa | Locality-information-based scheduling in shared-memory multiprocessors | |
Kavi et al. | Design of cache memories for dataflow architecture | |
Lin et al. | I-structure software cache: a split-phase transaction runtime cache system | |
Hurson et al. | Cache memories for dataflow systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090516 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100516 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110516 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110516 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120516 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120516 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130516 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140516 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |