Guiding instruction scheduling with synchronisation markers on a superscalar based multiprocessor
Author(s) -
Rong-Yuh Hwang,
Fengchang Lai
Publication year - 1994
Publication title -
iee proceedings - computers and digital techniques
Language(s) - English
Resource type - Journals
eISSN - 1359-7027
pISSN - 1350-2387
DOI - 10.1049/ip-cdt:19941519
Subject(s) - computer science , parallel computing , multiprocessing , scheduling (production processes) , out of order execution , instruction scheduling , loop (graph theory) , code (set theory) , parallelism (grammar) , operating system , dynamic priority scheduling , programming language , mathematics , two level scheduling , schedule , combinatorics , set (abstract data type) , mathematical optimization
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, synchronisation 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 synchronisation operation is correct; however, if each processor is used out of order, such as in the superscalar machine, the action of synchronisation operation may be incorrect. The synchronisation marker insertion method proposed resolves this problem in two steps: (i) proper synchronisation markers are appended into the array element of dependences, and (ii) synchronisation markers are generated during intermediate code generation. Finally, algorithms are proposed to prevent error during instruction scheduling
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom