skip to main content
10.1145/3079856.3080236acmconferencesArticle/Chapter ViewAbstractPublication PagesiscaConference Proceedingsconference-collections
research-article

Viyojit: Decoupling Battery and DRAM Capacities for Battery-Backed DRAM

Published:24 June 2017Publication History

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.

References

  1. AGIGARAM Non-Volatile System. http://www.agigatech.com/agigaram.php.Google ScholarGoogle Scholar
  2. Amazon S3: Amazon Simple Storage Servive. https://aws.amazon.com/s3/.Google ScholarGoogle Scholar
  3. Azure Blob Storage. https://azure.microsoft.com/en-us/services/storage/blobs/.Google ScholarGoogle Scholar
  4. 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 ScholarGoogle Scholar
  5. HPE Persistent Memory. https://www.hpe.com/us/en/servers/persistent-memory.html.Google ScholarGoogle Scholar
  6. Inside the Open Compute Project Server at Facebook. https://www.facebook.com/notes/facebook-engineering/inside-the-open-compute-project-server/10150144796738920/.Google ScholarGoogle Scholar
  7. 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 ScholarGoogle Scholar
  8. Intel Optane/Micron 3d-XPoint Memory. http://www.intel.com/content/www/us/en/architecture-and-technology/non-volatile-memory.html.Google ScholarGoogle Scholar
  9. Microsoft Azure. http://azure.microsoft.com.Google ScholarGoogle Scholar
  10. 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 ScholarGoogle Scholar
  11. NETLIST's NVvault NVDIMM-N. http://www.netlist.com/products/vault-memory-storage/nvvault-ddr4-nvdimm/default.aspx.Google ScholarGoogle Scholar
  12. Persistent Memory Emulation. http://pmem.io/2016/02/22/pm-emulation.html.Google ScholarGoogle Scholar
  13. PMEM: Intel persistent memory library. http://pmem.io.Google ScholarGoogle Scholar
  14. Redis: in-memory key value store. http://redis.io/.Google ScholarGoogle Scholar
  15. Samsung 128 GB DIMM. https://news.samsung.com/global/samsung-starts-mass-producing-industrys-first-128-gigabyte-ddr4-modules-for-enterprise-servers.Google ScholarGoogle Scholar
  16. SMART's NVDIMM. http://www.smartm.com/products/dram/NVDIMM_products.asp.Google ScholarGoogle Scholar
  17. System Support for NVMs in Linux. http://nvdimm.wiki.kernel.org.Google ScholarGoogle Scholar
  18. Tesla Future of Transportation Session Presentation. https://www.slideshare.net/vvfvilar/jb-16-x9-tesla-vail-global-energy.Google ScholarGoogle Scholar
  19. Understanding the Linux Virtual Memory Manager. https://www.kernel.org/doc/gorman/pdf/understand.pdf.Google ScholarGoogle Scholar
  20. Viking Non-Volatile Memory. http://www.vikingtechnology.com/nvdimm-technology.Google ScholarGoogle Scholar
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. Bill Bridge. 2015. NVM support for C applications. (2015). Available at http://www.snia.org/sites/default/files/BillBridgeNVMSummit2015Slides.pdf.Google ScholarGoogle Scholar
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  30. Intel Corporation. 2015. Persistent Memory Programming. (2015). http://pmem.io/nvml/Google ScholarGoogle Scholar
  31. Jeffrey Dean and Sanjay Ghemawat. 2008. MapReduce: Simplified Data Processing on Large Clusters. Commun. ACM 51, 1 (Jan. 2008), 107--113. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  33. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  34. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  35. 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 ScholarGoogle ScholarCross RefCross Ref
  36. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  37. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  38. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  39. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  40. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  41. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  42. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  43. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  44. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  45. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  46. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  47. 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 ScholarGoogle ScholarCross RefCross Ref
  48. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  49. Chris A. Mack. 2011. Fifty Years of Moore's Law. IEEE Transactions on Semiconductor Manufacturing 24, 2 (May 2011), 202--207.Google ScholarGoogle ScholarCross RefCross Ref
  50. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  51. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  52. Ethan Mollick. 2006. Establishing Moore's Law. IEEE Annals of the History of Computing 28, 3 (July 2006), 62--75. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  54. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  55. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  56. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  57. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  58. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  59. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  60. Carl A. Waldspurger. 2002. Memory Resource Management in VMware ESX Server. SIGOPS Oper. Syst. Rev. 36, SI (Dec. 2002), 181--194. Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  62. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  63. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  64. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  65. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  66. 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 ScholarGoogle ScholarCross RefCross Ref
  67. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  68. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  69. 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 ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Viyojit: Decoupling Battery and DRAM Capacities for Battery-Backed DRAM

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          ISCA '17: Proceedings of the 44th Annual International Symposium on Computer Architecture
          June 2017
          736 pages
          ISBN:9781450348928
          DOI:10.1145/3079856

          Copyright © 2017 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 24 June 2017

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Research
          • Refereed limited

          Acceptance Rates

          ISCA '17 Paper Acceptance Rate54of322submissions,17%Overall Acceptance Rate543of3,203submissions,17%

          Upcoming Conference

          ISCA '24

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader