Storage class memory (SCM) has the potential to revolutionize the memory landscape by its non-volatile and byte-addressable properties. However, there is little published work about exploring its usage for modern virtualized cloud infrastructure.We propose SCM-vWrite, a novel architecture designed around SCM, to ease the performance interference of virtualized storage subsystem. Through a case study on a typical virtualized cloud system, we first describe why current writeback manners are not suitable for a virtualized environment, then design and implement SCM-vWrite to improve this problem. We also use typical benchmarks and realistic workloads to evaluate its performance. Compared with the traditional method on a conventional architecture, the experimental result shows that SCM-vWrite can coordinate the writeback flows more effectively among multiple co-located guest operating systems, achieving a better disk I/O performance without any loss of reliability.
| [1] |
Burr G W. Towards Storage Class Memory: 3-D Crosspoint Access Devices using Mixed-Ionic-Electronic-Conduction. Technical Report. 2013
|
| [2] |
Haas R, Hu X Y, Koltsidas I, Pletka R A. Subsystem and systemlevel implications of PCM. In: Proceedings of the 10th European/Phase Change and Ovonics Symposium. 2011
|
| [3] |
Billaud J P, Gulati A. hClock: hierarchical QoS for packet scheduling in a hypervisor. In: Proceedings of the 8th ACM European Conference on Computer Systems. 2013, 309–322
|
| [4] |
Rosenblum M, Waldspurger C. I/O virtualization. ACM Queue, 2011, 9(11)
|
| [5] |
Gulati A, Merchant A, Varman P. mClock: handling throughput variability for hypervisor I/O scheduling. In: Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation. 2010, 1–7
|
| [6] |
Li D, Liao X, Jin H, Zhou B, Zhang Q. A new disk I/O model of virtualized cloud environment. IEEE Transactions on Parallel and Distributed Systems, 2013, 24(6): 1129–1138
|
| [7] |
Zeldovich N, Chandra R. Interactive performance measurement with VNCPlay. In: Proceedings of the USENIX Annual Technical Conference. 2005, 189–198
|
| [8] |
Warfield A, Hand S, Fraser K, Deegan T. Facilitating the development of soft devices. In: Proceedings of the Annual Conference on USENIX Annual Technical Conference. 2005, 379–382
|
| [9] |
Kivity A, Kamay Y, Laor D, Lublin U, Liguori A. KVM: the Linux virtual machine monitor. In: Proceedings of the Linux Symposium. 2007, 225–230
|
| [10] |
Wang CM, Yeh T C, Tseng G F. Provision of storage QoS in distributed file systems for clouds. In: Proceedings of the 41st International Conference on Parallel Processing. 2012, 189–198
|
| [11] |
Chen P, Noble B. When virtual is better than real. In: Proceedings of the 8th Workshop on Hot Topics in Operating Systems. 2001, 133–138
|
| [12] |
Garfinkel T, Rosenblum M. A virtual machine introspection based architecture for intrusion detection. In: Proceedings of the ISOC Network and Distributed System Security Symposium. 2003, 191–206
|
| [13] |
Tarasov V, Hildebrand D, Kuenning G, Zadok E. Virtual machine workloads: the case for new benchmarks for NAS. In: Proceedings of the 11th USENIX Conference on File and Storage Technologies. 2013, 307–320
|
| [14] |
Chrobak M, Noga J. LRU is better than FIFO. In: Proceedings of the 9th Annual ACM-SIAM Symposium on Discrete Algorithms. 1998, 78–81
|
| [15] |
Batsakis A, Burns R C, Kanevsky A, Lentini J, Talpey T. AWOL: an adaptive write optimizations layer. In: Proceedings of the 6th USENIX Conference on File and Storage Technologies. 2008, 67–80
|
| [16] |
Condit J, Nightingale E B, Frost C, Ipek E, Lee B, Burger D, Coetzee D. Better I/O through byte-addressable, persistent memory. In: Proceedings of the 22nd ACMSIGOPS Symposium on Operating Systems Principles. 2009, 133–146
|
| [17] |
Shen K, Park S, Zhu M. Journaling of journal is (almost) free. In: Proceedings of the 12th USENIX Conference on File and Storage Technologies. 2014, 287–293
|
| [18] |
Jain R, Chiu D, Hawe W. A Quantitative Measure of Fairness and Discrimination for Resource Allocation in Shared Computer Systems. DEC Research Report TR-301, 1984
|
| [19] |
Dulloor S R, Kumar S, Keshavamurthy A, Lantz P, Reddy D, Sankaran R, Jackson J. System software for persistent memory. In: Proceedings of the 9th European Conference on Computer Systems. 2014
|
| [20] |
Hu Y, Yang Q. DCD-disk caching disk: a new approach for boosting I/O performance. In: Proceedings of the 23rd Annual International Symposium on Computer Architecture. 1996, 169–178
|
| [21] |
Kim H, Jo H, Lee J. XHive: efficient cooperative caching for virtual machines. Transactions on Computers, 2010, 60(1): 106–119
|
| [22] |
Gupta D, Lee S, Vrable M, Savage S, Snoeren A C, Varghese G, Voelker G M, Vahdat A. Difference engine: harnessing memory redundancy in virtual machines. In: Proceedings of the 8th USENIX Symposium on Operating Systems Design and Implementation. 2008, 309–322
|
| [23] |
Harter T, Dragga C, Vaughn M, Arpaci-Dusseau A C, Arpaci-Dusseau RH. A file is not a file: understanding the I/O behavior of apple desktop applications. In: Proceedings of the 33rd ACM Symposium on Operating Systems Principles. 2011, 71–83
|
| [24] |
Ongaro D, Cox A L, Rixner S. Scheduling I/O in virtual machine monitors. In: Proceedings of the 4th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments. 2008, 1–10
|
| [25] |
Seelam S, Teller P. Fairness and performance isolation: an analysis of disk scheduling algorithms. In: Proceedings of the 2006 IEEE International Conference on Cluster Computing. 2006, 1–10
|
| [26] |
Seelam S, Teller P. Virtual I/O scheduler: a scheduler of schedulers for performance virtualization. In: Proceedings of the 3rd International Conference on Virtual Execution Environments. 2007, 105–115
|
| [27] |
Boutcher D, Chandra A. Does virtualization make disk scheduling passé? ACM SIGOPS Operating Systems Review, 2010, 44(1): 20–24
|
| [28] |
Gupta D, Cherkasova L, Gardner R, Vahdat A. Enforcing performance isolation across virtual machines in Xen. In: Proceedings of the ACM/IFIP/USENIX International Conference on Middleware. 2006, 342–362
|
| [29] |
Har’El N, Gordon A, Landau A, Ben-Yehuda M, Traeger A, Ladelsky R. Efficient and scalable paravirtual I/O system. In: Proceedings of the 2013 USENIX Conference on Annual Technical Conference. 2013, 231–242
|
| [30] |
Amiri Sani A, Boos K, Qin S, Zhong L. I/O Paravirtualization at the device file boundary. In: Proceedings of the 19th International Conference on Architectural Support for Programming Languages and Operating Systems. 2014, 319–332
|
| [31] |
Volos H, Tack A J, Swift M M. Mnemosyne: lightweight persistent memory. In: Proceedings of the 16th International Conference on Architectural Support for Programming Languages and Operating Systems. 2011, 91–104
|
| [32] |
Coburn J, Caulfield A M, Akel A, Grupp L M, Gupta R K, Jhala R, Swanson S. Nv-heaps: making persistent objects fast and safe with next-generation, non-volatile memories. In: Proceedings of the 16th International Conference on Architectural Support for Programming Languages and Operating Systems. 2011, 105–118
|
| [33] |
Lee E, Bahn H, Noh S H. Unioning of the buffer cache and journaling layers with non-volatile memory. In: Proceedings of the 11th USENIX Conference on File and Storage Technologies. 2013, 73–80
|
| [34] |
Lantz P, Dulloor S, Kumar S, Sankaran R, Jackson J. Yat: a validation framework for persistent memory software. In: Proceedings of the 2014 USENIX Annual Technical Conference. 2014, 433–438
|
RIGHTS & PERMISSIONS
Higher Education Press and Springer-Verlag Berlin Heidelberg