From 14ab5413f51b1c42249fb3901bb4c150c954be91 Mon Sep 17 00:00:00 2001 From: Kei Imada <> Date: Wed, 20 Dec 2023 19:53:51 -0500 Subject: [PATCH] Addressed comments and suggestions --- .../2023-12-11-bloke/assets/images/arch.png | Bin 0 -> 22443 bytes .../2023-12-11-bloke/assets/images/bloke.png | Bin 0 -> 40065 bytes .../assets/images/graph/bench-perf.png | Bin 0 -> 15858 bytes .../assets/images/graph/phase-perf.png | Bin 0 -> 22507 bytes .../assets/images/graph/phase-runtime.png | Bin 0 -> 31038 bytes .../assets/images/graph/process-runtime.png | Bin 0 -> 35387 bytes .../2023-12-11-bloke/assets/images/smooth.png | Bin 0 -> 9868 bytes .../assets/images/worth-the-time.png | Bin 0 -> 128729 bytes content/blog/2023-12-11-bloke/index.md | 355 ++++++++++++------ 9 files changed, 238 insertions(+), 117 deletions(-) create mode 100644 content/blog/2023-12-11-bloke/assets/images/arch.png create mode 100644 content/blog/2023-12-11-bloke/assets/images/bloke.png create mode 100644 content/blog/2023-12-11-bloke/assets/images/graph/bench-perf.png create mode 100644 content/blog/2023-12-11-bloke/assets/images/graph/phase-perf.png create mode 100644 content/blog/2023-12-11-bloke/assets/images/graph/phase-runtime.png create mode 100644 content/blog/2023-12-11-bloke/assets/images/graph/process-runtime.png create mode 100644 content/blog/2023-12-11-bloke/assets/images/smooth.png create mode 100644 content/blog/2023-12-11-bloke/assets/images/worth-the-time.png diff --git a/content/blog/2023-12-11-bloke/assets/images/arch.png b/content/blog/2023-12-11-bloke/assets/images/arch.png new file mode 100644 index 0000000000000000000000000000000000000000..6da92e7926df48e87638c96ad11a93bc3700b623 GIT binary patch literal 22443 zcmeHt2O!mL-@g?~wvg;iM#r&^Jq{&>vxUMcU<2Uu5lSge2VTA78Vw<%0;La78VW~ z_?}OQ4}8|H55EWgV7q9+6tD_f=_j$UIAUCt^j#f1ui4rousFbqKfZAYU9dsAxN?A@ z9700oPEG<=w&vC-a|agzM}#ZT1oS%~t!%H^BCLLl5xO7*<_8J!UjXX}UEl!A3xk0V zkgxzmROIT9@#fYD$HNKLk>0lU_U0Ty$|3?6fT_6E%`I&mU6C#}9AE|DS;f&6VGsNT znt@NaHt?Yj{DLl+f<#Qkc!00+PEPg+J%oj-EwCG95wMs5SQKdHR=udBuErsx2zw+XD*S&$AWibufw%&&u0s)&n80Kbc zg>X5X?MIU<5^3*h>-5`3OQfSC!t#*5hclX^P)Lv84!ef5KRn&x7$@N1znLA=plxXm z0Cxb)v0-|)R;~bpU^r4--vj;HikP$8hNpj)w~a%=F)X_vbNDKZWFfG95rU4DsB}?cEM> zRIo>4!~xUl;_7vTE(+=9XmudM0Anh6*x0%vw4KZ?G4FT)`~zp($G<+_ zkR#mwRCpg=lgIG3K-t<0d4mO<0P+2w=$?NDkAsB74w>~&1^VHA{yWfZQ7-@bi2t6; zg@g|Y@Gq@Z4vethT&@@{H$^zR*#bmBI9ek99PAGIQ|ff_Lsjt0w7GhCv;M!@HUAXd z0y?ri4t2|)gViB_09)7P&tR^I{wc4|BY8Zg%KxCl5sp^!7`F_>gr}{mJ}|=tz_A4@V4e&PZG6mkD8|gj_yY$I7=Ar?a0G1dV=rMI zF>n3s`}G>83wre4j}suQe&^=7Al*<0eg@EgXr=*&um*w)2M*rhrS|u58jjs1M@H*$ z1NEp4g|IhwwRQik+xZ_k3V+-1|KYd%@?JEMKw#sS>jL?mi2**cnU7Zbfy?1r|241V z|FR_D5&zb#0Uzz*Xw4tM|39n=2I4G$KlIZ>``geQjy`aU{%<4y;5~s3J>-9$Y#ft} zUvlz`$uWX*#N&X^{zEn}Zt}syfn@xUt^;ZKDN_Gk**G*dj?2cOxcuA6hS=|}Nbr$p z9`WhlUpB;#3{DIs0ZjxxQo%<{{wYKQP!kwU@xM(p4!zCeqH!oK|8}AQITD2JHub-$iVu?-5S5Y zsD6eyj+XpW7*v0ZWB-G14FRF!j`&aC`={6NA37Vy!~r86KYfp1KFWXB**J`?9hZ%N zSBnY+{@uOtGeCF5segZy3M3@{TTlECYyK&u`L@idt=KH00Q+ifzI3_2CT6FzKD!mXHeCmn%(D~Md0TOrsy>0W>~ z2Qvg6pq(BRLBTs5pp<=w`;%8f!7*N<78%T?6y@{`tR=+tXEhM&d*eYx_n!f z+THSL9k82SH}-k9{`5uL=4(nuXu1&Ib>50(JxXj=IlM3|a%LQ803ka|k#Xkg=~m zahXzlG84q)2b%-B$RIdW=sT1X&At&Rcug1I&yL&bz#=c2?Os_cX_`3Pgvk8rIS=%> zD3!cw=GCmS>0pJ-6up}|9kIVZm0x%-RobWJ!vpYRkNI!UE$Sn@iL1BgDmq`MYh(^_)(QDdR z96`TX{}xx~GJa`&ZUFJ_7IApyjgLtpot0k8PS-BNkH7}bGem|RfeJOVZqi}UtU{qL z*?xKcIO&^ZtaNty$n@uDaXltJ&#uHH2g-E|%Esu*mRlte@9*(<7MjYIP37f(s?O3T z(TwpYVUW$+#lD%xYpkfr5<;fYeWn)Z2Z7{)kbH6%r7`LX3Sq;`% zA*(Qok$kA-YxZBP(|jLk=UkrZuctBPYm-`zGV+;yb!ld#dhv*Ca(H2K z_sG(@+bAB+jcLK+J!Ze^x_|Ss{_@f`?n9casf6nUGcZF!qN!imm3WVtUd_u8G}T!M z>d_LaztmaCqK?p@$SjcJOE5n1-Ec~-768dd4t=k$PpfXP%_1f{A9rS}pR09$aOK(6 z=829hU9MDup9~;}_xvW7lGnXnSFuFzlEU5U9tqiLDd{bK2lOZngw6MlXc$!RFQpbIeWqiQ6{4ogm00>h#LRTsa1UBG-SSVIX;oB2QIaEQ!PnYB^>42jVzz!G^q3}u3YI)6!hY0y{_8$1ilowy)*`c1NxsWC4b^<5krqRK<9lXUawUiXhfy%r#D8}c zReOS_>7{MgBUmis^$H@1MX6)Vc$)(wLv`5|W%0Y0H#riGSa-MA^#*z7KRM9r>YI6bpAMpG?U+Q!V#>1EH&4ZEc$$Fk_S&JMB_2XdoQ8C(87iR zf-Z?8VR?;ig+_YO09sjE)^%AjH%2^2a8j;>q56x@{F}|jkh?X*UO$h{d==PD*5lUv z5n>9oiFCH}&z=B6yr=+bv9g?CJ*k zERD(k@bhKGpH;5(kRf+X}=omd};@e~CUV1_q-OGy92|OrB}P`-I58Xi$%fa=^Or<&`vPj2<1f z>CV>k_u@{$auYkZ=F-mHdu~@BZyK>Q(;zqd0nj~i&qH~VIM4PKY(BU1VWf}EOa={+ z1hy|LPwbUh@;R^`|vS=nz-zAu>da*~QbH3UfFDYTu-*dC9`wZAF^Y+35z zj&}TbfZm|Cu)5Ie-4#U7nv^)B62!8G0ViWTx_#HBQAd>j!IG+Gs`?&Ji%U)Z{J~EB zw*KZ$snC$2?sX~*2(rEhAiy+RX`MplCcM~O_xnK!>Z;j0TJhF#{t-*`3sXK3*(wdM z)2e2^rV=z}aa*4*Rb*bNBro@$yWf({q3y>5C~jFLFA~pHX{9c9%RacNyF**>h-N$( zzn_K7`y1hatcMz+>n=|<75d9)TBa01f&*}x_`)%8u66wd=l>o!R~NRLxzd`RBi>sj8oS?V^WR&Bm{ofp2!Zqh zqJ(96W4(Hx-)E*cbf$8-m3Y%jz<(stl(NFG#8EfdzIu19Y?O0M<>A7#iyzD8dIyZD zIYx4Bf->gA7g4krW#&$=Wo$x~?{-UjhN4|~vZP1BOXQ#laQATVUwzp`Uz?yt$Q~KC zC3`O>3HYhYPz%1`%uGa6GiX=%<_hK_|5EClMOUnurHtBL?Rg*Tw~_@Vik00frS}@W z)A`!L@T|;@Qi`>a##s0cgFtVk*Nd6geU8tqnkgVd0k~0ql<$9O(TR^0LrI?hFntIHGRQa0h(ygnPd#(krP_D#X&#}~FD^TMi(>BS6#uplv zT;5xZ^>0e7TH)Y{IxBohc5lP7o7)$ipr;dU{Nh@)F!Ea^yVdg8$2iLvh_XQG5Dw(~ zO-h{+qNKTq^92_|#5bnz4#VNhVwpST(*b^(b5a=993o1#mu_|%Z@T6B^AB0k3CW7-)aaQk51F?eJ7;}Sr}7Im?KN97aC<86sFrZ+UJHa{X;o|Syd zE1#_1>MpcO^Ig+)UL1RfJXLNQOh9@ilPCqJj#^@#mb6DLO~$y~eKv1z+gfJ%?B>^= zs%%HX+sUA7-xo)i_Vw{k(~=qUeQp%26Su$#ZKh1H*s~1J-x{WdYv7a6bKCV4BwYKL zl>44q(1edvcE`!#jy%m|N%ihCUL!L5Fp!jxXgF8h#98ZPmN(w3cR`j7PZp7ti^`K7 zS)o*ssEwfH*S1}pZnzN-aYtX=j=eo{DwBQ~XPU`t_>(p~p$}PY?6v~PwRr93Imc3Y z=V<@NBp3sT98J3nkXZ+UqmK3Isr&3#p1gKBxfrE!ivFzpum-}^Cg$o4^8nncN&w@$ z=5&|VbopSN9EzP0x&B>%!a70Q;asU2#lc(atA+l?(jPI#%{1ZDtsRBgIwa;835Lb$ zM0;}SECqMK>Bah&Q&@x;^D z>k}rgMsO6`YQ|i3Z)EVe2z2T8oZG}7K090iSkJsMb5+}p-7Nky#f{f3@i(slvaa*> zq#?8zP2@%9Mp~Amv#WTTE!BU$VvtANd_E(TQ7dKbEpBuS0n-f)X|IOOcO;T(n_<1d ze!-W!?8dlcH^aS!qD9WUHO~u0v9uJ2Rj)on=HlUzd$mHw2^lM9D(0)EG})UJGq-`0 zK9f*ulija8b%9-i%(s~%@nWKYvBJ=xW&C_lQCpY zM^?;=>e@K--^HcC9gCSgRWlkYyOY8DHYdeB=@LD6f9c$6kEvev{@!|ZzQ4@wO4s$% zJCsV|ul4!HN;IO_?kLjgbaM1m)=}uKhA_Y8VQ_7ipYks?4{lf9ne;_ZB&Xe2YDV=K zd*oV#ZUGAC=`bxEhh>bVoh*(lGR%!1i=~pRggYpd(fdicrkwq)Z@#A> z1S%^>an4#` zytzxG>5L5iJBw5JjBw+HhpK{abgmSd@B{9o_V=)TCJSok3>T6m3KYpO9sx>pFVv14 z7DmupwX^g-q2|_;PGdM>;nvREE*rxAF1V~QT4_{Hm{~)XC8nJtB;YN5tHd-PN4B%e zb&5E;@nNGV@dgR`6#UOa*vkrxaEZJ#dMfUg@9nO}vsI^iK@creZfqe*p&nMZ+iv&O zARmf4TrVk{xR1SFYM}6R7;Aip7{>iTHYs^q?^@6xtBHnxE%JMy_twC?pB}n+ zZ+H9r$6NPHZLe9NQT$x(O)y+Px zK<4GqkhN=Vsr+ORZd(1Ji&Aju)%bF}lUOJ5Jr+Xx^q7T-lpu}^mjRdd)jmbILSJpP zSz`euY8!0vgB=HalJh<#D*u+5Tc<#40WheKT#mhsK7;qqesLyDqvr69!(?BMTRat zxzRr^le5G*#ka(?#E2@W!mf)xy~L2pdcTg{NgyGTrDl=+oKLJXIN)Iz5I2AiP_Z*~ zN9D8kfzTrSEsHDI7H17JoL+=I6bW+2*}c)W}2|d$WKj>cI$(d*?ueXHl{Pb_MZHW zsXEt#x6Uke{>+v*^sFZY0cdldq2 zal_1aru3@wEEWNKPe%n8Zf6l$U)iYZyBID&EZ!}s!otYx$=tpO#V@`^LRELh0*gSR zK;rV<;ge;jGwB($2&w3s0(%={cJE(}AF++~lgRQ7dDFiBFqB@8EV4HS`%aYQ=cfjz zT*B}cqLTs(%pPabm*H+^ZUi*R!RQ#2T}OzPwRkj1$fGxSXW~cDu2N?j{NKIzX#$s? zta0nL2=Z`Xep)O|+H)oXB{iGhCfH9nmAEsM=;%}R4GG%$YXW2Hf=&=!XCkszi_bb|lBZpD znt1+HaPivo`NtH-HYuoGZlZ8(*2)FB=h*WTx3b8F2HmX5_iuUz-RAA#fh97e7;9_B zScQxRJ(P8gb}}nO+865=EZ=lwk}xKgwg}7L8oLE6l$?DTN5QdG^BPh|h)4YzZ|D{& z2#Z|j#_~NX_|AeMI8K<)p zLp?6G^E7IcNjW^ziO<4~g3S-X2A^c?G0QN^uvoQ+GzJPVm)8M6%1*kFb@Wo2aJO_2 z)_kV=Bwr~RJnQ)+a3hndd^D^%D^}*J^qD%w4F$~@exKFNkXb?-rwl^_zLpO4dcA-Z zKa&}VGK@0lD?8_Vw1ru;S0*GVDYoAMr2{Tdn;A)>T}q-x51mnS8 zNcWP8j=bK~m`8Wt2^?OkD1g7L2 z+u%iAY53YtP?uLS4Tm;wYxr8c=PmH_;ANn=Nu^&=o$Bxj*Pdd z;)I@W#z|7JDuvG&^4;spI{8|IulO^sv_(X|mP;^g<9q8~fzZtnWztPN=U@SmjZirl z4S^|VjYx09O$V|GHIDi?YBb=GJ>Zq$)+r^IBd;5|YAo!W6`C2A10wSdGj%n(L!gME zZVFq?ITT(U!PM!sJ2~WN&#Ay!cCs$d*c0&83j*RPVC$GIWRofxjEtc)5JsZRMFC%H zw|}cnvqbe81z3K&FUcyWTZK&QVNVr|*c>$^ox$M+S>GZ8z8a*N_5vT=jaLZzZ^&#- zWaagp3=GK;ZF;;~&kkiWIbBDYhAN{iJ101oRS`Q&(rapu(m7wCWY!JD2j7f+5a}KH)&7pXUX|W%1?uo7rGT6^j6_?%CnXaZUxlHYos@2#0B^| zdn383#G*@X6c;&L-x|G%3(Yk9ULU~coAb&H?&ZAKK3v)9SVn=~Dv(_%EHvx9ILa*? zVwhYb29+pBi)#?Jhjhg56eCVFBu+q;4^2|HocBm_nDQRdM!04T! z&$tD5`Un?@##bf5Wc*|`z3>=ZpBIZL9*MD1mG(iNLX1-V#MQFM$_uTEfxE(r(K$wH zneW5*YeNA-R$2Id&wlMhq^G5(cfR26%+zx6C~*6A@U>SE-cBQ93fVld%)6R`>KC5c zxe`W9m)dUic#7#dSooodUYP9!WFue<|8*;~d%IEh#}jq57L0v&SKlXx*}C?#eAX;f zlt6K{V9Q8oT~y%K-y%=vJh45lF|+Urw{k+ulbJ`p)YAWIXXBD0>z7Z7LYYRS*v>JR z%WO+3l_UF5rac#k6}r57OG#n_S;~vYi}jP!$%aCxrRHF2RB14=lklr~n>{-g5%uhT zED9YTpFA>jTyj`uuMi!sYoMJlvgkYIczGp4?jio5apRMkKyOrO9XlY|l7cy_`VVXqog#2s^X zhf##YO|5z;vbd;_+SpE*RL!>o(4h+xOwM7_)nQz&?;}TYlTFc|Pg$J#NE&5e1Lon3 zLxG?)pGhU=vtc5`EuY+^G@E!!f;Y_!O4N@m&-2}efV2ccgaPc@>dezYsRh%C;+a{V{X#u zGTseEO-FoQ#^~=VDjxF+qgxNjXv1%67l; zNK;ey^Yu&&7WO>Y`v%fe@9TT-g*ZrU^pW;9Xg8BfRA+4Ko&4NgPCdUVe|zLbRy{%0 z{m@x8PnxHmInY--xmHG)Fz9)Ckxo0F7B&t6rxGBzI%~Ue5QZ%j#=(Sp5}k+e1KT%= z2V}+g5IqqG(a`9?uMaeV2(K0CL2%3X0I2^o!aMyT0tlY6``kYWo+kYjJpC&c{re=u zU!ncKSEl6I8T6N%fiHOF%p@aiJ^?@MB%wpYcO3B4hHFG|qR#h)-4bIQ;g!1leCSSW zsZf3N*M>MTEG+VBOf7)dN2*-ULU6b&f6GV;hxB@2z#Z=O@3amSflpb?zM40Gt%Rga zv9%W%OB%ekH+Yt@I^EL)@*WQ7YAG^*hqpf}kEcfFIafAr1%x+)^pj-${bu1wq7Hd` z#*O#GSeQcPdCBPyvH z6?Yv7)$E*V%(ltH@7z2WSF8&er$Q%KHkgKK#DhLKJ;BY8+-V2C4eRff~?`kb(4jP)x3E{?N_Mhf5(FM}4C}lkI zC#*OZKWrf?-U`yzuvegU@njkm?G|;oTSVxo#vvr9gL7#-8i}euXN^R7y~nypp202l zE?f_j!U_wZ#A6P~R(qhejV9Vvfu3UHS{VOIXz{eFaOc7vih+)U%k**-&0e~Z5qWnx zkSGPS(gk5jqKW0Bt66aH3DeupxFjsPF1)e47&WOyclqkLC z`)O2m{DB*uxa_eMslIZ6Khc0tI(-bLe8G$yyB`k>H^hrqG*C1XmwC>@%C^Ax{FNp| z14x**l}}Zh;a5%jO<#bc$1E1$03>N0*jg6zLa^!$U)^2>3sj6SI^}S$V@aq}U`j_$lc#fw;YB2#2*e8U zA`^au3bK$ob7Rs^O*555b}tFDISowhMt-c3n3R>*~RGWX~g6gy*>!(B)#w0D4nhAtj+9Z~Ei zYo{_aDT2_&T{mNVh>@I|>jR5G+L=27H?&rGZrv7)aL%Azr){!T1J~xr$5wM-YHNC7 za*=VvcVI=Tj!gD3wDdTS>&mFnrSc9m$&GvTo%%qSA})tyPbwSz9K(ll2ekp;Sv30j zLqk9Gd|!md=7q{-l-BuB#UjCO5*6rEC!^cE$+0=bZ#ispISy^ksjOPOxXuP{)+4@3 zqJ|-g%>|tL0hD|5xzil}v>+UB2061#!vfOlG#jLtvYHS+% zt~?4t>LOfv_<>q|WlMf>m(+yHt?o~NFY)Cl0aYX`gic7C6)F@C4_Uh@eWxIVhBTok zQD)j_-0I6~{`0unX02)7$^n`EU~FMHW&_;8So@x2@7Q7qCkjKU91XBZdS#!HhP6vo zt>mVq+wv{wa{3M_>F;X8L zg7=rm?P^x>%COTHxd1>t71Oh`Z>quSG-HQ2b}0)ELNny_vv7Uzv!o#%GDIOhnI~K z=bEy(JwiqJF>K0+O})QDi!X^2>0k7T9n#?T;HF01c$vV!9hl}EiQQFJ94NCi4&UA+ z=(IZ?^}boI3My(^=wwD%n~QNdTWn@O!)HtdhnzQ_{!W)A?F=E`UaeN#C~XgdLV-MO zyxbMWs8lBT)HWO-+X`XPMo!~}UUL1N;K!WJpn~`8H(6!c+$Ljyq6829E($=COp==| z!eh;g*orm?RMqcV8YQX_D&0s00P>zC}-20<(aI3Ko4?3%SeI5WM0Iu`j zj79Bx(@*V(GWl_b(xWbV$>_IXzB*4TwGcotd^H{@5*wH*Ni^}cO_|P7d%#LW z&3D@n`9?Q<11P?F=57QQe^(ATgnTl*3!DHXwL6de_xF}oy5R4D^19I!k8gK?!onsP zlP^0ahx{Q)MD?=xcf49UAW`kb@lM&9A5dLM$5a<{%P?t%FOZpR0+L`n!0yscGfL@u zuTF8447fj>0k+xsM3W6uL742)3V9CHHa1TeRu@1^snNY_ICuPjeC4OIy$|5F_}317 zyr99S24E2Z#xhga4yDOEYZq`Ls|ng???<7GlP)vZ(b#!5M4inuG||>(^MvEU3r)Px zXD}6m>2Z6*k%CDiXS>}1x=m#MhHkQ_BqT=5ZDJXvue!bIDKO55t^uW*=W+2*lf3~V zo$=GtgWl8pUpxkV6G|KBLEnI&tRRpbb@F~B9aS?tkL@bSnPrs7shtLdAYFknMd{|Z z>Ok_VU=!3xpS9PuIi4n%r5vr5viy_*Se*8^Od|{R0_sF{V8o$*{kydUOicn6Gps~3 z0`WlM-Y0!vZP4dvv2RbxXT;kLLNC-*_0W=1@6#G+%fQM6;@TVB<1ry>3AZWsI4<}- zhed;NYryy|mf9SR>wIC|_Vu!NXK8T?pqd+LkEv!ruvl80qt1ercPULZYp=vlcID(> z-po{r{G^(kor3a}hQ2Fzn||ar{TWltx#~uS6@8&aP^B#c6s4Y(bbl%leQr2IF|-A!0+>lZ+sh5moiO7V z(>;llUAsM!&+7?!@oDeVt+%+fRY2C)X8rE8*NY7?VVuf+fho5y8Y@={jB*{5NX3T& zZjq4J&zA}ebU=??)n&k4Z60X}+|}Zqyx%!`5HCM*0E+QJ)SYMN0TZ01*%{ChPJvjF z)kN{qU(6QQ@osp(FiJeQ-vMww0e;?J=EGn1)n5ka|JVRc=iDWuXK}*QPsHJRa?{5s nanbooZlh6R0_*31>3!16oEc-c=2F$MfFBj5%g_P^v!MS2F~iKy literal 0 HcmV?d00001 diff --git a/content/blog/2023-12-11-bloke/assets/images/bloke.png b/content/blog/2023-12-11-bloke/assets/images/bloke.png new file mode 100644 index 0000000000000000000000000000000000000000..43833cad3ab96df9be56cfe2b0fac620619f2423 GIT binary patch literal 40065 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

S0uXY%L0f>vf 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 literal 0 HcmV?d00001 diff --git a/content/blog/2023-12-11-bloke/assets/images/graph/bench-perf.png b/content/blog/2023-12-11-bloke/assets/images/graph/bench-perf.png new file mode 100644 index 0000000000000000000000000000000000000000..2dd40d26bbbc9e8a82dab1ee178af53e67d84b41 GIT binary patch literal 15858 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 Xb-MP%?H%AQ_X5phI_fz`EUy1Q*us<( literal 0 HcmV?d00001 diff --git a/content/blog/2023-12-11-bloke/assets/images/graph/phase-perf.png b/content/blog/2023-12-11-bloke/assets/images/graph/phase-perf.png new file mode 100644 index 0000000000000000000000000000000000000000..e923d2838acb8a901ee8ce662ab210d0142d4370 GIT binary patch literal 22507 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 G1O5XrUuLfW literal 0 HcmV?d00001 diff --git a/content/blog/2023-12-11-bloke/assets/images/graph/phase-runtime.png b/content/blog/2023-12-11-bloke/assets/images/graph/phase-runtime.png new file mode 100644 index 0000000000000000000000000000000000000000..09feb88e821d1ff7070e66bf8fb23c699e4e0a7e GIT binary patch literal 31038 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

W#$Z3a9}xgy?;o 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 kTz2U7@i5c(^NajmEw2ig0G#t+V17m-V=>Px# literal 0 HcmV?d00001 diff --git a/content/blog/2023-12-11-bloke/assets/images/worth-the-time.png b/content/blog/2023-12-11-bloke/assets/images/worth-the-time.png new file mode 100644 index 0000000000000000000000000000000000000000..3b63e54b78fcdd7c1d2d8a006f6b1b8673380f7a GIT binary patch literal 128729 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�#SpuPRPZ$ITZ*r*7rkecgJPrR_-nQQGU4X+&HS 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 NRYjmem7G=R{{T=Xn`r<5 literal 0 HcmV?d00001 diff --git a/content/blog/2023-12-11-bloke/index.md b/content/blog/2023-12-11-bloke/index.md index 448466b50..04c747387 100644 --- a/content/blog/2023-12-11-bloke/index.md +++ b/content/blog/2023-12-11-bloke/index.md @@ -4,21 +4,18 @@ title = "BLOKE: Optimizing Bril with STOKE" bio = """ Kei Imada is a first-year Ph.D. student. He is interested in applying mathematical structures to type systems and formal verification to - enable efficient development of parallel and distributed systems, and software - defined networks. + enable efficient development of parallel and distributed systems. """ +latex = true [[extra.authors]] name = "Kei Imada" link = "https://keikun555.github.io/" +++ -# BLOKE: Optimizing BRIL with STOKE -[Presentation](assets/presentation.pdf) -[Report](assets/report.pdf) +We present [BLOKE](https://github.com/keikun555/bloke), a scalable implementation of [STOKE](https://github.com/StanfordPL/stoke) on an educational intermediate representation language. In contrast to STOKE's two-stage process, BLOKE supports a user-defined number of phases that smoothly transitions from synthesis to optimization. We found that BLOKE was able to find superoptimizations of loop-free code written in Bril. Furthermore, we found BLOKE to be scalable with respect to the number of cores a machine has. -## Abstract - -We present bloke, a scalable implementation of STOKE on an educational intermediate representation language. In contrast to STOKE's two-stage process, BLOKE supports a user-defined number of phases that smoothly transitions from synthesis to optimization. We found that BLOKE was able to find superoptimizations of loop-free code written in Bril. Furthermore, we found BLOKE to be scalable with respect to the number of cores a machine has. +This blog post is a rendition of [this report](assets/report.pdf). +I also gave a [presentation](assets/presentation.pdf) on this project which has palatable slides. ## Introduction @@ -26,22 +23,44 @@ Compiler optimizations usually seek to improve a metric on a program. Dead code Contrary to the name "optimizations," these algorithms don't seek to optimize, or find the best possible program for the metric. Given this misnomer, Alexia Massalin coined the term superoptimizers. -Given an instruction set, the superoptimizer finds the shortest program to compute a function. [3] +[Given an instruction set, the superoptimizer finds the shortest program to compute a function.](https://dl.acm.org/doi/abs/10.1145/36177.36194) Most problems within the field of superoptimizations are intractable, and therefore we generally employ exhaustive bottom-up search or stochastic search. -In this paper, we apply stochastic methods to find superoptimizations of loop-free programs. Similar to STOKE [8], we use MarkovChain Monte-Carlo (MCMC) methods to conduct a random walk on the space of programs. +In this paper, we apply stochastic methods to find superoptimizations of loop-free programs. Similar to [STOKE](https://arxiv.org/abs/1211.0557), we use MarkovChain Monte-Carlo (MCMC) methods to conduct a random walk on the space of programs. -In contrast with STOKE, which uses a twostage process to introduce the program performance component, our BLOKE implementation gradually introduces the performance component into the MCMC search. +In contrast with STOKE, which uses a two-stage process to introduce the program performance component, our BLOKE implementation gradually introduces the performance component into the MCMC search. We will first give a primer on Bril, the Metropolis Hastings algorithm, and STOKE, the precursor to BLOKE. We then describe BLOKE, our stochastic superoptimizer for loop-free Bril programs. Finally, we evaluate BLOKE to show that BLOKE can find superoptimizations of Bril programs scalably. ## Bril -![](https://cdn.mathpix.com/cropped/2023_12_10_5f34f3842a7018d69e08g-01.jpg?height=673&width=569&top_left_y=1342&top_left_x=1189) +Bril, the [Big Red Intermediate Language](https://github.com/sampsyo/bril), is an intermediate representation (IR) language for Cornell University's [Advanced Compilers (CS 6120)](https://www.cs.cornell.edu/courses/cs6120/) course. +Inspired from the LLVM IR, [Bril](https://capra.cs.cornell.edu/bril/) is a statically typed language with integer operations such as `add`, comparison operations such as `eq`, logical operations such as `and`, control flow operations such as `br`, and the ability to return a value with `ret`. +Figure 1 provides an example program written in Bril. + +``` +@main(a: int, b: int): int { + # (a + b) * (a + b) + sum1: int = add a b; + sum2: int = add a b; + prod1: int = mul sum1 sum2; + + # Clobber both sums. + sum1: int = const 0; + sum2: int = const 0; + + # Use the sums again. + sum3: int = add a b; + prod2: int = mul sum3 sum3; + ret prod2; +} +``` Figure 1: clobber Benchmark -For ease of use, Bril uses a JSON format and has Typescript and Rust commandline interpreters that support a profiling flag "-p" to count the number of dynamic instructions executed at runtime. + + +For ease of use, Bril uses a JSON format and has TypeScript and Rust commandline interpreters that support a [profiling flag](https://capra.cs.cornell.edu/bril/tools/interp.html#profiling) `-p` to count the number of dynamic instructions executed at runtime. ## MCMC Sampling @@ -55,11 +74,35 @@ MCMC addresses these issues through the use of a Markov Chain, where a sample is Markov Chain Monte Carlo (MCMC) methods draw samples from previous samples. The Metropolis-Hastings algorithm is a MCMC method, where for every MCMC iteration, we base our sample based on the previous sample. -![](https://cdn.mathpix.com/cropped/2023_12_10_5f34f3842a7018d69e08g-02.jpg?height=717&width=686&top_left_y=1681&top_left_x=235) + +### Algorithm 1: MCMC Algorithm +**Require** $x\_t$ is the current sample + +**Require** $X$ is the sample space + +**Require** $p:X\to[0,1],\,x\mapsto P(x)$ + +**Require** $q:X\times X\to[0,1],(x,x')\mapsto P(x'|x)$ + +**Ensure** $x\_{t+1}$ is the next sample + +1 $x'\leftarrow$ candidate $x\_{t+1}$ given $x\_t$ + +2 $\alpha\leftarrow \min{(1,\nicefrac{p(x')\cdot q(x', x\_t)}{p(x\_t)\cdot q(x\_t, x')})}$ + +3 **if** uniform\_sample($[0,1]$) < $\alpha$ **then** + +4 $x\_{t+1}\leftarrow x'$ + +5 **else** + +6 $x\_{t+1}\leftarrow x\_t$ + +7 **end if** ## STOKE -Schkufza et al. were one of the first to use MCMC for superoptimization in their STOKE project [8]. The problem statement for STOKE is: given a loop-free program $P$ of length $l$ and a runtime metric $r: \mathbb{P} \rightarrow \mathbf{R}^{\geqslant 0}$, what is the equivalent program with the smallest runtime? That is, given a set of programs up to length $l$, denoted $\mathbb{P}\_{l}$ where +Schkufza et al. were one of the first to use MCMC for superoptimization in their [STOKE project](https://arxiv.org/abs/1211.0557). The problem statement for STOKE is: given a loop-free program $P$ of length $l$ and a runtime metric $r: \mathbb{P} \rightarrow \mathbf{R}^{\geqslant 0}$, what is the equivalent program with the smallest runtime? That is, given a set of programs up to length $l$, denoted $\mathbb{P}\_{l}$ where $$ \mathbb{P}\_{l}=\{P^{\prime} \in \mathbb{P}: P^{\prime} \text { is of length } l\}, @@ -129,10 +172,10 @@ The error component err : $X \times I \rightarrow \mathbf{R}^{\geqslant 0}$, wit The verification function of STOKE calculates whether program $x$ is equivalent to the initial program $x\_{0}$ : $$ -\text{ver}(x)= \begin{cases}1 & \text { if } \exists i \in I[x(i) \neq x\_{0}(i)]; \\ 0 & \text { otherwise }\end{cases} +\text{ver}(x)= \begin{cases}1 & \text { if } \exists i \in I[x(i) \neq x\_{0}(i)]; \\ 0 & \text { otherwise }\end{cases} (1) $$ -STOKE uses the STP theorem prover [2] to calculate the verification function. Code sequences are translated to SMT formulae and is queried whether there is an input $i \in I$ such that $x$ and $x\_{0}$ produce different outputs or side effects. +STOKE uses the [STP theorem prover](https://link.springer.com/chapter/10.1007/978-3-540-73368-3_52) to calculate the verification function. Code sequences are translated to SMT formulae and is queried whether there is an input $i \in I$ such that $x$ and $x\_{0}$ produce different outputs or side effects. If the theorem prover returns sat, then there exists a counterexample $c \in I$ such that $x(c) \neq x\_{0}(x)$, and can then be added to the test cases used in the faster val function. @@ -140,10 +183,10 @@ If the prover returns unsat, then that means for all inputs $i \in I, x(i)=x\_{0 ## Performance Cost -Instead of expensive JIT compilation, STOKE opts a simple heuristic to statically approximate program runtime: +Instead of expensive JIT compilation, STOKE uses a simple heuristic to statically approximate program runtime: $$ -\text{perf}(x)=\sum\_{i \in \text{instr}(x)} \text { latency }(i) +\text{perf}(x)=\sum\_{i \in \text{instr}(x)} \text { latency }(i) (2) $$ where latency $(i)$ is the average latency of an instruction $i$. @@ -154,31 +197,32 @@ STOKE uses a two-stage process to find optimized programs. STOKE first has the s In short, the synthesis and the optimization phases have these cost functions: -- synthesis, eq $(x)$; and -- optimization, eq $(x)+\text{perf}(x)$. +- synthesis, $\text{eq}(x)$; and +- optimization, $\text{eq}(x)+\text{perf}(x)$. ## BLOKE -BLOKE is a stochastic superoptimizer for Bril programs. Inspired from the explore-andexploit nature of simulated annealing, we wondered whether gradually introducing the per- -formance component to STOKE would help us find superoptimizations faster. Therefore, one key difference between BLOKE and STOKE is the introduction of a gradual performance factor into its cost function. This allows us to first explore the space of equivalent programs, then gradually exploit performant programs to superoptimize our intial program. +BLOKE is a stochastic superoptimizer for Bril programs. Inspired from the explore-and-exploit nature of simulated annealing, we wondered whether gradually introducing the performance component to STOKE would help us find superoptimizations faster. Therefore, one key difference between BLOKE and STOKE is the introduction of a gradual performance factor into its cost function. This allows us to first explore the space of equivalent programs, then gradually exploit performant programs to superoptimize our intial program. For simplicity, we only consider loop-free Bril programs with integer return values and only primitive operations. Adding support for more Bril operations such as function calls is future work. -![](https://cdn.mathpix.com/cropped/2023_12_10_5f34f3842a7018d69e08g-04.jpg?height=421&width=578&top_left_y=930&top_left_x=354) - +``` +@main(a: int, b: int): int { + sum3: int = add a b; + prod2: int = mul sum3 sum3; + ret prod2; + nop; + sum1: int = add a a; + x4: bool = fge x2 x2; + sum2: int = mul a sum1; + nop; +} +``` Figure 2: BLOKE optimization of clobber Figure 2 shows the optimization BLOKE may produce when Figure 1 is the input. We successfully find that the last three lines of Figure 1 are the only necessary lines for an optimized equivalent program. -## Architecture - -Figure 3 shows high-level architecture of BLOKE. The user would call the optimizer library which samples using STOKE's random walk method. The sample library can call the Brilirs interpreter to run test cases, or call the bril\_equivalence library to prove that a program in the walk is equivalent to the input program. The equivalence library would lift the Bril programs into $\mathrm{Z} 3$ formulas using the bril2z3 library and call $Z 3$ to prove equivalence or find a counterexample. - -![](https://cdn.mathpix.com/cropped/2023_12_10_5f34f3842a7018d69e08g-05.jpg?height=352&width=1482&top_left_y=239&top_left_x=316) - -Figure 3: High level BLOKE architecture - ## Correctness Cost Since we have integer outputs, we can use the usual Euclidean metric to define the validation cost similar to STOKE: @@ -191,21 +235,42 @@ Currently we set $\text{err}(x, i)=2$ for all inputs. Varying the error cost bas ## SMT Bril Equivalence checking -For the verification cost, we adopted Equation 1 and wrote two libraries, bril2z 3 and bril\_equivalence. - -bril2z3 allows conversion of Bril programs to $\mathrm{Z} 3$ formulas. Since $\mathrm{Z} 3$ formulas do not have a concept of variable assignment, we need to morph the Bril program to a form where each variable used in the program has one and exactly one definition. - -![](https://cdn.mathpix.com/cropped/2023_12_10_5f34f3842a7018d69e08g-04.jpg?height=583&width=685&top_left_y=1240&top_left_x=1124) - -Figure 4: SSA form of clobber - -This is called the static single-assignment (SSA) form of a program, and there are existing algorithms to convert any program written in an intermediate representation language like Bril to SSA form [7]. - -![](https://cdn.mathpix.com/cropped/2023_12_10_5f34f3842a7018d69e08g-05.jpg?height=416&width=678&top_left_y=694&top_left_x=304) - -Figure 5: Z3 formula for clobber - -With the SSA form of the loop-free program, we can generate the $\mathrm{Z} 3$ formula of the program. We encode all control flow paths of the loop-free program into Z3 formulas and encode the return value of the program as a special variable name with a datatype that supports all Bril primitive types. Figure 5 is an example Z3 formula of clobber. +For the verification cost, we adopted Equation 1 and wrote two libraries, [bril2z3](https://github.com/keikun555/bloke/blob/main/src/bril/bril2z3.py) and [bril\_equivalence](https://github.com/keikun555/bloke/blob/main/src/bloke/bril_equivalence.py). + +`bril2z3` allows conversion of Bril programs to Z3 formulas. Since Z3 formulas do not have a concept of variable assignment, we used the SSA form of the Bril program. + +``` +@main(a.0: int, b.0: int): int { +.main.b0: + a.1: int = id a.0; + b.1: int = id b.0; +.main.b1: + sum1.0: int = add a.1 b.1; + sum2.0: int = add a.1 b.1; + prod1.0: int = mul sum1.0 sum2.0; + sum1.1: int = const 0; + sum2.1: int = const 0; + sum3.0: int = add a.1 b.1; + prod2.0: int = mul sum3.0 sum3.0; + ret prod2.0; +} +``` +Figure 3: SSA form of clobber + +With the SSA form of the loop-free program, we can generate the SMT formula of the program using Z3. We encode all control flow paths of the loop-free program into SMT formulas and encode the return value of the program as a special variable name with a datatype that supports all Bril primitive types. Figure 4 is an example SMT formula of clobber. +``` +And(a.1 == a.0, + b.1 == b.0, + sum1.0 == a.1 + b.1, + sum2.0 == a.1 + b.1, + prod1.0 == sum1.0*sum2.0, + sum1.1 == 0, + sum2.1 == 0, + sum3.0 == a.1 + b.1, + prod2.0 == sum3.0*sum3.0, + BRIL.RETURN.0 == IntV(prod2.0)) +``` +Figure 4: SMT formula for clobber With the initial program $x\_{0}$ and the proposed optimization $x$ as Z3 formuls, we ask Z3 whether there exists an input $i\_{c}$ where the two outputs differ, that is, $x\_{0}(i\_{c}) \neq x(i\_{c})$. @@ -217,11 +282,11 @@ We first define a approximate performance cost similar to Equation 2 where each $$\text{perf}\_{\approx}(x)=\{\text{non-nop instructions in }x.\}$$ -Let $p(x, i)$ be the the number of total dynamic instructions executed in a run of a program $x$ with input $i$. The Bril interpreter conveniently has a - $\mathrm{p}$ flag that would calculate $p(x, i)$ if $x$ does not error on $i$. We only consider loop-free programs, so we define the performance function perf' on a program $x$ and input $i$ : +Let $p(x, i)$ be the the number of total dynamic instructions executed in a run of a program $x$ with input $i$. The Bril interpreter conveniently has a `-p` flag that would calculate $p(x, i)$ if $x$ does not error on $i$. We only consider loop-free programs, so we define the performance function perf' on a program $x$ and input $i$ : $$\text{perf}'(x, i)= \begin{cases}\infty & \text { if } x \text { has a loop; } \\ \text{perf}\_{\approx}(x) & \text { if } x \text { errors on input } i ; \\ p(x, i) & \text { otherwise. }\end{cases}$$ -With perf', a program $x$, and test cases $\tau$, we can now define the performance cost as the maximum performance over all inputs $i$ : +With $\text{perf}'$, a program $x$, and test cases $\tau$, we can now define the performance cost as the maximum performance over all inputs $i$: $$ \text{perf}(x, \tau)=\max \_{(i, o) \in \tau} \text{perf}'(x, i). @@ -235,107 +300,185 @@ In contrast to STOKE, BLOKE allows us to smooth out the cost function and $\beta ![](https://cdn.mathpix.com/cropped/2023_12_10_5f34f3842a7018d69e08g-05.jpg?height=114&width=740&top_left_y=2214&top_left_x=1099) -Figure 6: BLOKE parameter smoothing +Figure 5: BLOKE parameter smoothing ## Parallelization To allow more than two BLOKE phases, we needed to parallelize our sampling processes. Luckily, only correct program rewrites are communicated between phases, which means for each adjacent phase pair, we can use a single queue as a communication medium. -As shown in Figure 7, the user will pass the initial program $x\_{0}$ into the BLOKE optimizer, which would put the program into the in\_queue of phase pipeline. In phase 1 , we spawn off a predetermined number of sampling processes on the initial program. +As shown in Figure 6, the user will pass the initial program $x\_{0}$ into the BLOKE optimizer, which would put the program into the in\_queue of phase pipeline. In phase 1, we spawn off a predetermined number of sampling processes on the initial program. -Every time the sampling process of phase $n$ found a better optimization $x^{\prime}$, the process will pass $x^{\prime}$ into the phase $n$ output queue to which phase $n+1$ consumes with their own sampling processes. +Every time the sampling process of phase $n$ found a better optimization $x'$, the process will pass $x^{\prime}$ into the phase $n$ output queue to which phase $n+1$ consumes with their own sampling processes. ![](https://cdn.mathpix.com/cropped/2023_12_10_5f34f3842a7018d69e08g-06.jpg?height=588&width=805&top_left_y=1191&top_left_x=237) -Figure 7: BLOKE parallelization +Figure 6: BLOKE parallelization -## Evaluation +## Architecture + +Figure 7 shows the high-level architecture of BLOKE. The user would call the `optimizer` library which samples using STOKE's random walk method. The `sample` library can call the `Brilirs` interpreter to run test cases, or call the `bril_equivalence` library to prove that a program in the walk is equivalent to the input program. The equivalence library would lift the Bril programs into Z3 formulas using the `bril2z3` library and call Z3 to prove equivalence or find a counterexample. -We implemented BLOKE in 3200 lines of Python. We chose to not use the existing STOKE library because $\mathrm{x} 86$ assembly code logic was deeply entangled in its codebase. +![](./assets/images/arch.png) +Figure 7: High level BLOKE architecture -Sadly, not many existing Bril benchmarks can be optimized with BLOKE currently since some opcodes are not supported. BLOKE also cannot optimize programs with loops yet, which is an item for future work. So to evaluate +## Evaluation + +We implemented BLOKE in 3200 lines of Python. We chose to not use the existing STOKE library because x86 assembly code logic was deeply entangled in its codebase. + +Sadly, not many existing Bril benchmarks can be optimized with BLOKE currently since some opcodes are not supported. We support the following Bril opcodes: +* `const`, +* `add`, +* `mul`, +* `sub`, +* `div`, +* `eq`, +* `lt`, +* `gt`, +* `le`, +* `ge`, +* `not`, +* `and`, +* `or`, +* `jmp`, +* `br`, +* `ret`, +* `id`, +* `nop`, +* `fadd`, +* `fmul`, +* `fsub`, +* `fdiv`, +* `feq`, +* `flt`, +* `fle`, +* `fgt`, +* `fge`, and +* `phi`. + +BLOKE also cannot optimize programs with loops yet, which is an item for future work. So to evaluate BLOKE, we made short toy examples shown in Figure 8. clobber is shown in Figure 1. -![](https://cdn.mathpix.com/cropped/2023_12_10_5f34f3842a7018d69e08g-07.jpg?height=272&width=362&top_left_y=304&top_left_x=232) +``` +@main(a: int, + b: int, + c: int): int { + x1: int = mul a b; + x2: int = mul a c; + x3: int = add x1 x2; + ret x3; +} +``` Figure 8a: distribute -![](https://cdn.mathpix.com/cropped/2023_12_10_5f34f3842a7018d69e08g-07.jpg?height=303&width=344&top_left_y=263&top_left_x=674) - +``` +@main(x: int): int { + one: int = const 1; + x: int = add x one; + x: int = add x one; + x: int = add x one; + x: int = add x one; + x: int = add x one; + ret one; +} +``` Figure 8b: dead\_code -![](https://cdn.mathpix.com/cropped/2023_12_10_5f34f3842a7018d69e08g-07.jpg?height=273&width=404&top_left_y=270&top_left_x=1110) - +``` +@main(a: int, + b: int): int { + true: bool = const true; + br true .then .else; +.then: + ret a; +.else: + ret b; +} +``` Figure 8c: unused\_br -![](https://cdn.mathpix.com/cropped/2023_12_10_5f34f3842a7018d69e08g-07.jpg?height=309&width=338&top_left_y=234&top_left_x=1538) - +``` +@main(x: int): int { + one: int = const 1; + y: int = id x; + x: int = add x one; + x: int = add x one; + x: int = add x one; + x: int = add x one; + x: int = add x one; + ret y; +} +``` Figure 8d: dead\_code\_alt -We measured our benchmarks on a Dell PowerEdge R620 with $62.8 \mathrm{GiB}$ of memory and 32 3.4GHz Intel Xeon E5-2650 v2 cores running Ubuntu 22.04.3 LTS. Each BLOKE run in our evaluation was run with 10,000 iterations. +We measured our benchmarks on a Dell PowerEdge R620 with 62.8GiB of memory and 32 3.4GHz Intel Xeon E5-2650 v2 cores running Ubuntu 22.04.3 LTS. Each BLOKE run in our evaluation was run with 10,000 iterations. For each benchmark, we measured the (1) performance of the optimizations BLOKE found, (2) how multiple phases affected the optimizations, (3) how fast BLOKE runs with respect to the number of processes BLOKE can have running at one time, and (4) how the number of phases impacted BLOKE runtime. ## Optimization Performance -To measure the (1) performance of the optimizations BLOKE found, we ran the five benchmarks with 5 BLOKE phases and $\beta \in[1,10]$. Figure 9a shows the total number of dynamic executions executed in the original program in blue, and the number of dynamic executions executed in the optimized program in red. For most of the benchmarks we were able to find optimizations. For the ones that BLOKE found optimizations, they turned out to be the most optimal program. - -![](https://cdn.mathpix.com/cropped/2023_12_10_5f34f3842a7018d69e08g-07.jpg?height=469&width=786&top_left_y=736&top_left_x=255) - -Figure 9a: Optimizations BLOKE found. +To measure the (1) performance of the optimizations BLOKE found, we ran the five benchmarks with 5 BLOKE phases and $\beta \in[1,10]$. -We found that BLOKE did not find an optimization for the distribute benchmark (Figure 8a). The benchmark does a simple $a \cdot b+a \cdot c$, and the intent was for BLOKE to find the $a \cdot(b+$ c) identity. +![](./assets/images/graph/bench-perf.png) +This chart shows the total number of dynamic executions executed in the original program in blue, and the number of dynamic executions executed in the optimized program in red. For most of the benchmarks we were able to find optimizations. For the ones that BLOKE found optimizations, they turned out to be the most optimal program. -![](https://cdn.mathpix.com/cropped/2023_12_10_5f34f3842a7018d69e08g-06.jpg?height=244&width=413&top_left_y=1859&top_left_x=1267) +We found that BLOKE did not find an optimization for the distribute benchmark (Figure 8a). The benchmark does a simple $a \cdot b+a \cdot c$, and the intent was for BLOKE to find the $a \cdot(b+c)$ identity. -Figure 10: Intended distribute optimization. +``` +@main(a: int, + b: int, + c: int): int { + x1: int = add b c; + x2: int = mul a x1; + ret x2; +} +``` +Figure 9: Intended distribute optimization. -We believe BLOKE was unable to find the optimization shown in Figure 10 because there are too many nonequivalent BLOKE steps to - -reach the intended optimization. That is, any single swap between a line in the intended optimization and a line in the original program results in an incorrect program, thereby increasing the cost of the step in the random walk. To fix this, we should run BLOKE with more sampling iterations and a lower minimum $\beta\_{\text {min }}$. +We believe BLOKE was unable to find the optimization shown in Figure 9 because there are too many nonequivalent BLOKE steps to reach the intended optimization. That is, any single swap between a line in the intended optimization and a line in the original program results in an incorrect program, thereby increasing the cost of the step in the random walk. To fix this, we should run BLOKE with more sampling iterations and a lower minimum $\beta\_{\text {min }}$. ## Number of Phases -To measure (2) how multiple phases affected the optimization performance, we ran the five benchmarks with $\beta \in[1,10]$. We also varied the number of phases from 2 to 5 . Figure $9 \mathrm{~b}$ shows the impact of increasing the number of phases to the improvement in the optimizations. At first glance, it looks like increasing the number of phases improved the optimizations found, and that we needed at most four phases to converge. However, this may mean we needed four times as many steps in our random walk. More investigation is definitely needed to conclude the efficacy of multiple phases on BLOKE. +To measure (2) how multiple phases affected the optimization performance, we ran the five benchmarks with $\beta \in[1,10]$. We also varied the number of phases from 2 to 5. -![](https://cdn.mathpix.com/cropped/2023_12_10_5f34f3842a7018d69e08g-07.jpg?height=452&width=781&top_left_y=739&top_left_x=1084) +![](./assets/images/graph/phase-perf.png) +This chart shows the impact of increasing the number of phases to the improvement in the optimizations. At first glance, it looks like increasing the number of phases improved the optimizations found, and that we needed at most four phases to converge. However, this may mean we needed four times as many steps in our random walk. More investigation is definitely needed to conclude the efficacy of multiple phases on BLOKE. -Figure 9b: Impact of phases to optimization performance. ## Optimizer Scalability -To measure (3) how the number of phases impacted BLOKE runtime, we ran the five benchmarks with 5 BLOKE phases and $\beta \in$ $[1,10]$. We also varied the maximum number of sampling processes BLOKE can have running at a time from 1 to 32 . For tractability, we gave each BLOKE trial a 30 minute timeout. Figure 11a show that we see a sublinear speedup for all benchmarks. The nonlinear speedup is expected because we have communication overhead from the inter-phase queues. - -![](https://cdn.mathpix.com/cropped/2023_12_10_5f34f3842a7018d69e08g-08.jpg?height=466&width=781&top_left_y=263&top_left_x=260) +To measure (3) how the number of phases impacted BLOKE runtime, we ran the five benchmarks with 5 BLOKE phases and $\beta \in$ $[1,10]$. We also varied the maximum number of sampling processes BLOKE can have running at a time from 1 to 32. For tractability, we gave each BLOKE trial a 30 minute timeout. -Figure 10a: Impact of processes to optimizer runtime. +![](./assets/images/graph/process-runtime.png) +This chart show that we see a sublinear speedup for all benchmarks. The nonlinear speedup is expected because we have communication overhead from the inter-phase queues. ## Number of Phases -To measure (4) how the number of phases impacted BLOKE runtime, we ran the five benchmarks with $\beta \in[1,10]$. We also varied the number of phases from 2 to 10 . For tractability, we gave each BLOKE trial a 30 minute timeout. Figure $11 \mathrm{~b}$ shows the effects of increasing the number of phases to the optimizer runtime. As expected, as the number of phases increases, the runtime of BLOKE also increases. This is expected because the number of BLOKE sampling processes increases with respect to the number of phases we have. We hit the 30 minute timeout at around seven phases. - -Another interesting observation is that for benchmarks like distribute where BLOKE is unable to find an optimization, the runtime of the optimizer is orders of seconds faster. This is likely because all BLOKE sampling processes in phase 1 produced the same program output. Had the distribute benchmark had dead code, we would likely see a similar upwards trend in runtime. +To measure (4) how the number of phases impacted BLOKE runtime, we ran the five benchmarks with $\beta \in[1,10]$. We also varied the number of phases from 2 to 10 . For tractability, we gave each BLOKE trial a 30 minute timeout. -![](https://cdn.mathpix.com/cropped/2023_12_10_5f34f3842a7018d69e08g-08.jpg?height=466&width=787&top_left_y=263&top_left_x=1081) +![](./assets/images/graph/phase-runtime.png) +This chart shows the effects of increasing the number of phases to the optimizer runtime. As expected, as the number of phases increases, the runtime of BLOKE also increases. This is expected because the number of BLOKE sampling processes increases with respect to the number of phases we have. We hit the 30 minute timeout at around seven phases. -Figure 10b: Impact of phases to optimizer runtime. Figure 11: Optimizer scalability. +Another interesting observation is that for benchmarks like distribute where BLOKE is unable to find an optimization, the runtime of the optimizer is orders of seconds faster. This is likely because all BLOKE sampling processes in phase 1 produced the same program output. Had the distribute benchmark had dead code, we would likely see a similar upwards trend in runtime. ## Related Works -BLOKE is based off of STOKE [8], a superoptimizer for loop-free $\mathrm{x} 86$ assembly programs. We extend STOKE to optimize programs written in an educational intermediate representation language called Bril. BLOKE use similar equivalence and performance cost functions as STOKE. In contrast to STOKE which uses a two-stage process, BLOKE allows users to specify the number of BLOKE phases $(\geqslant 2)$ for a smoother transition between the synthesis and optimization. BLOKE also uses $\mathrm{Z} 3$ while STOKE uses the STP theorem prover [2]. +BLOKE is based off of [STOKE](https://arxiv.org/abs/1211.0557), a superoptimizer for loop-free x86 assembly programs. We extend STOKE to optimize programs written in an educational intermediate representation language called Bril. BLOKE use similar equivalence and performance cost functions as STOKE. In contrast to STOKE which uses a two-stage process, BLOKE allows users to specify the number of BLOKE phases $(\geqslant 2)$ for a smoother transition between the synthesis and optimization. BLOKE also uses Z3 while STOKE uses the [STP theorem prover](https://link.springer.com/chapter/10.1007/978-3-540-73368-3_52). -BLOKE is not the first project that lifts Bril to an SMT solver. Shrimp lifts Bril to SMT solvers using Rosette [4] to prove the correctness of compiler optimization passes. Nigam et al. successfully verified the correctness of local value numbering passes using Shrimp. Rosette is an extension of the Racket programming language. BLOKE does not use Rosette since the Bril tools the autor had written previously for CS 6120 are in Python. Calling Rosette from Python is not efficient, as it currently requires subprocessing to the Racket commandline, which is expensive. +BLOKE is not the first project that lifts Bril to an SMT solver. Shrimp lifts Bril to SMT solvers using [Rosette](https://www.cs.cornell.edu/courses/cs6120/2019fa/blog/a-verification-backend/) to prove the correctness of compiler optimization passes. Nigam et al. successfully verified the correctness of local value numbering passes using Shrimp. Rosette is an extension of the Racket programming language. BLOKE does not use Rosette since the Bril tools the autor had written previously for CS 6120 are in Python. Calling Rosette from Python is not efficient, as it currently requires subprocessing to the Racket commandline, which is expensive. -The correctness cost of BLOKE where we grow the list of testcases $\tau$ based on the counter-example output of the Z3 solver was inspired from CEGIS, or counter-example guided inductive synthesis [1]. +The correctness cost of BLOKE where we grow the list of testcases $\tau$ based on the counter-example output of the Z3 solver was inspired from CEGIS, or [counter-example guided inductive synthesis](https://link.springer.com/chapter/10.1007/978-3-319-96145-3_15). ## Future Work -There are plenty of extensions of BLOKE. Our implementation of BLOKE has many optimization opportunities. For example, instead of Python, we can write BLOKE in a statically compiled language such as Rust or $\mathrm{C} / \mathrm{C}++$. +There are plenty of extensions of BLOKE. Our implementation of BLOKE has many optimization opportunities. For example, instead of Python, we can write BLOKE in a statically compiled language such as Rust or C/C++. -A natural extension BLOKE is to implement it for LLVM IR, the language Bril took its inspiration from. A common way to enforce SSA form of LLVM IR is to use memory operations, so we will need to reason about the heap in the hypothetical $11 \mathrm{vm} 2 \mathrm{z} 3$ library. +A natural extension BLOKE is to implement it for LLVM IR, the language Bril took its inspiration from. A common way to enforce SSA form of LLVM IR is to use memory operations, so we will need to reason about the heap in the hypothetical LLVM library. -Another immediate extension is to address the lack of compatible Bril benchmarks with support for more Bril opcodes. In particular, we should be able to model print statements and memory with the theory of arrays. It is not obvious how we would model function calls in $\mathrm{Z} 3$. +Another immediate extension is to address the lack of compatible Bril benchmarks with support for more Bril opcodes. In particular, we should be able to model print statements and memory with the theory of arrays. It is not obvious how we would model function calls in Z3. -Since traces are loop-free, we may be able to model speculation calls and thus run BLOKE on Bril traces. However, unless a subroutine in a long-running program is frequently executed, we would not want stochastic search running in a dynamic compiler in general (Figure 12). +Since traces are loop-free, we may be able to model speculation calls and thus run BLOKE on Bril traces. We may want to implement this as an offline, feedback-directed optimizer for long-running program. Unless a subroutine in a long-running program is frequently executed, we would not want stochastic search running in a dynamic compiler in general. + +![](./assets/images/worth-the-time.png) Furthermore, if there is an efficient way of synthesizing some class of loop-invariants, we may be able to optimize some Bril loops. @@ -345,28 +488,6 @@ Finally, there are exciting venues for the further distribution of BLOKE workloa We presented BLOKE, a scalable implementation of STOKE on Bril with an extension to increase STOKE's two-stage process of synthesis and optimization. We found that BLOKE was able to find superoptimizations of loopfree code written in Bril, an educational intermediate representation language. Furthermore, we found BLOKE to be scalable with respect to the number of cores we gave BLOKE. In short, we have found a scalable superoptimizer for an educational intermediate representation language. -![](https://cdn.mathpix.com/cropped/2023_12_10_5f34f3842a7018d69e08g-09.jpg?height=589&width=724&top_left_y=497&top_left_x=1107) - -Figure 12: Is it Worth the Time? from xkcd - ## Acknowledgements We would like to thank our second monitor for providing us with much productivity. - -## References - -[1] A. Abate, C. David, P. Kesseli, D. Kroening, and E. Polgreen. "Counterexample Guided Inductive Synthesis Modulo Theories: 30th International Conference, CAV 2018, Held as Part of the Federated Logic Conference, FloC 2018, Oxford, UK, July 14-17, 2018, Proceedings, Part I”. In: July 2018, pp. 270-288. ISBN: 978-3-319-961446. DOI: 10.1007/978-3-319-96145-3\_15$. - -[2] V. Ganesh and D. L. Dill. "A Decision Procedure for Bit-Vectors and Arrays". In: Computer Aided Verification. Ed. by W. Damm and H. Hermanns. Berlin, Heidelberg: Springer Berlin Heidelberg, 2007, pp. 519-531. ISBN: 978-3-540-73368-3. - -[3] A. Massalin. "Superoptimizer: A Look at the Smallest Program". In: SIGARCH Comput. Archit. News 15.5 (Oct. 1987), pp. 122126. ISSN: 0163-5964. DOI: 10.1145/36177.36194. URL: https://doi.org/10.1145/36177.36194. - -[4] R. Nigam and S. Thomas. Shrimp: Verifying IRS with rosette. URL: https://ww.cs.cornell.edu/courses/cs6120/2019fa/blog/a-verification-backend/. - -[5] A. Sampson. bril. https://github.com/sampsyo/bril. 2019. - -[6] A. Sampson. Bril: A compiler intermediate representation for learning. https://capra.cs.cornell.edu/bril/. - -[7] A. Sampson. Lesson 6: Static Single Assignment. URL: https://www.cs.cornell.edu/courses/cs6120/2023fa/lesson/6/. - -[8] E. Schkufza, R. Sharma, and A. Aiken. "Stochastic Superoptimization". In: CoRR abs/1211.0557 (2012). arXiv: 1211. 0557. URL: http://arxiv.org/abs/1211.0557.