JP2014041640A - データ処理装置 - Google Patents
データ処理装置 Download PDFInfo
- Publication number
- JP2014041640A JP2014041640A JP2013214320A JP2013214320A JP2014041640A JP 2014041640 A JP2014041640 A JP 2014041640A JP 2013214320 A JP2013214320 A JP 2013214320A JP 2013214320 A JP2013214320 A JP 2013214320A JP 2014041640 A JP2014041640 A JP 2014041640A
- Authority
- JP
- Japan
- Prior art keywords
- loop
- packet
- instruction
- processing
- data
- 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.)
- Pending
Links
Images
Landscapes
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
【解決手段】MCE300にループ制御部308を設け、ループプログラムの各ループ処理の完了を通知する”done”命令を次命令とするパケットをループ制御部308に送り、その都度、ループ制御部308はループ処理の進み具合からループIDの上限値を算出し、全PEにその上限値をブロードキャストする。PEのパケット生成部はループ処理に必要なパケットの生成をループID以内に制限することで、高速性を維持しながらパケット数を適正に抑制することが可能になる。また、ループ制御部308に届いた、ループプログラムの最後の”done”パケットのみを通過させ、それ以前の”done”パケットを消去することでループプログラムとそれ以降の処理の同期をとることが可能になる。
【選択図】図9
Description
また、特許文献2ではループ処理において、ループIDを1ずつ増加させながらループ内の処理に必要な複数のパケットをループ数だけ複製する機能を開示し、これにより高速化を果たしている。
まず、図1を参照して、データ処理装置を備えたデータ処理システム全体の構成の概略について説明する。
図1に示されているデータ処理システムは、データ処理装置1を備えた並列コンピュータシステムであり、データ処理装置1以外に、記憶装置6、入力装置7、出力装置8、およびバス9を含んで構成されている。また、データ処理装置1、記憶装置6、入力装置7、および出力装置8は、バス9を介して互いに接続されている。なお、データ処理装置1の構成についての詳細な説明は後述する。
入力装置7は、キーボードやマウスなどで構成され、データやプログラム(実行コード)を含む情報を外部から当該データ処理システムに入力する。一方、出力装置8は、ディスプレイやプリンタなどで構成され、情報を文字や画像などとして外部に出力する。
モード32は、値が1であれば次命令がMCEで実行されることを意味し、パケットはMCEに転送され、値が0であれば次命令はPEで実行されることを意味し、宛先PEx31と宛先PEy30が示す座標のPEに転送される。
図9に示されているMCE300はコマンド実行部301、パケット命令実行部302、バッファメモリ303、分配・比較・選択部304、入出力部305、メモリアクセス命令実行部307、およびループ制御部308をそれぞれ含んで構成されている。さらに入出力部305は、宛先情報算出部306を含み、ループ制御部308はlid上限値算出器309を含む。
図10に示されているPE100aないし100pは、入出力部200、比較・選択部203,バッファメモリ204、処理命令実行部205、パケット生成部206、およびテンプレートバッファ207をそれぞれ含んで構成されている。入出力部200は、さらに宛先情報算出部201を含む。
まず、パケットが入力されると(S1)、そのパケットの命令数が0であるか判定し(S2)、0であればそのパケットを消去し(S8)、0より大きければ、次命令が命令追加命令かどうかを判定する(S3)。これは具体的には、命令数=1かつ延長フラグ=1であるか判定する。命令追加命令であれば宛先PE座標(X,Y)を算出して宛先PEx31と宛先PEy30に書き込み(S5)、モード32に0を書き込む(S6)。次命令が命令追加命令でなければ(S3のNO)、次命令がMCEで実行する命令であるかどうかを判定する(S4)。次命令が32より小さいかどうかを判定する。次命令がMCEで実行する命令であれば(S4のYES)モード32に1を書き込み、そうでなければ(S4のNO)S5に進む。
S5では宛先PE座標を算出したのち、S6に進み、モード32に0を書き込む。
図13のデータフロー図は値がそれぞれ「5」と「3」の2個のデータを加算してから、その値をアドレスとするメモリのデータを読み込み、その読み込んだ値をメモリに書き込むというデータフロー図である。図中の四角はデータを表し、楕円はノード(処理命令)を表す。以降の図では図示しないが、矢印の近くの符号はその矢印の符号ではなく、その矢印上を流れるパケットの符号を示している。データ550を基に生成したパケットは”P550”、データ551を基に生成したパケットは”P551”とデータの符号の先頭に”P”を付加するものとする。また、各ノードで命令を実行後のパケットには数字の後に”a”,”b”,...とアルファベットを添えていくものとし、2入力1出力命令では左から来るパケットの符号を使って出力パケットを示す。
図15で示しているのはC言語で記述されたプログラムソースコードの一部分である次の3行だけをデータフロー図で示したものである。
buf[ii] = 0 ;
}
図16のフローチャートはループ制御部308がパケットを取得したときの処理である。ループ制御部308が処理する命令は”max_lid”もしくは”done”であるため、まず分岐S1で取得パケットの次命令から”max_lid”の処理に進む(S1のNO)。ここで初期化処理として取得パケットの識別情報の登録、lid上限値の初期化、lid上限値算出器309の初期化を行う(S2)。その後、lid上限値算出器309が算出したlid上限値を全PEにブロードキャストする。具体的には全てのPEごとにそのPE座標を宛先とするパケットを作成し、それぞれの処理命令は”set_limit”の1命令だけにして、データ部にlid上限値を書き込み、入出力部305に宛先情報算出不要の指示をして転送する。取得パケットの次命令が”done”の場合(S1のYES)は、”done”を実行した回数がこのパケットを含めてループ数に達していなければ(S4のNO)、lid上限値算出器309でlid上限値を算出し(S5)、算出した値が以前にブロードキャストしたlid上限値と同じでなければ(S6のYES)、算出したlid上限値をブロードキャストする(S3)。
(1)”done”パケット取得数 +(PE数xN) ー1
(2)”done”が来てない最小lid値 +(PE数xN) ー1
(1)”done”パケット取得数 +(PE数xN)
(2)”done”が来てない最小lid値 +(PE数xN)
6 記憶装置
7 入力装置
8 出力装置
9 バス
10 命令情報
11 命令数
12 再延長フラグ
13 延長フラグ
14 データ
20 識別情報
21 条件フラグ
22 消去フラグ
30 宛先PEy
31 宛先PEx
32 モード
100a〜100p PE
120 キャッシュメモリ制御部
130a〜130p ルーター
140 通信路
200 入出力部(PE)
201 宛先情報算出部(PE)
203 比較・選択部
204 バッファメモリ(PE)
205 処理命令実行部
206 パケット生成部
207 テンプレートバッファ
300 MCE
301 コマンド実行部
302 パケット命令実行部
303 バッファメモリ(MCE)
304 分配・比較・選択部
305 入出力部(MCE)
306 宛先情報算出部(MCE)
307 メモリアクセス命令実行部
308 ループ制御部
309 lid上限値算出器
400 プログラムヘッダー
401 関数ディスクリプタリスト
402 中間パケットリスト
403 文字列リスト
404 グローバルデータ
Claims (2)
- データごとに、当該データを識別する識別情報および当該データに対する1つ以上の処理命令を示す命令情報を含む拡張識別情報が付加されたパケットを処理する複数の処理部を備えるデータ処理装置において、
前記処理命令はループ処理の完了を通知するループ処理完了命令を含み、
ループ数を取得する手段と、ループ処理完了数をカウントするループカウンタを有すループ制御部を含み、
前記ループ制御部は、次命令に前記ループ処理完了命令を有すパケットを取得し、該ループ処理完了命令の実行によりループカウンタを1加算し、該ループカウンタが前記ループ数より小さい場合は、該パケットを削除し、そうでない場合は該パケットを通過させることを特徴とするデータ処理装置。 - データごとに、当該データを識別する識別情報および当該データに対する1つ以上の処理命令を示す命令情報を含む拡張識別情報が付加されたパケットを処理する複数の処理部を備えるデータ処理装置において、
前記識別情報は、ループ処理ごとに設定されるループIDを含み、
前記処理命令は、ループ処理の完了を通知するループ処理完了命令を含み、
前記ループ処理完了命令が次命令のパケットを取得し、前記ループIDの上限値を算出するループ制御部と、
前記ループIDを、前記上限値以下で、1づつ加算してループ処理に必要なパケットを生成するループパケット生成部と、
を備えることを特徴とするデータ処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013214320A JP2014041640A (ja) | 2013-10-15 | 2013-10-15 | データ処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013214320A JP2014041640A (ja) | 2013-10-15 | 2013-10-15 | データ処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014041640A true JP2014041640A (ja) | 2014-03-06 |
Family
ID=50393780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013214320A Pending JP2014041640A (ja) | 2013-10-15 | 2013-10-15 | データ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014041640A (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04127387A (ja) * | 1990-09-19 | 1992-04-28 | Sanyo Electric Co Ltd | データ駆動型データ処理装置 |
WO2013118754A1 (ja) * | 2012-02-08 | 2013-08-15 | 株式会社Mush-A | データ処理装置、データ処理システム、データ構造、記録媒体、記憶装置およびデータ処理方法 |
-
2013
- 2013-10-15 JP JP2013214320A patent/JP2014041640A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04127387A (ja) * | 1990-09-19 | 1992-04-28 | Sanyo Electric Co Ltd | データ駆動型データ処理装置 |
WO2013118754A1 (ja) * | 2012-02-08 | 2013-08-15 | 株式会社Mush-A | データ処理装置、データ処理システム、データ構造、記録媒体、記憶装置およびデータ処理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11516129B2 (en) | Packet edit processing method and related device | |
TWI489779B (zh) | 狀態機晶格中之布林邏輯 | |
KR101603751B1 (ko) | 명령어 병렬 처리 컴퓨터를 위한 명령어 압축 장치 및 방법 | |
JPWO2019241425A5 (ja) | ||
US20160057256A1 (en) | Information processing apparatus, communication method and storage medium | |
US11625393B2 (en) | High performance computing system | |
JP2009048252A (ja) | プログラム変換装置及びコンパイラプログラム | |
CN103065069A (zh) | 一种基于壳技术的软件保护方法 | |
JP5807676B2 (ja) | パケット分類器、パケット分類方法、及びパケット分類プログラム | |
JP2020503623A (ja) | コンパイルデバイス及びコンパイル方法 | |
US11614889B2 (en) | Aggregating commands in a stream based on cache line addresses | |
WO2016070668A1 (zh) | 一种实现数据格式转换的方法、装置及计算机存储介质 | |
JP2007034392A (ja) | 情報処理装置及びデータ処理方法 | |
JP4747077B2 (ja) | 演算回路 | |
US20080184213A1 (en) | Compiler device, method, program and recording medium | |
JP2014041640A (ja) | データ処理装置 | |
JP6298937B2 (ja) | データ処理装置 | |
JP2009301101A (ja) | プロセッサ間通信システム、プロセッサ、プロセッサ間通信方法、および、通信方法 | |
JP6954535B2 (ja) | 通信装置 | |
US9830161B2 (en) | Tree-based thread management | |
JP5238876B2 (ja) | 情報処理装置及び情報処理方法 | |
JP2006120124A (ja) | コンパイラ装置、コンパイル方法、コンパイラプログラム | |
JP2016162008A (ja) | データ配置決定装置、データ配置決定プログラム及びデータ配置決定方法 | |
JP5952239B2 (ja) | トラヒック走査方法および装置 | |
CN113485805B (zh) | 基于异构加速平台的分布式计算调整方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160902 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170524 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170627 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170825 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180213 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20181106 |