Research Contributions


Professor Vijaykumar's research addresses some of the most important challenges in the field of high-performance microprocessor architecture. The challenges include transient faults, inductive noise, power dissipation, and wire delay, all of which are worsening due to CMOS scaling.

As the supply voltage is scaled down to reduce per-transistor power, transistors become more susceptible to transient faults due to particle strikes caused by radiation from packaging materials and cosmic rays. Vijaykumar's work (SRTR and CRTR) is the first to propose hardware-based recovery from transient faults. Supply-voltage scaling also causes the absolute noise margin to shrink. At the same time, current spikes due to variation in processor activity causes the inductive elements in the power supply to induce noise in the supply voltage exceeding the noise margin. Vijaykumar's work (pipeline damping and resonance tuning) has pioneered concepts in controlling inductive noise at the architecture level by limiting the variability in processor activity. Furthermore, supply-voltage scaling forces the threshold voltage of the transistor to be lowered in order to maintain high performance. However, lower threshold voltage implies exponentially more leakage current. Vijaykumar and his colleagues published the first technique (gated-Vdd) to reduce leakage in caches.

With his colleague, he has shown (SC++ paper) that sequential consistency can be made to perform as well as release consistency by employing some modest amount of buffering. This paper shows one way to settle a decade-long debate on memory consistency models in the architecture community, and has been included in the Readings in Computer Architecture.

Because wires do not scale as well as transistors, wire delay has become the leading hinderance to scaling of performance. Vijaykumar's graduate work (Multiscalar architecture) is the first distributed microarchitecture and introduced the concept of speculative threads. He proposed the first cache versioning protocol (Speculative versioning cache - SVC) to allow distributed caches to run speculative threads. Projects from Stanford (Hydra), Illinois (IA-COMA TLS), and CMU (Stampede) have built on Multiscalar and SVC. With his colleagues in grad school, he also proposed dynamic synchronization for memory dependencies.