From 62e3231a0c0ab2726ef027a3e70f3e3dfe1e81db Mon Sep 17 00:00:00 2001 From: alegrand Date: Mon, 22 May 2006 13:54:42 +0000 Subject: [PATCH] A few more tiers file and a convenient perl script for the alnem project. I put it here because it uses these .pm files. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@2278 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- tools/platform_generation/WAN_1.tiers | 749 ++++++++++++++++++ tools/platform_generation/medium.tiers | 226 ++++++ tools/platform_generation/small.tiers | 172 ++++ .../tiers_simgrid_darina.pl | 386 +++++++++ 4 files changed, 1533 insertions(+) create mode 100644 tools/platform_generation/WAN_1.tiers create mode 100644 tools/platform_generation/medium.tiers create mode 100644 tools/platform_generation/small.tiers create mode 100755 tools/platform_generation/tiers_simgrid_darina.pl diff --git a/tools/platform_generation/WAN_1.tiers b/tools/platform_generation/WAN_1.tiers new file mode 100644 index 0000000000..af947f2cbf --- /dev/null +++ b/tools/platform_generation/WAN_1.tiers @@ -0,0 +1,749 @@ +# +# Parameters for Network Model ModelId: 856566616 +# ============================ +# +# Value Parameter +# ----- --------- +# +# 1 NW: number of WANs +# 5 NM: number of MANs per WAN +# 5 NL: number of LANs per MAN +# 10 SW: number of nodes per WAN +# 10 SM: number of nodes per MAN +# 5 SL: number of nodes per LAN +# 2 RW: intranetwork redundancy for WAN +# 1 RM: intranetwork redundancy for MANs +# 1 RL: intranetwork redundancy for LANs +# 2 RMW: internetwork redundancy for MAN to WAN +# 1 RLM: internetwork redundancy for LAN to MAN +# +# 100 Grid size (square) +# 40 Grid unit for WAN +# 8 Grid unit for MAN +# 2 Grid unit for LAN +# +# 0 Proximity test for WAN (0 is inactive) +# 0 Proximity test for MAN (0 is inactive) +# 0 Proximity test for LAN (0 is inactive) +# +# 0 Edge list is directed (0) or undirected (1) +# Total Number of Nodes (derived) : 185 +# +# Edge Metrics +# ------------ +# +# From To Band- Fixed Delay/Unit +# Type Type width Delay Distance +# ------------------------------------------ +# 0 0 10 5 1 +# 0 1 10 50 1 +# 0 2 0 0 1 +# 1 0 10 50 1 +# 1 1 100 100 10 +# 1 2 100 1000 1 +# 2 0 0 0 1 +# 2 1 100 1000 1 +# 2 2 1000 150 100 +# +# NODES +# ===== +# +# Node X Y Type (0 = WAN, 1 = MAN, 2 = LAN) +# ------------------------------------ +0 1520 2360 0 +1 2960 2800 0 +2 3400 600 0 +3 2400 920 0 +4 3000 1360 0 +5 3760 2400 0 +6 2000 2160 0 +7 1440 3080 0 +8 1640 3280 0 +9 3560 1720 0 +10 2304 3520 1 +11 1760 3552 1 +12 2072 3392 1 +13 2176 3704 1 +14 2296 3672 1 +15 1832 3688 1 +16 1648 3336 1 +17 1968 4064 1 +18 2384 3928 1 +19 2328 3352 1 +20 3840 1984 1 +21 4376 1904 1 +22 4128 2008 1 +23 3864 2448 1 +24 3848 2336 1 +25 3792 2456 1 +26 4200 1752 1 +27 4344 1728 1 +28 3952 2232 1 +29 3624 1832 1 +30 4232 2064 1 +31 3808 2280 1 +32 3744 2328 1 +33 4352 2072 1 +34 3840 2256 1 +35 3792 1680 1 +36 3648 2240 1 +37 3992 2384 1 +38 4360 1880 1 +39 4304 1688 1 +40 4200 856 1 +41 4152 896 1 +42 3936 1176 1 +43 4200 632 1 +44 3968 848 1 +45 3856 1200 1 +46 3960 936 1 +47 4152 808 1 +48 4112 888 1 +49 3528 952 1 +50 3328 2848 1 +51 3264 3456 1 +52 3752 3192 1 +53 3624 3536 1 +54 3776 2928 1 +55 3512 3192 1 +56 3064 3184 1 +57 3248 2880 1 +58 3432 3224 1 +59 3008 2952 1 +60 1847 3723 2 +61 1801 3651 2 +62 1931 3699 2 +63 1889 3609 2 +64 1877 3625 2 +65 2451 3863 2 +66 2315 3755 2 +67 2343 3713 2 +68 2355 3779 2 +69 2327 3751 2 +70 2061 4247 2 +71 1991 4217 2 +72 2057 4117 2 +73 2103 4245 2 +74 2107 4221 2 +75 2437 3547 2 +76 2417 3587 2 +77 2313 3573 2 +78 2327 3565 2 +79 2383 3561 2 +80 2081 4255 2 +81 2061 4103 2 +82 2005 4139 2 +83 2047 4213 2 +84 2035 4139 2 +85 4467 2007 2 +86 4527 1979 2 +87 4531 1921 2 +88 4525 1949 2 +89 4495 2003 2 +90 4071 2409 2 +91 3971 2405 2 +92 3973 2273 2 +93 4127 2277 2 +94 3969 2331 2 +95 4497 2047 2 +96 4515 1999 2 +97 4563 1965 2 +98 4569 1915 2 +99 4379 1941 2 +100 4449 1821 2 +101 4441 1731 2 +102 4447 1827 2 +103 4383 1839 2 +104 4535 1863 2 +105 4457 1925 2 +106 4481 1879 2 +107 4451 1855 2 +108 4533 1853 2 +109 4371 1853 2 +110 4427 2109 2 +111 4507 2241 2 +112 4513 2253 2 +113 4445 2213 2 +114 4371 2121 2 +115 4101 2467 2 +116 4125 2385 2 +117 4015 2439 2 +118 4145 2515 2 +119 4131 2471 2 +120 4437 1849 2 +121 4349 1877 2 +122 4397 1871 2 +123 4379 1817 2 +124 4449 1713 2 +125 3925 2421 2 +126 3815 2377 2 +127 3877 2335 2 +128 3929 2369 2 +129 4003 2407 2 +130 4545 2047 2 +131 4447 1889 2 +132 4417 2065 2 +133 4497 2025 2 +134 4513 2007 2 +135 4267 1001 2 +136 4223 1083 2 +137 4273 951 2 +138 4233 1003 2 +139 4191 1023 2 +140 4213 897 2 +141 4399 893 2 +142 4259 1037 2 +143 4373 929 2 +144 4221 931 2 +145 4309 817 2 +146 4255 713 2 +147 4257 813 2 +148 4355 701 2 +149 4365 747 2 +150 4007 1325 2 +151 3951 1209 2 +152 4049 1259 2 +153 3979 1247 2 +154 3943 1321 2 +155 4209 975 2 +156 4331 979 2 +157 4279 961 2 +158 4157 983 2 +159 4201 983 2 +160 3233 3359 2 +161 3121 3261 2 +162 3229 3289 2 +163 3229 3221 2 +164 3247 3205 2 +165 3627 3339 2 +166 3541 3271 2 +167 3599 3307 2 +168 3515 3193 2 +169 3677 3327 2 +170 3511 2899 2 +171 3377 3033 2 +172 3381 2861 2 +173 3447 2883 2 +174 3391 2919 2 +175 3189 3299 2 +176 3147 3331 2 +177 3119 3331 2 +178 3083 3267 2 +179 3229 3189 2 +180 3565 3243 2 +181 3583 3279 2 +182 3437 3341 2 +183 3493 3267 2 +184 3471 3339 2 +# +# EDGES +# ===== +# +# From To Delay Band- From To State (1:active, 2:redundant +# Node Node width Type Type 3:internetwork, 4:red.inter.) +# --------------------------------------------------- +# +# WAN 0 +# +0 6 525 10 0 0 1 +0 7 725 10 0 0 1 +0 8 925 10 0 0 2 +1 6 1125 10 0 0 1 +1 5 885 10 0 0 1 +1 52 51 10 0 1 3 +2 4 845 10 0 0 1 +2 3 1045 10 0 0 2 +2 41 51 10 0 1 3 +3 4 725 10 0 0 1 +3 2 1045 10 0 0 2 +4 9 645 10 0 0 1 +4 3 725 10 0 0 1 +4 2 845 10 0 0 1 +4 22 51 10 0 1 4 +4 38 51 10 0 1 4 +4 41 51 10 0 1 4 +5 1 885 10 0 0 1 +5 9 685 10 0 0 1 +5 52 51 10 0 1 4 +6 0 525 10 0 0 1 +6 1 1125 10 0 0 1 +7 0 725 10 0 0 1 +7 8 285 10 0 0 1 +7 18 51 10 0 1 4 +8 7 285 10 0 0 1 +8 0 925 10 0 0 2 +8 16 51 10 0 1 3 +9 5 685 10 0 0 1 +9 4 645 10 0 0 1 +9 22 51 10 0 1 3 +9 30 51 10 0 1 3 +# +# MAN 0 +# +10 14 1620 100 1 1 1 +10 19 1780 100 1 1 1 +10 75 1001 100 1 2 3 +11 12 3540 100 1 1 1 +11 15 1620 100 1 1 1 +11 16 2500 100 1 1 1 +11 60 1001 100 1 2 3 +12 19 2660 100 1 1 1 +12 11 3540 100 1 1 1 +13 14 1300 100 1 1 1 +13 17 4180 100 1 1 2 +14 13 1300 100 1 1 1 +14 10 1620 100 1 1 1 +14 18 2740 100 1 1 1 +14 65 1001 100 1 2 3 +15 11 1620 100 1 1 1 +15 17 4020 100 1 1 1 +15 16 4020 100 1 1 2 +16 11 2500 100 1 1 1 +16 15 4020 100 1 1 2 +16 8 51 10 1 0 3 +17 15 4020 100 1 1 1 +17 13 4180 100 1 1 2 +17 70 1001 100 1 2 3 +17 80 1001 100 1 2 3 +18 14 2740 100 1 1 1 +18 7 51 10 1 0 4 +19 10 1780 100 1 1 1 +19 12 2660 100 1 1 1 +# +# MAN 1 +# +20 28 2820 100 1 1 1 +20 29 2740 100 1 1 1 +21 22 2740 100 1 1 1 +21 27 1860 100 1 1 1 +21 85 1001 100 1 2 3 +21 95 1001 100 1 2 3 +22 28 2900 100 1 1 1 +22 21 2740 100 1 1 1 +22 9 51 10 1 0 3 +22 4 51 10 1 0 4 +23 25 820 100 1 1 1 +23 24 1220 100 1 1 1 +24 23 1220 100 1 1 1 +24 28 1540 100 1 1 1 +25 23 820 100 1 1 1 +26 27 1540 100 1 1 1 +27 21 1860 100 1 1 1 +27 26 1540 100 1 1 1 +27 100 1001 100 1 2 3 +27 105 1001 100 1 2 3 +28 24 1540 100 1 1 1 +28 20 2820 100 1 1 1 +28 22 2900 100 1 1 1 +28 90 1001 100 1 2 3 +29 20 2740 100 1 1 1 +# +# MAN 2 +# +30 33 1300 100 1 1 1 +30 37 4100 100 1 1 1 +30 9 51 10 1 0 3 +31 34 500 100 1 1 1 +31 32 900 100 1 1 1 +31 125 1001 100 1 2 3 +32 31 900 100 1 1 1 +32 36 1380 100 1 1 1 +33 30 1300 100 1 1 1 +33 38 2020 100 1 1 1 +33 110 1001 100 1 2 3 +34 37 2020 100 1 1 1 +34 31 500 100 1 1 1 +35 39 5220 100 1 1 1 +36 32 1380 100 1 1 1 +37 30 4100 100 1 1 1 +37 34 2020 100 1 1 1 +37 115 1001 100 1 2 3 +38 33 2020 100 1 1 1 +38 39 2100 100 1 1 1 +38 4 51 10 1 0 4 +38 130 1001 100 1 2 3 +39 38 2100 100 1 1 1 +39 35 5220 100 1 1 1 +39 120 1001 100 1 2 3 +# +# MAN 3 +# +40 41 660 100 1 1 1 +40 47 740 100 1 1 1 +40 140 1001 100 1 2 3 +41 48 500 100 1 1 1 +41 40 660 100 1 1 1 +41 2 51 10 1 0 3 +41 4 51 10 1 0 4 +41 155 1001 100 1 2 3 +42 45 900 100 1 1 1 +42 46 2500 100 1 1 1 +43 47 1860 100 1 1 1 +43 145 1001 100 1 2 3 +44 46 980 100 1 1 1 +44 48 1540 100 1 1 1 +45 42 900 100 1 1 1 +45 49 4180 100 1 1 1 +45 150 1001 100 1 2 3 +46 42 2500 100 1 1 1 +46 44 980 100 1 1 1 +47 40 740 100 1 1 1 +47 43 1860 100 1 1 1 +48 44 1540 100 1 1 1 +48 41 500 100 1 1 1 +48 135 1001 100 1 2 3 +49 45 4180 100 1 1 1 +# +# MAN 4 +# +50 57 900 100 1 1 1 +50 170 1001 100 1 2 3 +51 58 2900 100 1 1 1 +51 56 3460 100 1 1 1 +52 55 2500 100 1 1 1 +52 54 2740 100 1 1 1 +52 53 3700 100 1 1 1 +52 1 51 10 1 0 3 +52 5 51 10 1 0 4 +53 52 3700 100 1 1 1 +54 52 2740 100 1 1 1 +55 58 900 100 1 1 1 +55 52 2500 100 1 1 1 +55 165 1001 100 1 2 3 +56 51 3460 100 1 1 1 +56 59 2420 100 1 1 1 +56 160 1001 100 1 2 3 +56 175 1001 100 1 2 3 +57 59 2580 100 1 1 1 +57 50 900 100 1 1 1 +58 55 900 100 1 1 1 +58 51 2900 100 1 1 1 +58 180 1001 100 1 2 3 +59 56 2420 100 1 1 1 +59 57 2580 100 1 1 1 +# +# LAN 0 +# +60 61 8550 1000 2 2 1 +61 60 8550 1000 2 2 1 +60 62 8750 1000 2 2 1 +62 60 8750 1000 2 2 1 +60 63 12150 1000 2 2 1 +63 60 12150 1000 2 2 1 +60 64 10350 1000 2 2 1 +64 60 10350 1000 2 2 1 +60 11 1001 100 2 1 3 +11 60 1001 100 1 2 3 +# +# LAN 1 +# +65 66 17350 1000 2 2 1 +66 65 17350 1000 2 2 1 +65 67 18550 1000 2 2 1 +67 65 18550 1000 2 2 1 +65 68 12750 1000 2 2 1 +68 65 12750 1000 2 2 1 +65 69 16750 1000 2 2 1 +69 65 16750 1000 2 2 1 +65 14 1001 100 2 1 3 +14 65 1001 100 1 2 3 +# +# LAN 2 +# +70 71 7750 1000 2 2 1 +71 70 7750 1000 2 2 1 +70 72 13150 1000 2 2 1 +72 70 13150 1000 2 2 1 +70 73 4350 1000 2 2 1 +73 70 4350 1000 2 2 1 +70 74 5350 1000 2 2 1 +74 70 5350 1000 2 2 1 +70 17 1001 100 2 1 3 +17 70 1001 100 1 2 3 +# +# LAN 3 +# +75 76 4550 1000 2 2 1 +76 75 4550 1000 2 2 1 +75 77 12750 1000 2 2 1 +77 75 12750 1000 2 2 1 +75 78 11150 1000 2 2 1 +78 75 11150 1000 2 2 1 +75 79 5550 1000 2 2 1 +79 75 5550 1000 2 2 1 +75 10 1001 100 2 1 3 +10 75 1001 100 1 2 3 +# +# LAN 4 +# +80 81 15350 1000 2 2 1 +81 80 15350 1000 2 2 1 +80 82 13950 1000 2 2 1 +82 80 13950 1000 2 2 1 +80 83 5550 1000 2 2 1 +83 80 5550 1000 2 2 1 +80 84 12550 1000 2 2 1 +84 80 12550 1000 2 2 1 +80 17 1001 100 2 1 3 +17 80 1001 100 1 2 3 +# +# LAN 5 +# +85 86 6750 1000 2 2 1 +86 85 6750 1000 2 2 1 +85 87 10750 1000 2 2 1 +87 85 10750 1000 2 2 1 +85 88 8350 1000 2 2 1 +88 85 8350 1000 2 2 1 +85 89 2950 1000 2 2 1 +89 85 2950 1000 2 2 1 +85 21 1001 100 2 1 3 +21 85 1001 100 1 2 3 +# +# LAN 6 +# +90 91 10150 1000 2 2 1 +91 90 10150 1000 2 2 1 +90 92 16750 1000 2 2 1 +92 90 16750 1000 2 2 1 +90 93 14350 1000 2 2 1 +93 90 14350 1000 2 2 1 +90 94 12950 1000 2 2 1 +94 90 12950 1000 2 2 1 +90 28 1001 100 2 1 3 +28 90 1001 100 1 2 3 +# +# LAN 7 +# +95 96 5150 1000 2 2 1 +96 95 5150 1000 2 2 1 +95 97 10550 1000 2 2 1 +97 95 10550 1000 2 2 1 +95 98 15150 1000 2 2 1 +98 95 15150 1000 2 2 1 +95 99 15950 1000 2 2 1 +99 95 15950 1000 2 2 1 +95 21 1001 100 2 1 3 +21 95 1001 100 1 2 3 +# +# LAN 8 +# +100 101 9150 1000 2 2 1 +101 100 9150 1000 2 2 1 +100 102 750 1000 2 2 1 +102 100 750 1000 2 2 1 +100 103 6950 1000 2 2 1 +103 100 6950 1000 2 2 1 +100 104 9550 1000 2 2 1 +104 100 9550 1000 2 2 1 +100 27 1001 100 2 1 3 +27 100 1001 100 1 2 3 +# +# LAN 9 +# +105 106 5150 1000 2 2 1 +106 105 5150 1000 2 2 1 +105 107 7150 1000 2 2 1 +107 105 7150 1000 2 2 1 +105 108 10550 1000 2 2 1 +108 105 10550 1000 2 2 1 +105 109 11350 1000 2 2 1 +109 105 11350 1000 2 2 1 +105 27 1001 100 2 1 3 +27 105 1001 100 1 2 3 +# +# LAN 10 +# +110 111 15550 1000 2 2 1 +111 110 15550 1000 2 2 1 +110 112 16750 1000 2 2 1 +112 110 16750 1000 2 2 1 +110 113 10550 1000 2 2 1 +113 110 10550 1000 2 2 1 +110 114 5750 1000 2 2 1 +114 110 5750 1000 2 2 1 +110 33 1001 100 2 1 3 +33 110 1001 100 1 2 3 +# +# LAN 11 +# +115 116 8550 1000 2 2 1 +116 115 8550 1000 2 2 1 +115 117 9150 1000 2 2 1 +117 115 9150 1000 2 2 1 +115 118 6550 1000 2 2 1 +118 115 6550 1000 2 2 1 +115 119 3150 1000 2 2 1 +119 115 3150 1000 2 2 1 +115 37 1001 100 2 1 3 +37 115 1001 100 1 2 3 +# +# LAN 12 +# +120 121 9350 1000 2 2 1 +121 120 9350 1000 2 2 1 +120 122 4550 1000 2 2 1 +122 120 4550 1000 2 2 1 +120 123 6750 1000 2 2 1 +123 120 6750 1000 2 2 1 +120 124 13750 1000 2 2 1 +124 120 13750 1000 2 2 1 +120 39 1001 100 2 1 3 +39 120 1001 100 1 2 3 +# +# LAN 13 +# +125 126 11950 1000 2 2 1 +126 125 11950 1000 2 2 1 +125 127 9950 1000 2 2 1 +127 125 9950 1000 2 2 1 +125 128 5350 1000 2 2 1 +128 125 5350 1000 2 2 1 +125 129 7950 1000 2 2 1 +129 125 7950 1000 2 2 1 +125 31 1001 100 2 1 3 +31 125 1001 100 1 2 3 +# +# LAN 14 +# +130 131 18550 1000 2 2 1 +131 130 18550 1000 2 2 1 +130 132 12950 1000 2 2 1 +132 130 12950 1000 2 2 1 +130 133 5350 1000 2 2 1 +133 130 5350 1000 2 2 1 +130 134 5150 1000 2 2 1 +134 130 5150 1000 2 2 1 +130 38 1001 100 2 1 3 +38 130 1001 100 1 2 3 +# +# LAN 15 +# +135 136 9350 1000 2 2 1 +136 135 9350 1000 2 2 1 +135 137 5150 1000 2 2 1 +137 135 5150 1000 2 2 1 +135 138 3550 1000 2 2 1 +138 135 3550 1000 2 2 1 +135 139 7950 1000 2 2 1 +139 135 7950 1000 2 2 1 +135 48 1001 100 2 1 3 +48 135 1001 100 1 2 3 +# +# LAN 16 +# +140 141 18750 1000 2 2 1 +141 140 18750 1000 2 2 1 +140 142 14750 1000 2 2 1 +142 140 14750 1000 2 2 1 +140 143 16350 1000 2 2 1 +143 140 16350 1000 2 2 1 +140 144 3550 1000 2 2 1 +144 140 3550 1000 2 2 1 +140 40 1001 100 2 1 3 +40 140 1001 100 1 2 3 +# +# LAN 17 +# +145 146 11750 1000 2 2 1 +146 145 11750 1000 2 2 1 +145 147 5350 1000 2 2 1 +147 145 5350 1000 2 2 1 +145 148 12550 1000 2 2 1 +148 145 12550 1000 2 2 1 +145 149 8950 1000 2 2 1 +149 145 8950 1000 2 2 1 +145 43 1001 100 2 1 3 +43 145 1001 100 1 2 3 +# +# LAN 18 +# +150 151 12950 1000 2 2 1 +151 150 12950 1000 2 2 1 +150 152 7950 1000 2 2 1 +152 150 7950 1000 2 2 1 +150 153 8350 1000 2 2 1 +153 150 8350 1000 2 2 1 +150 154 6550 1000 2 2 1 +154 150 6550 1000 2 2 1 +150 45 1001 100 2 1 3 +45 150 1001 100 1 2 3 +# +# LAN 19 +# +155 156 12350 1000 2 2 1 +156 155 12350 1000 2 2 1 +155 157 7150 1000 2 2 1 +157 155 7150 1000 2 2 1 +155 158 5350 1000 2 2 1 +158 155 5350 1000 2 2 1 +155 159 1150 1000 2 2 1 +159 155 1150 1000 2 2 1 +155 41 1001 100 2 1 3 +41 155 1001 100 1 2 3 +# +# LAN 20 +# +160 161 14950 1000 2 2 1 +161 160 14950 1000 2 2 1 +160 162 7150 1000 2 2 1 +162 160 7150 1000 2 2 1 +160 163 13950 1000 2 2 1 +163 160 13950 1000 2 2 1 +160 164 15550 1000 2 2 1 +164 160 15550 1000 2 2 1 +160 56 1001 100 2 1 3 +56 160 1001 100 1 2 3 +# +# LAN 21 +# +165 166 10950 1000 2 2 1 +166 165 10950 1000 2 2 1 +165 167 4350 1000 2 2 1 +167 165 4350 1000 2 2 1 +165 168 18550 1000 2 2 1 +168 165 18550 1000 2 2 1 +165 169 5150 1000 2 2 1 +169 165 5150 1000 2 2 1 +165 55 1001 100 2 1 3 +55 165 1001 100 1 2 3 +# +# LAN 22 +# +170 171 18950 1000 2 2 1 +171 170 18950 1000 2 2 1 +170 172 13550 1000 2 2 1 +172 170 13550 1000 2 2 1 +170 173 6550 1000 2 2 1 +173 170 6550 1000 2 2 1 +170 174 12150 1000 2 2 1 +174 170 12150 1000 2 2 1 +170 50 1001 100 2 1 3 +50 170 1001 100 1 2 3 +# +# LAN 23 +# +175 176 5350 1000 2 2 1 +176 175 5350 1000 2 2 1 +175 177 7750 1000 2 2 1 +177 175 7750 1000 2 2 1 +175 178 11150 1000 2 2 1 +178 175 11150 1000 2 2 1 +175 179 11750 1000 2 2 1 +179 175 11750 1000 2 2 1 +175 56 1001 100 2 1 3 +56 175 1001 100 1 2 3 +# +# LAN 24 +# +180 181 4150 1000 2 2 1 +181 180 4150 1000 2 2 1 +180 182 16150 1000 2 2 1 +182 180 16150 1000 2 2 1 +180 183 7550 1000 2 2 1 +183 180 7550 1000 2 2 1 +180 184 13550 1000 2 2 1 +184 180 13550 1000 2 2 1 +180 58 1001 100 2 1 3 +58 180 1001 100 1 2 3 +# End of Model diff --git a/tools/platform_generation/medium.tiers b/tools/platform_generation/medium.tiers new file mode 100644 index 0000000000..92963b5dde --- /dev/null +++ b/tools/platform_generation/medium.tiers @@ -0,0 +1,226 @@ +# +# Parameters for Network Model ModelId: 856566616 +# ============================ +# +# Value Parameter +# ----- --------- +# +# 1 NW: number of WANs +# 2 NM: number of MANs per WAN +# 3 NL: number of LANs per MAN +# 5 SW: number of nodes per WAN +# 5 SM: number of nodes per MAN +# 5 SL: number of nodes per LAN +# 1 RW: intranetwork redundancy for WAN +# 1 RM: intranetwork redundancy for MANs +# 1 RL: intranetwork redundancy for LANs +# 1 RMW: internetwork redundancy for MAN to WAN +# 1 RLM: internetwork redundancy for LAN to MAN +# +# 100 Grid size (square) +# 40 Grid unit for WAN +# 8 Grid unit for MAN +# 2 Grid unit for LAN +# +# 0 Proximity test for WAN (0 is inactive) +# 0 Proximity test for MAN (0 is inactive) +# 0 Proximity test for LAN (0 is inactive) +# +# 0 Edge list is directed (0) or undirected (1) +# Total Number of Nodes (derived) : 45 +# +# Edge Metrics +# ------------ +# +# From To Band- Fixed Delay/Unit +# Type Type width Delay Distance +# ------------------------------------------ +# 0 0 10 5 1 +# 0 1 10 50 1 +# 0 2 0 0 1 +# 1 0 10 50 1 +# 1 1 100 100 10 +# 1 2 100 1000 1 +# 2 0 0 0 1 +# 2 1 100 1000 1 +# 2 2 1000 150 100 +# +# NODES +# ===== +# +# Node X Y Type (0 = WAN, 1 = MAN, 2 = LAN) +# ------------------------------------ +0 440 960 0 +1 760 1480 0 +2 2680 1920 0 +3 2440 1200 0 +4 1000 1280 0 +5 2632 1512 1 +6 2736 1416 1 +7 3072 1232 1 +8 2992 1520 1 +9 2904 1928 1 +10 1016 1552 1 +11 864 1248 1 +12 592 1008 1 +13 1112 928 1 +14 1128 1296 1 +15 3261 1367 2 +16 3095 1305 2 +17 3115 1341 2 +18 3143 1263 2 +19 3115 1325 2 +20 3095 1605 2 +21 2993 1599 2 +22 3013 1669 2 +23 3163 1547 2 +24 3129 1597 2 +25 3177 1389 2 +26 3097 1309 2 +27 3257 1393 2 +28 3129 1321 2 +29 3095 1417 2 +30 661 1015 2 +31 641 1037 2 +32 791 1079 2 +33 605 1181 2 +34 773 1071 2 +35 865 1333 2 +36 901 1367 2 +37 921 1267 2 +38 1045 1409 2 +39 967 1265 2 +40 671 1071 2 +41 731 1171 2 +42 615 1153 2 +43 677 1015 2 +44 599 1031 2 +# +# EDGES +# ===== +# +# From To Delay Band- From To State (1:active, 2:redundant +# Node Node width Type Type 3:internetwork, 4:red.inter.) +# --------------------------------------------------- +# +# WAN 0 +# +0 1 605 10 0 0 1 +0 13 51 10 0 1 3 +1 4 285 10 0 0 1 +1 0 605 10 0 0 1 +2 3 725 10 0 0 1 +3 4 1445 10 0 0 1 +3 2 725 10 0 0 1 +3 8 51 10 0 1 3 +4 1 285 10 0 0 1 +4 3 1445 10 0 0 1 +# +# MAN 0 +# +5 6 1460 100 1 1 1 +6 8 2820 100 1 1 1 +6 5 1460 100 1 1 1 +7 8 3060 100 1 1 1 +7 15 1001 100 1 2 3 +7 25 1001 100 1 2 3 +8 7 3060 100 1 1 1 +8 6 2820 100 1 1 1 +8 9 4260 100 1 1 1 +8 3 51 10 1 0 3 +8 20 1001 100 1 2 3 +9 8 4260 100 1 1 1 +# +# MAN 1 +# +10 14 2820 100 1 1 1 +11 14 2740 100 1 1 1 +11 12 3700 100 1 1 1 +11 35 1001 100 1 2 3 +12 11 3700 100 1 1 1 +12 30 1001 100 1 2 3 +12 40 1001 100 1 2 3 +13 14 3780 100 1 1 1 +13 0 51 10 1 0 3 +14 11 2740 100 1 1 1 +14 10 2820 100 1 1 1 +14 13 3780 100 1 1 1 +# +# LAN 0 +# +15 16 17750 1000 2 2 1 +16 15 17750 1000 2 2 1 +15 17 14950 1000 2 2 1 +17 15 14950 1000 2 2 1 +15 18 15750 1000 2 2 1 +18 15 15750 1000 2 2 1 +15 19 15150 1000 2 2 1 +19 15 15150 1000 2 2 1 +15 7 1001 100 2 1 3 +7 15 1001 100 1 2 3 +# +# LAN 1 +# +20 21 10350 1000 2 2 1 +21 20 10350 1000 2 2 1 +20 22 10550 1000 2 2 1 +22 20 10550 1000 2 2 1 +20 23 8950 1000 2 2 1 +23 20 8950 1000 2 2 1 +20 24 3550 1000 2 2 1 +24 20 3550 1000 2 2 1 +20 8 1001 100 2 1 3 +8 20 1001 100 1 2 3 +# +# LAN 2 +# +25 26 11350 1000 2 2 1 +26 25 11350 1000 2 2 1 +25 27 8150 1000 2 2 1 +27 25 8150 1000 2 2 1 +25 28 8350 1000 2 2 1 +28 25 8350 1000 2 2 1 +25 29 8750 1000 2 2 1 +29 25 8750 1000 2 2 1 +25 7 1001 100 2 1 3 +7 25 1001 100 1 2 3 +# +# LAN 3 +# +30 31 2950 1000 2 2 1 +31 30 2950 1000 2 2 1 +30 32 14550 1000 2 2 1 +32 30 14550 1000 2 2 1 +30 33 17550 1000 2 2 1 +33 30 17550 1000 2 2 1 +30 34 12550 1000 2 2 1 +34 30 12550 1000 2 2 1 +30 12 1001 100 2 1 3 +12 30 1001 100 1 2 3 +# +# LAN 4 +# +35 36 4950 1000 2 2 1 +36 35 4950 1000 2 2 1 +35 37 8750 1000 2 2 1 +37 35 8750 1000 2 2 1 +35 38 19550 1000 2 2 1 +38 35 19550 1000 2 2 1 +35 39 12350 1000 2 2 1 +39 35 12350 1000 2 2 1 +35 11 1001 100 2 1 3 +11 35 1001 100 1 2 3 +# +# LAN 5 +# +40 41 11750 1000 2 2 1 +41 40 11750 1000 2 2 1 +40 42 9950 1000 2 2 1 +42 40 9950 1000 2 2 1 +40 43 5750 1000 2 2 1 +43 40 5750 1000 2 2 1 +40 44 8350 1000 2 2 1 +44 40 8350 1000 2 2 1 +40 12 1001 100 2 1 3 +12 40 1001 100 1 2 3 +# End of Model diff --git a/tools/platform_generation/small.tiers b/tools/platform_generation/small.tiers new file mode 100644 index 0000000000..b8222fabf6 --- /dev/null +++ b/tools/platform_generation/small.tiers @@ -0,0 +1,172 @@ +# +# Parameters for Network Model ModelId: 856566616 +# ============================ +# +# Value Parameter +# ----- --------- +# +# 1 NW: number of WANs +# 2 NM: number of MANs per WAN +# 3 NL: number of LANs per MAN +# 3 SW: number of nodes per WAN +# 3 SM: number of nodes per MAN +# 3 SL: number of nodes per LAN +# 1 RW: intranetwork redundancy for WAN +# 1 RM: intranetwork redundancy for MANs +# 1 RL: intranetwork redundancy for LANs +# 1 RMW: internetwork redundancy for MAN to WAN +# 1 RLM: internetwork redundancy for LAN to MAN +# +# 100 Grid size (square) +# 40 Grid unit for WAN +# 8 Grid unit for MAN +# 2 Grid unit for LAN +# +# 0 Proximity test for WAN (0 is inactive) +# 0 Proximity test for MAN (0 is inactive) +# 0 Proximity test for LAN (0 is inactive) +# +# 0 Edge list is directed (0) or undirected (1) +# Total Number of Nodes (derived) : 27 +# +# Edge Metrics +# ------------ +# +# From To Band- Fixed Delay/Unit +# Type Type width Delay Distance +# ------------------------------------------ +# 0 0 10 5 1 +# 0 1 10 50 1 +# 0 2 0 0 1 +# 1 0 10 50 1 +# 1 1 100 100 10 +# 1 2 100 1000 1 +# 2 0 0 0 1 +# 2 1 100 1000 1 +# 2 2 1000 150 100 +# +# NODES +# ===== +# +# Node X Y Type (0 = WAN, 1 = MAN, 2 = LAN) +# ------------------------------------ +0 920 2320 0 +1 1360 3600 0 +2 360 920 0 +3 792 1552 1 +4 592 1248 1 +5 528 1224 1 +6 488 1568 1 +7 544 1320 1 +8 992 1312 1 +9 791 1259 2 +10 777 1407 2 +11 715 1401 2 +12 963 1577 2 +13 957 1613 2 +14 879 1743 2 +15 709 1305 2 +16 607 1329 2 +17 613 1349 2 +18 663 1707 2 +19 549 1757 2 +20 611 1651 2 +21 681 1667 2 +22 613 1727 2 +23 575 1615 2 +24 689 1505 2 +25 689 1389 2 +26 687 1457 2 +# +# EDGES +# ===== +# +# From To Delay Band- From To State (1:active, 2:redundant +# Node Node width Type Type 3:internetwork, 4:red.inter.) +# --------------------------------------------------- +# +# WAN 0 +# +0 2 1485 10 0 0 1 +0 1 1325 10 0 0 1 +1 0 1325 10 0 0 1 +2 0 1485 10 0 0 1 +2 5 51 10 0 1 3 +2 8 51 10 0 1 3 +# +# MAN 0 +# +3 4 3700 100 1 1 1 +3 12 1001 100 1 2 3 +4 5 740 100 1 1 1 +4 3 3700 100 1 1 1 +4 9 1001 100 1 2 3 +4 15 1001 100 1 2 3 +5 4 740 100 1 1 1 +5 2 51 10 1 0 3 +# +# MAN 1 +# +6 7 2580 100 1 1 1 +6 18 1001 100 1 2 3 +6 21 1001 100 1 2 3 +7 6 2580 100 1 1 1 +7 8 4580 100 1 1 1 +7 24 1001 100 1 2 3 +8 7 4580 100 1 1 1 +8 2 51 10 1 0 3 +# +# LAN 0 +# +9 10 14950 1000 2 2 1 +10 9 14950 1000 2 2 1 +9 11 16150 1000 2 2 1 +11 9 16150 1000 2 2 1 +9 4 1001 100 2 1 3 +4 9 1001 100 1 2 3 +# +# LAN 1 +# +12 13 3750 1000 2 2 1 +13 12 3750 1000 2 2 1 +12 14 18750 1000 2 2 1 +14 12 18750 1000 2 2 1 +12 3 1001 100 2 1 3 +3 12 1001 100 1 2 3 +# +# LAN 2 +# +15 16 10550 1000 2 2 1 +16 15 10550 1000 2 2 1 +15 17 10550 1000 2 2 1 +17 15 10550 1000 2 2 1 +15 4 1001 100 2 1 3 +4 15 1001 100 1 2 3 +# +# LAN 3 +# +18 19 12550 1000 2 2 1 +19 18 12550 1000 2 2 1 +18 20 7750 1000 2 2 1 +20 18 7750 1000 2 2 1 +18 6 1001 100 2 1 3 +6 18 1001 100 1 2 3 +# +# LAN 4 +# +21 22 9150 1000 2 2 1 +22 21 9150 1000 2 2 1 +21 23 11950 1000 2 2 1 +23 21 11950 1000 2 2 1 +21 6 1001 100 2 1 3 +6 21 1001 100 1 2 3 +# +# LAN 5 +# +24 25 11750 1000 2 2 1 +25 24 11750 1000 2 2 1 +24 26 4950 1000 2 2 1 +26 24 4950 1000 2 2 1 +24 7 1001 100 2 1 3 +7 24 1001 100 1 2 3 +# End of Model diff --git a/tools/platform_generation/tiers_simgrid_darina.pl b/tools/platform_generation/tiers_simgrid_darina.pl new file mode 100755 index 0000000000..b083550ff7 --- /dev/null +++ b/tools/platform_generation/tiers_simgrid_darina.pl @@ -0,0 +1,386 @@ +#!/usr/bin/perl -w +use strict; + +use AlvinMisc; +use graph_viz; +use graph_tbx; +use tiers; + +my (%machine); +$machine{"canaria.ens-lyon.fr"}{"CPU_clock"} = "347.669"; +$machine{"canaria.ens-lyon.fr"}{"CPU_Mflops"} = "34.333"; +$machine{"canaria.ens-lyon.fr"}{"CPU_model"} = "Pentium II (Deschutes)"; +$machine{"canaria.ens-lyon.fr"}{"CPU_num"} = "2"; +$machine{"canaria.ens-lyon.fr"}{"Machine_type"} = "i686"; +$machine{"canaria.ens-lyon.fr"}{"OS_version"} = "Linux 2.2.19pre17"; + +$machine{"moby.ens-lyon.fr"}{"CPU_clock"} = "996.698"; +$machine{"moby.ens-lyon.fr"}{"CPU_Mflops"} = "114.444"; +$machine{"moby.ens-lyon.fr"}{"CPU_model"} = "Intel(R) Pentium(R) III Mobile CPU 1000MHz"; +$machine{"moby.ens-lyon.fr"}{"CPU_num"} = "1"; +$machine{"moby.ens-lyon.fr"}{"Machine_type"} = "i686"; +$machine{"moby.ens-lyon.fr"}{"OS_version"} = "Linux 2.4.18-accelerated"; + +$machine{"popc0.ens-lyon.fr"}{"CPU_clock"} = "199.095"; +$machine{"popc0.ens-lyon.fr"}{"CPU_Mflops"} = "22.151"; +$machine{"popc0.ens-lyon.fr"}{"CPU_model"} = "Pentium Pro"; +$machine{"popc0.ens-lyon.fr"}{"CPU_num"} = "1"; +$machine{"popc0.ens-lyon.fr"}{"Machine_type"} = "i686"; +$machine{"popc0.ens-lyon.fr"}{"OS_version"} = "Linux 2.2.19"; + +$machine{"sci0.ens-lyon.fr"}{"CPU_clock"} = "451.032446"; +$machine{"sci0.ens-lyon.fr"}{"CPU_Mflops"} = "48.492"; +$machine{"sci0.ens-lyon.fr"}{"CPU_model"} = "Pentium II (Deschutes)"; +$machine{"sci0.ens-lyon.fr"}{"CPU_num"} = "2"; +$machine{"sci0.ens-lyon.fr"}{"Machine_type"} = "i686"; +$machine{"sci0.ens-lyon.fr"}{"OS_version"} = "Linux 2.2.13"; + +$machine{"lancelot.u-strasbg.fr"}{"OS_version"} = "Linux 2.2.17-21mdk"; +$machine{"lancelot.u-strasbg.fr"}{"CPU_clock"} = "400.916"; +$machine{"lancelot.u-strasbg.fr"}{"CPU_model"} = "Celeron (Mendocino)"; +$machine{"lancelot.u-strasbg.fr"}{"CPU_Mflops"} = "42.917000000000002"; +$machine{"lancelot.u-strasbg.fr"}{"Machine_type"} = "i686"; +$machine{"lancelot.u-strasbg.fr"}{"CPU_num"} = "1"; + +$machine{"caseb.u-strasbg.fr"}{"OS_version"} = "Linux 2.4.8-26mdk"; +$machine{"caseb.u-strasbg.fr"}{"CPU_clock"} = "1399.763"; +$machine{"caseb.u-strasbg.fr"}{"CPU_model"} = "AMD Athlon(tm) 4 Processor"; +$machine{"caseb.u-strasbg.fr"}{"CPU_Mflops"} = "137.333"; +$machine{"caseb.u-strasbg.fr"}{"Machine_type"} = "i686"; +$machine{"caseb.u-strasbg.fr"}{"CPU_num"} = "1"; + +$machine{"pellinore.u-strasbg.fr"}{"OS_version"} = "Linux 2.4.18-6mdksmp"; +$machine{"pellinore.u-strasbg.fr"}{"CPU_clock"} = "802.922"; +$machine{"pellinore.u-strasbg.fr"}{"CPU_model"} = "Pentium III (Coppermine)"; +$machine{"pellinore.u-strasbg.fr"}{"CPU_Mflops"} = "68.667000000000002"; +$machine{"pellinore.u-strasbg.fr"}{"Machine_type"} = "i686"; +$machine{"pellinore.u-strasbg.fr"}{"CPU_num"} = "2"; + +$machine{"dinadan.u-strasbg.fr"}{"OS_version"} = "Linux 2.4.19-686"; +$machine{"dinadan.u-strasbg.fr"}{"CPU_clock"} = "933.375"; +$machine{"dinadan.u-strasbg.fr"}{"CPU_model"} = "Pentium III (Coppermine)"; +$machine{"dinadan.u-strasbg.fr"}{"CPU_Mflops"} = "85.832999999999998"; +$machine{"dinadan.u-strasbg.fr"}{"Machine_type"} = "i686"; +$machine{"dinadan.u-strasbg.fr"}{"CPU_num"} = "1"; + +$machine{"darjeeling.u-strasbg.fr"}{"OS_version"} = "Linux 2.4.18-5"; +$machine{"darjeeling.u-strasbg.fr"}{"CPU_clock"} = "1793.371"; +$machine{"darjeeling.u-strasbg.fr"}{"CPU_model"} = "Intel(R) Pentium(R) 4 CPU 1.80GHz"; +$machine{"darjeeling.u-strasbg.fr"}{"CPU_Mflops"} = "98.094999999999999"; +$machine{"darjeeling.u-strasbg.fr"}{"Machine_type"} = "i686"; +$machine{"darjeeling.u-strasbg.fr"}{"CPU_num"} = "1"; + +$machine{"gauvain.u-strasbg.fr"}{"OS_version"} = "Linux 2.4.17"; +$machine{"gauvain.u-strasbg.fr"}{"CPU_clock"} = "1050.034"; +$machine{"gauvain.u-strasbg.fr"}{"CPU_model"} = "AMD Athlon(tm) Processor"; +$machine{"gauvain.u-strasbg.fr"}{"CPU_Mflops"} = "114.444"; +$machine{"gauvain.u-strasbg.fr"}{"Machine_type"} = "i686"; +$machine{"gauvain.u-strasbg.fr"}{"CPU_num"} = "1"; + +$machine{"sekhmet.u-strasbg.fr"}{"OS_version"} = "Linux 2.4.18-k7"; +$machine{"sekhmet.u-strasbg.fr"}{"CPU_clock"} = "1399.803"; +$machine{"sekhmet.u-strasbg.fr"}{"CPU_model"} = "AMD Athlon(tm) 4 Processor"; +$machine{"sekhmet.u-strasbg.fr"}{"CPU_Mflops"} = "171.667"; +$machine{"sekhmet.u-strasbg.fr"}{"Machine_type"} = "i686"; +$machine{"sekhmet.u-strasbg.fr"}{"CPU_num"} = "1"; + +$machine{"shaitan.u-strasbg.fr"}{"OS_version"} = "Linux 2.4.18-6mdk"; +$machine{"shaitan.u-strasbg.fr"}{"CPU_clock"} = "800.030"; +$machine{"shaitan.u-strasbg.fr"}{"CPU_model"} = "Pentium III (Coppermine)"; +$machine{"shaitan.u-strasbg.fr"}{"CPU_Mflops"} = "76.296000000000006"; +$machine{"shaitan.u-strasbg.fr"}{"Machine_type"} = "i686"; +$machine{"shaitan.u-strasbg.fr"}{"CPU_num"} = "1"; + +my (%network); +#0.587500,0.655,0.681 + +$network{"bw"}{10} = [ [274285,0.514433], [330233,0.059904], + [949460,0.136931], [1063823,0.131098], + [2041829,7.413073] ]; + +$network{"bw"}{100} = [ [64121,35.076518], [65264,0.270544], + [67418,0.156056], [80797,0.479780], [82517,6.932556], + [92951,0.189980], [94763,0.370788], + [123015,35.083019], [171318,295.890617], + [223570,0.278066], [274285,0.514433], + [330233,0.059904] ]; + +$network{"bw"}{1000} = [ [937,53.930106], [2013,4.455826], + [2022,5.704550], [2025,5.652577], [2073,4.460898], + [2179,5.922616], [2195,4.669142], [2321,4.522355], + [2327,4.477270], [2427,4.062241], [2539,4.583831], + [3777,5.161451], [4448,3.101854], [4629,5.473705], + [4840,87.981858], [5773,0.006406], [6150,8.762440], + [7413,0.601375], [7837,0.424305], [7867,2.885584], + [7924,1.742977], [8394,9.647856], [9015,0.287840], + [9612,0.468130], [9842,1.502106], [10069,1.340162], + [10255,6.104672], [10609,1.402769], [11014,0.449267], + [11724,0.863872], [11741,0.869727], [11753,1.114548], + [12100,1.200141], [12122,0.844683], [12513,0.788956], + [13022,0.278175], [14341,7.877863], [14864,0.820952], + [15084,0.950938], [15111,1.081287], [15141,0.162735], + [15449,0.951830], [15797,0.380044], [15868,0.848211], + [17433,0.320114], [17819,0.907120], [17906,1.043314], + [18382,1.087968], [18788,0.259761], [18944,9.547561], + [20667,0.410463], [20864,0.637001], [22546,0.247605], + [24227,0.677908], [24547,0.040300], [25404,0.472524], + [26205,0.658142], [26382,0.595883], [26970,0.666676], + [27441,0.536941], [28416,3.870785], [29714,3.866813], + [31020,0.863123], [31452,1.913591], [31964,0.678645], + [33067,9.693542], [33378,0.728103], [34162,0.672289], + [34363,0.539000], [35178,0.677601], [35333,0.019773], + [35689,0.106949], [35881,0.126045], [37202,0.705967], + [37438,0.848712], [38536,0.117352], [38723,0.751810], + [39826,7.164412], [41518,0.630529], [41827,0.039417], + [42392,0.520693], [43729,0.272268], [44597,0.227430], + [45776,0.789218], [46068,4.760145], [46531,0.164758], + [52408,0.522878], [54216,0.533340], [57678,1.461517], + [60272,0.125428] ]; + +sub assign_host_speed{ + my($nodes,$edges) = @_; + + my($u); + + my(@label_list) = keys %machine; + foreach $u (keys %$nodes) { + my($mach_type_nb) = scalar(@label_list); + my($mach_type) = int rand($mach_type_nb); + $$nodes{$u}{Mflops} = $machine{$label_list[$mach_type]}{CPU_Mflops}; + } +} + +sub assign_host_names{ + my($nodes,$edges) = @_; + + my(@name_list) = qw(Abbott Adoncourt Aikin Alain Alfred Amadeus + Angie Anjou Anne_Marie Apple April Archibald + Aubertin Auclair Audy AutoCAD Barry BASIC + Beaudoin Beaulac Bellemarre Bellevue + Bell_Northern Benoit Bentz Bernard Bescherelle + Blais Boily Boivin Borduas Boston Boucherville + Bourassa Bousquet Boyer Brian Brosseau Brown + Browne Cadieux Cambridge Canada Carole + Casavant Chambly Charles Charron Christian + Claude Cloutier Colin Comeau Corp Coulombe + Cousineau Croteau Daniel Decelles Denis Denise + Desjardins Dick Dionne Disney Dodge Domey + Dominique Doris Dorval Doyon Drouin Dumoulin + EDF Emacs Ethernet Europe Fafard Fernand + Fernet Flamand Florient Foisy Forget Fourier + FrameMaker France Francine Frank Fraser + Freedman Gagnon Gaston Gatien Gaudreault + Gauthier Gavrel Gendron Gentilly Geoff + Geoffray George Georges Gilles Ginette Girard + Goodwin Gordon Gosselin Gratton Greg Gregory + Guy Harry Harwell Hayward Hollerbach Horne + Houde Hubert Hz Inc Inmos Intel Interleaf + Internet iRMX iRMXII iRMXIII Isabelle ISPELL + Jackson Jacobsen Jacquelin Jacques + Jacques_Cartier Jamie Jean Jean_Claude + Jean_Louis Jean_Maurice Jeannine Jean_Paul + Jean_Pierre Jean_Yves Jill Jobin Jocelyne John + Jones Joynes Jude Julian Julien Juneau Jupiter + Kansas Kent Khan King Kuenning kV Lachapelle + Laflamme Lafontaine Lamothe Lapointe Laroche + LaSalle LaTeX Laugier Laurendeau Laval Lavoie + Leblanc Lecavalier Leclerc Lepage Lessard + Letarte Linda LISP Longueuil Louis Louise + Louis_Marc Ltd Lucie Mahoney Maltais Manseau + Marc Marcel Marcoux Marie Marielle Mark + Marseille Martin Masson Mathematica Matlab + McGee McGill Messier METAFONT Michel Mike + Minneapolis Mireille Mongenot Monique + Mont_Tremblant Morin Morissette Moshe Mulhouse + mW Nagle Nelligan Nestor Nicole OHara Olivier + Ontario Ottawa Ouellet Owen Ozias Papineau + Paul Pellan Pelletier PERL Phaneuf Phil Pierre + Pierrefonds Plante Pointe_Claire PostScript + Poussart Pronovost Provost Raymond Re README + Renato Ricard Richard Ringuet Riopelle Rioux + Roberge Robert Rochefort Roger Romano Ronald + Roy Rubin Sacramento Saint_Amand Sainte_Foy + Sainte_Julie Saint_Marc_sur_Richelieu Seattle + Shawinigan Sherbrooke Sirois Smith Sorel Soucy + SPARC SPARCs SPICE St_Antoine St_Bruno + Ste_Anne Steele Ste_Julie Stephen St_Jacques + St_Jean St_Paul Strasbourg Sun SunOS Suzanne + Tanguay Tessier TeX Texas Thibault Thierry + Todd Tokyo Toronto Toulouse Tremblay Turcotte + Uintas UniPress Unix UNIX Utah Vancouver + Varennes Verville Victoria Victoriaville Viger + Vincent VxWorks Wilfrid William Williams + Wright Yolande Yvan Yves Zawinski); + + AlvinMisc::melange(\@name_list); + + my($u); + foreach $u (keys %$nodes) { + if($$nodes{$u}{host}==1) { + $$nodes{$u}{name} = shift @name_list; + } + } +} + +sub assign_link_speed{ + my($nodes,$edges) = @_; + + my($e); + + foreach $e (keys %$edges) { + my($bw) = $$edges{$e}{bw}; + + my(@choice) = @{$network{"bw"}{$bw}}; + my($choice_nb) = scalar(@choice); + my($chosen_link) = $choice[(int rand($choice_nb))]; + $$edges{$e}{bw} = $$chosen_link[0]/8000; + $$edges{$e}{delay} = $$chosen_link[1]; + } +} + + +sub affiche_graph{ + my($nodes,$edges,$filename) = @_; + my($u,$v,$w,$e); + + my(%node_to_export); + my(%edge_to_export); + + my(@host_list,@routeur_list,@link_list); + + foreach $u (keys %{$nodes}) { + if (!((defined($$nodes{$u}{host}))&&($$nodes{$u}{host}==1))) { next; } + if (!((defined($$nodes{$u}{Mflops}))&&($$nodes{$u}{host}==1))) { + die "Lacking Mflops for $u\n"; + } + push @host_list,$u; + $node_to_export{$u}=$#host_list; + } + + foreach $u (@host_list){ + foreach $v (@host_list){ + if($u ne $v) { + $w = $u; + if(!defined($node_to_export{$w})) { + push @routeur_list,$w; + $node_to_export{$w}=$#host_list + $#routeur_list + 1; + } + while ($w ne $v) { + my($next) = $$nodes{$w}{shortest_route}{$v}; + my($e) = $$nodes{$w}{out}{$next}; + if(!defined($edge_to_export{$e})) { + push @link_list,$e; + $edge_to_export{$e}=$#link_list; + } + $w = $next; + if(!defined($node_to_export{$w})) { + push @routeur_list,$w; + $node_to_export{$w}=$#host_list + $#routeur_list + 1; + } + } + } + } + } + + open VIZ, "> $filename.dot"; + print VIZ "graph essai { \n"; + print VIZ " graph [overlap=scale]\n"; + #print VIZ " graph [overlap=false spline=true]\n"; + print VIZ " node [shape=box, style=filled]\n"; + print VIZ " node [width=.3, height=.3, style=filled]\n"; + + foreach $u (@host_list) { + print VIZ " \"$u\" [label=\"$$nodes{$u}{name}\",color=red,shape=box];\n"; + } + foreach $u (@routeur_list) { + print VIZ " \"$u\" [label=\"$$nodes{$u}{name}\",fontsize=2,color=skyblue,shape=circle];\n"; + } + foreach $e (@link_list) { + my($src)=$$edges{$e}{src}; + my($dst)=$$edges{$e}{dst}; + (defined($$edges{$e}{bw})) or die "Lacking bw for $u\n"; + (defined($$edges{$e}{delay})) or die "Lacking bw for $u\n"; + print VIZ " \"$src\" -- \"$dst\";\n"; + } + + print VIZ "}\n"; + close VIZ; + + system("neato -Tps $filename.dot > $filename.ps"); +# system("gv $filename.ps"); + system("pstoedit -f fig $filename.ps $filename.fig 2>/dev/null"); +# system("xfig -startg 0 $filename.fig "); +} + +sub graphxml_export { + my($nodes,$edges,$filename) = @_; + my($u,$v,$w,$e); + my(@host_list)=(); + + open OUTPUT, "> $filename"; + + print OUTPUT "\n"; + print OUTPUT "\n"; + print OUTPUT "\n"; + + foreach $u (keys %{$nodes}) { + if (!((defined($$nodes{$u}{host}))&&($$nodes{$u}{host}==1))) { next; } + if (!((defined($$nodes{$u}{Mflops}))&&($$nodes{$u}{host}==1))) { + die "Lacking Mflops for $u\n"; + } + print OUTPUT " \n"; + push @host_list,$u; + } + print OUTPUT "\n"; + close(OUTPUT); +} + +sub get_layout{ + my($nodes,$edges,$filename) = @_; + + system("neato -Tfig $filename.dot > $filename.fig"); + + my($u); + foreach $u (sort (keys %$nodes)){ + if (((defined($$nodes{$u}{Mflops}))&&($$nodes{$u}{host}==1))) { + my($val_u) = `grep ' $$nodes{$u}{name}\\\\001' $filename.fig`; + if(defined($val_u)) { + my(@tab) = split(/\s+/,$val_u); + my($x1) = $tab[11]; + my($y1) = $tab[12]; + $$nodes{$u}{X}=$x1; + $$nodes{$u}{Y}=$y1; + } + } + } +} + +sub main { + my($nodes,$edges,$interferences,$host_list,$count_interferences); + + $#ARGV>=0 or die "Need a tiers file!"; + my($filename)=$ARGV[0]; + $filename =~ s/\.[^\.]*$//g; + if(1) { + print STDERR "Reading graph\n"; + ($nodes,$edges) = parse_tiers_file $ARGV[0]; + + print STDERR "Generating host list\n"; + $host_list = generate_host_list($nodes,$edges,.7); + assign_host_speed($nodes,$edges); + assign_link_speed($nodes,$edges); + assign_host_names($nodes,$edges); + print STDERR "Computing Shortest Paths \n"; + shortest_paths($nodes,$edges); + print STDERR "Exporting to surfxml\n"; + G_surfxml_export($nodes,$edges,"$filename.xml"); + print STDERR "Calling graphviz\n"; + affiche_graph($nodes,$edges,"$filename"); + print STDERR "Getting layout\n"; + get_layout($nodes,$edges,"$filename"); + print STDERR "Exporting layout to graphxml\n"; + graphxml_export($nodes,$edges,"$filename.graphxml"); + } +} + +main; -- 2.20.1