T. Ferreira, Rivalino Matias, Autran Macêdo, Lucio Borges de Araujo
{"title":"A Comparison of Memory Allocators for Multicore and Multithread Applications: A Quantitative Approach","authors":"T. Ferreira, Rivalino Matias, Autran Macêdo, Lucio Borges de Araujo","doi":"10.1109/SBESC.2011.29","DOIUrl":null,"url":null,"abstract":"The performance of memory allocation operations is a very important aspect to be considered in software design, however it is frequently neglected. This paper presents a comparative analysis of seven largely adopted memory allocators. Unlike other related works, based on artificial benchmark tests, we evaluate the selected allocators using real-world middleware applications. In order to compare the performance of the investigated allocators we consider the response time, memory consumption, and memory fragmentation. All tests are evaluated with respect to different combinations of processor cores. The results indicate that for workloads based on memory allocations up to 64 bytes and all combinations of processor cores up to four, the best average response time and memory usage is obtained using the TCMalloc memory allocator, followed by the Ptmalloc version 3.","PeriodicalId":147899,"journal":{"name":"2011 Brazilian Symposium on Computing System Engineering","volume":"7 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2011-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2011 Brazilian Symposium on Computing System Engineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SBESC.2011.29","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2
Abstract
The performance of memory allocation operations is a very important aspect to be considered in software design, however it is frequently neglected. This paper presents a comparative analysis of seven largely adopted memory allocators. Unlike other related works, based on artificial benchmark tests, we evaluate the selected allocators using real-world middleware applications. In order to compare the performance of the investigated allocators we consider the response time, memory consumption, and memory fragmentation. All tests are evaluated with respect to different combinations of processor cores. The results indicate that for workloads based on memory allocations up to 64 bytes and all combinations of processor cores up to four, the best average response time and memory usage is obtained using the TCMalloc memory allocator, followed by the Ptmalloc version 3.