Implementation of dynamic synchronization for Slipstream Multiprocessors

No Thumbnail Available

Date

2003-12-15

Journal Title

Series/Report No.

Journal ISSN

Volume Title

Publisher

Abstract

The main goal of parallelization is speed up. As the number of processors increases, there is a little or no speedup, since a performance threshold is reached for a fixed problem size. This is because scalability for a parallel program is limited by the communication and synchronization overhead. Slipstream multiprocessor runs two redundant copies of the same program in a chip multiprocessor, where one program runs ahead of the other. The leading program is called the A-Stream and the trailing one is the R-Stream. The A-Stream, which runs ahead, is used to reduce overhead and improve the efficiency of execution rather than to increase concurrency. Prefetching of shared data by the A-Stream for the R-Stream helps the whole unit to speedup. AR-Synchronization limits the movement of the leading program (A-Stream). The user can choose the type of synchronization desired at the beginning of program execution. A program might benefit if we vary the synchronization mode with different regions of code. This thesis proposes a technique to make the synchronization mode dynamic. This thesis implements a method to check whether it is possible to change synchronization method dynamically. This method incurs some overhead which we avoid when we implement the sliding-window method to eliminate aggressive switching. Using dynamic AR-Synchronization with the sliding- window approach results in a 7.9% improvement in execution time for the OCEAN benchmark, a 10% improvement for SOR, and a 0.2% improvement for MG.</i>

Description

Keywords

CMP, synchronization, multiprocessors, slipstream

Citation

Degree

MS

Discipline

Computer Engineering

Collections