Forklight: A control-synchronous parallel programming language
Identifieur interne : 000D80 ( Istex/Checkpoint ); précédent : 000D79; suivant : 000D81Forklight: A control-synchronous parallel programming language
Auteurs : Christoph W. Ke Ler [Allemagne] ; Helmut Seidl [Allemagne]Source :
- Lecture Notes in Computer Science [ 0302-9743 ] ; 1999.
Abstract
Abstract: ForkLight is an imperative, task-parallel programming language for massively parallel shared memory machines. It is based on ANSI C, follows the SPMD model of parallel program execution, provides a sequentially consistent shared memory, and supports dynamically nested parallelism. While no assumptions are made on uniformity of memory access time or instruction-level synchronicity of the underlying hardware, ForkLight offers a simple but powerful mechanism for coordination of parallel processes in the tradition and notation of PRAM algorithms: Beyond its asynchronous default execution mode, ForkLight offers a mode for control-synchronous execution that relates the program's block structure to parallel control flow. We give a scheme for compiling ForkLight to C with calls to a very small set of basic shared memory access operations like atomic fetch&add. This yields portability across parallel architectures and exploits the local optimizations of their native C compilers. Our implementation is publically available; performance results are reported. We also discuss translation to OpenMP.
Url:
DOI: 10.1007/BFb0100613
Affiliations:
Links toward previous steps (curation, corpus...)
Links to Exploration step
ISTEX:9228C13346EA7A1E1031B8E867A3190DE86ADC17Le document en format XML
<record><TEI wicri:istexFullTextTei="biblStruct"><teiHeader><fileDesc><titleStmt><title xml:lang="en">Forklight: A control-synchronous parallel programming language</title>
<author><name sortKey="Ke Ler, Christoph W" sort="Ke Ler, Christoph W" uniqKey="Ke Ler C" first="Christoph W." last="Ke Ler">Christoph W. Ke Ler</name>
</author>
<author><name sortKey="Seidl, Helmut" sort="Seidl, Helmut" uniqKey="Seidl H" first="Helmut" last="Seidl">Helmut Seidl</name>
</author>
</titleStmt>
<publicationStmt><idno type="wicri:source">ISTEX</idno>
<idno type="RBID">ISTEX:9228C13346EA7A1E1031B8E867A3190DE86ADC17</idno>
<date when="1999" year="1999">1999</date>
<idno type="doi">10.1007/BFb0100613</idno>
<idno type="url">https://api.istex.fr/document/9228C13346EA7A1E1031B8E867A3190DE86ADC17/fulltext/pdf</idno>
<idno type="wicri:Area/Istex/Corpus">001522</idno>
<idno type="wicri:explorRef" wicri:stream="Istex" wicri:step="Corpus" wicri:corpus="ISTEX">001522</idno>
<idno type="wicri:Area/Istex/Curation">001410</idno>
<idno type="wicri:Area/Istex/Checkpoint">000D80</idno>
<idno type="wicri:explorRef" wicri:stream="Istex" wicri:step="Checkpoint">000D80</idno>
</publicationStmt>
<sourceDesc><biblStruct><analytic><title level="a" type="main" xml:lang="en">Forklight: A control-synchronous parallel programming language</title>
<author><name sortKey="Ke Ler, Christoph W" sort="Ke Ler, Christoph W" uniqKey="Ke Ler C" first="Christoph W." last="Ke Ler">Christoph W. Ke Ler</name>
<affiliation wicri:level="1"><country xml:lang="fr">Allemagne</country>
<wicri:regionArea>FB IV-Informatik, Universität Trier, 54286, Trier</wicri:regionArea>
<wicri:noRegion>54286, Trier</wicri:noRegion>
<wicri:noRegion>Trier</wicri:noRegion>
</affiliation>
<affiliation wicri:level="1"><country wicri:rule="url">Allemagne</country>
</affiliation>
</author>
<author><name sortKey="Seidl, Helmut" sort="Seidl, Helmut" uniqKey="Seidl H" first="Helmut" last="Seidl">Helmut Seidl</name>
<affiliation wicri:level="1"><country xml:lang="fr">Allemagne</country>
<wicri:regionArea>FB IV-Informatik, Universität Trier, 54286, Trier</wicri:regionArea>
<wicri:noRegion>54286, Trier</wicri:noRegion>
<wicri:noRegion>Trier</wicri:noRegion>
</affiliation>
<affiliation wicri:level="1"><country wicri:rule="url">Allemagne</country>
</affiliation>
</author>
</analytic>
<monogr></monogr>
<series><title level="s">Lecture Notes in Computer Science</title>
<imprint><date>1999</date>
</imprint>
<idno type="ISSN">0302-9743</idno>
<idno type="eISSN">1611-3349</idno>
<idno type="ISSN">0302-9743</idno>
</series>
<idno type="istex">9228C13346EA7A1E1031B8E867A3190DE86ADC17</idno>
<idno type="DOI">10.1007/BFb0100613</idno>
<idno type="ChapterID">54</idno>
<idno type="ChapterID">Chap54</idno>
</biblStruct>
</sourceDesc>
<seriesStmt><idno type="ISSN">0302-9743</idno>
</seriesStmt>
</fileDesc>
<profileDesc><textClass></textClass>
<langUsage><language ident="en">en</language>
</langUsage>
</profileDesc>
</teiHeader>
<front><div type="abstract" xml:lang="en">Abstract: ForkLight is an imperative, task-parallel programming language for massively parallel shared memory machines. It is based on ANSI C, follows the SPMD model of parallel program execution, provides a sequentially consistent shared memory, and supports dynamically nested parallelism. While no assumptions are made on uniformity of memory access time or instruction-level synchronicity of the underlying hardware, ForkLight offers a simple but powerful mechanism for coordination of parallel processes in the tradition and notation of PRAM algorithms: Beyond its asynchronous default execution mode, ForkLight offers a mode for control-synchronous execution that relates the program's block structure to parallel control flow. We give a scheme for compiling ForkLight to C with calls to a very small set of basic shared memory access operations like atomic fetch&add. This yields portability across parallel architectures and exploits the local optimizations of their native C compilers. Our implementation is publically available; performance results are reported. We also discuss translation to OpenMP.</div>
</front>
</TEI>
<affiliations><list><country><li>Allemagne</li>
</country>
</list>
<tree><country name="Allemagne"><noRegion><name sortKey="Ke Ler, Christoph W" sort="Ke Ler, Christoph W" uniqKey="Ke Ler C" first="Christoph W." last="Ke Ler">Christoph W. Ke Ler</name>
</noRegion>
<name sortKey="Ke Ler, Christoph W" sort="Ke Ler, Christoph W" uniqKey="Ke Ler C" first="Christoph W." last="Ke Ler">Christoph W. Ke Ler</name>
<name sortKey="Seidl, Helmut" sort="Seidl, Helmut" uniqKey="Seidl H" first="Helmut" last="Seidl">Helmut Seidl</name>
<name sortKey="Seidl, Helmut" sort="Seidl, Helmut" uniqKey="Seidl H" first="Helmut" last="Seidl">Helmut Seidl</name>
</country>
</tree>
</affiliations>
</record>
Pour manipuler ce document sous Unix (Dilib)
EXPLOR_STEP=$WICRI_ROOT/Wicri/Rhénanie/explor/UnivTrevesV1/Data/Istex/Checkpoint
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 000D80 | SxmlIndent | more
Ou
HfdSelect -h $EXPLOR_AREA/Data/Istex/Checkpoint/biblio.hfd -nk 000D80 | SxmlIndent | more
Pour mettre un lien sur cette page dans le réseau Wicri
{{Explor lien |wiki= Wicri/Rhénanie |area= UnivTrevesV1 |flux= Istex |étape= Checkpoint |type= RBID |clé= ISTEX:9228C13346EA7A1E1031B8E867A3190DE86ADC17 |texte= Forklight: A control-synchronous parallel programming language }}
This area was generated with Dilib version V0.6.31. |