JP2011530768A - ソフトウェア・アプリケーションの性能向上 - Google Patents

ソフトウェア・アプリケーションの性能向上 Download PDF

Info

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
Application number
JP2011522999A
Other languages
English (en)
Japanese (ja)
Other versions
JP2011530768A5 (enExample
Inventor
ドライアー・ロバート・スコット
ジョンーンズ・ジョル・ケビン
シャープ・マイケル・ダグラス
バエブ・イワン・ディミトロフ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TransCella Inc
Original Assignee
TransCella Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by TransCella Inc filed Critical TransCella Inc
Publication of JP2011530768A publication Critical patent/JP2011530768A/ja
Publication of JP2011530768A5 publication Critical patent/JP2011530768A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
    • G06F8/456Parallelism detection
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/52Binary 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)
JP2011522999A 2008-08-13 2009-08-13 ソフトウェア・アプリケーションの性能向上 Pending JP2011530768A (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015099494A (ja) * 2013-11-19 2015-05-28 日本電気株式会社 情報処理装置、情報処理方法およびプログラム

Families Citing this family (42)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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