Compiler, memory management, and compound-function definition for multiprocessors
The first part of this thesis deals with managing data in the multilevel memories of a tightly-coupled multiprocessor. One of the problems with this type of multiprocessor is the slow global memory. The author examines 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. The second part 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.
- Research Organization:
- Illinois Univ., Urbana (USA)
- OSTI ID:
- 6778353
- Country of Publication:
- United States
- Language:
- English
Similar Records
A parallelizing compiler for distributed-memory parallel computers
Program partitioning and synchronization on multiprocessor systems