(Talk) Tackling concurrency bugs with hardware support

  • Speaker: Arrvindh Shriraman, SFU
  • Date & Time: March 2, 2011, at 3:00 p.m.
  • Location: KAIS 2020, 2332 Main Mall, Vancouver, BC (UBC Kaiser Building)

[mappress mapid=”1″]


Developing correct and reliable software remains a growing challenge. The advent of multicores has forced the entire software stack to adopt parallelism, which increases the likelihood of concurrency bugs.  In this talk, I will mainly focus on my dissertation research which developed hardware mechanisms to observe memory accesses and protect
accesses to critical shared data.  I will demonstrate that cache hierarchies in modern multicore chips can help software effectively keep track of the state accessed by a program and regulate propagation of writes.

I will present Sentry, a hardware framework which seeks to improve software reliability by enforcing protected sharing across the modules in an application. From the software’s perspective, Sentry is a pluggable access control mechanism that constantly monitors and checks the data permissions for accesses by the the various parts of an application. The key novelty in Sentry is the lightweight low-energy cost manner in which permissions are enforced.  Sentry uses the data caches to implicitly protect accesses and save significant dynamic energy typically needed by protection schemes. I will demonstrate the usage of Sentry in enforcing protection amongst the software modules of the widely used Apache webserver and providing an effective sandbox.

Towards the end of this talk, I will shift focus to my current work, “CoolOS”, that provides support in the OS for accounting and managing energy.  I will motivate the need for fine-grain application-sensitive (10ms granularity) energy accounting and demonstrate its value in power capping, detecting power viruses, and improving energy efficiency.

Speaker’s Biography

Arrvindh Shriraman started as an assistant professor in the School of Computing Sciences in Simon Fraser University in January 2011. He received his Masters and Ph.D from the University of Rochester under the supervision of Sandhya Dwarkadas and Michael Scott. Arrvindh’s research interests lie at the interface of hardware and
software and include multiprocessor system design, parallel programming models, and energy management.

This entry was posted in Announcements, Talks. Bookmark the permalink.