In addition to using tasks instead of threads, we took car of the following problems/additions :
Use std::move to process messages going from CommLayer to SessionLayer
Use std::move in deserializeStruct to reduce memory allocations. For both of these improvements, tests made with valgrind show (valgrind ./fbae -a B -c t -f 100 -n 500 -r 99 -s 1024 -S ../../Resources/sites_3_local.json) show that heap summary
to total heap usage: 60,288 allocs, 60,288 frees, 116,008,901 bytes allocated
Add CPU time to displayed statistics
Here is an example of displayed statistics (Note how CPU time is ~3 times elapsed time):
$ ./fbae -a B -c t -f 100 -n 200 -r 99 -s 1024 -S ../../Resources/s
ites_3_local.json
algoLayer,commLayer,frequency,maxBatchSize,nbMsg,rank,sizeMsg,siteFile,nbPing,Average (in ms),Min,Q(0.25),Q(0.5),Q(0.75),Q(0.99),Q(0.999),Q(0.9999),Max,Elapsed time (in sec),CPU time (in sec),Throughput (in Mbps)
BBOBB,TCP,100,2147483647,200,2,1024,../../Resources/sites_3_local.json,200,5.579713,1.265608,3.825757,5.078139,8.002311,8.545131,8.563862,8.563862,8.563862,1.008000,2.835699,3.250794
algoLayer,commLayer,frequency,maxBatchSize,nbMsg,rank,sizeMsg,siteFile,nbPing,Average (in ms),Min,Q(0.25),Q(0.5),Q(0.75),Q(0.99),Q(0.999),Q(0.9999),Max,Elapsed time (in sec),CPU time (in sec),Throughput (in Mbps)
BBOBB,TCP,100,2147483647,200,1,1024,../../Resources/sites_3_local.json,200,5.971380,2.818520,4.546593,5.837990,7.909969,8.428919,8.449592,8.449592,8.449592,1.009000,2.836374,3.247572
algoLayer,commLayer,frequency,maxBatchSize,nbMsg,rank,sizeMsg,siteFile,nbPing,Average (in ms),Min,Q(0.25),Q(0.5),Q(0.75),Q(0.99),Q(0.999),Q(0.9999),Max,Elapsed time (in sec),CPU time (in sec),Throughput (in Mbps)
BBOBB,TCP,100,2147483647,200,0,1024,../../Resources/sites_3_local.json,200,4.902829,1.770084,2.579765,2.873854,7.802986,8.354538,8.381707,8.381707,8.381707,1.002000,2.819452,3.270259
In addition to using tasks instead of threads, we took car of the following problems/additions :
valgrind ./fbae -a B -c t -f 100 -n 500 -r 99 -s 1024 -S ../../Resources/sites_3_local.json
) show that heap summary`total heap usage: 72,899 allocs, 72,899 frees, 136,927,427 bytes allocated
total heap usage: 60,288 allocs, 60,288 frees, 116,008,901 bytes allocated
Here is an example of displayed statistics (Note how CPU time is ~3 times elapsed time):