From bf79435ff096c1cb4d23e2783176e3b70b37a6e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Constantin=20F=C3=BCrst?= Date: Wed, 31 Jan 2024 23:03:16 +0100 Subject: [PATCH] add new benchmark plots from the rewritten microbench --- .../plot-allnodes-cpu-throughput.pdf | Bin 0 -> 12635 bytes .../plot-allnodes-throughput.pdf | Bin 0 -> 12634 bytes .../plot-brute-cpu-throughput.pdf | Bin 0 -> 12636 bytes benchmarks/benchmark-plots/plot-mtsubmit.pdf | Bin 0 -> 12572 bytes .../benchmark-plots/plot-smart-throughput.pdf | Bin 0 -> 12636 bytes .../benchmark-plots/plot-submitmethod.pdf | Bin 0 -> 14739 bytes 6 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 benchmarks/benchmark-plots/plot-allnodes-cpu-throughput.pdf create mode 100644 benchmarks/benchmark-plots/plot-allnodes-throughput.pdf create mode 100644 benchmarks/benchmark-plots/plot-brute-cpu-throughput.pdf create mode 100644 benchmarks/benchmark-plots/plot-mtsubmit.pdf create mode 100644 benchmarks/benchmark-plots/plot-smart-throughput.pdf create mode 100644 benchmarks/benchmark-plots/plot-submitmethod.pdf diff --git a/benchmarks/benchmark-plots/plot-allnodes-cpu-throughput.pdf b/benchmarks/benchmark-plots/plot-allnodes-cpu-throughput.pdf new file mode 100644 index 0000000000000000000000000000000000000000..42e17dcfed503baaa745104bd76dd9e71ad1d3be GIT binary patch literal 12635 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 TrEPT#1~^lMxVW~74&wg-NkNGo literal 0 HcmV?d00001 diff --git a/benchmarks/benchmark-plots/plot-allnodes-throughput.pdf b/benchmarks/benchmark-plots/plot-allnodes-throughput.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3e833523c2ae85bbdff3e1e32289f904286795f6 GIT binary patch literal 12634 zcmb_@2|Sct)ObP|LPROcgCxT2!`QNCErzlSV=Q58lS-RCvSy96*eX&IZL(z-g%Vj? zC<-YlD&>Elq4(|8eE<4=zi;Mu-TR#9-g}mN?m6e)IiyT=^yJYBID}Nu0Cc$=fre0! zkMmxHsw#xEIOt1(klIc(Codm22x;o%MhSp0paTg~S4U8&E^tSsUk2#;P-zgB-T`T~ z(|Iq2OoJ2`A9WAVwwu$OXcP#y2rzY`(J1~@2oFCZkml}AE*?}jh_Lk5--m2Yp+U9) zt&Scbg>rxfAq~6%30h0F_EK#C+5bWg`gaCkx?$@5DS)~~@{uG;fX_aEGT;ZMAK*8k zxOg~e`5XWkQQ(Wl6BV#T6aj;WFle*_ihxzb13XA=z#*6>03t5ZsY#{!fG0FO=2xk} zuYZcsm_l`z{bZ`iuBm$e^8EMsb(u$AYDjT!q*S*ZO_(TZQt96_Z+%9t zN@SvUXOnC9*)szhudfS|lkekHJ1f`Atd_Rw)5LvVxA#K1WVOnPv&s@RV-W(4L%ny< zZmu^kZ<-D23_&x6oI_5p6gJ%D6sW;Gb3I0RCedMwZKOgU`(PhO5J{zz6#M*4rR~$H z&wUa~(itmrT$v1Q493D&hc?NLt(0jPoPMIEvZc#W^zepNFf2r z9%`sa@2n30sHB_t9=j8L3EV9ng!sJblba5<5bQnJQXAPrHb%6HzT9HRNiu%US!sD& zYV6*^8U@lwO%+ZYm7K|=nX5apo*Xqjb<^ZYujUyvaoj}YMy}*@v+LZ3a?p^Q<;r5A z^09AWtO;M!&8KsuYbT;}3HzfPh5fr4Kel%|6qJP-=Ek%7W+}L^57Xog`95LR9dRcW z6NBcIpL_MFZ5uGMm!ic zQ(?=PY)S1seY$tu_3*%>-9?5U%|F&r^S!@4e#rA+^bQdd$DAx2e$t<6L3-Id!CNtVlK*x|AlsF_heBrv-tYGApUPmHi4Y&}dt_R<<9hY& zV^;PHK~{ry{l$tGWBjsOth4v{;ba?~%DnA|>klRJCU+G%n%FjFjZJs~6dZJfSfZ%fvwnlYDaCa^JUdsfqTSy#&=FEXg;YAKgWMhC zsHj9fm)?%>(C?q}OefZ25YPjbj@w_MCrYnJ_xG273ePFq_wlys!uL5x%bw4UHx%zq zJ*p14&?-gidaLaicSr?v}q|n~39({X5QTWQSCQnjvd455OSVnd7y*?+{bS-VSB_l@Pn{;bN zQ2J@u=zAK5*+TaJz+h{(Y+qvtIIx-ju&LEZcTO^+xms@_(rWgQ)T-|IInJIFtx;1! zqm9$|f^LACiX(*t@uSLK)ZTdFfCP8`1=5Dvb zuxY>5dj+cA^JDoRiyPGQ`I8bPiV}*$dOisc>`{C(zd=Zh=4BdWlyv#LMO~GD8J|kp zTl=tyunVUjy~RGhIuV@zA+o3|Z^to_Pt}rgwRuDOx@_Wt)sI_6uFK^KclF;n%KXB9 zGSq7471aq|kD=W`MgncG+gOZ+yj6;VZ&;ISEjZo_J`nG+iE3M?d?o73$Ux^k+^&Ng zBsNpSHJ&S)a-q1VTG@|TR8*4|LQ(|8p^*CXyUy!+T!dw zQ@cx~f`c{GT3r0+suw&plI>hX9A^tuLK4l6W9!^rwuC({!TI_K#Coz9OU|&HtW2({ zzn6J{i<9Z1(@Cw`DUr34_jo0Z>|VaB*AaBM zY1*T8e7H`}f#Y<@R9JV`+=h~u+xqnKQny*yLi}j6O*Avb4YT@+6^PEGd7+ktvsNG1 z?BDvpRynYwdiGw~>yxsVwNyu*3is;U^yqYcP%9e>(5BsoLev$-*>pVO9U}6oKiBQ^ z#@)R^D3vY@+kPQ@+Mskp=3^PxX0J<4-m<$f2*twK6W=WKY7^X!{Hd4oq7ICEL}21I`h$G=TD=$JcD8_XV-HvAnMnEV@ZPvgg>t- z7K^h$nReh;^0`KCM!eQbL&!whX{bk~wzBfKGL^O&w*||Q&CNHZF(ra1BM!J@mSjW)#z}itJwk!E=4UvTM@x{?*NqNqa=bCDb+?I1-LK26`EI)G{vnQc{X=`3ud@}L zdZ;4fdTpFWQlPFoE-uciTjuqz0y3Q^;{EIwdcI}uoUHkY>T_qRqCof%XnShf|-tMV;$myBpC3wK_ zE30Vk;ASK4-M#&nc1&GS?d_Nqv+1FUF_1kR^)8b=28;f)8sK*llUT&LS`S93qjs(D z*QmaD@h0Kvmt*Bg89Nf+i?=-H7s)t~At`yywW;661#*3EZro7)xr~RuaQ3;VL`n>& zQ{+kC?xJDp+4yw}fvN3QY*U1}6V?vAPiu|4Ed|{a`dP^yS@pygYOFnfN!-3G7tO7< zqq4ceX*cUqpa6@!nU;9W>oKL1(r06)KKIK75|46^a}wgj1xDv&gF*>mITHt`R&Mau zT(BRU6V<&tCIxNe5bQQ{ewXzsd{1Q{P4vbVz5uOEO$C1O2XACA@MfA8mFAu&nfVr| zUmPnsckI<3J9!53f=>a<<%J{uSzck7b+=bsnsr9Y_DOM;2^H%gipu~|P)#hB~F&C4EMUol4k9YQG z%nAG6+SBKl>Sx<@b<9lJ1JwoH@FWFLiMJ=z6|% zw_`%jTo%5t{WxwT!9arW!D*QUu|)h|NRVViZO~xvA6;vA{?Yr>?FUJ_1}nb#cxsah zWGkZ4ji@8{6Ysn-vgh-QXu0KZ)mHVwVFg>8jDt~kW8$RLZw{ot6TfLsQz%gq**?vQ zIU}oc=|N#<_MBE)1Y6>c_t~7aM~FX$k-_(RuC2cPLJgyNZPRNRtwySuP$r+|8mG~d z0+;ek&so<#GkZ5ai(%dC6PwRT7M|fKW7YE3uV49AV};H{ip7=0c(+ab)dGWV&ccqP zo!6PJ3R&o+9hzv0DtLG)wnC>~eW%ISEosK`yBn$ILVM;@V!IC0SY-=v(<##(yGlDa zt)dU|eJ0N9&y99_iAO3^yQiaHiD4Tsd=DLsh>qFm!`q+tTkl(QRpid?hqMr})NWtn zvhkzMpLYJB_1iqySK-f|qw&f_^Zi}!t9m8%^%(UtaWX+Ua@RIwR_I~xIq|OPo~>(U z-tgVOf){tuQ=-gD;`9w?owyTT0cw>j-NsW5#O^x&TCb@y-PzZ%SXuGVzVgVu;~Igb zRUdtCp4)~U%kgHgrts-^*_vYhW>mgrxz8OzWZ@`I zN=`dv#mR#X7n4()J1HKZ__QfUfOi3#tl%v>A6xi zhp$d>(HdAE90iT9yuMy8g+SoPSU+T*T-~zT#<8bhqghPo)|74zTF&nJ!nWt7ue$>k zwdJRuUpn&PtNZSB$B0g&PgV!^M5v!C$OwFwq!skSL`9-a6p@Efk>7gbQ2kqK$k%PH zr1#%jX6HnTc^=H$WigN-g8-fQ7xB4n+`Tn55If6)g(e3A(YJGR^6}3LalDwrj-%Y~ z!dW?Q9@GwCuqFyZSFT8~=*t4_i93SmcWd)oNPgXbKM zUI$vuFSy*lc1KEbQ%}myBNEz07v^#PnL5T;GS`k{P`V zy#h9$-gV|b$T53xznR#~n|)TG{Q99T?%wx7cKYR0DG$VjTNg}2uwc<>)jjSNmoD;`u{I0!y(7rDuh>-{ zV^Etr9YhVx@ygxx=8NzOEH}!(CQ8ayq^fghMcNVjG2OTm-?wU*S!>KUKMA}ygl^II z6@0xazS38rL70yIn=^@SVv`>$h@++oS4yFR5ub{hKJtwJD2|+YtQoXki_3Xu?KL|~ zKPOsU!Yz61>SNo5-Zg&3kSm^8LDFN)TqmP1cjkQ!Y!E7(8F}J-H8;l&sVu?QmNa}> zL-Mfl^`_*TH?iMo4q_AHQ~V3EvZGWdCWXRx8ed3aAG#8H&E95aC&+H~6y4ir8E(JE zuwPx_B4)>6C9}+1C^(LXBNvSrpEl)i(oOgOi`xSa7=uWf*^c#T}2OH zs|up;Xeq4I=c>QYRLT`xCY2Q$qJ?xsvY1Y`J~w1uA=NL~!hjwI z;WV0n{WC$ji7I@|;#}H?c4SM=NiwUqyJBPrvp(dfUZk4GR#4bo{?M+z(CD$y<2R)S zS*NbBxRK}I5U6;*5te#9weTQ4r#eB!v5f``M?)~N=|us%a6RKfuf$HTPJooc~~2@a@;y| z*HwdKz?|53S#6sbLisZTUKs@J7_`!#c~vvL6UPE>6YL{4Sk(kg7Ptw<7+qMH(f{&U zqEk?pB#X~Tl0oiEk+L=)Qa+qk&wViR71f0xC98`}z9u!>f%tGF`t{n`!6#{@+PHLg z;!#elY~el=Mb||z3zkd+LKA#ukj03-=_ms7n>(YpQQR!y>!Sb;AUPUoRnE1X>V1cz_-Q& zuW8a=V-{oG@!8d$zWMFQSJLKB8Hk8MT&?ss+7NpeKJw`t zy5Puibn|C*vy|GQ>eakb)Z5a7YIY(V88TFCo%X7;Tyl~2ejzhyC{DZWrtxPca-E)3 zy=95}bb<77iYMjlMA6I0ai*188(bNX#wdiv{zV9DV%p*jR`1(g1Rhm0CVW?vEk^bF z_hZ`kIg--djb3I?r`V?5r_4$ceOk(2X&>K_>M>32cu-vOBbRGs;DV_I?-i*M!#2A| z)DoNlvbRntF5UA+{Aj_UaO>Oy?}wj0mI-;IhPmfjT1iA*R(r^uxZ`$X@!Q8LshgOi z%M(9pDzpl5aPzj4Qm~+q_ut87$&_R_5 zedh4d-OL&uT~g3n)$SPCHjC&{YWld^I8 zHlq55R(_yz;bu~@t{%7J4Ej}MwBccE=vHob{jIn*jffY;m)j!R_4}KZqgoSVZYRk{ z9MX{+LD#F+hfZDoAS(K$sI8@xtr6L~pJ(gmu5gO@aDz~vlR%S`z=+kged2|O4w&cF z6>NGs9J8R_5FpPYe^{?0c+beW;`rxZk_0_wPkBGS8g$KAr7-WBu-DE2hs}Fz-0mog zwzIW-zWQ_x>F&z45qGc;172)-yj!nKFp!|X*Url){=1c7M+DVQ?}TLHxdI8*^LZ_8 zn-MP)vPAu5nVsHdUZweO+~s%iY#aV`%q^^e>v)xZNk;8Kd!^DJT;{Gf4obKC=X4dY zPnEbCb#xG~o~=x?cBh@@ugD8;Z``qSN0lXZT%0JtQQ&N2dCy~QhBHS$-yU-_^UNTj zAK#|meNZ|2gGnynZ~%j4VGtrJ{)PHsu>^DA@lY%IE?kIYaA70Y79uCfnV2T5pv_4} zc{_XMIl4Npa1lw6AA7X_ z=ICR26=$DGU&+g!QM1lyeU@yL-yveMV~nZceuKezdxJ0MGfo-mB&ClZDbbpVtVvQ; z-;Qnxo*+bf=df-b70s7wt6!^pt!ZV2Yvz+(V~(|=$7NzIIZH2zdQIE%r{;-V85ZhA z4Yi`oowHwDW9@qFObLDWY8YQ!8#QT`Y+vX5F73g7_D=U78wKw_CkrG6Z@*Z=x7tIg zCaUJFgHnUTM}8uAO%(Y|rW_a9ee=bj_~@FBv!(e?jZLC9pFZ+fyg7WF!9p;I`tX0T zS+N9yC2ED1y^$m<8R{QsCW$vBwl;UMw6(no<#_FDy*_N$D_(*+6nMGbRlYZw594mf1Q=+kd<3baRxLLpr`)pQDd`*+s zs2}D{M8Lvi@EIyUSuMgMY0Rk&C*>*BTfzN=)z`15n&-z~i^)YLd@l165Z#kwE3q$WTUfm;a$vYz zq&dI)?odul)v-J#GzSB27=%n%AiTfWE<`GDy5rvwN1$M8|5Puee{#NhbwTf1WGFztx(@;OQA?@M2Yp%9O(>!Vt4uofI?Urw{VkK=H zRGK_7n|)CJ`l_hPjIRj3-yV15^Lh&_sB==-z&AG9^ki^gNS{6z@sM1g znb-_=3z~ndZ=>#jW{6bMDPlu8ZRXirN6GmgPh%CUm1W=9+E|kxsc)Q2X_Ujf39_1@ zee7-u zQktJ}ug*TUM>ID!i!ikEbLIe!gc_z&=6&R0&yjdvzaHFcHM@(cg zxRJr)FbLK#_`f*T%9|PZGi$QnZQnW*?t1YVIeqK#k%b=i`)sRL$7s-OUY?IV2gzAh zygGT=z3v$n9r}#*_|dIB-c}T&_ht^RY4mV+}9R zLTxaH@VD6F(a|sS z%zGSdqZr7LK~#xW{0lo|l4!uK4bDHaS+(mfg=1?*RjUij-KVOrXtV7LnID0CRaHCu zHYw0t#$w~Qo)#XiDTT-{JCzn%ZmZX$H3xI#tJ;B~^jma|jdwElcQSBFp$0O;oQe^() z(;;sqNCcH^-WwJZ{)Hz>2TyPH6_}at)P6U~dP7q683VQ%1cey%U)*Nm&4}FK*f%jN z@Izx$Eb_q4oGlN2R6mIA+%0;~F0w2|JY$-ad`bM3xq48BLRR@ePupJHXj++kK=AFG z704?|HPNn7VfQ>v-Db*EWzz2Hykw@mPPC&d-+arp0T%TWx2QaWpA#! zB~-t}UwFblZi9P-;p=K#Q?!@4LghPZ$BGsFeyuBA&KahZj@0{<%#^OO{Q86G+;)q! z-{k{D@vjwM%*&xC+aR@^0w_x@6EicN-CK1id!2UgGk2l}z(&zOfTr#4B5VQjTMaTe3AccxRQas$;X%PH_ofbp@M{gZS5g4rPkRoXB zfRw<-vw(_J+3xX|1Ihl`m}|E5mSh5qxp_uobRWm)Jl{2$f;2-wTXEdWU2uU11dfDGq95i#I| z3S)pD2&tN(+7_}|Wf1+fzj=o=24E0wTH5CKa-5b-FmswfBpGPyu%7ro#Co$!0O zKbC-Atg(u4|Nmb>{CtlEec=Mn@w4E;&wfBxfB=B@5R||~L?uWOoG=JLU-1CBB3$qo z2t&jpK!FH&0))qdNx%kD#DTs_fB>Lk^csGT1qI}_DT49voJ1ues25>yO=kwHh=6OD z2$(6j5P-tLWAT9T#W_GG}g>!od$HSVS<{ zFl%rP3VmH*bc+Rn2Q1P@!t(vM0SH{20s}aP-@sG>%73cC&*l1A18TwD%P%wFz@`Um z)5(YR;6J3oJkga2C=@*EpIKm{P$&fb-O>a^0ulOIU`1He0ay?ITj;U|dI9UiFNLlT zuul9ebX{4}30NO~Eihg5XD|n>8$S!oIRS+SYY1qCb$~%3DuFeD^#VASU&~LO_*uh3 z0qc&S*KqrnLSO5}_i&$o3al6Ks>1cZnNz=BhG+pt0W1j#Hn%{C^wxF=4WGaOYzIV7 z^Z+djkbJoabAm8%jf5_-h*!BF?4sbWcM*k*xVq@5;k`r z;l)`zAo>+Jn3)RnWpM@{*tO8-g8c~aX7si%1em0^{J}n2YytDTh_E2hfyw}_?NC< zR{US!FPAU>0%4|qQn=^`7jun~MjkG(qX!BNONE|)yASv+I+07Md$?cFAhkgbEga5l z0da?~mk-U$!x;+1Dkv$SnL9rSIF6k z>a7Rr}yxo>cDx-TXd8$C=A&ASTqLwNQ=jBMPZ~-C~28rsVM#m&5Q3`YA5Q3kDIE z_d}tuup<6vKEN~T_pulhQ21s2Fu?yUgAtW};{!#+6MyfAhPUm1=0l^DfUo>74A27a z_5bukp$Wj3E{73;l$OCT7}(VOcPxmBz*b!b!-G7kZ~c^h(`S?t2E^~n=2L=w&~lg( zY>NMb7liE~{`v<-^LO&_qWIJQ2g2MVXz_SK^6`NU58XN&P+fs}1`+~B30ScJnv*|` TzSYra0vh})g_Q12J;eV5tXGwL literal 0 HcmV?d00001 diff --git a/benchmarks/benchmark-plots/plot-brute-cpu-throughput.pdf b/benchmarks/benchmark-plots/plot-brute-cpu-throughput.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b5708057bd1d1ba56a0c0118bfcc7082ae4c3ef4 GIT binary patch literal 12636 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 V@T1YUIvPzt6A%&-I>x$){|BjdlH>pY literal 0 HcmV?d00001 diff --git a/benchmarks/benchmark-plots/plot-mtsubmit.pdf b/benchmarks/benchmark-plots/plot-mtsubmit.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a18e9fc034c8a4fe8621a60b5ab47c6354201777 GIT binary patch literal 12572 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 literal 0 HcmV?d00001 diff --git a/benchmarks/benchmark-plots/plot-smart-throughput.pdf b/benchmarks/benchmark-plots/plot-smart-throughput.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b984c147e2896b7f48ee7122823974bb1b4c722a GIT binary patch literal 12636 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 Umqy>}Xfy#$KuAbv@76*5KSLpzO8@`> literal 0 HcmV?d00001 diff --git a/benchmarks/benchmark-plots/plot-submitmethod.pdf b/benchmarks/benchmark-plots/plot-submitmethod.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2b0a8b8cb9061b113fcd7fd5dabe4d7e681772cc GIT binary patch literal 14739 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 literal 0 HcmV?d00001