{"title":"HRUL:用于用户级应用的硬件辅助记录仪","authors":"Shibin Tang, Fenglong Song, Lingjun Fan, Yuanchao Xu, Dongrui Fan, Zhiyong Liu","doi":"10.1109/PDCAT.2013.28","DOIUrl":null,"url":null,"abstract":"Deterministic replay is a key technique for debugging simultaneous multithreaded programs on multicore processor. With this scheme, software-only implementations generally incur large runtime overhead. Hardware assisted methods can significantly reduce the overhead, but most hardware based recorders are system oriented. They capture all orders happened in monitored application, Operating System, and other applications. This produces inefficiency and inconvenience for application programmers to debug their programs. This paper proposes a hardware assisted recorder (HRUL), which is lightweight and convenient to application programmers. HRUL uses a hybrid hardware-software method to extract dependencies from monitored application in a complex execution environment, and compresses the orders with a combination of online and offline compression algorithm. What' more, It also captures implicit dependencies caused by system call and scheduling in Operating System to make replay faithful. We evaluate the scheme with 16-core runs of PARSEC, our results show that HRUL introduces runtime overhead less than 3% and can reduce log size by 81% (only with online-hardware compression).","PeriodicalId":187974,"journal":{"name":"2013 International Conference on Parallel and Distributed Computing, Applications and Technologies","volume":"35 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2013-12-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"HRUL: A Hardware Assisted Recorder for User-Level Application\",\"authors\":\"Shibin Tang, Fenglong Song, Lingjun Fan, Yuanchao Xu, Dongrui Fan, Zhiyong Liu\",\"doi\":\"10.1109/PDCAT.2013.28\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Deterministic replay is a key technique for debugging simultaneous multithreaded programs on multicore processor. With this scheme, software-only implementations generally incur large runtime overhead. Hardware assisted methods can significantly reduce the overhead, but most hardware based recorders are system oriented. They capture all orders happened in monitored application, Operating System, and other applications. This produces inefficiency and inconvenience for application programmers to debug their programs. This paper proposes a hardware assisted recorder (HRUL), which is lightweight and convenient to application programmers. HRUL uses a hybrid hardware-software method to extract dependencies from monitored application in a complex execution environment, and compresses the orders with a combination of online and offline compression algorithm. What' more, It also captures implicit dependencies caused by system call and scheduling in Operating System to make replay faithful. We evaluate the scheme with 16-core runs of PARSEC, our results show that HRUL introduces runtime overhead less than 3% and can reduce log size by 81% (only with online-hardware compression).\",\"PeriodicalId\":187974,\"journal\":{\"name\":\"2013 International Conference on Parallel and Distributed Computing, Applications and Technologies\",\"volume\":\"35 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2013-12-16\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2013 International Conference on Parallel and Distributed Computing, Applications and Technologies\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/PDCAT.2013.28\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2013 International Conference on Parallel and Distributed Computing, Applications and Technologies","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/PDCAT.2013.28","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
HRUL: A Hardware Assisted Recorder for User-Level Application
Deterministic replay is a key technique for debugging simultaneous multithreaded programs on multicore processor. With this scheme, software-only implementations generally incur large runtime overhead. Hardware assisted methods can significantly reduce the overhead, but most hardware based recorders are system oriented. They capture all orders happened in monitored application, Operating System, and other applications. This produces inefficiency and inconvenience for application programmers to debug their programs. This paper proposes a hardware assisted recorder (HRUL), which is lightweight and convenient to application programmers. HRUL uses a hybrid hardware-software method to extract dependencies from monitored application in a complex execution environment, and compresses the orders with a combination of online and offline compression algorithm. What' more, It also captures implicit dependencies caused by system call and scheduling in Operating System to make replay faithful. We evaluate the scheme with 16-core runs of PARSEC, our results show that HRUL introduces runtime overhead less than 3% and can reduce log size by 81% (only with online-hardware compression).