Changeset 2a301ff for doc/theses/colby_parsons_MMAth/benchmarks/actors/run
- Timestamp:
- Aug 31, 2023, 11:31:15 PM (3 years ago)
- Branches:
- master, stuck-waitfor-destruct
- Children:
- 950c58e
- Parents:
- 92355883 (diff), 686912c (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/theses/colby_parsons_MMAth/benchmarks/actors/run
r92355883 r2a301ff 85 85 } 86 86 87 #used for output formatting 88 column_headers="proc\ttime (s)" 89 87 90 # executor config 88 91 batch='100' … … 102 105 # static config 103 106 n_static_sends='100000000' 107 n_static_sends_slow='10000000' 104 108 105 109 # dynamic config 106 110 n_dynamic_sends='20000000' 111 n_dynamic_sends_slow='2000000' 107 112 108 113 numtimes=5 109 114 110 115 # bench_cores='1 2 4 8 16 24 32' 111 # bench_cores='1 2 4 8 16 24 32 48' 112 bench_cores='48' 116 bench_cores='1 2 4 8 16 24 32 48' 117 # bench_cores='48' 118 119 # toggle missed gulp tracking config (overrides specified config) 120 missed_gulps=${true} 121 # missed_gulps=${false} 122 123 # toggle mem collection config (overrides specified config) 124 # outputs mem instead of time 125 mem=${true} 126 mem=${false} 113 127 114 128 # toggle benchmarks 115 executor=${ false}116 matrix=${ false}117 repeat=${ false}118 balance=${ false}129 executor=${true} 130 matrix=${true} 131 repeat=${true} 132 balance=${true} 119 133 static=${true} 120 134 dynamic=${true} 121 122 # names=('CFA-LV' 'CFA-NS' 'CFA-R') 135 # executor=${false} 136 # matrix=${false} 137 # repeat=${false} 138 # balance=${false} 139 # static=${false} 140 # dynamic=${false} 141 142 # names=('Longest-Victim' 'No-Stealing' 'Random') 123 143 # var_flags=('-D__STEAL=1 -DSEARCH=1' '' '-D__STEAL=1 -DRAND=1') 124 144 125 # names=('CFA -NS')126 # var_flags=('' )127 128 names=('CFA')129 var_flags=('-D__STEAL=1 -DSEARCH=1')145 # names=('CFA' 'CFA-EMPTY') 146 # var_flags=('' '-DEMPTY') 147 148 # names=('CFA') 149 # var_flags=('-D__STEAL=1 -DSEARCH=1') 130 150 131 151 # names=('CFA' 'CFA-STAT') … … 134 154 # names=() 135 155 # var_flags=() 156 157 names=('CFA') 158 var_flags=('') 136 159 137 160 runCAF=${true} … … 139 162 runPROTO=${true} 140 163 runAKKA=${true} 141 # runCAF=${false} 142 # runUCPP=${false} 143 # runPROTO=${false} 144 # runAKKA=${false} 164 runCAF=${false} 165 runUCPP=${false} 166 runPROTO=${false} 167 runAKKA=${false} 168 169 if [ ${missed_gulps} -eq ${true} ] ; then 170 bench_cores='2 4 8 16 24 32 48' 171 column_headers="proc\tmissed\ttime (s)" 172 names=('CFA') 173 var_flags=('-D__STEAL=1 -DSEARCH=1 -DACTOR_STATS_QUEUE_MISSED') 174 runCAF=${false} 175 runUCPP=${false} 176 runPROTO=${false} 177 runAKKA=${false} 178 executor=${true} 179 matrix=${true} 180 repeat=${true} 181 fi 182 183 if [ ${mem} -eq ${true} ] ; then 184 bench_cores='48' 185 column_headers="proc\tmem (kB)" 186 names=('CFA') 187 var_flags=('-D__STEAL=1 -DSEARCH=1') 188 runCAF=${true} 189 runUCPP=${true} 190 runPROTO=${true} 191 runAKKA=${true} 192 executor=${true} 193 matrix=${false} 194 repeat=${false} 195 balance=${false} 196 static=${false} 197 dynamic=${false} 198 fi 145 199 146 200 cfa=~/cfa-cc/driver/cfa … … 162 216 print_header() { 163 217 echo ${1}':' 164 echo -e "proc\ttime (s)" 218 if [ ${mem} -eq ${false} ] ; then 219 echo -e $column_headers 220 fi 165 221 } 166 222 … … 173 229 affinity ${1} 174 230 preprint="${1}\t" 175 repeat_command taskset -c ${taskset} ./a.${hostname} ${pre_args} ${1} ${post_args} 231 if [ ${mem} -eq ${true} ] ; then 232 repeat_command /usr/bin/time -f "%M" taskset -c ${taskset} ./a.${hostname} ${pre_args} ${1} ${post_args} > /dev/null 233 else 234 repeat_command taskset -c ${taskset} ./a.${hostname} ${pre_args} ${1} ${post_args} 235 fi 176 236 } 177 237 … … 196 256 197 257 for i in ${!names[@]}; do 198 echo -n ${names[$i]}" "258 echo -n ${names[$i]}" " 199 259 done 200 260 if [ ${runCAF} -eq ${true} ] ; then … … 232 292 # /usr/bin/time -f "%Uu %Ss %Er %Mkb" 233 293 if [ ${executor} -eq ${true} ] ; then 234 echo "executor" 294 if [ ${mem} -eq ${false} ] ; then 295 echo "executor" 296 else 297 echo "mem" 298 fi 235 299 pre_args="40000 100 ${nRounds}" 236 300 post_args="${batch}" … … 263 327 set_akka_parallelism ${p} 264 328 affinity ${p} 265 taskset -c ${taskset} sbt ${sbtflags} "run ${pre_args} ${p} ${post_args} ${numtimes}" 2>&1 | grep -v "SLF4J:" | grep -v "Slf4jLogger started" | sed -e "s/\x1b\[0J//" 329 if [ ${mem} -eq ${true} ] ; then 330 t=1 331 while [ ${t} -le ${numtimes} ] ; do 332 /usr/bin/time -f "%M" taskset -c ${taskset} sbt ${sbtflags} "run ${pre_args} ${p} ${post_args} 1" 2>&1 | grep -v "SLF4J:" | grep -v "Slf4jLogger started" | sed -e "s/\x1b\[0J//" | grep -v "\." 333 t=`expr ${t} + 1` 334 done 335 else 336 taskset -c ${taskset} sbt ${sbtflags} "run ${pre_args} ${p} ${post_args} ${numtimes}" 2>&1 | grep -v "SLF4J:" | grep -v "Slf4jLogger started" | sed -e "s/\x1b\[0J//" 337 fi 338 266 339 sbt clean > /dev/null 267 340 done … … 424 497 g++ ${prefixCAF} CAFSendStatic.cpp ${suffixCAF} -o a.${hostname} > /dev/null 2>&1 425 498 sed -i "s/max-threads = .*/max-threads = 1/g" caf-application.conf # set CAF parallelism 426 repeat_command taskset -c ${startcore} ./a.${hostname} 'd'499 repeat_command taskset -c ${startcore} ./a.${hostname} ${n_static_sends_slow} 427 500 rm a.${hostname} 428 501 cd - > /dev/null … … 470 543 g++ ${prefixCAF} CAFSendDynamic.cpp ${suffixCAF} -o a.${hostname} > /dev/null 2>&1 471 544 sed -i "s/max-threads = .*/max-threads = 1/g" caf-application.conf # set CAF parallelism 472 repeat_command taskset -c ${startcore} ./a.${hostname} 'd'545 repeat_command taskset -c ${startcore} ./a.${hostname} ${n_dynamic_sends_slow} 473 546 rm a.${hostname} 474 547 cd - > /dev/null … … 479 552 echo 'Akka:' 480 553 set_akka_parallelism 1 481 taskset -c ${startcore} sbt ${sbtflags} "run d${numtimes}" 2>&1 | grep -v "SLF4J:" | grep -v "Slf4jLogger started" | sed -e "s/\x1b\[0J//"554 taskset -c ${startcore} sbt ${sbtflags} "run ${n_dynamic_sends_slow} ${numtimes}" 2>&1 | grep -v "SLF4J:" | grep -v "Slf4jLogger started" | sed -e "s/\x1b\[0J//" 482 555 cd - > /dev/null 483 556 fi # done AKKA … … 494 567 echo 'ProtoActor:' 495 568 go build -o a.${hostname} > /dev/null 2>&1 496 repeat_command taskset -c ${startcore} ./a.${hostname} 'd'569 repeat_command taskset -c ${startcore} ./a.${hostname} ${n_dynamic_sends_slow} 497 570 rm a.${hostname} 498 571 cd - > /dev/null … … 507 580 for i in ${!names[@]}; do 508 581 echo ${names[$i]}':' 509 echo -e "proc\ttime (s)"582 echo -e $column_headers 510 583 ${cfa} ${cfa_flags} ${var_flags[$i]} balance.cfa -o a.${hostname} > /dev/null 2>&1 511 584 for p in ${bench_cores} ; do … … 520 593 for i in ${!names[@]}; do 521 594 echo ${names[$i]}':' 522 echo -e "proc\ttime (s)"595 echo -e $column_headers 523 596 ${cfa} ${cfa_flags} ${var_flags[$i]} -DMULTI balance.cfa -o a.${hostname} > /dev/null 2>&1 524 597 for p in ${bench_cores} ; do
Note:
See TracChangeset
for help on using the changeset viewer.