Vue d'ensemble
Ray 2.3, publié le 15 février 2023, introduit les graphes compilés et améliore les performances globales du framework de calcul distribué.
Fonctionnalités principales
Graphes compilés
Les graphes compilés (CompiledDAG) optimisent les pipelines de tâches en pré-compilant le graphe d'exécution, réduisant la latence entre les étapes.
python
import ray
ray.init()
@ray.remote
def transformer(donnees):
return [x * 2 for x in donnees]
@ray.remote
def agreger(resultats):
return sum(resultats)
# Pipeline de tâches distribuées
lots = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
futures = [transformer.remote(lot) for lot in lots]
resultats = ray.get(futures)
print(resultats) # [[2,4,6], [8,10,12], [14,16,18]]
Améliorations de performance
Le runtime Ray bénéficie d'optimisations de la sérialisation des objets et de la gestion mémoire, réduisant l'overhead pour les tâches à grain fin.
python
import ray
import numpy as np
@ray.remote
class Compteur:
def __init__(self):
self.n = 0
def incrementer(self):
self.n += 1
return self.n
# Acteur distribué
compteur = Compteur.remote()
futures = [compteur.incrementer.remote() for _ in range(100)]
print(ray.get(futures[-1])) # 100
