TimeGraph: A Linux GPU Command Scheduler

Published on September 02, 2011
Written by Michael Larabel
Page 1 of 2
Discuss This Article

In preparing for XDC2011 Chicago, the X.Org developers' summit that begins in just ten days that I have organized, the schedule is being worked out at the moment. One of the items that is set to be talked about at XDC2011 during the Nouveau driver discussion is TimeGraph. This is an open-source GPU command scheduler that sounds fairly interesting.

Shinpei Kato, one of the developers behind TimeGraph, is expected to talk about working towards DRM-compliant GPU scheduling at the device driver level. In particular, it's a sub-topic of the Nouveau driver talk. TimeGraph is developed by Shinpei at the University of California Santa Cruz along with Karthik Lakshmanan and Ragunathan Rajkumar, both of Carnegie Mellon University. Formally, TimeGraph is a project of the Real-Time and Multimedia Systems Laboratory (RTML) at Carnegie Mellon.

The TimeGraph project site describes this software project as "TimeGraph is a GPU command scheduler, running as part of GPU device driver, to protect GPU applications from performance interference. The main contributions of TimeGraph are (i) priority-driven scheduling of GPU commands issued from user-space runtime, which provides predictable response times for GPU applications, and (ii) GPU resource reservation, i.e., accounting and enforcement of GPU resource usage, which isolates performance among GPU applications. Our prototype implementation of TimeGraph is available for Linux 2.6 and 3.0 with NVIDIA's Fermi and Tesla GPUs."

TimeGraph itself is a Linux kernel module, but it's dependent upon Linux kernel patches that provide an extension for real-time computing on GPUs. TimeGraph has been tested on recent Linux 2.6/3.0 kernels. TimeGraph doesn't require any changes to the user-space. There are multiple policies available for the scheduling process and GPU resources can also be reserved using this mechanism. Policies include high throughput (priority support), posterior enforcement (reservation support), and apriori enforcement (reservation support). GPU execution time prediction is also being worked out.

<< Previous Page
1
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. Linux Desktop Security Could Be A Whole Lot Better
  2. KDE 4.11 Will Be The Last Major KDE4 Workspaces Feature Release
  3. New NVIDIA Linux Driver Supports The GeForce GTX 780
  4. Chrome 28 To Offer More Speed Improvements
  5. Digia Announces "Boot To Qt" Project
  6. X.Org Libraries Hit By Round Of Security Issues
  7. Wayland's Weston Gets Output Scaling Support
  8. Raspberry Pi Gets New Wayland Weston Renderer
  9. Debian GNU/Hurd 2013 Release Brings New Packages
  10. Intel Ultrabook Performance Is Faster With Mesa 9.2
  11. Hot Relocation HDD To SSD Support For Btrfs
Latest Forum Talk
  1. Linux Desktop Security Could Be A Whole Lot Better
  2. Intel Linux OpenGL Driver Leading Over Apple OS X
  3. Debian GNU/Hurd 2013 Release Brings New Packages
  4. X.Org Libraries Hit By Round Of Security Issues
  5. KDE 4.11 Will Be The Last Major KDE4 Workspaces...
  6. Sumo Lounge Emperor
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite