DocumentCode
2225715
Title
Metrics and techniques for automatic partitioning and assignment of object-based concurrent programs
Author
Welch, Lonnie R. ; Ravindran, Binoy ; Henriques, Jorge ; Hammer, Dieter K.
Author_Institution
Dept. of Comput. & Inf. Sci., New Jersey Inst. of Technol., Newark, NJ, USA
fYear
1995
fDate
25-28 Oct 1995
Firstpage
440
Lastpage
447
Abstract
The software crises is defined as the inability to meet the demands for new software systems, due to the slow rate at which systems can be developed. To address the crisis, object-based design and implementation techniques and domain models have been developed. However, object-based techniques do not address an additional problem that plagues systems engineers-the effective utilization of distributed and parallel hardware platforms. This problem is partly addressed by program partitioning languages that allow engineers to specify how software components should be partitioned and assigned to the nodes of concurrent computers. However, very little has been done to automate the tasks of partitioning and assignment at the task and object level of granularity. Thus, this paper describes automated techniques for distributed/parallel configuration of object-based applications, and demonstrates the technique on Ada programs. The granularity of partitioning is at the level of the Ada program unit (a program unit is an object, a class, a task, a package (possibly a generic template) or a subprogram). The partitioning is performed by constructing a call-rendezvous graph (CRG) for an application program. The nodes of the graph represent the program units, and the edges denote call and task interaction/rendezvous relationships. The CRG is augmented with edge weights depicting inter-program-unit communication relationships and concurrency relationships, resulting in a weighted CRG (WCRC). The partitioning algorithm repeatedly “cuts” edges of the WCRG with the goal of producing a set of partitions among which (1) there is a small amount of communication and (2) there is a large degree of potential for concurrent execution. Following the partitioning of the WCRG into tightly coupled clusters, a random neural network is employed to assign clusters to physical processors
Keywords
Ada; neural nets; object-oriented programming; software metrics; Ada program unit; Ada programs; application program; automatic partitioning; call-rendezvous graph; concurrency relationships; domain models; edge weights; inter-program-unit communication relationships; object-based applications; object-based concurrent programs assignment; program partitioning languages; random neural network; software crises; software metrics; systems engineers; Clustering algorithms; Computer science; Concurrent computing; Distributed computing; Hardware; Neural networks; Packaging; Partitioning algorithms; Software systems; Systems engineering and theory;
fLanguage
English
Publisher
ieee
Conference_Titel
Parallel and Distributed Processing, 1995. Proceedings. Seventh IEEE Symposium on
Conference_Location
San Antonio, TX
ISSN
1063-6374
Print_ISBN
0-81867195-5
Type
conf
DOI
10.1109/SPDP.1995.530716
Filename
530716
Link To Document