{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:12:05Z","timestamp":1750306325018,"version":"3.41.0"},"reference-count":19,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2016,3,25]],"date-time":"2016-03-25T00:00:00Z","timestamp":1458864000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGBED Rev."],"published-print":{"date-parts":[[2016,3,25]]},"abstract":"<jats:p>While demand for physically contiguous memory allocation is still alive, especially in embedded system, existing solutions are insufficient. The most adapted solution is reservation technique. Though it serves allocation well, it could severely degrade memory utilization. There are hardware solutions like Scatter\/Gather DMA and IOMMU. However, cost of these additional hardware is too excessive for low-end devices. CMA is a software solution of Linux that aims to solve not only allocation but also memory utilization problem. However, in real environment, CMA could incur unpredictably slow latency and could often fail to allocate contiguous memory due to its complex design.<\/jats:p>\n          <jats:p>We introduce a new solution for the above problem, GCMA (Guaranteed Contiguous Memory Allocator). It guarantees not only memory space efficiency but also fast latency and success by using reservation technique and letting only immediately discardable to use the area efficiently. Our evaluation on Raspberry Pi 2 shows 15 to 130 times faster and more predictable allocation latency without system performance degradation compared to CMA.<\/jats:p>","DOI":"10.1145\/2907972.2907976","type":"journal-article","created":{"date-parts":[[2016,3,28]],"date-time":"2016-03-28T12:53:25Z","timestamp":1459169605000},"page":"29-34","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["GCMA"],"prefix":"10.1145","volume":"13","author":[{"given":"SeongJae","family":"Park","sequence":"first","affiliation":[{"name":"Seoul National University"}]},{"given":"Minchan","family":"Kim","sequence":"additional","affiliation":[{"name":"LG Electronics"}]},{"given":"Heon Y.","family":"Yeom","sequence":"additional","affiliation":[{"name":"Seoul National University"}]}],"member":"320","published-online":{"date-parts":[[2016,3,25]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"KVM Forum","author":"Arcangeli A.","year":"2010","unstructured":"A. Arcangeli . Transparent hugepage support . KVM Forum , 2010 . A. Arcangeli. Transparent hugepage support. KVM Forum, 2010."},{"key":"e_1_2_1_2_1","volume-title":"http:\/\/lwn.net\/Articles\/386090\/","author":"Corbet J.","year":"2010","unstructured":"J. Corbet . Cleancache and Frontswap . http:\/\/lwn.net\/Articles\/386090\/ , 2010 . J. Corbet. Cleancache and Frontswap. http:\/\/lwn.net\/Articles\/386090\/, 2010."},{"key":"e_1_2_1_3_1","volume-title":"Before memory was virtual","author":"Denning P.","year":"1997","unstructured":"P. Denning . Before memory was virtual . 1997 . P. Denning. Before memory was virtual. 1997."},{"key":"e_1_2_1_4_1","volume-title":"The compression cache: virtual memory compression for handheld computers","author":"Freedman M.","year":"2000","unstructured":"M. Freedman . The compression cache: virtual memory compression for handheld computers . 2000 . M. Freedman. The compression cache: virtual memory compression for handheld computers. 2000."},{"key":"e_1_2_1_5_1","first-page":"191","volume-title":"in Proc. 21th Int. Conf. Compilers, architectures and synthesis for embedded systems","author":"Jeong J.","unstructured":"J. Jeong , H. Kim , J. Hwang , J. Lee , and S. Maeng . DaaC: device-reserved memory as an eviction-based file cache . In in Proc. 21th Int. Conf. Compilers, architectures and synthesis for embedded systems , page 191 . ACM Press, Oct. 2012. J. Jeong, H. Kim, J. Hwang, J. Lee, and S. Maeng. DaaC: device-reserved memory as an eviction-based file cache. In in Proc. 21th Int. Conf. Compilers, architectures and synthesis for embedded systems, page 191. ACM Press, Oct. 2012."},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/2435227.2435239"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/301589.286864"},{"key":"e_1_2_1_8_1","first-page":"191","volume-title":"Proceedings of the 20th annual international symposium on Computer architecture - ISCA '93","volume":"21","author":"Jouppi N. P.","year":"1993","unstructured":"N. P. Jouppi . Cache write policies and performance . In Proceedings of the 20th annual international symposium on Computer architecture - ISCA '93 , volume 21 , pages 191 -- 201 , New York, New York, USA , June 1993 . ACM Press. N. P. Jouppi. Cache write policies and performance. In Proceedings of the 20th annual international symposium on Computer architecture - ISCA '93, volume 21, pages 191--201, New York, New York, USA, June 1993. ACM Press."},{"key":"e_1_2_1_9_1","volume-title":"Linux man page","author":"MacKenzie D.","year":"2010","unstructured":"D. MacKenzie . nice. Linux man page , 2010 . D. MacKenzie. nice. Linux man page, 2010."},{"key":"e_1_2_1_10_1","unstructured":"D. Magenheimer. In kernel memory compression. http:\/\/lwn.net\/Articles\/545244\/ 2013.  D. Magenheimer. In kernel memory compression. http:\/\/lwn.net\/Articles\/545244\/ 2013."},{"key":"e_1_2_1_11_1","volume-title":"lmbench: Portable Tools for Performance Analysis. USENIX annual technical conference","author":"McVoy L.","year":"1996","unstructured":"L. McVoy and C. Staelin . lmbench: Portable Tools for Performance Analysis. USENIX annual technical conference , 1996 . L. McVoy and C. Staelin. lmbench: Portable Tools for Performance Analysis. USENIX annual technical conference, 1996."},{"volume-title":"http:\/\/elinux.org\/RPiconfig","year":"2014","key":"e_1_2_1_12_1","unstructured":"msperl. Rpiconfig. http:\/\/elinux.org\/RPiconfig , 2014 . msperl. Rpiconfig. http:\/\/elinux.org\/RPiconfig, 2014."},{"key":"e_1_2_1_13_1","volume-title":"Proceedings of LinuxCon Europe 2012","author":"Nazarewicz M.","year":"2012","unstructured":"M. Nazarewicz . Contiguous Memory Allocator . In Proceedings of LinuxCon Europe 2012 . LinuxFoundation , 2012 . M. Nazarewicz. Contiguous Memory Allocator. In Proceedings of LinuxCon Europe 2012. LinuxFoundation, 2012."},{"key":"e_1_2_1_14_1","volume-title":"http:\/\/lwn.net\/Articles\/619865\/","author":"Park S.","year":"2014","unstructured":"S. Park . introduce gcma. http:\/\/lwn.net\/Articles\/619865\/ , 2014 . S. Park. introduce gcma. http:\/\/lwn.net\/Articles\/619865\/, 2014."},{"key":"e_1_2_1_15_1","volume-title":"Linux-Kernel Manual: Guidelines for the Design and Implementation of Kernel 2.6, page 348.","author":"Robert Love A.-W.","year":"2005","unstructured":"A.-W. Robert Love . The Buffer Cache . In Linux-Kernel Manual: Guidelines for the Design and Implementation of Kernel 2.6, page 348. 2005 . A.-W. Robert Love. The Buffer Cache. In Linux-Kernel Manual: Guidelines for the Design and Implementation of Kernel 2.6, page 348. 2005."},{"key":"e_1_2_1_16_1","volume-title":"Raspberry Pi Hacks: Tips & Tools for Making Things with the Inexpensive Linux Computer, page 95.","author":"Ruth Suehle T. C.","year":"2013","unstructured":"T. C. Ruth Suehle . Automatically Share Memory . In Raspberry Pi Hacks: Tips & Tools for Making Things with the Inexpensive Linux Computer, page 95. 2013 . T. C. Ruth Suehle. Automatically Share Memory. In Raspberry Pi Hacks: Tips & Tools for Making Things with the Inexpensive Linux Computer, page 95. 2013."},{"key":"e_1_2_1_17_1","volume-title":"http:\/\/s.android.com\/devices\/tech\/low-ram.html","author":"Team A.","year":"2013","unstructured":"A. Team . Low RAM. http:\/\/s.android.com\/devices\/tech\/low-ram.html , 2013 . A. Team. Low RAM. http:\/\/s.android.com\/devices\/tech\/low-ram.html, 2013."},{"key":"e_1_2_1_18_1","volume-title":"Camera board available for sale! https:\/\/www.raspberrypi.org\/camera-board-available-for-sale\/","author":"Upton E.","year":"2013","unstructured":"E. Upton . Camera board available for sale! https:\/\/www.raspberrypi.org\/camera-board-available-for-sale\/ , 2013 . E. Upton. Camera board available for sale! https:\/\/www.raspberrypi.org\/camera-board-available-for-sale\/, 2013."},{"key":"e_1_2_1_19_1","volume-title":"https:\/\/www.raspberrypi.org\/raspberry-pi-2-on-sale\/","author":"Upton E.","year":"2015","unstructured":"E. Upton . Raspberry Pi 2 on sale now at $35. https:\/\/www.raspberrypi.org\/raspberry-pi-2-on-sale\/ , 2015 . E. Upton. Raspberry Pi 2 on sale now at $35. https:\/\/www.raspberrypi.org\/raspberry-pi-2-on-sale\/, 2015."}],"container-title":["ACM SIGBED Review"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2907972.2907976","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2907972.2907976","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:54:27Z","timestamp":1750222467000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2907972.2907976"}},"subtitle":["guaranteed contiguous memory allocator"],"short-title":[],"issued":{"date-parts":[[2016,3,25]]},"references-count":19,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2016,3,25]]}},"alternative-id":["10.1145\/2907972.2907976"],"URL":"https:\/\/doi.org\/10.1145\/2907972.2907976","relation":{},"ISSN":["1551-3688"],"issn-type":[{"type":"electronic","value":"1551-3688"}],"subject":[],"published":{"date-parts":[[2016,3,25]]},"assertion":[{"value":"2016-03-25","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}