Yasong Zheng, Yuanchao Xu, Haibo Meng, Xiaochun Ye, Lingjun Fan, Futao Miao, Dongrui Fan
{"title":"为共享内存系统优化低内存需求的mapreduce","authors":"Yasong Zheng, Yuanchao Xu, Haibo Meng, Xiaochun Ye, Lingjun Fan, Futao Miao, Dongrui Fan","doi":"10.1109/SNPD.2014.6888708","DOIUrl":null,"url":null,"abstract":"MapReduce is a popular parallel programming model to program both large scale clusters and shared-memory multicore systems. While one of the major bottlenecks for shared-memory MapReduce is memory allocation. In this paper, we present a Memory Controlling Model (MCM) that can reduce the overhead of memory allocation by reducing the memory consumption. Based on MCM, we extend the MapReduce framework with low memory requirements, called LMMR (Low Memory consuming MapReduce). We have implemented LMMR on top of Phoenix++, an already highly optimized shared-memory MapReduce from Stanford. We evaluate our system on an Intel shared-memory multicore machine with 16 processing threads and compare it with both Phoenix++ and Hadoop. Experiments on three different popular applications show that, compared to Phoenix++, LMMR saves up to 94% memory and results in a speedup ranging from 1.8X to 3.7X. LMMR also is up to 120 times faster than Hadoop.","PeriodicalId":272932,"journal":{"name":"15th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Optimizing mapreduce with low memory requirements for shared-memory systems\",\"authors\":\"Yasong Zheng, Yuanchao Xu, Haibo Meng, Xiaochun Ye, Lingjun Fan, Futao Miao, Dongrui Fan\",\"doi\":\"10.1109/SNPD.2014.6888708\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"MapReduce is a popular parallel programming model to program both large scale clusters and shared-memory multicore systems. While one of the major bottlenecks for shared-memory MapReduce is memory allocation. In this paper, we present a Memory Controlling Model (MCM) that can reduce the overhead of memory allocation by reducing the memory consumption. Based on MCM, we extend the MapReduce framework with low memory requirements, called LMMR (Low Memory consuming MapReduce). We have implemented LMMR on top of Phoenix++, an already highly optimized shared-memory MapReduce from Stanford. We evaluate our system on an Intel shared-memory multicore machine with 16 processing threads and compare it with both Phoenix++ and Hadoop. Experiments on three different popular applications show that, compared to Phoenix++, LMMR saves up to 94% memory and results in a speedup ranging from 1.8X to 3.7X. LMMR also is up to 120 times faster than Hadoop.\",\"PeriodicalId\":272932,\"journal\":{\"name\":\"15th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD)\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2014-06-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"15th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/SNPD.2014.6888708\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"15th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SNPD.2014.6888708","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
摘要
MapReduce是一种流行的并行编程模型,用于为大规模集群和共享内存多核系统编程。而共享内存MapReduce的主要瓶颈之一是内存分配。本文提出了一种内存控制模型(Memory control Model, MCM),该模型可以通过减少内存消耗来减少内存分配的开销。在MCM的基础上,我们扩展了低内存需求的MapReduce框架,称为LMMR (low memory consuming MapReduce)。我们已经在菲尼克斯++上实现了LMMR,这是斯坦福大学已经高度优化的共享内存MapReduce。我们在一台英特尔共享内存多核机器上评估了我们的系统,该机器有16个处理线程,并将其与Phoenix++和Hadoop进行了比较。在三种不同的流行应用程序上进行的实验表明,与Phoenix++相比,LMMR节省了高达94%的内存,并实现了1.8到3.7倍的加速。LMMR也比Hadoop快120倍。
Optimizing mapreduce with low memory requirements for shared-memory systems
MapReduce is a popular parallel programming model to program both large scale clusters and shared-memory multicore systems. While one of the major bottlenecks for shared-memory MapReduce is memory allocation. In this paper, we present a Memory Controlling Model (MCM) that can reduce the overhead of memory allocation by reducing the memory consumption. Based on MCM, we extend the MapReduce framework with low memory requirements, called LMMR (Low Memory consuming MapReduce). We have implemented LMMR on top of Phoenix++, an already highly optimized shared-memory MapReduce from Stanford. We evaluate our system on an Intel shared-memory multicore machine with 16 processing threads and compare it with both Phoenix++ and Hadoop. Experiments on three different popular applications show that, compared to Phoenix++, LMMR saves up to 94% memory and results in a speedup ranging from 1.8X to 3.7X. LMMR also is up to 120 times faster than Hadoop.