Nithya Narayanamurthy, K. Pattabiraman, M. Ripeanu
{"title":"Finding Resilience-Friendly Compiler Optimizations Using Meta-Heuristic Search Techniques","authors":"Nithya Narayanamurthy, K. Pattabiraman, M. Ripeanu","doi":"10.1109/EDCC.2016.26","DOIUrl":null,"url":null,"abstract":"With the projected future increase in hardware error rates, application software needs to be resilient to hardware faults. An important factor affecting an application's error resilience and vulnerability is the set of optimizations used when compiling it. We propose an automated technique based on genetic algorithms to find the application-specific set of compiler optimizations that can boost performance without degrading the application's error resilience. We find that the resulting optimized code has significantly better error resilience than when being compiled with the standard optimization levels (i.e., O1, O2, O3), while attaining comparable performance improvements, thus leading to lower overall vulnerabilities.","PeriodicalId":166039,"journal":{"name":"2016 12th European Dependable Computing Conference (EDCC)","volume":"9 3 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"21","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2016 12th European Dependable Computing Conference (EDCC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/EDCC.2016.26","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 21
Abstract
With the projected future increase in hardware error rates, application software needs to be resilient to hardware faults. An important factor affecting an application's error resilience and vulnerability is the set of optimizations used when compiling it. We propose an automated technique based on genetic algorithms to find the application-specific set of compiler optimizations that can boost performance without degrading the application's error resilience. We find that the resulting optimized code has significantly better error resilience than when being compiled with the standard optimization levels (i.e., O1, O2, O3), while attaining comparable performance improvements, thus leading to lower overall vulnerabilities.