Swift (langage de script parallèle)

langage de programmation

Swift[1] est un langage de script implicitement parallèle, qui permet d'écrire des scripts qui distribuent l'exécution de programmes sur des ressources de traitements parallèles[2] tels que des grappes de serveurs, des nuages, des grilles informatiques, et des supercalculateurs. L'implémentation est en open source sous licence Apache version 2.0.

Swift
Date de première version2007
ParadigmeProgrammation concurrente, Parallélisation, calcul distribué, Fonctionnel, Impératif
DéveloppeurUniversité de Chicago et laboratoire National d'Argonne
Dernière version0.96.2 (5 aôut 2015)
TypageFort
Influencé parC (langage), Programmation fonctionnelle, Grille informatique
LicenceLicence Apache version 2.0
Site webhttp://swift-lang.org

Fondements

Un script Swift[3] décrit des données avec un typage fort, des composants applicatifs, des invocations de ces composants, et l'interdépendance entre elles sur la base des flux de données. L'exécution est implicitement parallèle, c'est-à-dire, toutes les instructions du script seront automatiquement exécutées en parallèle, dans la limite des processeurs disponibles, et sauf dépendance entre leurs données. Le langage est déterministe : les résultats des traitements sont indépendants de l'ordre dans lequel les tâches parallèles s'exécutent. Un mécanisme de mise en correspondance (« mapping » en anglais)[4] permet de traiter et transmettre des données par l'intermédiaire de répertoires et de fichiers.

La répartition de tâches parallèles entre un grand nombre de ressources est implémentée par un mécanisme de « cabotage » (« coaster task dispatch » en anglais)[5] gérant le lancement de tâches et si nécessaire le transfert de fichier. Une implémentation basée sur une interface à base de messages[6] permet une exécution à très haut débit (par exemple plus de 3 000 tâches par seconde)[7] sur des grappes de grande capacité et des supercalculcateurs.

Applications

Exemples d'applications[8] :

  • Modélisation du climat ;
  • Modélisation économique ;
  • Modélisation de protéines en biochimie ;
  • Analyse d'IRM en neuroscience.

Notes et références

Annexes

Articles connexes

Liens externes

🔥 Top keywords: