JP4381459B1 - 情報処理装置、粒度調整方法およびプログラム - Google Patents
情報処理装置、粒度調整方法およびプログラム Download PDFInfo
- Publication number
- JP4381459B1 JP4381459B1 JP2008169084A JP2008169084A JP4381459B1 JP 4381459 B1 JP4381459 B1 JP 4381459B1 JP 2008169084 A JP2008169084 A JP 2008169084A JP 2008169084 A JP2008169084 A JP 2008169084A JP 4381459 B1 JP4381459 B1 JP 4381459B1
- Authority
- JP
- Japan
- Prior art keywords
- execution
- basic module
- basic
- modules
- unit
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3404—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for parallel or distributed programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5017—Task decomposition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
【解決手段】ランタイムライブラリ200の並列粒度調整部230は、各直列基本モジュールの実行時、基本モジュール負荷測定部233およびランタイム負荷測定部234により各種実行時間を測定してプロファイル情報収集部231にて管理し、このプロファイル情報収集部231にて管理された測定情報に基づいた粒度調整を実行する。そして、投機実行制御部232は、空き状態の実行ユニットが存在する時、先行ノードが完了していない待機状態の直列基本モジュールを、本来の実行プログラム100用とは無関係に、空き状態のコア11に対して別途割り当てて試験的に実行させ、基本モジュール負荷測定部233およびランタイム負荷測定部234による各種実行時間の測定を行わせる。
【選択図】 図9
Description
(1)基本モジュールの実行時間平均 < ランタイム実行時間、であるとき、粒度を大きくする。
Claims (9)
- 複数の実行ユニットと、
他のモジュールと非同期に実行可能な複数の基本モジュールに分割され、当該複数の基本モジュールの時系列的な実行規則が定義されるプログラムを、前記複数の実行ユニットによって並列実行するために、前記実行規則に基づき、前記複数の実行ユニットに対する前記複数の基本モジュールの割り当てを制御するスケジューラと、
を具備し、
前記スケジューラは、
前記複数の実行ユニットの中にいずれの基本モジュールも割り当てられていない空き状態の実行ユニットが存在した場合、前記実行規則によって他の基本モジュールの実行終了待ちの状態となっている基本モジュールを、前記プログラムの並列実行とは別に、前記空き状態の実行ユニットに対して割り当てて試験的に実行させる投機実行制御手段と、
前記基本モジュール自体の処理の実行時間を測定する基本モジュール負荷測定手段と、
前記基本モジュールを前記実行ユニットに割り当てる処理の実行時間を測定するランタイム負荷測定手段と、
前記基本モジュール負荷測定手段が測定した実行時間および前記ランタイム負荷測定手段が測定した実行時間に基づき、前記実行規則によって前後して実行される2以上の基本モジュールを、前記実行ユニットに対して1組みとして割り当てられるように結合し、または、結合した2以上の基本モジュールを再分割することによる粒度調整を実行する粒度調整手段と、
を有することを特徴とする情報処理装置。 - 前記投機実行制御手段は、前記基本モジュールの試験的な実行中、いずれかの基本モジュールが待機状態から実行可能状態に移行した場合、前記基本モジュールの試験的な実行を中止して実行ユニットを解放することを特徴とする請求項1記載の情報処理装置。
- 前記投機実行制御手段は、各基本モジュールが指定された回数実行され、前記基本モジュール負荷測定手段による実行時間の測定が各基本モジュール毎に前記指定された回数実行されるまで、前記基本モジュールの試験的な実行を継続することを特徴とする請求項1記載の情報処理装置。
- 前記投機実行制御手段は、入力パラメータが変更された基本モジュールを、前記基本モジュールの試験的な実行の対象とすることを特徴とする請求項1記載の情報処理装置。
- 前記複数の実行ユニットは、1つのCPUに内蔵されるCPUコアであることを特徴とする請求項1記載の情報処理装置。
- 前記複数の実行ユニットは、それぞれが個別に構成された複数のCPUであることを特徴とする請求項1記載の情報処理装置。
- 前記プログラムを記憶する記憶媒体を備え、
前記複数の実行ユニットは、前記記憶媒体から読み出した前記プログラムの前記基本モジュールを実行する、
ことを特徴とする請求項1記載の情報処理装置。 - 他のモジュールと非同期に実行可能な複数の基本モジュールに分割され、当該複数の基本モジュールの時系列的な実行規則が定義されるプログラムを、複数の実行ユニットによって並列実行する、前記実行規則に基づき前記複数の実行ユニットに対する前記複数の基本モジュールの割り当てを制御するスケジューラを有する情報処理装置における粒度調整方法であって、
前記スケジューラが、
前記複数の実行ユニットの中にいずれの基本モジュールも割り当てられていない空き状態の実行ユニットが存在した場合、前記実行規則によって他の基本モジュールの実行終了待ちの状態となっている基本モジュールを、前記プログラムの並列実行とは別に、前記空き状態の実行ユニットに対して割り当てて試験的に実行させ、
前記基本モジュール自体の処理の実行時間を測定し、
前記基本モジュールを前記実行ユニットに割り当てる処理の実行時間を測定し、
前記測定した2つの実行時間に基づき、前記実行規則によって前後して実行される2以上の基本モジュールを、前記実行ユニットに対して1組みとして割り当てられるように結合し、または、結合した2以上の基本モジュールを再分割することによる粒度調整を実行する、
ことを特徴とする粒度調整方法。 - 他のモジュールと非同期に実行可能な複数の基本モジュールに分割され、当該複数の基本モジュールの時系列的な実行規則が定義されるプログラムを、複数の実行ユニットによって並列実行する情報処理装置を、
前記複数の実行ユニットの中にいずれの基本モジュールも割り当てられていない空き状態の実行ユニットが存在した場合、前記実行規則によって他の基本モジュールの実行終了待ちの状態となっている基本モジュールを、前記プログラムの並列実行とは別に、前記空き状態の実行ユニットに対して割り当てて試験的に実行させる投機実行制御手段、
前記基本モジュール自体の処理の実行時間を測定する基本モジュール負荷測定手段、
前記基本モジュールを前記実行ユニットに割り当てる処理の実行時間を測定するランタイム負荷測定手段、
前記基本モジュール負荷測定手段が測定した実行時間および前記ランタイム負荷測定手段が測定した実行時間に基づき、前記実行規則によって前後して実行される2以上の基本モジュールを、前記実行ユニットに対して1組みとして割り当てられるように結合し、または、結合した2以上の基本モジュールを再分割することによる粒度調整を実行する粒度調整手段、
として機能させるプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008169084A JP4381459B1 (ja) | 2008-06-27 | 2008-06-27 | 情報処理装置、粒度調整方法およびプログラム |
US12/419,114 US7788672B2 (en) | 2008-06-27 | 2009-04-06 | System for controlling assignment of a plurality of modules of a program to available execution units based on speculative executing and granularity adjusting |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008169084A JP4381459B1 (ja) | 2008-06-27 | 2008-06-27 | 情報処理装置、粒度調整方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP4381459B1 true JP4381459B1 (ja) | 2009-12-09 |
JP2010009395A JP2010009395A (ja) | 2010-01-14 |
Family
ID=41449237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008169084A Expired - Fee Related JP4381459B1 (ja) | 2008-06-27 | 2008-06-27 | 情報処理装置、粒度調整方法およびプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7788672B2 (ja) |
JP (1) | JP4381459B1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9678775B1 (en) * | 2008-04-09 | 2017-06-13 | Nvidia Corporation | Allocating memory for local variables of a multi-threaded program for execution in a single-threaded environment |
US8776030B2 (en) * | 2008-04-09 | 2014-07-08 | Nvidia Corporation | Partitioning CUDA code for execution by a general purpose processor |
US9390130B2 (en) * | 2008-12-12 | 2016-07-12 | Hewlett Packard Enterprise Development Lp | Workload management in a parallel database system |
KR101662769B1 (ko) * | 2010-03-09 | 2016-10-05 | 삼성전자주식회사 | 고속 정렬 장치 및 방법 |
US9183109B2 (en) * | 2010-05-25 | 2015-11-10 | Intel Corporation | Method and system for analyzing the performance of multi-threaded applications |
US9128747B2 (en) * | 2012-03-20 | 2015-09-08 | Infosys Limited | Methods and systems for optimizing the performance of software applications at runtime |
US8893080B2 (en) * | 2012-08-15 | 2014-11-18 | Telefonaktiebolaget L M Ericsson (Publ) | Parallelization of dataflow actors with local state |
US9740529B1 (en) * | 2013-12-05 | 2017-08-22 | The Mathworks, Inc. | High throughput synchronous resource-constrained scheduling for model-based design |
US10802929B2 (en) | 2018-01-03 | 2020-10-13 | Tesla, Inc. | Parallel processing system runtime state reload |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL98248A0 (en) * | 1991-05-23 | 1992-06-21 | Ibm Israel | Instruction scheduler for a computer |
US6487577B1 (en) * | 1998-06-29 | 2002-11-26 | Intel Corporation | Distributed compiling |
US6230313B1 (en) * | 1998-12-23 | 2001-05-08 | Cray Inc. | Parallelism performance analysis based on execution trace information |
JP2002049603A (ja) | 2000-08-03 | 2002-02-15 | Toshiba Corp | 動的負荷分散方法及び動的負荷分散装置 |
JP3810631B2 (ja) * | 2000-11-28 | 2006-08-16 | 富士通株式会社 | 情報処理プログラムを記録した記録媒体 |
US6854048B1 (en) * | 2001-08-08 | 2005-02-08 | Sun Microsystems | Speculative execution control with programmable indicator and deactivation of multiaccess recovery mechanism |
JP2003323304A (ja) | 2002-04-30 | 2003-11-14 | Fujitsu Ltd | 投機タスク生成方法および装置 |
JP3983619B2 (ja) | 2002-07-30 | 2007-09-26 | 大日本印刷株式会社 | 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体 |
US6970985B2 (en) * | 2002-07-09 | 2005-11-29 | Bluerisc Inc. | Statically speculative memory accessing |
JP2004078617A (ja) | 2002-08-19 | 2004-03-11 | Nec Corp | アプリケーションの並列処理方法 |
US20040268095A1 (en) * | 2003-06-30 | 2004-12-30 | Tatiana Shpeisman | Efficient implementation of null reference check |
US7559062B2 (en) * | 2003-10-30 | 2009-07-07 | Alcatel Lucent | Intelligent scheduler for multi-level exhaustive scheduling |
US20050144602A1 (en) * | 2003-12-12 | 2005-06-30 | Tin-Fook Ngai | Methods and apparatus to compile programs to use speculative parallel threads |
JP2005258920A (ja) | 2004-03-12 | 2005-09-22 | Fujitsu Ltd | マルチスレッド実行方法、マルチスレッド実行プログラム、およびマルチスレッド実行装置 |
KR100806274B1 (ko) * | 2005-12-06 | 2008-02-22 | 한국전자통신연구원 | 멀티 쓰레디드 프로세서 기반의 병렬 시스템을 위한 적응형실행 방법 |
JP2007226589A (ja) * | 2006-02-24 | 2007-09-06 | Oki Electric Ind Co Ltd | プログラム変換システム |
US8302082B2 (en) * | 2006-06-07 | 2012-10-30 | Intel Corporation | Methods and apparatus to provide a managed runtime environment in a sequestered partition |
-
2008
- 2008-06-27 JP JP2008169084A patent/JP4381459B1/ja not_active Expired - Fee Related
-
2009
- 2009-04-06 US US12/419,114 patent/US7788672B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010009395A (ja) | 2010-01-14 |
US20090328049A1 (en) | 2009-12-31 |
US7788672B2 (en) | 2010-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4381459B1 (ja) | 情報処理装置、粒度調整方法およびプログラム | |
JP4621786B2 (ja) | 情報処理装置、並列処理最適化方法およびプログラム | |
US10095657B2 (en) | Processor, accelerator, and direct memory access controller within a core reading/writing local synchronization flag area for parallel | |
JP4936517B2 (ja) | ヘテロジニアス・マルチプロセッサシステムの制御方法及びマルチグレイン並列化コンパイラ | |
JP6319880B2 (ja) | 並列性の抽出方法及びプログラムの作成方法 | |
US8074211B2 (en) | Computer program, multiprocessor system, and grouping method | |
JP4491026B2 (ja) | 情報処理装置、プログラム処理方法及びコンピュータプログラム | |
JP2011070256A (ja) | デバッガおよびプログラム | |
JP2013524386A (ja) | ランスペース方法、システムおよび装置 | |
JP2010079622A (ja) | マルチコアプロセッサシステム、および、そのタスク制御方法 | |
US20210319298A1 (en) | Compute-based subgraph partitioning of deep learning models for framework integration | |
WO2020121840A1 (ja) | 演算制御装置 | |
JP4908363B2 (ja) | 情報処理装置、並列処理最適化方法およびプログラム | |
US20120137300A1 (en) | Information Processor and Information Processing Method | |
Li et al. | XeFlow: Streamlining inter-processor pipeline execution for the discrete CPU-GPU platform | |
US20210319369A1 (en) | Multi-level caching for dynamic deep learning models | |
US11941437B2 (en) | Graph partitioning to exploit batch-level parallelism | |
JP7397179B2 (ja) | 階層化オブジェクトメモリ配置のためのランタイム装置の管理 | |
WO2019188182A1 (ja) | プリフェッチコントローラ | |
JP2010113529A (ja) | 変換装置、プログラムおよび変換方法 | |
WO2019188171A1 (ja) | コード生成方法、コード生成装置 | |
JP5017396B2 (ja) | 情報処理装置およびプログラムの検証方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090825 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090915 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121002 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121002 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131002 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |