• DocumentCode
    3369937
  • Title

    WARP: Enabling fast CPU scheduler development and evaluation

  • Author

    Zheng, Haoqiang ; Nieh, Jason

  • Author_Institution
    Columbia Univ., New York, NY
  • fYear
    2009
  • fDate
    26-28 April 2009
  • Firstpage
    101
  • Lastpage
    112
  • 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.
  • Keywords
    Linux; program debugging; program testing; scheduling; software performance evaluation; CPU scheduler development; Linux operating system; kernel tracing toolkit; operating system kernel code testing; performance monitoring tools; scheduling algorithms; trace-driven virtualized scheduler execution; unmodified kernel scheduling code; user-space debugging; Code standards; Debugging; Hardware; Kernel; Linux; Monitoring; Operating systems; Scheduling algorithm; System testing; Timing;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Performance Analysis of Systems and Software, 2009. ISPASS 2009. IEEE International Symposium on
  • Conference_Location
    Boston, MA
  • Print_ISBN
    978-1-4244-4184-6
  • Type

    conf

  • DOI
    10.1109/ISPASS.2009.4919642
  • Filename
    4919642