Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article

Opportunistic Spinlocks: Achieving Virtual Machine Scalability in the Clouds

Published: 11 March 2016 Publication History

Abstract

With increasing demand for big-data processing and faster in-memory databases, cloud providers are moving towards large virtualized instances besides focusing on the horizontal scalability.
However, our experiments reveal that such instances in popular cloud services (e.g., 32 vCPUs with 208 GB supported by Google Compute Engine) do not achieve the desired scalability with increasing core count even with a simple, embarrassingly parallel job (e.g., Linux kernel compile). On a serious note, the internal synchronization scheme (e.g., paravirtualized ticket spinlock) of the virtualized instance on a machine with higher core count (e.g., 80-core) dramatically degrades its overall performance. Our finding is different from the previously well-known scalability problem (i.e., lock contention problem) and occurs because of the sophisticated optimization techniques implemented in the hypervisor---what we call sleepy spinlock anomaly. To solve this problem, we design and implement OTICKET, a variant of paravirtualized ticket spinlock that effectively scales the virtualized instances in both undersubscribed and oversubscribed environments.

References

[1]
Paravirtualized Spinlocks, 2008. http://lwn.net/Articles/289039/.
[2]
The CPU Scheduler in VMware ESX 4.1.
[3]
MCS locks and qspinlocks, 2014. https://lwn.net/Articles/590243/.
[4]
Exim Internet Mailer, 2015. http://www.exim.org/.
[5]
SAP HANA, 2015. http://hana.sap.com/abouthana.html.
[6]
ADAMS, K., AND AGESEN, O. A Comparison of Software and Hardware Techniques for x86 Virtualization. In Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems (2006), ASPLOS.
[7]
AHN, J., PARK, C. H., AND HUH, J. Micro-Sliced Virtual Processors to Hide the Effect of Discontinuous CPU Availability for Consolidated Systems. In Proceedings of the 47th Annual IEEE/ACM International Symposium on Microarchitecture (2014), MICRO.
[8]
BARHAM, P., DRAGOVIC, B., FRASER, K., HAND, S., HARRIS, T., HO, A., NEUGEBAUER, R., PRATT, I., AND WARFIELD, A. Xen and the Art of Virtualization. In Proceedings of the 19th ACM Symposium on Operating Systems Principles (SOSP) (Bolton Landing, NY, Oct. 2003).
[9]
BARR, J. EC2 Instance Update -- X1 (SAP HANA) & T2.Nano (Websites), 2015. https://aws.amazon.com/blogs/aws/ec2-instance-update-x1-sap-hana-t2-nano-websites/.
[10]
BOYD-WICKIZER, S., CLEMENTS, A. T., MAO, Y., PESTEREV, A., KAASHOEK, M. F., MORRIS, R., AND ZELDOVICH, N. An Analysis of Linux Scalability to Many Cores. In Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation (2010), OSDI.
[11]
BOYD-WICKIZER, S., KAASHOEK, M. F., MORRIS, R., AND ZELDOVICH, N. Non-scalable locks are dangerous. In Ottawa Linux Symposium (2012), OLS.
[12]
BUESO, D. Scalability Techniques for Practical Synchronization Primitives, 2014. https://queue.acm.org/detail.cfm?id=2698990.
[13]
CLEMENTS, A. T., KAASHOEK, M. F., AND ZELDOVICH, N. RadixVM: Scalable Address Spaces for Multithreaded Applications. In Proceedings of the ACM EuroSys Conference (Prague, Czech Republic, Apr. 2013), pp. 211--224.
[14]
CLEMENTS, A. T., KAASHOEK, M. F., ZELDOVICH, N., MORRIS, R. T., AND KOHLER, E. The Scalable Commutativity Rule: Designing Scalable Software for Multicore Processors. In Proceedings of the 24th ACM Symposium on Operating Systems Principles (SOSP) (Farmington, PA, Nov. 2013), pp. 1--17.
[15]
DING, X., GIBBONS, P. B., KOZUCH, M. A., AND SHAN, J. Gleaner: Mitigating the Blocked-waiter Wakeup Problem for Virtualized Multicore Applications. In Proceedings of the 2014 USENIX Conference on USENIX Annual Technical Conference (2014), USENIX ATC.
[16]
FRIEBEL, T. How to Deal with Lock-Holder Preemption. In Xen Summit North America (2008), XenSummit.
[17]
GORDON, A., AMIT, N., HAR'EL, N., BEN-YEHUDA, M., LANDAU, A., SCHUSTER, A., AND TSAFRIR, D. Eli: Baremetal performance for i/o virtualization. In Proceedings of the 17th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS) (London, UK, Mar. 2012), ASPLOS XVII, pp. 411--422.
[18]
INC., E.-S. Mail (MX) Server Survey, 2014. http://www.securityspace.com/s_survey/data/man.201404/mxsurvey.html.
[19]
KIM, H., KIM, S., JEONG, J., LEE, J., AND MAENG, S. Demand-based Coordinated Scheduling for SMP VMs. In Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems (2013), ASPLOS.
[20]
LONG, W. locking/qspinlock: Enhance pvqspinlock & introduce queued unfair lock, 2015. https://lwn.net/ Articles/650776/.
[21]
LONG, W. qspinlock: a 4-byte queue spinlock with PV support, 2015. https://lkml.org/lkml/2015/4/24/631.
[22]
MAO, Y., MORRIS, R., AND KAASHOEK, F. M. Optimizing MapReduce for Multicore Architectures. In MIT CSAIL, Technical Report (2010).
[23]
MCKENNEY, P. E., APPAVOO, J., KLEEN, A., KRIEGER, O., RUSSELL, R., SARMA, D., AND SONI, M. Read-Copy Update. In Ottawa Linux Symposium (2002), OLS.
[24]
MENON, A., SANTOS, J. R., TURNER, Y., JANAKIRAMAN, G. J., AND ZWAENEPOEL, W. Diagnosing Performance Overheads in the Xen Virtual Machine Environment. In Proceedings of the 1st ACM/USENIX International Conference on Virtual Execution Environments (2005), VEE.
[25]
MICROSOFT. SQL Server 2014, 2014. http://www. microsoft.com/en-us/server-cloud/products/sqlserver/ features.aspx.
[26]
OUYANG, J., AND LANGE, J. R. Preemptable Ticket Spinlocks: Improving Consolidated Performance in the Cloud. In Proceedings of the 9th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (2013), VEE.
[27]
PHILLIPS, S. M7: Next Generation SPARC.
[28]
RAGHAVENDRA, K., VADDAGIRI, S., DADHANIA, N., AND FITZHARDINGE, J. Paravirtualization for Scalable Kernel- Based Virtual Machine (KVM). In Cloud Computing in Emerging Markets (CCEM) (2012).
[29]
RIGHINI, M. Enabling Intel Virtualization Technology Features and Benefits, 2010.
[30]
SONG, X., CHEN, H., AND ZANG, B. Characterizing the Performance and Scalability of Many-core Applications on Virtualized Platforms. In Fudan University - Technical Report (2010).
[31]
SONG, X., SHI, J., CHEN, H., AND ZANG, B. Schedule Processes, Not VCPUs. In Proceedings of the 4th Asia-Pacific Workshop on Systems (2013), APSys.
[32]
SUKWONG, O., AND KIM, H. S. Is Co-scheduling Too Expensive for SMP VMs? In Proceedings of the ACM EuroSys Conference (Salzburg, Austria, Apr. 2011).
[33]
UHLIG, V., LEVASSEUR, J., SKOGLUND, E., AND DANNOWSKI, U. Towards Scalable Multiprocessor Virtual Machines. In Proceedings of the 3rd Conference on Virtual Machine Research And Technology Symposium - Volume 3 (2004), VM.
[34]
WENG, C., LIU, Q., YU, L., AND LI, M. Dynamic Adaptive Scheduling for Virtual Machines. In Proceedings of the 20th International Symposium on High Performance Distributed Computing (2011), HPDC.
[35]
ZAHARIA, M., CHOWDHURY, M., FRANKLIN, M. J., SHENKER, S., AND STOICA, I. Spark: Cluster Computing with Working Sets. In Proceedings of the 2Nd USENIX Conference on Hot Topics in Cloud Computing (2010), Hot-Cloud'10.

Cited By

View all
  • (2024)UFOProceedings of the 21st USENIX Symposium on Networked Systems Design and Implementation10.5555/3691825.3691909(1511-1530)Online publication date: 16-Apr-2024
  • (2024)TCSA: Efficient Localization of Busy-Wait Synchronization Bugs for Latency-Critical ApplicationsIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2023.334257335:2(297-309)Online publication date: 1-Feb-2024
  • (2023)CPS: A Cooperative Para-virtualized Scheduling Framework for Manycore MachinesProceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 410.1145/3623278.3624762(43-56)Online publication date: 25-Mar-2023
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM SIGOPS Operating Systems Review
ACM SIGOPS Operating Systems Review  Volume 50, Issue 1
Special Topics
January 2016
45 pages
ISSN:0163-5980
DOI:10.1145/2903267
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 11 March 2016
Published in SIGOPS Volume 50, Issue 1

Check for updates

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)19
  • Downloads (Last 6 weeks)1
Reflects downloads up to 09 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)UFOProceedings of the 21st USENIX Symposium on Networked Systems Design and Implementation10.5555/3691825.3691909(1511-1530)Online publication date: 16-Apr-2024
  • (2024)TCSA: Efficient Localization of Busy-Wait Synchronization Bugs for Latency-Critical ApplicationsIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2023.334257335:2(297-309)Online publication date: 1-Feb-2024
  • (2023)CPS: A Cooperative Para-virtualized Scheduling Framework for Manycore MachinesProceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 410.1145/3623278.3624762(43-56)Online publication date: 25-Mar-2023
  • (2022)Weight-Aware Cache for Application-Level Proportional I/O SharingIEEE Transactions on Computers10.1109/TC.2021.312936671:10(2395-2407)Online publication date: 1-Oct-2022
  • (2021)Tell me when you are sleepy and what may wake you up!Proceedings of the ACM Symposium on Cloud Computing10.1145/3472883.3487013(562-569)Online publication date: 1-Nov-2021
  • (2018)Scaling guest OS critical sections with eCSProceedings of the 2018 USENIX Conference on Usenix Annual Technical Conference10.5555/3277355.3277372(159-171)Online publication date: 11-Jul-2018
  • (2018)Overcoming Virtualization Overheads for Large-vCPU Virtual Machines2018 IEEE 26th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS)10.1109/MASCOTS.2018.00042(369-380)Online publication date: Sep-2018
  • (2017)HypercallbacksACM SIGOPS Operating Systems Review10.1145/3139645.313965451:1(54-59)Online publication date: 11-Sep-2017
  • (2017)HypercallbacksProceedings of the 16th Workshop on Hot Topics in Operating Systems10.1145/3102980.3102987(37-41)Online publication date: 7-May-2017
  • (2017)Malthusian LocksProceedings of the Twelfth European Conference on Computer Systems10.1145/3064176.3064203(314-327)Online publication date: 23-Apr-2017
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media