Et le calcul distribué ?

Malheureusement, loin d’être aussi mature que le calcul au sein d’un noeud.

Côté HPC classique, on a un binding MPI et quelques prototypes PGAS comme Lamellar.

Mais l’effort R&D actuel est plutôt centré sur des besoins big data, par exemple…

  • Des data frames basés sur Apache Arrow : Ballista et son backend DataFusion
  • Arroyo qui cherche à voir jusqu’où on peut pousser la perf du SQL.
  • Renoir et Timely Dataflow qui se basent sur un modèle d’itérateurs/flux.

Du coup, on peut se demander quelle est la bonne stratégie :

  • Tout faire en MPI brut comme au bon vieux temps du Fortran 77 ?
  • Développer davantage les frameworks HPC haut niveau à la HPX pour Rust ?
  • Adapter les piles big data aux besoins du calcul scientifique ?

La réponse dépendra sans doute de votre projet…