José L. Risco-Martín, J. Manuel Colmenar, David Atienza, J. Ignacio Hidalgo
{"title":"模拟高性能内存分配器","authors":"José L. Risco-Martín, J. Manuel Colmenar, David Atienza, J. Ignacio Hidalgo","doi":"arxiv-2406.15776","DOIUrl":null,"url":null,"abstract":"For the last thirty years, a large variety of memory allocators have been\nproposed. Since performance, memory usage and energy consumption of each memory\nallocator differs, software engineers often face difficult choices in selecting\nthe most suitable approach for their applications. To this end, custom\nallocators are developed from scratch, which is a difficult and error-prone\nprocess. This issue has special impact in the field of portable consumer\nembedded systems, that must execute a limited amount of multimedia\napplications, demanding high performance and extensive memory usage at a low\nenergy consumption. This paper presents a flexible and efficient simulator to\nstudy Dynamic Memory Managers (DMMs), a composition of one or more memory\nallocators. This novel approach allows programmers to simulate custom and\ngeneral DMMs, which can be composed without incurring any additional runtime\noverhead or additional programming cost. We show that this infrastructure\nsimplifies DMM construction, mainly because the target application does not\nneed to be compiled every time a new DMM must be evaluated and because we\npropose a structured method to search and build DMMs in an object-oriented\nfashion. Within a search procedure, the system designer can choose the \"best\"\nallocator by simulation for a particular target application and embedded\nsystem. In our evaluation, we show that our scheme delivers better performance,\nless memory usage and less energy consumption than single memory allocators.","PeriodicalId":501333,"journal":{"name":"arXiv - CS - Operating Systems","volume":"1 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-06-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Simulation of high-performance memory allocators\",\"authors\":\"José L. Risco-Martín, J. Manuel Colmenar, David Atienza, J. Ignacio Hidalgo\",\"doi\":\"arxiv-2406.15776\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"For the last thirty years, a large variety of memory allocators have been\\nproposed. Since performance, memory usage and energy consumption of each memory\\nallocator differs, software engineers often face difficult choices in selecting\\nthe most suitable approach for their applications. To this end, custom\\nallocators are developed from scratch, which is a difficult and error-prone\\nprocess. This issue has special impact in the field of portable consumer\\nembedded systems, that must execute a limited amount of multimedia\\napplications, demanding high performance and extensive memory usage at a low\\nenergy consumption. This paper presents a flexible and efficient simulator to\\nstudy Dynamic Memory Managers (DMMs), a composition of one or more memory\\nallocators. This novel approach allows programmers to simulate custom and\\ngeneral DMMs, which can be composed without incurring any additional runtime\\noverhead or additional programming cost. We show that this infrastructure\\nsimplifies DMM construction, mainly because the target application does not\\nneed to be compiled every time a new DMM must be evaluated and because we\\npropose a structured method to search and build DMMs in an object-oriented\\nfashion. Within a search procedure, the system designer can choose the \\\"best\\\"\\nallocator by simulation for a particular target application and embedded\\nsystem. In our evaluation, we show that our scheme delivers better performance,\\nless memory usage and less energy consumption than single memory allocators.\",\"PeriodicalId\":501333,\"journal\":{\"name\":\"arXiv - CS - Operating Systems\",\"volume\":\"1 1\",\"pages\":\"\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2024-06-22\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"arXiv - CS - Operating Systems\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/arxiv-2406.15776\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Operating Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2406.15776","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
For the last thirty years, a large variety of memory allocators have been
proposed. Since performance, memory usage and energy consumption of each memory
allocator differs, software engineers often face difficult choices in selecting
the most suitable approach for their applications. To this end, custom
allocators are developed from scratch, which is a difficult and error-prone
process. This issue has special impact in the field of portable consumer
embedded systems, that must execute a limited amount of multimedia
applications, demanding high performance and extensive memory usage at a low
energy consumption. This paper presents a flexible and efficient simulator to
study Dynamic Memory Managers (DMMs), a composition of one or more memory
allocators. This novel approach allows programmers to simulate custom and
general DMMs, which can be composed without incurring any additional runtime
overhead or additional programming cost. We show that this infrastructure
simplifies DMM construction, mainly because the target application does not
need to be compiled every time a new DMM must be evaluated and because we
propose a structured method to search and build DMMs in an object-oriented
fashion. Within a search procedure, the system designer can choose the "best"
allocator by simulation for a particular target application and embedded
system. In our evaluation, we show that our scheme delivers better performance,
less memory usage and less energy consumption than single memory allocators.