Architectural adaptability in parallel programming via control abstraction:
Abstract: "Parallel programming involves finding the potential parallelism in an application, choosing an algorithm, and mapping it to the architecture at hand. Since a typical algorithm has much more potential parallelism than any single architecture can effectively exploit, we usually program...
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Rochester, NY
1991
|
Schriftenreihe: | University of Rochester <Rochester, NY> / Department of Computer Science: Technical report
359 |
Schlagworte: | |
Zusammenfassung: | Abstract: "Parallel programming involves finding the potential parallelism in an application, choosing an algorithm, and mapping it to the architecture at hand. Since a typical algorithm has much more potential parallelism than any single architecture can effectively exploit, we usually program the parallelism that the available control constructs easily express and that the given architecture efficiently exploits. This approach produces programs that exhibit much less parallelism than the original algorithm and whose performance depends entirely on the underlying architecture To port such a program to a new architecture, we must rewrite the program to remove any ineffective parallelism and to recover any lost parallelism appropriate for the new machine. In this paper we show how to adapt a parallel program to different architectures using control abstraction. With control abstraction we can define and use a rich variety of control constructs to represent an algorithm's potential parallelism. Since control abstraction separates the definition of a construct from its implementation, a construct may have several different implementations, each exploiting a different subset of the parallelism admitted by the construct By selecting an implementation for each control construct using annotations, we can vary the parallelism we choose to exploit without otherwise changing the source code. This approach produces programs that exhibit most of, if not all, the potential parallelism in an algorithm, and whose performance can be tuned for a specific architecture simply by choosing among the various implementations for the control constructs in use. |
Beschreibung: | 38 S. |
Internformat
MARC
LEADER | 00000nam a2200000 cb4500 | ||
---|---|---|---|
001 | BV008974838 | ||
003 | DE-604 | ||
005 | 00000000000000.0 | ||
007 | t | ||
008 | 940206s1991 |||| 00||| eng d | ||
035 | |a (OCoLC)24531873 | ||
035 | |a (DE-599)BVBBV008974838 | ||
040 | |a DE-604 |b ger |e rakddb | ||
041 | 0 | |a eng | |
049 | |a DE-29T | ||
100 | 1 | |a Crowl, Lawrence A. |e Verfasser |4 aut | |
245 | 1 | 0 | |a Architectural adaptability in parallel programming via control abstraction |c Lawrence A. Crowl ; Thomas J. LeBlanc |
264 | 1 | |a Rochester, NY |c 1991 | |
300 | |a 38 S. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 1 | |a University of Rochester <Rochester, NY> / Department of Computer Science: Technical report |v 359 | |
520 | 3 | |a Abstract: "Parallel programming involves finding the potential parallelism in an application, choosing an algorithm, and mapping it to the architecture at hand. Since a typical algorithm has much more potential parallelism than any single architecture can effectively exploit, we usually program the parallelism that the available control constructs easily express and that the given architecture efficiently exploits. This approach produces programs that exhibit much less parallelism than the original algorithm and whose performance depends entirely on the underlying architecture | |
520 | 3 | |a To port such a program to a new architecture, we must rewrite the program to remove any ineffective parallelism and to recover any lost parallelism appropriate for the new machine. In this paper we show how to adapt a parallel program to different architectures using control abstraction. With control abstraction we can define and use a rich variety of control constructs to represent an algorithm's potential parallelism. Since control abstraction separates the definition of a construct from its implementation, a construct may have several different implementations, each exploiting a different subset of the parallelism admitted by the construct | |
520 | 3 | |a By selecting an implementation for each control construct using annotations, we can vary the parallelism we choose to exploit without otherwise changing the source code. This approach produces programs that exhibit most of, if not all, the potential parallelism in an algorithm, and whose performance can be tuned for a specific architecture simply by choosing among the various implementations for the control constructs in use. | |
650 | 4 | |a Computer architecture | |
650 | 4 | |a Parallel programming (Computer science) | |
700 | 1 | |a Le Blanc, Thomas J. |e Verfasser |4 aut | |
810 | 2 | |a Department of Computer Science: Technical report |t University of Rochester <Rochester, NY> |v 359 |w (DE-604)BV008902697 |9 359 | |
999 | |a oai:aleph.bib-bvb.de:BVB01-005926368 |
Datensatz im Suchindex
_version_ | 1804123312915218432 |
---|---|
any_adam_object | |
author | Crowl, Lawrence A. Le Blanc, Thomas J. |
author_facet | Crowl, Lawrence A. Le Blanc, Thomas J. |
author_role | aut aut |
author_sort | Crowl, Lawrence A. |
author_variant | l a c la lac b t j l btj btjl |
building | Verbundindex |
bvnumber | BV008974838 |
ctrlnum | (OCoLC)24531873 (DE-599)BVBBV008974838 |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>02806nam a2200337 cb4500</leader><controlfield tag="001">BV008974838</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">00000000000000.0</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">940206s1991 |||| 00||| eng d</controlfield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)24531873</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV008974838</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakddb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-29T</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Crowl, Lawrence A.</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Architectural adaptability in parallel programming via control abstraction</subfield><subfield code="c">Lawrence A. Crowl ; Thomas J. LeBlanc</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Rochester, NY</subfield><subfield code="c">1991</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">38 S.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="1" ind2=" "><subfield code="a">University of Rochester <Rochester, NY> / Department of Computer Science: Technical report</subfield><subfield code="v">359</subfield></datafield><datafield tag="520" ind1="3" ind2=" "><subfield code="a">Abstract: "Parallel programming involves finding the potential parallelism in an application, choosing an algorithm, and mapping it to the architecture at hand. Since a typical algorithm has much more potential parallelism than any single architecture can effectively exploit, we usually program the parallelism that the available control constructs easily express and that the given architecture efficiently exploits. This approach produces programs that exhibit much less parallelism than the original algorithm and whose performance depends entirely on the underlying architecture</subfield></datafield><datafield tag="520" ind1="3" ind2=" "><subfield code="a">To port such a program to a new architecture, we must rewrite the program to remove any ineffective parallelism and to recover any lost parallelism appropriate for the new machine. In this paper we show how to adapt a parallel program to different architectures using control abstraction. With control abstraction we can define and use a rich variety of control constructs to represent an algorithm's potential parallelism. Since control abstraction separates the definition of a construct from its implementation, a construct may have several different implementations, each exploiting a different subset of the parallelism admitted by the construct</subfield></datafield><datafield tag="520" ind1="3" ind2=" "><subfield code="a">By selecting an implementation for each control construct using annotations, we can vary the parallelism we choose to exploit without otherwise changing the source code. This approach produces programs that exhibit most of, if not all, the potential parallelism in an algorithm, and whose performance can be tuned for a specific architecture simply by choosing among the various implementations for the control constructs in use.</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer architecture</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Parallel programming (Computer science)</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Le Blanc, Thomas J.</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="810" ind1="2" ind2=" "><subfield code="a">Department of Computer Science: Technical report</subfield><subfield code="t">University of Rochester <Rochester, NY></subfield><subfield code="v">359</subfield><subfield code="w">(DE-604)BV008902697</subfield><subfield code="9">359</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-005926368</subfield></datafield></record></collection> |
id | DE-604.BV008974838 |
illustrated | Not Illustrated |
indexdate | 2024-07-09T17:27:47Z |
institution | BVB |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-005926368 |
oclc_num | 24531873 |
open_access_boolean | |
owner | DE-29T |
owner_facet | DE-29T |
physical | 38 S. |
publishDate | 1991 |
publishDateSearch | 1991 |
publishDateSort | 1991 |
record_format | marc |
series2 | University of Rochester <Rochester, NY> / Department of Computer Science: Technical report |
spelling | Crowl, Lawrence A. Verfasser aut Architectural adaptability in parallel programming via control abstraction Lawrence A. Crowl ; Thomas J. LeBlanc Rochester, NY 1991 38 S. txt rdacontent n rdamedia nc rdacarrier University of Rochester <Rochester, NY> / Department of Computer Science: Technical report 359 Abstract: "Parallel programming involves finding the potential parallelism in an application, choosing an algorithm, and mapping it to the architecture at hand. Since a typical algorithm has much more potential parallelism than any single architecture can effectively exploit, we usually program the parallelism that the available control constructs easily express and that the given architecture efficiently exploits. This approach produces programs that exhibit much less parallelism than the original algorithm and whose performance depends entirely on the underlying architecture To port such a program to a new architecture, we must rewrite the program to remove any ineffective parallelism and to recover any lost parallelism appropriate for the new machine. In this paper we show how to adapt a parallel program to different architectures using control abstraction. With control abstraction we can define and use a rich variety of control constructs to represent an algorithm's potential parallelism. Since control abstraction separates the definition of a construct from its implementation, a construct may have several different implementations, each exploiting a different subset of the parallelism admitted by the construct By selecting an implementation for each control construct using annotations, we can vary the parallelism we choose to exploit without otherwise changing the source code. This approach produces programs that exhibit most of, if not all, the potential parallelism in an algorithm, and whose performance can be tuned for a specific architecture simply by choosing among the various implementations for the control constructs in use. Computer architecture Parallel programming (Computer science) Le Blanc, Thomas J. Verfasser aut Department of Computer Science: Technical report University of Rochester <Rochester, NY> 359 (DE-604)BV008902697 359 |
spellingShingle | Crowl, Lawrence A. Le Blanc, Thomas J. Architectural adaptability in parallel programming via control abstraction Computer architecture Parallel programming (Computer science) |
title | Architectural adaptability in parallel programming via control abstraction |
title_auth | Architectural adaptability in parallel programming via control abstraction |
title_exact_search | Architectural adaptability in parallel programming via control abstraction |
title_full | Architectural adaptability in parallel programming via control abstraction Lawrence A. Crowl ; Thomas J. LeBlanc |
title_fullStr | Architectural adaptability in parallel programming via control abstraction Lawrence A. Crowl ; Thomas J. LeBlanc |
title_full_unstemmed | Architectural adaptability in parallel programming via control abstraction Lawrence A. Crowl ; Thomas J. LeBlanc |
title_short | Architectural adaptability in parallel programming via control abstraction |
title_sort | architectural adaptability in parallel programming via control abstraction |
topic | Computer architecture Parallel programming (Computer science) |
topic_facet | Computer architecture Parallel programming (Computer science) |
volume_link | (DE-604)BV008902697 |
work_keys_str_mv | AT crowllawrencea architecturaladaptabilityinparallelprogrammingviacontrolabstraction AT leblancthomasj architecturaladaptabilityinparallelprogrammingviacontrolabstraction |