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...
Saved in:
Published in: | Proceedings of the IEEE 2008-05, Vol.96 (5), p.849-862 |
---|---|
Main Authors: | , , |
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 & Communications Abstracts</collection><collection>Technology Research Database</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>ANTE: Abstracts in New Technology & 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 |