Title :
BulkCompiler: High-performance Sequential Consistency through cooperative compiler and hardware support
Author :
Ahn, W. ; Qi, S. ; Nicolaides, M. ; Torrellas, J. ; Lee, J.-W. ; Fang, X. ; Midkiff, S. ; Wong, David
Abstract :
A platform that supported sequential consistency (SC) for all codes - not only the well-synchronized ones - would simplify the task of programmers. Recently, several hardware architectures that support high-performance SC by committing groups of instructions at a time have been proposed. However, for a platform to support SC, it is insufficient that the hardware does; the compiler has to support SC as well. This paper presents the hardware-compiler interface, and the main compiler ideas for BulkCompiler, a simple compiler layer that works with the group-committing hardware to provide a whole-system high-performance SC platform. We introduce ISA primitives and software algorithms for BulkCompiler to drive instruction-group formation, and to transform code to exploit the groups. Our simulation results show that BulkCompiler not only enables a whole-system SC environment, but also one that actually outperforms a conventional platform that uses the more relaxed Java Memory Model by an average of 37%. The speedups come from code optimization inside software-assembled instruction groups.
Keywords :
program compilers; BulkCompiler; code optimization; cooperative compiler; group-committing hardware; hardware architectures; hardware support; hardware-compiler interface; high-performance sequential consistency; instruction-group formation; software-assembled instruction groups; Computer architecture; Computer languages; Concurrent computing; Hardware; Java; Multicore processing; Optimizing compilers; Programming profession; Virtual machine monitors; Yarn; Atomic Region; Chunk-Based Architecture; Compiler Optimization; Sequential Consistency;
Conference_Titel :
Microarchitecture, 2009. MICRO-42. 42nd Annual IEEE/ACM International Symposium on
Conference_Location :
New York, NY
Print_ISBN :
978-1-60558-798-1