Swift. 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. 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.

Fondements Un script SwiftManuel de référence, chapitre 2. 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 (« » en anglais)Manuel de référence, chapitre 3. 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 » (« » en anglais). 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 messagesWozniak, Justin M., Timothy G. Armstrong, Michael Wilde, Daniel S. Katz, Ewing Lusk, and Ian T. Foster. "Swift/T: Large-scale Application Composition via Distributed-memory Dataflow Processing." In Cluster, Cloud and Grid Computing (CCGrid), 2013 13th IEEE/ACM International Symposium on, pp. 95-102. IEEE, 2013. permet une exécution à très haut débit (par exemple plus de par seconde). sur des grappes de grande capacité et des supercalculcateurs.

Applications Exemples d'applications Études de cas sur le site officiel. : 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 Calcul distribué Parallélisme (informatique)

Liens externes

Manuel de référence

Catégorie:Langage de script Catégorie:Langage impératif Catégorie:Programmation concurrente