Synchronous Deterministic Parallel Programming for Multicores with ForeC: Programming Language, Semantics, and Code Generation

Résumé : Les systèmes cyber-physiques sont des systèmes embarqués qui sont très fortement couplés à leur environnement. La correction d’un tel système dépend à la fois des sorties calculées et des dates auxquelles ces sorties sont produites. L’usage croissant de processeurs haute performance multi-cœurs dans les systèmes embarqués pousse les programmeurs à devenir des experts en programmation parallèle. La programmation parallèle représente un défi en raison des compétences, de l’expérience, et des savoirs qui sont requis afin d’éviter les pièges classiques. Dans cet article, nous proposons le langage de programmation ForeC pour la programmation déterministe, parallèle et réactive des processeurs embarqués multi-cœurs. La sémantique synchrone de ForeC a été conçue pour simplifier grandement la compréhension et la mise au point des programmes parallèles. ForeC permet aux programmeurs d’exprimer de nombreuses formes de schémas parallèles tout en garantissant que les programmes ForeC peuvent être compilés efficacement pour une exécution parallèle, et que leur temps d’exécution peut être calculé statiquement. La principale innovation de ForeC réside dans la sémantique des variables partagées, qui garantit l’isolation des fils d’exécution et une communication déterministe entre les fils d’exécution. Tous les programmes ForeC sont correct par construction et sans inter-blocage car les constructions d’exclusion mutuelle ne sont pas nécessaires. Grâce à des benchmarks, nous démontrons que ForeC peut obtenir de meilleures performances parallèles qu’Esterel, un langage synchrone largement utilisé pour les systèmes concurrents à sûreté critique, ainsi qu’OpenMP, une solution utilisée classiquement pour la programmation parallèle. Nous démontrons que le temps d’exécution au pire cas des programmes ForeC peut être estimé avec un très haut degré de précision.
Type de document :
Rapport
[Research Report] RR-8943, Inria - Research Centre Grenoble – Rhône-Alpes. 2016
Liste complète des métadonnées


https://hal.inria.fr/hal-01351552
Contributeur : Eugene Yip <>
Soumis le : mercredi 3 août 2016 - 23:58:56
Dernière modification le : vendredi 16 septembre 2016 - 15:19:37
Document(s) archivé(s) le : mardi 8 novembre 2016 - 21:57:21

Fichier

RR-8943.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : hal-01351552, version 1

Collections

Citation

Eugene Yip, Partha S. Roop, Alain Girault, Morteza Biglari-Abhari. Synchronous Deterministic Parallel Programming for Multicores with ForeC: Programming Language, Semantics, and Code Generation. [Research Report] RR-8943, Inria - Research Centre Grenoble – Rhône-Alpes. 2016. <hal-01351552>

Partager

Métriques

Consultations de
la notice

205

Téléchargements du document

135