{"title":"基于GCC编译器中链接时间优化的结构剥离","authors":"Liangming Huang, Jun Jiang, Xiuwu Gao","doi":"10.1109/ISPDS56360.2022.9874019","DOIUrl":null,"url":null,"abstract":"The huge gap between the speed of processors and their memory has become one major bottleneck in modern computer systems. In order to achieve higher performance, sophisticated techniques are increasingly needed to improve the data locality of the programs. In this paper, the structure peeling optimization based on LTO is implemented in the GCC compiler for that purpose. The structure types suitable for peeling are selected through adequate escape analysis and then split into multiple pieces, each containing one field corresponding to that in the original structure. This optimization is placed in the stage after whole program analysis of LTO so that can handle functions' parameters and global variables which cannot be handled from a local perspective. The experimental result shows that by adopting our optimization the geometric mean performance acceleration ratio of five SPEC CPU benchmarks can be achieved by 1.23, with individual benchmark performance increasing by up to 59.29%.","PeriodicalId":280244,"journal":{"name":"2022 3rd International Conference on Information Science, Parallel and Distributed Systems (ISPDS)","volume":"31 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-07-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Structure Peeling Based on Link Time Optimization in the GCC compiler\",\"authors\":\"Liangming Huang, Jun Jiang, Xiuwu Gao\",\"doi\":\"10.1109/ISPDS56360.2022.9874019\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The huge gap between the speed of processors and their memory has become one major bottleneck in modern computer systems. In order to achieve higher performance, sophisticated techniques are increasingly needed to improve the data locality of the programs. In this paper, the structure peeling optimization based on LTO is implemented in the GCC compiler for that purpose. The structure types suitable for peeling are selected through adequate escape analysis and then split into multiple pieces, each containing one field corresponding to that in the original structure. This optimization is placed in the stage after whole program analysis of LTO so that can handle functions' parameters and global variables which cannot be handled from a local perspective. The experimental result shows that by adopting our optimization the geometric mean performance acceleration ratio of five SPEC CPU benchmarks can be achieved by 1.23, with individual benchmark performance increasing by up to 59.29%.\",\"PeriodicalId\":280244,\"journal\":{\"name\":\"2022 3rd International Conference on Information Science, Parallel and Distributed Systems (ISPDS)\",\"volume\":\"31 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2022-07-22\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2022 3rd International Conference on Information Science, Parallel and Distributed Systems (ISPDS)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ISPDS56360.2022.9874019\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2022 3rd International Conference on Information Science, Parallel and Distributed Systems (ISPDS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ISPDS56360.2022.9874019","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Structure Peeling Based on Link Time Optimization in the GCC compiler
The huge gap between the speed of processors and their memory has become one major bottleneck in modern computer systems. In order to achieve higher performance, sophisticated techniques are increasingly needed to improve the data locality of the programs. In this paper, the structure peeling optimization based on LTO is implemented in the GCC compiler for that purpose. The structure types suitable for peeling are selected through adequate escape analysis and then split into multiple pieces, each containing one field corresponding to that in the original structure. This optimization is placed in the stage after whole program analysis of LTO so that can handle functions' parameters and global variables which cannot be handled from a local perspective. The experimental result shows that by adopting our optimization the geometric mean performance acceleration ratio of five SPEC CPU benchmarks can be achieved by 1.23, with individual benchmark performance increasing by up to 59.29%.