WO2009076324A3 - Strand-based computing hardware and dynamically optimizing strandware for a high performance microprocessor system - Google Patents
Strand-based computing hardware and dynamically optimizing strandware for a high performance microprocessor system Download PDFInfo
- Publication number
- WO2009076324A3 WO2009076324A3 PCT/US2008/085990 US2008085990W WO2009076324A3 WO 2009076324 A3 WO2009076324 A3 WO 2009076324A3 US 2008085990 W US2008085990 W US 2008085990W WO 2009076324 A3 WO2009076324 A3 WO 2009076324A3
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- strandware
- microprocessor
- threaded
- strand
- high performance
- Prior art date
Links
- 238000005457 optimization Methods 0.000 abstract 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Advance Control (AREA)
Abstract
Strand-based computing hardware and dynamically optimizing strandware are included in a high performance microprocessor system. The system operates in real time automatically and unobservably to parallelize single-threaded software into a plurality of parallel strands for execution by cores implemented in a multi-core and/or multi-threaded microprocessor of the system. The microprocessor executes a native instruction set tailored for speculative multithreading. The strandware directs hardware of the microprocessor to collect dynamic profiling information while executing the single-threaded software. The strandware analyzes the profiling information for the parallelization, and uses binary translation and dynamic optimization to produce native instructions to store in a translation cache later accessed to execute the produced native instructions instead of some of the single-threaded software. The system is capable of parallelizing a plurality of single-threaded software applications (e.g. application software, device drivers, operating system routines or kernels, and hypervisors).
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/331,425 US20090150890A1 (en) | 2007-12-10 | 2008-12-09 | Strand-based computing hardware and dynamically optimizing strandware for a high performance microprocessor system |
US12/391,248 US20090217020A1 (en) | 2004-11-22 | 2009-02-23 | Commit Groups for Strand-Based Computing |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US1274107P | 2007-12-10 | 2007-12-10 | |
US61/012,741 | 2007-12-10 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/994,774 Continuation-In-Part US7496735B2 (en) | 2004-11-22 | 2004-11-22 | Method and apparatus for incremental commitment to architectural state in a microprocessor |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/331,425 Continuation-In-Part US20090150890A1 (en) | 2004-11-22 | 2008-12-09 | Strand-based computing hardware and dynamically optimizing strandware for a high performance microprocessor system |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2009076324A2 WO2009076324A2 (en) | 2009-06-18 |
WO2009076324A3 true WO2009076324A3 (en) | 2009-08-13 |
Family
ID=40756092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2008/085990 WO2009076324A2 (en) | 2004-11-22 | 2008-12-08 | Strand-based computing hardware and dynamically optimizing strandware for a high performance microprocessor system |
Country Status (2)
Country | Link |
---|---|
TW (1) | TW200935303A (en) |
WO (1) | WO2009076324A2 (en) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8230410B2 (en) * | 2009-10-26 | 2012-07-24 | International Business Machines Corporation | Utilizing a bidding model in a microparallel processor architecture to allocate additional registers and execution units for short to intermediate stretches of code identified as opportunities for microparallelization |
US8495307B2 (en) | 2010-05-11 | 2013-07-23 | International Business Machines Corporation | Target memory hierarchy specification in a multi-core computer processing system |
US8751714B2 (en) * | 2010-09-24 | 2014-06-10 | Intel Corporation | Implementing quickpath interconnect protocol over a PCIe interface |
US20120079245A1 (en) * | 2010-09-25 | 2012-03-29 | Cheng Wang | Dynamic optimization for conditional commit |
WO2013101138A1 (en) * | 2011-12-30 | 2013-07-04 | Intel Corporation | Identifying and prioritizing critical instructions within processor circuitry |
US9405551B2 (en) * | 2013-03-12 | 2016-08-02 | Intel Corporation | Creating an isolated execution environment in a co-designed processor |
US9292288B2 (en) | 2013-04-11 | 2016-03-22 | Intel Corporation | Systems and methods for flag tracking in move elimination operations |
US9195493B2 (en) * | 2014-03-27 | 2015-11-24 | International Business Machines Corporation | Dispatching multiple threads in a computer |
US9870226B2 (en) * | 2014-07-03 | 2018-01-16 | The Regents Of The University Of Michigan | Control of switching between executed mechanisms |
TWI868624B (en) * | 2023-03-20 | 2025-01-01 | 新加坡商星展銀行有限公司 | Source code optimizer and method of optimizing source codes |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003030050A (en) * | 2001-07-18 | 2003-01-31 | Nec Corp | Method for executing multi-thread and parallel processor system |
US20040216101A1 (en) * | 2003-04-24 | 2004-10-28 | International Business Machines Corporation | Method and logical apparatus for managing resource redistribution in a simultaneous multi-threaded (SMT) processor |
US20050138622A1 (en) * | 2003-12-18 | 2005-06-23 | Mcalpine Gary L. | Apparatus and method for parallel processing of network data on a single processing thread |
-
2008
- 2008-12-08 WO PCT/US2008/085990 patent/WO2009076324A2/en active Application Filing
- 2008-12-10 TW TW97148039A patent/TW200935303A/en unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003030050A (en) * | 2001-07-18 | 2003-01-31 | Nec Corp | Method for executing multi-thread and parallel processor system |
US20040216101A1 (en) * | 2003-04-24 | 2004-10-28 | International Business Machines Corporation | Method and logical apparatus for managing resource redistribution in a simultaneous multi-threaded (SMT) processor |
US20050138622A1 (en) * | 2003-12-18 | 2005-06-23 | Mcalpine Gary L. | Apparatus and method for parallel processing of network data on a single processing thread |
Non-Patent Citations (1)
Title |
---|
NIKO DEMUS ET AL.: "A Thread Partitioning Algorithm using Structural Analysis", INFORMATION PROCESSING SOCIETY OF JAPAN (IPSJ), vol. 74, 2000, pages 37 - 42, Retrieved from the Internet <URL:http://lab.iisec.ac.jp/labs/tanaka/publications/pdf/kennkyukai/kennkyukai-00-13.pdf> * |
Also Published As
Publication number | Publication date |
---|---|
WO2009076324A2 (en) | 2009-06-18 |
TW200935303A (en) | 2009-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2009076324A3 (en) | Strand-based computing hardware and dynamically optimizing strandware for a high performance microprocessor system | |
US7984431B2 (en) | Method and apparatus for exploiting thread-level parallelism | |
CN101441569B (en) | Novel service flow-oriented compiling method based on heterogeneous reconfigurable architecture | |
Wang et al. | Exploiting concurrent kernel execution on graphic processing units | |
WO2013184380A3 (en) | Scheduling concurrent applications in multithreaded processors | |
JP2010204979A5 (en) | How to compile | |
Chen et al. | Guided region-based GPU scheduling: utilizing multi-thread parallelism to hide memory latency | |
Brandon et al. | Support for dynamic issue width in VLIW processors using generic binaries | |
Wang et al. | Energy auto-tuning using the polyhedral approach | |
MX2008000623A (en) | System and method of controlling multiple program threads within a multithreaded processor. | |
Xiang et al. | Many-thread aware instruction-level parallelism: Architecting shader cores for GPU computing | |
Kumar et al. | Concept of a supervector processor: a vector approach to superscalar processor, design and performance analysis | |
Kumar et al. | An approach for compiler optimization to exploit instruction level parallelism | |
Wang et al. | iharmonizer: Improving the disk efficiency of i/o-intensive multithreaded codes | |
Wang et al. | A flexible chip multiprocessor simulator dedicated for thread level speculation | |
Becker et al. | Just-in-time compilation for FPGA processor cores | |
Chronaki et al. | Poster: Exploiting asymmetric multi-core processors with flexible system sofware | |
Huang et al. | SIMD stealing: Architectural support for efficient data parallel execution on multicores | |
Schwarzrock et al. | Potential gains in edp by dynamically adapting the number of threads for openmp applications in embedded systems | |
Packirisamy et al. | Efficiency of thread-level speculation in SMT and CMP architectures-performance, power and thermal perspective | |
Yang et al. | Performance evaluation of openmp and cuda on multicore systems | |
Kaewtes et al. | Simple optimizations for LAMMPS | |
Zhai et al. | Compiler optimizations for parallelizing general-purpose applications under thread-level speculation | |
Rokicki et al. | Supporting runtime reconfigurable VLIWs cores through dynamic binary translation | |
Papadimitriou et al. | Combining Scala with C++ for efficient scientific computation in the context of ScalaLab |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 08860694 Country of ref document: EP Kind code of ref document: A2 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 08860694 Country of ref document: EP Kind code of ref document: A2 |