optNetwork biconnectedComponents

Performance Case: Large-Scale Telecom Network Analysis

Scénario de test & Cas d'usage

Business Context

A national telecom provider needs to analyze its entire fiber-optic network, comprising thousands of nodes and links, to find vulnerabilities. The analysis must run efficiently to be integrated into daily network health checks.
About the Set : optNetwork

Network analysis and graph algorithms.

Discover all actions of optNetwork
Data Preparation

Generation of a large, complex graph simulating a national telecom network with a core backbone and regional clusters. This uses a macro to generate a high volume of links.

Copied!
1%macro generate_network(nodes=1000, density=3);
2DATA mycas.TelcoNetworkLinks;
3 call streaminit(123);
4 DO i = 1 to &nodes;
5 DO j = 1 to &density;
6 from_node = 'N' || put(i, z5.);
7 to_node = 'N' || put(ceil(rand('UNIFORM') * &nodes), z5.);
8 IF (from_node ne to_node) THEN OUTPUT;
9 END;
10 END;
11RUN;
12%mend;
13%generate_network(nodes=5000, density=4);

Étapes de réalisation

1
Execute the action on the large graph, using multiple threads and monitoring the log for performance.
Copied!
1PROC CAS;
2 ACTION optNetwork.biconnectedComponents /
3 links={name='TelcoNetworkLinks'}
4 nThreads=4
5 logLevel='MODERATE'
6 out={name='mycas.NetworkSummary', replace=true}
7 outNodes={name='mycas.TelcoNodes', replace=true};
8RUN;
9QUIT;
2
Check the summary output table for the number of articulation points and biconnected components found.
Copied!
1PROC CAS;
2 TABLE.fetch / TABLE={name='NetworkSummary'};
3RUN;
4QUIT;

Expected Result


The action should complete successfully on the large-scale graph without errors or excessive run time. The log will show progress updates due to `logLevel='MODERATE'`. The 'NetworkSummary' table will provide a high-level count of articulation points and components, allowing the telecom provider to quickly assess the overall structural integrity of their network.