Guiding instruction scheduling with synchronization markers on a superscalar based multiprocessor
Journal
IEE Proceedings: Computers and Digital Techniques
Journal Volume
141
Journal Issue
6
Pages
398-404
Date Issued
1994
Author(s)
Hwang, R.-Y.
Abstract
Exploiting loop parallelism is an important way to enhance system performance. For loop-carried dependence, the original DO loop is converted into a DOACROSS loop to function concurrently. In general, synchronization operations are inserted to maintain order dependence during parallel execution. For each processor in a shared memory multiprocessor, if the executing sequence is the same as the original source program, the action of synchronization operation is correct; however, if each processor is used out of order, such as in the superscalar machine, the action of synchronization operation may be incorrect. The synchronization marker insertion method proposed resolves this problem in two steps: (i) proper synchronization markers are appended into the array element of dependences, and (ii) synchronization markers are generated during intermediate code generation. Finally, algorithms are proposed to prevent error during instruction scheduling.
Other Subjects
Algorithms; Error analysis; Multiprocessing systems; Program compilers; Synchronization; Systems analysis; Data dependence; Guiding instruction scheduling; Shared memory multiprocessor; Superscalar based multiprocessor; Synchronization markers; Data handling
Type
journal article