KU-loop scheme: An efficient loop unfolding scheme for multithreaded computation

Multithreading is attractive in that it can tolerate latency and synchronization by effectively overlapping communication with computation. While several compiler techniques have been developed to produce multithreaded codes from functional language programs, it is very difficult to find effective l...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Journal of information science and engineering 1998-03, Vol.14 (1), p.223-236
Hauptverfasser: Ha, Sangho, Kim, Heunghwan
Format: Artikel
Sprache:eng
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:Multithreading is attractive in that it can tolerate latency and synchronization by effectively overlapping communication with computation. While several compiler techniques have been developed to produce multithreaded codes from functional language programs, it is very difficult to find effective loop implementation for multithreaded computation. In this paper, we will suggest a loop unfolding scheme, KU-Loop. In this scheme, parallel loops can be implemented more efficiently than sequential loops by effectively overlapping loop-setup with loop execution. In addition, we suggest equations to statically approximate the optimal loop unfolding degree for each loop class using profile information. Finally, we will analyze our loop unfolding scheme by means of simulation over several benchmarks and compare simulation results with the results of the equations.
ISSN:1016-2364