DocumentCode :
1799908
Title :
Protean Code: Achieving Near-Free Online Code Transformations for Warehouse Scale Computers
Author :
Laurenzano, Michael A. ; Yunqi Zhang ; Lingjia Tang ; Mars, Jason
Author_Institution :
Adv. Comput. Archit. Lab., Univ. of Michigan - Ann Arbor, Ann Arbor, MI, USA
fYear :
2014
fDate :
13-17 Dec. 2014
Firstpage :
558
Lastpage :
570
Abstract :
Rampant dynamism due to load fluctuations, co runner changes, and varying levels of interference poses a threat to application quality of service (QoS) and has limited our ability to allow co-locations in modern warehouse scale computers (WSCs). Instruction set features such as the non-temporal memory access hints found in modern ISAs (both ARM and x86) may be useful in mitigating these effects. However, despite the challenge of this dynamism and the availability of an instruction set mechanism that might help address the problem, a key capability missing in the system software stack in modern WSCs is the ability to dynamically transform (and re-transform) the executing application code to apply these instruction set features when necessary. In this work we introduce protean code, a novel approach for enacting arbitrary compiler transformations at runtime for native programs running on commodity hardware with negligible (<;1%) overhead. The fundamental insight behind the underlying mechanism of protean code is that, instead of maintaining full control throughout the program´s execution as with traditional dynamic optimizers, protean code allows the original binary to execute continuously and diverts control flow only at a set of virtualized points, allowing rapid and seamless rerouting to the new code variants. In addition, the protean code compiler embeds IR with high-level semantic information into the program, empowering the dynamic compiler to perform rich analysis and transformations online with little overhead. Using a fully functional protean code compiler and runtime built on LLVM, we design PC3D, Protean Code for Cache Contention in Datacenters. PC3D dynamically employs non-temporal access hints to achieve utilization improvements of up to 2.8x (1.5x on average) higher than state-of-the-art contention mitigation runtime techniques at a QoS target of 98%.
Keywords :
computer centres; instruction sets; program compilers; quality of service; IR; LLVM; PC3D; Protean Code for Cache Contention in Datacenters; Protean code compiler; QoS; WSC; application quality of service; arbitrary compiler transformations; commodity hardware; contention mitigation runtime techniques; dynamic compiler; high-level semantic information; instruction set features; near-free online code transformation; rampant dynamism; warehouse scale computers; Dynamic compiler; Hardware; Monitoring; Optimization; Program processors; Quality of service; cache; compiler; datacenter; dynamic compiler; optimization; resource sharing; warehouse scale computer;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Microarchitecture (MICRO), 2014 47th Annual IEEE/ACM International Symposium on
Conference_Location :
Cambridge
ISSN :
1072-4451
Type :
conf
DOI :
10.1109/MICRO.2014.21
Filename :
7011417
Link To Document :
بازگشت