Invasive computing - Concepts and overheads

In this paper, we present the basic concepts of invasive computing and subsequently analyze the performance overheads of invasive computing applications on several multi- and many-core architectures. The nature of these is to claim and free resources dynamically at run-time to increase resource efficiency of future MPSoC architectures while not sacrificing speedup in comparison to traditional, statically mapped applications. This holds true especially for programs with highly dynamic parallelism profiles. Based on a formal notation of speedup and resource efficiency for invasive parallel programs, we present a real SPARC LEON-based MPSoC system implementation to evaluate achievable resource efficiencies for realistic workload scenarios showing that the real-measured overhead of invasion can be kept very low and resource efficiencies of up to 100% will become possible without a considerable drop in speedup compared to non-invasive programs using statically allocated resources. Also, we present invasion overheads for tightly-coupled processor arrays (TCPAs) that avoid the creation of threads and use hardware-based signaling concepts to invade processing elements. Finally, we present results how expensive invasive computing overheads may be by proposing two implementations on existing MPSoC platforms, namely the Tilera TilePro64 architecture and on Intel's SCC for comparison.

[1]  Jürgen Teich,et al.  Distributed Resource Reservation in Massively Parallel Processor Arrays , 2011, 2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum.

[2]  Jürgen Teich,et al.  Resource-aware programming and simulation of MPSoC architectures through extension of X10 , 2011, SCOPES.

[3]  Allen D. Malony,et al.  ParaProf: A Portable, Extensible, and Scalable Tool for Parallel Performance Profile Analysis , 2003, Euro-Par.

[4]  Saurabh Dighe,et al.  The 48-core SCC Processor: the Programmer's View , 2010, 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis.

[5]  Jürgen Teich,et al.  A highly parameterizable parallel processor array architecture , 2006, 2006 IEEE International Conference on Field Programmable Technology.

[6]  Jürgen Teich,et al.  Mapping of applications to MPSoCs , 2011, 2011 Proceedings of the Ninth IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[7]  Jörg Henkel,et al.  OctoPOS : A Parallel Operating System for Invasive Computing , 2011 .

[8]  John L. Gustafson,et al.  Reevaluating Amdahl's law , 1988, CACM.

[9]  Cédric Augonnet,et al.  PEPPHER: Efficient and Productive Usage of Hybrid Computing Systems , 2011, IEEE Micro.

[10]  Jürgen Teich,et al.  Decentralized dynamic resource management support for massively parallel processor arrays , 2011, ASAP 2011 - 22nd IEEE International Conference on Application-specific Systems, Architectures and Processors.

[11]  Jürgen Teich,et al.  Invasive Computing: An Overview , 2011, Multiprocessor System-on-Chip.

[12]  G. Amdhal,et al.  Validity of the single processor approach to achieving large scale computing capabilities , 1967, AFIPS '67 (Spring).

[13]  Jörg Henkel,et al.  Invasive manycore architectures , 2012, 17th Asia and South Pacific Design Automation Conference.

[14]  Alan Edelman,et al.  PetaBricks: a language and compiler for algorithmic choice , 2009, PLDI '09.

[15]  Greg Stitt,et al.  Elastic computing: a framework for transparent, portable, and adaptive multi-core heterogeneous computing , 2010, LCTES '10.

[16]  Henry Hoffmann,et al.  On-Chip Interconnection Architecture of the Tile Processor , 2007, IEEE Micro.

[17]  Jürgen Teich,et al.  Invasive Algorithms and Architectures Invasive Algorithmen und Architekturen , 2008, it Inf. Technol..

[18]  Günter Haring,et al.  Deriving Parallelism Profiles from Structural Parallelism Graphs , 1996 .