Files in this item
|(no description provided)|
|Title:||Compiler Memory Management and Compound Function Definition for Multiprocessors|
|Author(s):||Husmann, Harlan Edward|
|Department / Program:||Computer Science|
|Degree Granting Institution:||University of Illinois at Urbana-Champaign|
|Abstract:||The first part of this thesis deals with managing data in the multi-level memories of a tightly-coupled multiprocessor. One of the problems with this type of multiprocessor is the slow global memory. We examine how a compiler can use data dependence information to determine how data is used in a program, and then transform the program to exploit features in the multiprocessor's architecture to reduce the program's memory access time. The compiler/architecture techniques this thesis examines are allocating data to faster local memories, using a pipelined interconnection network, and overlapping global memory access with other operations. We present data from Parafrase-based experiments that measure the effectiveness of these techniques.
The second part of this thesis examines two algorithms for partitioning a program into compound functions (tasks) for the multiprocessor. One algorithm examines the amount of parallelism in each loop of a program to find compound functions. The other algorithm estimates performance for every different way the loops in a program can execute (i.e., serial or parallel). After all estimates have been compared, the program is partitioned to minimize the overall execution time of the program. The effectiveness of these two algorithms is shown with empirical data gathered with Parafrase.
Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 1986.
|Date Available in IDEALS:||2014-12-15|