図面 (/)

技術 情報処理装置及びそのメモリアクセス制御方法並びにプログラム

出願人 日本電信電話株式会社国立大学法人京都大学
発明者 郡川智洋川端明生大木英司何馥君
出願日 2019年7月18日 (2年3ヶ月経過) 出願番号 2019-132579
公開日 2021年2月15日 (8ヶ月経過) 公開番号 2021-018509
状態 未査定
技術分野
  • -
主要キーワード 情報処理性能 並列処理数 アドレス検索テーブル ソフトウェア定義 負荷閾値 待ち合わせ状態 ミスヒット率 CPUコア内
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2021年2月15日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (5)

課題

高い処理能力を有する情報処理装置及びそのメモリアクセス制御方法を提供する。

解決手段

複数のCPUコア210及び複数のCPUコア210で共有される共有キャッシュメモリ220を有するマルチコアCPU200と、HMC300と、マルチコアCPU200によるHMC300へのメモリアクセスを制御するHMCコントローラ100とを備えた情報処理装置であって、HMCコントローラ100は、マルチコアCPU200において実行されている情報処理並列処理数を取得し、前記並列処理数に基づきマルチコアCPU200における共有キャッシュメモリ220の有効又は無効を制御する負荷監視部120を備えた。

概要

背景

近年のInternet of Things(IoT)やエッジコンピューティング、第5世代モバイルネットワーク(5G)の登場により、ネットワークを流れるトラヒック量遅延低減化の要求、ネットワークに接続されるデバイス数、さらには通信多様性は急速に増加している。通信事業者サービスプロバイダのネットワークは、その規模信頼由来要件から、従来は用途に特化した専用デバイスや独自のアーキテクチャからなる装置により構成されてきた。

しかし、近年の急激なトラヒック需要変動に対する柔軟かつ迅速な装置増減設ネットワーク機能の容易な追加実装を可能にするために、通信事業者ネットワークサービスプロバイダネットワークのような大規模ネットワークにおいても、ネットワーク仮想化(Network Function Virtualization;NFV)やソフトウェア定義ネットワーク(Software Defined Networking;SDN)などの仮想化技術活用が期待されている。

このような仮想化技術活用の機運到来背景には、従来に比べてより汎用的なデバイスの性能向上がある。Central Processing Unit(CPU)やDynamic Random Access Memory(DRAM)といった、汎用的で安価なデバイスからなる汎用コンピュータの性能が向上したことにより、従来は専用装置を用いないと実現困難であった数十ギガビット毎秒級のパケット処理が汎用コンピュータ上のソフトウェアにより実現可能になってきている。したがって、今後、大規模ネットワークにおいても、汎用コンピュータを活用したネットワーク構築により、急激な需要変動新サービスのための機能追加実装を柔軟・迅速・安価に実現することが可能になると期待される。

しかし、このような大規模ネットワークにおいては、以降で議論するように、パケット処理のためのテーブル検索等の処理で、現在の汎用コンピュータアーキテクチャではメモリアクセス性能が支配的な性能ボトルネックとなり、これが大規模ネットワークにおける仮想化技術導入の性能観点での障壁になる。

一方、このメモリアクセス性能を高めるデバイスとして、3D積層メモリがある。3D積層メモリは、従来の2次元のDRAMを複数枚3次元方向に積層したもので、従来の2次元DRAM単一デバイス当たりのメモリ容量やアクセス並列数が増加している。Hybrid Memory Cube(HMC。以降、本表記を使用)はHigh Bandwidth Memory(HBM。以降、本表記を使用)と並び有力な3D積層メモリである。HMCはその仕様が2013年4月に開示され、既にスーパーコンピュータ等の領域で使用されている。

HMCは、3次元形状を持つ半導体の層が4〜8枚積層され、各層がシリコン貫通電極によって接続されている。その積層した縦の列を“Vault”と呼び、各Vaultは、独立したDRAMベースのメモリであり独立にアクセス可能並列動作が可能である。また、Vault内には、各層ごとに数個のBankと呼ばれる領域がある。同一Vault内でこれらBankは、共有バスにより接続されているが、共有バス衝突が発生しない範囲内で並列に動作(Bank間interleaving。以降、本表記を使用)可能。このため、汎用メモリデバイスながらきわめて高い性能を実現できる可能性を有している。特に、HBMに比べてHMCは単一デバイス当たりでより多くのVaultを有していることから、より高いメモリアクセス並列数が期待できる。

パケット処理におけるルーティングフィルタリング等のためのテーブル検索をはじめとする情報処理は、特に高いメモリアクセス性能を要求する。テーブル検索処理に特化した場合、従来のネットワーク装置においては、Ternary Content Addressable Memory(TCAM。以降、本表記を使用)のような専用の高速なメモリを使用されている。しかし、上記した仮想化技術を用いた柔軟かつ低コストな大規模ネットワーク実現に向けてTCAMのような専用デバイスを汎用コンピュータに組み込むというアプローチから望ましくないとともに、検索処理に限らず今後より多くのネットワーク機能が仮想化されていくうえでは、汎用コンピュータにおけるメモリアクセスの高性能化が必要である。

NFVを考慮した従来の汎用コンピュータアーキテクチャには、図4に示すような(1)のDDRxDRAM及び(2)のHMCを使用する方式がある。

図4の(1)では、上記したようにDouble−Data−Rate 3(DDR3)DRAMや速度がこの2倍となるDouble−Data−Rate 4(DDR4)DRAMを採用している。最近は、更にDDR4の2倍程度高速なDouble−Data−Rate 5(DDR5)等が次世代メモリとして登場してきている。このような、Double−Data−Rate xDRAM(DDRx DRAM。以降、本表記を使用)は、パケット処理においてパケットバッファアドレス検索テーブル等に使用される。CPUは、マルチコア化されたマルチスレッドでの処理技術が一般化しており、並列処理が可能となっている。また、マルチコアCPUは、各CPUコア内や各CPUコアで共通に使用する低容量で高速動作可能なキャッシュメモリを内蔵しており、キャッシュメモリに納まる範囲内の処理であれば高い処理性能を発揮する。しかしながら、これらキャッシュメモリは、容量が小さく容量不足によりメインメモリであるDDRx DRAMへのアクセスが頻発した場合、性能のボトルネックが生じる。これは、DDRx DRAMは、アクセス速度がキャッシュメモリと比較して遅いとともに、アクセスの並列度がないかもしくは並列度があっても低いため、複数のCPUコア側が同時に多くのアクセス要求を出す場合、DDRx DRAM側がアクセス中ビジー状態となり、CPUコア側で待ち合わせ状態となるためである。

図4の(2)では、メモリとしてHMCを使用し、これを検索テーブル格納に使用している例を示している。非特許文献1及び2に示すように、HMCの並列アクセス性能を活かした並列パケット処理方式も検討されているが、近年のマルチコアCPUでは一つのCPU内に数十のコアが存在しており、HMC内のVault数も数十程度であることから、マルチコアCPUとHMCを用いた汎用コンピュータアーキテクチャにおいては、使用するCPUコア数およびVault数によってCPU内の共有キャッシュメモリアクセス性能装置全体の性能ボトルネックとなる可能性がある。ひいては、前述したように情報処理装置の仮想化及び将来的にさらなる情報通信速度の高速化、トラヒック爆発的な増加、低遅延化等によるメモリアクセス性能不足による性能劣化が主要な性能ボトルネックとなることが予想される。

概要

高い処理能力を有する情報処理装置及びそのメモリアクセス制御方法を提供する。複数のCPUコア210及び複数のCPUコア210で共有される共有キャッシュメモリ220を有するマルチコアCPU200と、HMC300と、マルチコアCPU200によるHMC300へのメモリアクセスを制御するHMCコントローラ100とを備えた情報処理装置であって、HMCコントローラ100は、マルチコアCPU200において実行されている情報処理の並列処理数を取得し、前記並列処理数に基づきマルチコアCPU200における共有キャッシュメモリ220の有効又は無効を制御する負荷監視部120を備えた。

目的

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

該当するデータがありません

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

複数のコア及び複数のコアで共有される共有キャッシュを有する演算装置と、記憶装置と、前記演算装置による前記記憶装置へのメモリアクセスを制御するアクセス制御装置とを備えた情報処理装置であって、前記アクセス制御装置は、前記演算装置において実行されている情報処理並列処理数を取得し、前記並列処理数に基づき前記演算装置における共有キャッシュの有効又は無効を制御する共有キャッシュ制御手段を備えたことを特徴とする情報処理装置。

請求項2

前記共有キャッシュ制御手段は、前記並列処理数が所定の閾値より大きい場合には共有キャッシュを無効化するよう前記演算装置を制御することを特徴とする請求項1記載の情報処理装置。

請求項3

前記共有キャッシュ制御手段は、無効化時に共有キャッシュに残存し且つ記憶装置に反映されていないデータを前記記憶装置に追い出すよう前記演算装置を制御することを特徴とする請求項2記載の情報処理装置。

請求項4

前記記憶装置の記憶領域は互いに並列アクセス可能なS個(Sは2以上の自然数)のブロックに区画されており、前記各ブロックの記憶領域は互いに並列アクセス可能なN個(Nは2以上の自然数)のバンクに区画されていることを特徴とする請求項1乃至3何れか1項記載の情報処理装置。

請求項5

複数のコア及び複数のコアで共有される共有キャッシュを有する演算装置と、記憶装置と、前記演算装置による前記記憶装置へのメモリアクセスを制御するアクセス制御装置とを備えた情報処理装置におけるメモリアクセス制御方法であって、前記アクセス制御装置の共有キャッシュ制御手段が、前記演算装置において実行されている情報処理の並列処理数を取得し、前記並列処理数に基づき前記演算装置における共有キャッシュの有効又は無効を制御する工程を含むことを特徴とする情報処理装置におけるメモリアクセス制御方法。

請求項6

コンピュータを、請求項1乃至4何れか1項記載の情報処理装置のアクセス制御装置として機能させることを特徴とするメモリアクセス制御プログラム

技術分野

0001

本発明は、情報処理装置に関し、特にメモリアクセス制御に関する。

背景技術

0002

近年のInternet of Things(IoT)やエッジコンピューティング、第5世代モバイルネットワーク(5G)の登場により、ネットワークを流れるトラヒック量遅延低減化の要求、ネットワークに接続されるデバイス数、さらには通信多様性は急速に増加している。通信事業者サービスプロバイダのネットワークは、その規模信頼由来要件から、従来は用途に特化した専用デバイスや独自のアーキテクチャからなる装置により構成されてきた。

0003

しかし、近年の急激なトラヒック需要変動に対する柔軟かつ迅速な装置増減設ネットワーク機能の容易な追加実装を可能にするために、通信事業者ネットワークサービスプロバイダネットワークのような大規模ネットワークにおいても、ネットワーク仮想化(Network Function Virtualization;NFV)やソフトウェア定義ネットワーク(Software Defined Networking;SDN)などの仮想化技術活用が期待されている。

0004

このような仮想化技術活用の機運到来背景には、従来に比べてより汎用的なデバイスの性能向上がある。Central Processing Unit(CPU)やDynamic Random Access Memory(DRAM)といった、汎用的で安価なデバイスからなる汎用コンピュータの性能が向上したことにより、従来は専用装置を用いないと実現困難であった数十ギガビット毎秒級のパケット処理が汎用コンピュータ上のソフトウェアにより実現可能になってきている。したがって、今後、大規模ネットワークにおいても、汎用コンピュータを活用したネットワーク構築により、急激な需要変動新サービスのための機能追加実装を柔軟・迅速・安価に実現することが可能になると期待される。

0005

しかし、このような大規模ネットワークにおいては、以降で議論するように、パケット処理のためのテーブル検索等の処理で、現在の汎用コンピュータアーキテクチャではメモリアクセス性能が支配的な性能ボトルネックとなり、これが大規模ネットワークにおける仮想化技術導入の性能観点での障壁になる。

0006

一方、このメモリアクセス性能を高めるデバイスとして、3D積層メモリがある。3D積層メモリは、従来の2次元のDRAMを複数枚3次元方向に積層したもので、従来の2次元DRAM単一デバイス当たりのメモリ容量やアクセス並列数が増加している。Hybrid Memory Cube(HMC。以降、本表記を使用)はHigh Bandwidth Memory(HBM。以降、本表記を使用)と並び有力な3D積層メモリである。HMCはその仕様が2013年4月に開示され、既にスーパーコンピュータ等の領域で使用されている。

0007

HMCは、3次元形状を持つ半導体の層が4〜8枚積層され、各層がシリコン貫通電極によって接続されている。その積層した縦の列を“Vault”と呼び、各Vaultは、独立したDRAMベースのメモリであり独立にアクセス可能並列動作が可能である。また、Vault内には、各層ごとに数個のBankと呼ばれる領域がある。同一Vault内でこれらBankは、共有バスにより接続されているが、共有バス衝突が発生しない範囲内で並列に動作(Bank間interleaving。以降、本表記を使用)可能。このため、汎用メモリデバイスながらきわめて高い性能を実現できる可能性を有している。特に、HBMに比べてHMCは単一デバイス当たりでより多くのVaultを有していることから、より高いメモリアクセス並列数が期待できる。

0008

パケット処理におけるルーティングフィルタリング等のためのテーブル検索をはじめとする情報処理は、特に高いメモリアクセス性能を要求する。テーブル検索処理に特化した場合、従来のネットワーク装置においては、Ternary Content Addressable Memory(TCAM。以降、本表記を使用)のような専用の高速なメモリを使用されている。しかし、上記した仮想化技術を用いた柔軟かつ低コストな大規模ネットワーク実現に向けてTCAMのような専用デバイスを汎用コンピュータに組み込むというアプローチから望ましくないとともに、検索処理に限らず今後より多くのネットワーク機能が仮想化されていくうえでは、汎用コンピュータにおけるメモリアクセスの高性能化が必要である。

0009

NFVを考慮した従来の汎用コンピュータアーキテクチャには、図4に示すような(1)のDDRxDRAM及び(2)のHMCを使用する方式がある。

0010

図4の(1)では、上記したようにDouble−Data−Rate 3(DDR3)DRAMや速度がこの2倍となるDouble−Data−Rate 4(DDR4)DRAMを採用している。最近は、更にDDR4の2倍程度高速なDouble−Data−Rate 5(DDR5)等が次世代メモリとして登場してきている。このような、Double−Data−Rate xDRAM(DDRx DRAM。以降、本表記を使用)は、パケット処理においてパケットバッファアドレス検索テーブル等に使用される。CPUは、マルチコア化されたマルチスレッドでの処理技術が一般化しており、並列処理が可能となっている。また、マルチコアCPUは、各CPUコア内や各CPUコアで共通に使用する低容量で高速動作可能なキャッシュメモリを内蔵しており、キャッシュメモリに納まる範囲内の処理であれば高い処理性能を発揮する。しかしながら、これらキャッシュメモリは、容量が小さく容量不足によりメインメモリであるDDRx DRAMへのアクセスが頻発した場合、性能のボトルネックが生じる。これは、DDRx DRAMは、アクセス速度がキャッシュメモリと比較して遅いとともに、アクセスの並列度がないかもしくは並列度があっても低いため、複数のCPUコア側が同時に多くのアクセス要求を出す場合、DDRx DRAM側がアクセス中ビジー状態となり、CPUコア側で待ち合わせ状態となるためである。

0011

図4の(2)では、メモリとしてHMCを使用し、これを検索テーブル格納に使用している例を示している。非特許文献1及び2に示すように、HMCの並列アクセス性能を活かした並列パケット処理方式も検討されているが、近年のマルチコアCPUでは一つのCPU内に数十のコアが存在しており、HMC内のVault数も数十程度であることから、マルチコアCPUとHMCを用いた汎用コンピュータアーキテクチャにおいては、使用するCPUコア数およびVault数によってCPU内の共有キャッシュメモリアクセス性能装置全体の性能ボトルネックとなる可能性がある。ひいては、前述したように情報処理装置の仮想化及び将来的にさらなる情報通信速度の高速化、トラヒック爆発的な増加、低遅延化等によるメモリアクセス性能不足による性能劣化が主要な性能ボトルネックとなることが予想される。

先行技術

0012

Packet Matching onFPGAs Using HMC Memory: TowardsOne Million Rules, Proceedings of the 2017ACM/SIGDA International Symposium on Field-Programmable Gate Arrays
T. Korikawa, A. Kawabata, F. He, and E. Oki, “Carrier-Scale Packet Processing System Using Interleaved 3D-StackedDRAM,” inIEEE ICC, May 2018, pp. 1-6.

発明が解決しようとする課題

0013

大規模な通信事業者ネットワークを汎用コンピュータにより実現し、将来的な大容量トラヒックに対応するため、前述した従来アーキテクチャの延長によるパケット処理方式では、いずれは限界がくると想定される。これは、テーブル検索に代表される情報処理においてメモリアクセス性能不足が顕在化するためである。図4の従来アーキテクチャでのDDRxDRAMやHMC、また専用メモリであるTCAMでは、具体的には、以下が問題となってくる。

0014

(1)DDRxDRAMを使用したアーキテクチャでは、メモリのアクセス並列度がないもしくは低い。マルチコアCPUの複数のCPUコアからDDRx DRAMへのアクセスが頻発した場合、アクセス待ち状態により情報処理性能のボトルネックになる。

0015

(2)HMCの複数のVaultやBank間 interleavingを活用した並列メモリアクセスとマルチコアCPUを用いた並列処理により情報処理性能を高める際に、CPU内の共有キャッシュメモリが情報処理装置全体の性能ボトルネックとなる。

0016

(3)仮想化適用による柔軟な運用低コスト化のメリットを享受するためには汎用コンピュータ等汎用装置でネットワークが作れることが重要だが、専用デバイスであるTCAMを使わないといけなかった高速テーブル検索などの領域の汎用デバイス化が課題となってくる。また、TCAMは、高価・高消費電力・小容量という課題もある。

0017

これらの問題を解決するためには、従来のパケット処理装置アーキテクチャでなく、新しい情報処理装置アーキテクチャが必要となる。特に、仮想化環境での使用を前提とした、汎用デバイスから構成される汎用装置で、高いメモリアクセス性能を実現する情報処理の具体的な方式の考案が必要である。

課題を解決するための手段

0018

上記目的を達成するために、本願発明は、複数のコア及び複数のコアで共有される共有キャッシュを有する演算装置と、記憶装置と、前記演算装置による前記記憶装置へのメモリアクセスを制御するアクセス制御装置とを備えた情報処理装置であって、前記アクセス制御装置は、前記演算装置において実行されている情報処理の並列処理数を取得し、前記並列処理数に基づき前記演算装置における共有キャッシュの有効又は無効を制御する共有キャッシュ制御手段を備えたことを特徴とする。

発明の効果

0019

本発明によれば、情報処理の並列数に応じて共有キャッシュの使用有無を動的に切り替えることで、演算装置及び記憶装置のもつ並列処理性能を最大限に引き出すとともに、並列処理数が低い場合には共有キャッシュの高い応答性能を活かすことができる。

図面の簡単な説明

0020

本発明に係る情報処理装置の概要を示す構成図
第1の実施の形態に係る情報処理装置の機能ブロック
第1の実施の形態に係るメモリアクセス制御動作を説明するフローチャート
従来技術を用いた汎用コンピュータアーキテクチャを説明する図

実施例

0021

まず、本発明の概要について図面を参照して説明する。図1は本発明に係る情報処理装置の概要を示す構成図である。

0022

本発明では、上記の課題を解決するため、図1の本発明の汎用コンピュータアーキテクチャに示すような、並列アクセス可能なHybrid Memory Cube(HMC)300を検索テーブル等高速なアクセスが求められるデータの格納に用い、HMC300への並列アクセスを可能とするためのHMCコントローラ100を、マルチコアCPU200とHMC300間に、Field Programmable Gate Array(FPGA。以降、本表記を使用)等の再プログラム可能な汎用デバイスで実装し、HMCコントローラ100の一部機能として情報処理の並列度に応じてマルチコアCPU200内の共有キャッシュメモリ220を使用するかどうか動的に切り替えることを可能とするアーキテクチャを提案する。これにより通信事業者ネットワークのような大規模ネットワークにおけるパケット処理等、高いメモリアクセス性能が求められるアプリケーションにおいて仮想化環境下での使用を想定して、装置全体の情報処理の並列度に応じて最適なメモリアクセスを可能とする情報処理装置を構成する。なお、HMCコントローラ100は、特許請求の範囲に記載のアクセス制御装置に相当する。

0023

図1において、CPUは、複数のCPUコア210を有するマルチコアCPU200で構成され、内部にキャッシュメモリを内蔵し、これと主メモリ用のDRAM400と接続している。キャッシュメモリは、各CPUコア専用のキャッシュメモリ211と、同じマルチコアCPU200内の全CPUコア210で共有される共有キャッシュメモリ220が存在する。HMC300は、前述したように、Vaultを複数有し(Vault 1〜Vault SのS個)、各Vaultは、マルチコアCPU200側から並列アクセス可能な構造をもつ。また、一つのVaultは複数のBankにより構成され、Bank間interleavingが可能である。情報処理においては、情報処理プログラム及びパケットバッファは、CPU200に接続されたDRAM400内に設け、情報処理時間に特に影響する検索テーブル等データをHMC300内に設ける。検索テーブル等データをHMC300内で並列アクセス可能な単位である複数のVaultとBankに分散して配置し、さらに、それらの分散配置された検索テーブルへのCPU200からのメモリアクセスを振り分けるためのHMCコントローラ100をCPU200とHMC300間に設ける。

0024

本発明では、以下に示すように、情報処理装置で行われている情報処理の並列数に応じて、マルチコアCPU200内の共有キャッシュメモリ220の使用有無を動的に切り替える。

0025

(1)HMCコントローラ100内の一部機能により、実行中の情報処理に係わるCPUコア数およびVault数ならびに共有キャッシュメモリのミスヒット率などの統計情報を取得し、あらかじめプログラムされている閾値との比較により、CPU200内の共有キャッシュメモリ220を使用するべきかどうか判断する。CPU200内の共有キャッシュメモリ220はCPUコア210と同一デバイス上に存在しCPUコア210からのアクセス時間も短くて済むが、デバイス内の空間的制約から容量が限られることや同一CPU200上の全CPUコア210で共有されるためアクセスの競合が発生しやすい欠点がある。一方、HMC300はCPU200内の共有キャッシュメモリ220に比べて大容量でありCPUコア数と同程度の並列アクセスを受け付けられる構造をしている。ただし、HMC300はCPU200とは別のデバイスであるため、CPU100内のキャッシュメモリに比べてメモリアクセスに長い時間を要する。これらのCPU100内のキャッシュメモリとHMC300の特性を踏まえ、例えば、同時に使用するCPUコア数が少ない場合は共有キャッシュメモリ220をバイパスさせず、多い場合は共有キャッシュメモリ220をバイパスさせるといった判断を行う。また、特にメモリアクセス遅延の要求が厳しくかつ使用するCPUコア数が少ないプログラムのメモリアクセスは共有キャッシュメモリ220をバイパスさせず、他のプログラムのメモリアクセスについては共有キャッシュメモリ220をバイパスさせるといった制御も考えられる。

0026

(2)前記(1)の判断により、CPU200内の共有キャッシュメモリ220を使用しない、すなわち共有キャッシュメモリ220をバイパスすることが望ましいと判断された場合は、CPU200内の設定レジスタへの設定投入等の方法によりCPU200内の共有キャッシュメモリ220を一時的に無効化し、CPUコア210からのメモリアクセスは直接HMC300に対して実施する。また、CPU200内の共有キャッシュメモリ220が既に無効化されている状況で、前記(1)の判断により、CPU200内の共有キャッシュメモリ220を使用するべきと判断された場合は、CPU200内の設定レジスタへの設定投入等の方法により、CPU200内の共有キャッシュメモリ220を有効化する。

0027

上記(1)、(2)により、情報処理装置における情報処理の並列度が高くCPU内の供給キャッシュメモリへのアクセス性能不足が情報処理装置全体の性能ボトルネックとなることを動的に回避することが可能となる。

0028

本発明の実施の形態について図1図3を参照して説明する。

0029

図2は、図1にその概略を示した、本発明におけるメモリアクセス制御機構構成を示したものである。図2において、本発明は、マルチコアCPU200およびDRAM400、HMCコントローラ100、HMC300の3つの主要な要素から構成される。

0030

マルチコアCPU200には、数個〜数十個の複数のCPUコア210とこれに内蔵される各CPUコア210専用のキャッシュメモリ211、全CPUコア210で共有される共有キャッシュメモリ220、マルチコアCPU200の各種性能統計情報を保持しているPCM(Performance Counter Monitor)230、マルチコアCPU200の動作を設定する設定レジスタ240がある。

0031

HMC300には、並列動作できる32個程度のVaultがあり、それぞれのVaultには16個程度のBankがある。

0032

このマルチコアCPU200とHMC300間にHMCアクセスの制御および情報処理の並列数に応じてマルチコアCPU200内の共有キャッシュメモリ220の使用有無を判断する機構をもつHMCコントローラ100を設ける。

0033

HMCコントローラ100は、FPGA等の再プログラム可能な汎用デバイスにより構成可能である。HMCコントローラ100には、マルチコアCPU200からHMC300へのメモリアクセスリクエストを受け付け、アクセス結果を返すCPUインタフェース部110と、これと接続して情報処理の並列数を把握しマルチコアCPU200内の共有キャッシュメモリ220使用有無を判断する負荷監視部120と、負荷監視部120における判断に用いられるあらかじめプログラムされた閾値を格納する負荷閾値部130と、アクセス先メモリアドレスをもとにHMC300に実際にアクセスするインタフェース部となるHMCアクセスコントローラ部140とから構成される。なお、負荷監視部120及び負荷閾値部130は、特許請求の範囲に記載のキャッシュ制御手段に相当する。

0034

以下、図1図2の構成をもとに、メモリアクセスの流れおよびメモリアクセス制御の流れについて図3を用いて説明する。

0035

図3において、図2のマルチコアCPU200からHMC300へのアクセスに伴うメモリリクエストを受け付け、HMCコントローラ100の処理を開始する(ステップS101)。

0036

CPUインタフェース部110では、受け付けたHMC300へのメモリアクセスリクエストを負荷監視部120へ転送する。

0037

これを受信した負荷監視部120では、現在扱っているメモリアクセスリクエスト受信以前に扱ったあらかじめプログラム可能な一定数のメモリアクセスリクエストから抽出した、メモリアクセスリクエスト発出元CPUコアやアクセス先Vaultの統計およびPCM230参照によって得られる各CPUコア210専用キャッシュメモリミスヒット数の統計等から現在の情報処理の並列数を把握する。例えば、各CPUコア210専用キャッシュメモリのミスヒット数から同時に動作しているCPUコア210数を推定することができる。負荷監視部120は、この情報処理の並列数を負荷閾値部130にあらかじめプログラムされている閾値を比較する(ステップS102)。

0038

比較の結果、閾値を上回る場合は、負荷監視部120は、マルチコアCPU200内の共有キャッシュメモリ220を無効化する設定値を設定レジスタ240に投入する(ステップS103,S104)。さらに、共有キャッシュメモリ220を無効化した後、負荷監視部120は、その時点で共有キャッシュメモリ220に格納されていたデータをHMC300にライドバックするようマルチコアCPU200に指示する(ステップS105)。閾値を超えない場合は、負荷監視部120は、共有キャッシュメモリ220が有効であるかどうか確認する(ステップS103,S106)。共有キャッシュメモリ220が無効化されていた場合は、負荷監視部120は、共有キャッシュを有効化する設定を設定レジスタ240に投入する(ステップS107)。

0039

その後メモリアクセスリクエストはHMCアクセスコントローラ部140へ転送され、HMCアクセスコントローラ部140は、該当するHMC300上のアドレスへのアクセスを要求する(ステップS108)。

0040

次に、HMCアクセスコントローラ部140は、HMC300へのアクセスが正常応答したかどうか確認する(ステップS109)。正常応答であった場合は、HMCアクセスコントローラ部140は、アクセス結果をCPUインタフェース部110へ返却転送し、マルチコアCPU200へ返す(ステップS110)。アクセス結果がエラーであった場合、HMCアクセスコントローラ部140は、エラー情報と共にアクセス結果をCPUインタフェース部110へ返却転送する(ステップS111)。マルチコアCPU200では、エラー内容に応じてアプリケーションレベルで適宜エラー対処を行う。この流れをもって、メモリアクセスおよびメモリアクセス制御を終了する。

0041

本実施の形態に係る情報処理装置によれば、情報処理の並列数に応じて共有キャッシュメモリ220の使用有無を動的に切り替えることで、マルチコアCPU200およびHMC300のもつ並列処理性能を最大限に引き出すとともに、並列処理数が低い場合には共有キャッシュメモリ220の高い応答性能を活かすことができる。

0042

また、本実施の形態に係る情報処理装置によれば、HMCコントローラ100をFPGA等の再プログラム可能な汎用デバイスで実現することによりCPU200やHMC300などのデバイス自体の変更は不要である。

0043

また、本実施の形態に係る情報処理装置によれば、HMC300を含め汎用デバイスから成る汎用コンピュータによるシステム構成のため、幅広既存アプリケーションをより高速に動作させることが可能である。

0044

また、本実施の形態に係る情報処理装置によれば、TCAMに比べて低消費電力なDRAMベースのHMC300の採用により、システム全体の消費電力削減実装面積削減によるコンパクト化が可能となる。

0045

以上、本発明の一実施の形態について詳述したが、本発明は上記実施の形態に限定されるものではなく、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよい。

0046

例えば、上記実施の形態では、負荷監視部120は、マルチコアCPU200で実行されているプログラムを特に区別していないが、マルチコアCPU200で実行されているプログラムを識別し、各プログラムが実行されているCPUコア210毎に共有キャッシュメモリ220の無効/有効を制御するようにしてもよい。具体的には、特にメモリアクセス遅延の要求が厳しくかつ使用するCPUコア数が少ないプログラムのメモリアクセスは共有キャッシュメモリ220をバイパスさせず、他のプログラムのメモリアクセスについては共有キャッシュメモリ220をバイパスさせるといった制御が挙げられる。

0047

また、上記実施の形態では、HMCコントローラ100をFPGA等の再プログラム可能な汎用デバイスで実装していたが、専用デバイスとして実装してもよい。また、上記実施の形態では、HMCコントローラ100をマルチコアCPU200やHMC300とは別デバイスとして実装していたが、HMCコントローラ100の全部又は一部をマルチコアCPU200に実装するようにしてもよい。

0048

また、上記実施の形態では、記憶装置の一例としてHMCについて説明したが、並列アクセス可能なブロック(Vaultやメモリチャネル)及びバンク構成を有する他の構造・規格の記憶装置であっても本発明を適用できる。

0049

100…HMCコントローラ
110…CPUインタフェース部
120…負荷監視部
130…負荷閾値部
140…HMCアクセスコントローラ部
200…マルチコアCPU
210…CPUコア
220…コア専用キャッシュメモリ
230…共有キャッシュメモリ
300…HMC

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

該当するデータがありません

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

該当するデータがありません

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

この 技術と関連性が強い技術

該当するデータがありません

この 技術と関連性が強い法人

該当するデータがありません

この 技術と関連性が強い人物

該当するデータがありません

この 技術と関連する社会課題

該当するデータがありません

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ