JPWO2012127534A1 - バリア同期方法、バリア同期装置及び演算処理装置 - Google Patents

バリア同期方法、バリア同期装置及び演算処理装置 Download PDF

Info

Publication number
JPWO2012127534A1
JPWO2012127534A1 JP2013505618A JP2013505618A JPWO2012127534A1 JP WO2012127534 A1 JPWO2012127534 A1 JP WO2012127534A1 JP 2013505618 A JP2013505618 A JP 2013505618A JP 2013505618 A JP2013505618 A JP 2013505618A JP WO2012127534 A1 JPWO2012127534 A1 JP WO2012127534A1
Authority
JP
Japan
Prior art keywords
barrier synchronization
identification information
synchronization
unit
barrier
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.)
Withdrawn
Application number
JP2013505618A
Other languages
English (en)
Inventor
光憲 清水野
光憲 清水野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2012127534A1 publication Critical patent/JPWO2012127534A1/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/522Barrier synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

複数のバリア同期部(BB8、9)と、バリア同期部識別情報記憶部(窓記憶部6)と、バリア同期部識別情報選択部(入出力制御部32)とを有する。前記複数のバリア同期部(BB8、9)は複数の演算処理部に設定された同期アドレスを用いて、前記複数の演算処理部を同期する。前記バリア同期部識別情報記憶部(窓記憶部6)は、前記複数の演算処理部毎に、前記同期アドレスを識別する同期アドレス識別情報に対応して前記バリア同期部を識別するバリア同期部識別情報を保持する。同期アドレス識別情報が入力された場合、前記バリア同期部識別情報選択部(入出力制御部32)は、前記バリア同期部識別情報記憶部が保持するバリア同期部識別情報のうち、前記入力された同期アドレス識別情報に対応するバリア同期部識別情報を選択して出力する。

Description

本発明は、バリア同期方法、バリア同期装置及び演算処理装置に関する。
計算機システムには処理の高速化及び大容量化が要求され、これらを実現するため、複数のプロセッサによる分散処理技術が用いられる。処理速度の高速化と、処理容量の大容量化のそれぞれの要求を満足するには複数のプロセッサによる効率の良い分散処理が必要である。
バリア同期は、複数のプロセッサを複数の同期グループにグループ化し、グループ単位で処理を実行する。つまり、一つの同期グループに属するいずれかのプロセッサが処理を実行している場合、処理の待ち合わせを行ない、同一の同期グループに属する全てのプロセッサの処理が終了した後、各プロセッサを次の処理の実行に移行させる。
このバリア同期方法に関し、各プロセッサに複数のスレッドを割り当ててマルチスレッド処理を実行させ、複数のスレッドを階層構造のグループに設定し、グループ毎にバリア同期を取ることが知られている。
特開2006−259821号公報
演算処理装置として、複数のプロセッサコアを搭載したマルチコアプロセッサが製品化されている。このマルチコアプロセッサに実装された各プロセッサコアは、命令の復号化や実行を行う各種のユニット、レジスタ、キャッシュメモリ等を備える。このようなプロセッサコアを搭載したマルチコアプロセッサでは、各プロセッサコアが同期グループを割り当てる対象となる。
各プロセッサコアにおいて、バリア同期に用いるソフトウェアからアクセス可能な複数のASIレジスタ(Address Space Identifier register )に設定される各ASI(Address Space Identifier)アドレスは、「窓」と称される。つまり、この窓は、バリア同期において、BST(Barrier Status bit:バリア状態ビット)の書き込み時に各プロセッサコアごとに設定される複数のアドレスである。バリア同期装置には、バリア同期に用いる窓(ASIアドレス)に対応するバリア同期部(Barrier Blade : BB)が設けられる。このBBは、プロセッサコアに設定された各窓に同期グループを割り当て、その同期グループの状況を記憶する。このため、各窓を保持する各ASIレジスタには各BBが物理的に接続され、任意の窓に任意のBBを自由に割り付けることができる。しかし、コア数が増加すると、単純なコア数分の資源の増加に加え、BB数、窓数の増加に応じ、プロセッサコア1つ当たりの資源が増加し、物理的な接続数も増加する。この結果、窓制御に必要なセレクタや配線等の物理資源が指数関数的に増加し、マルチコアプロセッサのチップ内に広大な領域を占有し、消費電力を増大させる。
既述のセレクタによる物理資源は、概算で、
物量資源=BB数×窓数×コア数 ・・・(1)
で与えられ、その量は膨大である。
近年のコア数の増加による共有キャッシュ部全体が拡大傾向にあるが、これに伴って省電力要求も高まっている。
そこで、本開示のバリア同期方法、バリア同期装置及び演算処理装置の目的は、上記課題に鑑み、物理資源を削減し、効率のよいバリア同期を実現することにある。
上記目的を達成するため、本開示のバリア同期方法、バリア同期装置及び演算処理装置は、複数のバリア同期部と、バリア同期部識別情報記憶部と、バリア同期部識別情報選択部とを有する。前記複数のバリア同期部は複数の演算処理部に設定された同期アドレスを用いて、前記複数の演算処理部を同期する。前記バリア同期部識別情報記憶部は、前記複数の演算処理部毎に、前記同期アドレスを識別する同期アドレス識別情報に対応して前記バリア同期部を識別するバリア同期部識別情報を保持する。同期アドレス識別情報が入力された場合、前記バリア同期部識別情報選択部は、前記バリア同期部識別情報記憶部が保持するバリア同期部識別情報のうち、前記入力された同期アドレス識別情報に対応するバリア同期部識別情報を選択して出力する。
本開示のバリア同期方法、バリア同期装置及び演算処理装置によれば、次の何れかの効果が得られる。
(1) 分類された複数のバリア同期部と、バリア同期部の分類により区分されたバリア同期に用いる窓(ASIアドレス)とでバリア同期部の指定範囲が定まり、その範囲内からバリア同期部を選択できる。従って、バリア同期機能を損なうことなく、セレクタや接続線等の物理資源を低減できる。
(2) プロセッサコアなど、演算処理部の増加に対するセレクタや接続線等の物理資源の増加を抑制できる。
(3) 物理資源の低減により、消費電力が抑制される。
そして、本発明の他の目的、特徴及び利点は、添付図面及び各実施の形態を参照することにより、一層明確になるであろう。
第1の実施の形態に係るバリア同期制御部を示す図である。 バリア同期部及び窓の分別処理手順の一例を示すフローチャートである。 窓及びバリア同期部の設定処理手順の一例を示すフローチャートである。 第2の実施の形態に係るマルチコアプロセッサの構成例を示す図である。 バリア同期制御部の構成例を示す図である。 窓記憶部の構成例を示す図である。 第1及び第2の同期用BBの構成例を示す図である。 バリア同期制御部の入出力の構成例を示す図である。 窓レジスタ入力制御部の構成例を示す図である。 バリア同期入力制御部の構成例を示す図である。 出力制御部の構成例を示す図である。 バリア同期制御の処理手順の一例を示すフローチャートである。 窓と第1及び第2の同期用BBとの接続関係を示す図である。 マルチコアプロセッサの変形例を示す図である。 第3の実施の形態に関する計算機ノードの構成例を示す図である。 計算機システムの構成例を示す図である。 比較例に係る窓と同期用BBとの接続関係を示す図である。 比較例に係る状態情報変換部を示す図である。
〔第1の実施の形態〕
第1の実施の形態について、図1を参照する。図1はバリア同期制御部を示している。図示した構成は一例であって、斯かる構成に本発明が限定されるものではない。
このバリア同期制御部(Barrier Processing Unit :BPU)2は、本開示のバリア同期方法及びバリア同期装置の一例であって、後述のマルチコアプロセッサ(例えば、図4に示すマルチコアプロセッサ4)に用いられる。図1に示すバリア同期制御部2では、窓記憶部6と、複数のバリア同期部(Barrier Blade 、以下「BB」と称する。)8、9が備えられる。
窓記憶部6は、複数のBB8、9の分類に基づいて区分される窓(ASIアドレス)の情報を記憶する記憶手段である。つまり、この窓記憶部6は複数の演算処理部(例えば、プロセッサコア)毎に同期アドレスを識別する同期アドレス識別情報に対応してバリア同期部を識別するバリア同期識別情報を保持するバリア同期部識別情報記憶部の一例である。窓は、プロセッサ内の複数のコア(図4のコア22)に設定された単一又は複数のバリア同期に用いるアドレス(つまり、同期アドレス)である。窓記憶部6は、複数の記憶部10を備え、各記憶部10は各プロセッサコア(以下単に「コア」と称する。)に設定された窓に対応している。つまり、窓記憶部6は窓情報(例えば、窓番号)とBB8、9を識別する識別情報(BB番号)との変換手段である。各記憶部10にはBB8、9を識別する識別情報及びその付随情報が格納される。各記憶部10は例えば、レジスタで構成される。BB8、9を識別する識別情報は、例えば、各BB8、9を識別するBB番号である。付随情報は例えば、その識別情報で指定されたBB8、9が有効であるか否かを表す情報である。即ち、各記憶部10には窓に割り当てられたBB番号及び既述の付随情報が格納される。従って、窓記憶部6は、各コアの各窓毎に何れのBB8又はBB9を割り付けたかを記憶し、ソフトウェアにより自由にBB8、9を割り振るための資源である。つまり、バリア同期に用いるアドレスである窓にBB8、9が割り当てられることを条件に、バリア同期の使用が可能となる。
各BB8、9は、バリア同期用の資源であって、複数のコアに設定された同期アドレス(窓)を用いて、複数のコアを同期するバリア同期部の一例である。各BB8、9は、バリアの同期グループを分けるものであって、その内部に同期グループの状況を記憶する。各BB8は複数のコア間の同期用BB(以下「syncBB」と称する。)であり、各BB9は2つのコア間の同期用のBB(以下「post/waitBB又はp/wBB」と称する。)である。即ち、このようにBB8とBB9とは互いに異なる用途を持ち、その用途に応じた構成を備えている。従って、各BB8、9を用途により2種類に分類すれば、第1のバリア同期部としてのsyncBBグループ12と、第2のバリア同期部としてのp/wBBグループ14とにグループ化して分類される。
窓記憶部6の各記憶部10にはBB8又はBB9が接続される。図1に示すバリア同期制御部2では、syncBBグループ12に対応する複数の記憶部10を第1の記憶部グループ16とし、p/wBBグループ14に対応する複数の記憶部10を第2の記憶部グループ18とする。即ち、窓記憶部6の複数の記憶部10は、複数のBB8、9の用途で分類されたsyncBBグループ12及びp/wBBグループ14に対応して区分されている。つまり、窓記憶部6は、バリア同期部識別情報記憶部として、各グループのバリア同期部即ち、BB8、9に基づいてバリア同期識別情報をグループ化して保持する。
記憶部グループ16に属する各記憶部10にはsyncBB12の各BB8が物理資源である第1の接続線20により接続されている。また、第2の記憶部グループ18に属する各記憶部10にはp/wBB14の各BB9が同様に、物理資源である第2の接続線21により接続されている。これらの接続は固定的な接続関係であって、用途の異なるBB8、9毎に対応関係が取られている。即ち、BB8、9は、用途により分類され、これに対応して各窓が区分されているので、複数の記憶部10は区分された窓に対応している。それ故、対応関係にない記憶部10とBB8、9との間の割り当てが可能な範囲(指定可能範囲)が物理的に制限されている。従って、記憶部グループ16側の記憶部10にはp/wBB14側のBB9が割り当てられることはなく、また、記憶部グループ18側の記憶部10にはsyncBB12側のBB8が割り当てられることはない。
このような用途によるBB8、9の分類及び記憶部10の分別について、図2を参照する。図2はBB8及び記憶部10の処理手順を示している。
図2に示す処理手順は、本開示のバリア同期方法の一例であって、BB8、9を用途により分類する(ステップS11)。一例としての分類では、BB8、9が既述の通り、複数のコア間の同期用であるか、2つのコア間の同期用であるかの用途でグループ化されている。
このように、用途により分類されたBB8、9に窓記憶部6の各記憶部10を対応付け、各記憶部10を区分する(ステップS12)。
このように用途により分類されたsyncBB12側のBB8と第1の記憶部グループ16の記憶部10とが接続され(ステップS13)、p/wBB14のBB9と第2の記憶部グループ18の記憶部10とが接続される(ステップS13)。このような接続設定は固定的であり、窓に対するBB8、9を割り当て可能な範囲が制限されている。
このような窓に対するBB8、9の割付けについて、図3を参照する。図3は窓に対するBBの割付けの処理手順を示している。
図3に示す処理手順では、同期制御の設定のため、BB8又はBB9が指定され(ステップS21)、指定されたBB8又はBB9が窓に設定可能かを判断する(ステップS22)。即ち、指定されたBB8、9が窓記憶部6の記憶部10に書込み可能かを判断する。書込み不可であれば、ステップS21に戻る。
指定されたBB8又はBB9が窓記憶部6の記憶部10に書込み可能であれば(ステップS22のYES)、窓記憶部6にBB8又はBB9の識別情報であるBB番号の書込みを行う(ステップS23)。
このような対応関係の設定により、各コアの窓に対してBB8、9が割り当てられ、窓記憶部6の各記憶部10には、BB8、9の何れが割り付けられたかを表す情報としてBB番号が記憶される。この窓へのBB8、9の割当てにより、バリア同期を開始することができる。
斯かる構成によれば、プロセッサのコアに設定される各窓に対応する窓記憶部6の各記憶部10がBB8、9の分類に応じて区分され、窓に設定されるBB8、9の何れかに物理的に制限される。即ち、接続線20又は接続線21でいずれのBBとも接続されていない記憶部10にはBBを表すBB番号が格納されることはなく、分別された窓に対応関係のないBBはセレクト対象から外される。
従って、この実施の形態では、窓に割り付けられるBBはBB8又はBB9の何れか一方から物理的に選択され、指定可能範囲にあるBB8又はBB9から選択されることになる。このような設定により、バリア同期機能を損なうことなく、物理資源を削減することができる。即ち、コア毎に単一又は複数の窓が設定され、その窓数がコア数に応じて増加しても、既述の接続線20等の物理資源の増加が抑制される。物理資源の削減量は、
物理資源の削減量=コア当たりの削減量×コア数 ・・・(2)
となる。即ち、物理資源の削減量は、マルチコアプロセッサにおけるコア数の増加に応じて指数関数的に増大し、その削減効果が顕著となる。
〔第2の実施の形態〕
第2の実施の形態について、図4を参照する。図4は、マルチコアプロセッサの構成を示している。図4に示す構成は一例であって、斯かる構成に本発明が限定されるものではない。
このマルチコアプロセッサ4(以下単に「プロセッサ4」と称する)は、演算処理装置の一例であり、本開示のバリア同期方法、バリア同期装置及び演算処理装置の一例である。このプロセッサ4は、例えば、一つのLSI(Large Scale Integration )上に実装されるプロセッサである。
図4に示すプロセッサ4は、複数のプロセッサコア(以下単に「コア」と称する)22を備える。各コア22は、命令の復号化(デコード)や実行を行う各種ユニット、レジスタ、キャッシュメモリ等を備える。各コア22には既述の単一又は複数のバリア同期に用いる窓(ASIアドレス)が設定されている。
各コア22には共有キャッシュ制御部24及びバス制御部26を介してシステムバス28が接続され、バリア同期制御部(Barrier Processing Unit :BPU)30が接続されている。斯かる構成により、各コア22はバス制御部26又はBPU30にアクセスし、又はデータの送受信を行う。バリア同期制御部30は、本開示のバリア同期装置の一例であって、図4に示すプロセッサ4には、本開示のバリア同期装置が構成されている。
バリア同期制御部30は、プロセッサ4の内部にある各コア22間で同一の同期グループのバリア同期を実現するための制御部である。このバリア同期制御部30では、バリア同期実現のためにプロセッサ4の外部とのデータ送受信を回避し、プロセッサ4の内部でバリア同期を実現する。このため、プロセッサ4内の処理速度に比較して低速なデータ送受信が回避され、バリア同期の高速化が図られる。
次に、バリア同期制御部30について、図5を参照する。図5はバリア同期制御部30の構成を示している。図5に示す構成は一例であって、斯かる構成に本発明が限定されるものではない。
図5に示すバリア同期制御部30は、窓記憶部6と、syncBBグループ12に分類される第1のバリア同期部であるBB8と、p/wBBグループ14に分類される第2のバリア同期部であるBB9と、入出力制御部32とを備える。BB8、9は各バリアを同期グループにグループ化するものであり、その同期グループの状況を記憶する。BB8、9は、斯かる用途によって分類をすることができる。この場合、BB8は、複数のコア22間の同期に用いられるsyncBBグループ12に属し、BB9は、2つのコア間の同期に用いられるp/wBBグループ14に属する。
窓記憶部6は、各コア22に設定された各窓(ASIアドレス)毎にバリア同期資源であるBB8、9の何れを割り付けたかを記憶する資源であって、ソフトウェアによってBB8、9の何れかを割り振るための資源である。この窓記憶部6には、各コア22の各窓に個別に対応する複数の窓レジスタ(WIN_reg)34が設置されている。このWIN_reg34は、BB8、9の状態情報を記憶する記憶手段、つまりバリア同期部識別情報保持部であり、既述の記憶部10に対応する。このWIN_reg34は、バリア同期部識別情報保持部として、複数のコアに対応して複数のバリア同期部を識別するバリア同期部識別情報を保持する。このWIN_reg34に格納された既述の情報は、例えば、複数のコア間又は1対1のコア間の同期状態を表す情報、バリア同期部であるBB8又は各BB9を識別するバリア同期部識別情報である。各WIN_reg34には、各BB8又は各BB9を特定するBB番号が割り付けられることにより、バリア同期の使用や、同期グループの状況を記憶するBB8、9内のレジスタ(BST(Barrier Status bit:バリア状態ビット)マスクビットレジスタ36、BSTレジスタ38等)への各BBによる書き込みが可能となる。
入出力制御部32は、入力された同期アドレス識別情報に対応するバリア同期部識別情報を選択するバリア同期部識別情報選択部の一例である。つまり、同期アドレス識別情報が入力された場合、バリア同期部識別情報選択部としての入出力制御部32が、バリア同期部識別情報記憶部としての窓記憶部6が保持するバリア同期部識別情報のうち、入力された同期アドレス識別情報に対応するバリア同期部識別情報を選択して出力する。
なお、図5に示すBBU30では、既述の接続線20、21(図1)を明示していないが、各WIN_reg34は、syncBBグループ12のBB8、p/wBBグループ14のBB9と、図1に示すバリア同期制御部2と同様に接続線20又は接続線21により接続されている。
次に、窓記憶部6の構成について、図6を参照する。図6は窓記憶部のレジスタ構成を示している。
図6に示す窓記憶部6には、既述の接続線20又は接続線21(図1)を用いてBB8又はBB9に接続される複数のWIN_reg34が備えられる。各WIN_reg34は、複数のコア22及び各コア22に設定された窓(ASIアドレス)毎に備えられている。即ち、図6に示すWIN_reg34はコア22毎にグループ化されたレジスタ群を構成しており、WIN_reg34の設置数は、コア数と窓数との積となるが、それ以上であってもよい。各WIN_reg34には、窓に割り付けられたBB8又はBB9を表すBB番号BB_num及びそのBB番号BB_numが有効であるかを表す情報としてvalidが格納される。
WIN_reg34に付された各win0、win1、・・・、winNは、各コア22に設定されている窓を特定する窓番号であり、この窓番号で窓を特定することができる。また、複数のWIN_reg34をグループ化して付されているcore0、core1、・・・、coreMは、各コア22に付されたコア番号であり、このコア番号でコア22を特定することができる。斯かる構成から、窓記憶部6は、窓番号とBB番号との変換テーブルを構成している。
このような窓記憶部6を用いれば、例えば、コア番号core0及び窓番号win0により、WIN_reg34が特定される。WIN_reg34が特定されると、特定の窓に割り付けられたBB番号であるBB_num及び特定の窓に割り付けられたBB_numが有効であるか否かを知ることができる。
次に、BB8、9の内部構成について、図7を参照する。図7のAは、BB8の内部構成を示す。図7のBは、BB9の内部構成を示している。
図7のAに示すBB8は、複数のコア間の同期用のBBであり、BST(Barrier Status bit、バリア状態ビット)マスクビット(BST_mask)レジスタ36と、BSTレジスタ38と、LBSY更新ロジック40と、LBSY(Last Barrier SYnchronization status :最新バリア同期状態)レジスタ42とを備えている。BSTマスクビットレジスタ36及びBSTレジスタ38は、例えば、それぞれ8ビット長であり、各コア22と固定的な対応関係を持っている。LBSYレジスタ42には、前回同期したときの値(詳細後述)が格納される。
図7のBに示すBB9は、2つのコア間の同期用のBBであり、BSTレジスタ38と、LBSYレジスタ42と、LBSY更新ロジック40とを備えている。
このようなBB8、9の構成により、同期の成立は、BST_maskレジスタ36で選択されるビット、即ち、BSTレジスタ38の選択されたビットの全てが“0”又は“1”の何れかに揃ったときである。この同期が成立すると、揃った値“0”又は“1”がLBSYレジスタ42にLBSY更新ロジック40を用いてコピーされる。同期の成立とLBSYレジスタ42へのコピーは単一の処理で実行されるので、同期成立前にはLBSYレジスタ42に同期成立前の古い値、即ち、最後に同期したときの値が格納されており、同期成立後にはLBSYレジスタ42には更新された値が格納される。
従って、ソフトウェアが同期を取る手順は、LBSYレジスタ42の値を読み出し、BSTレジスタ38を更新した後、LBSYレジスタ42の値が変化するのを待つという手順となる。
BBはLBSYレジスタ42の値を監視し、その値が変化したとき、スリープ命令で休止状態にあるコア22を実行状態に復帰させる。これにより、高速同期とプロセッサ4の資源の有効な利用の両立が可能となる。
LBSYレジスタ42は、最後に同期したときの値を格納しているので、ソフトウェアは次の同期でBSTレジスタ38にセットする値を容易に決定できる。即ち、LBSYレジスタ42に格納されている値が“0”であれば、BSTレジスタ38に“1”をセットし、LBSYレジスタ42に格納されている値が“1”であれば、BSTレジスタ38に“0”を書き込めばよい。
従って、各コア22にはバリア同期に用いる複数の窓が設定され、各窓はBB8又はBB9に対応するが、ユーザプログラムはBB8、9に直接アクセスする必要はなく、窓(ASIアドレス)を通じて窓記憶部6をアクセスすることになる。このように各窓に割り当てられるBB8、9が物理的に固定されている。そして、BSTビットマップが隠蔽され、窓指定の単一の操作に固定されるので、同期破壊を生じるような操作を防止できる。
窓記憶部6には各コア22の各窓(ASIアドレス)毎に何れのBB8、9をアサインしたかが記憶される。この窓にBB8又はBB9が割り付けられると、バリア同期が可能となり、BSTレジスタ38への書き込みが可能となる。
同期制御の処理が終了すると、対応する窓に割り付けられたBSTレジスタ38に格納された値を反転し、有効なBSTレジスタ38(即ち、BST maskレジスタ36に立っている)の値が全て揃った場合に、LBSYレジスタ42もBSTレジスタ38と同じ値に変更する。各コア22はLBSYレジスタ42の値が反転したことを受け、バリア同期の処理完了が通知される。
なお、このバリア同期制御では、窓へのBB8、9の割付けはユーザレベルで動作するプログラムが書込みできない特権レベル、BSTレジスタ38への書込みはユーザレベルで動作するプログラムが書込みできる非特権レベルに設定されているので、ユーザレベルで動作するプログラムが無関係な同期グループへアクセスし、状態破壊を引き起こすことが防止されている。
次に、入出力制御部32について、図8、図9、図10及び図11を参照する。図8は入出力制御部32のハードウェア構成を示している。図9は入出力制御部32の窓レジスタ(WIN_reg)入力制御部52を示している。図10は入出力制御部32のBB入力制御部54を示している。また、図11は入出力制御部32の出力制御部56を示している。図8、図9、図10及び図11において、図4と同一部分には同一符号を付してある。
図8に示す入出力制御部32は、既述した通り、バリア同期部識別情報選択部の一例である。この入出力制御部32は窓(同期アドレス)を割り付けたBB8、9を窓記憶部6にあるBB番号で特定し、そのBB番号で特定された状態情報を、窓番号に関係付けられたバリア同期部識別情報として出力する。
この入出力制御部32には、窓レジスタ入力制御部52と、BB入力制御部54と、出力制御部56とが備えられている。図8では入出力制御部32の内部に説明の都合上、既述の窓記憶部6及びBB部50を記載しているが、入出力制御部32は窓記憶部6及びBB部50とは別個のものである。なお、BB部50は複数のBB8、9の双方を包括して示したバリア同期資源である。
WIN_reg入力制御部52及びBB入力制御部54に加えられる入力データには、書込み命令やBB番号等が含まれる。WIN_reg入力制御部52では、窓記憶部6にあるWIN_reg34が選択され、選択されたWIN_reg34から読み出されたBB番号とともに、その値が有効であるかを表すvalid情報がBB入力制御部54に加えられる。BB入力制御部54では窓番号から、窓に割り付けられているBB8、9が選択され、BB8、9の出力とWIN_reg34から状態情報が出力制御部56に加えられる。この結果、出力制御部56から窓番号に関係付けられたLBSY出力が取り出され、各コア22に通知される。つまり、出力制御部56は、状態情報選択部の一例であり、WIN_reg入力制御部52が選択したバリア同期部識別情報に基づき、複数のバリア同期部即ち、BB8、9が出力する複数のコアが同期した旨を表す複数の状態情報のいずれかを出力する。
従って、BB8、9の状態情報がBB番号を以て窓番号に関係付けられたLBSY情報に変換されて出力される。
この入出力制御部32において、WIN_reg入力制御部52は、窓記憶部6への書込み制御を実行する手段であって、例えば、図9に示す構成では、デコーダ58、OR回路60及びAND回路62を備えている。
このWIN_reg入力制御部52では、窓記憶部6のWIN_reg34(図8)に対する窓書込み命令WIN_REG_WT_VLDが与えられると、この窓書込み命令WIN_REG_WT_VLDはAND回路62の一方の入力となる。窓書込み命令WIN_REG_WT_VLDは、窓記憶部6にBB番号を書き込むことが有効であることを示す情報信号である。この窓書込み命令WIN_REG_WT_VLDとともに、BB番号BB_numが入力されると、このBB番号BB_numは窓記憶部6及びデコーダ58に入力される。デコーダ58は、BB番号BB_numを例えば、4ビットのデータにデコードする。OR回路60によりデコーダ58の出力2ビットの論理和を取り、そのOR回路60の出力がAND回路62の他方の入力となる。
AND回路62は窓記憶部6に書込みをするか否かの判定部を構成し、AND回路62でAND条件が成立すると、AND回路62の出力が窓記憶部6に書込みイネーブル信号ENとして入力される。これにより、窓記憶部6の所定のコア22及び設定されたWIN_reg34にBB番号が書き込まれる。従って、コア22に設定された窓にBB8又はBB9が割り当てられる。そして、窓記憶部6に格納されたBB番号は、ホールドBB番号BB_num_HOLDとして読み出される。
この入出力制御部32において、BB入力制御部54は、BB部50への入力制御に用いられ、例えば、図10に示すように、セレクト回路64を備えている。
BST書込み制御には、窓番号WIN_num、BST書込み命令BST_WT_VLD及び書込みデータWT_DATがOS(Operating System)等のソフトウェアより与えられる。窓番号WIN_numは、セレクト回路64に入力され、窓記憶部6のWIN_reg34にあるBB番号BB_numが選択され、選択情報SELとしてBB部50に加えられる。即ち、窓に割り付けられたBB8、9が選択される。選択されたBB8又はBB9には、BST書込み命令BST_WT_VLDに基づき、書込みデータWT_DATが書き込まれる。
そして、出力制御部56は、図11に示すように、LBSY情報の変換手段としてLBSYセレクト回路を構成している。
図11に示す出力制御部56は、第1の選択手段としてセレクト回路66、第2の選択手段として複数のセレクト回路68を備えている。各セレクト回路66は、syncBBグループ12の各BB8に対応し、且つ、各BB8を割付け可能な窓に対応している。また、セレクト回路68は、Post/WaitBBグループ14の各BB9に対応し、且つ、各BB9を割付け可能な窓に対応している。これらセレクト回路66、68は、窓記憶部6と同様にコア22毎に設定されている。
このような対応関係を実現するため、セレクト回路66は、対応関係にあるsyncBBグループ12の各BB8と窓記憶部6の複数のWIN_reg34との間に複数の第1の接続線20を用いて接続されている。また、セレクト回路68は、対応関係にあるPost/WaitBBグループ14の各BB9と窓記憶部6の複数のWIN_reg34との間に複数の第2の接続線21を用いて接続されている。
斯かる構成から、BST情報の入力及びLBSY情報の出力が実行される。
a)窓記憶部6の記憶処理では、窓番号で指定されるBB番号が窓番号毎に記憶される。
b)BST情報の入力時には、窓番号の指定に基づいて、BST情報がBB番号に変換されることにより、該当するBB8又はBB9に書き込まれる。
c)LBSY情報の出力時には、BB8又はBB9毎にLBSY情報を窓番号に変換し、窓番号に関係付けてLBSY情報をコア22に送信する。
この実施の形態では、Post/WaitBBグループ14の各BB9のLBSY情報はセレクト回路68により変換され、窓状態情報WIN0−LBSY、WIN1−LBSY、・・・、WIN3−LBSYとして取り出される。また、syncBBグループ12の各BB8のLBSY情報はセレクト回路66により変換され、窓状態情報WIN4−LBSY、WIN5−LBSYとして出力される。各LBSYは前回同期した時の値であり、このLBSYがプロセッサ4のコア22に送られる。
次に、バリア同期制御について、図12を参照する。図12はバリア同期制御の処理手順を示している。
図12に示すバリア同期制御では、ソフトウェアによりBB8、9の初期化が実行され(ステップS31)、窓記憶部6のWIN_reg34に対応するBB番号の書込みを行う(ステップS32)。この書込みにより、各コア22からBSTレジスタ38への書込みが実行され(ステップS33)、同期が成立するか否かを監視する。
BSTレジスタ38の値が全て同一値となれば、同期成立となり(ステップS34)、LBSYレジスタ42の値を更新し(ステップS35)、バリア同期制御を終了する。
次に、バリア同期制御部30の物理資源について、図13を参照する。図13はバリア同期制御部30の構成例を示している。
図13に示すバリア同期制御部30は、既述のバリア同期制御部30(図5)に対応し、出力制御部56(図11)の部分を要約的に示したものである。この構成例では、各窓に割当て(アサイン)が可能な範囲にグループ化されたBB8及びBB9を示している。
このバリア同期制御部30は、窓記憶部6が複数の演算処理部であるコアに対応して、複数のBB8、9を識別するバリア同期部識別情報を保持する複数のバリア同期部識別情報保持部であるWIN_reg34を有する。
第1のバリア同期部のグループ12に属するBB8の各々は、複数のWIN_reg34のうち、同期を行なう複数のコアのバリア同期部識別情報を保持するWIN_reg34に接続線20により接続されている。
第2のバリア同期部のグループ14に属するBB9の各々は、複数のWIN_reg34のうち、同期を行なう2つのコアのバリア同期部識別情報を保持するWIN_reg34に接続線21により接続されている。
図13に示す構成例では、コア22(図4)が4つ、各コア22毎の窓が6つ、BB8が2つ、BB9が4つの場合を想定されている。この構成例では、説明を簡略化するため、コア22の1つ分だけを記載しているが、実際の構成を記載すれば、全コア22の全窓と各BB8、9が割り付け可能な接続線20、21の接続数は4倍となる。
斯かる構成では、バリア同期に用いる各窓への割付け可能なBB8、9を用途で分類し、その用途によって割付け可能な窓が制限されているので、物理的な接続線20、21の接続数が大幅に削減されている。即ち、比較例(図17)の約半分に削減されている。実際の削減効果は、窓数やBB数に依存するが、コア数の増加に伴い必要となる窓数、BB数も増加するので、その削減量は増加することになる。この場合、物理資源の削減量は、
(削減量)=(コア当たりの削減効果)×(コア数) ・・・(3)
となる。コア毎にバリア同期に用いる窓を持ち、またその窓の数もコア数の増加により増えていくため、コア数が多くなれば、物理資源の削減量は指数関数的に増加することになる。
そして、窓にBB8、9の割付けは、ユーザ側に自由度がなく、ユーザが実行するバリア同期に何らの影響はない。つまり、権限によりアクセスできるものとできないものとが存在するが、バリアにおいてはBB初期化、アサインまでは特権(OS)がなければ実行できず、ユーザはBST_WTのみが実行可能である。このため、アサイン時にアサイン可能な範囲に配慮して設定を行えば、資源数自体は従前のままであり、ユーザからみた影響は皆無である。即ち、窓やBB8、9の資源数に変更がないので、バリア同期機能を損なうこともない。従って、上記構成により、バリア同期機能を損なうことなく、物量資源が削減される。
この第2の実施の形態について、特徴、利点及び変形例を以下に列挙する。
(1) プロセッサ4の内部のコア22間でバリア同期制御を実現でき、プロセッサ4の単位で分散処理を実現し、処理速度の高速化とともに、処理容量の大量化に寄与する。
(2) 窓によってBB番号の設定可能な値が絞られるので、選択されないBB8又はBB9のLBSYをセレクト対象から外すことができる。これにより、バリア同期の同期制御の高速化とともに、物理資源量を低減できる。即ち、物理資源としてセレクト回路数や接続線数を低減することができる。
(3) プロセッサ4に設置される物理資源量を低減できるので、コア数の増加に対する物理資源量を抑制できる。
(4) 物量資源が低減できるので、同一の物量資源量から見れば、チップ内にBPU30が占める割合を低減できるので、その分だけチップ内の利用効率を高めることができる。
(5) LBSYは各コア22に送られるが、BB8、9からの直接送信はなく、設定された窓からの出力と見なすことができる。
(6) 窓記憶部6のWIN_reg34に書き込まれているBB番号を用いるので、このBB番号から各窓毎に何れのBB8、9が割付けられているかを判別し、BB番号から変換された窓番号に関係付けてLBSYを選択できる。
(7) 全窓に全BBが設定されるので、全BBがセレクト対象となるのに対し、この実施の形態では、窓によってBB番号の設定可能な値が絞られ、選択肢として存在しないBB8、9のLBSY情報をセレクト対象から外すことができる。これによる物理資源の削減及び処理の高速化が図られる。
(8) 複数のコア22を持つプロセッサ4の内部でバリア同期を実現するバリア同期制御において、バリア同期に用いる窓の指定可能範囲をBB8、9の種類により分類することで、物理資源を低減できる。
(9) 任意の窓に対して分類されたBB8又はBB9の何れかが固定的に割り付けられる。これに対し、任意の窓にBB8又はBB9を区別なく割り付ける構成では、割り付けに高い自由度が与えられる反面、コア数の増加が増加した場合、物理資源の増加に加えて、BB数やバリア同期に用いる窓の増加により、コア1つ当たりの物理資源が増加する。このような不都合を上記実施の形態の構成で解消することができる。しかも、窓制御に用いられるセレクタの物理資源が指数関数的な増加を防止でき、プロセッサ4を搭載するLSIにおける物理資源の領域の占有を防止でき、消費電力の増大を抑制できる。
(10) バリア同期制御部30は、窓番号とBB番号との間で書換えを行う変換手段を含んでいる。この変換手段において、BST_WT時に窓番号からBB番号へ変換する変換部と、各BB8、9からのLBSY情報を窓番号へ変換して各コア22に出力する変換部が存在する。これら変換部のうち、後者の変換部では、各BB8、9からのLBSY情報を窓番号へ変換して各コア22に出力する物理資源が大幅に削減される。
(11) 各コア22の各窓にBB8、9の何れが割り付けられるかはソフトウェアによる書込みによって設定される。ハードウェアとしては、窓記憶部6にコア数×窓数分のBB番号及びその値が有効であるかを表す情報validを記憶する複数のWIN_reg34が備えられる。各WIN_reg34に書き込まれたBB番号を使用し、BB番号及び窓番号間の変換を行い、LBSY情報をコア22に出力することができる。
(12) 上記実施の形態のプロセッサ4は、図14に示すように、プロセッサ4に共有キャッシュメモリ69を備え、各コア22間で用いるデータをキャッシュする構成としてもよい。
〔第3の実施の形態〕
第3の実施の形態について、図15及び図16を参照する。図15は既述のバリア同期制御部30を含むプロセッサ4を用いた計算機ノードを示している。図16は計算機システムの構成例を示している。
図15に示す計算機ノード70は、情報処理装置の一例であって、複数のプロセッサ4、システムコントローラ72、主記憶装置74及び入出力制御装置76を備える。各プロセッサ4には既述のバリア同期制御部30が搭載されている。各プロセッサ4には、システムコントローラ72がバス78により接続される。システムコントローラ72には各プロセッサ4に共有される主記憶装置74が接続され、更には図示しない外部記憶装置が接続される場合もある。システムコントローラ72にはデータの入出力等に用いられる入出力制御装置76が接続され、この入出力制御装置76により、各プロセッサ4と主記憶装置74又は外部記憶装置との間でデータの入出力が行われる。
そして、図16に示す計算機システム80では、複数の計算機ノード70を備えている。各計算機ノード70には既述の複数のプロセッサ4が搭載されている。各計算機ノード70はノード間接続装置82を介して接続され、分散処理が可能である。
斯かる構成では、各プロセッサ4に既述のバリア同期制御部30が設置されてバリア同期が実現されるが、上記実施の形態の構成を備えれば、各プロセッサ4のコア数増加による物量資源の増加や肥大化を抑制できる。従って、計算機システム80に要求される処理の高速化や大容量化に寄与することができる。
〔他の実施の形態〕
(1) 上記実施の形態では、プロセッサ4の複数のコア22間のバリア同期について記述したが、これに限定されない。本開示のバリア同期方法又はバリア同期装置は、複数のプロセッサ4間のバリア同期にも利用できる。
(2) 上記実施の形態では、バリア同期部であるBBを用途によりBB8とBB9とに分類しているが、これに限定されない。用途による分類は有益であるが、内部構成、仕様、特性等の分類を用いてもよい。
〔比較例〕
この比較例は全窓に全BBが設定されている場合である。この比較例について、図17及び図18を参照する。図17は窓の割付け可能範囲を示す。図18はLBSYセレクト回路例を示す。
この比較例では、プロセッサ4に4つのコア22、各コア22毎に6つの窓を想定している。また、バリア同期に用いられるsyncBBとして2つのBB8、Post/Wait用BBとして4つのBB9を備えている。
このような構成では、BB8、9と、各窓記憶部6の各WIN_reg34とを全てのBB8、9の区別なく、接続線23を用いて接続される。この比較例においても、説明を簡略化するため、コア22の1つ分について記載しているが、この比較例では、任意の窓に任意のBB8、9が自由に割付け可能である。このため、全コア22の全窓とBB8、9との接続数はコア数に応じて4倍となる。
この比較例のバリア同期制御には、図18に示すLBSYセレクト回路84が用いられる。このLBSYセレクト回路84では、窓記憶部6にある複数のWIN_reg34に格納されている窓番号BB_numがセレクト回路86に入力される。このセレクト回路86には各BB8、9のLBSYが入力される。この結果、各セレクト回路86から各窓状態情報であるWIN0−LBSY、WIN1−LBSY、・・・、WIN5−LBSYが出力される。
この比較例では、バリア同期制御に用いられるセレクタ等の物理資源量は、
物理資源量=(BB8の数+BB9の数)×窓数×コア数
・・・(4)
となる。このように物理資源量はコア数と、窓数と、BB数との積となるので、コア数が増加するにつれて、より膨大な量となる。
即ち、コア数を増加させると、窓数も増加することになるから、共有キャッシュ部の全体から見ると、物理資源は増加傾向となる。このような物理資源の増加に止まらず、消費電力も増大し、マルチコアプロセッサを搭載するLSIに既述の物理資源が占める割合も増加する。斯かる課題は、上記実施の形態によって解決されている。
以上述べたように、バリア同期方法、バリア同期装置及びマルチコアプロセッサの好ましい実施の形態等について説明したが、本開示は、上記記載に限定されるものではなく、請求の範囲に記載され、又は明細書に開示された発明の要旨に基づき、当業者において様々な変形や変更が可能であることは勿論であり、斯かる変形や変更が、本発明の範囲に含まれることは言うまでもない。
本開示のバリア同期方法、バリア同期装置及び演算処理装置は複数のプロセッサコアを含む情報処理に利用でき、処理の高速化や、大容量化に寄与し、有用である。
2、30 バリア同期制御部
4 マルチコアプロセッサ
8、9 BB
12 syncBBグループ
14 p/wBBグループ
22 プロセッサコア

Claims (17)

  1. 複数の演算処理部を備える演算処理装置のバリア同期方法であって、
    複数のバリア同期部が前記複数の演算処理部に設定された同期アドレスを用いて前記複数の演算処理部を同期し、
    前記複数の演算処理部毎に、前記同期アドレスを識別する同期アドレス識別情報に対応して前記バリア同期部を識別するバリア同期部識別情報をバリア同期部識別情報記憶部が保持し、
    同期アドレス識別情報が入力された場合、バリア同期部識別情報選択部が、前記バリア同期部識別情報記憶部が保持するバリア同期部識別情報のうち、前記入力された同期アドレス識別情報に対応するバリア同期部識別情報を選択して出力する
    ことを特徴とするバリア同期方法。
  2. 前記バリア同期部識別情報選択部が選択したバリア同期部識別情報に基づき、状態情報選択部は、前記複数のバリア同期部が出力する前記複数の演算処理部が同期した旨を表す複数の状態情報のいずれかを出力する
    ことを特徴とする請求項1記載のバリア同期方法。
  3. 前記複数のバリア同期部は、複数の前記演算処理部間の同期に用いられる第1のバリア同期部のグループに属するバリア同期部と、バリア同期部識別情報記憶部のうちいずれか2つの演算処理部間の同期に用いられる第2のバリア同期部のグループに属するバリア同期部とを有し、
    前記同期部識別情報記憶部は、前記各グループのバリア同期部に基づいて前記バリア同期部識別情報をグループ化して保持する
    ことを特徴とする請求項1又は2に記載のバリア同期方法。
  4. 前記演算処理部に設定された前記同期アドレスに前記バリア同期部を割り当てる際に、割当て可能であるか否かを判断することを特徴とする請求項1ないし3の何れかに記載のバリア同期方法。
  5. 複数の演算処理部を備える演算処理装置のバリア同期装置であって、
    前記複数の演算処理部に設定された同期アドレスを用いて、前記複数の演算処理部を同期する複数のバリア同期部と、
    前記複数の演算処理部毎に、前記同期アドレスを識別する同期アドレス識別情報に対応して前記バリア同期部を識別するバリア同期部識別情報を保持するバリア同期部識別情報記憶部と、
    同期アドレス識別情報が入力された場合、前記バリア同期部識別情報記憶部が保持するバリア同期部識別情報のうち、前記入力された同期アドレス識別情報に対応するバリア同期部識別情報を選択して出力するバリア同期部識別情報選択部を有することを特徴とするバリア同期装置。
  6. 前記バリア同期装置はさらに、
    前記バリア同期部識別情報選択部が選択したバリア同期部識別情報に基づき、前記複数のバリア同期部が出力する前記複数の演算処理部が同期した旨を表す複数の状態情報のいずれかを出力する状態情報選択部を有することを特徴とする請求項5記載のバリア同期装置。
  7. 前記複数のバリア同期部は、複数の前記演算処理部間の同期に用いられる第1のバリア同期部のグループに属するバリア同期部と、バリア同期部識別情報記憶部のうちいずれか2つの演算処理部間の同期に用いられる第2のバリア同期部のグループに属するバリア同期部とを有し、
    前記同期部識別情報記憶部は、前記各グループのバリア同期部に基づいて前記バリア同期部識別情報をグループ化して保持することを特徴とする請求項5又は6に記載のバリア同期装置。
  8. 前記バリア同期部識別情報記憶部は、前記複数の演算処理部に対応して、前記複数のバリア同期部を識別するバリア同期部識別情報を保持する複数のバリア同期部識別情報保持部を有し、
    前記第1のバリア同期部のグループに属するバリア同期部の各々は、前記複数のバリア同期部識別情報保持部のうち、前記同期を行なう複数の前記演算処理部のバリア同期部識別情報を保持するバリア同期部識別情報保持部に接続し、
    前記第2のバリア同期部のグループに属するバリア同期部の各々は、前記複数のバリア同期部識別情報保持部のうち、前記同期を行なう2つの前記演算処理部のバリア同期部識別情報を保持するバリア同期部識別情報保持部に接続することを特徴とする請求項7に記載のバリア同期装置。
  9. 複数の演算処理部を備える演算処理装置であって、
    前記複数の演算処理部に設定された同期アドレスを用いて、前記複数の演算処理部を同期する複数のバリア同期部と、
    前記複数の演算処理部毎に、前記同期アドレスを識別する同期アドレス識別情報に対応して前記バリア同期部を識別するバリア同期部識別情報を保持するバリア同期部識別情報記憶部と、
    同期アドレス識別情報が入力された場合、前記バリア同期部識別情報記憶部が保持するバリア同期部識別情報のうち、前記入力された同期アドレス識別情報に対応するバリア同期部識別情報を選択して出力するバリア同期部識別情報選択部を有することを特徴とする演算処理装置。
  10. 前記演算処理装置はさらに、
    前記バリア同期部識別情報選択部が選択したバリア同期部識別情報に基づき、前記複数のバリア同期部が出力する前記複数の演算処理部が同期した旨を表す複数の状態情報のいずれかを出力する状態情報選択部を有することを特徴とする請求項9に記載の演算処理装置。
  11. 前記複数のバリア同期部は、複数の前記演算処理部間の同期に用いられる第1のバリア同期部のグループに属するバリア同期部と、バリア同期部識別情報記憶部のうちいずれか2つの演算処理部間の同期に用いられる第2のバリア同期部のグループに属するバリア同期部とを有し、
    前記同期部識別情報記憶部は、前記各グループのバリア同期部に基づいて前記バリア同期部識別情報をグループ化して保持することを特徴とする請求項9又は10に記載の演算処理装置。
  12. 前記バリア同期部識別情報記憶部は、前記複数の演算処理部に対応して、前記複数のバリア同期部を識別するバリア同期部識別情報を保持する複数のバリア同期部識別情報保持部を有し、
    前記第1のバリア同期部のグループに属するバリア同期部の各々は、前記複数のバリア同期部識別情報保持部のうち、前記同期を行なう複数の前記演算処理部のバリア同期部識別情報を保持するバリア同期部識別情報保持部に接続し、
    前記第2のバリア同期部のグループに属するバリア同期部の各々は、前記複数のバリア同期部識別情報保持部のうち、前記同期を行なう2つの前記演算処理部のバリア同期部識別情報を保持するバリア同期部識別情報保持部に接続することを特徴とする請求項11に記載の演算処理装置。
  13. 前記バリア同期部は、複数の前記演算処理部間の同期状態を表す状態情報を記憶する記憶部、又は2つの前記演算処理部間の同期状態を表す状態情報を記憶する記憶部の何れか一方を備えることを特徴とする請求項9ないし12に記載の演算処理装置。
  14. 前記状態情報選択部は、前記バリア同期部の同期情報を前記識別情報を参照して選択される前記同期アドレスに関係付けて選択する複数の選択部を備えることを特徴とする請求項10に記載の演算処理装置。
  15. 前記複数のバリア同期部と、前記バリア同期部の同期アドレスに対応して区分された前記バリア同期部識別情報記憶部との間に接続線を備えることを特徴とする請求項9ないし14に記載の演算処理装置。
  16. 前記演算処理装置は、前記複数の演算処理部が共有するキャッシュメモリを備えることを特徴とする請求項9ないし15の何れかに記載の演算処理装置。
  17. 前記演算処理装置は、前記複数の演算処理部を1つのLSIに実装したプロセッサであることを特徴とする請求項9ないし16の何れかに記載の演算処理装置。
JP2013505618A 2011-03-23 2011-03-23 バリア同期方法、バリア同期装置及び演算処理装置 Withdrawn JPWO2012127534A1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/001716 WO2012127534A1 (ja) 2011-03-23 2011-03-23 バリア同期方法、バリア同期装置及び演算処理装置

Publications (1)

Publication Number Publication Date
JPWO2012127534A1 true JPWO2012127534A1 (ja) 2014-07-24

Family

ID=46878738

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013505618A Withdrawn JPWO2012127534A1 (ja) 2011-03-23 2011-03-23 バリア同期方法、バリア同期装置及び演算処理装置

Country Status (3)

Country Link
US (1) US20140013148A1 (ja)
JP (1) JPWO2012127534A1 (ja)
WO (1) WO2012127534A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10605197B2 (en) * 2014-12-02 2020-03-31 United Technologies Corporation Gas turbine engine and thrust reverser assembly therefore
TWI727509B (zh) * 2019-11-20 2021-05-11 瑞昱半導體股份有限公司 具有省電模式且能夠在省電模式盡量省電的通訊裝置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2708172B2 (ja) * 1988-03-24 1998-02-04 株式会社東芝 並列処理方法
JP2552784B2 (ja) * 1991-11-28 1996-11-13 富士通株式会社 並列データ処理制御方式
JP3285629B2 (ja) * 1992-12-18 2002-05-27 富士通株式会社 同期処理方法及び同期処理装置
JP3571976B2 (ja) * 1999-11-08 2004-09-29 富士通株式会社 デバッグ装置及び方法並びにプログラム記録媒体
JP4448784B2 (ja) * 2005-03-15 2010-04-14 株式会社日立製作所 並列計算機の同期方法及びプログラム
US8935510B2 (en) * 2006-11-02 2015-01-13 Nec Corporation System structuring method in multiprocessor system and switching execution environment by separating from or rejoining the primary execution environment
WO2008129786A1 (ja) * 2007-04-09 2008-10-30 Panasonic Corporation マルチプロセッサ制御装置、その制御方法および集積回路
WO2008155806A1 (ja) * 2007-06-20 2008-12-24 Fujitsu Limited バリア同期方法、装置、及びマルチコアプロセッサ

Also Published As

Publication number Publication date
WO2012127534A1 (ja) 2012-09-27
US20140013148A1 (en) 2014-01-09

Similar Documents

Publication Publication Date Title
US8645959B2 (en) Method and apparatus for communication between two or more processing elements
US10355975B2 (en) Latency guaranteed network on chip
US9454481B2 (en) Affinity group access to global data
US8868835B2 (en) Cache control apparatus, and cache control method
US20120284437A1 (en) Pci express sr-iov/mr-iov virtual function clusters
JP7205033B2 (ja) キャッシュの割当方法と装置、記憶媒体、電子装置
JP6668993B2 (ja) 並列処理装置及びノード間通信方法
US11144473B2 (en) Quality of service for input/output memory management unit
US9442759B2 (en) Concurrent execution of independent streams in multi-channel time slice groups
CN103218259A (zh) 计算任务的调度和执行
WO2012127534A1 (ja) バリア同期方法、バリア同期装置及び演算処理装置
CN109324899B (zh) 基于PCIe池化硬件资源的编址方法、装置及主控节点
US20220276966A1 (en) Data processors
US10481951B2 (en) Multi-queue device assignment for application groups
US11740800B2 (en) Alleviating memory hotspots on systems with multiple memory controllers
JP2009252133A (ja) ベクトル処理装置及びベクトル処理方法
US20130111181A1 (en) Methods and apparatus for increasing device access performance in data processing systems
JP2008198148A (ja) プログラマブルコントローラ
US11061642B2 (en) Multi-core audio processor with flexible memory allocation
US20040123015A1 (en) Address assignment to transaction for serialization
US9251100B2 (en) Bitmap locking using a nodal lock
JPH08272754A (ja) マルチプロセッサシステム
JP6694007B2 (ja) 情報処理装置
WO2011030498A1 (ja) データ処理装置及びデータ処理方法
CN117827449A (zh) 服务器的物理内存扩展架构、服务器、方法、设备及介质

Legal Events

Date Code Title Description
A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20141201