M.S. Presentation: Muhammad Santriaji

Return to Full Calendar
December 2, 2019 at 1:30pm - 2:30pm
John Crerar Library, Room 390
Event Audience:
Muhammad Santriaji

Speaker: Muhammad Santriaji M.S. Candidate, University of Chicago

Muhammad's advisor is Prof. Henry Hoffmann

Abstract: Exploiting Thread Slack Time for Energy Saving in GPU Applications with Hard Real Time Requirements

Correct functioning of embedded systems requires strict timing guarantees. Traditionally, enforcing timing guarantees is the operating system's responsibility. The OS scheduler assigns sufficient resources to an application task to ensure it meets its deadline. Meeting hard real-time deadlines requires the scheduler to be conservative and allocate for the worst case timing; when behavior is not worst case, extra resources are allocated and energy is wasted. Some software schedulers reduce this energy waste by recognizing when an application is ahead of a worst case schedule and reclaiming unneeded resources, but they are fundamentally limited by (1) overhead and (2) a lack of visibility into low-level resource usage. Therefore, this thesis advocates hardware assistance for energy management of hard real-time tasks. Specifically, we propose MERLOT, a hardware-based resource manager for GPUs that enforces software-specified timing guarantees with minimal energy. We implement MERLOT in VHDL and find that its performance, power, and area overheads are minuscule. We implement MERLOT in GPGPU-Sim to test timing and energy consumption and compare to two software-only approaches: one that always allocates for worst case timing and an intelligent approach that reduces resource usage when it recognizes better than worst case behavior. Compared to the approach that always allocates for worst case, MERLOT reduces energy by 16.73% on average, with 16.43 % in 1.5X and 17.03% in 2.0X WCET. Compared to the intelligent software-only approach, MERLOT produces a 15.6% energy savings. MERLOT uses less energy than software-only approaches because it recognizes better than worst case behavior earlier, by monitoring hardware events that are not visible to software and quickly adjusting resource usage.

Type: talk