network centrality

Analyse de Robustesse Réseau IT (Performance sur Grand Graphe)

Scénario de test & Cas d'usage

Contexte Métier

Le département Cybersécurité veut identifier les points de défaillance critiques (Single Points of Failure) dans un réseau informatique massif (milliers de serveurs). Le calcul exact de l'intermédiarité (Betweenness) étant trop coûteux en temps CPU sur un graphe complet, nous testons l'approximation par échantillonnage.
Préparation des Données

Génération procédurale d'un grand réseau maillé aléatoire.

Copié !
1 
2DATA mycas.grand_reseau;
3call streaminit(123);
4DO i=1 to 10000;
5from = 'Srv_' || strip(put(rand('integer', 1, 1000), best.));
6to = 'Srv_' || strip(put(rand('integer', 1, 1000), best.));
7IF from ne to THEN OUTPUT;
8END;
9 
10RUN;
11 

Étapes de réalisation

1
Vérification de la volumétrie initiale.
Copié !
1 
2PROC CAS;
3SIMPLE.numRows / TABLE={name='grand_reseau'};
4 
5RUN;
6 
2
Exécution de 'centrality' avec samplePercent pour optimiser la performance.
Copié !
1 
2PROC CAS;
3network.centrality / links={name='grand_reseau'} direction='UNDIRECTED' between='UNWEIGHT' samplePercent=10.0 outNodes={name='points_critiques', replace=true};
4 
5RUN;
6 

Résultat Attendu


L'action doit s'exécuter rapidement (grâce à l'échantillonnage de 10%) et fournir une table 'points_critiques' identifiant les serveurs 'ponts' (haute intermédiarité) sans erreur de mémoire, malgré la taille du graphe.