ABSTRACT
Non-Volatile Memories (NVMs) can significantly improve the performance of data-intensive applications. A popular form of NVM is Battery-backed DRAM, which is available and in use today with DRAMs latency and without the endurance problems of emerging NVM technologies. Modern servers can be provisioned with up-to 4 TB of DRAM, and provisioning battery backup to write out such large memories is hard because of the large battery sizes and the added hardware and cooling costs. We present Viyojit, a system that exploits the skew in write working sets of applications to provision substantially smaller batteries while still ensuring durability for the entire DRAM capacity. Viyojit achieves this by bounding the number of dirty pages in DRAM based on the provisioned battery capacity and proactively writing out infrequently written pages to an SSD. Even for write-heavy workloads with less skew than we observe in analysis of real data center traces, Viyojit reduces the required battery capacity to 11% of the original size, with a performance overhead of 7-25%. Thus, Viyojit frees battery-backed DRAM from stunted growth of battery capacities and enables servers with terabytes of battery-backed DRAM.
- AGIGARAM Non-Volatile System. http://www.agigatech.com/agigaram.php.Google Scholar
- Amazon S3: Amazon Simple Storage Servive. https://aws.amazon.com/s3/.Google Scholar
- Azure Blob Storage. https://azure.microsoft.com/en-us/services/storage/blobs/.Google Scholar
- Google's One Battery Per Server Design. https://gigaom.com/2009/04/01/a-key-to-googles-data-center-efficiency-one-backup-battery-per-server/.Google Scholar
- HPE Persistent Memory. https://www.hpe.com/us/en/servers/persistent-memory.html.Google Scholar
- Inside the Open Compute Project Server at Facebook. https://www.facebook.com/notes/facebook-engineering/inside-the-open-compute-project-server/10150144796738920/.Google Scholar
- Intel Nehalem Class Core i7 Processor. http://ark.intel.com/products/37150/Intel-Core-i7-950-Processor-8M-Cache-3_06-GHz-4_80-GTs-Intel-QPI.Google Scholar
- Intel Optane/Micron 3d-XPoint Memory. http://www.intel.com/content/www/us/en/architecture-and-technology/non-volatile-memory.html.Google Scholar
- Microsoft Azure. http://azure.microsoft.com.Google Scholar
- Microsoft Reinvents Datacenter Power Backup with Lithium-ion Batteries. https://blogs.technet.microsoft.com/hybridcloud/2015/03/10/microsoft-reinvents-datacenter-power-backup-with-new-open-compute-project-specification/.Google Scholar
- NETLIST's NVvault NVDIMM-N. http://www.netlist.com/products/vault-memory-storage/nvvault-ddr4-nvdimm/default.aspx.Google Scholar
- Persistent Memory Emulation. http://pmem.io/2016/02/22/pm-emulation.html.Google Scholar
- PMEM: Intel persistent memory library. http://pmem.io.Google Scholar
- Redis: in-memory key value store. http://redis.io/.Google Scholar
- Samsung 128 GB DIMM. https://news.samsung.com/global/samsung-starts-mass-producing-industrys-first-128-gigabyte-ddr4-modules-for-enterprise-servers.Google Scholar
- SMART's NVDIMM. http://www.smartm.com/products/dram/NVDIMM_products.asp.Google Scholar
- System Support for NVMs in Linux. http://nvdimm.wiki.kernel.org.Google Scholar
- Tesla Future of Transportation Session Presentation. https://www.slideshare.net/vvfvilar/jb-16-x9-tesla-vail-global-energy.Google Scholar
- Understanding the Linux Virtual Memory Manager. https://www.kernel.org/doc/gorman/pdf/understand.pdf.Google Scholar
- Viking Non-Volatile Memory. http://www.vikingtechnology.com/nvdimm-technology.Google Scholar
- Joy Arulraj, Andrew Pavlo, and Subramanya R. Dulloor. 2015. Let's Talk About Storage & Recovery Methods for Non-Volatile Memory Database Systems. In Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data (SIGMOD '15). ACM, New York, NY, USA, 707--722. Google ScholarDigital Library
- Anirudh Badam, Ranveer Chandra, Jon Dutra, Anthony Ferrese, Steve Hodges, Pan Hu, Julia Meinershagen, Thomas Moscibroda, Bodhi Priyantha, and Evangelia Skiani. 2015. Software Defined Batteries. In Proceedings of the 25th Symposium on Operating Systems Principles (SOSP '15). ACM, New York, NY, USA, 215--229. Google ScholarDigital Library
- Sorav Bansal and Dharmendra S Modha. 2004. CAR: Clock with Adaptive Replacement. In Proceedings of the FAST '04 Conference on File and Storage Technologies, March 31-April 2, 2004, Grand Hyatt Hotel, San Francisco, California, USA, Vol. 4. 187--200. Google ScholarDigital Library
- Bill Bridge. 2015. NVM support for C applications. (2015). Available at http://www.snia.org/sites/default/files/BillBridgeNVMSummit2015Slides.pdf.Google Scholar
- Ronnie Chaiken, Bob Jenkins, Per-Åke Larson, Bill Ramsey, Darren Shakib, Simon Weaver, and Jingren Zhou. 2008. SCOPE: Easy and Efficient Parallel Processing of Massive Data Sets. Proc. VLDB Endow. 1, 2 (Aug. 2008), 1265--1276. Google ScholarDigital Library
- Joel Coburn, Adrian M. Caulfield, Ameen Akel, Laura M. Grupp, Rajesh K. Gupta, Ranjit Jhala, and Steven Swanson. 2011. NV-Heaps: Making Persistent Objects Fast and Safe with Next-generation, Non-volatile Memories. In Proceedings of the Sixteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS XVI). ACM, New York, NY, USA, 105--118. Google ScholarDigital Library
- Jeremy Condit, Edmund B. Nightingale, Christopher Frost, Engin Ipek, Benjamin Lee, Doug Burger, and Derrick Coetzee. 2009. Better I/O Through Byte-addressable, Persistent Memory. In Proceedings of the ACM SIGOPS 22Nd Symposium on Operating Systems Principles (SOSP '09). ACM, New York, NY, USA, 133--146. Google ScholarDigital Library
- Brian F. Cooper, Adam Silberstein, Erwin Tam, Raghu Ramakrishnan, and Russell Sears. 2010. Benchmarking Cloud Serving Systems with YCSB. In Proceedings of the 1st ACM Symposium on Cloud Computing (SoCC '10). ACM, New York, NY, USA, 143--154. Google ScholarDigital Library
- G. Copeland, T. Keller, R. Krishnamurthy, and M. Smith. 1989. The Case for Safe RAM. In Proceedings of the 15th International Conference on Very Large Data Bases (VLDB '89). Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 327--335. http://dl.acm.org/citation.cfm?id=88830.88887 Google ScholarDigital Library
- Intel Corporation. 2015. Persistent Memory Programming. (2015). http://pmem.io/nvml/Google Scholar
- Jeffrey Dean and Sanjay Ghemawat. 2008. MapReduce: Simplified Data Processing on Large Clusters. Commun. ACM 51, 1 (Jan. 2008), 107--113. Google ScholarDigital Library
- Aleksandar Dragojević, Dushyanth Narayanan, Edmund B. Nightingale, Matthew Renzelmann, Alex Shamis, Anirudh Badam, and Miguel Castro. 2015. No Compromises: Distributed Transactions with Consistency, Availability, and Performance. In Proceedings of the 25th Symposium on Operating Systems Principles (SOSP '15'). ACM, New York, NY, USA, 54--70. Google ScholarDigital Library
- Aleksandar Dragojević, Dushyanth Narayanan, Edmund B. Nightingale, Matthew Renzelmann, Alex Shamis, Anirudh Badam, and Miguel Castro. 2015. No Compromises: Distributed Transactions with Consistency, Availability, and Performance. In Proceedings of the 25th Symposium on Operating Systems Principles (SOSP '15'). ACM, New York, NY, USA, 54--70. Google ScholarDigital Library
- Subramanya R. Dulloor, Sanjay Kumar, Anil Keshavamurthy, Philip Lantz, Dheeraj Reddy, Rajesh Sankaran, and Jeff Jackson. 2014. System Software for Persistent Memory. In Proceedings of the Ninth European Conference on Computer Systems (EuroSys '14). ACM, New York, NY, USA, Article 15, 15 pages. Google ScholarDigital Library
- Ozan Erdinc, Bulent Vural, and Mehmet Uzunoglu. 2009. A dynamic lithium-ion battery model considering the effects of temperature and capacity fading. In Clean Electrical Power, 2009 International Conference on. 383--386.Google ScholarCross Ref
- Ru Fang, Hui-I Hsiao, Bin He, C. Mohan, and Yun Wang. 2011. High Performance Database Logging Using Storage Class Memory. In Proceedings of the 2011 IEEE 27th International Conference on Data Engineering (ICDE '11). IEEE Computer Society, Washington, DC, USA, 1221--1231. Google ScholarDigital Library
- Sriram Govindan, Anand Sivasubramaniam, and Bhuvan Urgaonkar. 2011. Benefits and Limitations of Tapping into Stored Energy for Datacenters. In Proceedings of the 38th Annual International Symposium on Computer Architecture (ISCA '11). ACM, New York, NY, USA, 341--352. Google ScholarDigital Library
- Jian Huang, Karsten Schwan, and Moinuddin K. Qureshi. 2014. NVRAM-aware Logging in Transaction Systems. Proc. VLDB Endow. 8, 4 (Dec. 2014), 389--400. Google ScholarDigital Library
- Song Jiang and Xiaodong Zhang. 2002. LIRS: An Efficient Low Inter-reference Recency Set Replacement Policy to Improve Buffer Cache Performance. In Proceedings of the 2002 ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS '02). ACM, New York, NY, USA, 31--42. Google ScholarDigital Library
- Theodore Johnson and Dennis Shasha. 1994. 2Q: A Low Overhead High Performance Buffer Management Replacement Algorithm. In Proceedings of the 20th International Conference on Very Large Data Bases (VLDB '94). Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 439--450. http://dl.acm.org/citation.cfm?id=645920.672996 Google ScholarDigital Library
- Anuj Kalia, Michael Kaminsky, and David G. Andersen. 2016. FaSST: Fast, Scalable and Simple Distributed Transactions with Two-Sided (RDMA) Datagram RPCs. In 12th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2016, Savannah, GA, USA, November 2-4, 2016. 185--201. https://www.usenix.org/conference/osdi16/technical-sessions/presentation/kalia Google ScholarDigital Library
- Vasileios Kontorinis, Liuyi Eric Zhang, Baris Aksanli, Jack Sampson, Houman Homayoun, Eddie Pettis, Dean M Tullsen, and Tajana Simunic Rosing. 2012. Managing distributed ups energy for effective power capping in data centers. In Computer Architecture (ISCA), 2012 39th Annual International Symposium on. IEEE, 488--499. Google ScholarDigital Library
- Vasileios Kontorinis, Liuyi Eric Zhang, Baris Aksanli, Jack Sampson, Houman Homayoun, Eddie Pettis, Dean M. Tullsen, and Tajana Simunic Rosing. 2012. Managing Distributed Ups Energy for Effective Power Capping in Data Centers. In Proceedings of the 39th Annual International Symposium on Computer Architecture (ISCA '12). IEEE Computer Society, Washington, DC, USA, 488--499. http://dl.acm.org/citation.cfm?id=2337159.2337216 Google ScholarDigital Library
- Benjamin C. Lee, Engin Ipek, Onur Mutlu, and Doug Burger. 2009. Architecting Phase Change Memory As a Scalable Dram Alternative. In Proceedings of the 36th Annual International Symposium on Computer Architecture (ISCA '09). ACM, New York, NY, USA, 2--13. Google ScholarDigital Library
- Donghee Lee, Jongmoo Choi, John-Hun Kim, SamH. Noh, SangL. Min, Yoonkun Cho, and Chong S. Kim. 2001. LRFU: A Spectrum of Policies That Subsumes the Least Recently Used and Least Frequently Used Policies. IEEE Trans. Comput. 50, 12 (Dec. 2001), 1352--1361. Google ScholarDigital Library
- Eunji Lee, Hyokyung Bahn, and Sam H. Noh. 2013. Unioning of the buffer cache and journaling layers with non-volatile memory. In Proceedings of the 11th USENIX conference on File and Storage Technologies, FAST 2013, San Jose, CA, USA, February 12-15, 2013. 73--80. https://www.usenix.org/conference/fast13/technical-sessions/presentation/lee Google ScholarDigital Library
- Yang Li, Di Wang, Saugata Ghose, Jie Liu, Sriram Govindan, Sean James, Eric Peterson, John Siegler, Rachata Ausavarungnirun, and Onur Mutlu. 2016. SizeCap: Efficiently handling power surges in fuel cell powered data centers. In 2016 IEEE International Symposium on High Performance Computer Architecture (HPCA). 444--456.Google ScholarCross Ref
- David E. Lowell and Peter M. Chen. 1997. Free Transactions with Rio Vista. In Proceedings of the Sixteenth ACM Symposium on Operating Systems Principles (SOSP '97). ACM, New York, NY, USA, 92--101. Google ScholarDigital Library
- Chris A. Mack. 2011. Fifty Years of Moore's Law. IEEE Transactions on Semiconductor Manufacturing 24, 2 (May 2011), 202--207.Google ScholarCross Ref
- Thanos Makatos, Yannis Klonatos, Manolis Marazakis, Michail D. Flouris, and Angelos Bilas. 2010. Using Transparent Compression to Improve SSD-based I/O Caches. In Proceedings of the 5th European Conference on Computer Systems (EuroSys '10). ACM, New York, NY, USA, 1--14. Google ScholarDigital Library
- Nimrod Megiddo and Dharmendra S. Modha. 2003. ARC: A Self-Tuning, Low Overhead Replacement Cache. In Proceedings of the FAST '03 Conference on File and Storage Technologies, March 31-April 2, 2003, Cathedral Hill Hotel, San Francisco, California, USA. http://www.usenix.org/events/fast03/tech/megiddo.html Google ScholarDigital Library
- Ethan Mollick. 2006. Establishing Moore's Law. IEEE Annals of the History of Computing 28, 3 (July 2006), 62--75. Google ScholarDigital Library
- Elizabeth J. O'Neil, Patrick E. O'Neil, and Gerhard Weikum. 1993. The LRU-K Page Replacement Algorithm for Database Disk Buffering. In Proceedings of the 1993 ACM SIGMOD International Conference on Management of Data (SIGMOD '93). ACM, New York, NY, USA, 297--306. Google ScholarDigital Library
- Diego Ongaro, Stephen M. Rumble, Ryan Stutsman, John Ousterhout, and Mendel Rosenblum. 2011. Fast Crash Recovery in RAMCloud. In Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles (SOSP '11). ACM, New York, NY, USA, 29--41. Google ScholarDigital Library
- Mendel Rosenblum and John K. Ousterhout. 1992. The Design and Implementation of a Log-structured File System. ACM Trans. Comput. Syst. 10, 1 (Feb. 1992), 26--52. Google ScholarDigital Library
- Vivek Seshadri, Abhishek Bhowmick, Onur Mutlu, Phillip B. Gibbons, Michael A. Kozuch, and Todd C. Mowry. 2014. The Dirty-block Index. SIGARCH Comput. Archit. News 42, 3 (June 2014), 157--168. Google ScholarDigital Library
- Jaewoong Sim, Gabriel H. Loh, Hyesoon Kim, Mike O'Connor, and Mithuna Thottethodi. 2012. A Mostly-Clean DRAM Cache for Effective Hit Speculation and Self-Balancing Dispatch. In 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture. 247--257. Google ScholarDigital Library
- Shivaram Venkataraman, Niraj Tolia, Parthasarathy Ranganathan, and Roy H. Campbell. 2011. Consistent and Durable Data Structures for Non-Volatile Byte-Addressable Memory. In 9th USENIX Conference on File and Storage Technologies, San Jose, CA, USA, February 15-17, 2011. 61--75. http://www.usenix.org/events/fast11/tech/techAbstracts.html#Venkataraman Google ScholarDigital Library
- Haris Volos, Andres Jaan Tack, and Michael M. Swift. 2011. Mnemosyne: Lightweight Persistent Memory. In Proceedings of the Sixteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS XVI). ACM, New York, NY, USA, 91--104. Google ScholarDigital Library
- Carl A. Waldspurger. 2002. Memory Resource Management in VMware ESX Server. SIGOPS Oper. Syst. Rev. 36, SI (Dec. 2002), 181--194. Google ScholarDigital Library
- An-I Wang, Peter L. Reiher, Gerald J. Popek, and Geoffrey H. Kuenning. 2002. Conquest: Better Performance Through a Disk/Persistent-RAM Hybrid File System. In Proceedings of the General Track: 2002 USENIX Annual Technical Conference, June 10-15, 2002, Monterey, California, USA. 15--28. http://www.usenix.org/publications/library/proceedings/usenix02/wang.html Google ScholarDigital Library
- Di Wang, Sriram Govindan, Anand Sivasubramaniam, Aman Kansal, Jie Liu, and Badriddine Khessib. 2014. Underprovisioning Backup Power Infrastructure for Datacenters. In Proceedings of the 19th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '14). ACM, New York, NY, USA, 177--192. Google ScholarDigital Library
- Emmett Witchel, Josh Cates, and Krste Asanović. 2002. Mondrian Memory Protection. In Proceedings of the 10th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS X). ACM, New York, NY, USA, 304--316. Google ScholarDigital Library
- Jian Xu and Steven Swanson. 2016. NOVA: A Log-structured File System for Hybrid Volatile/Non-volatile Main Memories. In 14th USENIX Conference on File and Storage Technologies, FAST 2016, Santa Clara, CA, USA, February 22-25, 2016. 323--338. https://www.usenix.org/conference/fast16/technical-sessions/presentation/xu Google ScholarDigital Library
- Yiying Zhang, Jian Yang, Amirsaman Memaripour, and Steven Swanson. 2015. Mojim: A Reliable and Highly-Available Non-Volatile Memory System. In Proceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '15). ACM, New York, NY, USA, 3--18. Google ScholarDigital Library
- Wenli Zheng, Kai Ma, and Xiaorui Wang. 2014. Exploiting thermal energy storage to reduce data center capital and operating expenses. In 2014 IEEE 20th International Symposium on High Performance Computer Architecture (HPCA). 132--141.Google ScholarCross Ref
- Yuanyuan Zhou, James Philbin, and Kai Li. 2001. The Multi-Queue Replacement Algorithm for Second Level Buffer Caches. In Proceedings of the General Track: 2001 USENIX Annual Technical Conference, June 25-30, 2001, Boston, Massachusetts, USA. 91--104. http://www.usenix.org/publications/library/proceedings/usenix01/zhou.html Google ScholarDigital Library
- Benjamin Zhu, Kai Li, and Hugo Patterson. 2008. Avoiding the Disk Bottleneck in the Data Domain Deduplication File System. In 6th USENIX Conference on File and Storage Technologies, FAST 2008, February 26-29, 2008, San Jose, CA, USA. 269--282. http://www.usenix.org/events/fast08/tech/zhu.html Google ScholarDigital Library
- Chen-Xi Zu and Hong Li. 2011. Thermodynamic analysis on energy densities of batteries. Energy and Environmental Science 4 (2011), 2614--2624. Issue 8.Google ScholarCross Ref
Index Terms
- Viyojit: Decoupling Battery and DRAM Capacities for Battery-Backed DRAM
Recommendations
Viyojit: Decoupling Battery and DRAM Capacities for Battery-Backed DRAM
ISCA'17Non-Volatile Memories (NVMs) can significantly improve the performance of data-intensive applications. A popular form of NVM is Battery-backed DRAM, which is available and in use today with DRAMs latency and without the endurance problems of emerging ...
DEUCE: Write-Efficient Encryption for Non-Volatile Memories
ASPLOS'15Phase Change Memory (PCM) is an emerging Non Volatile Memory (NVM) technology that has the potential to provide scalable high-density memory systems. While the non-volatility of PCM is a desirable property in order to save leakage power, it also has the ...
DEUCE: Write-Efficient Encryption for Non-Volatile Memories
ASPLOS '15Phase Change Memory (PCM) is an emerging Non Volatile Memory (NVM) technology that has the potential to provide scalable high-density memory systems. While the non-volatility of PCM is a desirable property in order to save leakage power, it also has the ...
Comments