DocumentCode
1121279
Title
Self-Configuring Applications for Heterogeneous Systems: Program Composition and Optimization Using Cognitive Techniques
Author
Hall, Mary W. ; Gil, Yolanda ; Lucas, Robert F.
Author_Institution
Univ. of Southern California, Marina del Rey
Volume
96
Issue
5
fYear
2008
fDate
5/1/2008 12:00:00 AM
Firstpage
849
Lastpage
862
Abstract
This paper describes several challenges facing programmers of future edge computing systems, the diverse many-core devices that will soon exemplify commodity mainstream systems. To call attention to programming challenges ahead, this paper focuses on the most complex of such architectures: integrated, power-conserving systems, inherently parallel and heterogeneous, with distributed address spaces. When programming such complex systems, new concerns arise: computation partitioning across functional units, data movement and synchronization, managing a diversity of programming models for different devices, and reusing existing legacy and library software. We observe that many of these challenges are also faced in programming applications for large-scale heterogeneous distributed computing environments, and current solutions as well as future research directions in distributed computing can be adapted to commodity computing environments. Optimization decisions are inherently complex due to large search spaces of possible solutions and the difficulty of predicting performance on increasingly complex architectures. Cognitive techniques are well suited for managing systems of such complexity, citing recent trends of using cognitive techniques for code mapping and optimization support. Combining these, we describe a fundamentally new programming paradigm for complex heterogeneous systems, where programmers design self-configuring applications and the system automates optimization decisions and manages the allocation of heterogeneous resources.
Keywords
distributed programming; optimising compilers; programming environments; software architecture; cognitive technique; computer architecture; distributed address spaces; heterogeneous system; large-scale heterogeneous distributed computing environment; learning system; multicore architecture; optimizing compiler; power-conserving system; program composition; program optimization; self-configuring application; Computer architecture; Distributed computing; Diversity reception; Functional programming; Parallel programming; Power system management; Power system modeling; Programming profession; Resource management; Software libraries; Computer architectures; distributed computing; learning systems; multicore architectures; optimizing compilers; self-configuring applications;
fLanguage
English
Journal_Title
Proceedings of the IEEE
Publisher
ieee
ISSN
0018-9219
Type
jour
DOI
10.1109/JPROC.2008.917733
Filename
4483500
Link To Document