Improving the Performance of Speculatively Parallel Applications on the Hydra CMP
Abstract
Hydra is a chip multiprocessor (CMP) with integrated support for thread-level speculation. Thread-level speculation provides a way to parallelize sequential programs without the need for data dependence analysis or synchronization. This makes it possible to parallelize applications for which static memory dependence analysis is difficult or impossible. While performance of the baseline Hydra system on applications with significant amounts of medium to large grain parallelism is good, the performance on integer applications with fine-grained parallelism can be poor. In this paper, we describe a collection of software and hardware techniques for improving speculation performance of the Hydra CMP. These techniques focus on reducing the overheads associated with speculation and improving the speculation behavior of the applications using code restructuring. When these techniques are applied to a set of ten integer, multimedia and floating-point bench-marks, significant performance improvements result.
Document Details
- Document Type
- Technical Report
- Publication Date
- Jan 01, 1999
- Accession Number
- ADA419606
Entities
People
- Kunle Olukotun
- Lance Hammond
- Mark Willey
Organizations
- Stanford University