학술논문

WARP: Enabling fast CPU scheduler development and evaluation
Document Type
Conference
Source
2009 IEEE International Symposium on Performance Analysis of Systems and Software Performance Analysis of Systems and Software, 2009. ISPASS 2009. IEEE International Symposium on. :101-112 Apr, 2009
Subject
Computing and Processing
Operating systems
Kernel
Linux
Hardware
Scheduling algorithm
System testing
Code standards
Debugging
Monitoring
Timing
Language
Abstract
Developing CPU scheduling algorithms and understanding their impact in practice can be difficult and time consuming due to the need to modify and test operating system kernel code and measure the resulting performance on a consistent workload of real applications. To address this problem, we have developed WARP, a trace-driven virtualized scheduler execution environment that can dramatically simplify and speed the development of CPU schedulers. WARP is easy to use as it can run unmodified kernel scheduling code and can be used with standard user-space debugging and performance monitoring tools. It accomplishes this by virtualizing operating system and hardware events to decouple kernel scheduling code from its native operating system and hardware environment. A simple kernel tracing toolkit can be used with WARP to capture traces of all CPU scheduling related events from a real system. WARP can then replay these traces in its virtualized environment with the same timing characteristics as in the real system. Traces can be used with different schedulers to provide accurate comparisons of scheduling performance for a given application workload. We have implemented a WARP Linux prototype. Our results show that WARP can use application traces captured from its toolkit to accurately reflect the scheduling behavior of the real Linux operating system. Furthermore, testing scheduler behavior using WARP with application traces can be two orders of magnitude faster than running the applications using Linux.