Skip to content

Commit a7a5aff

Browse files
committed
updated inbuild lib
1 parent 6084b6f commit a7a5aff

File tree

2 files changed

+5
-331
lines changed

2 files changed

+5
-331
lines changed

topogen/blueprints_lib.py

Lines changed: 1 addition & 329 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@
9797
}
9898
],
9999
},
100-
"DragonFly_Custom1": {
100+
"DragonFly_CustomG4": {
101101
"groups": {
102102
"leafA": {
103103
"node_count": 4,
@@ -263,334 +263,6 @@
263263
},
264264
],
265265
},
266-
"DragonFly_Custom2": {
267-
"groups": {
268-
"spine": {
269-
"node_count": 2,
270-
"name_template": "spine{node_num}",
271-
"attrs": {"role": "spine", "tier": "spine"},
272-
},
273-
"leafA": {
274-
"node_count": 4,
275-
"name_template": "leafA{node_num}",
276-
"attrs": {"role": "leaf", "tier": "leaf", "group": "A"},
277-
},
278-
"leafB": {
279-
"node_count": 4,
280-
"name_template": "leafB{node_num}",
281-
"attrs": {"role": "leaf", "tier": "leaf", "group": "B"},
282-
},
283-
"leafC": {
284-
"node_count": 4,
285-
"name_template": "leafC{node_num}",
286-
"attrs": {"role": "leaf", "tier": "leaf", "group": "C"},
287-
},
288-
"leafD": {
289-
"node_count": 4,
290-
"name_template": "leafD{node_num}",
291-
"attrs": {"role": "leaf", "tier": "leaf", "group": "D"},
292-
},
293-
},
294-
"adjacency": [
295-
# Intra-group dense (4×800G per pair = 3.2 Tb/s)
296-
{
297-
"source": "/leafA",
298-
"target": "/leafA",
299-
"pattern": "mesh",
300-
"link_params": {
301-
"capacity": 3_200,
302-
"cost": 1,
303-
"attrs": {
304-
"link_type": "intra_group",
305-
"hardware": {
306-
"source": {"component": "800G-DR4", "count": 4.0},
307-
"target": {"component": "800G-DR4", "count": 4.0},
308-
},
309-
},
310-
},
311-
},
312-
{
313-
"source": "/leafB",
314-
"target": "/leafB",
315-
"pattern": "mesh",
316-
"link_params": {
317-
"capacity": 3_200,
318-
"cost": 1,
319-
"attrs": {
320-
"link_type": "intra_group",
321-
"hardware": {
322-
"source": {"component": "800G-DR4", "count": 4.0},
323-
"target": {"component": "800G-DR4", "count": 4.0},
324-
},
325-
},
326-
},
327-
},
328-
{
329-
"source": "/leafC",
330-
"target": "/leafC",
331-
"pattern": "mesh",
332-
"link_params": {
333-
"capacity": 3_200,
334-
"cost": 1,
335-
"attrs": {
336-
"link_type": "intra_group",
337-
"hardware": {
338-
"source": {"component": "800G-DR4", "count": 4.0},
339-
"target": {"component": "800G-DR4", "count": 4.0},
340-
},
341-
},
342-
},
343-
},
344-
{
345-
"source": "/leafD",
346-
"target": "/leafD",
347-
"pattern": "mesh",
348-
"link_params": {
349-
"capacity": 3_200,
350-
"cost": 1,
351-
"attrs": {
352-
"link_type": "intra_group",
353-
"hardware": {
354-
"source": {"component": "800G-DR4", "count": 4.0},
355-
"target": {"component": "800G-DR4", "count": 4.0},
356-
},
357-
},
358-
},
359-
},
360-
# Reduced inter-group: ring-of-cliques, two indexed pairs per neighbor,
361-
# 1×800G per pair (0.8 Tb/s).
362-
# A<->B (idx) and (idx+1)
363-
{
364-
"source": "leafA/leafA{idx}",
365-
"target": "leafB/leafB{idx}",
366-
"pattern": "one_to_one",
367-
"expand_vars": {"idx": [1, 2, 3, 4]},
368-
"expansion_mode": "zip",
369-
"link_params": {
370-
"capacity": 800,
371-
"cost": 1,
372-
"attrs": {
373-
"link_type": "inter_group",
374-
"hardware": {
375-
"source": {"component": "800G-DR4", "count": 1.0},
376-
"target": {"component": "800G-DR4", "count": 1.0},
377-
},
378-
},
379-
},
380-
},
381-
{
382-
"source": "leafA/leafA{idx}",
383-
"target": "leafB/leafB{jdx}",
384-
"pattern": "one_to_one",
385-
"expand_vars": {"idx": [1, 2, 3, 4], "jdx": [2, 3, 4, 1]},
386-
"expansion_mode": "zip",
387-
"link_params": {
388-
"capacity": 800,
389-
"cost": 1,
390-
"attrs": {
391-
"link_type": "inter_group",
392-
"hardware": {
393-
"source": {"component": "800G-DR4", "count": 1.0},
394-
"target": {"component": "800G-DR4", "count": 1.0},
395-
},
396-
},
397-
},
398-
},
399-
# B<->C
400-
{
401-
"source": "leafB/leafB{idx}",
402-
"target": "leafC/leafC{idx}",
403-
"pattern": "one_to_one",
404-
"expand_vars": {"idx": [1, 2, 3, 4]},
405-
"expansion_mode": "zip",
406-
"link_params": {
407-
"capacity": 800,
408-
"cost": 1,
409-
"attrs": {
410-
"link_type": "inter_group",
411-
"hardware": {
412-
"source": {"component": "800G-DR4", "count": 1.0},
413-
"target": {"component": "800G-DR4", "count": 1.0},
414-
},
415-
},
416-
},
417-
},
418-
{
419-
"source": "leafB/leafB{idx}",
420-
"target": "leafC/leafC{jdx}",
421-
"pattern": "one_to_one",
422-
"expand_vars": {"idx": [1, 2, 3, 4], "jdx": [2, 3, 4, 1]},
423-
"expansion_mode": "zip",
424-
"link_params": {
425-
"capacity": 800,
426-
"cost": 1,
427-
"attrs": {
428-
"link_type": "inter_group",
429-
"hardware": {
430-
"source": {"component": "800G-DR4", "count": 1.0},
431-
"target": {"component": "800G-DR4", "count": 1.0},
432-
},
433-
},
434-
},
435-
},
436-
# C<->D
437-
{
438-
"source": "leafC/leafC{idx}",
439-
"target": "leafD/leafD{idx}",
440-
"pattern": "one_to_one",
441-
"expand_vars": {"idx": [1, 2, 3, 4]},
442-
"expansion_mode": "zip",
443-
"link_params": {
444-
"capacity": 800,
445-
"cost": 1,
446-
"attrs": {
447-
"link_type": "inter_group",
448-
"hardware": {
449-
"source": {"component": "800G-DR4", "count": 1.0},
450-
"target": {"component": "800G-DR4", "count": 1.0},
451-
},
452-
},
453-
},
454-
},
455-
{
456-
"source": "leafC/leafC{idx}",
457-
"target": "leafD/leafD{jdx}",
458-
"pattern": "one_to_one",
459-
"expand_vars": {"idx": [1, 2, 3, 4], "jdx": [2, 3, 4, 1]},
460-
"expansion_mode": "zip",
461-
"link_params": {
462-
"capacity": 800,
463-
"cost": 1,
464-
"attrs": {
465-
"link_type": "inter_group",
466-
"hardware": {
467-
"source": {"component": "800G-DR4", "count": 1.0},
468-
"target": {"component": "800G-DR4", "count": 1.0},
469-
},
470-
},
471-
},
472-
},
473-
# D<->A
474-
{
475-
"source": "leafD/leafD{idx}",
476-
"target": "leafA/leafA{idx}",
477-
"pattern": "one_to_one",
478-
"expand_vars": {"idx": [1, 2, 3, 4]},
479-
"expansion_mode": "zip",
480-
"link_params": {
481-
"capacity": 800,
482-
"cost": 1,
483-
"attrs": {
484-
"link_type": "inter_group",
485-
"hardware": {
486-
"source": {"component": "800G-DR4", "count": 1.0},
487-
"target": {"component": "800G-DR4", "count": 1.0},
488-
},
489-
},
490-
},
491-
},
492-
{
493-
"source": "leafD/leafD{idx}",
494-
"target": "leafA/leafA{jdx}",
495-
"pattern": "one_to_one",
496-
"expand_vars": {"idx": [1, 2, 3, 4], "jdx": [2, 3, 4, 1]},
497-
"expansion_mode": "zip",
498-
"link_params": {
499-
"capacity": 800,
500-
"cost": 1,
501-
"attrs": {
502-
"link_type": "inter_group",
503-
"hardware": {
504-
"source": {"component": "800G-DR4", "count": 1.0},
505-
"target": {"component": "800G-DR4", "count": 1.0},
506-
},
507-
},
508-
},
509-
},
510-
# Leaf<->Spine express (4×800G per leaf per spine = 3.2 Tb/s)
511-
{
512-
"source": "/leafA",
513-
"target": "/spine",
514-
"pattern": "mesh",
515-
"link_params": {
516-
"capacity": 3_200,
517-
"cost": 1,
518-
"attrs": {
519-
"link_type": "leaf_spine",
520-
"hardware": {
521-
"source": {"component": "800G-DR4", "count": 4.0},
522-
"target": {"component": "1600G-2xDR4", "count": 2.0},
523-
},
524-
},
525-
},
526-
},
527-
{
528-
"source": "/leafB",
529-
"target": "/spine",
530-
"pattern": "mesh",
531-
"link_params": {
532-
"capacity": 3_200,
533-
"cost": 1,
534-
"attrs": {
535-
"link_type": "leaf_spine",
536-
"hardware": {
537-
"source": {"component": "800G-DR4", "count": 4.0},
538-
"target": {"component": "1600G-2xDR4", "count": 2.0},
539-
},
540-
},
541-
},
542-
},
543-
{
544-
"source": "/leafC",
545-
"target": "/spine",
546-
"pattern": "mesh",
547-
"link_params": {
548-
"capacity": 3_200,
549-
"cost": 1,
550-
"attrs": {
551-
"link_type": "leaf_spine",
552-
"hardware": {
553-
"source": {"component": "800G-DR4", "count": 4.0},
554-
"target": {"component": "1600G-2xDR4", "count": 2.0},
555-
},
556-
},
557-
},
558-
},
559-
{
560-
"source": "/leafD",
561-
"target": "/spine",
562-
"pattern": "mesh",
563-
"link_params": {
564-
"capacity": 3_200,
565-
"cost": 1,
566-
"attrs": {
567-
"link_type": "leaf_spine",
568-
"hardware": {
569-
"source": {"component": "800G-DR4", "count": 4.0},
570-
"target": {"component": "1600G-2xDR4", "count": 2.0},
571-
},
572-
},
573-
},
574-
},
575-
# Optional: spine<->spine mesh for resilience (e.g., 12.8 Tb/s)
576-
{
577-
"source": "/spine",
578-
"target": "/spine",
579-
"pattern": "mesh",
580-
"link_params": {
581-
"capacity": 12_800,
582-
"cost": 1,
583-
"attrs": {
584-
"link_type": "spine_mesh",
585-
"hardware": {
586-
"source": {"component": "1600G-2xDR4", "count": 8.0},
587-
"target": {"component": "1600G-2xDR4", "count": 8.0},
588-
},
589-
},
590-
},
591-
},
592-
],
593-
},
594266
"Dragonfly_A3H2G7": {
595267
"groups": {
596268
"G1": {

topogen/workflows_lib.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,10 @@
3434
{
3535
"step_type": "TrafficMatrixPlacement",
3636
"name": "tm_placement",
37+
"seed": 42,
3738
"matrix_name": "baseline_traffic_matrix",
3839
"failure_policy": "mc_baseline",
39-
"iterations": 10,
40+
"iterations": 10000,
4041
"parallelism": 8,
4142
"placement_rounds": "auto",
4243
"baseline": True,
@@ -48,11 +49,12 @@
4849
{
4950
"step_type": "MaxFlow",
5051
"name": "node_to_node_capacity_matrix",
52+
"seed": 42,
5153
"source_path": "(metro[0-9]+/dc[0-9]+)",
5254
"sink_path": "(metro[0-9]+/dc[0-9]+)",
5355
"mode": "pairwise",
5456
"failure_policy": "mc_baseline",
55-
"iterations": 10,
57+
"iterations": 10000,
5658
"parallelism": 8,
5759
"shortest_path": False,
5860
"flow_placement": "PROPORTIONAL",

0 commit comments

Comments
 (0)