JP2000285084A

Execution method of control flow program, development method of data flow program, data processing system, program execution method and device and control instruction of data processing system, computer-readable recording medium, development method and conversion method of computer-loadable program

Abstract

[Task] Provides methods, systems and products that allow developers to design and develop dataflow programs to run in a multiprocessor computer system environment.

Solution.The display of the interface allows the programmer to define an area divided into multiple blocks. Each block is formed from a function-associated numeric set, and to define a block set, each block of the set has a state that reflects a program-specified part with a given function. The interface also records any dependencies between blocks, where each dependency executes the relationship between the two blocks, and the first block-related program part before the second block-related program part. Demand that. It also records the dependencies between multiple blocks. The interface also records block allocations. After program development, blocks are selected for execution of the program specification based on record dependencies and distributed groups.

JP2000285084A, drawing sheet 1
Sheet 1 of 31

Term

Term ended

Projected expiry passed 4 February 2020, 6.6 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

22 claims: 11 independent, 11 dependent

  1. 1
    【特許請求の範囲】 【請求項1】 複数ブロックへ分割された領域であって当該複数ブロックの各々が関数に関連付けられる数値集合から構成されている当該各領域を定義する命令を受信する領域定義命令受信工程と、 実行時に前記関数に基づいて前記ブロックを構成する数値を変換する制御フロープログラムの指定部分に対応するステートを有する各ブロックからなるブロック集合を定義する命令を受信するブロック集合定義命令受信工程と、 前記ブロックがどのようにして並列処理されるかを決定する分割グループへ前記ブロック集合を割り当てる命令を受信する割当命令受信工程と、 ブロック集合のうち2個のブロックの関係を示す全ての依存性であって当該関係を有するブロックのうち第1ブロックに関連付けられる制御フロープログラム該当部分を第2ブロックに関連付けられる制御フロープログラム該当部分よりも先に実行することを要求する全ての依存性を記憶する依存性記憶工程と、 記憶済依存性と割当分割依存性とに基づいて制御フロープログラムの指定部分に対応する実行ブロックを選択する実行ブロック選択工程とを備えたことを特徴とするマルチプロセッサコンピュータシステムにおけるデータフローモデルに基づく制御フロープログラム実行方法。
  2. 2
    【請求項2】 更に、ユーザに、前記メモリ領域のブロックの数値にアクセスする制御フロープログラムコードの生成を許可するコードを配信するコード配信工程を備えたことを特徴とする請求項1に記載の制御フロープログラム実行方法。
  3. 3
    【請求項3】 前記コード配信工程は、 前記ブロックを割り当てた分割グループに基づいて前記配信コードがブロックの数値にアクセスするか否かを決定するアクセス決定工程を備えたことを特徴とする請求項2に記載の制御フロープログラム実行方法。
  4. 4
    【請求項4】 前記分割グループは、前記ブロックがどのようにして前記ブロックの実行処理順序を表す有向非循環グラフのノードに追加されるかを決定することにより、前記ブロックがどのようにして並列処理されるのかを決定する並列処理決定工程を備えたことを特徴とする請求項1に記載の制御フロープログラム実行方法。
  5. 5
    【請求項5】 前記依存性記憶工程は、 第2ブロック集合が、第1ブロック集合に関連付けられる制御フロープログラム該当部分の実行結果に依存するかどうかを決定する依存決定工程を備えたことを特徴とする請求項1に記載の制御フロープログラム実行方法。
  6. 6
    【請求項6】 前記依存性記憶工程は、 第2ブロック集合に依存する第1ブロック集合の呈示標識を受信する第1ブロック呈示標識受信工程と、 前記第1ブロック集合が依存する前記第2ブロック集合を表す単一親ブロックの呈示標識を受信する単一親ブロック呈示標識受信工程と、 呈示された単一親ブロックに基づいて前記第2ブロック集合に残っているブロックを決定する残留ブロック決定工程とを備えたことを特徴とする請求項1に記載の制御フロープログラム実行方法。
  7. 7
    【請求項7】 前記第2ブロック集合の前記残留ブロックは、前記単一親ブロックに隣接していることを特徴とする請求項6に記載の制御フロープログラム実行方法。
  8. 8
    【請求項8】 少なくとも1つのスクリーンディスプレイを表示する表示工程と、 ユーザに対して許可を行う許可工程とを備え、当該許可は、 領域を指定し、当該領域を複数ブロックであって各ブロックが関数に関連付けられる数値集合を定義する複数ブロックへ分割する指定分割手順と、実行時に前記関数に基づいて前記ブロックを構成する数値を変換するデータフロープログラムの指定部分に対応するステートを有する各ブロックからなるブロック集合を定義するブロック集合定義手順と、 前記ブロックがどのようにして並列処理されるかを決定する分割グループへ前記ブロック集合を割り当てるブロック集合割当手順と、 2個のブロック集合の関係を示す全ての依存性を割り当てる依存性割当手順に対してなされることを特徴とするコンピュータ実装可能なデータフロープログラムの開発方法。
  9. 9
    【請求項9】 データフロープログラム開発用ユーザインタフェースを表示する開発ツールを備えたデータプロセッシングシステムにおいて、 前記ユーザインタフェースは、 領域を定義して当該領域を複数ブロックへ分割する命令を受信するように構成された第1図表であって、前記複数ブロックの各ブロックが関数に関連付けられた数値集合を定義する第1図表と、 実行時に前記関数に基づいて前記ブロックを構成する数値を変換するデータフロープログラムの指定部分に対応するステートを有する各ブロックからなるブロック集合を定義する命令を受信するように構成された第2図表と、 前記ブロックがどのように並列処理されるかを決定する分割グループへ前記ブロックを割り当てる情報を受信するように構成された第3図表と、 2個のブロック集合の関係を示す全ての依存性に対応する情報を受信するように構成された第4図表とを備えたことを特徴とするデータプロセッシングシステム。
  10. 10
    【請求項10】 前記ユーザインタフェースは、 2個のブロック集合の依存関係が当該関係を有する2個のブロック集合のうち一方に関連付けられるデータフロープログラム該当部分を他方のブロック集合に関連付けられるデータフロープログラム該当部分よりも先に実行することを要求するものであることを特徴とする請求項9に記載のデータプロセッシングシステム。
  11. 11
    【請求項11】 複数ブロックへ分割された領域であって当該複数ブロックの各々が関数に関連付けられる数値集合から構成されている当該各領域を定義する命令を受信する領域定義命令受信工程と、 実行時に前記関数に基づいて前記ブロックを構成する数値を変換する制御フロープログラムの指定部分に対応するステートを有する各ブロックからなるブロック集合を定義する命令を受信するブロック集合定義命令受信工程と、 前記ブロックがどのようにして並列処理されるかを決定する分割グループへ前記ブロック集合を割り当てる命令を受信する割当命令受信工程と、 ブロック集合のうち2個のブロックの関係を示す全ての依存性であって当該関係を有するブロックのうち第1ブロックに関連付けられる制御フロープログラム該当部分を第2ブロックに関連付けられる制御フロープログラム該当部分よりも先に実行することを要求する全ての依存性を記憶する依存性記憶工程と、 記憶済依存性と割当分割依存性とに基づいて制御フロープログラムの指定部分に対応する実行ブロックを選択する実行ブロック選択工程とを備えたことを特徴とするマルチプロセッサコンピュータシステムにおけるプログラム実行方法。
  12. 12
    【請求項12】 複数ブロックへ分割された領域であって当該複数ブロックの各々が関数に関連付けられる数値集合から構成されている当該各領域を定義する命令を受信する領域定義命令受信手段と、 実行時に前記関数に基づいて前記ブロックを構成する数値を変換する制御フロープログラムの指定部分に対応するステートを有する各ブロックからなるブロック集合を定義する命令を受信するブロック集合定義命令受信手段と、 前記ブロックがどのようにして並列処理されるかを決定する分割グループへ前記ブロック集合を割り当てる命令を受信する割当命令受信手段と、 ブロック集合のうち2個のブロックの関係を示す全ての依存性であって当該関係を有するブロックのうち第1ブロックに関連付けられる制御フロープログラム該当部分を第2ブロックに関連付けられる制御フロープログラム該当部分よりも先に実行することを要求する全ての依存性を記憶する依存性記憶手段と、 記憶済依存性と割当分割依存性とに基づいて制御フロープログラムの指定部分に対応する実行ブロックを選択する実行ブロック選択手段とを備えたことを特徴とするプログラム実行装置。
  13. 13
    【請求項13】 複数ブロックへ分割された領域であって当該複数ブロックの各々が関数に関連付けられる数値集合から構成されている当該各領域を定義する命令を受信する領域定義命令受信手順と、 実行時に前記関数に基づいて前記ブロックを構成する数値を変換する制御フロープログラムの指定部分に対応するステートを有する各ブロックからなるブロック集合を定義する命令を受信するブロック集合定義命令受信手順と、 前記ブロックがどのようにして並列処理されるかを決定する分割グループへ前記ブロック集合を割り当てる命令を受信する割当命令受信手順と、 ブロック集合のうち2個のブロックの関係を示す全ての依存性であって当該関係を有するブロックのうち第1ブロックに関連付けられる制御フロープログラム該当部分を第2ブロックに関連付けられる制御フロープログラム該当部分よりも先に実行することを要求する全ての依存性を記憶する依存性記憶手順と、 記憶済依存性と割当分割依存性とに基づいて制御フロープログラムの指定部分に対応する実行ブロックを選択する実行ブロック選択手順とからなる方法を実行するデータプロセッシングシステムの制御命令を記憶したコンピュータ読取可能な記録媒体。
  14. 14
    【請求項14】 更に、ユーザに、前記メモリ領域のブロックの数値にアクセスする制御フロープログラムコードの生成を許可するコードを配信するコード配信手順を備えたことを特徴とする請求項13に記載のコンピュータ読取可能な記録媒体。
  15. 15
    【請求項15】 前記コード配信手順は、 前記ブロックを割り当てた分割グループに基づいて前記配信コードがブロックの数値にアクセスするか否かを決定するアクセス決定手順を備えたことを特徴とする請求項14に記載のコンピュータ読取可能な記録媒体。
  16. 16
    【請求項16】 前記分割グループは、前記ブロックがどのようにして前記ブロックの実行処理順序を表す有向非循環グラフのノードに追加されるかを決定することにより、前記ブロックがどのようにして並列処理されるのかを決定する並列処理決定手順を備えたことを特徴とする請求項13に記載のコンピュータ読取可能な記録媒体。
  17. 17
    【請求項17】 前記依存性記憶手順は、 第2ブロック集合が、第1ブロック集合に関連付けられる制御フロープログラム該当部分の実行結果に依存するかどうかを決定する依存決定手順を備えたことを特徴とする請求項13に記載のコンピュータ読取可能な記録媒体。
  18. 18
    【請求項18】 前記依存性記憶手順は、 第2ブロック集合に依存する第1ブロック集合の呈示標識を受信する第1ブロック呈示標識受信手順と、 前記第1ブロック集合が依存する前記第2ブロック集合を表す単一親ブロックの呈示標識を受信する単一親ブロック呈示標識受信手順と、 呈示された単一親ブロックに基づいて前記第2ブロック集合に残っているブロックを決定する残留ブロック決定手順とを備えたことを特徴とする請求項13に記載のコンピュータ読取可能な記録媒体。
  19. 19
    【請求項19】 前記第2ブロック集合の前記残留ブロックは、前記単一親ブロックに隣接していることを特徴とする請求項18に記載のコンピュータ読取可能な記録媒体。
  20. 20
    【請求項20】 メモリを備え、当該メモリが、 第1プログラムと、 第2プログラムを開発するための開発ツールと、 前記開発ツールを走行させる少なくとも1つのプロセッサとを備え、 前記開発ツールが、 (i) 複数ブロックへ分割された領域であって前記複数ブロックの各ブロックが関数に関連付けられた数値集合から構成されるとともに、実行時に前記関数に基づいて前記ブロックを構成する数値を変換する第1プログラムの指定部分に対応するステートを有する前記領域と、(ii) 2個のブロック集合の関係を示す全ての依存性であって当該関係を有するブロックのうち第1ブロックに関連付けられる第1プログラム該当部分を第2ブロックに関連付けられる第2プログラム該当部分よりも先に実行することを要求する全ての依存性と、(iii) 前記ブロックがどのように並列処理されるのかを決定する分割グループとを備えたことを特徴とするデータプロセッシングシステム。
  21. 21
    【請求項21】 関数に関連付けられた数値集合から構成される各ブロックからなる複数ブロックへ分割された領域を定義する分割領域定義手順と、 実行時に前記関数に基づいて前記ブロックを構成する数値を変換する前記プログラムの指定部分に対応するステートを有する各ブロックからなるブロック集合を定義するブロック集合定義手順と、 前記ブロックがどのように並列処理されるかを決定する分割グループへ前記ブロック集合を割り当てるブロック集合割当手順と、 2個のブロック集合の関係を示す全ての依存性であって当該関係を有するブロックのうち第1ブロックに関連付けられるプログラム該当部分を第2ブロックに関連付けられるプログラム該当部分よりも先に実行することを要求する全ての依存性を記憶する依存性記憶手順とを備えたことを特徴とするコンピュータ実装可能なプログラムの開発方法。
  22. 22
    【請求項22】 関数に関連付けられた数値集合から構成される各ブロックからなる複数ブロックへ分割された領域を定義する分割領域定義手順と、 実行時に前記関数に基づいて前記ブロックを構成する数値を変換する前記制御フロープログラムの指定部分に対応するステートを有する各ブロックからなるブロック集合を定義するブロック集合定義手順と、 前記ブロックがどのように並列処理されるかを決定する分割グループへ前記ブロック集合を割り当てるブロック集合割当手順と、 2個のブロック集合の関係を示す全ての依存性であって当該関係を有するブロックのうち第1ブロックに関連付けられる制御フロープログラム該当部分を第2ブロックに関連付けられる制御フロープログラム該当部分よりも先に実行することを要求する全ての依存性を記憶する依存性記憶手順とを備えたことを特徴とするマルチプロセッサコンピュータシステム実行用の制御フロープログラムをデータフロープログラムへ変換するコンピュータ実装可能なプログラムの変換方法。
Independent claims22