TY - GEN
T1 - Chaperone - Runtime system for instrumenting applications via partial binary translation
AU - Haber, Gadi
AU - Tayree, Coby
N1 - Publisher Copyright:
© 2018 Association for Computing Machinery.
PY - 2018/6/4
Y1 - 2018/6/4
N2 - We propose Chaperone, a new runtime system which implements an innovative binary-level instrumentation technique that bounds performance degradation of around 14% on average of the total applications execution time, hence it can be used by users in production deployments. Our technique is called Partial Binary Translation. It consists of translating the entire code image and inserting required instrumenting stubs in the translated code at loadtime, and at runtime, differently from normal instrumentation, switching the execution dynamically between original and instrumented code. Using this technology we demonstrate two different use cases of the Chaperone system. The first is a runtime memory checker that detects memory accesses outside the legally allocated heap memory bounds. The second is a dynamic performance tuning of OpenMP applications by automatically setting the optimal number of active OpenMP threads and affinitizing them to the available cores. In both cases we measured low overhead of Chaperone. Moreover, Chaperone shows minimal performance degradation for the Memory Checker and improved performance for OpenMP based applications.
AB - We propose Chaperone, a new runtime system which implements an innovative binary-level instrumentation technique that bounds performance degradation of around 14% on average of the total applications execution time, hence it can be used by users in production deployments. Our technique is called Partial Binary Translation. It consists of translating the entire code image and inserting required instrumenting stubs in the translated code at loadtime, and at runtime, differently from normal instrumentation, switching the execution dynamically between original and instrumented code. Using this technology we demonstrate two different use cases of the Chaperone system. The first is a runtime memory checker that detects memory accesses outside the legally allocated heap memory bounds. The second is a dynamic performance tuning of OpenMP applications by automatically setting the optimal number of active OpenMP threads and affinitizing them to the available cores. In both cases we measured low overhead of Chaperone. Moreover, Chaperone shows minimal performance degradation for the Memory Checker and improved performance for OpenMP based applications.
UR - http://www.scopus.com/inward/record.url?scp=85051385811&partnerID=8YFLogxK
U2 - 10.1145/3211890.3211892
DO - 10.1145/3211890.3211892
M3 - ???researchoutput.researchoutputtypes.contributiontobookanthology.conference???
AN - SCOPUS:85051385811
T3 - SYSTOR 2018 - Proceedings of the 11th ACM International Systems and Storage Conference
SP - 49
EP - 58
BT - SYSTOR 2018 - Proceedings of the 11th ACM International Systems and Storage Conference
T2 - 11th ACM International Systems and Storage Conference, SYSTOR 2018
Y2 - 4 June 2018 through 6 June 2018
ER -