José Miguel Aragón-Jurado;Juan Carlos de la Torre;Patricia Ruiz;Pedro L. Galindo;Albert Y. Zomaya;Bernabé Dorronsoro
{"title":"自动定制软件,实现最佳性能","authors":"José Miguel Aragón-Jurado;Juan Carlos de la Torre;Patricia Ruiz;Pedro L. Galindo;Albert Y. Zomaya;Bernabé Dorronsoro","doi":"10.1109/TSUSC.2023.3330671","DOIUrl":null,"url":null,"abstract":"Efficient green software solutions require being aware of the characteristics of both the software and the hardware where it is executed. Separately optimizing them leads to inefficient results, and there is a need for a perfect synergy between software and hardware for optimal outcomes. We present a novel combinatorial optimization problem for the minimization of the software execution time on a specific hardware, taking into account the existing uncertainty in the system. A solution to the problem is a sequence of LLVM code transformations, and a cellular genetic algorithm is used to find it. Assuming that hardware does not change, reducing the software runtime typically leads to a greener version with lower consumption. To cope with the uncertainty, two novel approaches relying on bootstrap method to compute confident intervals of the software runtime at negligible cost are proposed and compared to three other techniques and −O3 Clang compilation flag over four hardware architectures. Results show how the proposed approach effectively copes with the uncertainty, providing more robust solutions with respect to the compared methods. The execution time of the raw program is reduced from 28.1% to up to 63.2%, outperforming −O3 flag by 13.9% to 26.3%, for the different architectures.","PeriodicalId":13268,"journal":{"name":"IEEE Transactions on Sustainable Computing","volume":"9 3","pages":"464-481"},"PeriodicalIF":3.0000,"publicationDate":"2023-11-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Automatic Software Tailoring for Optimal Performance\",\"authors\":\"José Miguel Aragón-Jurado;Juan Carlos de la Torre;Patricia Ruiz;Pedro L. Galindo;Albert Y. Zomaya;Bernabé Dorronsoro\",\"doi\":\"10.1109/TSUSC.2023.3330671\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Efficient green software solutions require being aware of the characteristics of both the software and the hardware where it is executed. Separately optimizing them leads to inefficient results, and there is a need for a perfect synergy between software and hardware for optimal outcomes. We present a novel combinatorial optimization problem for the minimization of the software execution time on a specific hardware, taking into account the existing uncertainty in the system. A solution to the problem is a sequence of LLVM code transformations, and a cellular genetic algorithm is used to find it. Assuming that hardware does not change, reducing the software runtime typically leads to a greener version with lower consumption. To cope with the uncertainty, two novel approaches relying on bootstrap method to compute confident intervals of the software runtime at negligible cost are proposed and compared to three other techniques and −O3 Clang compilation flag over four hardware architectures. Results show how the proposed approach effectively copes with the uncertainty, providing more robust solutions with respect to the compared methods. The execution time of the raw program is reduced from 28.1% to up to 63.2%, outperforming −O3 flag by 13.9% to 26.3%, for the different architectures.\",\"PeriodicalId\":13268,\"journal\":{\"name\":\"IEEE Transactions on Sustainable Computing\",\"volume\":\"9 3\",\"pages\":\"464-481\"},\"PeriodicalIF\":3.0000,\"publicationDate\":\"2023-11-06\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"IEEE Transactions on Sustainable Computing\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://ieeexplore.ieee.org/document/10310168/\",\"RegionNum\":3,\"RegionCategory\":\"计算机科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q2\",\"JCRName\":\"COMPUTER SCIENCE, HARDWARE & ARCHITECTURE\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"IEEE Transactions on Sustainable Computing","FirstCategoryId":"94","ListUrlMain":"https://ieeexplore.ieee.org/document/10310168/","RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q2","JCRName":"COMPUTER SCIENCE, HARDWARE & ARCHITECTURE","Score":null,"Total":0}
Automatic Software Tailoring for Optimal Performance
Efficient green software solutions require being aware of the characteristics of both the software and the hardware where it is executed. Separately optimizing them leads to inefficient results, and there is a need for a perfect synergy between software and hardware for optimal outcomes. We present a novel combinatorial optimization problem for the minimization of the software execution time on a specific hardware, taking into account the existing uncertainty in the system. A solution to the problem is a sequence of LLVM code transformations, and a cellular genetic algorithm is used to find it. Assuming that hardware does not change, reducing the software runtime typically leads to a greener version with lower consumption. To cope with the uncertainty, two novel approaches relying on bootstrap method to compute confident intervals of the software runtime at negligible cost are proposed and compared to three other techniques and −O3 Clang compilation flag over four hardware architectures. Results show how the proposed approach effectively copes with the uncertainty, providing more robust solutions with respect to the compared methods. The execution time of the raw program is reduced from 28.1% to up to 63.2%, outperforming −O3 flag by 13.9% to 26.3%, for the different architectures.