Virtual Machine Scheduling for Multithreaded and Parallel Applications on Multicore Architectures
- 주제(키워드) 가상화 , 멀티코어 , 스케줄링
- 발행기관 고려대학교 대학원
- 지도교수 유혁
- 발행년도 2013
- 학위수여년월 2013. 8
- 학위구분 박사
- 학과 일반대학원 컴퓨터·전파통신공학과
- 원문페이지 109 p
- 실제URI http://www.dcollection.net/handler/korea/000000045812
- 본문언어 영어
- 제출원본 000045764464
초록/요약
Cloud computing platforms are very attractive for multi-threaded and parallel applications that perform computationally intensive tasks. These platforms can provide versatile and pliable computing resources to concurrent applications, thanks to the system virtualization technology that allows users to adjust and customize their given resources. Current computing platforms used for cloud computing systems have one or more multi-core processors, and the number of cores is expected to see geometric increase in the near future. A multi-core chip is a single computing processor with two or more independent CPU units. To achieve reasonable performance on multi-core processors, the development of technologies to fully exploit their capabilities is becoming an important research area. In this paper, we develop two virtual machine scheduling methods to make effective use of multi-core processors in virtualization environments. We propose a cache-aware virtual machine scheduler for multi-core architectures. The proposed scheduler exploits the locality of the last-level caches to improve the performance of concurrent applications running on virtual machines. For this purpose, we provide a space-partitioning algorithm that migrates and clusters communicating virtual CPUs (VCPUs) in the same cache domain. In addition, we provide a time- partitioning algorithm that coschedules or schedules in sequence clustered VCPUs. We present a theoretical analysis that proves our scheduling algorithm is more efficient in supporting concurrent applications than the default credit scheduler in Xen. We implemented our virtual machine scheduler in the recent Xen hypervisor with para-virtualized Linux-based operating systems. We show that our approach can improve performance of concurrent virtual machines by up to 19% compared to the credit scheduler. We propose sc scheduling, which is a synchronization-conscious scheduling algorithm that can understands the synchronization phases of each parallel application and uses the information in scheduling virtual CPUs to avoid unnecessary spinning and long blocking. The mechanism was implemented and evaluated using the recent Xen hypervisor. Our results show that our approach can improve the speed of concurrent virtual machines by up to 50% compared to the credit scheduler.
more목차
1 Introduction 1
1.1 Cache-Aware VM Scheduling .............. 3
1.2 Synchronization-Conscious VM Scheduling . . . . . . . 6
2 Background 11
2.1 Xen............... 11
2.2 CreditScheduler. . . . . . . . 12
2.3 Synchronization Primitives . . 14
2.4 VM Scheduling Policy . . . . . 15
3 Cache-Aware CPU Scheduling in Virtualization 19
3.1 Cache-AwareScheduler .................. 19
3.2 SchedulingModel ..................... 29
3.3 Implementation ...................... 43
3.4 Evaluation......................... 46
3.5 RelatedWork ....................... 61
3.6 Discussion ......................... 63
4 Synchronization-Conscious CPU Scheduling in Virtualization 67
4.1 Motivation......................... 67
4.2 Synchronization Conscious Scheduling . . . . . . . . . . 71
4.3 Evaluation......................... 75
4.4 RelatedWork ....................... 86
5 Conclusion 89