From 47831a2a0e5a35eba382fde2a4df7e413ecdc34c Mon Sep 17 00:00:00 2001 From: Svenja Kernig Date: Thu, 14 Nov 2024 23:55:40 +0100 Subject: [PATCH] improve analysis script --- .../analysis/Protocol Benchmarks.ipynb | 147 ++++++++++++++---- .../Protocol Benchmarks/analysis/latency.pdf | Bin 0 -> 17927 bytes .../Protocol Benchmarks/analysis/latency.png | Bin 0 -> 80082 bytes .../analysis/throughput.pdf | Bin 0 -> 20663 bytes .../analysis/throughput.png | Bin 0 -> 85555 bytes .../analysis/throughput_comp.pdf | Bin 0 -> 11862 bytes .../args/{bench-get-10k => bench-mixed-1m} | 2 +- .../Protocol Benchmarks/args/bench-put-100k | 2 +- .../Protocol Benchmarks/args/bench-put-1m | 2 +- .../Protocol Benchmarks/args/bench-put-300k | 2 +- .../Protocol Benchmarks/args/bench-put-500k | 5 + .../benchmarks/mixed-1m-1C1N | 1 + .../benchmarks/put-500k-1C1N | 1 + .../src/main/scala/probench/Node.scala | 1 - .../src/main/scala/probench/cli.scala | 7 +- .../main/scala/probench/clients/Client.scala | 12 ++ .../scala/probench/clients/ClientCLI.scala | 19 ++- 17 files changed, 154 insertions(+), 47 deletions(-) create mode 100644 Modules/Examples/Protocol Benchmarks/analysis/latency.pdf create mode 100644 Modules/Examples/Protocol Benchmarks/analysis/latency.png create mode 100644 Modules/Examples/Protocol Benchmarks/analysis/throughput.pdf create mode 100644 Modules/Examples/Protocol Benchmarks/analysis/throughput.png create mode 100644 Modules/Examples/Protocol Benchmarks/analysis/throughput_comp.pdf rename Modules/Examples/Protocol Benchmarks/args/{bench-get-10k => bench-mixed-1m} (71%) create mode 100644 Modules/Examples/Protocol Benchmarks/args/bench-put-500k create mode 100644 Modules/Examples/Protocol Benchmarks/benchmarks/mixed-1m-1C1N create mode 100644 Modules/Examples/Protocol Benchmarks/benchmarks/put-500k-1C1N diff --git a/Modules/Examples/Protocol Benchmarks/analysis/Protocol Benchmarks.ipynb b/Modules/Examples/Protocol Benchmarks/analysis/Protocol Benchmarks.ipynb index 9c326690f..c5fd4d2d9 100644 --- a/Modules/Examples/Protocol Benchmarks/analysis/Protocol Benchmarks.ipynb +++ b/Modules/Examples/Protocol Benchmarks/analysis/Protocol Benchmarks.ipynb @@ -16,6 +16,7 @@ "outputs": [], "source": [ "import pandas as pd\n", + "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import os\n", "from functools import *\n", @@ -35,29 +36,45 @@ "try:\n", " files = list_files(os.environ['BENCH_RESULTS_DIR'] + '/*/*.csv')\n", "except:\n", - " files = list_files(\"../bench-results/*/*.csv\")\n", + " files = list_files(\"../bench-results/*/*/*.csv\")\n", "dfs = []\n", "for file in files:\n", - " global parent\n", - " parent = Path(file).parent.name\n", - " df = pd.read_csv(file, delimiter=\";\")\n", - " df[\"runId\"] = parent\n", + " runId = Path(file).parent.name\n", + " system = Path(file).parent.parent.name\n", + " df = pd.read_csv(file, delimiter=\";\", dtype={'latency': 'float64', 'send-time': 'float64', 'receive-time': 'float64'})\n", + "\n", + " params = runId.split('-')\n", + " \n", + " df[\"run_config\"] = f\"{params[0]} {params[1]} {params[2]}\"\n", + " df[\"run_id\"] = params[3]\n", + " df[\"run\"] = runId\n", + " df[\"system\"] = system\n", + " df[\"index\"] = pd.Series(range(0, len(df)))\n", + " df['receive-time'] = df['receive-time'] - df['send-time'].min()\n", + " df['send-time'] = df['send-time'] - df['send-time'].min()\n", " dfs.append(df)\n", "\n", "df = pd.concat(dfs)\n", - "df[\"latency\"] = df[\"latency\"] / 1000\n", + "df[\"latency\"] = (df[\"latency\"] / 1000)\n", + "df['send-time'] = df['send-time'] / 1000\n", + "df['receive-time'] = df['receive-time'] / 1000\n", "df[\"unit\"] = \"ms\" # fix unit\n", "\n", - "\n", - "for runId in df[\"runId\"].unique():\n", - " start_time = df[(df[\"runId\"] == runId)][\"send-time\"].min()\n", - " \n", - " df.loc[df[\"runId\"] == runId, \"send-time\"] = (df.loc[df[\"runId\"] == runId, \"send-time\"] - start_time) / 1000\n", - " df.loc[df[\"runId\"] == runId, \"receive-time\"] = (df.loc[df[\"runId\"] == runId, \"receive-time\"] - start_time) / 1000\n", - "\n", "df" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "3f937b89-a8a8-41b5-8df6-2be81920589e", + "metadata": {}, + "outputs": [], + "source": [ + "latency_df = df[['system', 'run_config', 'latency', 'index', 'name']] \\\n", + " .groupby(['system', 'run_config', 'index', 'name']) \\\n", + " .mean().reset_index().set_index('index')" + ] + }, { "cell_type": "code", "execution_count": null, @@ -67,16 +84,43 @@ "source": [ "fig, ax = plt.subplots(1, 1, figsize=(7,5))\n", "\n", - "for runId in df[\"runId\"].unique():\n", - " for name in df[(df[\"runId\"] == runId)][\"name\"].unique():\n", - " grouped = df[(df[\"runId\"] == runId) & (df[\"name\"] == name)].groupby({x: x // 10000 for x in range(len(df))})[\"latency\"].mean().plot(ax=ax, label=f\"{runId} {name}\")\n", + "def plot_latency(ax, label: str, df: pd.DataFrame, group_size):\n", + " grouped_df = df.groupby({x: (x // group_size) * group_size for x in range(len(df))})\n", + " mean_latency = grouped_df.mean()\n", + " \n", + " mean_latency.plot(y='latency', ax=ax, label=label)\n", " \n", - "ax.set_xlabel(\"number of queries in groups of 10000\")\n", + "\n", + "\n", + "for system in latency_df['system'].unique():\n", + " print(system)\n", + " system_df = latency_df[latency_df['system'] == system]\n", + " \n", + " for run_config in latency_df['run_config'].unique():\n", + " print(run_config)\n", + " run_df = system_df[system_df['run_config'] == run_config]\n", + " \n", + " plot_latency(ax, f\"{system} {run_config.split(' ')[1]}\", run_df[['latency']], 10000)\n", + "\n", + "ax.set_xlabel(\"number of queries\")\n", "ax.set_ylabel(\"latency [ms]\")\n", "\n", + "# ax.set_ylim([0,None])\n", + "\n", "ax.legend()\n", "\n", - "plt.savefig(fname=\"latency.png\", format=\"png\")" + "plt.savefig(fname=\"latency.png\", format=\"png\")\n", + "plt.savefig(fname=\"latency.pdf\", format=\"pdf\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5e99ad3f-78e7-4703-a37a-86a2676ad6a8", + "metadata": {}, + "outputs": [], + "source": [ + "df[\"seconds\"] = (df[\"receive-time\"] / 1000).apply(round)" ] }, { @@ -86,27 +130,56 @@ "metadata": {}, "outputs": [], "source": [ - "df[\"seconds\"] = (df[\"receive-time\"] / 1000).apply(round)\n", - "\n", "fig, ax = plt.subplots(1, 1, figsize=(7,5))\n", "\n", - "for runId in df[\"runId\"].unique():\n", - " filtered_df = df[(df[\"runId\"] == runId)]\n", - " \n", - " throughput = filtered_df.groupby(\"seconds\")[\"name\"].count()\n", - " throughput.plot(ax=ax, label=runId)\n", - " mean_throughput = throughput.quantile(0.5)\n", - " # print(f\"Mean Throughput for {runId}: {mean_throughput}\")\n", + "res_data = []\n", "\n", - " # also_mean_throughput = filtered_df[\"name\"].count() / filtered_df[\"seconds\"].max()\n", - " # print(f\"Diff {mean_throughput - also_mean_throughput}\")\n", + "for system in df['system'].unique():\n", + " sys_df = df[df['system'] == system]\n", " \n", - " ax.axhline(y=mean_throughput, color=ax.get_lines()[-1].get_color())\n", - " # ax.axhline(y=also_mean_throughput, color=ax.get_lines()[-1].get_color())\n", + " for run_id in sys_df[\"run_config\"].unique():\n", + " filtered_df = sys_df[(sys_df[\"run_config\"] == run_id)]\n", + " \n", + " throughput = filtered_df.groupby(\"seconds\")[\"name\"].count() / len(sys_df[sys_df['run_config'] == run_id]['run_id'].unique())\n", + " throughput.plot(ax=ax, label=f\"{system} {run_id.split(' ')[1]}\")\n", + " mean_throughput = throughput.quantile(0.5)\n", + " res_data.append([system, run_id.split(\" \")[1], mean_throughput])\n", + " print(f\"Mean Throughput for {system} {run_id}: {mean_throughput}\")\n", + " \n", + " # also_mean_throughput = filtered_df[\"name\"].count() / filtered_df[\"seconds\"].max()\n", + " # print(f\"Diff {mean_throughput - also_mean_throughput}\")\n", + " \n", + " ax.axhline(y=mean_throughput, color=ax.get_lines()[-1].get_color())\n", + " # ax.axhline(y=also_mean_throughput, color=ax.get_lines()[-1].get_color())\n", "\n", "ax.legend()\n", "\n", - "plt.savefig(fname=\"throughput.png\", format=\"png\")" + "ax.set_xlabel('time [s]')\n", + "ax.set_ylabel('throughput [ops/s]')\n", + "\n", + "plt.savefig(fname=\"throughput.pdf\", format=\"pdf\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dd920bb9-b5b8-47f1-8ce0-fc8caa33425c", + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax = plt.subplots(1, 1, figsize=(7,5))\n", + "\n", + "res_df = pd.DataFrame(data=res_data, columns=['system', 'type', 'throughput'])\n", + "\n", + "etcd_df = res_df[res_df.system == 'etcd'][['type', 'throughput']]\n", + "pb_df = res_df[res_df.system == 'pb'][['type', 'throughput']]\n", + "\n", + "pd.DataFrame(data={'type': etcd_df.type, 'etcd': list(etcd_df.throughput), 'pb': list(pb_df.throughput)}).set_index('type').plot.bar(ax=ax)\n", + "\n", + "ax.set_ylabel('throughput [ops/s]')\n", + "ax.set_xlabel('')\n", + "\n", + "fig.savefig(fname=\"throughput_comp.pdf\", format=\"pdf\")" ] }, { @@ -115,6 +188,16 @@ "id": "c0dc468c-0f71-4426-99f2-cd3272a395e8", "metadata": {}, "outputs": [], + "source": [ + "df.groupby(['system', 'run_config', 'run_id'])['send-time'].max() / 1000" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9526da1b-a2f8-4930-a072-7e9297b0decc", + "metadata": {}, + "outputs": [], "source": [] } ], diff --git a/Modules/Examples/Protocol Benchmarks/analysis/latency.pdf b/Modules/Examples/Protocol Benchmarks/analysis/latency.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3c22f909cae93392e9f8736c7a53efc7e5aaa4c3 GIT binary patch literal 17927 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 }kRv*pC`O(Oz z!RrxiWV*B)l@m`2>Pc^#4n_sX#mmh=tso8RJ#La7uJxXpu1i@Z5c22>N2}T*R?n^@ zX1a;gT6$`1qFA}k3#UcE_KW36<8!)KS-)WG{q;(rJIn(+8_C0+u&KfM;`H>x_;|$y zf06PY42=4xr$_Ex8|;mr^j(;JY(Jv8mT%M#xN2RIZQuGNr(pL}pUr^#^y@)>TIl2C zT4Ix9sS~kCIhE;w8Zt>ze;TeX`RTE0#?H02)zQ#`2zX%D?zV8hX*cU1&0*P}+ zYe63a`DTRM^?Dk4gAxT>6bSN$VY7SzrOekn_4CVt4h`G)MeqSNZ!1#ji*rPWjH-8vtATSJARTI!U= z;CJ;_{#(1QotAHuq`-CojYmaq@ApxO&MDRmQyyP~8y>O|RPy7UD5(qTFtw(6%*0b%-exV@g zTCh6};>&44zftwl@Fk0{ojtgUXE#_kwsv3v?bb!v2>-wuSw` zKj*3|fldN`Np-3(y<$Itdz6Y|>~M&k$??EhVB3_Yty2h#87T@djEFAtt3y@9hR?INBcH_tmd}>GG~g_5J=v?nSS9RiV@*OOgCv(ckm+ z+z@&il|k}jjIQ3!t=}Ci?4T-^@}Jb_hPsW zT7`Snq94`jTg&f6XDlG{;5;trz8?L{HIv-r*rTfw2yI9lz@bZu`#rCjQ5CK2v?Nl| zgb#xCO_>Jx=ZDMn-eMLJW4g-cxb=0YP|#}<^3%{UxSdEY zL}I3}L@Eyw1om_}T+834-8{?bsP%}e=?CvCNUK`X-snhAMDj#+1zsKHxK1y=Z#@K7 zzA|FH*>=G|@L;@RWx-V(=T8R%2x_ltlm2MLm&+M_!ec37G;Wv5a3HFQ_Jn!dNJ*YP z+)}0S*RS86%i6OMnAWdE9QtFSn@LMYHJf61>N1_RlI2o$tQ1o_1AP%L@6wMeZDnOz z{u}SCzJCg>eF(zDqDXfk{M-MnGjNdH7v^VGtD&1&g!cPWu)dWo#JxV!KRZr+;mt=8 z5SwgCetI@&^Hh_zq?ot5@LTvwSvAJC3oU2SS-6@{Ti#DlGR+g;yFHC}bIInlwyviO z6eI`47|W^LrLoYw;~Hl4`KqgNZn!eOk={H=Fw0QOZo`?4mV?hId=_9{31k5%9?%D zFYgPV_UH!UA7A&eudJ$FvPLM+Lvk8rNyd*GlM@wd;@u*wpxNuC_2R9EY#E-9mSAq| zcEa^v=X$6~g+Lqnt1OjlnlPsXpLPjZZ5o;0M_F(f;1-Dyq?A=%~a z<1p%r%1RC1!|X_fyUus(U`EWF?@n1c&KD13Z6!6bQVJIYUVea5P!oAl{`fku=F5YK zh#u3Z=@m2>y6THKg5}h4tJDVLo6_}^c$zddq<1^~Wo)XXJT-63TX?B)xxKxiRV~`A zP~JCQPEu)-DzS)w`;|{}F=2fBz2A!LUmD?0bJb<#Z9>BhklK$Md&MEJeO+cFWBr4a zkU~4eqf*U&=&|Puw<~bdXgvNa7~F5Qz7GqdxxHqIeY}QpsFe3sy0TVor%DZkv+Dya zoJ8bIa(!4zrNQapd;l|Pg(?@e&Lx8~MQ^SeTH}6TzTIb=!1Gu5Bm18LkNu;IYRgC+fsoS#WYQHh1%BT<%Ou zVHH!M!}@|ChVU9&5pUehLp;vD3u8QaI1O@?@q@n}fy!|}-V>3yS1ea9xA27i8}51B zw*n8Guij8H!qSH9sLR+VeHpG(ZxXA~wG8X&|KN)Fo)W86btra|iZO27Uw7$h6t#A| zF6ko*VowBT(2IL&zpeL|4L-Rae<@0TzHa1UH&z9a)1v2!5*^~pN|Q8+gWo3WON}vA zTdm&1pW=N z1AI=Z?33)mX_|SsVSvbmMEe4|Vb70Tk||O8AK`}2Dx7KZ;KLlW1ikV)!!_@OBvRu&ram4;VdrjSjrJ_YU?#`dj!(UtNL}%kl|7-Ti+bK zPFO>OW-seXF-=^PjGJDgmz2FjKJtkC$!Vuyo}{RuYO$eV`a1$0@#XIIvgY>2wEtK( zwR+7PkR<KkRw?27%Y00EDEY`~A-L=+izgCGPraWBHmBfxZre?wN^0_MYoD2lqFV zU*)m6zIpvRG?c1L%l>y_)=v7v^D`tgYo7ZX6=(Bdg?kWt9Ci-`V9{LHd@H!!%Vb&t_9Hy8VK z{~K|};AkP?XJh2|qp|FceYCXXJDw~9>#k;q@JiFK!NrEH$geCIy( z7iG}`8^bXI&(F(=FRx5{_iQ}uk}t3x=scH}J;SnY&uQFtjRt_&?vDdeo-EZ`Rv13a zhb@MbHLd}wBi@s2C4aUlbZ9U~;@Mt%MCCiB(M;~4|0&fNh5~N#y4gqK0=}xe;DNFb2z3swK@;XI;3!Rc2@ZUd8 zcj5edkC2_ar90iJO`<^J>YwH}L4cZfVPj*+!xc0;A)BrDj~^*EF7wX4fRCg@E+}ig zFTLIMpz@OKs<24XhPpY~`EqJDf6x9X>AX76%T@Dc0ZXH%{{++%ImesF=@4H|5tYjPO|z@!9#>hB_1U{#d3^3I;NT`y3shB}65V(5AZF)kg>UT;$S4Zs1yINO7DDeL ztv}~?e-inRGazPy`;%~TILQ)=joZ^GW*3g!A*w&or~G+W04(srx#sVP4xXNs4lx1? z@%RyBonB*svOO_gG^p@8hUbYyspTAA6PtK^jyHV)@?Cc4t2EFSeBYm-PA_=&<-HFTAyp_Xdxm_ODZ{2!-Z>~6zfHN)u zwL%Wb7CUsZ7>eVuB*d|5!@+y=R^4w&=5NLK9NETtiQ3Ab&ZE*T4UDM|WJGSgF-dq* z!+E?n5!_gsP#kAAE8}|+Tr6tFNb^s~Vb6u9R31D7SN!I>A0G0W224N42$Kv=YmV6M zJ~%zycBk2)`xMbC)hA~RhVMC6ZcnKeI-k>@<;!H>!-Z2uo~v2D{RV>dq5kgxI0-kpJH`o?mthJ(u*>>mcCY?v?i@OhK#Pi;>#h1GbEUHT z13>KRQva3*wj2y*~xzu?gem_hrv2HYAQb5tsP~zfZ}Q zPRD;U`TX{}9%^Q#r0eCk4mE}!Ei~alrWJ|gLl#(HDgWp&PF^%qy4?r6IUz8xPJTz@ z{(}-o&evgA^(yM=Ke&K2_+@pfB_F?K^_8Jw%o>`-3ovKE+e+C*P%zhEV5cgu!#S|! z^cE7@gI9E4TPR5XBSM0*Hv^#sPT9>&l4#w2O5lZZ9C|5kx$yThO?Z3wLoyg>0fIo! zXq@}Rw*Dn#S6OAXTl-MhYEr~k2CjUe=e%B9R!fprmG^V{c+bdNYR10FR&G_4{bX>XgdPRg@0vIx9{z#X@7GTJJEK-;t#(K_3$@2sr zB+b;D8w~vC@Dqm5vSvEZ=)w~ z?g($B$+0AxbeRBvsy_~(fG zc--^7jZLE4W#?iu?v!p>x2~Lbp(cA%OGAwW*08<|U&s-Or#H0WmE!jFTq5LXDy$o% zC|gwN`b11{3rJLY+-tA?d%P3%csagYXEj>Yto~AQbk`xr|HX3jl8lV!=66RezEFV> z$Dd&D?zj7>y+-f$+&keq9MiBZIa%)9Hs7mZ?a?c!?=J_3b?w0t4P;K#N!*d>7~ftB zZSjY_hu0XzZqptZVqcrTL5V0=iE`Sv0O2B!ChV06>1`lVj!cT$b~vf`uzB8jC)KRO z^^%gu&D&;5X`$3h@oL}F&N(|!)zO#X44ADR{`AiuYqrf4t1Xoi`){IPK4&$V)r}Sb zy8?$BTN%j=>ntrsyQEa3x}c`8m2Y@-$yVh{iJvob-?1xPB;M{}^$ z1cH5#Y}d%ri>CP%O@C8I!N5Vb(y&vhS+1!COO<_)n^1UnCWUMF~=Q9 z<|xNdDY@18NEj5UR~?SD$A7&+R5YaapVG#1#!qz{?JInRjgUWrhwNPY&HS4j8p2R( zFmvxJ69g|72(~_u$J=JG#BIgB!a>Q0T9J1k9hIP8xZHgAm7&sPctFt(rQ_H?OtqFc zC(-dN(4pm}LvPKbRHGYMj;PKe1e3}*UY159VT><+kVK~1ApVBwd_5YfU%k15fKqzM z-~4nT6Yi66^E4b-&q05;flLlp848+%H)~%0Tar5t7jQA@X*Mv~rtWX2_X8}BQUXf) zgapWBvH5Sw!9yOhOdJO3LbL}sG2;=-%8chA4k-VxP+*~;&M|8QPi}9g4I<`_@4$M3V4qcDMoW6@HOcb<9X^Jd+*2fsx-9b)wP}Uyo$BFn zWT<<{;Iuwvcm?J$Xzu_N{&Og81Q63(ed#~=!v-XuF9?l#8SXMMj3x$cUsBfE{_W}C zL#6Kz0v()J;kkHD1d5mYIuw-Si1;Cw%}bF}o}Ozuc|DC&YGwG}rs)_rz_ZDv2Nx)l zijVfAQ{hId-G@XnfKP)73gWn|jJn}Ra_;yroN09&P#r?0Enuu=JwT?@%x<*n9oYtXqR2Xmab(;cTRtCn8DJ? zmAtAo?wxhYsUF*Cs6&1ENPR#MTX~+utW>5Z2y!1RyE6&wAzjSEQiK!pCCRIuv7ALF zpI8E`ugt$s4rT?9ZuUYml2{O4T7$ZQwfvp1n%Xw=> z{u`y%)Ux2&)=4Uw24V>BPGl$%oLgM*aD^WjW#06QqW)D=U!tP87q4g`q*PGm9k8W?TGKDqWJ+e&E=W=T2pUns&iFuzLD_p=K zv2I?vherKK;f%NBBRLw)zXDT;8s4Gwc*@FTm$ht8Lk(Yglq2ZBd_=)KN0# zFc@L7r75JDuCLv6T#;C@Qx5wF!wIVo3j+#>F{V5E3^0svfN}tQ9ePod>NTzEKnp;u zy=5_$yPPw5Wi|z66&XFud*B}oDIM2%i*so1Zl-s}{{$}pntvN}l`r8&(!HX&*ASHw z!az}J_vQ~-l!T%(i6{1LVpZ40E2;v*)5D4=3cezOaw~u;F_D|Jkl7@8QW`Dv}~d=Ywkwt@6TCw zOunkVF(q1Bc1f0r945WJ+ZVsN$FcXYF|GF1me1zM58eBWfmogP*Hgoog{QR0UX`^& z0237O-T^N42bRxQx9phxCmLDlYZl-B(&YaFICi*A*;LWdtx$VoaYEjrWh$z>8)q*5 zQ;uGl)QWT$%B2;TdfxZE1`e)ZS-beY#Y|jtTJ})8JI%Xogf0ko9BuNksM+Z5j^?`~ z@8pvly<{?b7p6Bywk1UYwDwWYQnT7ZGmwKb_sS6soTva~j1z*R-_@&)b7$(?9W2z) z0pGBT#n?1#^)!n=m^z#yYvWeRASLtO+Q}xc=v?`A5}~#sRxYP@#XY6#CERNesnAqR zxk`U?`nm~z*J(+4TV#yQnMpgoMc@dHeSIZW_O=T4;}L=es&nYwOE9vx_A=?xtCI*fhmx&YU707pi9)T) z7p$1=wv+Priy2PTyMK-U^SEc@F#Yyrgt zbwIy@kGBl^cJSjzPyC?!h_5Sy-pIZfyq}+5Gd2qQu(Em@@AqVluKhrKx z?zAJELC;mc+eatI6_3ceCvYs!e|ydJdrzz9XZ_;a(s9(XrHLbP7hh+c(Ifa0%*zOw zTWUao`I1Vw@y@yJd{z6_f&@gO)t$l$ebc)h1RxtZNNEoC9uCg(hJ;*+Qh;<~kM}y) zaqP)h%C=Yz*a-1nQM<5n+khH3_@l&U5_Dp>e^Cc(pdEt|r$l})zDT}1YQT!s>yM^* zmWKiogEdf6GFvWktY0H@eI@(r*yQ37B@OWuqyB(0bD|ORspCKIp0`blituKbkOGR| z6WbuL5;xc3Y^75&Z$?#eZ+!1akrh@MBcGQ#Q`r}8Fr-14-r~10LH>>C(K#G(QS_y5 zDxskPdulupdI)px$(=RPqn+=?klpjPArHqBUPRbFuK(@f@H@FkfxSR*ovzlraAUuG zj@b;Gf@;$6ZSh}GeX$7hinV5kRRLGeC%lMbXy56O8R3e%pVPLC7QdPH%d5PwFfxlX za?t4$8r!XjoYomnbLUPSkL0gE;9f;2T~fSE&{a4c<_4X;sXZRIi;w3ku(E3P9#BIi z%9qXGxY)htS?N%~&eh>P_4%Ba9|dS+7`Ao$4rOK&HY|0o*p<k^jzxp{|9 zS9=IA*&@DSJw7(4f{h?c+7=~|oDd_jw%lh$hUabwvphG}Kq&IMM&rJhjr+yxhwE}` zp8p^6v6wa!y96i(Iv^zrK$a| zL;J8xpMA__4Qo@&iMPyQzd+|U?p2FC=A|^GLl3ijCaiBmP+1wkL;yYM?XwmdP~Cr` zd&H7nbr@3dVt&LllloWi2BD_5>5G4Uin^bm{Zyvwpd8|C9&KVPZLenD`L@+UB0i@L zPc!u9#ppb2F_YzVs&MtX^Ximc|4jot)-*Q#DyuegXrzMf#4uio%Xbj@VouWhcat1p z0*moxqzdZvdIGIHQ;Vo|*q!PDkW#M7+*xx9n>#Sn4HNBrF<}GwLT^1wP}T<`|0*G6 z6&6$QJuk#^z<9yc#ROS$L5qvabMI`WZ0Xg&AenC4q88|iDl&N>ZdtWT_w8b=uP6py zk67%Ovo&ekpcfmPXOxVF%pCSjildP4+w^@W;=r5%0F9+aEaChJd(++zi)3INlstlX zik1kqdo8o1T~OTzD^(|RpV@(bK(_xU1=t;-cE!7PwiClMDlc>d+?JbnKG80_y#6T~ zT@Ec18D78?$i~a0(mB>3zijy-D$O2BxfL)1EY4k#o^Jcf1$U#k`5$mD?h%A zeXHac@|Qii<48RH@3(dTv>Iipm^rM6IJkZf;%1)3 z|8p|k)>iup5#7%!MU5z6KIs_LWqJkSVx|PNisAx1 zOc(8AqlIa-Hv_2kvrZf|EtryrfGQ&J89tVl*^~)z7`9*-8kC!{fg;FT8yC*LfmX=J zk~-ru*4YNz6Q!ug$gUV@4~q%m=(s4|KXf;k671M3CHZj-{mMN5E+Zar(e|pCXmis_ z^w<=|*UywV|8AH(_pE(Kw}VIff?^&^<8Mn-m9|9BdX%j|wdgmc^$ zc0Z$A__U5v1oo4GF{O5zSD8+s@KGc;d~o@!=-p%?$WqDohuCLb?ui( zatrwfR5z#Ilk3+_d(cP@mE4Lq6h36?O^zbI(DA;Y zxqfHg45AOA;z&%D3s}=-GLaIn;J>spm|K86rJtJF4VnByD z7HLMYWz~i!xweB^!eGy_%Z4p_Exd55Fq4&YNWvQ{x%kb31l3{nBrWTN4%I3GeKTW+ z<;7Q{iFt6ta{#3lK)AeqMg{^5^~1g{Ec8_~+_TdjaAUw9gt%RZGO3AALS%cF%?>3{ zO=$RnA`Y6IpOaMqBnv(Y7p~D|jY&tqgmLk9TaYOjT7ij8@!6Dm5x?}ucAM@`gAtyX zVUW;H@0ZvADUcq2uAslZyM7-%uC{ zJ39(AGAq$I@uqgk)#QDcSz>D3jxuLd>2?8!Mt;Tp_ZLgTKpBk;^MggsDtOKk%C2T7 z3BN1+P4g{OE0-u0{KQexKy(bgijf0{O)HLi7lIs-{Se7^Hy|7Up!=a`3mHJ;^>6cW ziUq!+uOL%Cp^r>+64R#ic4khd)HgI~8B+Uza^ggrP@*JH*9Ct}td%P&^QhIV{glXp zgj#TW^G5?Rf$z^=7WWe9;4SGZBElwo=g!uBlfrGDnq+y_b}iS&kw@8_a;4M0Ue_;o zE*9g061$_02inn!*XxYUC5%FacW^s)3(5||^;BNCa5PJ9(c>ZzE7j=g>Oy|{qU+eR zb(r*Kj7i#$6IW0S1*0}mw~Kaak^E_(e;jIIuiA2AUUE4RBc*%VA0Gci*D{V?PXB{EuIF`R;ygLi$+MstM4z z!UBM;6!o72@y^ov$w9WDm-C7Kty1_ka1E>wXZQh>+L`hrrxkxN1nohbJkEJRBa-&2 zB`6GNUBJ6TMkeg*{obf9CePpXE7ua{iG1yl)FlJmhYKa$vTzH+HknN8ID)C|9^IDY zmZ^{(zlyrZ&S4ZpQLZm)4#tO(*(&W2mU(M`jTq&GsaGwPr}MB`910OQ>Y~sdO{XG_ zpYjVeqodB>h0SQSbzI*{d6kB>4>KFsl&E)2_gML5kxg%sW?C(!4Y>&s;VaxDSpEtUBx)H*=anWV@ z2C2QbQ_EAb>J%dKDCgycdBk59_$Y1^a-|XVs}2_NW$ns!3jzIMxen$uLHw0s zwH4^iZ-B#v^6?pP&Ws(@G~IS;HVMs*$%=dXVUh1ej|+CmM3WY|t{Z*8OoZXsEtitg zKwYmK(;=TDf9(tCgn&b|PyWcv8gc^}o?0^Lm&_ua!20Qv5bHp8iDH9NbZOzLB3drl zCEP-531N&TUj&|+LJxx8_H z+I;cB!0)+Q1k76)U+>+lYY|b?ZXLHo8cbMXd;CIEb?7k~qbwE4E5Q>k^&2zX)M1V4?o#+R^*%F1)8Uox7AZ~oNAs&Uo(nfyMUbqY}XA4rr~1$ zZLJm+xe%RlJiL0;;C1?@1+vj}s!_A_rZ`;F@^GZxI!cE$IqX~&de;ed-Oy>QIPdzV zCj6MfCvNiWF>xcK4Xl!GzQlvs3yq;_(l-%KHN=5LGSy)GhHFz{&u zL{wB~82$*=smS)-!hp4p=>FJJ5#cT_ptiihq93cUc4Rl7IZg&1Z3%R0`agHV9fWaX zdN6N^YE|OdwV(^Jw!n>ys2mIn{|C+&FCYm$OJQ0EVSq7VJt;3H@?GT6doE&F?)+;> z0p`q9NNeQ#zoKS#;mqAm4l$RjEB!5>V*D)`%#9DV3kHviXiS-Uy(zGNOsCZugMY|r zuf?+=+3$>@cu(50Fbm==I;=FPg{vGYwcRno-7e7nSy6fGLOS+)r~o&Ts(^NOUAjA0 zZJ$s#4T_?Sre8H5Eb*=LeY!V2AG}iBcuR_?*H_5$14h6CtoxmT$)mGDPELJ>pPCqPD{fJ8FD8@_@cdR#gQ6U5|RKh zWGWLw(K4ysXp!MwH0*6dpunGZw3z!lUtbF?tu9L!H&*}#+gICA6DMMw1Qvz$Q6-yx zl?Z~Xf}Y7x)a`n*vv9% zT=hX*yjosoCx^T~l;M$pSeoEHx-(j-+_+qGefbDh@K3=jx0fxv*ZJao@j6sF&lYXB zkIn8X&{HaIPnz$mzom~cJedf$j9OT>N$=43Qw@e2yi=j^XWLCej+X!R92c*g7WCPe zrf{$A2v^nR-B@gy6qx-Q79$!O%TJdcF6WP_zpejs8AaTJbji-?tJ0?_ziIY}YURrE zx#c%&Dn8()q{>i=iYkI$2lVN({8^OG^Ne8vhMj;v{)}7!vh?0yk1w|G?=c6)5f4OB zjda?0siJ)1wJOZutqjLCI3SwJn7dsB=+4@ns-^hLALv(?szFx~5=>fvA~(kxd2_%} z@|QDRK7=H@o_sVj-w{^0MJefLma|CupVm00j@T42I|<{HGDP~-&INLFef;@w%ccE} zCFS;ZK!G6H?h;J>I5YmADZG`!b`oy%B!hPUT!T+^%7JU&eX9_?zHE{fJib}}bBFEH3!a`Zw>oeH3bAX78ipFM^iqLSnyEEE+f#2*{ZkQiYb zt16@@im12wo#baC?Xo>RtxBA|qK=^U@*lvfijXk1m;7!)^V<
ggXszrD-VyaAs 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 literal 0 HcmV?d00001 diff --git a/Modules/Examples/Protocol Benchmarks/analysis/throughput.pdf b/Modules/Examples/Protocol Benchmarks/analysis/throughput.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ef8906d1a2d7a8368f72309fdca94508a7ebf09d GIT binary patch literal 20663 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 G%>M(+qZ2*= literal 0 HcmV?d00001 diff --git a/Modules/Examples/Protocol Benchmarks/analysis/throughput.png b/Modules/Examples/Protocol Benchmarks/analysis/throughput.png new file mode 100644 index 0000000000000000000000000000000000000000..d7f66d9a9041c7716d6047a259ef397e8665a90d GIT binary patch literal 85555 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"msQDQuFLZv~co8MGs%}VuH#k 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 literal 0 HcmV?d00001 diff --git a/Modules/Examples/Protocol Benchmarks/args/bench-get-10k b/Modules/Examples/Protocol Benchmarks/args/bench-mixed-1m similarity index 71% rename from Modules/Examples/Protocol Benchmarks/args/bench-get-10k rename to Modules/Examples/Protocol Benchmarks/args/bench-mixed-1m index 0ceb4b0e2..ab7d4454f 100644 --- a/Modules/Examples/Protocol Benchmarks/args/bench-get-10k +++ b/Modules/Examples/Protocol Benchmarks/args/bench-mixed-1m @@ -1,5 +1,5 @@ multiput key%n value%n 10000 benchmark -multiget key%n 10000 +mixed 1 10000 1_000_000 save-benchmark exit diff --git a/Modules/Examples/Protocol Benchmarks/args/bench-put-100k b/Modules/Examples/Protocol Benchmarks/args/bench-put-100k index 1d9837e73..787ffb6c5 100644 --- a/Modules/Examples/Protocol Benchmarks/args/bench-put-100k +++ b/Modules/Examples/Protocol Benchmarks/args/bench-put-100k @@ -1,4 +1,4 @@ -multiput warmup warmup%n 1000 +multiput warmup warmup%n 10000 benchmark multiput key%n value%n 100000 save-benchmark diff --git a/Modules/Examples/Protocol Benchmarks/args/bench-put-1m b/Modules/Examples/Protocol Benchmarks/args/bench-put-1m index f4e874aed..2cd36fd4e 100644 --- a/Modules/Examples/Protocol Benchmarks/args/bench-put-1m +++ b/Modules/Examples/Protocol Benchmarks/args/bench-put-1m @@ -1,4 +1,4 @@ -multiput warmup warmup%n 1000 +multiput warmup warmup%n 10000 benchmark multiput key%n value%n 1000000 save-benchmark diff --git a/Modules/Examples/Protocol Benchmarks/args/bench-put-300k b/Modules/Examples/Protocol Benchmarks/args/bench-put-300k index 68b794319..ebcf78725 100644 --- a/Modules/Examples/Protocol Benchmarks/args/bench-put-300k +++ b/Modules/Examples/Protocol Benchmarks/args/bench-put-300k @@ -1,4 +1,4 @@ -multiput warmup warmup%n 1000 +multiput warmup warmup%n 10000 benchmark multiput key%n value%n 300000 save-benchmark diff --git a/Modules/Examples/Protocol Benchmarks/args/bench-put-500k b/Modules/Examples/Protocol Benchmarks/args/bench-put-500k new file mode 100644 index 000000000..9d2a50042 --- /dev/null +++ b/Modules/Examples/Protocol Benchmarks/args/bench-put-500k @@ -0,0 +1,5 @@ +multiput warmup warmup%n 10000 +benchmark +multiput key%n value%n 500000 +save-benchmark +exit diff --git a/Modules/Examples/Protocol Benchmarks/benchmarks/mixed-1m-1C1N b/Modules/Examples/Protocol Benchmarks/benchmarks/mixed-1m-1C1N new file mode 100644 index 000000000..c9c89f99f --- /dev/null +++ b/Modules/Examples/Protocol Benchmarks/benchmarks/mixed-1m-1C1N @@ -0,0 +1 @@ +Client1;localhost:8010;bench-mixed-1m diff --git a/Modules/Examples/Protocol Benchmarks/benchmarks/put-500k-1C1N b/Modules/Examples/Protocol Benchmarks/benchmarks/put-500k-1C1N new file mode 100644 index 000000000..87343f919 --- /dev/null +++ b/Modules/Examples/Protocol Benchmarks/benchmarks/put-500k-1C1N @@ -0,0 +1 @@ +Client1;localhost:8010;bench-put-500k diff --git a/Modules/Examples/Protocol Benchmarks/src/main/scala/probench/Node.scala b/Modules/Examples/Protocol Benchmarks/src/main/scala/probench/Node.scala index ae09330ea..d1193dd84 100644 --- a/Modules/Examples/Protocol Benchmarks/src/main/scala/probench/Node.scala +++ b/Modules/Examples/Protocol Benchmarks/src/main/scala/probench/Node.scala @@ -85,7 +85,6 @@ class Node(val name: Uid, val initialClusterIds: Set[Uid]) { val delta = newState.upkeep() val upkept: ClusterState = newState.merge(delta) - val end = System.nanoTime() timeStep("upkeep + merge") if !(upkept <= newState) || upkept.counter > newState.counter then { diff --git a/Modules/Examples/Protocol Benchmarks/src/main/scala/probench/cli.scala b/Modules/Examples/Protocol Benchmarks/src/main/scala/probench/cli.scala index 6ccf6dca0..80477f33a 100644 --- a/Modules/Examples/Protocol Benchmarks/src/main/scala/probench/cli.scala +++ b/Modules/Examples/Protocol Benchmarks/src/main/scala/probench/cli.scala @@ -8,7 +8,7 @@ import probench.clients.{ClientCLI, EtcdClient, ProBenchClient} import probench.data.{ClientNodeState, KVOperation, Request} import rdts.base.Uid import rdts.datatypes.experiments.protocols.Membership -import rdts.datatypes.experiments.protocols.simplified.Paxos +import rdts.datatypes.experiments.protocols.simplified.{GeneralizedPaxos, Paxos} import java.net.{DatagramSocket, InetSocketAddress} import java.util.Timer @@ -49,7 +49,10 @@ object cli { given JsonValueCodec[ClientNodeState] = JsonCodecMaker.make(CodecMakerConfig.withMapAsArray(true)) - given JsonValueCodec[Membership[Request, Paxos, Paxos]] = + given paxosMembership: JsonValueCodec[Membership[Request, Paxos, Paxos]] = + JsonCodecMaker.make(CodecMakerConfig.withMapAsArray(true)) + + given genPaxosMembership: JsonValueCodec[Membership[Request, GeneralizedPaxos, GeneralizedPaxos]] = JsonCodecMaker.make(CodecMakerConfig.withMapAsArray(true)) def socketPath(host: String, port: Int) = { diff --git a/Modules/Examples/Protocol Benchmarks/src/main/scala/probench/clients/Client.scala b/Modules/Examples/Protocol Benchmarks/src/main/scala/probench/clients/Client.scala index c27f47083..c0d73bd39 100644 --- a/Modules/Examples/Protocol Benchmarks/src/main/scala/probench/clients/Client.scala +++ b/Modules/Examples/Protocol Benchmarks/src/main/scala/probench/clients/Client.scala @@ -26,6 +26,18 @@ trait Client(name: Uid) { println(s"Did $times put queries in ${(System.nanoTime() - start) / 1_000_000}ms") } + def mixed(min: Int, max: Int, times: Int = 1): Unit = { + val start = System.nanoTime() + for i <- 1 to times do { + val num = Math.round(Math.random() * (max - min) + min).toInt + if Math.random() > 0.5 then + read(f"key$num") + else + write(f"key$num",f"value$num") + } + println(s"Did $times mixed queries in ${(System.nanoTime() - start) / 1_000_000}ms") + } + def handleOp(op: KVOperation[String, String]): Unit = { val start = if doBenchmark then System.nanoTime() else 0 diff --git a/Modules/Examples/Protocol Benchmarks/src/main/scala/probench/clients/ClientCLI.scala b/Modules/Examples/Protocol Benchmarks/src/main/scala/probench/clients/ClientCLI.scala index a9521997b..fb38fec9d 100644 --- a/Modules/Examples/Protocol Benchmarks/src/main/scala/probench/clients/ClientCLI.scala +++ b/Modules/Examples/Protocol Benchmarks/src/main/scala/probench/clients/ClientCLI.scala @@ -14,27 +14,30 @@ class ClientCLI(name: Uid, client: Client) { private val put: Regex = """put ([\w%]+) ([\w%]+)""".r private val multiget: Regex = """multiget ([\w%]+) ([\d_]+)""".r private val multiput: Regex = """multiput ([\w%]+) ([\w%]+) ([\d_]+)""".r + private val mixed: Regex = """mixed ([\d_]+) ([\d_]+) ([\d_]+)""".r private val mp: Regex = """mp ([\d_]+)""".r private val benchmark: Regex = """benchmark""".r private val saveBenchmark: Regex = """save-benchmark""".r + private def parseInt(str: String): Int = str.replace("_", "").toInt + def startCLI(): Unit = { var running = true while running do { print("client> ") val line = Option(readLine()).map(_.strip()) line match { - case Some(commented()) => // ignore - case Some(get(key)) => client.read(key) - case Some(put(key, value)) => client.write(key, value) - case Some(multiget(key, times)) => client.multiget(key, times.replace("_", "").toInt) - case Some(multiput(key, value, times)) => client.multiput(key, value, times.replace("_", "").toInt) - case Some(mp(times)) => client.multiput("key%n", "value%n", times.replace("_", "").toInt) + case Some(commented()) => // ignore + case Some(get(key)) => client.read(key) + case Some(put(key, value)) => client.write(key, value) + case Some(multiget(key, times)) => client.multiget(key, parseInt(times)) + case Some(multiput(key, value, times)) => client.multiput(key, value, parseInt(times)) + case Some(mp(times)) => client.multiput("key%n", "value%n", parseInt(times)) + case Some(mixed(min, max, times)) => client.mixed(parseInt(min), parseInt(max), parseInt(times)) case Some(benchmark()) => client.doBenchmark = true case Some(saveBenchmark()) => - val env = System.getenv() - + val env = System.getenv() val runId = env.getOrDefault("RUN_ID", Uid.gen().delegate) val benchmarkPath = Path.of(env.getOrDefault("BENCH_RESULTS_DIR", "bench-results")).resolve(runId) val writer = new CSVWriter(";", benchmarkPath, s"${name.delegate}-$runId", BenchmarkData.header)