JP2010113529A - 変換装置、プログラムおよび変換方法 - Google Patents
変換装置、プログラムおよび変換方法 Download PDFInfo
- Publication number
- JP2010113529A JP2010113529A JP2008285690A JP2008285690A JP2010113529A JP 2010113529 A JP2010113529 A JP 2010113529A JP 2008285690 A JP2008285690 A JP 2008285690A JP 2008285690 A JP2008285690 A JP 2008285690A JP 2010113529 A JP2010113529 A JP 2010113529A
- Authority
- JP
- Japan
- Prior art keywords
- variable
- value
- shared variable
- processing
- update
- 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.)
- Granted
Links
Images
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
【解決手段】プログラムを変換する変換装置であって、2以上のプログラムのそれぞれに含まれる共有変数の更新処理を、2以上のプログラムのそれぞれに個別に割り当てた固有変数の更新処理に置き換える更新置換部32と、少なくとも1つのプログラムに含まれる共有変数の参照処理を、2以上のプログラムのそれぞれに割り当てた固有変数の値から、共有変数の値を算出して返す算出処理に置き換える参照置換部34と、を備える。
【選択図】図4
Description
12 プログラム格納部
14 変換部
16 実行部
20 変換装置
32 更新置換部
34 参照置換部
36 代入置換部
101 第1のメソッド
102 第2のメソッド
103 第3のメソッド
104 第4のメソッド
105 第5のメソッド
106 第6のメソッド
1900 コンピュータ
2000 CPU
2010 ROM
2020 RAM
2030 通信インターフェイス
2040 ハードディスクドライブ
2050 フレキシブルディスク・ドライブ
2060 CD−ROMドライブ
2070 入出力チップ
2075 グラフィック・コントローラ
2080 表示装置
2082 ホスト・コントローラ
2084 入出力コントローラ
2090 フレキシブルディスク
2095 CD−ROM
Claims (15)
- プログラムを変換する変換装置であって、
2以上のプログラムのそれぞれに含まれる共有変数の更新処理を、前記2以上のプログラムのそれぞれに個別に割り当てた固有変数の更新処理に置き換える更新置換部と、
少なくとも1つのプログラムに含まれる前記共有変数の参照処理を、前記2以上のプログラムのそれぞれに割り当てた前記固有変数の値から、前記共有変数の値を算出して返す算出処理に置き換える参照置換部と、
を備える変換装置。 - 前記更新置換部は、前記共有変数の更新処理を行う更新処理コードを、前記固有変数の更新処理を行う更新処理コードに置き換え、
前記参照置換部は、前記共有変数の参照処理を行う参照処理コードを、前記算出処理を行う算出処理コードに置き換える
請求項1に記載の変換装置。 - 前記更新置換部は、前記共有変数の更新処理が前記共有変数に対して交換則および結合則を満たす演算を施すと判断した場合に、前記共有変数の更新処理を、前記固有変数の更新処理に置き換え、
前記参照置換部は、前記更新置換部により更新処理が置き換えられた前記共有変数の参照処理を、前記2以上のプログラムのそれぞれに割り当てられた前記固有変数の値を前記演算によって戻り値に反映させる前記算出処理に置き換える
請求項1または2に記載の変換装置。 - 少なくとも1つのプログラムに含まれる前記共有変数への代入処理を、前記算出処理によって算出される前記共有変数の値が前記共有変数に代入される値と同一となるようにそれぞれの前記固有変数の値を設定する設定処理に置き換える代入置換部を更に備える請求項1から3のいずれかに記載の変換装置。
- 前記更新置換部は、前記共有変数の更新処理が、前記共有変数に対して交換則および結合則を満たし、かつ単位元を有する演算を施すと判断した場合に、前記共有変数の更新処理を、前記固有変数の更新処理に置き換え、
前記代入置換部は、少なくとも1つのプログラムに含まれる前記共有変数への代入処理を、一の前記固有変数の値を前記共有変数に代入される値に設定し、他の前記固有変数の値を単位元に設定する前記設定処理に置き換える請求項4に記載の変換装置。 - 前記更新置換部は、前記共有変数に値を加える更新処理を、前記固有変数に値を加える更新処理に置き換え、
前記参照置換部は、前記共有変数の参照処理を、それぞれの前記固有変数の値の合計を算出して返す前記算出処理に置き換える
請求項4または5に記載の変換装置。 - 前記参照置換部が、前記共有変数の参照処理をそれぞれの前記固有変数の値の合計を算出して返す前記算出処理に置き換えた場合において、前記代入置換部は、前記共有変数への代入処理を、一の前記固有変数の値を前記共有変数に代入される値に設定し、他の前記固有変数の値を0に設定する前記設定処理に置き換える請求項6に記載の変換装置。
- 前記更新置換部は、前記共有変数に値を乗じる更新処理を、前記固有変数に値を乗じる更新処理に置き換え、
前記参照置換部は、前記共有変数の参照処理を、それぞれの前記固有変数の値の積を算出して返す前記算出処理に置き換える
請求項4から7のいずれかに記載の変換装置。 - 前記参照置換部が、前記共有変数の参照処理をそれぞれの前記固有変数の値の積を算出して返す前記算出処理に置き換えた場合において、前記代入置換部は、前記共有変数への代入処理を、一の前記固有変数の値を前記共有変数に代入される値に設定し、他の前記固有変数の値を1に設定する前記設定処理に置き換える請求項4から8のいずれかに記載の変換装置。
- 前記参照置換部は、前記共有変数の参照処理がアトミックな処理の中で行われるか否かを判断し、アトミックな処理の中で行われない場合に、それぞれの前記固有変数の値から、前記共有変数の値をアトミックに算出して返す前記算出処理に置き換える請求項1から9のいずれかに記載の変換装置。
- 前記代入置換部は、前記共有変数への代入処理がアトミックな処理の中で行われるか否かを判断し、アトミックな処理の中で行われない場合に、前記算出処理によって算出される前記共有変数の値が前記共有変数に代入される値と同一となるようにそれぞれの前記固有変数の値をアトミックに設定する設定処理に置き換える請求項4から9のいずれかに記載の変換装置。
- 新たなプログラムが追加されたことに応じて、前記更新置換部は、前記新たなプログラムに含まれる共有変数の更新処理を、前記新たなプログラムに割り当てた固有変数の更新処理に置き換え、
前記参照置換部は、前記共有変数の参照処理を、前記2以上のプログラムおよび前記新たなプログラムのそれぞれに割り当てた前記固有変数の値から、前記共有変数の値を算出して返す算出処理に再度置き換える
請求項1から11のいずれかに記載の変換装置。 - プログラムを変換する変換装置であって、
2以上のプログラムのそれぞれに含まれる共有変数の更新処理が、前記共有変数に対して交換則および結合則を満たし、かつ単位元を有する演算を施すと判断した場合に、前記共有変数の更新処理を行う更新処理コードを、前記2以上のプログラムのそれぞれに個別に割り当てた固有変数の更新処理を行う更新処理コードに置き換える更新置換部と、
少なくとも1つのプログラムに含まれる、前記更新置換部により更新処理が置き換えられた前記共有変数の参照処理を行う参照処理コードを、前記2以上のプログラムのそれぞれに割り当てた前記固有変数の値を前記演算によって戻り値に反映させて返す算出処理を行う算出処理コードであって、前記共有変数の参照処理がアトミックな処理の中で行われない場合には前記算出処理をアトミックに行う算出処理コードに置き換える参照置換部と、
少なくとも1つのプログラムに含まれる前記共有変数への代入処理を行う代入処理コードを、一の前記固有変数の値を前記共有変数に代入される値に設定し、他の前記固有変数の値を単位元に設定する設定処理を行う設定処理コードであって、前記共有変数への代入処理がアトミックな処理の中で行われない場合には前記代入処理をアトミックに行う設定処理コードに置き換える代入置換部と、
を備える変換装置。 - プログラムを変換する変換装置として、コンピュータを機能させるためのプログラムであって、
前記コンピュータを、
2以上のプログラムのそれぞれに含まれる共有変数の更新処理を、前記2以上のプログラムのそれぞれに個別に割り当てた固有変数の更新処理に置き換える更新置換部と、
少なくとも1つのプログラムに含まれる前記共有変数の参照処理を、前記2以上のプログラムのそれぞれに割り当てた前記固有変数の値から、前記共有変数の値を算出して返す算出処理に置き換える参照置換部と、
して機能させるプログラム。 - プログラムを変換する変換方法であって、
2以上のプログラムのそれぞれに含まれる共有変数の更新処理を、前記2以上のプログラムのそれぞれに個別に割り当てた固有変数の更新処理に置き換え、
少なくとも1つのプログラムに含まれる前記共有変数の参照処理を、前記2以上のプログラムのそれぞれに割り当てた前記固有変数の値から、前記共有変数の値を算出して返す算出処理に置き換える
変換方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008285690A JP5186334B2 (ja) | 2008-11-06 | 2008-11-06 | 変換装置、プログラムおよび変換方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008285690A JP5186334B2 (ja) | 2008-11-06 | 2008-11-06 | 変換装置、プログラムおよび変換方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010113529A true JP2010113529A (ja) | 2010-05-20 |
JP5186334B2 JP5186334B2 (ja) | 2013-04-17 |
Family
ID=42302042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008285690A Expired - Fee Related JP5186334B2 (ja) | 2008-11-06 | 2008-11-06 | 変換装置、プログラムおよび変換方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5186334B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012128628A (ja) * | 2010-12-15 | 2012-07-05 | Internatl Business Mach Corp <Ibm> | プログラムの最適化装置、最適化方法および最適化プログラム |
EP2687931A4 (en) * | 2011-03-15 | 2015-08-26 | Omron Tateisi Electronics Co | CONTROL DEVICE AND SYSTEM PROGRAM |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10511484A (ja) * | 1994-12-21 | 1998-11-04 | ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング | 技術的プロセスの制御方法 |
-
2008
- 2008-11-06 JP JP2008285690A patent/JP5186334B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10511484A (ja) * | 1994-12-21 | 1998-11-04 | ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング | 技術的プロセスの制御方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012128628A (ja) * | 2010-12-15 | 2012-07-05 | Internatl Business Mach Corp <Ibm> | プログラムの最適化装置、最適化方法および最適化プログラム |
US8990786B2 (en) | 2010-12-15 | 2015-03-24 | International Business Machines Corporation | Program optimizing apparatus, program optimizing method, and program optimizing article of manufacture |
EP2687931A4 (en) * | 2011-03-15 | 2015-08-26 | Omron Tateisi Electronics Co | CONTROL DEVICE AND SYSTEM PROGRAM |
US9778630B2 (en) | 2011-03-15 | 2017-10-03 | Omron Corporation | Control device and system program for maintaining global variable and reference data consistency during parallel processing of multiple tasks |
Also Published As
Publication number | Publication date |
---|---|
JP5186334B2 (ja) | 2013-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9940229B2 (en) | Technologies for persistent memory programming | |
JP4702962B2 (ja) | メモリ制御装置、プログラム及び方法 | |
JP5733860B2 (ja) | 依存問題の効率的並列計算 | |
US9424013B2 (en) | System and method for reducing transactional abort rates using compiler optimization techniques | |
EP2176763B1 (en) | Memory transaction grouping | |
EP0806725B1 (en) | Method and apparatus for early insertion of assembler code for optimization | |
US10169092B2 (en) | System, method, program, and code generation unit | |
US7730463B2 (en) | Efficient generation of SIMD code in presence of multi-threading and other false sharing conditions and in machines having memory protection support | |
JP2014146355A (ja) | トランザクションを用いるシーケンシャルフレームワークの並行化 | |
JP2011527788A5 (ja) | ||
US10372509B2 (en) | Composable and cancelable dataflow continuation passing | |
US8499298B2 (en) | Multiprocessing transaction recovery manager | |
US20100011339A1 (en) | Single instruction multiple data (simd) code generation for parallel loops using versioning and scheduling | |
US8006238B2 (en) | Workload partitioning in a parallel system with hetergeneous alignment constraints | |
KR20040094888A (ko) | 단일 스레드 응용을 지원하기 위한 시간-멀티플렉스된스펙큘레이티브 멀티 스레딩 | |
CN114253713B (zh) | 一种基于reactor的异步批处理方法及系统 | |
EP4398101A1 (en) | Task scheduling execution method, and generation method and apparatus for task scheduling execution instruction | |
JP5186334B2 (ja) | 変換装置、プログラムおよび変換方法 | |
JP5181183B2 (ja) | 変換装置、サーバシステム、変換方法およびプログラム | |
US20230236878A1 (en) | Efficiently launching tasks on a processor | |
Groves | Verifying Michael and Scott's lock-free queue algorithm using trace reduction | |
US8701119B1 (en) | Parsing XML in software on CPU with multiple execution units | |
CN112114817B (zh) | 基于cobol语言的数据字典字段信息获取方法及装置 | |
US8196123B2 (en) | Object model for transactional memory | |
US20200174810A1 (en) | Method and apparatus for interpreting bytecode instruction stream |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110908 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120731 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20120801 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120815 |
|
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: 20130108 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130121 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160125 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |