JP4872402B2 - マルチプロセッサシステムのメモリアクセス負荷分散装置および方法 - Google Patents
マルチプロセッサシステムのメモリアクセス負荷分散装置および方法 Download PDFInfo
- Publication number
- JP4872402B2 JP4872402B2 JP2006076982A JP2006076982A JP4872402B2 JP 4872402 B2 JP4872402 B2 JP 4872402B2 JP 2006076982 A JP2006076982 A JP 2006076982A JP 2006076982 A JP2006076982 A JP 2006076982A JP 4872402 B2 JP4872402 B2 JP 4872402B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- entry
- address
- physical address
- multiprocessor system
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple user address space allocation, e.g. using different base addresses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Debugging And Monitoring (AREA)
Description
前記プロセッサが認識しているメモリ絶対アドレスを保持するメモリ絶対アドレスレジスタと、
前記メモリ絶対アドレスの上位ビットをプラットフォーム上の実際のメモリの物理アドレスであるメモリ実物理アドレスの上位ビットに変換して格納するアドレス変換テーブルと、
前記プロセッサ毎に用意され、スワップ可能なメモリ実物理アドレス毎にその上位ビットであるエントリと、対応するプロセッサから各エントリに対応するメモリアドレスへのアクセスがある度に1つずつインクリメントされるカウンタとを備えるトレース採取テーブルと、
前記トレース参照テーブルの格納内容を参照し、前記プロセッサがアクセスするメモリアドレスに応じてスワップを行うメモリを決定して前記アドレス変換テーブルにおけるメモリ実物理アドレスのスワップを実行するとともに前記トレース採取テーブルにおける前記スワップを行ったメモリ実物理アドレスに対応するエントリのステータスを完了とする負荷状態判別機構と、
前記アドレス変換テーブルに格納されているメモリ実物理アドレスの上位ビットと前記メモリ絶対アドレスレジスタに保持されているメモリ絶対アドレスの下位ビットとを組合わせてメモリ実物理アドレスとして出力するメモリ実物理アドレス合成器とを備え、
前記負荷状態判別機構は、
前記トレース採取テーブルのカウンタのうちの最大値のものをサーチし、対応するプロセッサと前記エントリに示されるメモリの位置とを確認し、これらが同じマルチチップパッケージに搭載されていない場合には、前記トレース採取テーブルを参照して、対応するプロセッサが搭載されているマルチチップパッケージに搭載され、かつ、そのエントリが完了のステータスにないメモリのうち、メモリアクセス頻度が一番小さいエントリであるかを条件として存在するかを確認し、前記条件のものがあればスワップを行うメモリとして決定することを特長とする。
前記負荷状態判別機構は、前記タイマーのカウントによる一定周期ごとに前記トレース採取テーブルのカウンタのうちの最大値のものをサーチを行うこととしてもよい。
前記プロセッサが認識しているメモリ絶対アドレスの上位ビットをプラットフォーム上の実際のメモリの物理アドレスであるメモリ実物理アドレスの上位ビットに変換し、
前記プロセッサ毎に、スワップ可能なメモリ実物理アドレス毎にその上位ビットをエントリとして、対応するプロセッサから各エントリに対応するメモリアドレスへのアクセスをカウントし、
前記カウントしたアクセス値のうちの最大値のものをサーチし、対応するプロセッサと前記エントリに示されるメモリの位置とを確認し、これらが同じマルチチップパッケージに搭載されていない場合には、対応するプロセッサが搭載されているマルチチップパッケージに搭載され、かつ、そのエントリが完了のステータスにないメモリのうち、メモリアクセス頻度が一番小さいエントリであるかを条件として存在するかを確認し、前記条件のものがあればスワップを行うメモリとして決定し、メモリ実物理アドレスのスワップを実行するとともにスワップを行ったメモリ実物理アドレスに対応するエントリのステータスを完了とし、
前記スワップが行われた後のメモリ実物理アドレスの上位ビットと前記メモリ絶対アドレスの下位ビットとを組合わせてメモリ実物理アドレスとすることを特長とする。
2 MCP1
3 バス
4 メモリアクセス負荷監視機構
11〜13 CPU00〜CPU03
15〜18 MMU00〜MMU03
21〜23 CPU10〜CPU13
25〜28 MMU10〜MMU13
402 アドレス変換テーブル
404 負荷状態判別機構
405 アドレストレース機構
407 メモリコピー機構
410 CPU番号
411 メモリ絶対アドレスレジスタ
430 マルチプレクサ
431 メモリ実物理アドレス合成器
440 ルーティング監視/設定機構
441 タイマ
442 メモリコピー命令機構
470 SWAP Buffer
Claims (12)
- プロセッサおよびメモリが搭載されたマルチチップパッケージを複数使用するマルチプロセッサシステムのメモリアクセス負荷分散装置であって、
前記プロセッサが認識しているメモリ絶対アドレスを保持するメモリ絶対アドレスレジスタと、
前記メモリ絶対アドレスの上位ビットをプラットフォーム上の実際のメモリの物理アドレスであるメモリ実物理アドレスの上位ビットに変換して格納するアドレス変換テーブルと、
前記プロセッサ毎に用意され、スワップ可能なメモリ実物理アドレス毎にその上位ビットであるエントリと、対応するプロセッサから各エントリに対応するメモリアドレスへのアクセスがある度に1つずつインクリメントされるカウンタとを備えるトレース採取テーブルと、
前記トレース参照テーブルの格納内容を参照し、前記プロセッサがアクセスするメモリアドレスに応じてスワップを行うメモリを決定して前記アドレス変換テーブルにおけるメモリ実物理アドレスのスワップを実行するとともに前記トレース採取テーブルにおける前記スワップを行ったメモリ実物理アドレスに対応するエントリのステータスを完了とする負荷状態判別機構と、
前記アドレス変換テーブルに格納されているメモリ実物理アドレスの上位ビットと前記メモリ絶対アドレスレジスタに保持されているメモリ絶対アドレスの下位ビットとを組合わせてメモリ実物理アドレスとして出力するメモリ実物理アドレス合成器とを備え、
前記負荷状態判別機構は、
前記トレース採取テーブルのカウンタのうちの最大値のものをサーチし、対応するプロセッサと前記エントリに示されるメモリの位置とを確認し、これらが同じマルチチップパッケージに搭載されていない場合には、前記トレース採取テーブルを参照して、対応するプロセッサが搭載されているマルチチップパッケージに搭載され、かつ、そのエントリが完了のステータスにないメモリのうち、メモリアクセス頻度が一番小さいエントリであるかを条件として存在するかを確認し、前記条件のものがあればスワップを行うメモリとして決定することを特長とするマルチプロセッサシステムのメモリアクセス負荷分散装置。 - 請求項1記載のマルチプロセッサシステムのメモリアクセス負荷分散装置において、
前記負荷状態判別機構は、前記複数のトレース採取テーブルのカウンタのうちの最大値のものをサーチし、対応するプロセッサと前記エントリに示されるメモリの位置とを確認し、これらが同じマルチチップパッケージに搭載されている場合にはスワップを行わずに前記エントリのステータスを完了とするプロセッサシステムのメモリアクセス負荷分散装置。 - 請求項1または請求項2記載のマルチプロセッサシステムのメモリアクセス負荷分散装置において、
タイマーを備え、
前記負荷状態判別機構は、前記タイマーのカウントによる一定周期ごとに前記トレース採取テーブルのカウンタのうちの最大値のものをサーチを行うマルチプロセッサシステムのメモリアクセス負荷分散装置。 - プロセッサおよびメモリが搭載されたマルチチップパッケージを複数使用するマルチプロセッサシステムのメモリアクセス負荷分散装置であって、
前記マルチチップパッケージが認識しているメモリ絶対アドレスを保持するメモリ絶対アドレスレジスタと、
前記メモリ絶対アドレスの上位ビットをプラットフォーム上の実際のメモリの物理アドレスであるメモリ実物理アドレスの上位ビットに変換して格納するアドレス変換テーブルと、
前記マルチチップパッケージ毎に用意され、スワップ可能なメモリ実物理アドレス毎にその上位ビットであるエントリと、対応するマルチチップパッケージから各エントリに対応するメモリアドレスへのアクセスがある度に1つずつインクリメントされるカウンタとを備えるトレース採取テーブルと、
前記トレース参照テーブルの格納内容を参照し、前記マルチチップパッケージがアクセスするメモリアドレスに応じてスワップを行うメモリを決定して前記アドレス変換テーブルにおけるメモリ実物理アドレスのスワップを実行するとともに前記トレース採取テーブルにおける前記スワップを行ったメモリ実物理アドレスに対応するエントリのステータスを完了とする負荷状態判別機構と、
前記アドレス変換テーブルに格納されているメモリ実物理アドレスの上位ビットと前記メモリ絶対アドレスレジスタに保持されているメモリ絶対アドレスの下位ビットとを組合わせてメモリ実物理アドレスとして出力するメモリ実物理アドレス合成器とを備え、
前記負荷状態判別機構は、
前記トレース採取テーブルのカウンタのうちの最大値のものをサーチし、対応するマルチチップパッケージと前記エントリに示されるメモリの位置とを確認し、該メモリが対応するマルチチップパッケージに搭載されていない場合には、前記トレース採取テーブルを参照して、対応するマルチチップパッケージに搭載され、かつ、そのエントリが完了のステータスにないメモリのうち、メモリアクセス頻度が一番小さいエントリであるかを条件として存在するかを確認し、前記条件のものがあればスワップを行うメモリとして決定することを特長とするマルチプロセッサシステムのメモリアクセス負荷分散装置。 - 請求項4記載のマルチプロセッサシステムのメモリアクセス負荷分散装置において、
前記負荷状態判別機構は、前記複数のトレース採取テーブルのカウンタのうちの最大値のものをサーチし、前記エントリに示されるメモリの位置とを確認し、該メモリが対応するマルチチップパッケージに搭載されている場合にはスワップを行わずに前記エントリのステータスを完了とするマルチプロセッサシステムのメモリアクセス負荷分散装置。 - 請求項4または請求項5記載のマルチプロセッサシステムのメモリアクセス負荷分散装置において、
タイマーを備え、
前記負荷状態判別機構は、前記タイマーのカウントによる一定周期ごとに前記トレース採取テーブルのカウンタのうちの最大値のものをサーチを行うマルチプロセッサシステムのメモリアクセス負荷分散装置。 - プロセッサおよびメモリが搭載されたマルチチップパッケージを複数使用するマルチプロセッサシステムで行われるメモリアクセス負荷分散方法であって、
前記プロセッサが認識しているメモリ絶対アドレスの上位ビットをプラットフォーム上の実際のメモリの物理アドレスであるメモリ実物理アドレスの上位ビットに変換し、
前記プロセッサ毎に、スワップ可能なメモリ実物理アドレス毎にその上位ビットをエントリとして、対応するプロセッサから各エントリに対応するメモリアドレスへのアクセスをカウントし、
前記カウントしたアクセス値のうちの最大値のものをサーチし、対応するプロセッサと前記エントリに示されるメモリの位置とを確認し、これらが同じマルチチップパッケージに搭載されていない場合には、対応するプロセッサが搭載されているマルチチップパッケージに搭載され、かつ、そのエントリが完了のステータスにないメモリのうち、メモリアクセス頻度が一番小さいエントリであるかを条件として存在するかを確認し、前記条件のものがあればスワップを行うメモリとして決定し、メモリ実物理アドレスのスワップを実行するとともにスワップを行ったメモリ実物理アドレスに対応するエントリのステータスを完了とし、
前記スワップが行われた後のメモリ実物理アドレスの上位ビットと前記メモリ絶対アドレスの下位ビットとを組合わせてメモリ実物理アドレスとすることを特長とするマルチプロセッサシステムのメモリアクセス負荷分散方法。 - 請求項7記載のマルチプロセッサシステムのメモリアクセス負荷分散方法において、
前記カウントしたアクセス値のうちの最大値のものをサーチし、対応するプロセッサと前記エントリに示されるメモリの位置とを確認したときに、これらが同じマルチチップパッケージに搭載されている場合にはスワップを行わずに前記エントリのステータスを完了とするマルチプロセッサシステムのメモリアクセス負荷分散方法。 - 請求項7または請求項8記載のマルチプロセッサシステムのメモリアクセス負荷分散方法において、
前記カウントしたアクセス値のうちの最大値のもののサーチを一定周期毎に行うプロセッサシステムのメモリアクセス負荷分散方法。 - プロセッサおよびメモリが搭載されたマルチチップパッケージを複数使用するマルチプロセッサシステムで行われるメモリアクセス負荷分散方法であって、
前記マルチプロセッサシステムが認識しているメモリ絶対アドレスの上位ビットをプラットフォーム上の実際のメモリの物理アドレスであるメモリ実物理アドレスの上位ビットに変換し、
前記マルチプロセッサシステム毎に、スワップ可能なメモリ実物理アドレス毎にその上位ビットをエントリとして、対応するマルチプロセッサシステムから各エントリに対応するメモリアドレスへのアクセスをカウントし、
前記カウントしたアクセス値のうちの最大値のものをサーチし、対応するマルチプロセッサシステムと前記エントリに示されるメモリの位置とを確認し、該メモリが対応するマルチチップパッケージに搭載されていない場合には、対応するマルチチップパッケージに搭載され、かつ、そのエントリが完了のステータスにないメモリのうち、メモリアクセス頻度が一番小さいエントリであるかを条件として存在するかを確認し、前記条件のものがあればスワップを行うメモリとして決定し、メモリ実物理アドレスのスワップを実行するとともにスワップを行ったメモリ実物理アドレスに対応するエントリのステータスを完了とし、
前記スワップが行われた後のメモリ実物理アドレスの上位ビットと前記メモリ絶対アドレスの下位ビットとを組合わせてメモリ実物理アドレスとすることを特長とするマルチプロセッサシステムのメモリアクセス負荷分散方法。 - 請求項10記載のマルチプロセッサシステムのメモリアクセス負荷分散方法において、
前記カウントしたアクセス値のうちの最大値のものをサーチし、対応するマルチチップパッケージと前記エントリに示されるメモリの位置とを確認したときに、該メモリが対応するマルチチップパッケージに搭載されている場合にはスワップを行わずに前記エントリのステータスを完了とするマルチプロセッサシステムのメモリアクセス負荷分散方法。 - 請求項10または請求項11記載のマルチプロセッサシステムのメモリアクセス負荷分散方法において、
前記カウントしたアクセス値のうちの最大値のもののサーチを一定周期毎に行うプロセッサシステムのメモリアクセス負荷分散方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006076982A JP4872402B2 (ja) | 2006-03-20 | 2006-03-20 | マルチプロセッサシステムのメモリアクセス負荷分散装置および方法 |
US11/723,141 US7774564B2 (en) | 2006-03-20 | 2007-03-16 | Multi-processor system, and method of distributing memory access load in multi-processor system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006076982A JP4872402B2 (ja) | 2006-03-20 | 2006-03-20 | マルチプロセッサシステムのメモリアクセス負荷分散装置および方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007257028A JP2007257028A (ja) | 2007-10-04 |
JP4872402B2 true JP4872402B2 (ja) | 2012-02-08 |
Family
ID=38519297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006076982A Expired - Fee Related JP4872402B2 (ja) | 2006-03-20 | 2006-03-20 | マルチプロセッサシステムのメモリアクセス負荷分散装置および方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7774564B2 (ja) |
JP (1) | JP4872402B2 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5076574B2 (ja) * | 2007-03-19 | 2012-11-21 | 日本電気株式会社 | メモリアクセス装置及び方法 |
US7962803B2 (en) * | 2008-09-30 | 2011-06-14 | International Business Machines Corporation | Apparatus, system, and method for multi-address space tracing |
US8219760B2 (en) | 2009-04-06 | 2012-07-10 | Hitachi, Ltd. | Storage subsystem and its control method |
US8270194B2 (en) * | 2009-04-07 | 2012-09-18 | Marvell World Trade Ltd. | Distributed flash memory storage manager systems |
WO2011039802A1 (en) * | 2009-09-29 | 2011-04-07 | Hitachi,Ltd. | Storage subsystem |
US9477636B2 (en) | 2009-10-21 | 2016-10-25 | Micron Technology, Inc. | Memory having internal processors and data communication methods in memory |
US9684600B2 (en) * | 2011-11-30 | 2017-06-20 | International Business Machines Corporation | Dynamic process/object scoped memory affinity adjuster |
JP5223018B1 (ja) | 2012-05-30 | 2013-06-26 | 楽天株式会社 | 情報処理装置、情報処理方法、情報処理プログラム及び記録媒体 |
US10255091B2 (en) * | 2014-09-21 | 2019-04-09 | Vmware, Inc. | Adaptive CPU NUMA scheduling |
EP3299966A3 (en) | 2016-08-29 | 2018-05-30 | Rohm Co., Ltd. | Semiconductor package |
JP6816607B2 (ja) | 2017-03-29 | 2021-01-20 | 富士通株式会社 | ストレージ装置、情報処理装置及びドライバプログラム |
US10922221B2 (en) | 2018-03-28 | 2021-02-16 | Micron Technology, Inc. | Memory management |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4035779A (en) * | 1976-04-30 | 1977-07-12 | International Business Machines Corporation | Supervisor address key control system |
US5860116A (en) * | 1996-12-11 | 1999-01-12 | Ncr Corporation | Memory page location control for multiple memory-multiple processor system |
JPH113324A (ja) * | 1997-04-17 | 1999-01-06 | Matsushita Electric Ind Co Ltd | メモリ内蔵のデータ処理装置及び処理システム |
JP2005216053A (ja) | 2004-01-30 | 2005-08-11 | Matsushita Electric Ind Co Ltd | 最適メモリ配置演算装置及び最適メモリ配置方法 |
JP4535784B2 (ja) * | 2004-06-15 | 2010-09-01 | 日本電気株式会社 | プロセス配置装置、プロセス配置方法及びプロセス配置プログラム |
-
2006
- 2006-03-20 JP JP2006076982A patent/JP4872402B2/ja not_active Expired - Fee Related
-
2007
- 2007-03-16 US US11/723,141 patent/US7774564B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2007257028A (ja) | 2007-10-04 |
US7774564B2 (en) | 2010-08-10 |
US20070220195A1 (en) | 2007-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4872402B2 (ja) | マルチプロセッサシステムのメモリアクセス負荷分散装置および方法 | |
US8266396B2 (en) | Memory system comprising blocks operable in parallel | |
US9772802B2 (en) | Solid-state device management | |
US8412907B1 (en) | System, method and computer program product for application-level cache-mapping awareness and reallocation | |
US10067872B2 (en) | Memory speculation for multiple memories | |
US10789019B2 (en) | Storage device capable of managing jobs without intervention of a processor | |
JP7340326B2 (ja) | メンテナンス動作の実行 | |
WO2014107148A1 (en) | Adaptive data prefetching | |
US8868835B2 (en) | Cache control apparatus, and cache control method | |
CN108664213B (zh) | 基于分布式缓存的原子写命令处理方法与固态存储设备 | |
US20170228164A1 (en) | User-level instruction for memory locality determination | |
KR101893966B1 (ko) | 메모리 관리 방법 및 장치, 및 메모리 컨트롤러 | |
US20140372673A1 (en) | Information processing apparatus, control circuit, and control method | |
WO2013101138A1 (en) | Identifying and prioritizing critical instructions within processor circuitry | |
US7721047B2 (en) | System, method and computer program product for application-level cache-mapping awareness and reallocation requests | |
JP6232936B2 (ja) | 情報処理装置、記憶装置制御回路及び記憶装置の制御方法 | |
CN109213425B (zh) | 利用分布式缓存在固态存储设备中处理原子命令 | |
JP2021522608A (ja) | ストリーミングデータ転送のためのフロー圧縮を用いたデータ処理ネットワーク | |
CN108664212B (zh) | 固态存储设备的分布式缓存 | |
US20070266199A1 (en) | Virtual Address Cache and Method for Sharing Data Stored in a Virtual Address Cache | |
CN108664214B (zh) | 用于固态存储设备的分布式缓存的掉电处理方法与装置 | |
JP5500272B2 (ja) | 中継装置、中継履歴記録方法、及びデータ処理装置 | |
JP4750889B2 (ja) | キャッシュメモリ制御装置、およびパイプライン制御方法 | |
US20100257319A1 (en) | Cache system, method of controlling cache system, and information processing apparatus | |
JP2011141754A (ja) | キャッシュメモリ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090212 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111017 |
|
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: 20111025 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111107 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141202 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
LAPS | Cancellation because of no payment of annual fees |