JP5186334B2 - 変換装置、プログラムおよび変換方法 - Google Patents
変換装置、プログラムおよび変換方法 Download PDFInfo
- Publication number
- JP5186334B2 JP5186334B2 JP2008285690A JP2008285690A JP5186334B2 JP 5186334 B2 JP5186334 B2 JP 5186334B2 JP 2008285690 A JP2008285690 A JP 2008285690A JP 2008285690 A JP2008285690 A JP 2008285690A JP 5186334 B2 JP5186334 B2 JP 5186334B2
- Authority
- JP
- Japan
- Prior art keywords
- variable
- value
- shared variable
- update
- processing
- 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
Landscapes
- Devices For Executing Special Programs (AREA)
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 (14)
- プログラムを変換する変換装置であって、
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以上のプログラムのそれぞれに割り当てた前記固有変数の値から、前記共有変数の値を算出して返す算出処理に置き換える参照置換部と、
して機能させるプログラム。
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 JP2010113529A (ja) | 2010-05-20 |
JP5186334B2 true 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) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5681473B2 (ja) * | 2010-12-15 | 2015-03-11 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | プログラムの最適化装置、最適化方法および最適化プログラム |
JP5218585B2 (ja) * | 2011-03-15 | 2013-06-26 | オムロン株式会社 | 制御装置およびシステムプログラム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4445651A1 (de) * | 1994-12-21 | 1996-06-27 | Bosch Gmbh Robert | Verfahren zur Steuerung von technischen Vorgängen |
-
2008
- 2008-11-06 JP JP2008285690A patent/JP5186334B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010113529A (ja) | 2010-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9940229B2 (en) | Technologies for persistent memory programming | |
JP4702962B2 (ja) | メモリ制御装置、プログラム及び方法 | |
US9424013B2 (en) | System and method for reducing transactional abort rates using compiler optimization techniques | |
CN107066241B (zh) | 用于动态加载基于图的计算的系统和方法 | |
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 | |
US8286152B2 (en) | Systems, methods, and computer products for just-in-time compilation for virtual machine environments for fast application startup and maximal run-time performance | |
US7730463B2 (en) | Efficient generation of SIMD code in presence of multi-threading and other false sharing conditions and in machines having memory protection support | |
US9292446B2 (en) | Speculative prefetching of remote data | |
US10372509B2 (en) | Composable and cancelable dataflow continuation passing | |
US8499298B2 (en) | Multiprocessing transaction recovery manager | |
US8006238B2 (en) | Workload partitioning in a parallel system with hetergeneous alignment constraints | |
KR20040094888A (ko) | 단일 스레드 응용을 지원하기 위한 시간-멀티플렉스된스펙큘레이티브 멀티 스레딩 | |
JP5186334B2 (ja) | 変換装置、プログラムおよび変換方法 | |
JP5181183B2 (ja) | 変換装置、サーバシステム、変換方法およびプログラム | |
Groves | Verifying Michael and Scott's lock-free queue algorithm using trace reduction | |
CN112114817B (zh) | 基于cobol语言的数据字典字段信息获取方法及装置 | |
US8701119B1 (en) | Parsing XML in software on CPU with multiple execution units | |
EP2176761B1 (en) | Object model for transactional memory | |
US20200174810A1 (en) | Method and apparatus for interpreting bytecode instruction stream | |
US20130166887A1 (en) | Data processing apparatus and data processing method | |
Bugerya et al. | Parallelization of implementations of purely sequential algorithms | |
JP7393404B2 (ja) | コンパイル方法、コンパイル装置、電子デバイス、記憶媒体及びプログラム | |
US20050251795A1 (en) | Method, system, and program for optimizing code |
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 |