(57)【要約】      （修正有）【課題】単一のマルチプロセッサシステム上で複数のＯＳを稼動させる計算機システムにおいて、キャッシュアクセス処理能力の低下、ネットワーク負荷の増加を防ぐことができるキャッシュ一致制御を提供する。【解決手段】プロセッサとノードと共有メモリが相互結合網を介して接続されたマルチプロセッサシステムにおいて、システム管理ソフトウェアにより複数の論理区画（LPAR）を設定可能であり、各LPARにマルチプロセッサの資源の一部を割り当てられ、各LPARで個別にＯＳが稼動され得、各ノードには、キャッシュ一致制御回路と、LPAR内の資源が存在するノードを識別できる情報をノード内の各プロセッサまたは各ＩＯデバイス毎に格納するレジスタを有し、共有メモリをアクセスする際、キャッシュ一致制御回路は、レジスタに参照して、プロセッサとメモリ領域を共有するプロセッサまたはＩＯデバイスがあるノードに対してキャッシュ一致制御を行なう。【選択図】  図１
2004199579.tif 000002
【特許請求の範囲】
【請求項１】
夫々キャッシュメモリを持つ複数のプロセッサ及びＩＯデバイスを有する複数のノードと、共有メモリとが相互結合網に接続して構成され、これらのプロセッサ又はＩＯデバイスは複数の論理区画に分割され、夫々の論理区画毎に個別のＯＳが稼動され得るマルチプロセッサシステムにおいて、
各ノードには、プロセッサ又はＩＯデバイスからの共有メモリへのアクセス要求に関連して、キャッシュメモリの内容の一致性を判断するキャッシュ一致制御回路と、
同じ論理区画内のプロセッサ又はＩＯデバイスが存在するノードを識別する情報を該ノード内のプロセッサまたはＩＯデバイス毎に記憶するレジスタと、を有し、
プロセッサまたはＩＯデバイスが共有メモリをアクセスする際にキャッシュ一致制御を必要とする場合、該キャッシュ一致制御回路は、該レジスタに格納している識別情報を参照して、該プロセッサまたは該ＩＯデバイスとメモリ領域を共有する同じ論理区画内のプロセッサまたはＩＯデバイスがあるノードに対してキャッシュ一致制御を行なうようにすることを特徴とするマルチプロセッサシステム。
【請求項２】
夫々キャッシュメモリを持つ複数のプロセッサ及びＩＯデバイスを有する複数のノードと、共有メモリとが相互結合網に接続して構成され、これらのプロセッサ又はＩＯデバイスは複数の論理区画に分割され、夫々の論理区画毎に個別のＯＳが稼動され得るマルチプロセッサシステムにおいて、
各ノードには、プロセッサ又はＩＯデバイスからの共有メモリへのアクセス要求に関連して、キャッシュメモリの内容の一致性を判断するキャッシュ一致制御回路と、
ある論理区画内のプロセッサ又はＩＯデバイスが同じノード内に全て存在するか否かを識別できる情報を記憶するレジスタと、を有し、
プロセッサまたはＩＯデバイスが共有メモリをアクセスする際にキャッシュ一致制御を必要とする場合、前記キャッシュ一致制御回路は、該レジスタに格納している情報を参照して、アクセス要求を発するプロセッサまたはＩＯデバイスが属する論理区画内にアクセス対象となるプロセッサまたはＩＯデバイスが全て存在する場合に、該ノードにおいてのみキャッシュ一致制御を行なうことを特徴とするマルチプロセッサシステム。
【請求項３】
夫々キャッシュメモリを持つ複数のプロセッサ及びＩＯデバイスを有する複数のノードと、共有メモリとが相互結合網に接続して構成され、これらのプロセッサ又はＩＯデバイスは複数の論理区画に分割され、夫々の論理区画毎に個別のＯＳが稼動され得るマルチプロセッサシステムにおいて、
各ノードには、プロセッサ又はＩＯデバイスからの共有メモリへのアクセス要求に関連して、キャッシュメモリの内容の一致性を判断するキャッシュ一致制御回路と、
分割された該共有メモリの領域の一部を割り当てたプロセッサ又はＩＯデバイスが存在するノードを識別できる情報を、分割されたメモリの領域毎に格納するレジスタと、を有し
プロセッサまたはＩＯデバイスが共有メモリをアクセスする際にキャッシュ一致制御を必要とする場合、該キャッシュ一致制御回路は、該レジスタに格納している識別情報を参照して、該プロセッサまたは該ＩＯデバイスと分割されたメモリ領域を共有するプロセッサまたはＩＯデバイスが在るノードに対してキャッシュ一致制御を行なうことを特徴とするマルチプロセッサシステム。
【請求項４】
夫々キャッシュメモリを有する複数のプロセッサと、これらのプロセッサ又はＩＯデバイスによって共通的にアクセスされる共有メモリを備え、かつこれらのプロセッサ、ＩＯデバイス又は共有メモリの領域はマルチプロセッサの資源として複数の論理区画に分割され得、夫々の論理区画毎に、個別のＯＳが稼動され得るマルチプロセッサシステムにおいて、
プロセッサ又はＩＯデバイスからの共有メモリへのアクセス要求に対して、キャッシュメモリの内容の一致性を判断するキャッシュ一致制御手段と、
アクセス要求に関するマルチプロセッサの資源に関連してアクセス先のプロセッサ、ＩＯデバイス又は共有メモリの領域が同じ論理区分内に属するかの識別、又は同じ論理区画に属するノードを識別するための情報を格納する記憶手段と、を有し、
該プロセッサ又はＩＯデバイスからのアクセスに際し、該キャッシュ一致制御手段は、該記憶手段を参照して、該プロセッサ又はＩＯデバイスとメモリの領域を共有する論理区画に属するプロセッサまたはＩＯデバイスに対してキャッシュ一致制御を行なうことを特徴とするマルチプロセッサシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はマルチプロセッサシステムに係り、特に単一のマルチプロセッサシステム上で複数のオペレーティングシステム（Operating System、以下ＯＳと言う）を稼動させる計算機システムにおける、マルチプロセッサシステム内のキャッシュメモリ間の一致制御に関する。
【０００２】
【従来の技術】
計算機システムにおけるプロセッサの性能は年々向上している。これに伴い、計算機システム全体の処理時間に対する、メモリアクセスレイテンシの占める割合が増加している。メモリアクセスレイテンシの削減は重要であり、一般的にプロセッサにキャッシュメモリを備えることによりメモリアクセスレイテンシの削減を図っている。
複数のプロセッサをバスまたはネットワークで接続するマルチプロセッサシステムにおいては、複数のプロセッサが共通のメモリ（共有メモリ）をアクセスして処理を行う。このようなシステムでは、あるプロセッサがメモリアクセス要求を発行すると、他の全プロセッサのキャッシュメモリ上で最新データの存在等のチェックを行ない、全プロセッサのキャッシュメモリの一貫性を保証しなければならない。この処理をキャッシュ一致制御と称している。
【０００３】
マルチプロセッサシステムでは、全プロセッサのキャッシュ間の一貫性を保証するために、プロセッサのメモリアクセスを全プロセッサにブロードキャストし、システム内の全プロセッサでキャッシュ一致制御処理を行なう必要がある。そのため、マルチプロセッサシステムにおいてプロセッサ台数が増大すると、次に示す３つの問題が発生する。
（１）プロセッサのキャッシュ一致制御処理量が増大し、プロセッサのキャッシュアクセス処理能力が低下する。
（２）メモリアクセス毎に全プロセッサのキャッシュ一致制御を行なう必要があるため、メモリアクセスレイテンシが増加する。
（３）プロセッサ間を接続するネットワークが転送するキャッシュ一致制御要求量が増大し、ネットワークの転送量が飽和してしまう。
【０００４】
上記の問題を解決する技術として、特開２０００−２９８６５３号公報（特許文献１）に開示されたものがある。この技術は、複数プロセッサまたは複数のＩＯデバイスを含むノードにアクセス権メモリを用意している。アクセス権メモリには、現在の共有メモリ上のブロックに対するアクセス権の状態が記録されている。アクセス権の状態にはアクセス権無し、共有アクセス権有り、排他アクセス権有りの３状態がある。これらの３状態は、プロセッサまたはＩＯデバイスが共有メモリ上のデータを読み出しまたは書き込みする毎に更新される。そして、プロセッサまたはＩＯデバイスがキャッシュ一致制御を必要とする共有メモリアクセスを行なう時は、必ず自ノードのアクセス権メモリを参照し、アクセスするメモリ上のブロックの状態が３状態のいずれであるかを調べる。アクセス権メモリに、アクセスする共有メモリ上のブロックの情報が無いときは、システム内の全プロセッサ及びＩＯアドレスにあるキャッシュの一致制御を行なう。アクセス権メモリに、アクセスするメモリ上のブロックの情報があった時は、共有メモリアクセスがデータの読み出しであれば、アクセス権無しの状態以外は、自ノードにあるプロセッサ及びＩＯデバイスのキャッシュ一致制御のみを行なう。アクセス権無しの状態であれば、システム内の全プロセッサ及びＩＯアドレスにあるキャッシュの一致制御を行なう。また、共有メモリアクセスがデータの書き込みであれば、排他アクセス権有りの状態の時に、自ノードにあるプロセッサ及びＩＯデバイスのキャッシュ一致制御のみを行なう。他の状態であれば、システム内の全プロセッサ及びＩＯアドレスにあるキャッシュの一致制御を行なう。これにより、従来技術はキャッシュ一致制御処理を行なうプロセッサのキャッシュ、またはＩＯデバイスに存在するキャッシュの数を削減し、上記の３つの問題に対処している。
【０００５】
ところで、単一の計算機システム上で複数のＯＳを同時に動作させる技術として論理分割による手法がある。論理分割では、ハイパバイザと呼ばれる管理プログラムが、計算機システムの管理者からの指示に従って計算機システムのハードウェア資源（プロセッサとメモリ領域、及びＩＯデバイス等を含む）を複数の論理区画（Logical Partitioning、以下LPAR）に分割して、各LPARで1つのＯＳを動作させる。従って、LPARに分割されているマルチプロセッサシステムは、使用しているメモリ領域が各LPARで異なるため、各LPAR内全プロセッサのキャッシュの一貫性は保証する必要があるが、システム内全プロセッサのキャッシュ間の一貫性は保証する必要は無い。
【０００６】
【特許文献１】
特開２０００−２９８６５３号
【０００７】
【発明が解決しようとする課題】
論理分割を行なうマルチプロセッサシステムに上記キャッシュ制御の技術を適用すると、論理分割しているにもかかわらず、システム内全プロセッサのキャッシュの一貫性を保証してしまうことになる。これは、不必要なキャッシュ一致制御の処理に繋がる。この処理を省くことで、従来技術よりさらにプロセッサのキャッシュアクセス処理能力の低下、メモリアクセスレイテンシの増加及びプロセッサ間を接続するネットワーク負荷の増加を防ぐことができる。
【０００８】
本発明の目的は、単一のマルチプロセッサシステム上で複数のＯＳを稼動させる計算機システムにおいて、プロセッサのキャッシュアクセス処理能力の低下、メモリアクセスレイテンシの増加及びプロセッサ間を接続するネットワーク負荷の増加を防ぐことができる、マルチプロセッサシステムにおけるキャッシュ一致制御を提供することにある。
【０００９】
【課題を解決するための手段】
上記目的を達成するため本発明は、夫々キャッシュメモリを持つ複数のプロセッサ及びＩＯデバイスを有する複数のノードと、共有メモリとが相互結合網に接続して構成され、これらのプロセッサ又はＩＯデバイスは複数の論理区画（ＬＰＡＲ）に分割され、夫々の論理区画毎に個別のＯＳが稼動され得るマルチプロセッサシステムにおいて、各ノードには、プロセッサ又はＩＯデバイスからの共有メモリへのアクセス要求に関連して、キャッシュメモリの内容の一致性を判断するキャッシュ一致制御回路と、同じ論理区画内のプロセッサ又はＩＯデバイスが存在するノードを識別する情報を該ノード内のプロセッサまたはＩＯデバイス毎に記憶するレジスタ（実施例ではＬＰＡＲ情報格納レジスタとして説明される。）とを有し、プロセッサまたはＩＯデバイスが共有メモリをアクセスする際にキャッシュ一致制御を必要とする場合、キャッシュ一致制御回路は、該レジスタに格納している識別情報を参照して、プロセッサまたはＩＯデバイスとメモリ領域を共有する同じ論理区画内のプロセッサまたはＩＯデバイスがあるノードに対してキャッシュ一致制御を行なうように構成するものである。
【００１０】
好ましい例によれば、LPAR情報格納レジスタは、LPAR情報格納レジスタがあるノード内のプロセッサ及びＩＯデバイスの数分エントリを備える。各エントリには、当該エントリがノード内のどのプロセッサまたはＩＯデバイスの情報を格納しているかを示す情報（プロセッサ番号、ＩＯデバイス番号等）と、プロセッサ及びＩＯデバイスが属するLPAR内の他のプロセッサ及びＩＯデバイスがどのノードに存在するかを示す情報が格納される。これにより、ノード内のキャッシュ一致制御回路は、プロセッサまたはＩＯデバイスからキャッシュ一致制御を必要とする共有メモリのアクセスを受けた際、LPAR情報格納レジスタを参照することで、キャッシュ一致制御が必要な同じLPARに属するプロセッサ又はＩＯデバイスがあるノードに対してキャッシュ一致制御処理を行なうことができる。
【００１１】
本発明はまた、LPAR情報格納レジスタに格納される識別情報をより簡単に構成することもできる。好ましい例によれば、あるLPAR内のプロセッサ又はＩＯデバイスが同じノード内に全て存在するか否かを識別できる情報即ちフラグをこのレジスタに格納するようにする。あるノード内に全てのLPAR内のプロセッサ及びＩＯデバイスが存在する場合にはフラグ「１」を格納し、１ノード内に全てのLPAR内のプロセッサ及びＩＯデバイスが存在しない場合にはフラグ「０」を格納する。
これにより、あるノード内のキャッシュ一致制御回路は、プロセッサまたはＩＯデバイスからキャッシュ一致制御を必要とする共有メモリアクセスを受けた時に、LPAR情報格納レジスタを参照することで、ノード内に共有メモリへアクセス要求を出したプロセッサまたはＩＯデバイスが属するLPAR内の全てのプロセッサ及びＩＯデバイスが存在するならば、自ノード内でのみキャッシュ一致制御処理を行なうことができる。
【００１２】
本発明はまた、LPAR情報格納レジスタに、分割したメモリ領域数分のエントリを持つように構成することもできる。例えば、各エントリには当該エントリが分割したメモリ領域のいずれの情報を格納しているかを示すためにメモリ領域のスタートアドレス及びエンドアドレスの情報と、このエントリのメモリ領域を共有して使用するプロセッサ及びＩＯデバイスが存在するノードを示す情報が格納される。
これにより、ノード内のキャッシュ一致制御回路は、プロセッサまたはＩＯデバイスからキャッシュ一致制御を必要とする共有メモリアクセスを受けた時に、LPAR情報格納レジスタを参照することで、メモリ領域を共有するプロセッサ及びＩＯデバイスがあるノードに対してキャッシュ一致制御処理を行なうことができる。
【００１３】
本発明は広義にはノードの存在を考慮しなくても実現可能である。即ち、夫々キャッシュメモリを有する複数のプロセッサと、これらのプロセッサ又はＩＯデバイスによって共通的にアクセスされる共有メモリを備え、かつこれらのプロセッサ、ＩＯデバイス又は共有メモリの領域はマルチプロセッサの資源として複数の論理区画に分割され得、夫々の論理区画毎に、個別のＯＳが稼動され得るマルチプロセッサシステムにおいて、プロセッサ又はＩＯデバイスからの共有メモリへのアクセス要求に対して、キャッシュメモリの内容の一致性を判断するキャッシュ一致制御手段と、アクセス要求に関するマルチプロセッサの資源に関連してアクセス先のプロセッサ、ＩＯデバイス又は共有メモリの領域が同じ論理区分内に属するかの識別、又は同じ論理区画に属するノードを識別するための情報を格納する記憶手段と、を有し、プロセッサ又はＩＯデバイスからのアクセスに際し、キャッシュ一致制御手段は、記憶手段を参照して、プロセッサ又はＩＯデバイスとメモリの領域を共有する論理区画に属するプロセッサまたはＩＯデバイスに対してキャッシュ一致制御を行なうように構成できる。
【００１４】
【発明の実施の形態】
以下図面を用いて本発明の実施形態を説明する。
本発明の一実施形態について、図1及び図２を参照して説明する。
この実施形態においては、3つのノードＡ１５０、１５１、１５２がクロスバ１６０で接続されてマルチプロセッサシステムを構成している。各ノードＡ１５０〜１５２は同様の内部構成を有している。クロスバ１６０にはまた共有メモリ１７０が接続されており、各ノードからはクロスバ１６０を介して共通メモリ１７０をアクセスできる。尚、ノードの接続手段はクロスバに限らず、バス等の他の相互結合網でも良い。またマルチプロセッサシステムは３ノード構成に限らず、一般的に複数ノードの構成でよい。
【００１５】
各ノードの構成について説明するに、例えばノードＡ１５０は、複数のプロセッサ１００〜１０３（PE＃０〜PE＃３）はプロセッサバス１１０に接続されている。プロセッサ１００〜１０３は、それぞれキャッシュメモリ（図示せず）を備えている。なお、図示の例では４個のプロセッサ数を示しているが、これに限らない。
また、プロセッサバス１１０を制御するチップセット１２０は、ＩＯバス１３０を介してＩＯデバイス１４０と接続されると共に、クロスバ１６０に接続しており、各々これらを制御している。ＩＯバス１３０は、現在一般に使用されているＰＣＩバスなどを想定している。尚ＩＯバスの本数は１本に限らず、ＩＯデバイスの数も１つに限らない。
チップセット１２０は、プロセッサバスを制御するプロセッサバスインターフェース１２１と、ＩＯバスを制御するＩＯバスインターフェース１２２と、キャッシュ一致制御を行なうキャッシュ一致制御回路１２３と、本発明の実施形態において特徴的はLPAR情報格納レジスタ１２４と、クロスバの制御を行なうクロスバインターフェース１２５から構成される。
この例のように、複数のプロセッサと、プロセッサバス、チップセット、ＩＯデバイスとＩＯバスをまとめて１つのノードとして扱い、複数のノードをクロスバで接続するマルチプロセッサシステムを構成している。
【００１６】
図２にLPAR情報格納レジスタ１２４の構成を示す。LPAR情報格納レジスタ１２４には、ノード内のキャッシュ一致制御を必要とするメモリアクセスを出すプロセッサ及びＩＯデバイス数分のエントリがあり、各エントリはプロセッサ／ＩＯ番号部１０及びキャッシュ一致制御実施ノード番号部１１から成る。プロセッサ／ＩＯ番号部１０には、ノード内のどのプロセッサまたはＩＯデバイスか一意に認識することができる番号を格納する。そして、キャッシュ一致制御実施ノード番号部１１には、プロセッサがキャッシュ一致制御要求を出すノードのノード番号を格納する。このノード番号は、図１に示すマルチプロセッサシステム内でノードを一意に識別できる番号である。また、キャッシュ一致制御要求を出すノード番号全てを格納する。すなわち、LPAR内のプロセッサまたはＩＯデバイスが複数のノードに存在する場合に、キャッシュ一致制御実施ノード番号部１１に、自ノードを除く、LPAR内のプロセッサまたはＩＯデバイスがあるノード番号を全て格納する。
【００１７】
これにより、LPAR内のプロセッサまたはＩＯデバイスが複数のノードに存在する場合にも、キャッシュ一致制御回路１２３は、LPAR情報格納レジスタ１２４を検索することで、キャッシュ一致制御要求をキャッシュ一致制御処理が必要なノードにのみ出すことができる。
LPAR情報格納レジスタ１２４のプロセッサ／ＩＯ番号部１０及びキャッシュ一致制御実施ノード番号部１１には、実際にLPARを作成するマルチプロセッサシステムの管理者の指示に従い、ハイパバイザが値を設定する。システム管理者がハイパバイザに指示するためのインターフェースとしては、ＣＲＴ表示装置もしくはシリアル回線を介して接続されるコンソール画面や、液晶（LCD）パネル電子メールが考えられるが、特にこれらに限定されない。また、システム管理者から指示を受けたハイパバイザは、ファームウェアを介し、専用バスまたはプロセッサ発のトランザクションを使用して、チップセット内のLPAR情報格納レジスタ１２４に値を設定する。これも、特にこの設定方法に限らない。
【００１８】
以下、第１の実施形態における、キャッシュ一致制御の動作を説明する。まず、ノードＡ１５０内のプロセッサまたはＩＯデバイスが出すキャッシュ一致制御を必要とする共有メモリアクセスを、プロセッサバス１１０及びプロセッサバスインターフェース１２１を介し、キャッシュ一致制御回路１２３が受ける。次に、キャッシュ一致制御を必要とする共有メモリアクセスを受けたキャッシュ一致制御回路１２３は、LPAR情報格納レジスタ１２４を検索する。まず、キャッシュ一致制御回路１２３は、プロセッサ／ＩＯ番号部１０を検索し、キャッシュ一致制御を必要とする共有メモリアクセスを出した、プロセッサまたはＩＯデバイスの情報を格納したエントリを見つける。そして該当するエントリを見つけたら、キャッシュ一致制御回路１２３は、そのエントリのキャッシュ一致制御実施ノード番号部１１に格納している情報を得る。
ここでは、キャッシュ一致制御実施ノード番号部１１に、ノードＣ１５２を示す番号が格納されている場合について説明する。この場合、キャッシュ一致制御回路１２３は、ノードＣ１５２にあるキャッシュ一致制御回路１２３に対し、クロスバインターフェース１２５とクロスバ１６０を介して、キャッシュ一致制御要求を出す。また同時に、キャッシュ一致制御回路１２３は、ノードＡ１５０内のキャッシュ一致制御処理を行なう。そして、キャッシュ一致制御要求を受けたノードＣ１５２内のキャッシュ一致制御回路１２３は、ノードＣ１５２内のプロセッサバス１１０及びプロセッサバスインターフェース１２１を介し、ノードＣ１５２内のプロセッサのキャッシュ一致制御処理を行なう。これに対し、キャッシュ一致制御実施ノード番号部１１に何も格納されていない場合は、キャッシュ一致制御回路１２３は、自ノードとなるノードＡ１５０内だけでキャッシュ一致制御処理を行なう。
【００１９】
次に、本発明の第２の実施形態について図１及び図３を用いて説明する。第２の実施形態では、LPAR情報格納レジスタ１２４の構成を、第１の実施形態のものに対して変形している。尚、エントリ数は第１の実施形態と同じである。
【００２０】
図３にLPAR情報格納レジスタ１２４の構成を示す。
LPAR情報格納レジスタ１２４の各エントリは、プロセッサ／ＩＯ番号部１０及びローカルフラグ部２０から成る。ローカルフラグ部２０には、ノード内のプロセッサ及びＩＯデバイスが出すキャッシュ一致制御要求を他ノードに出す必要があるかどうかを示す情報を格納する。LPAR内のプロセッサ及びＩＯデバイスがノード内に全て存在する場合は、このノード内のプロセッサ及びＩＯデバイスのキャッシュ一貫性のみを保証すれば良い。そのため、LPAR内のプロセッサ及びＩＯデバイスがノード内に全て存在する場合は、このLPARを構成するプロセッサ及びＩＯデバイスの番号が格納されているエントリのローカルフラグ部２０に論理値「１」を格納し、LPAR内のプロセッサ及びＩＯデバイスがノード内に全て存在しない場合は、ローカルフラグ部に論理値「０」を格納する。
これにより、キャッシュ一致制御装置１２３は、LPAR情報格納レジスタ１２４を検索することで、ノード内のプロセッサ及びＩＯデバイスが出すキャッシュ一致制御要求を他のノードに出す必要があるかどうか識別することができる。第１の実施形態と同様、LPAR情報格納レジスタ１２４のプロセッサ／ＩＯ番号部１０及びローカルフラグ部２０には、実際にLPARを作成するマルチプロセッサシステムの管理者の指示に従い、ハイパバイザが値を設定する。
【００２１】
次にこの第２の実施形態におけるキャッシュ一致制御の動作を説明する。
まず、ノードＡ１５０内のプロセッサまたはＩＯデバイスが出すキャッシュ一致制御を必要とする共有メモリアクセスを、プロセッサバス１１０及びプロセッサバスインターフェース１２１を介し、キャッシュ一致制御回路１２３が受ける。次に、キャッシュ一致制御を必要とする共有メモリアクセスを受けたキャッシュ一致制御回路１２３は、LPAR情報格納レジスタ１２４を検索する。まず、キャッシュ一致制御回路１２３は、プロセッサ／ＩＯ番号部１０を検索し、キャッシュ一致制御を必要とする共有メモリアクセスを出したプロセッサまたはＩＯデバイスの情報を格納したエントリを見つける。そしてエントリを見つけたら、キャッシュ一致制御回路１２３は、そのエントリのローカルフラグ部２０に格納している情報を得る。ローカルフラグ部２０に「１」が格納されていた場合、キャッシュ一致制御回路１２３は、プロセッサバス１１０及びプロセッサバスインターフェース１２１を介し、ノードＡ１５０内のプロセッサのキャッシュ一致制御処理を行なう。また、ローカルフラグ部２０に「０」が格納されていた場合、キャッシュ一致制御回路１２３は、ノードＡ１５０内のキャッシュ一致制御処理を行なうと共に、クロスバインターフェース１２５とクロスバ１６０を介し、ノードＢ１５１及びノードＣ１５２内のキャッシュ一致制御回路１２３にキャッシュ一致制御要求を出す。このキャッシュ一致制御要求を受けたノードＢ１５１及びノードＣ１５２内のキャッシュ一致制御回路１２３は、ノードＢ１５１及びノードＣ１５２内のプロセッサバス１１０及びプロセッサバスインターフェース１２１を介し、ノードＢ１５１及びノード１５２Ｃ内のプロセッサのキャッシュ一致制御処理を行なう。
この例よれば、LPAR内のプロセッサまたはＩＯデバイスが１つのノード内に存在する可能性が高い場合、他のノードにキャッシュ一致制御要求を出すこと無しにキャッシュ一致制御処理を行なうことができる。
【００２２】
次に、本発明の第３の実施形態について図１及び図４を用いて説明する。この第３の実施形態も第２の実施形態と同様に、LPAR情報格納レジスタ１２４の構成を第１の実施形態に対して変形している。
【００２３】
図４に、本例によるLPAR情報格納レジスタ１２４を示す。LPAR情報格納レジスタ１２４には、分割したメモリ領域に対応した数のエントリがあり、各エントリはメモリ領域部３０及びキャッシュ一致制御実施ノード番号部１１から成る。メモリ領域部３０には、このエントリが分割したメモリ領域のいずれの情報を格納しているかを示すために、メモリ領域のスタートアドレス及びエンドアドレスの情報を格納する。そして、キャッシュ一致制御実施ノード番号部１１には、このエントリのメモリ領域を共有して使用するプロセッサ及びＩＯデバイスが存在するノードのノード番号を格納する。このノード番号は、図１に示すマルチプロセッサシステム内でノードを一意に識別できる番号である。また、キャッシュ一致制御要求を出すノード番号全てを格納する。すなわち、分割したメモリ領域を共有するプロセッサまたはＩＯデバイスが複数のノードに存在する場合に、キャッシュ一致制御実施ノード番号部１１に、自ノードを除く、分割したメモリ領域を共有するプロセッサまたはＩＯデバイスがあるノード番号を全て格納する。
【００２４】
これにより、分割したメモリ領域を共有するプロセッサまたはＩＯデバイスが複数のノードに存在する場合にも、キャッシュ一致制御回路１２３は、LPAR情報格納レジスタ１２４を検索することで、キャッシュ一致制御要求をキャッシュ一致制御処理が必要なノードにのみ出すことができる。
【００２５】
第１及び第２の実施形態と同様、LPAR情報格納レジスタ１２４のプロセッサ／ＩＯ番号部１０及びキャッシュ一致制御実施ノード番号部１１には、実際にLPARを作成するマルチプロセッサシステムの管理者の指示に従い、ハイパバイザが値を設定するのが好ましい。
【００２６】
次に、この第３の実施形態におけるキャッシュ一致制御の動作を説明する。まず、ノードA１５０内のプロセッサまたはＩＯデバイスが出すキャッシュ一致制御を必要とする共有メモリアクセスを、プロセッサバス１１０及びプロセッサバスインターフェース１２１を介し、キャッシュ一致制御回路１２３が受ける。次に、キャッシュ一致制御を必要とする共有メモリアクセスを受けたキャッシュ一致制御回路１２３は、LPAR情報格納レジスタ１２４を検索する。まず、キャッシュ一致制御回路１２３は、メモリ領域部３０を検索し、該キャッシュ一致制御を必要とするメモリアクセスが対象とする共有メモリ上のブロックアドレスの情報を格納しているエントリを見つける。すなわち、該キャッシュ一致制御を必要とするメモリアクセスが対象とする共有メモリ上のブロックアドレスが、メモリ領域部３０のスタートアドレス以上でかつエンドアドレス以下であるエントリを見つける。そしてエントリを見つけたら、キャッシュ一致制御回路１２３は、そのエントリのキャッシュ一致制御実施ノード番号部１１に格納している情報を得る。
以下の処理動作は、第１の実施形態と同じである。例として、キャッシュ一致制御実施ノード番号部１１に、ノードＢ１５１を示す番号が格納されていた場合について説明する。この場合、キャッシュ一致制御回路１２３は、ノードＢ１５１にあるキャッシュ一致制御回路１２３に対し、クロスバインターフェース１２５とクロスバ１６０を介して、キャッシュ一致制御要求を出す。また同時に、キャッシュ一致制御回路１２３は、ノードＡ１５０内のキャッシュ一致制御処理を行なう。そして、キャッシュ一致制御要求を受けたノードＢ１５１内のキャッシュ一致制御回路１２３は、ノードＢ１５１内のプロセッサバス１１０及びプロセッサバスインターフェース１２１を介し、ノードＢ１５１内のプロセッサのキャッシュ一致制御処理を行なう。これに対し、キャッシュ一致制御実施ノード番号部１１に何も格納されていない場合は、キャッシュ一致制御回路１２３は、自ノードであるノードＡ１５０内だけでキャッシュ一致制御処理を行なう。
【００２７】
【発明の効果】
本発明によれば、単一のマルチプロセッサシステム上で複数のＯＳを稼動させる計算機システムにおいて、あるLPAR内のプロセッサまたはＩＯデバイスが複数のノードにわたって存在する場合にも、LPAR内のプロセッサまたはＩＯデバイスが存在するノードでキャッシュ一致制御処理を行なうことができる。
これによりプロセッサのキャッシュアクセス処理能力の低下を防ぐことができ、メモリアクセスレイテンシの増加及びプロセッサ間を接続するネットワーク負荷の増加を防ぐことができる。
【図面の簡単な説明】
【図１】本発明の一実施例によるマルチプロセッサシステムの構成例を示す図。
【図２】一実施形態によるLPAR情報格納レジスタの構成を示す図。
【図３】一実施形態によるLPAR情報格納レジスタの構成を示す図。
【図４】一実施形態によるLPAR情報格納レジスタの構成を示す図。
【符号の説明】
１０：プロセッサ／ＩＯ番号部、
１１：キャッシュ一致制御実施ノード番号部、
２０：ローカルフラグ部、
３０：メモリ領域部、
１００〜１０３：PE＃０〜PE＃３、
１１０：プロセッサバス
１２０：チップセット、
１２１：プロセッサバスインターフェース、
１２２：ＩＯバスインターフェース、
１２３：キャッシュ一致制御回路、
１２４：LPAR情報格納レジスタ、
１２５：クロスバインターフェース、
１３０：ＩＯバス、
１４０：ＩＯデバイス、
１５０〜１５２：ノード
１６０：クロスバ
１７０：共有メモリ
【図１】
2004199579.tif 000003
【図２】
2004199579.tif 000004
【図３】
2004199579.tif 000005
【図４】
2004199579.tif 000006