Loading…

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

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: integrate...

Full description

Saved in:
Bibliographic Details
Published in:Proceedings of the IEEE 2008-05, Vol.96 (5), p.849-862
Main Authors: Hall, Mary W., Gil, Yolanda, Lucas, Robert F.
Format: Article
Language:English
Subjects:
Citations: Items that this one cites
Items that cite this one
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
cited_by cdi_FETCH-LOGICAL-c420t-f68be9cc8b8fb736673d77f68977a91e2765860e72d8174f0b3b8688cb05b6c23
cites cdi_FETCH-LOGICAL-c420t-f68be9cc8b8fb736673d77f68977a91e2765860e72d8174f0b3b8688cb05b6c23
container_end_page 862
container_issue 5
container_start_page 849
container_title Proceedings of the IEEE
container_volume 96
creator Hall, Mary W.
Gil, Yolanda
Lucas, Robert F.
description 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.
doi_str_mv 10.1109/JPROC.2008.917733
format article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_crossref_primary_10_1109_JPROC_2008_917733</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>4483500</ieee_id><sourcerecordid>34459676</sourcerecordid><originalsourceid>FETCH-LOGICAL-c420t-f68be9cc8b8fb736673d77f68977a91e2765860e72d8174f0b3b8688cb05b6c23</originalsourceid><addsrcrecordid>eNqFkk1v1DAQhi0EEkvhByAuFgfKJYs_YnvMrYqgBVXairbnKMlOFldJHOwsovz62ruIA4dysjR65h3P6CHkNWdrzpn98PXq26ZaC8ZgbbkxUj4hK64UFEIo_ZSsGONQWMHtc_IixjvGmFRarsivaxz6ovJT73b74KYdPZvnwXXN4vwUae8DvcAFg9_hhH4f6fV9XHCMH-lVqoVmpJUfZx9d5mkzbelmXtzofh8C6G3MkZXfTQn4ifQGu--T-7HH-JI865sh4qs_7wm5_fzpprooLjfnX6qzy6IrBVuKXkOLtuughb41Umsjt8akqjWmsRyF0Qo0QyO2wE3Zs1a2oAG6lqlWd0KekNNj7hx8nrvUo4sdDkNz2Ke2TOpSQDrZ_0gwiqmMJ_Ldo6QsS2W1yeD7R0HOhLBMSYCEvv0HvfP7MKXT1KAF5B_mZfgR6oKPMWBfz8GNTbhPSXX2oD54UGcP6qMHqefNscch4l--LEGqJMEDCbSvTQ</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>862828772</pqid></control><display><type>article</type><title>Self-Configuring Applications for Heterogeneous Systems: Program Composition and Optimization Using Cognitive Techniques</title><source>IEEE Xplore (Online service)</source><creator>Hall, Mary W. ; Gil, Yolanda ; Lucas, Robert F.</creator><creatorcontrib>Hall, Mary W. ; Gil, Yolanda ; Lucas, Robert F.</creatorcontrib><description>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.</description><identifier>ISSN: 0018-9219</identifier><identifier>EISSN: 1558-2256</identifier><identifier>DOI: 10.1109/JPROC.2008.917733</identifier><identifier>CODEN: IEEPAD</identifier><language>eng</language><publisher>New York: IEEE</publisher><subject>Commodities ; Computation ; Computer architecture ; Computer architectures ; Decisions ; Devices ; Distributed computing ; Distributed processing ; Diversity reception ; Functional programming ; learning systems ; Mathematical models ; multicore architectures ; Optimization ; optimizing compilers ; Parallel programming ; Power system management ; Power system modeling ; Programming ; Programming profession ; Resource management ; self-configuring applications ; Software libraries ; Studies</subject><ispartof>Proceedings of the IEEE, 2008-05, Vol.96 (5), p.849-862</ispartof><rights>Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) 2008</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c420t-f68be9cc8b8fb736673d77f68977a91e2765860e72d8174f0b3b8688cb05b6c23</citedby><cites>FETCH-LOGICAL-c420t-f68be9cc8b8fb736673d77f68977a91e2765860e72d8174f0b3b8688cb05b6c23</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/4483500$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>314,776,780,27903,27904,54774</link.rule.ids></links><search><creatorcontrib>Hall, Mary W.</creatorcontrib><creatorcontrib>Gil, Yolanda</creatorcontrib><creatorcontrib>Lucas, Robert F.</creatorcontrib><title>Self-Configuring Applications for Heterogeneous Systems: Program Composition and Optimization Using Cognitive Techniques</title><title>Proceedings of the IEEE</title><addtitle>JPROC</addtitle><description>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.</description><subject>Commodities</subject><subject>Computation</subject><subject>Computer architecture</subject><subject>Computer architectures</subject><subject>Decisions</subject><subject>Devices</subject><subject>Distributed computing</subject><subject>Distributed processing</subject><subject>Diversity reception</subject><subject>Functional programming</subject><subject>learning systems</subject><subject>Mathematical models</subject><subject>multicore architectures</subject><subject>Optimization</subject><subject>optimizing compilers</subject><subject>Parallel programming</subject><subject>Power system management</subject><subject>Power system modeling</subject><subject>Programming</subject><subject>Programming profession</subject><subject>Resource management</subject><subject>self-configuring applications</subject><subject>Software libraries</subject><subject>Studies</subject><issn>0018-9219</issn><issn>1558-2256</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2008</creationdate><recordtype>article</recordtype><recordid>eNqFkk1v1DAQhi0EEkvhByAuFgfKJYs_YnvMrYqgBVXairbnKMlOFldJHOwsovz62ruIA4dysjR65h3P6CHkNWdrzpn98PXq26ZaC8ZgbbkxUj4hK64UFEIo_ZSsGONQWMHtc_IixjvGmFRarsivaxz6ovJT73b74KYdPZvnwXXN4vwUae8DvcAFg9_hhH4f6fV9XHCMH-lVqoVmpJUfZx9d5mkzbelmXtzofh8C6G3MkZXfTQn4ifQGu--T-7HH-JI865sh4qs_7wm5_fzpprooLjfnX6qzy6IrBVuKXkOLtuughb41Umsjt8akqjWmsRyF0Qo0QyO2wE3Zs1a2oAG6lqlWd0KekNNj7hx8nrvUo4sdDkNz2Ke2TOpSQDrZ_0gwiqmMJ_Ldo6QsS2W1yeD7R0HOhLBMSYCEvv0HvfP7MKXT1KAF5B_mZfgR6oKPMWBfz8GNTbhPSXX2oD54UGcP6qMHqefNscch4l--LEGqJMEDCbSvTQ</recordid><startdate>20080501</startdate><enddate>20080501</enddate><creator>Hall, Mary W.</creator><creator>Gil, Yolanda</creator><creator>Lucas, Robert F.</creator><general>IEEE</general><general>The Institute of Electrical and Electronics Engineers, Inc. (IEEE)</general><scope>97E</scope><scope>RIA</scope><scope>RIE</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>7SP</scope><scope>8FD</scope><scope>L7M</scope><scope>F28</scope><scope>FR3</scope></search><sort><creationdate>20080501</creationdate><title>Self-Configuring Applications for Heterogeneous Systems: Program Composition and Optimization Using Cognitive Techniques</title><author>Hall, Mary W. ; Gil, Yolanda ; Lucas, Robert F.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c420t-f68be9cc8b8fb736673d77f68977a91e2765860e72d8174f0b3b8688cb05b6c23</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2008</creationdate><topic>Commodities</topic><topic>Computation</topic><topic>Computer architecture</topic><topic>Computer architectures</topic><topic>Decisions</topic><topic>Devices</topic><topic>Distributed computing</topic><topic>Distributed processing</topic><topic>Diversity reception</topic><topic>Functional programming</topic><topic>learning systems</topic><topic>Mathematical models</topic><topic>multicore architectures</topic><topic>Optimization</topic><topic>optimizing compilers</topic><topic>Parallel programming</topic><topic>Power system management</topic><topic>Power system modeling</topic><topic>Programming</topic><topic>Programming profession</topic><topic>Resource management</topic><topic>self-configuring applications</topic><topic>Software libraries</topic><topic>Studies</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Hall, Mary W.</creatorcontrib><creatorcontrib>Gil, Yolanda</creatorcontrib><creatorcontrib>Lucas, Robert F.</creatorcontrib><collection>IEEE All-Society Periodicals Package (ASPP) 2005-present</collection><collection>IEEE All-Society Periodicals Package (ASPP) 1998-Present</collection><collection>IEEE Electronic Library Online</collection><collection>CrossRef</collection><collection>Electronics &amp; Communications Abstracts</collection><collection>Technology Research Database</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>ANTE: Abstracts in New Technology &amp; Engineering</collection><collection>Engineering Research Database</collection><jtitle>Proceedings of the IEEE</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Hall, Mary W.</au><au>Gil, Yolanda</au><au>Lucas, Robert F.</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Self-Configuring Applications for Heterogeneous Systems: Program Composition and Optimization Using Cognitive Techniques</atitle><jtitle>Proceedings of the IEEE</jtitle><stitle>JPROC</stitle><date>2008-05-01</date><risdate>2008</risdate><volume>96</volume><issue>5</issue><spage>849</spage><epage>862</epage><pages>849-862</pages><issn>0018-9219</issn><eissn>1558-2256</eissn><coden>IEEPAD</coden><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.</abstract><cop>New York</cop><pub>IEEE</pub><doi>10.1109/JPROC.2008.917733</doi><tpages>14</tpages></addata></record>
fulltext fulltext
identifier ISSN: 0018-9219
ispartof Proceedings of the IEEE, 2008-05, Vol.96 (5), p.849-862
issn 0018-9219
1558-2256
language eng
recordid cdi_crossref_primary_10_1109_JPROC_2008_917733
source IEEE Xplore (Online service)
subjects Commodities
Computation
Computer architecture
Computer architectures
Decisions
Devices
Distributed computing
Distributed processing
Diversity reception
Functional programming
learning systems
Mathematical models
multicore architectures
Optimization
optimizing compilers
Parallel programming
Power system management
Power system modeling
Programming
Programming profession
Resource management
self-configuring applications
Software libraries
Studies
title Self-Configuring Applications for Heterogeneous Systems: Program Composition and Optimization Using Cognitive Techniques
url http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-24T04%3A40%3A53IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Self-Configuring%20Applications%20for%20Heterogeneous%20Systems:%20Program%20Composition%20and%20Optimization%20Using%20Cognitive%20Techniques&rft.jtitle=Proceedings%20of%20the%20IEEE&rft.au=Hall,%20Mary%20W.&rft.date=2008-05-01&rft.volume=96&rft.issue=5&rft.spage=849&rft.epage=862&rft.pages=849-862&rft.issn=0018-9219&rft.eissn=1558-2256&rft.coden=IEEPAD&rft_id=info:doi/10.1109/JPROC.2008.917733&rft_dat=%3Cproquest_cross%3E34459676%3C/proquest_cross%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-c420t-f68be9cc8b8fb736673d77f68977a91e2765860e72d8174f0b3b8688cb05b6c23%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_pqid=862828772&rft_id=info:pmid/&rft_ieee_id=4483500&rfr_iscdi=true