Compiler construction for lockstep execution of multithreaded processors

Huong Giang Nguyen, Seok Joong Hwang, Seon Wook Kim

Research output: Chapter in Book/Report/Conference proceedingConference contribution

3 Citations (Scopus)

Abstract

Embedded applications intrinsically have high degree of parallelism, but it is difficult to exploit the parallelism due to resource constraint of embedded platforms. In order to overcome the problem, we introduced a promising processor solution to support parallel thread execution with pretty good performance while consuming small hardware resources. We call this processor as Multithread Lockstep Execution Processor (MLEP). Since each iteration of parallel loops performs the same sequence of instructions at most time while manipulating different data, we only need to partially duplicate a pipeline resource to support the multithreading. This architecture makes it possible that parallel threads execute synchronously in a lockstep manner. How-ever, because of providing a totally different kind of thread execution, it sometime makes programmers confused when parallelizing code for the processor. In this paper, we introduce a compiler infrastructure for our architecture in detail with discussion of how to support OpenMP APIs and how to integrate the Omni OpenMP compiler with our backend code generator. Also, for verification of our compiler system, we show that our code generation scheme delivers the same performance as handed codes.

Original languageEnglish
Title of host publicationCIT 2007: 7th IEEE International Conference on Computer and Information Technology
Pages829-834
Number of pages6
DOIs
Publication statusPublished - 2007 Dec 1
EventCIT 2007: 7th IEEE International Conference on Computer and Information Technology - Aizu-Wakamatsu, Fukushima, Japan
Duration: 2007 Oct 162007 Oct 19

Other

OtherCIT 2007: 7th IEEE International Conference on Computer and Information Technology
CountryJapan
CityAizu-Wakamatsu, Fukushima
Period07/10/1607/10/19

Fingerprint

Application programming interfaces (API)
Compiler
Thread
Pipelines
OpenMP
Hardware
Parallelism
Multi-thread
Handed
Resources
Multithreading
Resource Constraints
Code Generation
Infrastructure
Integrate
Generator
Iteration
Code generation
Architecture

ASJC Scopus subject areas

  • Computer Science Applications
  • Information Systems
  • Software
  • Mathematics(all)

Cite this

Nguyen, H. G., Hwang, S. J., & Kim, S. W. (2007). Compiler construction for lockstep execution of multithreaded processors. In CIT 2007: 7th IEEE International Conference on Computer and Information Technology (pp. 829-834). [4385188] https://doi.org/10.1109/CIT.2007.4385188

Compiler construction for lockstep execution of multithreaded processors. / Nguyen, Huong Giang; Hwang, Seok Joong; Kim, Seon Wook.

CIT 2007: 7th IEEE International Conference on Computer and Information Technology. 2007. p. 829-834 4385188.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Nguyen, HG, Hwang, SJ & Kim, SW 2007, Compiler construction for lockstep execution of multithreaded processors. in CIT 2007: 7th IEEE International Conference on Computer and Information Technology., 4385188, pp. 829-834, CIT 2007: 7th IEEE International Conference on Computer and Information Technology, Aizu-Wakamatsu, Fukushima, Japan, 07/10/16. https://doi.org/10.1109/CIT.2007.4385188
Nguyen HG, Hwang SJ, Kim SW. Compiler construction for lockstep execution of multithreaded processors. In CIT 2007: 7th IEEE International Conference on Computer and Information Technology. 2007. p. 829-834. 4385188 https://doi.org/10.1109/CIT.2007.4385188
Nguyen, Huong Giang ; Hwang, Seok Joong ; Kim, Seon Wook. / Compiler construction for lockstep execution of multithreaded processors. CIT 2007: 7th IEEE International Conference on Computer and Information Technology. 2007. pp. 829-834
@inproceedings{12871fcad49c43a99c98cd78309ebedf,
title = "Compiler construction for lockstep execution of multithreaded processors",
abstract = "Embedded applications intrinsically have high degree of parallelism, but it is difficult to exploit the parallelism due to resource constraint of embedded platforms. In order to overcome the problem, we introduced a promising processor solution to support parallel thread execution with pretty good performance while consuming small hardware resources. We call this processor as Multithread Lockstep Execution Processor (MLEP). Since each iteration of parallel loops performs the same sequence of instructions at most time while manipulating different data, we only need to partially duplicate a pipeline resource to support the multithreading. This architecture makes it possible that parallel threads execute synchronously in a lockstep manner. How-ever, because of providing a totally different kind of thread execution, it sometime makes programmers confused when parallelizing code for the processor. In this paper, we introduce a compiler infrastructure for our architecture in detail with discussion of how to support OpenMP APIs and how to integrate the Omni OpenMP compiler with our backend code generator. Also, for verification of our compiler system, we show that our code generation scheme delivers the same performance as handed codes.",
author = "Nguyen, {Huong Giang} and Hwang, {Seok Joong} and Kim, {Seon Wook}",
year = "2007",
month = "12",
day = "1",
doi = "10.1109/CIT.2007.4385188",
language = "English",
isbn = "0769529836",
pages = "829--834",
booktitle = "CIT 2007: 7th IEEE International Conference on Computer and Information Technology",

}

TY - GEN

T1 - Compiler construction for lockstep execution of multithreaded processors

AU - Nguyen, Huong Giang

AU - Hwang, Seok Joong

AU - Kim, Seon Wook

PY - 2007/12/1

Y1 - 2007/12/1

N2 - Embedded applications intrinsically have high degree of parallelism, but it is difficult to exploit the parallelism due to resource constraint of embedded platforms. In order to overcome the problem, we introduced a promising processor solution to support parallel thread execution with pretty good performance while consuming small hardware resources. We call this processor as Multithread Lockstep Execution Processor (MLEP). Since each iteration of parallel loops performs the same sequence of instructions at most time while manipulating different data, we only need to partially duplicate a pipeline resource to support the multithreading. This architecture makes it possible that parallel threads execute synchronously in a lockstep manner. How-ever, because of providing a totally different kind of thread execution, it sometime makes programmers confused when parallelizing code for the processor. In this paper, we introduce a compiler infrastructure for our architecture in detail with discussion of how to support OpenMP APIs and how to integrate the Omni OpenMP compiler with our backend code generator. Also, for verification of our compiler system, we show that our code generation scheme delivers the same performance as handed codes.

AB - Embedded applications intrinsically have high degree of parallelism, but it is difficult to exploit the parallelism due to resource constraint of embedded platforms. In order to overcome the problem, we introduced a promising processor solution to support parallel thread execution with pretty good performance while consuming small hardware resources. We call this processor as Multithread Lockstep Execution Processor (MLEP). Since each iteration of parallel loops performs the same sequence of instructions at most time while manipulating different data, we only need to partially duplicate a pipeline resource to support the multithreading. This architecture makes it possible that parallel threads execute synchronously in a lockstep manner. How-ever, because of providing a totally different kind of thread execution, it sometime makes programmers confused when parallelizing code for the processor. In this paper, we introduce a compiler infrastructure for our architecture in detail with discussion of how to support OpenMP APIs and how to integrate the Omni OpenMP compiler with our backend code generator. Also, for verification of our compiler system, we show that our code generation scheme delivers the same performance as handed codes.

UR - http://www.scopus.com/inward/record.url?scp=38049095600&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=38049095600&partnerID=8YFLogxK

U2 - 10.1109/CIT.2007.4385188

DO - 10.1109/CIT.2007.4385188

M3 - Conference contribution

SN - 0769529836

SN - 9780769529837

SP - 829

EP - 834

BT - CIT 2007: 7th IEEE International Conference on Computer and Information Technology

ER -