JP2011530768A - ソフトウェア・アプリケーションの性能向上 - Google Patents
ソフトウェア・アプリケーションの性能向上 Download PDFInfo
- Publication number
- JP2011530768A JP2011530768A JP2011522999A JP2011522999A JP2011530768A JP 2011530768 A JP2011530768 A JP 2011530768A JP 2011522999 A JP2011522999 A JP 2011522999A JP 2011522999 A JP2011522999 A JP 2011522999A JP 2011530768 A JP2011530768 A JP 2011530768A
- Authority
- JP
- Japan
- Prior art keywords
- code
- input code
- intermediate representation
- parallel
- data flow
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/456—Parallelism detection
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/52—Binary to binary
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US18890508P | 2008-08-13 | 2008-08-13 | |
| US61/188,905 | 2008-08-13 | ||
| PCT/US2009/004649 WO2010019254A1 (en) | 2008-08-13 | 2009-08-13 | Software application performance enhancement |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2015000240A Division JP2015084251A (ja) | 2008-08-13 | 2015-01-05 | ソフトウェア・アプリケーションの性能向上 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2011530768A true JP2011530768A (ja) | 2011-12-22 |
| JP2011530768A5 JP2011530768A5 (enExample) | 2012-09-27 |
Family
ID=41669151
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2011522999A Pending JP2011530768A (ja) | 2008-08-13 | 2009-08-13 | ソフトウェア・アプリケーションの性能向上 |
| JP2015000240A Pending JP2015084251A (ja) | 2008-08-13 | 2015-01-05 | ソフトウェア・アプリケーションの性能向上 |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2015000240A Pending JP2015084251A (ja) | 2008-08-13 | 2015-01-05 | ソフトウェア・アプリケーションの性能向上 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US8799884B2 (enExample) |
| EP (1) | EP2329389A4 (enExample) |
| JP (2) | JP2011530768A (enExample) |
| CN (1) | CN102165428B (enExample) |
| WO (1) | WO2010019254A1 (enExample) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015099494A (ja) * | 2013-11-19 | 2015-05-28 | 日本電気株式会社 | 情報処理装置、情報処理方法およびプログラム |
Families Citing this family (42)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10713069B2 (en) * | 2008-09-04 | 2020-07-14 | Synopsys, Inc. | Software and hardware emulation system |
| US10621092B2 (en) | 2008-11-24 | 2020-04-14 | Intel Corporation | Merging level cache and data cache units having indicator bits related to speculative execution |
| US9189233B2 (en) | 2008-11-24 | 2015-11-17 | Intel Corporation | Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program to multiple parallel threads |
| US9672019B2 (en) | 2008-11-24 | 2017-06-06 | Intel Corporation | Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program to multiple parallel threads |
| US9081928B2 (en) * | 2009-06-02 | 2015-07-14 | Vector Fabrics, B.V. | Embedded system development |
| US8832663B2 (en) * | 2009-11-23 | 2014-09-09 | International Business Machines Corporation | Thread serialization and disablement tool |
| US8549523B2 (en) | 2009-11-23 | 2013-10-01 | International Business Machines Corporation | Performing runtime analysis and control of folding identified threads by assuming context of another thread and executing in lieu of another thread folding tool |
| US8881106B2 (en) * | 2009-12-26 | 2014-11-04 | Intel Corporation | Debugging parallel software using speculatively executed code sequences in a multiple core environment |
| WO2011133030A1 (en) | 2010-04-23 | 2011-10-27 | Vector Fabrics B.V. | Improved embedded system performance |
| US8645934B2 (en) * | 2010-05-06 | 2014-02-04 | International Business Machines Corporation | Simultaneous compiler binary optimizations |
| CN101853183B (zh) * | 2010-05-14 | 2012-11-21 | 中国科学院声学研究所 | 一种用于动态管理片上指令便签存储器的方法 |
| US8412744B2 (en) * | 2010-06-23 | 2013-04-02 | Microsoft Corporation | Visualization of runtime analysis across dynamic boundaries |
| US8938721B2 (en) * | 2010-07-21 | 2015-01-20 | Microsoft Corporation | Measuring actual end user performance and availability of web applications |
| US8661424B2 (en) * | 2010-09-02 | 2014-02-25 | Honeywell International Inc. | Auto-generation of concurrent code for multi-core applications |
| US9678747B2 (en) | 2011-02-08 | 2017-06-13 | Openspan, Inc. | Code injection and code interception in an operating system with multiple subsystem environments |
| US9785470B2 (en) * | 2011-06-20 | 2017-10-10 | Microsoft Technology Licensing, Llc | Memory management model and interface for unmodified applications |
| US10466989B2 (en) | 2011-09-02 | 2019-11-05 | Microsoft Technology Licensing, Llc. | Fast presentation of markup content having script code |
| WO2013048468A1 (en) | 2011-09-30 | 2013-04-04 | Intel Corporation | Instruction and logic to perform dynamic binary translation |
| CN103365668B (zh) * | 2012-03-26 | 2017-12-26 | 联想(北京)有限公司 | 一种动态链接库装载和链接的方法、装置 |
| US9038054B1 (en) * | 2012-06-01 | 2015-05-19 | Google Inc. | System and method for automated product version rollback |
| US8909990B2 (en) | 2012-08-04 | 2014-12-09 | Microsoft Corporation | Historical software diagnostics using lightweight process snapshots |
| US9411715B2 (en) * | 2012-12-12 | 2016-08-09 | Nvidia Corporation | System, method, and computer program product for optimizing the management of thread stack memory |
| US9292898B2 (en) * | 2013-03-15 | 2016-03-22 | Intel Corporation | Conditional end of thread mechanism |
| US9880842B2 (en) | 2013-03-15 | 2018-01-30 | Intel Corporation | Using control flow data structures to direct and track instruction execution |
| US9891936B2 (en) | 2013-09-27 | 2018-02-13 | Intel Corporation | Method and apparatus for page-level monitoring |
| WO2015060850A1 (en) * | 2013-10-24 | 2015-04-30 | Intel Corporation | Conjugate code generation for efficient dynamic optimizations |
| US10289411B2 (en) | 2013-11-18 | 2019-05-14 | Microsoft Technology Licensing, Llc | Diagnosing production applications |
| US9448788B1 (en) * | 2014-01-22 | 2016-09-20 | SecondWrite LLC | Binary rewriting system |
| US9632915B2 (en) | 2014-10-29 | 2017-04-25 | Microsoft Technology Licensing, Llc. | Historical control flow visualization in production diagnostics |
| US9513832B2 (en) | 2015-03-25 | 2016-12-06 | International Business Machines Corporation | Accessing global data from accelerator devices |
| CN105242929B (zh) * | 2015-10-13 | 2018-07-17 | 西安交通大学 | 一种针对多核平台的二进制程序自动并行化的设计方法 |
| KR20170047957A (ko) * | 2015-10-26 | 2017-05-08 | 삼성전자주식회사 | 반도체 장치의 동작 방법 및 반도체 시스템 |
| US9823998B2 (en) * | 2015-12-02 | 2017-11-21 | International Business Machines Corporation | Trace recovery via statistical reasoning |
| CN106933642B (zh) * | 2015-12-29 | 2021-04-27 | 阿里巴巴集团控股有限公司 | 应用程序的处理方法及处理装置 |
| US10509634B2 (en) | 2016-03-30 | 2019-12-17 | International Business Machines Corporation | Data flow analysis for dynamic application, skipping views |
| US10078505B2 (en) * | 2016-07-20 | 2018-09-18 | International Business Machines Corporation | Partial connection of iterations during loop unrolling |
| US10481876B2 (en) | 2017-01-11 | 2019-11-19 | Microsoft Technology Licensing, Llc | Methods and systems for application rendering |
| KR102327913B1 (ko) * | 2017-04-28 | 2021-11-19 | 엔에이치엔 주식회사 | 블록 기반 데이터 분석 방법 및 시스템 |
| US10503626B2 (en) | 2018-01-29 | 2019-12-10 | Oracle International Corporation | Hybrid instrumentation framework for multicore low power processors |
| US11113059B1 (en) * | 2021-02-10 | 2021-09-07 | Next Silicon Ltd | Dynamic allocation of executable code for multi-architecture heterogeneous computing |
| CN112988593B (zh) * | 2021-04-13 | 2024-02-06 | 苏州沁游网络科技有限公司 | 代码分析方法、装置、计算机设备及存储介质 |
| CN119938309B (zh) * | 2024-12-09 | 2025-12-05 | 浙江大学 | 一种自动提取并行应用程序热点代码的方法 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001075802A (ja) * | 1999-09-08 | 2001-03-23 | Fujitsu Ltd | 投機的実行装置および検証装置 |
| WO2006111705A2 (en) * | 2005-04-20 | 2006-10-26 | Transitive Limited | Method and apparatus for precise handling of exceptions during program code conversion |
| JP2007531075A (ja) * | 2003-07-15 | 2007-11-01 | トランジティブ リミテッド | プログラム・コードを変換するための共用コード・キャッシングの方法および装置 |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB9600823D0 (en) * | 1996-01-16 | 1996-03-20 | British Telecomm | Distributed processing |
| US5966537A (en) * | 1997-05-28 | 1999-10-12 | Sun Microsystems, Inc. | Method and apparatus for dynamically optimizing an executable computer program using input data |
| US8121828B2 (en) * | 1999-01-28 | 2012-02-21 | Ati Technologies Ulc | Detecting conditions for transfer of execution from one computer instruction stream to another and executing transfer on satisfaction of the conditions |
| US8127121B2 (en) * | 1999-01-28 | 2012-02-28 | Ati Technologies Ulc | Apparatus for executing programs for a first computer architechture on a computer of a second architechture |
| US6986128B2 (en) * | 2000-01-07 | 2006-01-10 | Sony Computer Entertainment Inc. | Multiple stage program recompiler and method |
| JP2003173262A (ja) * | 2001-12-06 | 2003-06-20 | Hitachi Ltd | プログラムチューニングシステムとプログラムチューニング方法およびプログラムと記録媒体 |
| US7516446B2 (en) * | 2002-06-25 | 2009-04-07 | International Business Machines Corporation | Method and apparatus for efficient and precise datarace detection for multithreaded object-oriented programs |
| US6970985B2 (en) * | 2002-07-09 | 2005-11-29 | Bluerisc Inc. | Statically speculative memory accessing |
| US8037465B2 (en) * | 2005-09-30 | 2011-10-11 | Intel Corporation | Thread-data affinity optimization using compiler |
| US8261270B2 (en) * | 2006-06-20 | 2012-09-04 | Google Inc. | Systems and methods for generating reference results using a parallel-processing computer system |
| US8271943B2 (en) * | 2007-04-24 | 2012-09-18 | National Instruments Corporation | Automatically generating a graphical program with a plurality of models of computation |
-
2009
- 2009-08-13 CN CN200980131425.3A patent/CN102165428B/zh not_active Expired - Fee Related
- 2009-08-13 EP EP09806977A patent/EP2329389A4/en not_active Withdrawn
- 2009-08-13 JP JP2011522999A patent/JP2011530768A/ja active Pending
- 2009-08-13 US US12/583,188 patent/US8799884B2/en not_active Expired - Fee Related
- 2009-08-13 WO PCT/US2009/004649 patent/WO2010019254A1/en not_active Ceased
-
2015
- 2015-01-05 JP JP2015000240A patent/JP2015084251A/ja active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001075802A (ja) * | 1999-09-08 | 2001-03-23 | Fujitsu Ltd | 投機的実行装置および検証装置 |
| JP2007531075A (ja) * | 2003-07-15 | 2007-11-01 | トランジティブ リミテッド | プログラム・コードを変換するための共用コード・キャッシングの方法および装置 |
| WO2006111705A2 (en) * | 2005-04-20 | 2006-10-26 | Transitive Limited | Method and apparatus for precise handling of exceptions during program code conversion |
Non-Patent Citations (2)
| Title |
|---|
| CSNG199900563004; 小池汎平、山名早人、山口喜教: '投機的 制御/データ依存グラフとJava Jog-time Analyzer' 情報処理学会論文誌 Vol.40,No.SIG1(PRO 2), 19990215, pp.32〜41, 社団法人情報処理学会 * |
| JPN6013061903; 小池汎平、山名早人、山口喜教: '投機的 制御/データ依存グラフとJava Jog-time Analyzer' 情報処理学会論文誌 Vol.40,No.SIG1(PRO 2), 19990215, pp.32〜41, 社団法人情報処理学会 * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015099494A (ja) * | 2013-11-19 | 2015-05-28 | 日本電気株式会社 | 情報処理装置、情報処理方法およびプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| US20100042981A1 (en) | 2010-02-18 |
| EP2329389A4 (en) | 2013-02-27 |
| EP2329389A1 (en) | 2011-06-08 |
| CN102165428A (zh) | 2011-08-24 |
| WO2010019254A1 (en) | 2010-02-18 |
| JP2015084251A (ja) | 2015-04-30 |
| CN102165428B (zh) | 2015-05-20 |
| US8799884B2 (en) | 2014-08-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2015084251A (ja) | ソフトウェア・アプリケーションの性能向上 | |
| Ainsworth et al. | Software prefetching for indirect memory accesses | |
| US11216258B2 (en) | Direct function call substitution using preprocessor | |
| US6973644B2 (en) | Program interpreter | |
| US8291197B2 (en) | Aggressive loop parallelization using speculative execution mechanisms | |
| US20080244544A1 (en) | Using hardware checkpoints to support software based speculation | |
| US8990786B2 (en) | Program optimizing apparatus, program optimizing method, and program optimizing article of manufacture | |
| US20110126179A1 (en) | Method and System for Dynamic Patching Software Using Source Code | |
| Ebcioglu et al. | Optimizations and oracle parallelism with dynamic translation | |
| Barik et al. | Interprocedural load elimination for dynamic optimization of parallel programs | |
| Yardimci et al. | Dynamic parallelization and mapping of binary executables on hierarchical platforms | |
| Oh et al. | A generalized framework for automatic scripting language parallelization | |
| Campanoni et al. | A highly flexible, parallel virtual machine: Design and experience of ILDJIT | |
| Zheng et al. | Turbo DiSL: partial evaluation for high-level bytecode instrumentation | |
| Muller et al. | Modeling and analyzing evaluation cost of CUDA kernels | |
| Wang et al. | Code transformations for enhancing the performance of speculatively parallel threads | |
| Ravi et al. | Semi-automatic restructuring of offloadable tasks for many-core accelerators | |
| Chuang et al. | Dynamic profile driven code version selection | |
| Kumar et al. | A Modern Parallel Register Sharing Architecture for Code Compilation | |
| Yardımcı et al. | Dynamic parallelization and vectorization of binary executables on hierarchical platforms | |
| Guan et al. | Multithreaded optimizing technique for dynamic binary translator CrossBit | |
| Fan et al. | Towards an event-driven programming model for OpenMP | |
| Fan et al. | Supporting asynchronization in OpenMP for event-driven programming | |
| Oni et al. | Fine-Grained Overhead Analysis Utilizing Atomic Instructions for Cross-ISA Dynamic Binary Translation on Multicore Processor | |
| Lee et al. | Branch-on-random |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120813 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120813 |
|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20130305 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20130305 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131217 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140317 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140902 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150105 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20150113 |
|
| A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20150320 |