<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
  <head>
    <title>Talk Abstract</title>
  </head>

  <body bgcolor=white>
    <font face=helvetica>
    <h1><center>Tasmania: Architectural Support for Multithreaded System Management
<br>Speaker:<a href="http://www.cs.duke.edu/~tongli">Tong Li</a> 
</center>
    </h1>
    <h3><center>(11/19/2003)</center></h3>
    <H3>Abstract </H3>
<hr>
<p>
To best manage the many resources of a complex computer system, the system
must be able to provide accurate feedback about its behavior. This
feedback is useful for the system user, the software, and the hardware
itself. Aspects of behavior include performance, liveness, availability,
and power consumption. Resource management is even more critical for
multithreaded computers, including multiprocessors and SMT, because these
increasingly prevalent systems often provide infrastructure for multiple
applications and users. These systems have many resources to manage,
including thread contexts (or processors) and power.

<p>
Our goal is to enable multithreaded computers to provide accurate
feedback. While existing hardware performance counters do provide feedback
about system behavior, such feedback is often inaccurate and even
misleading in the presence of spinning synchronization. Spinning threads
are executing loops of instructions that perform no useful work while
waiting to synchronize with other threads (e.g., while waiting to acquire
a lock). Spinning can lead to overestimates of performance (e.g., high IPC
or a low cache miss rate per instruction) and even livelock, both of which
hinder management of the system's resources.

<p>
To overcome the challenges that spinning poses for multithreaded systems,
we propose efficient hardware for detecting thread spinning. While there
are many potential benefits of accurately self-monitoring multithreaded
systems, we focus on three in this talk. First, we develop hardware
performance counters that accurately reflect system performance. Second,
we show how to improve scheduling and power management by not allocating
resources to spinning threads. Third, we use the spin detector at each
thread context to help detect when a multithreaded program is livelocked.
Intuitively, if all threads of a program are simultaneously spinning, then
the program is livelocked. Using full-system simulation with commercial
and scientific workloads, we demonstrate that our mechanisms could be used
to improve the management of multithreaded systems.

<p>
Return to the SPIDER <a href="schedule.html">schedule</a>
<br clear=all>
    <hr>
    <address><a href="mailto:jaidev@cs.duke.edu">Jaidev Patwardhan</a></address>
<!-- Created: Sun Nov 16 10:56:27 EST 2003 -->
<!-- hhmts start -->
Last modified: Sun Nov 16 10:56:39 EST 2003
<!-- hhmts end -->
  </body>
</html>
