Compile-time support for thread-level speculation

[1]  Susan Elliott Sim,et al.  Using benchmarking to advance research: a challenge to software engineering , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[2]  Serge Guelton,et al.  Building Source-to-Source Compilers for Heterogeneous Targets , 2012 .

[3]  Eduard Ayguadé,et al.  Multithreaded software transactional memory and OpenMP , 2007, MEDEA '07.

[4]  T. H. Tse,et al.  Lean Implementations of Software Testing Tools Using XML Representations of Source Codes , 2008, 2008 International Conference on Computer Science and Software Engineering.

[5]  Kiyoshi Agusa,et al.  An XML C Source Code Interchange Format for CASE Tools , 2011, 2011 IEEE 35th Annual Computer Software and Applications Conference.

[6]  Alberto Salinas-Mendoza,et al.  Designing an XML-based Representation for CaesarJ Source Code , 2011, 2011 IEEE Electronics, Robotics and Automotive Mechanics Conference.

[7]  Alejandro Duran,et al.  Auto-scoping for OpenMP Tasks , 2012, IWOMP.

[8]  Laurent Hascoët,et al.  Tools for OpenMP application development: the POST project , 2000, Concurr. Pract. Exp..

[9]  Jonathan I. Maletic,et al.  An XML-based lightweight C++ fact extractor , 2003, 11th IEEE International Workshop on Program Comprehension, 2003..

[10]  Vivek Sarkar,et al.  X10: an object-oriented approach to non-uniform cluster computing , 2005, OOPSLA '05.

[11]  Arthur J. Bernstein,et al.  Analysis of Programs for Parallel Processing , 1966, IEEE Trans. Electron. Comput..

[12]  Leslie Lamport,et al.  The parallel execution of DO loops , 1974, CACM.

[13]  Greg J. Badros JavaML: a markup language for Java source code , 2000, Comput. Networks.

[14]  Michael L. Collard An infrastructure to support meta-differencing and refactoring of source code , 2003, 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings..

[15]  Chen Yang,et al.  A cost-driven compilation framework for speculative parallelization of sequential programs , 2004, PLDI '04.

[16]  Arturo González-Escribano,et al.  Using SPEC CPU2006 to evaluate the sequential and parallel code generated by commercial and open-source compilers , 2010, The Journal of Supercomputing.

[17]  Ernst P. Mücke,et al.  Fast randomized point location without preprocessing in two- and three-dimensional Delaunay triangulations , 1996, SCG '96.

[18]  Antonia Zhai,et al.  A scalable approach to thread-level speculation , 2000, Proceedings of 27th International Symposium on Computer Architecture (IEEE Cat. No.RS00201).

[19]  Lawrence Rauchwerger,et al.  The LRPD test: speculative run-time parallelization of loops with privatization and reduction parallelization , 1995, PLDI '95.

[20]  Zhizhong Tang,et al.  Performance Characterization of SPEC CPU2006 Benchmarks on Intel and AMD Platform , 2009, 2009 First International Workshop on Education Technology and Computer Science.

[21]  Luc Devroye,et al.  A Note on Point Location in Delaunay Triangulations of Random Points , 1998, Algorithmica.

[22]  John L. Henning SPEC CPU2006 benchmark descriptions , 2006, CARN.

[23]  Kunle Olukotun,et al.  Runtime automatic speculative parallelization , 2011, International Symposium on Code Generation and Optimization (CGO 2011).

[24]  Robert C. Camp,et al.  Benchmarking: The Search for Industry Best Practices That Lead to Superior Performance , 1989 .

[25]  Arturo González-Escribano,et al.  Robust thread-level speculation , 2011, 2011 18th International Conference on High Performance Computing.

[26]  Fouad Badran,et al.  YAO: A Generator of Parallel Code for Variational Data Assimilation Applications , 2012, 2012 IEEE 14th International Conference on High Performance Computing and Communication & 2012 IEEE 9th International Conference on Embedded Software and Systems.

[27]  Kunle Olukotun,et al.  Data speculation support for a chip multiprocessor , 1998, ASPLOS VIII.

[28]  Josep Torrellas,et al.  Hardware for speculative run-time parallelization in distributed shared-memory multiprocessors , 1998, Proceedings 1998 Fourth International Symposium on High-Performance Computer Architecture.

[29]  Antonia Zhai,et al.  Exploring speculative parallelism in SPEC2006 , 2009, 2009 IEEE International Symposium on Performance Analysis of Systems and Software.

[30]  Utpal Banerjee,et al.  Dependence analysis for supercomputing , 1988, The Kluwer international series in engineering and computer science.

[31]  Ying Zou,et al.  A framework for migrating procedural code to object-oriented platforms , 2001, Proceedings Eighth Asia-Pacific Software Engineering Conference.

[32]  Cédric Bastoul,et al.  Code generation in the polyhedral model is easier than you think , 2004, Proceedings. 13th International Conference on Parallel Architecture and Compilation Techniques, 2004. PACT 2004..

[33]  Milind Girkar,et al.  On the performance potential of different types of speculative thread-level parallelism: The DL version of this paper includes corrections that were not made available in the printed proceedings , 2006, ICS '06.

[34]  Josep Torrellas,et al.  Speculative synchronization: applying thread-level speculation to explicitly parallel applications , 2002, ASPLOS X.

[35]  Kazuaki Maeda XML-Based Source Code Representation with Parsing Actions , 2007, Software Engineering Research and Practice.

[36]  Guy L. Steele Parallel programming and code selection in fortress , 2006, PPoPP '06.

[37]  Wei Liu,et al.  POSH: a TLS compiler that exploits program structure , 2006, PPoPP '06.

[38]  Robert Hood,et al.  Generating OpenMP code using an interactive parallelization environment , 2005, Parallel Comput..

[39]  Keshav Pingali,et al.  Optimistic parallelism requires abstractions , 2007, PLDI '07.

[40]  Eduard Ayguadé,et al.  Transactional Memory and OpenMP , 2007, IWOMP.

[41]  Lawrence Rauchwerger,et al.  The R-LRPD test: speculative parallelization of partially parallel loops , 2002, Proceedings 16th International Parallel and Distributed Processing Symposium.

[42]  Yan Liu,et al.  A Case for Including Transactions in OpenMP , 2010, IWOMP.

[43]  Rohit Chandra,et al.  Parallel programming in openMP , 2000 .

[44]  Richard M. Stallman,et al.  Using the GNU Compiler Collection , 2010 .

[45]  Christoforos E. Kozyrakis,et al.  Heuristics for profile-driven method-level speculative parallelization , 2005, 2005 International Conference on Parallel Processing (ICPP'05).

[46]  Lin Gao,et al.  SEED: A Statically Greedy and Dynamically Adaptive Approach for Speculative Loop Execution , 2013, IEEE Transactions on Computers.

[47]  Andy Schürr,et al.  GXL: toward a standard exchange format , 2000, Proceedings Seventh Working Conference on Reverse Engineering.

[48]  Nikolas Ioannou,et al.  Combining thread level speculation helper threads and runahead execution , 2009, ICS.

[49]  Michael F. P. O'Boyle,et al.  Milepost GCC: Machine Learning Enabled Self-tuning Compiler , 2011, International Journal of Parallel Programming.

[50]  Kunle Olukotun,et al.  The OpenTM Transactional Application Programming Interface , 2007, 16th International Conference on Parallel Architecture and Compilation Techniques (PACT 2007).

[51]  David I. August,et al.  Speculative parallelization using software multi-threaded transactions , 2010, ASPLOS 2010.

[52]  Cloyce D. Spradling SPEC CPU2006 benchmark tools , 2007, CARN.

[53]  Jürgen Ebert,et al.  GraX-an interchange format for reengineering tools , 1999, Sixth Working Conference on Reverse Engineering (Cat. No.PR00303).

[54]  Kostas Kontogiannis,et al.  Towards portable source code representations using XML , 2000, Proceedings Seventh Working Conference on Reverse Engineering.

[55]  Manish Gupta,et al.  Techniques for Speculative Run-Time Parallelization of Loops , 1998, Proceedings of the IEEE/ACM SC98 Conference.

[56]  Uday Bondhugula,et al.  A practical automatic polyhedral parallelizer and locality optimizer , 2008, PLDI '08.

[57]  Ken Kennedy,et al.  Optimizing Compilers for Modern Architectures: A Dependence-based Approach , 2001 .

[58]  Antonia Zhai,et al.  Dynamic performance tuning for speculative threads , 2009, ISCA '09.

[59]  Shinichiro Yamamoto,et al.  A CASE tool platform using an XML representation of Java source code , 2004, Source Code Analysis and Manipulation, Fourth IEEE International Workshop on.

[60]  Saturnino Garcia,et al.  The Kremlin Oracle for Sequential Code Parallelization , 2012, IEEE Micro.

[61]  Ronan Keryell,et al.  An innovative compilation tool-chain for embedded multi-core architectures , 2012 .

[62]  Tiziana Margaria,et al.  Analysis and Code Model Extraction for C/C++ Source Code , 2009, 2009 14th IEEE International Conference on Engineering of Complex Computer Systems.

[63]  Kurt Mehlhorn,et al.  Four Results on Randomized Incremental Constructions , 1992, Comput. Geom..

[64]  C. M. Sperberg-McQueen,et al.  Extensible Markup Language (XML) , 1997, World Wide Web J..

[65]  Rossana M. de Castro Andrade,et al.  RefaX: a refactoring framework based on XML , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

[66]  Kostas Kontogiannis,et al.  An XML-Based Framework for Language Neutral Program Representation and Generic Analysis , 2005, CSMR.

[67]  Maurice Herlihy,et al.  Transactional Memory: Architectural Support For Lock-free Data Structures , 1993, Proceedings of the 20th Annual International Symposium on Computer Architecture.

[68]  Aart J. C. Bik,et al.  Inside the Intel compiler , 2003 .

[69]  Bronis R. de Supinski,et al.  A Case for Including Transactions in OpenMP II: Hardware Transactional Memory , 2012, IWOMP.

[70]  Vikram S. Adve,et al.  LLVM: a compilation framework for lifelong program analysis & transformation , 2004, International Symposium on Code Generation and Optimization, 2004. CGO 2004..

[71]  Gavin Brown,et al.  Toward a more accurate understanding of the limits of the TLS execution paradigm , 2010, IEEE International Symposium on Workload Characterization (IISWC'10).

[72]  Marcelo H. Cintra,et al.  A compiler cost model for speculative parallelization , 2007, TACO.

[73]  Rajesh Bordawekar,et al.  Modeling optimistic concurrency using quantitative dependence analysis , 2008, PPOPP.

[74]  Milind Girkar,et al.  Tight analysis of the performance potential of thread speculation using spec CPU 2006 , 2007, PPOPP.

[75]  Michael Voss,et al.  An Evaluation of Auto-Scoping in OpenMP , 2004, WOMPAT.

[76]  Brian A. Malloy,et al.  Program annotation in XML: a parse-tree based approach , 2002, Ninth Working Conference on Reverse Engineering, 2002. Proceedings..

[77]  Katsuhiko Gondow,et al.  Towards ANSI C Program Slicing using XML , 2002, Electron. Notes Theor. Comput. Sci..

[78]  William Pugh,et al.  The Omega test: A fast and practical integer programming algorithm for dependence analysis , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[79]  Konstantinos Kyriakopoulos,et al.  An experimental evaluation of data dependence analysis techniques , 2004, IEEE Transactions on Parallel and Distributed Systems.

[80]  Albert Cohen,et al.  GRAPHITE Two Years After First Lessons Learned From Real-World Polyhedral Compilation , 2010 .

[81]  Rudolf Eigenmann,et al.  Cetus: A Source-to-Source Compiler Infrastructure for Multicores , 2009, Computer.

[82]  James R. Larus,et al.  Transactional Memory , 2006, Transactional Memory.

[83]  Diego R. Llanos Thread-level Speculative Parallelization , 2005 .

[84]  L. Dagum,et al.  OpenMP: an industry standard API for shared-memory programming , 1998 .

[85]  Antonia Zhai,et al.  Loop Selection for Thread-Level Speculation , 2005, LCPC.

[86]  Gu-Yeon Wei,et al.  HELIX: automatic parallelization of irregular programs for chip multiprocessing , 2012, CGO '12.

[87]  Babak Falsafi,et al.  The HiPEAC Vision , 2010 .

[88]  Milind Girkar,et al.  Comparative architectural characterization of SPEC CPU2000 and CPU2006 benchmarks on the intel® Core™ 2 Duo processor , 2008, 2008 International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation.

[89]  John Mylopoulos,et al.  An extensible tool for source code representation using XML , 2002, Ninth Working Conference on Reverse Engineering, 2002. Proceedings..

[90]  Hanson Prihantoro Putro,et al.  XML representations of program code , 2011, Proceedings of the 2011 International Conference on Electrical Engineering and Informatics.

[91]  Torben Hagerup,et al.  Allocating Independent Tasks to Parallel Processors: An Experimental Study , 1996, J. Parallel Distributed Comput..

[92]  L.M. Ni,et al.  Trapezoid Self-Scheduling: A Practical Scheduling Scheme for Parallel Compilers , 1993, IEEE Trans. Parallel Distributed Syst..

[93]  Chen Ding,et al.  Software behavior oriented parallelization , 2007, PLDI '07.

[94]  Susan L. Graham,et al.  Designing an XML-based exchange format for Harmonia , 2000, Proceedings Seventh Working Conference on Reverse Engineering.

[95]  Hongbin Zheng,et al.  Polly – Polyhedral optimization in LLVM , 2012 .

[96]  Daniel J. Quinlan,et al.  Automatic Parallelization Using OpenMP Based on STL Semantics , 2008 .

[97]  Eduard Ayguadé,et al.  Automatic multilevel parallelization using OpenMP , 2003, Sci. Program..

[98]  David Kaeli,et al.  Performance Characterization of SPEC CPU2006 Integer Benchmarks on x86-64 Architecture , 2006, 2006 IEEE International Symposium on Workload Characterization.

[99]  Kleanthis Psarris,et al.  The I Test: An Improved Dependence Test for Automatic Parallelization and Vectorization , 1991, IEEE Trans. Parallel Distributed Syst..