Scheduler-test: investigate extended loads with different patterns
The behaviour seems consistent and the schedule breaks at the expected point. At first sight, concurrency seems slightly to low; detailed investigation however shows that this is due to the structure of the load graph, and in fact the run time comes close to optimal values.
This commit is contained in:
parent
c934e7f079
commit
177e241060
8 changed files with 1652 additions and 20 deletions
522
doc/devel/dump/2024-04-08.Scheduler-LoadTest/Topo-21.dot
Normal file
522
doc/devel/dump/2024-04-08.Scheduler-LoadTest/Topo-21.dot
Normal file
|
|
@ -0,0 +1,522 @@
|
|||
digraph {
|
||||
// Nodes
|
||||
N0[label="0: 3C", shape=doublecircle ]
|
||||
N1[label="1: 3C", shape=circle ]
|
||||
N2[label="2: 96" ]
|
||||
N3[label="3: 3C", shape=circle ]
|
||||
N4[label="4: 96" ]
|
||||
N5[label="5: 0F" ]
|
||||
N6[label="6: 3C", shape=circle ]
|
||||
N7[label="7: 96" ]
|
||||
N8[label="8: 0F" ]
|
||||
N9[label="9: 48", shape=box, style=rounded ]
|
||||
N10[label="10: 3C", shape=circle ]
|
||||
N11[label="11: 96" ]
|
||||
N12[label="12: 0F" ]
|
||||
N13[label="13: 48", shape=box, style=rounded ]
|
||||
N14[label="14: 3C", shape=circle ]
|
||||
N15[label="15: 96" ]
|
||||
N16[label="16: 0F" ]
|
||||
N17[label="17: 48", shape=box, style=rounded ]
|
||||
N18[label="18: 3C", shape=circle ]
|
||||
N19[label="19: 96" ]
|
||||
N20[label="20: 0F" ]
|
||||
N21[label="21: 48", shape=box, style=rounded ]
|
||||
N22[label="22: 3C", shape=circle ]
|
||||
N23[label="23: 96" ]
|
||||
N24[label="24: 0F" ]
|
||||
N25[label="25: 48", shape=box, style=rounded ]
|
||||
N26[label="26: 3C", shape=circle ]
|
||||
N27[label="27: 96" ]
|
||||
N28[label="28: 0F" ]
|
||||
N29[label="29: 48", shape=box, style=rounded ]
|
||||
N30[label="30: 3C", shape=circle ]
|
||||
N31[label="31: 96" ]
|
||||
N32[label="32: 0F" ]
|
||||
N33[label="33: 48", shape=box, style=rounded ]
|
||||
N34[label="34: 3C", shape=circle ]
|
||||
N35[label="35: 96" ]
|
||||
N36[label="36: 0F" ]
|
||||
N37[label="37: 48", shape=box, style=rounded ]
|
||||
N38[label="38: 3C", shape=circle ]
|
||||
N39[label="39: 96" ]
|
||||
N40[label="40: 0F" ]
|
||||
N41[label="41: 48", shape=box, style=rounded ]
|
||||
N42[label="42: 3C", shape=circle ]
|
||||
N43[label="43: 96" ]
|
||||
N44[label="44: 0F" ]
|
||||
N45[label="45: 48", shape=box, style=rounded ]
|
||||
N46[label="46: 3C", shape=circle ]
|
||||
N47[label="47: 96" ]
|
||||
N48[label="48: 0F" ]
|
||||
N49[label="49: 48", shape=box, style=rounded ]
|
||||
N50[label="50: 3C", shape=circle ]
|
||||
N51[label="51: 96" ]
|
||||
N52[label="52: 0F" ]
|
||||
N53[label="53: 48", shape=box, style=rounded ]
|
||||
N54[label="54: 3C", shape=circle ]
|
||||
N55[label="55: 96" ]
|
||||
N56[label="56: 0F" ]
|
||||
N57[label="57: 48", shape=box, style=rounded ]
|
||||
N58[label="58: 3C", shape=circle ]
|
||||
N59[label="59: 96" ]
|
||||
N60[label="60: 0F" ]
|
||||
N61[label="61: 48", shape=box, style=rounded ]
|
||||
N62[label="62: 3C", shape=circle ]
|
||||
N63[label="63: 96" ]
|
||||
N64[label="64: 0F" ]
|
||||
N65[label="65: 48", shape=box, style=rounded ]
|
||||
N66[label="66: 3C", shape=circle ]
|
||||
N67[label="67: 96" ]
|
||||
N68[label="68: 0F" ]
|
||||
N69[label="69: 48", shape=box, style=rounded ]
|
||||
N70[label="70: 3C", shape=circle ]
|
||||
N71[label="71: 96" ]
|
||||
N72[label="72: 0F" ]
|
||||
N73[label="73: 48", shape=box, style=rounded ]
|
||||
N74[label="74: 3C", shape=circle ]
|
||||
N75[label="75: 96" ]
|
||||
N76[label="76: 0F" ]
|
||||
N77[label="77: 48", shape=box, style=rounded ]
|
||||
N78[label="78: 3C", shape=circle ]
|
||||
N79[label="79: 96" ]
|
||||
N80[label="80: 0F" ]
|
||||
N81[label="81: 48", shape=box, style=rounded ]
|
||||
N82[label="82: 3C", shape=circle ]
|
||||
N83[label="83: 96" ]
|
||||
N84[label="84: 0F" ]
|
||||
N85[label="85: 48", shape=box, style=rounded ]
|
||||
N86[label="86: 3C", shape=circle ]
|
||||
N87[label="87: 96" ]
|
||||
N88[label="88: 0F" ]
|
||||
N89[label="89: 48", shape=box, style=rounded ]
|
||||
N90[label="90: 3C", shape=circle ]
|
||||
N91[label="91: 96" ]
|
||||
N92[label="92: 0F" ]
|
||||
N93[label="93: 48", shape=box, style=rounded ]
|
||||
N94[label="94: 3C", shape=circle ]
|
||||
N95[label="95: 96" ]
|
||||
N96[label="96: 0F" ]
|
||||
N97[label="97: 48", shape=box, style=rounded ]
|
||||
N98[label="98: 3C", shape=circle ]
|
||||
N99[label="99: 96" ]
|
||||
N100[label="100: 0F" ]
|
||||
N101[label="101: 48", shape=box, style=rounded ]
|
||||
N102[label="102: 3C", shape=circle ]
|
||||
N103[label="103: 96" ]
|
||||
N104[label="104: 0F" ]
|
||||
N105[label="105: 48", shape=box, style=rounded ]
|
||||
N106[label="106: 3C", shape=circle ]
|
||||
N107[label="107: 96" ]
|
||||
N108[label="108: 0F" ]
|
||||
N109[label="109: 48", shape=box, style=rounded ]
|
||||
N110[label="110: 3C", shape=circle ]
|
||||
N111[label="111: 96" ]
|
||||
N112[label="112: 0F" ]
|
||||
N113[label="113: 48", shape=box, style=rounded ]
|
||||
N114[label="114: 3C", shape=circle ]
|
||||
N115[label="115: 96" ]
|
||||
N116[label="116: 0F" ]
|
||||
N117[label="117: 48", shape=box, style=rounded ]
|
||||
N118[label="118: 3C", shape=circle ]
|
||||
N119[label="119: 96" ]
|
||||
N120[label="120: 0F" ]
|
||||
N121[label="121: 48", shape=box, style=rounded ]
|
||||
N122[label="122: 3C", shape=circle ]
|
||||
N123[label="123: 96" ]
|
||||
N124[label="124: 0F" ]
|
||||
N125[label="125: 48", shape=box, style=rounded ]
|
||||
N126[label="126: 3C", shape=circle ]
|
||||
N127[label="127: 96" ]
|
||||
N128[label="128: 0F" ]
|
||||
N129[label="129: 48", shape=box, style=rounded ]
|
||||
N130[label="130: 3C", shape=circle ]
|
||||
N131[label="131: 96" ]
|
||||
N132[label="132: 0F" ]
|
||||
N133[label="133: 48", shape=box, style=rounded ]
|
||||
N134[label="134: 3C", shape=circle ]
|
||||
N135[label="135: 96" ]
|
||||
N136[label="136: 0F" ]
|
||||
N137[label="137: 48", shape=box, style=rounded ]
|
||||
N138[label="138: 3C", shape=circle ]
|
||||
N139[label="139: 96" ]
|
||||
N140[label="140: 0F" ]
|
||||
N141[label="141: 48", shape=box, style=rounded ]
|
||||
N142[label="142: 3C", shape=circle ]
|
||||
N143[label="143: 96" ]
|
||||
N144[label="144: 0F" ]
|
||||
N145[label="145: 48", shape=box, style=rounded ]
|
||||
N146[label="146: 3C", shape=circle ]
|
||||
N147[label="147: 96" ]
|
||||
N148[label="148: 0F" ]
|
||||
N149[label="149: 48", shape=box, style=rounded ]
|
||||
N150[label="150: 3C", shape=circle ]
|
||||
N151[label="151: 96" ]
|
||||
N152[label="152: 0F" ]
|
||||
N153[label="153: 48", shape=box, style=rounded ]
|
||||
N154[label="154: 3C", shape=circle ]
|
||||
N155[label="155: 96" ]
|
||||
N156[label="156: 0F" ]
|
||||
N157[label="157: 48", shape=box, style=rounded ]
|
||||
N158[label="158: 3C", shape=circle ]
|
||||
N159[label="159: 96" ]
|
||||
N160[label="160: 0F" ]
|
||||
N161[label="161: 48", shape=box, style=rounded ]
|
||||
N162[label="162: 3C", shape=circle ]
|
||||
N163[label="163: 96" ]
|
||||
N164[label="164: 0F" ]
|
||||
N165[label="165: 48", shape=box, style=rounded ]
|
||||
N166[label="166: 3C", shape=circle ]
|
||||
N167[label="167: 96" ]
|
||||
N168[label="168: 0F" ]
|
||||
N169[label="169: 48", shape=box, style=rounded ]
|
||||
N170[label="170: 3C", shape=circle ]
|
||||
N171[label="171: 96" ]
|
||||
N172[label="172: 0F" ]
|
||||
N173[label="173: 48", shape=box, style=rounded ]
|
||||
N174[label="174: 3C", shape=circle ]
|
||||
N175[label="175: 96" ]
|
||||
N176[label="176: 0F" ]
|
||||
N177[label="177: 48", shape=box, style=rounded ]
|
||||
N178[label="178: 3C", shape=circle ]
|
||||
N179[label="179: 96" ]
|
||||
N180[label="180: 0F" ]
|
||||
N181[label="181: 48", shape=box, style=rounded ]
|
||||
N182[label="182: 3C", shape=circle ]
|
||||
N183[label="183: 96" ]
|
||||
N184[label="184: 0F" ]
|
||||
N185[label="185: 48", shape=box, style=rounded ]
|
||||
N186[label="186: 3C", shape=circle ]
|
||||
N187[label="187: 96" ]
|
||||
N188[label="188: 0F" ]
|
||||
N189[label="189: 48", shape=box, style=rounded ]
|
||||
N190[label="190: 3C", shape=circle ]
|
||||
N191[label="191: 96" ]
|
||||
N192[label="192: 0F" ]
|
||||
N193[label="193: 48", shape=box, style=rounded ]
|
||||
N194[label="194: 3C", shape=circle ]
|
||||
N195[label="195: 96" ]
|
||||
N196[label="196: 0F" ]
|
||||
N197[label="197: 48", shape=box, style=rounded ]
|
||||
N198[label="198: 3C", shape=circle ]
|
||||
N199[label="199: 96" ]
|
||||
N200[label="200: 0F" ]
|
||||
N201[label="201: 48", shape=box, style=rounded ]
|
||||
N202[label="202: 3C", shape=circle ]
|
||||
N203[label="203: 96" ]
|
||||
N204[label="204: 0F" ]
|
||||
N205[label="205: 48", shape=box, style=rounded ]
|
||||
N206[label="206: 3C", shape=circle ]
|
||||
N207[label="207: 96" ]
|
||||
N208[label="208: 0F" ]
|
||||
N209[label="209: 48", shape=box, style=rounded ]
|
||||
N210[label="210: 3C", shape=circle ]
|
||||
N211[label="211: 96" ]
|
||||
N212[label="212: 0F" ]
|
||||
N213[label="213: 48", shape=box, style=rounded ]
|
||||
N214[label="214: 3C", shape=circle ]
|
||||
N215[label="215: 96" ]
|
||||
N216[label="216: 0F" ]
|
||||
N217[label="217: 48", shape=box, style=rounded ]
|
||||
N218[label="218: 3C", shape=circle ]
|
||||
N219[label="219: 96" ]
|
||||
N220[label="220: 0F" ]
|
||||
N221[label="221: 48", shape=box, style=rounded ]
|
||||
N222[label="222: 3C", shape=circle ]
|
||||
N223[label="223: 96" ]
|
||||
N224[label="224: 0F" ]
|
||||
N225[label="225: 48", shape=box, style=rounded ]
|
||||
N226[label="226: 3C", shape=circle ]
|
||||
N227[label="227: 96" ]
|
||||
N228[label="228: 0F" ]
|
||||
N229[label="229: 48", shape=box, style=rounded ]
|
||||
N230[label="230: 3C", shape=circle ]
|
||||
N231[label="231: 96" ]
|
||||
N232[label="232: 0F" ]
|
||||
N233[label="233: 48", shape=box, style=rounded ]
|
||||
N234[label="234: 3C", shape=circle ]
|
||||
N235[label="235: 96" ]
|
||||
N236[label="236: 0F" ]
|
||||
N237[label="237: 48", shape=box, style=rounded ]
|
||||
N238[label="238: 3C", shape=circle ]
|
||||
N239[label="239: 96" ]
|
||||
N240[label="240: 0F" ]
|
||||
N241[label="241: 48", shape=box, style=rounded ]
|
||||
N242[label="242: 3C", shape=circle ]
|
||||
N243[label="243: 96" ]
|
||||
N244[label="244: 0F" ]
|
||||
N245[label="245: 48", shape=box, style=rounded ]
|
||||
N246[label="246: 3C", shape=circle ]
|
||||
N247[label="247: 96" ]
|
||||
N248[label="248: 0F" ]
|
||||
N249[label="249: 48", shape=box, style=rounded ]
|
||||
N250[label="250: 3C", shape=circle ]
|
||||
N251[label="251: 96" ]
|
||||
N252[label="252: 0F" ]
|
||||
N253[label="253: 48", shape=box, style=rounded ]
|
||||
N254[label="254: 3C", shape=circle ]
|
||||
N255[label="255: 1D", shape=box, style=rounded ]
|
||||
|
||||
// Layers
|
||||
{ /*0*/ rank=min N0 }
|
||||
{ /*1*/ rank=same N1 N2 }
|
||||
{ /*2*/ rank=same N3 N4 N5 }
|
||||
{ /*3*/ rank=same N6 N7 N8 N9 }
|
||||
{ /*4*/ rank=same N10 N11 N12 N13 }
|
||||
{ /*5*/ rank=same N14 N15 N16 N17 }
|
||||
{ /*6*/ rank=same N18 N19 N20 N21 }
|
||||
{ /*7*/ rank=same N22 N23 N24 N25 }
|
||||
{ /*8*/ rank=same N26 N27 N28 N29 }
|
||||
{ /*9*/ rank=same N30 N31 N32 N33 }
|
||||
{ /*10*/ rank=same N34 N35 N36 N37 }
|
||||
{ /*11*/ rank=same N38 N39 N40 N41 }
|
||||
{ /*12*/ rank=same N42 N43 N44 N45 }
|
||||
{ /*13*/ rank=same N46 N47 N48 N49 }
|
||||
{ /*14*/ rank=same N50 N51 N52 N53 }
|
||||
{ /*15*/ rank=same N54 N55 N56 N57 }
|
||||
{ /*16*/ rank=same N58 N59 N60 N61 }
|
||||
{ /*17*/ rank=same N62 N63 N64 N65 }
|
||||
{ /*18*/ rank=same N66 N67 N68 N69 }
|
||||
{ /*19*/ rank=same N70 N71 N72 N73 }
|
||||
{ /*20*/ rank=same N74 N75 N76 N77 }
|
||||
{ /*21*/ rank=same N78 N79 N80 N81 }
|
||||
{ /*22*/ rank=same N82 N83 N84 N85 }
|
||||
{ /*23*/ rank=same N86 N87 N88 N89 }
|
||||
{ /*24*/ rank=same N90 N91 N92 N93 }
|
||||
{ /*25*/ rank=same N94 N95 N96 N97 }
|
||||
{ /*26*/ rank=same N98 N99 N100 N101 }
|
||||
{ /*27*/ rank=same N102 N103 N104 N105 }
|
||||
{ /*28*/ rank=same N106 N107 N108 N109 }
|
||||
{ /*29*/ rank=same N110 N111 N112 N113 }
|
||||
{ /*30*/ rank=same N114 N115 N116 N117 }
|
||||
{ /*31*/ rank=same N118 N119 N120 N121 }
|
||||
{ /*32*/ rank=same N122 N123 N124 N125 }
|
||||
{ /*33*/ rank=same N126 N127 N128 N129 }
|
||||
{ /*34*/ rank=same N130 N131 N132 N133 }
|
||||
{ /*35*/ rank=same N134 N135 N136 N137 }
|
||||
{ /*36*/ rank=same N138 N139 N140 N141 }
|
||||
{ /*37*/ rank=same N142 N143 N144 N145 }
|
||||
{ /*38*/ rank=same N146 N147 N148 N149 }
|
||||
{ /*39*/ rank=same N150 N151 N152 N153 }
|
||||
{ /*40*/ rank=same N154 N155 N156 N157 }
|
||||
{ /*41*/ rank=same N158 N159 N160 N161 }
|
||||
{ /*42*/ rank=same N162 N163 N164 N165 }
|
||||
{ /*43*/ rank=same N166 N167 N168 N169 }
|
||||
{ /*44*/ rank=same N170 N171 N172 N173 }
|
||||
{ /*45*/ rank=same N174 N175 N176 N177 }
|
||||
{ /*46*/ rank=same N178 N179 N180 N181 }
|
||||
{ /*47*/ rank=same N182 N183 N184 N185 }
|
||||
{ /*48*/ rank=same N186 N187 N188 N189 }
|
||||
{ /*49*/ rank=same N190 N191 N192 N193 }
|
||||
{ /*50*/ rank=same N194 N195 N196 N197 }
|
||||
{ /*51*/ rank=same N198 N199 N200 N201 }
|
||||
{ /*52*/ rank=same N202 N203 N204 N205 }
|
||||
{ /*53*/ rank=same N206 N207 N208 N209 }
|
||||
{ /*54*/ rank=same N210 N211 N212 N213 }
|
||||
{ /*55*/ rank=same N214 N215 N216 N217 }
|
||||
{ /*56*/ rank=same N218 N219 N220 N221 }
|
||||
{ /*57*/ rank=same N222 N223 N224 N225 }
|
||||
{ /*58*/ rank=same N226 N227 N228 N229 }
|
||||
{ /*59*/ rank=same N230 N231 N232 N233 }
|
||||
{ /*60*/ rank=same N234 N235 N236 N237 }
|
||||
{ /*61*/ rank=same N238 N239 N240 N241 }
|
||||
{ /*62*/ rank=same N242 N243 N244 N245 }
|
||||
{ /*63*/ rank=same N246 N247 N248 N249 }
|
||||
{ /*64*/ rank=same N250 N251 N252 N253 }
|
||||
{ /*65*/ rank=same N254 N255 }
|
||||
|
||||
// Topology
|
||||
N0 -> N2
|
||||
N1 -> N4
|
||||
N2 -> N5
|
||||
N3 -> N7
|
||||
N4 -> N8
|
||||
N5 -> N9
|
||||
N6 -> N11
|
||||
N7 -> N12
|
||||
N8 -> N13
|
||||
N10 -> N15
|
||||
N11 -> N16
|
||||
N12 -> N17
|
||||
N14 -> N19
|
||||
N15 -> N20
|
||||
N16 -> N21
|
||||
N18 -> N23
|
||||
N19 -> N24
|
||||
N20 -> N25
|
||||
N22 -> N27
|
||||
N23 -> N28
|
||||
N24 -> N29
|
||||
N26 -> N31
|
||||
N27 -> N32
|
||||
N28 -> N33
|
||||
N30 -> N35
|
||||
N31 -> N36
|
||||
N32 -> N37
|
||||
N34 -> N39
|
||||
N35 -> N40
|
||||
N36 -> N41
|
||||
N38 -> N43
|
||||
N39 -> N44
|
||||
N40 -> N45
|
||||
N42 -> N47
|
||||
N43 -> N48
|
||||
N44 -> N49
|
||||
N46 -> N51
|
||||
N47 -> N52
|
||||
N48 -> N53
|
||||
N50 -> N55
|
||||
N51 -> N56
|
||||
N52 -> N57
|
||||
N54 -> N59
|
||||
N55 -> N60
|
||||
N56 -> N61
|
||||
N58 -> N63
|
||||
N59 -> N64
|
||||
N60 -> N65
|
||||
N62 -> N67
|
||||
N63 -> N68
|
||||
N64 -> N69
|
||||
N66 -> N71
|
||||
N67 -> N72
|
||||
N68 -> N73
|
||||
N70 -> N75
|
||||
N71 -> N76
|
||||
N72 -> N77
|
||||
N74 -> N79
|
||||
N75 -> N80
|
||||
N76 -> N81
|
||||
N78 -> N83
|
||||
N79 -> N84
|
||||
N80 -> N85
|
||||
N82 -> N87
|
||||
N83 -> N88
|
||||
N84 -> N89
|
||||
N86 -> N91
|
||||
N87 -> N92
|
||||
N88 -> N93
|
||||
N90 -> N95
|
||||
N91 -> N96
|
||||
N92 -> N97
|
||||
N94 -> N99
|
||||
N95 -> N100
|
||||
N96 -> N101
|
||||
N98 -> N103
|
||||
N99 -> N104
|
||||
N100 -> N105
|
||||
N102 -> N107
|
||||
N103 -> N108
|
||||
N104 -> N109
|
||||
N106 -> N111
|
||||
N107 -> N112
|
||||
N108 -> N113
|
||||
N110 -> N115
|
||||
N111 -> N116
|
||||
N112 -> N117
|
||||
N114 -> N119
|
||||
N115 -> N120
|
||||
N116 -> N121
|
||||
N118 -> N123
|
||||
N119 -> N124
|
||||
N120 -> N125
|
||||
N122 -> N127
|
||||
N123 -> N128
|
||||
N124 -> N129
|
||||
N126 -> N131
|
||||
N127 -> N132
|
||||
N128 -> N133
|
||||
N130 -> N135
|
||||
N131 -> N136
|
||||
N132 -> N137
|
||||
N134 -> N139
|
||||
N135 -> N140
|
||||
N136 -> N141
|
||||
N138 -> N143
|
||||
N139 -> N144
|
||||
N140 -> N145
|
||||
N142 -> N147
|
||||
N143 -> N148
|
||||
N144 -> N149
|
||||
N146 -> N151
|
||||
N147 -> N152
|
||||
N148 -> N153
|
||||
N150 -> N155
|
||||
N151 -> N156
|
||||
N152 -> N157
|
||||
N154 -> N159
|
||||
N155 -> N160
|
||||
N156 -> N161
|
||||
N158 -> N163
|
||||
N159 -> N164
|
||||
N160 -> N165
|
||||
N162 -> N167
|
||||
N163 -> N168
|
||||
N164 -> N169
|
||||
N166 -> N171
|
||||
N167 -> N172
|
||||
N168 -> N173
|
||||
N170 -> N175
|
||||
N171 -> N176
|
||||
N172 -> N177
|
||||
N174 -> N179
|
||||
N175 -> N180
|
||||
N176 -> N181
|
||||
N178 -> N183
|
||||
N179 -> N184
|
||||
N180 -> N185
|
||||
N182 -> N187
|
||||
N183 -> N188
|
||||
N184 -> N189
|
||||
N186 -> N191
|
||||
N187 -> N192
|
||||
N188 -> N193
|
||||
N190 -> N195
|
||||
N191 -> N196
|
||||
N192 -> N197
|
||||
N194 -> N199
|
||||
N195 -> N200
|
||||
N196 -> N201
|
||||
N198 -> N203
|
||||
N199 -> N204
|
||||
N200 -> N205
|
||||
N202 -> N207
|
||||
N203 -> N208
|
||||
N204 -> N209
|
||||
N206 -> N211
|
||||
N207 -> N212
|
||||
N208 -> N213
|
||||
N210 -> N215
|
||||
N211 -> N216
|
||||
N212 -> N217
|
||||
N214 -> N219
|
||||
N215 -> N220
|
||||
N216 -> N221
|
||||
N218 -> N223
|
||||
N219 -> N224
|
||||
N220 -> N225
|
||||
N222 -> N227
|
||||
N223 -> N228
|
||||
N224 -> N229
|
||||
N226 -> N231
|
||||
N227 -> N232
|
||||
N228 -> N233
|
||||
N230 -> N235
|
||||
N231 -> N236
|
||||
N232 -> N237
|
||||
N234 -> N239
|
||||
N235 -> N240
|
||||
N236 -> N241
|
||||
N238 -> N243
|
||||
N239 -> N244
|
||||
N240 -> N245
|
||||
N242 -> N247
|
||||
N243 -> N248
|
||||
N244 -> N249
|
||||
N246 -> N251
|
||||
N247 -> N252
|
||||
N248 -> N253
|
||||
N250 -> N255
|
||||
N251 -> N255
|
||||
N252 -> N255
|
||||
}
|
||||
|
||||
992
doc/devel/dump/2024-04-08.Scheduler-LoadTest/Topo-21.svg
Normal file
992
doc/devel/dump/2024-04-08.Scheduler-LoadTest/Topo-21.svg
Normal file
|
|
@ -0,0 +1,992 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
-->
|
||||
<!-- Title: %3 Pages: 1 -->
|
||||
<svg width="604pt" height="720pt"
|
||||
viewBox="0.00 0.00 604.34 720.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(.2436 .2436) rotate(0) translate(4 2952.0655)">
|
||||
<title>%3</title>
|
||||
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-2952.0655 2477.196,-2952.0655 2477.196,4 -4,4"/>
|
||||
<!-- N0 -->
|
||||
<g id="node1" class="node">
|
||||
<title>N0</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="40.7696" cy="-2907.296" rx="36.5629" ry="36.5629"/>
|
||||
<ellipse fill="none" stroke="#000000" cx="40.7696" cy="-2907.296" rx="40.5404" ry="40.5404"/>
|
||||
<text text-anchor="middle" x="40.7696" y="-2903.496" font-family="Times,serif" font-size="16.00" fill="#000000">0: 3C</text>
|
||||
</g>
|
||||
<!-- N2 -->
|
||||
<g id="node3" class="node">
|
||||
<title>N2</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="40.7696" cy="-2793.7569" rx="35.2113" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="40.7696" y="-2789.9569" font-family="Times,serif" font-size="16.00" fill="#000000">2: 96</text>
|
||||
</g>
|
||||
<!-- N0->N2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>N0->N2</title>
|
||||
<path fill="none" stroke="#000000" d="M40.7696,-2866.3057C40.7696,-2851.6705 40.7696,-2835.5154 40.7696,-2822.1721"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="44.2697,-2822.1566 40.7696,-2812.1567 37.2697,-2822.1567 44.2697,-2822.1566"/>
|
||||
</g>
|
||||
<!-- N1 -->
|
||||
<g id="node2" class="node">
|
||||
<title>N1</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="130.7696" cy="-2793.7569" rx="36.5405" ry="36.5405"/>
|
||||
<text text-anchor="middle" x="130.7696" y="-2789.9569" font-family="Times,serif" font-size="16.00" fill="#000000">1: 3C</text>
|
||||
</g>
|
||||
<!-- N4 -->
|
||||
<g id="node5" class="node">
|
||||
<title>N4</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="130.7696" cy="-2684.2177" rx="35.2113" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="130.7696" y="-2680.4177" font-family="Times,serif" font-size="16.00" fill="#000000">4: 96</text>
|
||||
</g>
|
||||
<!-- N1->N4 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>N1->N4</title>
|
||||
<path fill="none" stroke="#000000" d="M130.7696,-2756.9772C130.7696,-2742.5587 130.7696,-2726.269 130.7696,-2712.7637"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="134.2697,-2712.6187 130.7696,-2702.6187 127.2697,-2712.6187 134.2697,-2712.6187"/>
|
||||
</g>
|
||||
<!-- N5 -->
|
||||
<g id="node6" class="node">
|
||||
<title>N5</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="40.7696" cy="-2684.2177" rx="35.2113" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="40.7696" y="-2680.4177" font-family="Times,serif" font-size="16.00" fill="#000000">5: 0F</text>
|
||||
</g>
|
||||
<!-- N2->N5 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>N2->N5</title>
|
||||
<path fill="none" stroke="#000000" d="M40.7696,-2775.175C40.7696,-2758.1795 40.7696,-2732.769 40.7696,-2713.1224"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="44.2697,-2712.8907 40.7696,-2702.8907 37.2697,-2712.8908 44.2697,-2712.8907"/>
|
||||
</g>
|
||||
<!-- N3 -->
|
||||
<g id="node4" class="node">
|
||||
<title>N3</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="220.7696" cy="-2684.2177" rx="36.5405" ry="36.5405"/>
|
||||
<text text-anchor="middle" x="220.7696" y="-2680.4177" font-family="Times,serif" font-size="16.00" fill="#000000">3: 3C</text>
|
||||
</g>
|
||||
<!-- N7 -->
|
||||
<g id="node8" class="node">
|
||||
<title>N7</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="220.7696" cy="-2574.6786" rx="35.2113" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="220.7696" y="-2570.8786" font-family="Times,serif" font-size="16.00" fill="#000000">7: 96</text>
|
||||
</g>
|
||||
<!-- N3->N7 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>N3->N7</title>
|
||||
<path fill="none" stroke="#000000" d="M220.7696,-2647.4381C220.7696,-2633.0196 220.7696,-2616.7299 220.7696,-2603.2246"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="224.2697,-2603.0796 220.7696,-2593.0796 217.2697,-2603.0796 224.2697,-2603.0796"/>
|
||||
</g>
|
||||
<!-- N8 -->
|
||||
<g id="node9" class="node">
|
||||
<title>N8</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="130.7696" cy="-2574.6786" rx="35.2113" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="130.7696" y="-2570.8786" font-family="Times,serif" font-size="16.00" fill="#000000">8: 0F</text>
|
||||
</g>
|
||||
<!-- N4->N8 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>N4->N8</title>
|
||||
<path fill="none" stroke="#000000" d="M130.7696,-2665.6359C130.7696,-2648.6404 130.7696,-2623.2299 130.7696,-2603.5833"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="134.2697,-2603.3516 130.7696,-2593.3516 127.2697,-2603.3516 134.2697,-2603.3516"/>
|
||||
</g>
|
||||
<!-- N9 -->
|
||||
<g id="node10" class="node">
|
||||
<title>N9</title>
|
||||
<path fill="none" stroke="#000000" d="M55.7696,-2592.6786C55.7696,-2592.6786 25.7696,-2592.6786 25.7696,-2592.6786 19.7696,-2592.6786 13.7696,-2586.6786 13.7696,-2580.6786 13.7696,-2580.6786 13.7696,-2568.6786 13.7696,-2568.6786 13.7696,-2562.6786 19.7696,-2556.6786 25.7696,-2556.6786 25.7696,-2556.6786 55.7696,-2556.6786 55.7696,-2556.6786 61.7696,-2556.6786 67.7696,-2562.6786 67.7696,-2568.6786 67.7696,-2568.6786 67.7696,-2580.6786 67.7696,-2580.6786 67.7696,-2586.6786 61.7696,-2592.6786 55.7696,-2592.6786"/>
|
||||
<text text-anchor="middle" x="40.7696" y="-2570.8786" font-family="Times,serif" font-size="16.00" fill="#000000">9: 48</text>
|
||||
</g>
|
||||
<!-- N5->N9 -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>N5->N9</title>
|
||||
<path fill="none" stroke="#000000" d="M40.7696,-2665.6359C40.7696,-2648.5374 40.7696,-2622.9216 40.7696,-2603.2268"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="44.2697,-2602.986 40.7696,-2592.986 37.2697,-2602.9861 44.2697,-2602.986"/>
|
||||
</g>
|
||||
<!-- N6 -->
|
||||
<g id="node7" class="node">
|
||||
<title>N6</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="321.7696" cy="-2574.6786" rx="36.5405" ry="36.5405"/>
|
||||
<text text-anchor="middle" x="321.7696" y="-2570.8786" font-family="Times,serif" font-size="16.00" fill="#000000">6: 3C</text>
|
||||
</g>
|
||||
<!-- N11 -->
|
||||
<g id="node12" class="node">
|
||||
<title>N11</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="321.7696" cy="-2459.4827" rx="41.0244" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="321.7696" y="-2455.6827" font-family="Times,serif" font-size="16.00" fill="#000000">11: 96</text>
|
||||
</g>
|
||||
<!-- N6->N11 -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>N6->N11</title>
|
||||
<path fill="none" stroke="#000000" d="M321.7696,-2537.5958C321.7696,-2521.6121 321.7696,-2503.2039 321.7696,-2488.2735"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="325.2697,-2488.1009 321.7696,-2478.1009 318.2697,-2488.1009 325.2697,-2488.1009"/>
|
||||
</g>
|
||||
<!-- N12 -->
|
||||
<g id="node13" class="node">
|
||||
<title>N12</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="220.7696" cy="-2459.4827" rx="41.9398" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="220.7696" y="-2455.6827" font-family="Times,serif" font-size="16.00" fill="#000000">12: 0F</text>
|
||||
</g>
|
||||
<!-- N7->N12 -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>N7->N12</title>
|
||||
<path fill="none" stroke="#000000" d="M220.7696,-2556.1704C220.7696,-2537.7806 220.7696,-2509.3247 220.7696,-2488.0374"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="224.2697,-2487.9449 220.7696,-2477.945 217.2697,-2487.945 224.2697,-2487.9449"/>
|
||||
</g>
|
||||
<!-- N13 -->
|
||||
<g id="node14" class="node">
|
||||
<title>N13</title>
|
||||
<path fill="none" stroke="#000000" d="M147.7696,-2477.4827C147.7696,-2477.4827 113.7696,-2477.4827 113.7696,-2477.4827 107.7696,-2477.4827 101.7696,-2471.4827 101.7696,-2465.4827 101.7696,-2465.4827 101.7696,-2453.4827 101.7696,-2453.4827 101.7696,-2447.4827 107.7696,-2441.4827 113.7696,-2441.4827 113.7696,-2441.4827 147.7696,-2441.4827 147.7696,-2441.4827 153.7696,-2441.4827 159.7696,-2447.4827 159.7696,-2453.4827 159.7696,-2453.4827 159.7696,-2465.4827 159.7696,-2465.4827 159.7696,-2471.4827 153.7696,-2477.4827 147.7696,-2477.4827"/>
|
||||
<text text-anchor="middle" x="130.7696" y="-2455.6827" font-family="Times,serif" font-size="16.00" fill="#000000">13: 48</text>
|
||||
</g>
|
||||
<!-- N8->N13 -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>N8->N13</title>
|
||||
<path fill="none" stroke="#000000" d="M130.7696,-2556.1704C130.7696,-2537.6717 130.7696,-2508.9876 130.7696,-2487.6603"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="134.2697,-2487.5651 130.7696,-2477.5652 127.2697,-2487.5652 134.2697,-2487.5651"/>
|
||||
</g>
|
||||
<!-- N10 -->
|
||||
<g id="node11" class="node">
|
||||
<title>N10</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="422.7696" cy="-2459.4827" rx="42.3529" ry="42.3529"/>
|
||||
<text text-anchor="middle" x="422.7696" y="-2455.6827" font-family="Times,serif" font-size="16.00" fill="#000000">10: 3C</text>
|
||||
</g>
|
||||
<!-- N15 -->
|
||||
<g id="node16" class="node">
|
||||
<title>N15</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="422.7696" cy="-2338.6299" rx="41.0244" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="422.7696" y="-2334.8299" font-family="Times,serif" font-size="16.00" fill="#000000">15: 96</text>
|
||||
</g>
|
||||
<!-- N10->N15 -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>N10->N15</title>
|
||||
<path fill="none" stroke="#000000" d="M422.7696,-2416.8745C422.7696,-2400.4691 422.7696,-2382.1394 422.7696,-2367.3471"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="426.2697,-2367.2792 422.7696,-2357.2792 419.2697,-2367.2793 426.2697,-2367.2792"/>
|
||||
</g>
|
||||
<!-- N16 -->
|
||||
<g id="node17" class="node">
|
||||
<title>N16</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="321.7696" cy="-2338.6299" rx="41.9398" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="321.7696" y="-2334.8299" font-family="Times,serif" font-size="16.00" fill="#000000">16: 0F</text>
|
||||
</g>
|
||||
<!-- N11->N16 -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>N11->N16</title>
|
||||
<path fill="none" stroke="#000000" d="M321.7696,-2440.8643C321.7696,-2421.2016 321.7696,-2389.9546 321.7696,-2367.1764"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="325.2697,-2367.0711 321.7696,-2357.0711 318.2697,-2367.0711 325.2697,-2367.0711"/>
|
||||
</g>
|
||||
<!-- N17 -->
|
||||
<g id="node18" class="node">
|
||||
<title>N17</title>
|
||||
<path fill="none" stroke="#000000" d="M237.7696,-2356.6299C237.7696,-2356.6299 203.7696,-2356.6299 203.7696,-2356.6299 197.7696,-2356.6299 191.7696,-2350.6299 191.7696,-2344.6299 191.7696,-2344.6299 191.7696,-2332.6299 191.7696,-2332.6299 191.7696,-2326.6299 197.7696,-2320.6299 203.7696,-2320.6299 203.7696,-2320.6299 237.7696,-2320.6299 237.7696,-2320.6299 243.7696,-2320.6299 249.7696,-2326.6299 249.7696,-2332.6299 249.7696,-2332.6299 249.7696,-2344.6299 249.7696,-2344.6299 249.7696,-2350.6299 243.7696,-2356.6299 237.7696,-2356.6299"/>
|
||||
<text text-anchor="middle" x="220.7696" y="-2334.8299" font-family="Times,serif" font-size="16.00" fill="#000000">17: 48</text>
|
||||
</g>
|
||||
<!-- N12->N17 -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>N12->N17</title>
|
||||
<path fill="none" stroke="#000000" d="M220.7696,-2440.8643C220.7696,-2421.0873 220.7696,-2389.5909 220.7696,-2366.78"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="224.2697,-2366.6768 220.7696,-2356.6768 217.2697,-2366.6769 224.2697,-2366.6768"/>
|
||||
</g>
|
||||
<!-- N14 -->
|
||||
<g id="node15" class="node">
|
||||
<title>N14</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="523.7696" cy="-2338.6299" rx="42.3529" ry="42.3529"/>
|
||||
<text text-anchor="middle" x="523.7696" y="-2334.8299" font-family="Times,serif" font-size="16.00" fill="#000000">14: 3C</text>
|
||||
</g>
|
||||
<!-- N19 -->
|
||||
<g id="node20" class="node">
|
||||
<title>N19</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="523.7696" cy="-2217.7771" rx="41.0244" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="523.7696" y="-2213.9771" font-family="Times,serif" font-size="16.00" fill="#000000">19: 96</text>
|
||||
</g>
|
||||
<!-- N14->N19 -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>N14->N19</title>
|
||||
<path fill="none" stroke="#000000" d="M523.7696,-2296.0217C523.7696,-2279.6163 523.7696,-2261.2866 523.7696,-2246.4943"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="527.2697,-2246.4264 523.7696,-2236.4264 520.2697,-2246.4265 527.2697,-2246.4264"/>
|
||||
</g>
|
||||
<!-- N20 -->
|
||||
<g id="node21" class="node">
|
||||
<title>N20</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="422.7696" cy="-2217.7771" rx="41.9398" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="422.7696" y="-2213.9771" font-family="Times,serif" font-size="16.00" fill="#000000">20: 0F</text>
|
||||
</g>
|
||||
<!-- N15->N20 -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>N15->N20</title>
|
||||
<path fill="none" stroke="#000000" d="M422.7696,-2320.0115C422.7696,-2300.3488 422.7696,-2269.1018 422.7696,-2246.3236"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="426.2697,-2246.2183 422.7696,-2236.2183 419.2697,-2246.2183 426.2697,-2246.2183"/>
|
||||
</g>
|
||||
<!-- N21 -->
|
||||
<g id="node22" class="node">
|
||||
<title>N21</title>
|
||||
<path fill="none" stroke="#000000" d="M338.7696,-2235.7771C338.7696,-2235.7771 304.7696,-2235.7771 304.7696,-2235.7771 298.7696,-2235.7771 292.7696,-2229.7771 292.7696,-2223.7771 292.7696,-2223.7771 292.7696,-2211.7771 292.7696,-2211.7771 292.7696,-2205.7771 298.7696,-2199.7771 304.7696,-2199.7771 304.7696,-2199.7771 338.7696,-2199.7771 338.7696,-2199.7771 344.7696,-2199.7771 350.7696,-2205.7771 350.7696,-2211.7771 350.7696,-2211.7771 350.7696,-2223.7771 350.7696,-2223.7771 350.7696,-2229.7771 344.7696,-2235.7771 338.7696,-2235.7771"/>
|
||||
<text text-anchor="middle" x="321.7696" y="-2213.9771" font-family="Times,serif" font-size="16.00" fill="#000000">21: 48</text>
|
||||
</g>
|
||||
<!-- N16->N21 -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>N16->N21</title>
|
||||
<path fill="none" stroke="#000000" d="M321.7696,-2320.0115C321.7696,-2300.2345 321.7696,-2268.7381 321.7696,-2245.9272"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="325.2697,-2245.824 321.7696,-2235.824 318.2697,-2245.8241 325.2697,-2245.824"/>
|
||||
</g>
|
||||
<!-- N18 -->
|
||||
<g id="node19" class="node">
|
||||
<title>N18</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="624.7696" cy="-2217.7771" rx="42.3529" ry="42.3529"/>
|
||||
<text text-anchor="middle" x="624.7696" y="-2213.9771" font-family="Times,serif" font-size="16.00" fill="#000000">18: 3C</text>
|
||||
</g>
|
||||
<!-- N23 -->
|
||||
<g id="node24" class="node">
|
||||
<title>N23</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="624.7696" cy="-2096.9242" rx="41.0244" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="624.7696" y="-2093.1242" font-family="Times,serif" font-size="16.00" fill="#000000">23: 96</text>
|
||||
</g>
|
||||
<!-- N18->N23 -->
|
||||
<g id="edge16" class="edge">
|
||||
<title>N18->N23</title>
|
||||
<path fill="none" stroke="#000000" d="M624.7696,-2175.1689C624.7696,-2158.7635 624.7696,-2140.4338 624.7696,-2125.6415"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="628.2697,-2125.5736 624.7696,-2115.5736 621.2697,-2125.5736 628.2697,-2125.5736"/>
|
||||
</g>
|
||||
<!-- N24 -->
|
||||
<g id="node25" class="node">
|
||||
<title>N24</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="523.7696" cy="-2096.9242" rx="41.9398" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="523.7696" y="-2093.1242" font-family="Times,serif" font-size="16.00" fill="#000000">24: 0F</text>
|
||||
</g>
|
||||
<!-- N19->N24 -->
|
||||
<g id="edge17" class="edge">
|
||||
<title>N19->N24</title>
|
||||
<path fill="none" stroke="#000000" d="M523.7696,-2199.1587C523.7696,-2179.496 523.7696,-2148.249 523.7696,-2125.4708"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="527.2697,-2125.3654 523.7696,-2115.3655 520.2697,-2125.3655 527.2697,-2125.3654"/>
|
||||
</g>
|
||||
<!-- N25 -->
|
||||
<g id="node26" class="node">
|
||||
<title>N25</title>
|
||||
<path fill="none" stroke="#000000" d="M439.7696,-2114.9242C439.7696,-2114.9242 405.7696,-2114.9242 405.7696,-2114.9242 399.7696,-2114.9242 393.7696,-2108.9242 393.7696,-2102.9242 393.7696,-2102.9242 393.7696,-2090.9242 393.7696,-2090.9242 393.7696,-2084.9242 399.7696,-2078.9242 405.7696,-2078.9242 405.7696,-2078.9242 439.7696,-2078.9242 439.7696,-2078.9242 445.7696,-2078.9242 451.7696,-2084.9242 451.7696,-2090.9242 451.7696,-2090.9242 451.7696,-2102.9242 451.7696,-2102.9242 451.7696,-2108.9242 445.7696,-2114.9242 439.7696,-2114.9242"/>
|
||||
<text text-anchor="middle" x="422.7696" y="-2093.1242" font-family="Times,serif" font-size="16.00" fill="#000000">25: 48</text>
|
||||
</g>
|
||||
<!-- N20->N25 -->
|
||||
<g id="edge18" class="edge">
|
||||
<title>N20->N25</title>
|
||||
<path fill="none" stroke="#000000" d="M422.7696,-2199.1587C422.7696,-2179.3817 422.7696,-2147.8853 422.7696,-2125.0744"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="426.2697,-2124.9712 422.7696,-2114.9712 419.2697,-2124.9712 426.2697,-2124.9712"/>
|
||||
</g>
|
||||
<!-- N22 -->
|
||||
<g id="node23" class="node">
|
||||
<title>N22</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="725.7696" cy="-2096.9242" rx="42.3529" ry="42.3529"/>
|
||||
<text text-anchor="middle" x="725.7696" y="-2093.1242" font-family="Times,serif" font-size="16.00" fill="#000000">22: 3C</text>
|
||||
</g>
|
||||
<!-- N27 -->
|
||||
<g id="node28" class="node">
|
||||
<title>N27</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="725.7696" cy="-1976.0714" rx="41.0244" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="725.7696" y="-1972.2714" font-family="Times,serif" font-size="16.00" fill="#000000">27: 96</text>
|
||||
</g>
|
||||
<!-- N22->N27 -->
|
||||
<g id="edge19" class="edge">
|
||||
<title>N22->N27</title>
|
||||
<path fill="none" stroke="#000000" d="M725.7696,-2054.3161C725.7696,-2037.9107 725.7696,-2019.581 725.7696,-2004.7886"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="729.2697,-2004.7208 725.7696,-1994.7208 722.2697,-2004.7208 729.2697,-2004.7208"/>
|
||||
</g>
|
||||
<!-- N28 -->
|
||||
<g id="node29" class="node">
|
||||
<title>N28</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="624.7696" cy="-1976.0714" rx="41.9398" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="624.7696" y="-1972.2714" font-family="Times,serif" font-size="16.00" fill="#000000">28: 0F</text>
|
||||
</g>
|
||||
<!-- N23->N28 -->
|
||||
<g id="edge20" class="edge">
|
||||
<title>N23->N28</title>
|
||||
<path fill="none" stroke="#000000" d="M624.7696,-2078.3058C624.7696,-2058.6432 624.7696,-2027.3962 624.7696,-2004.618"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="628.2697,-2004.5126 624.7696,-1994.5127 621.2697,-2004.5127 628.2697,-2004.5126"/>
|
||||
</g>
|
||||
<!-- N29 -->
|
||||
<g id="node30" class="node">
|
||||
<title>N29</title>
|
||||
<path fill="none" stroke="#000000" d="M540.7696,-1994.0714C540.7696,-1994.0714 506.7696,-1994.0714 506.7696,-1994.0714 500.7696,-1994.0714 494.7696,-1988.0714 494.7696,-1982.0714 494.7696,-1982.0714 494.7696,-1970.0714 494.7696,-1970.0714 494.7696,-1964.0714 500.7696,-1958.0714 506.7696,-1958.0714 506.7696,-1958.0714 540.7696,-1958.0714 540.7696,-1958.0714 546.7696,-1958.0714 552.7696,-1964.0714 552.7696,-1970.0714 552.7696,-1970.0714 552.7696,-1982.0714 552.7696,-1982.0714 552.7696,-1988.0714 546.7696,-1994.0714 540.7696,-1994.0714"/>
|
||||
<text text-anchor="middle" x="523.7696" y="-1972.2714" font-family="Times,serif" font-size="16.00" fill="#000000">29: 48</text>
|
||||
</g>
|
||||
<!-- N24->N29 -->
|
||||
<g id="edge21" class="edge">
|
||||
<title>N24->N29</title>
|
||||
<path fill="none" stroke="#000000" d="M523.7696,-2078.3058C523.7696,-2058.5288 523.7696,-2027.0324 523.7696,-2004.2216"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="527.2697,-2004.1184 523.7696,-1994.1184 520.2697,-2004.1184 527.2697,-2004.1184"/>
|
||||
</g>
|
||||
<!-- N26 -->
|
||||
<g id="node27" class="node">
|
||||
<title>N26</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="826.7696" cy="-1976.0714" rx="42.3529" ry="42.3529"/>
|
||||
<text text-anchor="middle" x="826.7696" y="-1972.2714" font-family="Times,serif" font-size="16.00" fill="#000000">26: 3C</text>
|
||||
</g>
|
||||
<!-- N31 -->
|
||||
<g id="node32" class="node">
|
||||
<title>N31</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="826.7696" cy="-1855.2186" rx="41.0244" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="826.7696" y="-1851.4186" font-family="Times,serif" font-size="16.00" fill="#000000">31: 96</text>
|
||||
</g>
|
||||
<!-- N26->N31 -->
|
||||
<g id="edge22" class="edge">
|
||||
<title>N26->N31</title>
|
||||
<path fill="none" stroke="#000000" d="M826.7696,-1933.4632C826.7696,-1917.0579 826.7696,-1898.7282 826.7696,-1883.9358"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="830.2697,-1883.8679 826.7696,-1873.868 823.2697,-1883.868 830.2697,-1883.8679"/>
|
||||
</g>
|
||||
<!-- N32 -->
|
||||
<g id="node33" class="node">
|
||||
<title>N32</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="725.7696" cy="-1855.2186" rx="41.9398" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="725.7696" y="-1851.4186" font-family="Times,serif" font-size="16.00" fill="#000000">32: 0F</text>
|
||||
</g>
|
||||
<!-- N27->N32 -->
|
||||
<g id="edge23" class="edge">
|
||||
<title>N27->N32</title>
|
||||
<path fill="none" stroke="#000000" d="M725.7696,-1957.453C725.7696,-1937.7903 725.7696,-1906.5434 725.7696,-1883.7652"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="729.2697,-1883.6598 725.7696,-1873.6598 722.2697,-1883.6599 729.2697,-1883.6598"/>
|
||||
</g>
|
||||
<!-- N33 -->
|
||||
<g id="node34" class="node">
|
||||
<title>N33</title>
|
||||
<path fill="none" stroke="#000000" d="M641.7696,-1873.2186C641.7696,-1873.2186 607.7696,-1873.2186 607.7696,-1873.2186 601.7696,-1873.2186 595.7696,-1867.2186 595.7696,-1861.2186 595.7696,-1861.2186 595.7696,-1849.2186 595.7696,-1849.2186 595.7696,-1843.2186 601.7696,-1837.2186 607.7696,-1837.2186 607.7696,-1837.2186 641.7696,-1837.2186 641.7696,-1837.2186 647.7696,-1837.2186 653.7696,-1843.2186 653.7696,-1849.2186 653.7696,-1849.2186 653.7696,-1861.2186 653.7696,-1861.2186 653.7696,-1867.2186 647.7696,-1873.2186 641.7696,-1873.2186"/>
|
||||
<text text-anchor="middle" x="624.7696" y="-1851.4186" font-family="Times,serif" font-size="16.00" fill="#000000">33: 48</text>
|
||||
</g>
|
||||
<!-- N28->N33 -->
|
||||
<g id="edge24" class="edge">
|
||||
<title>N28->N33</title>
|
||||
<path fill="none" stroke="#000000" d="M624.7696,-1957.453C624.7696,-1937.676 624.7696,-1906.1796 624.7696,-1883.3687"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="628.2697,-1883.2655 624.7696,-1873.2656 621.2697,-1883.2656 628.2697,-1883.2655"/>
|
||||
</g>
|
||||
<!-- N30 -->
|
||||
<g id="node31" class="node">
|
||||
<title>N30</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="927.7696" cy="-1855.2186" rx="42.3529" ry="42.3529"/>
|
||||
<text text-anchor="middle" x="927.7696" y="-1851.4186" font-family="Times,serif" font-size="16.00" fill="#000000">30: 3C</text>
|
||||
</g>
|
||||
<!-- N35 -->
|
||||
<g id="node36" class="node">
|
||||
<title>N35</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="927.7696" cy="-1734.3658" rx="41.0244" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="927.7696" y="-1730.5658" font-family="Times,serif" font-size="16.00" fill="#000000">35: 96</text>
|
||||
</g>
|
||||
<!-- N30->N35 -->
|
||||
<g id="edge25" class="edge">
|
||||
<title>N30->N35</title>
|
||||
<path fill="none" stroke="#000000" d="M927.7696,-1812.6104C927.7696,-1796.2051 927.7696,-1777.8754 927.7696,-1763.083"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="931.2697,-1763.0151 927.7696,-1753.0152 924.2697,-1763.0152 931.2697,-1763.0151"/>
|
||||
</g>
|
||||
<!-- N36 -->
|
||||
<g id="node37" class="node">
|
||||
<title>N36</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="826.7696" cy="-1734.3658" rx="41.9398" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="826.7696" y="-1730.5658" font-family="Times,serif" font-size="16.00" fill="#000000">36: 0F</text>
|
||||
</g>
|
||||
<!-- N31->N36 -->
|
||||
<g id="edge26" class="edge">
|
||||
<title>N31->N36</title>
|
||||
<path fill="none" stroke="#000000" d="M826.7696,-1836.6002C826.7696,-1816.9375 826.7696,-1785.6905 826.7696,-1762.9124"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="830.2697,-1762.807 826.7696,-1752.807 823.2697,-1762.8071 830.2697,-1762.807"/>
|
||||
</g>
|
||||
<!-- N37 -->
|
||||
<g id="node38" class="node">
|
||||
<title>N37</title>
|
||||
<path fill="none" stroke="#000000" d="M742.7696,-1752.3658C742.7696,-1752.3658 708.7696,-1752.3658 708.7696,-1752.3658 702.7696,-1752.3658 696.7696,-1746.3658 696.7696,-1740.3658 696.7696,-1740.3658 696.7696,-1728.3658 696.7696,-1728.3658 696.7696,-1722.3658 702.7696,-1716.3658 708.7696,-1716.3658 708.7696,-1716.3658 742.7696,-1716.3658 742.7696,-1716.3658 748.7696,-1716.3658 754.7696,-1722.3658 754.7696,-1728.3658 754.7696,-1728.3658 754.7696,-1740.3658 754.7696,-1740.3658 754.7696,-1746.3658 748.7696,-1752.3658 742.7696,-1752.3658"/>
|
||||
<text text-anchor="middle" x="725.7696" y="-1730.5658" font-family="Times,serif" font-size="16.00" fill="#000000">37: 48</text>
|
||||
</g>
|
||||
<!-- N32->N37 -->
|
||||
<g id="edge27" class="edge">
|
||||
<title>N32->N37</title>
|
||||
<path fill="none" stroke="#000000" d="M725.7696,-1836.6002C725.7696,-1816.8232 725.7696,-1785.3268 725.7696,-1762.5159"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="729.2697,-1762.4127 725.7696,-1752.4128 722.2697,-1762.4128 729.2697,-1762.4127"/>
|
||||
</g>
|
||||
<!-- N34 -->
|
||||
<g id="node35" class="node">
|
||||
<title>N34</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="1028.7696" cy="-1734.3658" rx="42.3529" ry="42.3529"/>
|
||||
<text text-anchor="middle" x="1028.7696" y="-1730.5658" font-family="Times,serif" font-size="16.00" fill="#000000">34: 3C</text>
|
||||
</g>
|
||||
<!-- N39 -->
|
||||
<g id="node40" class="node">
|
||||
<title>N39</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="1028.7696" cy="-1613.513" rx="41.0244" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="1028.7696" y="-1609.713" font-family="Times,serif" font-size="16.00" fill="#000000">39: 96</text>
|
||||
</g>
|
||||
<!-- N34->N39 -->
|
||||
<g id="edge28" class="edge">
|
||||
<title>N34->N39</title>
|
||||
<path fill="none" stroke="#000000" d="M1028.7696,-1691.7576C1028.7696,-1675.3522 1028.7696,-1657.0225 1028.7696,-1642.2302"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="1032.2697,-1642.1623 1028.7696,-1632.1624 1025.2697,-1642.1624 1032.2697,-1642.1623"/>
|
||||
</g>
|
||||
<!-- N40 -->
|
||||
<g id="node41" class="node">
|
||||
<title>N40</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="927.7696" cy="-1613.513" rx="41.9398" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="927.7696" y="-1609.713" font-family="Times,serif" font-size="16.00" fill="#000000">40: 0F</text>
|
||||
</g>
|
||||
<!-- N35->N40 -->
|
||||
<g id="edge29" class="edge">
|
||||
<title>N35->N40</title>
|
||||
<path fill="none" stroke="#000000" d="M927.7696,-1715.7474C927.7696,-1696.0847 927.7696,-1664.8377 927.7696,-1642.0596"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="931.2697,-1641.9542 927.7696,-1631.9542 924.2697,-1641.9543 931.2697,-1641.9542"/>
|
||||
</g>
|
||||
<!-- N41 -->
|
||||
<g id="node42" class="node">
|
||||
<title>N41</title>
|
||||
<path fill="none" stroke="#000000" d="M843.7696,-1631.513C843.7696,-1631.513 809.7696,-1631.513 809.7696,-1631.513 803.7696,-1631.513 797.7696,-1625.513 797.7696,-1619.513 797.7696,-1619.513 797.7696,-1607.513 797.7696,-1607.513 797.7696,-1601.513 803.7696,-1595.513 809.7696,-1595.513 809.7696,-1595.513 843.7696,-1595.513 843.7696,-1595.513 849.7696,-1595.513 855.7696,-1601.513 855.7696,-1607.513 855.7696,-1607.513 855.7696,-1619.513 855.7696,-1619.513 855.7696,-1625.513 849.7696,-1631.513 843.7696,-1631.513"/>
|
||||
<text text-anchor="middle" x="826.7696" y="-1609.713" font-family="Times,serif" font-size="16.00" fill="#000000">41: 48</text>
|
||||
</g>
|
||||
<!-- N36->N41 -->
|
||||
<g id="edge30" class="edge">
|
||||
<title>N36->N41</title>
|
||||
<path fill="none" stroke="#000000" d="M826.7696,-1715.7474C826.7696,-1695.9704 826.7696,-1664.474 826.7696,-1641.6631"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="830.2697,-1641.5599 826.7696,-1631.56 823.2697,-1641.56 830.2697,-1641.5599"/>
|
||||
</g>
|
||||
<!-- N38 -->
|
||||
<g id="node39" class="node">
|
||||
<title>N38</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="1129.7696" cy="-1613.513" rx="42.3529" ry="42.3529"/>
|
||||
<text text-anchor="middle" x="1129.7696" y="-1609.713" font-family="Times,serif" font-size="16.00" fill="#000000">38: 3C</text>
|
||||
</g>
|
||||
<!-- N43 -->
|
||||
<g id="node44" class="node">
|
||||
<title>N43</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="1129.7696" cy="-1492.6602" rx="41.0244" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="1129.7696" y="-1488.8602" font-family="Times,serif" font-size="16.00" fill="#000000">43: 96</text>
|
||||
</g>
|
||||
<!-- N38->N43 -->
|
||||
<g id="edge31" class="edge">
|
||||
<title>N38->N43</title>
|
||||
<path fill="none" stroke="#000000" d="M1129.7696,-1570.9048C1129.7696,-1554.4994 1129.7696,-1536.1697 1129.7696,-1521.3774"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="1133.2697,-1521.3095 1129.7696,-1511.3095 1126.2697,-1521.3096 1133.2697,-1521.3095"/>
|
||||
</g>
|
||||
<!-- N44 -->
|
||||
<g id="node45" class="node">
|
||||
<title>N44</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="1028.7696" cy="-1492.6602" rx="41.9398" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="1028.7696" y="-1488.8602" font-family="Times,serif" font-size="16.00" fill="#000000">44: 0F</text>
|
||||
</g>
|
||||
<!-- N39->N44 -->
|
||||
<g id="edge32" class="edge">
|
||||
<title>N39->N44</title>
|
||||
<path fill="none" stroke="#000000" d="M1028.7696,-1594.8946C1028.7696,-1575.2319 1028.7696,-1543.9849 1028.7696,-1521.2067"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="1032.2697,-1521.1014 1028.7696,-1511.1014 1025.2697,-1521.1014 1032.2697,-1521.1014"/>
|
||||
</g>
|
||||
<!-- N45 -->
|
||||
<g id="node46" class="node">
|
||||
<title>N45</title>
|
||||
<path fill="none" stroke="#000000" d="M944.7696,-1510.6602C944.7696,-1510.6602 910.7696,-1510.6602 910.7696,-1510.6602 904.7696,-1510.6602 898.7696,-1504.6602 898.7696,-1498.6602 898.7696,-1498.6602 898.7696,-1486.6602 898.7696,-1486.6602 898.7696,-1480.6602 904.7696,-1474.6602 910.7696,-1474.6602 910.7696,-1474.6602 944.7696,-1474.6602 944.7696,-1474.6602 950.7696,-1474.6602 956.7696,-1480.6602 956.7696,-1486.6602 956.7696,-1486.6602 956.7696,-1498.6602 956.7696,-1498.6602 956.7696,-1504.6602 950.7696,-1510.6602 944.7696,-1510.6602"/>
|
||||
<text text-anchor="middle" x="927.7696" y="-1488.8602" font-family="Times,serif" font-size="16.00" fill="#000000">45: 48</text>
|
||||
</g>
|
||||
<!-- N40->N45 -->
|
||||
<g id="edge33" class="edge">
|
||||
<title>N40->N45</title>
|
||||
<path fill="none" stroke="#000000" d="M927.7696,-1594.8946C927.7696,-1575.1176 927.7696,-1543.6212 927.7696,-1520.8103"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="931.2697,-1520.7071 927.7696,-1510.7071 924.2697,-1520.7072 931.2697,-1520.7071"/>
|
||||
</g>
|
||||
<!-- N42 -->
|
||||
<g id="node43" class="node">
|
||||
<title>N42</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="1230.7696" cy="-1492.6602" rx="42.3529" ry="42.3529"/>
|
||||
<text text-anchor="middle" x="1230.7696" y="-1488.8602" font-family="Times,serif" font-size="16.00" fill="#000000">42: 3C</text>
|
||||
</g>
|
||||
<!-- N47 -->
|
||||
<g id="node48" class="node">
|
||||
<title>N47</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="1230.7696" cy="-1371.8074" rx="41.0244" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="1230.7696" y="-1368.0074" font-family="Times,serif" font-size="16.00" fill="#000000">47: 96</text>
|
||||
</g>
|
||||
<!-- N42->N47 -->
|
||||
<g id="edge34" class="edge">
|
||||
<title>N42->N47</title>
|
||||
<path fill="none" stroke="#000000" d="M1230.7696,-1450.052C1230.7696,-1433.6466 1230.7696,-1415.3169 1230.7696,-1400.5246"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="1234.2697,-1400.4567 1230.7696,-1390.4567 1227.2697,-1400.4568 1234.2697,-1400.4567"/>
|
||||
</g>
|
||||
<!-- N48 -->
|
||||
<g id="node49" class="node">
|
||||
<title>N48</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="1129.7696" cy="-1371.8074" rx="41.9398" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="1129.7696" y="-1368.0074" font-family="Times,serif" font-size="16.00" fill="#000000">48: 0F</text>
|
||||
</g>
|
||||
<!-- N43->N48 -->
|
||||
<g id="edge35" class="edge">
|
||||
<title>N43->N48</title>
|
||||
<path fill="none" stroke="#000000" d="M1129.7696,-1474.0418C1129.7696,-1454.3791 1129.7696,-1423.1321 1129.7696,-1400.3539"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="1133.2697,-1400.2486 1129.7696,-1390.2486 1126.2697,-1400.2486 1133.2697,-1400.2486"/>
|
||||
</g>
|
||||
<!-- N49 -->
|
||||
<g id="node50" class="node">
|
||||
<title>N49</title>
|
||||
<path fill="none" stroke="#000000" d="M1045.7696,-1389.8074C1045.7696,-1389.8074 1011.7696,-1389.8074 1011.7696,-1389.8074 1005.7696,-1389.8074 999.7696,-1383.8074 999.7696,-1377.8074 999.7696,-1377.8074 999.7696,-1365.8074 999.7696,-1365.8074 999.7696,-1359.8074 1005.7696,-1353.8074 1011.7696,-1353.8074 1011.7696,-1353.8074 1045.7696,-1353.8074 1045.7696,-1353.8074 1051.7696,-1353.8074 1057.7696,-1359.8074 1057.7696,-1365.8074 1057.7696,-1365.8074 1057.7696,-1377.8074 1057.7696,-1377.8074 1057.7696,-1383.8074 1051.7696,-1389.8074 1045.7696,-1389.8074"/>
|
||||
<text text-anchor="middle" x="1028.7696" y="-1368.0074" font-family="Times,serif" font-size="16.00" fill="#000000">49: 48</text>
|
||||
</g>
|
||||
<!-- N44->N49 -->
|
||||
<g id="edge36" class="edge">
|
||||
<title>N44->N49</title>
|
||||
<path fill="none" stroke="#000000" d="M1028.7696,-1474.0418C1028.7696,-1454.2648 1028.7696,-1422.7684 1028.7696,-1399.9575"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="1032.2697,-1399.8543 1028.7696,-1389.8543 1025.2697,-1399.8544 1032.2697,-1399.8543"/>
|
||||
</g>
|
||||
<!-- N46 -->
|
||||
<g id="node47" class="node">
|
||||
<title>N46</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="1331.7696" cy="-1371.8074" rx="42.3529" ry="42.3529"/>
|
||||
<text text-anchor="middle" x="1331.7696" y="-1368.0074" font-family="Times,serif" font-size="16.00" fill="#000000">46: 3C</text>
|
||||
</g>
|
||||
<!-- N51 -->
|
||||
<g id="node52" class="node">
|
||||
<title>N51</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="1331.7696" cy="-1250.9545" rx="41.0244" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="1331.7696" y="-1247.1545" font-family="Times,serif" font-size="16.00" fill="#000000">51: 96</text>
|
||||
</g>
|
||||
<!-- N46->N51 -->
|
||||
<g id="edge37" class="edge">
|
||||
<title>N46->N51</title>
|
||||
<path fill="none" stroke="#000000" d="M1331.7696,-1329.1992C1331.7696,-1312.7938 1331.7696,-1294.4641 1331.7696,-1279.6718"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="1335.2697,-1279.6039 1331.7696,-1269.6039 1328.2697,-1279.6039 1335.2697,-1279.6039"/>
|
||||
</g>
|
||||
<!-- N52 -->
|
||||
<g id="node53" class="node">
|
||||
<title>N52</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="1230.7696" cy="-1250.9545" rx="41.9398" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="1230.7696" y="-1247.1545" font-family="Times,serif" font-size="16.00" fill="#000000">52: 0F</text>
|
||||
</g>
|
||||
<!-- N47->N52 -->
|
||||
<g id="edge38" class="edge">
|
||||
<title>N47->N52</title>
|
||||
<path fill="none" stroke="#000000" d="M1230.7696,-1353.189C1230.7696,-1333.5263 1230.7696,-1302.2793 1230.7696,-1279.5011"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="1234.2697,-1279.3957 1230.7696,-1269.3958 1227.2697,-1279.3958 1234.2697,-1279.3957"/>
|
||||
</g>
|
||||
<!-- N53 -->
|
||||
<g id="node54" class="node">
|
||||
<title>N53</title>
|
||||
<path fill="none" stroke="#000000" d="M1146.7696,-1268.9545C1146.7696,-1268.9545 1112.7696,-1268.9545 1112.7696,-1268.9545 1106.7696,-1268.9545 1100.7696,-1262.9545 1100.7696,-1256.9545 1100.7696,-1256.9545 1100.7696,-1244.9545 1100.7696,-1244.9545 1100.7696,-1238.9545 1106.7696,-1232.9545 1112.7696,-1232.9545 1112.7696,-1232.9545 1146.7696,-1232.9545 1146.7696,-1232.9545 1152.7696,-1232.9545 1158.7696,-1238.9545 1158.7696,-1244.9545 1158.7696,-1244.9545 1158.7696,-1256.9545 1158.7696,-1256.9545 1158.7696,-1262.9545 1152.7696,-1268.9545 1146.7696,-1268.9545"/>
|
||||
<text text-anchor="middle" x="1129.7696" y="-1247.1545" font-family="Times,serif" font-size="16.00" fill="#000000">53: 48</text>
|
||||
</g>
|
||||
<!-- N48->N53 -->
|
||||
<g id="edge39" class="edge">
|
||||
<title>N48->N53</title>
|
||||
<path fill="none" stroke="#000000" d="M1129.7696,-1353.189C1129.7696,-1333.412 1129.7696,-1301.9156 1129.7696,-1279.1047"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="1133.2697,-1279.0015 1129.7696,-1269.0015 1126.2697,-1279.0015 1133.2697,-1279.0015"/>
|
||||
</g>
|
||||
<!-- N50 -->
|
||||
<g id="node51" class="node">
|
||||
<title>N50</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="1432.7696" cy="-1250.9545" rx="42.3529" ry="42.3529"/>
|
||||
<text text-anchor="middle" x="1432.7696" y="-1247.1545" font-family="Times,serif" font-size="16.00" fill="#000000">50: 3C</text>
|
||||
</g>
|
||||
<!-- N55 -->
|
||||
<g id="node56" class="node">
|
||||
<title>N55</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="1432.7696" cy="-1130.1017" rx="41.0244" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="1432.7696" y="-1126.3017" font-family="Times,serif" font-size="16.00" fill="#000000">55: 96</text>
|
||||
</g>
|
||||
<!-- N50->N55 -->
|
||||
<g id="edge40" class="edge">
|
||||
<title>N50->N55</title>
|
||||
<path fill="none" stroke="#000000" d="M1432.7696,-1208.3464C1432.7696,-1191.941 1432.7696,-1173.6113 1432.7696,-1158.8189"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="1436.2697,-1158.7511 1432.7696,-1148.7511 1429.2697,-1158.7511 1436.2697,-1158.7511"/>
|
||||
</g>
|
||||
<!-- N56 -->
|
||||
<g id="node57" class="node">
|
||||
<title>N56</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="1331.7696" cy="-1130.1017" rx="41.9398" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="1331.7696" y="-1126.3017" font-family="Times,serif" font-size="16.00" fill="#000000">56: 0F</text>
|
||||
</g>
|
||||
<!-- N51->N56 -->
|
||||
<g id="edge41" class="edge">
|
||||
<title>N51->N56</title>
|
||||
<path fill="none" stroke="#000000" d="M1331.7696,-1232.3361C1331.7696,-1212.6735 1331.7696,-1181.4265 1331.7696,-1158.6483"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="1335.2697,-1158.5429 1331.7696,-1148.543 1328.2697,-1158.543 1335.2697,-1158.5429"/>
|
||||
</g>
|
||||
<!-- N57 -->
|
||||
<g id="node58" class="node">
|
||||
<title>N57</title>
|
||||
<path fill="none" stroke="#000000" d="M1247.7696,-1148.1017C1247.7696,-1148.1017 1213.7696,-1148.1017 1213.7696,-1148.1017 1207.7696,-1148.1017 1201.7696,-1142.1017 1201.7696,-1136.1017 1201.7696,-1136.1017 1201.7696,-1124.1017 1201.7696,-1124.1017 1201.7696,-1118.1017 1207.7696,-1112.1017 1213.7696,-1112.1017 1213.7696,-1112.1017 1247.7696,-1112.1017 1247.7696,-1112.1017 1253.7696,-1112.1017 1259.7696,-1118.1017 1259.7696,-1124.1017 1259.7696,-1124.1017 1259.7696,-1136.1017 1259.7696,-1136.1017 1259.7696,-1142.1017 1253.7696,-1148.1017 1247.7696,-1148.1017"/>
|
||||
<text text-anchor="middle" x="1230.7696" y="-1126.3017" font-family="Times,serif" font-size="16.00" fill="#000000">57: 48</text>
|
||||
</g>
|
||||
<!-- N52->N57 -->
|
||||
<g id="edge42" class="edge">
|
||||
<title>N52->N57</title>
|
||||
<path fill="none" stroke="#000000" d="M1230.7696,-1232.3361C1230.7696,-1212.5591 1230.7696,-1181.0627 1230.7696,-1158.2519"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="1234.2697,-1158.1487 1230.7696,-1148.1487 1227.2697,-1158.1487 1234.2697,-1158.1487"/>
|
||||
</g>
|
||||
<!-- N54 -->
|
||||
<g id="node55" class="node">
|
||||
<title>N54</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="1533.7696" cy="-1130.1017" rx="42.3529" ry="42.3529"/>
|
||||
<text text-anchor="middle" x="1533.7696" y="-1126.3017" font-family="Times,serif" font-size="16.00" fill="#000000">54: 3C</text>
|
||||
</g>
|
||||
<!-- N59 -->
|
||||
<g id="node60" class="node">
|
||||
<title>N59</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="1533.7696" cy="-1009.2489" rx="41.0244" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="1533.7696" y="-1005.4489" font-family="Times,serif" font-size="16.00" fill="#000000">59: 96</text>
|
||||
</g>
|
||||
<!-- N54->N59 -->
|
||||
<g id="edge43" class="edge">
|
||||
<title>N54->N59</title>
|
||||
<path fill="none" stroke="#000000" d="M1533.7696,-1087.4935C1533.7696,-1071.0882 1533.7696,-1052.7585 1533.7696,-1037.9661"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="1537.2697,-1037.8982 1533.7696,-1027.8983 1530.2697,-1037.8983 1537.2697,-1037.8982"/>
|
||||
</g>
|
||||
<!-- N60 -->
|
||||
<g id="node61" class="node">
|
||||
<title>N60</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="1432.7696" cy="-1009.2489" rx="41.9398" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="1432.7696" y="-1005.4489" font-family="Times,serif" font-size="16.00" fill="#000000">60: 0F</text>
|
||||
</g>
|
||||
<!-- N55->N60 -->
|
||||
<g id="edge44" class="edge">
|
||||
<title>N55->N60</title>
|
||||
<path fill="none" stroke="#000000" d="M1432.7696,-1111.4833C1432.7696,-1091.8206 1432.7696,-1060.5737 1432.7696,-1037.7955"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="1436.2697,-1037.6901 1432.7696,-1027.6902 1429.2697,-1037.6902 1436.2697,-1037.6901"/>
|
||||
</g>
|
||||
<!-- N61 -->
|
||||
<g id="node62" class="node">
|
||||
<title>N61</title>
|
||||
<path fill="none" stroke="#000000" d="M1348.7696,-1027.2489C1348.7696,-1027.2489 1314.7696,-1027.2489 1314.7696,-1027.2489 1308.7696,-1027.2489 1302.7696,-1021.2489 1302.7696,-1015.2489 1302.7696,-1015.2489 1302.7696,-1003.2489 1302.7696,-1003.2489 1302.7696,-997.2489 1308.7696,-991.2489 1314.7696,-991.2489 1314.7696,-991.2489 1348.7696,-991.2489 1348.7696,-991.2489 1354.7696,-991.2489 1360.7696,-997.2489 1360.7696,-1003.2489 1360.7696,-1003.2489 1360.7696,-1015.2489 1360.7696,-1015.2489 1360.7696,-1021.2489 1354.7696,-1027.2489 1348.7696,-1027.2489"/>
|
||||
<text text-anchor="middle" x="1331.7696" y="-1005.4489" font-family="Times,serif" font-size="16.00" fill="#000000">61: 48</text>
|
||||
</g>
|
||||
<!-- N56->N61 -->
|
||||
<g id="edge45" class="edge">
|
||||
<title>N56->N61</title>
|
||||
<path fill="none" stroke="#000000" d="M1331.7696,-1111.4833C1331.7696,-1091.7063 1331.7696,-1060.2099 1331.7696,-1037.3991"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="1335.2697,-1037.2959 1331.7696,-1027.2959 1328.2697,-1037.2959 1335.2697,-1037.2959"/>
|
||||
</g>
|
||||
<!-- N58 -->
|
||||
<g id="node59" class="node">
|
||||
<title>N58</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="1634.7696" cy="-1009.2489" rx="42.3529" ry="42.3529"/>
|
||||
<text text-anchor="middle" x="1634.7696" y="-1005.4489" font-family="Times,serif" font-size="16.00" fill="#000000">58: 3C</text>
|
||||
</g>
|
||||
<!-- N63 -->
|
||||
<g id="node64" class="node">
|
||||
<title>N63</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="1634.7696" cy="-888.3961" rx="41.0244" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="1634.7696" y="-884.5961" font-family="Times,serif" font-size="16.00" fill="#000000">63: 96</text>
|
||||
</g>
|
||||
<!-- N58->N63 -->
|
||||
<g id="edge46" class="edge">
|
||||
<title>N58->N63</title>
|
||||
<path fill="none" stroke="#000000" d="M1634.7696,-966.6407C1634.7696,-950.2354 1634.7696,-931.9057 1634.7696,-917.1133"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="1638.2697,-917.0454 1634.7696,-907.0455 1631.2697,-917.0455 1638.2697,-917.0454"/>
|
||||
</g>
|
||||
<!-- N64 -->
|
||||
<g id="node65" class="node">
|
||||
<title>N64</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="1533.7696" cy="-888.3961" rx="41.9398" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="1533.7696" y="-884.5961" font-family="Times,serif" font-size="16.00" fill="#000000">64: 0F</text>
|
||||
</g>
|
||||
<!-- N59->N64 -->
|
||||
<g id="edge47" class="edge">
|
||||
<title>N59->N64</title>
|
||||
<path fill="none" stroke="#000000" d="M1533.7696,-990.6305C1533.7696,-970.9678 1533.7696,-939.7208 1533.7696,-916.9427"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="1537.2697,-916.8373 1533.7696,-906.8373 1530.2697,-916.8374 1537.2697,-916.8373"/>
|
||||
</g>
|
||||
<!-- N65 -->
|
||||
<g id="node66" class="node">
|
||||
<title>N65</title>
|
||||
<path fill="none" stroke="#000000" d="M1449.7696,-906.3961C1449.7696,-906.3961 1415.7696,-906.3961 1415.7696,-906.3961 1409.7696,-906.3961 1403.7696,-900.3961 1403.7696,-894.3961 1403.7696,-894.3961 1403.7696,-882.3961 1403.7696,-882.3961 1403.7696,-876.3961 1409.7696,-870.3961 1415.7696,-870.3961 1415.7696,-870.3961 1449.7696,-870.3961 1449.7696,-870.3961 1455.7696,-870.3961 1461.7696,-876.3961 1461.7696,-882.3961 1461.7696,-882.3961 1461.7696,-894.3961 1461.7696,-894.3961 1461.7696,-900.3961 1455.7696,-906.3961 1449.7696,-906.3961"/>
|
||||
<text text-anchor="middle" x="1432.7696" y="-884.5961" font-family="Times,serif" font-size="16.00" fill="#000000">65: 48</text>
|
||||
</g>
|
||||
<!-- N60->N65 -->
|
||||
<g id="edge48" class="edge">
|
||||
<title>N60->N65</title>
|
||||
<path fill="none" stroke="#000000" d="M1432.7696,-990.6305C1432.7696,-970.8535 1432.7696,-939.3571 1432.7696,-916.5462"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="1436.2697,-916.443 1432.7696,-906.4431 1429.2697,-916.4431 1436.2697,-916.443"/>
|
||||
</g>
|
||||
<!-- N62 -->
|
||||
<g id="node63" class="node">
|
||||
<title>N62</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="1735.7696" cy="-888.3961" rx="42.3529" ry="42.3529"/>
|
||||
<text text-anchor="middle" x="1735.7696" y="-884.5961" font-family="Times,serif" font-size="16.00" fill="#000000">62: 3C</text>
|
||||
</g>
|
||||
<!-- N67 -->
|
||||
<g id="node68" class="node">
|
||||
<title>N67</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="1735.7696" cy="-767.5433" rx="41.0244" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="1735.7696" y="-763.7433" font-family="Times,serif" font-size="16.00" fill="#000000">67: 96</text>
|
||||
</g>
|
||||
<!-- N62->N67 -->
|
||||
<g id="edge49" class="edge">
|
||||
<title>N62->N67</title>
|
||||
<path fill="none" stroke="#000000" d="M1735.7696,-845.7879C1735.7696,-829.3826 1735.7696,-811.0528 1735.7696,-796.2605"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="1739.2697,-796.1926 1735.7696,-786.1927 1732.2697,-796.1927 1739.2697,-796.1926"/>
|
||||
</g>
|
||||
<!-- N68 -->
|
||||
<g id="node69" class="node">
|
||||
<title>N68</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="1634.7696" cy="-767.5433" rx="41.9398" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="1634.7696" y="-763.7433" font-family="Times,serif" font-size="16.00" fill="#000000">68: 0F</text>
|
||||
</g>
|
||||
<!-- N63->N68 -->
|
||||
<g id="edge50" class="edge">
|
||||
<title>N63->N68</title>
|
||||
<path fill="none" stroke="#000000" d="M1634.7696,-869.7777C1634.7696,-850.115 1634.7696,-818.868 1634.7696,-796.0899"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="1638.2697,-795.9845 1634.7696,-785.9845 1631.2697,-795.9846 1638.2697,-795.9845"/>
|
||||
</g>
|
||||
<!-- N69 -->
|
||||
<g id="node70" class="node">
|
||||
<title>N69</title>
|
||||
<path fill="none" stroke="#000000" d="M1550.7696,-785.5433C1550.7696,-785.5433 1516.7696,-785.5433 1516.7696,-785.5433 1510.7696,-785.5433 1504.7696,-779.5433 1504.7696,-773.5433 1504.7696,-773.5433 1504.7696,-761.5433 1504.7696,-761.5433 1504.7696,-755.5433 1510.7696,-749.5433 1516.7696,-749.5433 1516.7696,-749.5433 1550.7696,-749.5433 1550.7696,-749.5433 1556.7696,-749.5433 1562.7696,-755.5433 1562.7696,-761.5433 1562.7696,-761.5433 1562.7696,-773.5433 1562.7696,-773.5433 1562.7696,-779.5433 1556.7696,-785.5433 1550.7696,-785.5433"/>
|
||||
<text text-anchor="middle" x="1533.7696" y="-763.7433" font-family="Times,serif" font-size="16.00" fill="#000000">69: 48</text>
|
||||
</g>
|
||||
<!-- N64->N69 -->
|
||||
<g id="edge51" class="edge">
|
||||
<title>N64->N69</title>
|
||||
<path fill="none" stroke="#000000" d="M1533.7696,-869.7777C1533.7696,-850.0007 1533.7696,-818.5043 1533.7696,-795.6934"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="1537.2697,-795.5902 1533.7696,-785.5903 1530.2697,-795.5903 1537.2697,-795.5902"/>
|
||||
</g>
|
||||
<!-- N66 -->
|
||||
<g id="node67" class="node">
|
||||
<title>N66</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="1836.7696" cy="-767.5433" rx="42.3529" ry="42.3529"/>
|
||||
<text text-anchor="middle" x="1836.7696" y="-763.7433" font-family="Times,serif" font-size="16.00" fill="#000000">66: 3C</text>
|
||||
</g>
|
||||
<!-- N71 -->
|
||||
<g id="node72" class="node">
|
||||
<title>N71</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="1836.7696" cy="-646.6905" rx="41.0244" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="1836.7696" y="-642.8905" font-family="Times,serif" font-size="16.00" fill="#000000">71: 96</text>
|
||||
</g>
|
||||
<!-- N66->N71 -->
|
||||
<g id="edge52" class="edge">
|
||||
<title>N66->N71</title>
|
||||
<path fill="none" stroke="#000000" d="M1836.7696,-724.9351C1836.7696,-708.5297 1836.7696,-690.2 1836.7696,-675.4077"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="1840.2697,-675.3398 1836.7696,-665.3398 1833.2697,-675.3399 1840.2697,-675.3398"/>
|
||||
</g>
|
||||
<!-- N72 -->
|
||||
<g id="node73" class="node">
|
||||
<title>N72</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="1735.7696" cy="-646.6905" rx="41.9398" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="1735.7696" y="-642.8905" font-family="Times,serif" font-size="16.00" fill="#000000">72: 0F</text>
|
||||
</g>
|
||||
<!-- N67->N72 -->
|
||||
<g id="edge53" class="edge">
|
||||
<title>N67->N72</title>
|
||||
<path fill="none" stroke="#000000" d="M1735.7696,-748.9249C1735.7696,-729.2622 1735.7696,-698.0152 1735.7696,-675.237"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="1739.2697,-675.1317 1735.7696,-665.1317 1732.2697,-675.1317 1739.2697,-675.1317"/>
|
||||
</g>
|
||||
<!-- N73 -->
|
||||
<g id="node74" class="node">
|
||||
<title>N73</title>
|
||||
<path fill="none" stroke="#000000" d="M1651.7696,-664.6905C1651.7696,-664.6905 1617.7696,-664.6905 1617.7696,-664.6905 1611.7696,-664.6905 1605.7696,-658.6905 1605.7696,-652.6905 1605.7696,-652.6905 1605.7696,-640.6905 1605.7696,-640.6905 1605.7696,-634.6905 1611.7696,-628.6905 1617.7696,-628.6905 1617.7696,-628.6905 1651.7696,-628.6905 1651.7696,-628.6905 1657.7696,-628.6905 1663.7696,-634.6905 1663.7696,-640.6905 1663.7696,-640.6905 1663.7696,-652.6905 1663.7696,-652.6905 1663.7696,-658.6905 1657.7696,-664.6905 1651.7696,-664.6905"/>
|
||||
<text text-anchor="middle" x="1634.7696" y="-642.8905" font-family="Times,serif" font-size="16.00" fill="#000000">73: 48</text>
|
||||
</g>
|
||||
<!-- N68->N73 -->
|
||||
<g id="edge54" class="edge">
|
||||
<title>N68->N73</title>
|
||||
<path fill="none" stroke="#000000" d="M1634.7696,-748.9249C1634.7696,-729.1479 1634.7696,-697.6515 1634.7696,-674.8406"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="1638.2697,-674.7374 1634.7696,-664.7374 1631.2697,-674.7375 1638.2697,-674.7374"/>
|
||||
</g>
|
||||
<!-- N70 -->
|
||||
<g id="node71" class="node">
|
||||
<title>N70</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="1937.7696" cy="-646.6905" rx="42.3529" ry="42.3529"/>
|
||||
<text text-anchor="middle" x="1937.7696" y="-642.8905" font-family="Times,serif" font-size="16.00" fill="#000000">70: 3C</text>
|
||||
</g>
|
||||
<!-- N75 -->
|
||||
<g id="node76" class="node">
|
||||
<title>N75</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="1937.7696" cy="-525.8377" rx="41.0244" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="1937.7696" y="-522.0377" font-family="Times,serif" font-size="16.00" fill="#000000">75: 96</text>
|
||||
</g>
|
||||
<!-- N70->N75 -->
|
||||
<g id="edge55" class="edge">
|
||||
<title>N70->N75</title>
|
||||
<path fill="none" stroke="#000000" d="M1937.7696,-604.0823C1937.7696,-587.6769 1937.7696,-569.3472 1937.7696,-554.5549"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="1941.2697,-554.487 1937.7696,-544.487 1934.2697,-554.4871 1941.2697,-554.487"/>
|
||||
</g>
|
||||
<!-- N76 -->
|
||||
<g id="node77" class="node">
|
||||
<title>N76</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="1836.7696" cy="-525.8377" rx="41.9398" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="1836.7696" y="-522.0377" font-family="Times,serif" font-size="16.00" fill="#000000">76: 0F</text>
|
||||
</g>
|
||||
<!-- N71->N76 -->
|
||||
<g id="edge56" class="edge">
|
||||
<title>N71->N76</title>
|
||||
<path fill="none" stroke="#000000" d="M1836.7696,-628.0721C1836.7696,-608.4094 1836.7696,-577.1624 1836.7696,-554.3842"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="1840.2697,-554.2789 1836.7696,-544.2789 1833.2697,-554.2789 1840.2697,-554.2789"/>
|
||||
</g>
|
||||
<!-- N77 -->
|
||||
<g id="node78" class="node">
|
||||
<title>N77</title>
|
||||
<path fill="none" stroke="#000000" d="M1752.7696,-543.8377C1752.7696,-543.8377 1718.7696,-543.8377 1718.7696,-543.8377 1712.7696,-543.8377 1706.7696,-537.8377 1706.7696,-531.8377 1706.7696,-531.8377 1706.7696,-519.8377 1706.7696,-519.8377 1706.7696,-513.8377 1712.7696,-507.8377 1718.7696,-507.8377 1718.7696,-507.8377 1752.7696,-507.8377 1752.7696,-507.8377 1758.7696,-507.8377 1764.7696,-513.8377 1764.7696,-519.8377 1764.7696,-519.8377 1764.7696,-531.8377 1764.7696,-531.8377 1764.7696,-537.8377 1758.7696,-543.8377 1752.7696,-543.8377"/>
|
||||
<text text-anchor="middle" x="1735.7696" y="-522.0377" font-family="Times,serif" font-size="16.00" fill="#000000">77: 48</text>
|
||||
</g>
|
||||
<!-- N72->N77 -->
|
||||
<g id="edge57" class="edge">
|
||||
<title>N72->N77</title>
|
||||
<path fill="none" stroke="#000000" d="M1735.7696,-628.0721C1735.7696,-608.2951 1735.7696,-576.7987 1735.7696,-553.9878"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="1739.2697,-553.8846 1735.7696,-543.8846 1732.2697,-553.8847 1739.2697,-553.8846"/>
|
||||
</g>
|
||||
<!-- N74 -->
|
||||
<g id="node75" class="node">
|
||||
<title>N74</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="2038.7696" cy="-525.8377" rx="42.3529" ry="42.3529"/>
|
||||
<text text-anchor="middle" x="2038.7696" y="-522.0377" font-family="Times,serif" font-size="16.00" fill="#000000">74: 3C</text>
|
||||
</g>
|
||||
<!-- N79 -->
|
||||
<g id="node80" class="node">
|
||||
<title>N79</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="2038.7696" cy="-404.9848" rx="41.0244" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="2038.7696" y="-401.1848" font-family="Times,serif" font-size="16.00" fill="#000000">79: 96</text>
|
||||
</g>
|
||||
<!-- N74->N79 -->
|
||||
<g id="edge58" class="edge">
|
||||
<title>N74->N79</title>
|
||||
<path fill="none" stroke="#000000" d="M2038.7696,-483.2295C2038.7696,-466.8241 2038.7696,-448.4944 2038.7696,-433.7021"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="2042.2697,-433.6342 2038.7696,-423.6342 2035.2697,-433.6342 2042.2697,-433.6342"/>
|
||||
</g>
|
||||
<!-- N80 -->
|
||||
<g id="node81" class="node">
|
||||
<title>N80</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="1937.7696" cy="-404.9848" rx="41.9398" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="1937.7696" y="-401.1848" font-family="Times,serif" font-size="16.00" fill="#000000">80: 0F</text>
|
||||
</g>
|
||||
<!-- N75->N80 -->
|
||||
<g id="edge59" class="edge">
|
||||
<title>N75->N80</title>
|
||||
<path fill="none" stroke="#000000" d="M1937.7696,-507.2193C1937.7696,-487.5566 1937.7696,-456.3096 1937.7696,-433.5314"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="1941.2697,-433.426 1937.7696,-423.4261 1934.2697,-433.4261 1941.2697,-433.426"/>
|
||||
</g>
|
||||
<!-- N81 -->
|
||||
<g id="node82" class="node">
|
||||
<title>N81</title>
|
||||
<path fill="none" stroke="#000000" d="M1853.7696,-422.9848C1853.7696,-422.9848 1819.7696,-422.9848 1819.7696,-422.9848 1813.7696,-422.9848 1807.7696,-416.9848 1807.7696,-410.9848 1807.7696,-410.9848 1807.7696,-398.9848 1807.7696,-398.9848 1807.7696,-392.9848 1813.7696,-386.9848 1819.7696,-386.9848 1819.7696,-386.9848 1853.7696,-386.9848 1853.7696,-386.9848 1859.7696,-386.9848 1865.7696,-392.9848 1865.7696,-398.9848 1865.7696,-398.9848 1865.7696,-410.9848 1865.7696,-410.9848 1865.7696,-416.9848 1859.7696,-422.9848 1853.7696,-422.9848"/>
|
||||
<text text-anchor="middle" x="1836.7696" y="-401.1848" font-family="Times,serif" font-size="16.00" fill="#000000">81: 48</text>
|
||||
</g>
|
||||
<!-- N76->N81 -->
|
||||
<g id="edge60" class="edge">
|
||||
<title>N76->N81</title>
|
||||
<path fill="none" stroke="#000000" d="M1836.7696,-507.2193C1836.7696,-487.4423 1836.7696,-455.9459 1836.7696,-433.135"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="1840.2697,-433.0318 1836.7696,-423.0318 1833.2697,-433.0319 1840.2697,-433.0318"/>
|
||||
</g>
|
||||
<!-- N78 -->
|
||||
<g id="node79" class="node">
|
||||
<title>N78</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="2139.7696" cy="-404.9848" rx="42.3529" ry="42.3529"/>
|
||||
<text text-anchor="middle" x="2139.7696" y="-401.1848" font-family="Times,serif" font-size="16.00" fill="#000000">78: 3C</text>
|
||||
</g>
|
||||
<!-- N83 -->
|
||||
<g id="node84" class="node">
|
||||
<title>N83</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="2139.7696" cy="-284.132" rx="41.0244" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="2139.7696" y="-280.332" font-family="Times,serif" font-size="16.00" fill="#000000">83: 96</text>
|
||||
</g>
|
||||
<!-- N78->N83 -->
|
||||
<g id="edge61" class="edge">
|
||||
<title>N78->N83</title>
|
||||
<path fill="none" stroke="#000000" d="M2139.7696,-362.3767C2139.7696,-345.9713 2139.7696,-327.6416 2139.7696,-312.8492"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="2143.2697,-312.7814 2139.7696,-302.7814 2136.2697,-312.7814 2143.2697,-312.7814"/>
|
||||
</g>
|
||||
<!-- N84 -->
|
||||
<g id="node85" class="node">
|
||||
<title>N84</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="2038.7696" cy="-284.132" rx="41.9398" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="2038.7696" y="-280.332" font-family="Times,serif" font-size="16.00" fill="#000000">84: 0F</text>
|
||||
</g>
|
||||
<!-- N79->N84 -->
|
||||
<g id="edge62" class="edge">
|
||||
<title>N79->N84</title>
|
||||
<path fill="none" stroke="#000000" d="M2038.7696,-386.3664C2038.7696,-366.7038 2038.7696,-335.4568 2038.7696,-312.6786"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="2042.2697,-312.5732 2038.7696,-302.5733 2035.2697,-312.5733 2042.2697,-312.5732"/>
|
||||
</g>
|
||||
<!-- N85 -->
|
||||
<g id="node86" class="node">
|
||||
<title>N85</title>
|
||||
<path fill="none" stroke="#000000" d="M1954.7696,-302.132C1954.7696,-302.132 1920.7696,-302.132 1920.7696,-302.132 1914.7696,-302.132 1908.7696,-296.132 1908.7696,-290.132 1908.7696,-290.132 1908.7696,-278.132 1908.7696,-278.132 1908.7696,-272.132 1914.7696,-266.132 1920.7696,-266.132 1920.7696,-266.132 1954.7696,-266.132 1954.7696,-266.132 1960.7696,-266.132 1966.7696,-272.132 1966.7696,-278.132 1966.7696,-278.132 1966.7696,-290.132 1966.7696,-290.132 1966.7696,-296.132 1960.7696,-302.132 1954.7696,-302.132"/>
|
||||
<text text-anchor="middle" x="1937.7696" y="-280.332" font-family="Times,serif" font-size="16.00" fill="#000000">85: 48</text>
|
||||
</g>
|
||||
<!-- N80->N85 -->
|
||||
<g id="edge63" class="edge">
|
||||
<title>N80->N85</title>
|
||||
<path fill="none" stroke="#000000" d="M1937.7696,-386.3664C1937.7696,-366.5894 1937.7696,-335.0931 1937.7696,-312.2822"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="1941.2697,-312.179 1937.7696,-302.179 1934.2697,-312.179 1941.2697,-312.179"/>
|
||||
</g>
|
||||
<!-- N82 -->
|
||||
<g id="node83" class="node">
|
||||
<title>N82</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="2240.7696" cy="-284.132" rx="42.3529" ry="42.3529"/>
|
||||
<text text-anchor="middle" x="2240.7696" y="-280.332" font-family="Times,serif" font-size="16.00" fill="#000000">82: 3C</text>
|
||||
</g>
|
||||
<!-- N87 -->
|
||||
<g id="node88" class="node">
|
||||
<title>N87</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="2240.7696" cy="-163.2792" rx="41.0244" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="2240.7696" y="-159.4792" font-family="Times,serif" font-size="16.00" fill="#000000">87: 96</text>
|
||||
</g>
|
||||
<!-- N82->N87 -->
|
||||
<g id="edge64" class="edge">
|
||||
<title>N82->N87</title>
|
||||
<path fill="none" stroke="#000000" d="M2240.7696,-241.5239C2240.7696,-225.1185 2240.7696,-206.7888 2240.7696,-191.9964"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="2244.2697,-191.9286 2240.7696,-181.9286 2237.2697,-191.9286 2244.2697,-191.9286"/>
|
||||
</g>
|
||||
<!-- N88 -->
|
||||
<g id="node89" class="node">
|
||||
<title>N88</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="2139.7696" cy="-163.2792" rx="41.9398" ry="18.2703"/>
|
||||
<text text-anchor="middle" x="2139.7696" y="-159.4792" font-family="Times,serif" font-size="16.00" fill="#000000">88: 0F</text>
|
||||
</g>
|
||||
<!-- N83->N88 -->
|
||||
<g id="edge65" class="edge">
|
||||
<title>N83->N88</title>
|
||||
<path fill="none" stroke="#000000" d="M2139.7696,-265.5136C2139.7696,-245.8509 2139.7696,-214.604 2139.7696,-191.8258"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="2143.2697,-191.7204 2139.7696,-181.7205 2136.2697,-191.7205 2143.2697,-191.7204"/>
|
||||
</g>
|
||||
<!-- N89 -->
|
||||
<g id="node90" class="node">
|
||||
<title>N89</title>
|
||||
<path fill="none" stroke="#000000" d="M2055.7696,-181.2792C2055.7696,-181.2792 2021.7696,-181.2792 2021.7696,-181.2792 2015.7696,-181.2792 2009.7696,-175.2792 2009.7696,-169.2792 2009.7696,-169.2792 2009.7696,-157.2792 2009.7696,-157.2792 2009.7696,-151.2792 2015.7696,-145.2792 2021.7696,-145.2792 2021.7696,-145.2792 2055.7696,-145.2792 2055.7696,-145.2792 2061.7696,-145.2792 2067.7696,-151.2792 2067.7696,-157.2792 2067.7696,-157.2792 2067.7696,-169.2792 2067.7696,-169.2792 2067.7696,-175.2792 2061.7696,-181.2792 2055.7696,-181.2792"/>
|
||||
<text text-anchor="middle" x="2038.7696" y="-159.4792" font-family="Times,serif" font-size="16.00" fill="#000000">89: 48</text>
|
||||
</g>
|
||||
<!-- N84->N89 -->
|
||||
<g id="edge66" class="edge">
|
||||
<title>N84->N89</title>
|
||||
<path fill="none" stroke="#000000" d="M2038.7696,-265.5136C2038.7696,-245.7366 2038.7696,-214.2402 2038.7696,-191.4294"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="2042.2697,-191.3262 2038.7696,-181.3262 2035.2697,-191.3262 2042.2697,-191.3262"/>
|
||||
</g>
|
||||
<!-- N86 -->
|
||||
<g id="node87" class="node">
|
||||
<title>N86</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="2341.7696" cy="-163.2792" rx="42.3529" ry="42.3529"/>
|
||||
<text text-anchor="middle" x="2341.7696" y="-159.4792" font-family="Times,serif" font-size="16.00" fill="#000000">86: 3C</text>
|
||||
</g>
|
||||
<!-- N91 -->
|
||||
<g id="node92" class="node">
|
||||
<title>N91</title>
|
||||
<path fill="none" stroke="#000000" d="M2358.7696,-60.4264C2358.7696,-60.4264 2324.7696,-60.4264 2324.7696,-60.4264 2318.7696,-60.4264 2312.7696,-54.4264 2312.7696,-48.4264 2312.7696,-48.4264 2312.7696,-36.4264 2312.7696,-36.4264 2312.7696,-30.4264 2318.7696,-24.4264 2324.7696,-24.4264 2324.7696,-24.4264 2358.7696,-24.4264 2358.7696,-24.4264 2364.7696,-24.4264 2370.7696,-30.4264 2370.7696,-36.4264 2370.7696,-36.4264 2370.7696,-48.4264 2370.7696,-48.4264 2370.7696,-54.4264 2364.7696,-60.4264 2358.7696,-60.4264"/>
|
||||
<text text-anchor="middle" x="2341.7696" y="-38.6264" font-family="Times,serif" font-size="16.00" fill="#000000">91: 96</text>
|
||||
</g>
|
||||
<!-- N86->N91 -->
|
||||
<g id="edge67" class="edge">
|
||||
<title>N86->N91</title>
|
||||
<path fill="none" stroke="#000000" d="M2341.7696,-120.671C2341.7696,-104.0469 2341.7696,-85.4468 2341.7696,-70.5538"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="2345.2697,-70.4458 2341.7696,-60.4458 2338.2697,-70.4459 2345.2697,-70.4458"/>
|
||||
</g>
|
||||
<!-- N92 -->
|
||||
<g id="node93" class="node">
|
||||
<title>N92</title>
|
||||
<path fill="none" stroke="#000000" d="M2258.2696,-60.4264C2258.2696,-60.4264 2223.2696,-60.4264 2223.2696,-60.4264 2217.2696,-60.4264 2211.2696,-54.4264 2211.2696,-48.4264 2211.2696,-48.4264 2211.2696,-36.4264 2211.2696,-36.4264 2211.2696,-30.4264 2217.2696,-24.4264 2223.2696,-24.4264 2223.2696,-24.4264 2258.2696,-24.4264 2258.2696,-24.4264 2264.2696,-24.4264 2270.2696,-30.4264 2270.2696,-36.4264 2270.2696,-36.4264 2270.2696,-48.4264 2270.2696,-48.4264 2270.2696,-54.4264 2264.2696,-60.4264 2258.2696,-60.4264"/>
|
||||
<text text-anchor="middle" x="2240.7696" y="-38.6264" font-family="Times,serif" font-size="16.00" fill="#000000">92: 0F</text>
|
||||
</g>
|
||||
<!-- N87->N92 -->
|
||||
<g id="edge68" class="edge">
|
||||
<title>N87->N92</title>
|
||||
<path fill="none" stroke="#000000" d="M2240.7696,-144.6608C2240.7696,-124.8838 2240.7696,-93.3874 2240.7696,-70.5765"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="2244.2697,-70.4733 2240.7696,-60.4734 2237.2697,-70.4734 2244.2697,-70.4733"/>
|
||||
</g>
|
||||
<!-- N93 -->
|
||||
<g id="node94" class="node">
|
||||
<title>N93</title>
|
||||
<path fill="none" stroke="#000000" d="M2156.7696,-60.4264C2156.7696,-60.4264 2122.7696,-60.4264 2122.7696,-60.4264 2116.7696,-60.4264 2110.7696,-54.4264 2110.7696,-48.4264 2110.7696,-48.4264 2110.7696,-36.4264 2110.7696,-36.4264 2110.7696,-30.4264 2116.7696,-24.4264 2122.7696,-24.4264 2122.7696,-24.4264 2156.7696,-24.4264 2156.7696,-24.4264 2162.7696,-24.4264 2168.7696,-30.4264 2168.7696,-36.4264 2168.7696,-36.4264 2168.7696,-48.4264 2168.7696,-48.4264 2168.7696,-54.4264 2162.7696,-60.4264 2156.7696,-60.4264"/>
|
||||
<text text-anchor="middle" x="2139.7696" y="-38.6264" font-family="Times,serif" font-size="16.00" fill="#000000">93: 48</text>
|
||||
</g>
|
||||
<!-- N88->N93 -->
|
||||
<g id="edge69" class="edge">
|
||||
<title>N88->N93</title>
|
||||
<path fill="none" stroke="#000000" d="M2139.7696,-144.6608C2139.7696,-124.8838 2139.7696,-93.3874 2139.7696,-70.5765"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="2143.2697,-70.4733 2139.7696,-60.4734 2136.2697,-70.4734 2143.2697,-70.4733"/>
|
||||
</g>
|
||||
<!-- N90 -->
|
||||
<g id="node91" class="node">
|
||||
<title>N90</title>
|
||||
<ellipse fill="none" stroke="#000000" cx="2430.7696" cy="-42.4264" rx="42.3529" ry="42.3529"/>
|
||||
<text text-anchor="middle" x="2430.7696" y="-38.6264" font-family="Times,serif" font-size="16.00" fill="#000000">90: 3C</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 61 KiB |
|
|
@ -144,3 +144,8 @@ Topo-20.dot::
|
|||
It is comprised of small yet interleaved dependency tries,
|
||||
filling each level up to the maximum capacity (limited here to 8 workers).
|
||||
|
||||
Topo-21.dot::
|
||||
Similar topology to emulate realistic load.
|
||||
This graph requires only 4 parallel workers for maximum efficiency
|
||||
and is comprised entirely of short, 4-step interleaved linear chains.
|
||||
|
||||
|
|
|
|||
|
|
@ -452,13 +452,14 @@ cout << "time="<<runTime/1000
|
|||
}
|
||||
|
||||
TestChainLoad<8> testLoad{256};
|
||||
testLoad.seedingRule(testLoad.rule().probability(0.6).minVal(2))
|
||||
testLoad.seedingRule(testLoad.rule().probability(0.6).maxVal(2))
|
||||
.pruningRule(testLoad.rule().probability(0.44))
|
||||
.setSeed(55)
|
||||
.setSeed(60)
|
||||
.buildTopology()
|
||||
// .printTopologyDOT()
|
||||
// .printTopologyStatistics()
|
||||
.printTopologyDOT()
|
||||
.printTopologyStatistics()
|
||||
;
|
||||
return;
|
||||
|
||||
// auto stressFac = 1.0;
|
||||
// auto concurrency = 8;
|
||||
|
|
@ -487,7 +488,7 @@ cout << "time="<<runTime/1000
|
|||
// double TRIGGER_SDEV = 1.0; //0.25;
|
||||
// double TRIGGER_DELTA = 2.0; //0.5;
|
||||
// uint CONCURRENCY = 4;
|
||||
uint CONCURRENCY = 8;
|
||||
uint CONCURRENCY = 4;
|
||||
// bool SCHED_DEPENDS = true;
|
||||
bool showRuns = true;
|
||||
|
||||
|
|
@ -495,10 +496,10 @@ cout << "time="<<runTime/1000
|
|||
testLoad()
|
||||
{
|
||||
TestLoad testLoad{256};
|
||||
testLoad.seedingRule(testLoad.rule().probability(0.6).minVal(2))
|
||||
testLoad.seedingRule(testLoad.rule().probability(0.6).maxVal(2))
|
||||
.pruningRule(testLoad.rule().probability(0.44))
|
||||
.weightRule(testLoad.value(1))
|
||||
.setSeed(55);
|
||||
.setSeed(60);
|
||||
return testLoad;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -392,16 +392,12 @@ namespace test {
|
|||
void
|
||||
maybeAdaptScaleEmpirically (TestSetup& testSetup, double stressFac)
|
||||
{
|
||||
double formFac = testSetup.determineEmpiricFormFactor (CONF::CONCURRENCY);
|
||||
if (not gaugeProbes) return;
|
||||
double gain = util::limited (0, pow(stressFac, 9), 1);
|
||||
if (gain < 0.2) return;
|
||||
//
|
||||
// double formFac = testSetup.determineEmpiricFormFactor (CONF::CONCURRENCY);
|
||||
double afak = adjustmentFac;
|
||||
double formFac = testSetup.determineEmpiricFormFactor (CONF::CONCURRENCY);
|
||||
adjustmentFac = gain*formFac + (1-gain)*adjustmentFac;
|
||||
cout << _Fmt{"g:%-2d|%3.1f stress:%4.2f formFac=%5.3f ▶ %5.3f -> %5.3f => %5.3f"}
|
||||
% gaugeProbes % gain % stressFac% formFac % afak%adjustmentFac % (stressFac/adjustmentFac) <<endl;
|
||||
testSetup.withAdaptedSchedule(stressFac, CONF::CONCURRENCY, adjustmentFac);
|
||||
--gaugeProbes;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1990,7 +1990,6 @@ namespace test {
|
|||
double expectedNodeTime = _uSec(compuLoad_->timeBase) * weightSum / chainLoad_.size();
|
||||
double realAvgNodeTime = stat.activeTime / stat.activationCnt;
|
||||
formFac *= realAvgNodeTime / expectedNodeTime;
|
||||
cout<<"∅conc:"<<stat.avgConcurrency<<" ....f◇f="<<formFac<<endl;
|
||||
return formFac;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7352,7 +7352,7 @@ While the ability to reason about activities and verify their behaviour in isola
|
|||
The way other parts of the system are built, requires us to obtain a guaranteed knowledge of some job's termination. It is possible to obtain that knowledge with some limited delay, but it nees to be absoultely reliable (violations leading to segfault). The requirements stated above assume this can be achieved through //jobs with guaranteed execution.// Alternatively we could consider installing specific callbacks -- in this case the scheduler itself has to guarantee the invocation of these callbacks, even if the corresponding job fails or is never invoked. It doesn't seem there is any other option.
|
||||
</pre>
|
||||
</div>
|
||||
<div title="SchedulerTest" creator="Ichthyostega" modifier="Ichthyostega" created="202312281814" modified="202404172013" tags="Rendering operational draft img" changecount="106">
|
||||
<div title="SchedulerTest" creator="Ichthyostega" modifier="Ichthyostega" created="202312281814" modified="202404172226" tags="Rendering operational draft img" changecount="119">
|
||||
<pre>With the Scheduler testing effort [[#1344|https://issues.lumiera.org/ticket/1344]], several goals are pursued
|
||||
* by exposing the new scheduler implementation to excessive overload, its robustness can be assessed and defects can be spotted
|
||||
* with the help of a systematic, calibrated load, characteristic performance limits and breaking points can be established
|
||||
|
|
@ -7459,9 +7459,24 @@ Further measurement runs with other parameter values fit well in between the two
|
|||
!!!Stationary Processing
|
||||
The ultimate goal of //load- and stress testing// is to establish a notion of //full load// and to demonstrate adequate performance under //nominal load conditions.// Thus, after investigating overheads and the breaking point of a complex schedule, a measurement setup was established with load patterns deemed „realistic“ -- based on knowledge regarding some typical media processing demands encountered for video editing. Such a setup entails small dependency trees of jobs loaded with computation times around 5ms, interleaving several challenges up to the available level of concurrency. To determine viable parameter bounds, the //breaking-point// measurement method can be applied to an extended graph with this structure, to find out at which level the computations will use the system's abilities to such a degree that it is not able to move along faster any more.
|
||||
<html><img title="Load topology for stationary processing with 8 cores" src="dump/2024-04-08.Scheduler-LoadTest/Topo-20.svg" style="width:100%"/></html>
|
||||
This pattern can be processed
|
||||
* with 8 workers in overall 192ms
|
||||
* processing 256 Nodes, each loaded with 5ms
|
||||
* since this graph has 35 levels, ∅ 5.6ms are required per level
|
||||
* on average, concurrency reaches 5.4 (some nodes have to wait for dependencies)
|
||||
This research revealed again the tendency of the given Scheduler implementation to ''scale-down capacity unless overloaded''. Using the breaking-point method with such a fine grained and rather homogenous schedule can thus be problematic, since a search for the limit will inevitably involve running several probes //below the limit// -- which can cause the scheduler to reduce the number of workers used to a level that fills the available time. Depending on the path taken, the search can thus find a breaking point corresponding to a throttled capacity, while taking a search path through parameter ranges of overload will reveal the ability to follow a much tighter schedule. While this is an inherent problem of this measurement approach, it can be mitigated to some degree by limiting the empiric adaption of the parameter scale to the initial phase of the measurement, while ensuring this initial phase is started from overload territory.
|
||||
<html><img title="Load topology for stationary processing with 8 cores" src="dump/2024-04-08.Scheduler-LoadTest/Topo-21.svg" style="float:right; width: 80ex; margin-left:2ex"/></html>
|
||||
|
||||
This research revealed again the tendency of the given Scheduler implementation to ''scale-down capacity unless overloaded''. Using the breaking-point method with such a fine grained and rather homogenous schedule can be problematic, since a search for the limit will inevitably involve running several probes //below the limit// -- which can cause the scheduler to reduce the number of workers used to a level that fills the available time. Depending on the path taken, the search can thus find a breaking point corresponding to a throttled capacity, while taking a search path through parameter ranges of overload will reveal the ability to follow a much tighter schedule. While this is an inherent problem of this measurement approach, it can be mitigated to some degree by limiting the empiric adaption of the parameter scale to the initial phase of the measurement, while ensuring this initial phase is started from overload territory.
|
||||
</pre>
|
||||
For comparison, another, similar load pattern was used, which however is comprised entirely of interleaved 4-step linear chains. Each level can thus be handled with a maximum of 4 workers; actually there are 66 levels — with ∅3.88 Nodes/Level, due to the ramp-up and ramp-down towards the ends.
|
||||
| !observation|!4 workers|!8 workers|
|
||||
| breaking point|stress 1.01 |stress 0.8 |
|
||||
| run time|340ms |234ms |
|
||||
| ≙ per level|5.15ms |3.5 |
|
||||
| avg.conc|3.5 |5.3 |
|
||||
These observations indicate ''adequate handling without tangible overhead''.
|
||||
When limited to 4 workers, the concurrency of ∅ 3.5 is only slightly below the average number of 3.88 Nodes/Level, and the time per level is near optimal, taking into account the fact (established by the overload measurements) that the actual job load tends to be slightly above the calibrated value of 5ms. The setup with 8 workers shows that further worker can be used to accommodate a tighter schedule, but then the symptoms for //breaking the schedule// are already reached at a nominally lower stress value, and only 5.3 of 8 workers will be active on average — this graph simply does not offer more work load locally, since 75% of all Nodes have a predecessor.
|
||||
|
||||
<html><div style="clear: both"/></html></pre>
|
||||
</div>
|
||||
<div title="SchedulerWorker" creator="Ichthyostega" modifier="Ichthyostega" created="202309041605" modified="202312281745" tags="Rendering operational spec draft" changecount="21">
|
||||
<pre>The Scheduler //maintains a ''Work Force'' (a pool of workers) to perform the next [[render activities|RenderActivity]] continuously.//
|
||||
|
|
|
|||
|
|
@ -116261,10 +116261,11 @@ std::cout << tmpl.render({"what", "World"}) << s
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1713110964437" ID="ID_1985468535" MODIFIED="1713110974268" TEXT="Beobachtung wieder im Stress-Test-Rig">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1713111196126" ID="ID_850536834" MODIFIED="1713138669660" TEXT="6.Test">
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node COLOR="#338800" CREATED="1713110964437" ID="ID_1985468535" MODIFIED="1713392925805" TEXT="Beobachtung wieder im Stress-Test-Rig">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#338800" CREATED="1713111196126" ID="ID_850536834" MODIFIED="1713392920805" TEXT="6.Test">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<icon BUILTIN="smiley-neutral"/>
|
||||
<node CREATED="1713111392612" ID="ID_248623434" LINK="#ID_1699065000" MODIFIED="1713111422512" TEXT="Graph-3 mit 8-Nodes Breite und 8 Kernen">
|
||||
<node CREATED="1713111480488" ID="ID_1948015468" MODIFIED="1713111524014" TEXT="63% Seed, 31% Exit, 12% Join, 8% inner Nodes"/>
|
||||
<node CREATED="1713111537808" ID="ID_1390128414" MODIFIED="1713111552841" TEXT="∅ 4.74 Seeds / Level"/>
|
||||
|
|
@ -116759,6 +116760,107 @@ std::cout << tmpl.render({"what", "World"}) << s
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#435e98" CREATED="1713385611349" ID="ID_1753811281" MODIFIED="1713386167596" TEXT="Ergebnis">
|
||||
<icon BUILTIN="forward"/>
|
||||
<node CREATED="1713385652976" ID="ID_100314715" MODIFIED="1713385672097" TEXT="nomineller Breaking-point bei Stress = 1.01"/>
|
||||
<node CREATED="1713385672850" ID="ID_62875516" MODIFIED="1713385690631" TEXT="Laufzeit 192ms für 256 Nodes"/>
|
||||
<node CREATED="1713386097599" ID="ID_945876100" MODIFIED="1713386105568" TEXT="eingeteilt in 34 Level"/>
|
||||
<node CREATED="1713385808426" ID="ID_1237464001" MODIFIED="1713386093779" TEXT="≙ 5.6ms pro Level"/>
|
||||
<node CREATED="1713386149478" ID="ID_1576163862" MODIFIED="1713386155841" TEXT="∅concurrency = 5.4"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#338800" CREATED="1713388032420" ID="ID_448970923" MODIFIED="1713392922837" TEXT="7.Test">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<icon BUILTIN="ksmiletris"/>
|
||||
<node CREATED="1713388053790" ID="ID_1441088139" LINK="#ID_1928191255" MODIFIED="1713390183085" TEXT="verwende besser Graph-2 und beschränke auf concurrency = 4">
|
||||
<node CREATED="1713388269784" ID="ID_1234121492" MODIFIED="1713388286244" TEXT="weil er nur maximal 4 Kerne parallel braucht"/>
|
||||
<node CREATED="1713388287014" ID="ID_385515593" MODIFIED="1713388351726" TEXT="damit ist er eine bessere Grundlage für einen generischen Test">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
...ich muß auch daran denken, daß nicht jede Maschine 8 Kerne hat. Insofern erscheint es sinnvoller, die Concurrency auf 4 zu beschränken, und dann zu sehen, wo man landet
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
<node CREATED="1713388249411" ID="ID_1149253486" MODIFIED="1713388494914" TEXT="weil dieser Graph nur aus unverknüpften Ketten besteht">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
der Graph-3 hat denn doch immer wieder mehrstufige Dependency-Tries — und ich kann daher nicht entscheiden, ob die beobachtete ∅concurrency = 5.4 auf dependency-wait zurückzuführen ist, oder tatsächlich durch Abregeln der Kapazität durch den Scheduler zustande kam. Möglicherweise auch beides im Wechselspiel.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
<node CREATED="1713389530936" ID="ID_687771347" MODIFIED="1713389605825" TEXT="⟹ 66 Level — ∅3.88 Nodes/Level"/>
|
||||
<node CREATED="1713389623499" ID="ID_841283321" MODIFIED="1713389680527" TEXT="25% seed, 25% exit, 50% inner nodes (sehr ausgewogen)"/>
|
||||
</node>
|
||||
<node COLOR="#435e98" CREATED="1713389752927" ID="ID_1901246297" MODIFIED="1713392962639" TEXT="Beobachtungen">
|
||||
<icon BUILTIN="list"/>
|
||||
<node CREATED="1713385652976" ID="ID_1753220972" MODIFIED="1713385672097" TEXT="nomineller Breaking-point bei Stress = 1.01"/>
|
||||
<node CREATED="1713389802797" ID="ID_525297182" MODIFIED="1713389820235" TEXT="Laufzeit: 340ms"/>
|
||||
<node CREATED="1713389843438" ID="ID_1316650485" MODIFIED="1713389854551" TEXT="≙ 5.15ms pro Level"/>
|
||||
<node CREATED="1713389882687" ID="ID_957430022" MODIFIED="1713389887665" TEXT="∅concurrency = 3.5">
|
||||
<node CREATED="1713389918466" ID="ID_600533061" MODIFIED="1713392945570">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
das ist <b>ziemlich gut</b>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
<node CREATED="1713389924761" ID="ID_1422814603" MODIFIED="1713389946729" TEXT="da wir ∅3.88 Nodes/Level haben"/>
|
||||
</node>
|
||||
<node CREATED="1713390185820" ID="ID_1041511867" MODIFIED="1713390200894" TEXT="ohne Beschränkung (8 Worker)">
|
||||
<node CREATED="1713390204610" ID="ID_1620156113" MODIFIED="1713391902543" TEXT="es ergibt sich ein Form-Faktor ~ 0.60"/>
|
||||
<node CREATED="1713390242236" ID="ID_208633587" MODIFIED="1713390246928" TEXT="∅concurrency = 5.3"/>
|
||||
<node CREATED="1713390260293" ID="ID_1228772890" MODIFIED="1713390279667" TEXT="dann aber ein Breaking-Point bei stress = 0.80"/>
|
||||
<node CREATED="1713390350765" ID="ID_1971923046" MODIFIED="1713390357487" TEXT="Laufzeit: 234ms">
|
||||
<node CREATED="1713390469677" ID="ID_1239180521" MODIFIED="1713390482448" TEXT="das wären ∅3.5 / Level"/>
|
||||
<node CREATED="1713390483042" ID="ID_1008001226" MODIFIED="1713390515426" TEXT="oder 4.875 / Node mit concurrency 5.3"/>
|
||||
</node>
|
||||
<node CREATED="1713390567444" ID="ID_764793271" MODIFIED="1713390691584" TEXT="⟹ nur erklärbar durch dependency-waits">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
...da die tatsächliche Last ehr bei 5.5ms liegt, können diese Durchschnittswerte nur erklärt werden, indem zeitweilig die zusätzlichen, freien Worker mithelfen; sie können aber nicht permanent voll ausgelastet werden, da der Graph eigentlich nicht so viel Last hergibt. Trotzdem ergibt sich noch ein auf 60% verdichtetes Schedule
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#435e98" CREATED="1713390702828" ID="ID_1572610932" MODIFIED="1713390753270">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
Das deutet alles darauf hin, daß das Scheduling weitgehend <b>effizient</b>  ist
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
<icon BUILTIN="forward"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
|
|||
Loading…
Reference in a new issue