Pour les réseaux à très grande échelle, le moteur SAS Cloud Analytic ServicesMoteur analytique distribué et en mémoire (in-memory) au cœur de SAS Viya. Il assure le traitement des données et l'exécution des modèles avec une très haute performance. offre des capacités de traitement en mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya. ultra-performantes. Vous pouvez activer le paramètre distributed pour répartir la charge de calcul de l'algorithme sur l'ensemble des noeuds travailleurs de votre architecture. Combinez cela avec le paramètre nThreads pour plafonner ou maximiser le nombre de processus alloués par noeud. Si vous exécutez plusieurs algorithmes d'optimisation successivement, il est fortement recommandé d'utiliser le paramètre graph pour pointer vers un réseau déjà instancié, éliminant ainsi les temps d'I/O redondants.
Comment optimiser les temps de calcul sur des graphes massifs de plusieurs millions de noeuds en environnement SAS Viya ?
Scalabilité Massive en Environnement MPP
Exemple de Code Additionnel
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/* CASL Script : Optimisation de Performance sur Graphe Massif
(c) Nicolas Housset 2026 */
proc cas;
/* 1. Chargement persistant du graphe pour réutilisation */
network.loadGraph /
links = {name="BIG_DATA_LINKS", where="transaction_date > '01JAN2025'd"}
outGraph = {name="massive_graph_in_mem", replace=True}
/* Activation du mode distribué pour la mise en mémoire */
distributed = True;
/* 2. Analyse de centralité optimisée en mode MPP */
network.centrality /
graph = "massive_graph_in_mem"
/* Limitation des threads pour éviter la contention CPU */
nThreads = 16
degree = "BOTH"
pagerank = True
outNodes = {name="centrality_scores", replace=True};
run;
quit;
(c) Nicolas Housset 2026 */
proc cas;
/* 1. Chargement persistant du graphe pour réutilisation */
network.loadGraph /
links = {name="BIG_DATA_LINKS", where="transaction_date > '01JAN2025'd"}
outGraph = {name="massive_graph_in_mem", replace=True}
/* Activation du mode distribué pour la mise en mémoire */
distributed = True;
/* 2. Analyse de centralité optimisée en mode MPP */
network.centrality /
graph = "massive_graph_in_mem"
/* Limitation des threads pour éviter la contention CPU */
nThreads = 16
degree = "BOTH"
pagerank = True
outNodes = {name="centrality_scores", replace=True};
run;
quit;
Exemples pour l'action biconnectedComponents
Calcul de base des composantes biconnexes
Exécution de l'action avec les paramètres par défaut pour obtenir un résumé.
Analyse complète avec identification des points d'articulation
On demande explicitement la création des tables de sortie pour voir quels nœuds sont des points d'articulation et quels liens appartiennent à quelle composante.