Item request has been placed! ×
Item request cannot be made. ×
loading  Processing Request

Self-Configuring Applications for Heterogeneous Systems: Program Composition Using Cognitive Techniques

Item request has been placed! ×
Item request cannot be made. ×
loading   Processing Request
  • Additional Information
    • Contributors:
      The Pennsylvania State University CiteSeerX Archives
    • Publication Date:
      2008
    • Collection:
      CiteSeerX
    • Abstract:
      —This paper describes several challenges facing programmers of future edge computing systems, the complex and diverse multi- and 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, several new concerns arise, such as 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 solutions used in practice as well as future research directions in distributed computing can be adapted to edge computing environments. Further, 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. We discuss how recent trends of using cognitive techniques for code mapping and optimization support this point. We describe how cognitive techniques could provide a fundamentally new programming paradigm for complex heterogeneous systems, where programmers design selfconfiguring applications and the system automates optimization decisions and manages the allocation of heterogeneous resources to codes. Index Terms—Optimizing compilers, Learning systems, Computer architectures, Distributed computing, Multi-core
    • File Description:
      application/pdf
    • Relation:
      http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.216.9523
    • Online Access:
      http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.216.9523
      http://www.isi.edu/~gil/papers/hall-gil-lucas-ieeeprocs08.pdf
    • Rights:
      Metadata may be used without restrictions as long as the oai identifier remains attached to it.
    • Accession Number:
      edsbas.4DB3B96B