Control-Driven Data Flow
Résumé
This paper presents CDDF, a model of computation underpinning the formal semantics of a number of parallel programming languages. CDDF integrates control flow elements for the dynamic construction of task graphs, and data flow elements to express dependent computations and to decouple these using unbounded streams (Kahn process networks). It is a common ground to define the formal semantics of imperative programming languages with dynamic task creation, as well as data-flow or concurrent functional languages, as a special case of more general dependent task languages with channels or streams. We prove essential properties for languages fitting this model of computation, including deadlock-freedom, functional and deadlock determinism, and serializability. We also compare the model's hypotheses with Cilk's strictness and the Kahn principle.
Ce papier présente CDDF, un modèle de calcul qui permet de donner une sémantique formelle a un certain nombre de langages de programmation parallèle. Il intègre des éléments de contrôle de flot pour la construction dynamique de graphes de tâches, ainsi que des éléments de flot de données pour exprimer les dépendances des calculs et découpler ceux-ci à l'aide de streams non bornés à l'instar des réseaux de processus de Kahn. Le modèle CDDF fournit une base commune pour définir la sémantique formelle des langages impératifs à création dynamique de tâches, ainsi que des langages fonctionnels concurrents ou à flots de données, en tant que cas particulier de langages à tâches dépendantes avec cannaux de communication ou streams. Nous prouvons des propriétés essentielles sur les langages basés sur ce modèle, dont l'absence d'interbloquages, le déterminisme fonctionnel et d'interbloquage, ainsi que la sérialisabilité. Nous comparons les hypothèses utilisées dans CDDF à la condition d'exécution stricte de Cilk ainsi qu'au principe de Kahn.
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...