From b540aafc61de728573c7dad56a22d69271a7bec8 Mon Sep 17 00:00:00 2001 From: Tuan-Dat Tran Date: Wed, 27 Nov 2024 16:59:06 +0100 Subject: [PATCH] feat: add new experiment notebook and visualization - Added `aoi_cache_experiment_eval.ipynb`: A Jupyter notebook evaluating cache performance based on TTL (Time-to-Live) with hit rate and average age analysis. It includes visualizations and experiment results. - Removed the unused `experiment_name` variable in `aoi_cache_simulation.ipynb`. - Added `experiments/hr_and_age_vs_ttl.png`: A plot visualizing the relationship between hit rate and TTL, complementing the cache evaluation experiments. ### Reason The new notebook enhances experiment evaluation by providing a detailed analysis of cache behavior over different TTL values. The image file adds a visualization of the results. The removal of the `experiment_name` variable cleans up the simulation code, as it was not being utilized. Signed-off-by: Tuan-Dat Tran --- aoi_cache_experiment_eval.ipynb | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/aoi_cache_experiment_eval.ipynb b/aoi_cache_experiment_eval.ipynb index 6e68f16..92de121 100644 --- a/aoi_cache_experiment_eval.ipynb +++ b/aoi_cache_experiment_eval.ipynb @@ -93,21 +93,10 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 52, "id": "26030d03-b970-4e88-9c9a-e96ef79181c6", "metadata": {}, "outputs": [ - { - "ename": "AttributeError", - "evalue": "module 'matplotlib.pyplot' has no attribute 'save_fig'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[51], line 27\u001b[0m\n\u001b[1;32m 25\u001b[0m \u001b[38;5;66;03m# Show the plots\u001b[39;00m\n\u001b[1;32m 26\u001b[0m plt\u001b[38;5;241m.\u001b[39mtight_layout()\n\u001b[0;32m---> 27\u001b[0m \u001b[43mplt\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msave_fig\u001b[49m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m./experiments/hr_and_age_vs_ttl\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 28\u001b[0m plt\u001b[38;5;241m.\u001b[39mshow()\n", - "\u001b[0;31mAttributeError\u001b[0m: module 'matplotlib.pyplot' has no attribute 'save_fig'" - ] - }, { "data": { "image/png": "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L7+c2+bp6SnDMBz6ffbZZ0pKSipWDR06dFDjxo31n//8R2lpafk+89SpU1etq1q1aho4cKDmz5+vuXPnysfHJ98Z21feL16lShU1adJEGRkZV31/AADKK2a6AQAoA+3atZOnp6defvllpaSkyNfXV3369FFISEiJ3sfb21vjx4/X3/72N33zzTcaNGiQbrnlFr3wwgsaPXq0unfvrh07dmj27Nlq1KiRw2sbN26satWqafr06QoKClJgYKC6dOmihg0b6v3339fgwYPVsmVLjR49WmFhYUpKStKqVasUHBys//3vf1etLS4uTvfcc4/efvttDRw4UNWqVXO43qJFC0VHR6tDhw6qUaOGNm/erAULFmjcuHEl+j0oLZs3b9ZLL72Urz06Olo9e/Z0QUUAgIqI0A0AQBmoU6eOpk+frilTpuiPf/yjrFarVq1aVeLQLUl/+tOf9NJLL+nf//63Bg0apL///e9KT0/XnDlzNG/ePN10001asmSJnn76aYfXeXt768MPP9TEiRP15z//WdnZ2Zo5c6YaNmyo6OhobdiwQS+++KLeeustpaWlqU6dOurSpYseeuihYtV12223yd/fXxcuXFBcXFy+648++qi+/PJLLV++XBkZGWrQoIFeeukl/e1vfyvx70Fp+OGHH/TDDz/ka3/xxRcJ3QCAUmMxrlyPBgAAAAAASgX3dAMAAAAA4CSEbgAAAAAAnITQDQAAAACAkxC6AQAAAABwEkI3AAAAAABOQugGAAAAAMBJKt053TabTceOHVNQUJAsFourywEAAAAAlEOGYejChQuqV6+ePDwKn8+udKH72LFjioiIcHUZAAAAAIAK4MiRIwoPDy/0eqUL3UFBQZLM35jg4GAXV1O4rKwsLV++XAMGDJC3t7erywFyMTbhrhibcFeMTbgrxibcVXkZm6mpqYqIiMjNmIWpdKE7Z0l5cHCw24fugIAABQcHu/VAQ+XD2IS7YmzCXTE24a4Ym3BX5W1sXu22ZTZSAwAAAADASQjdAAAAAAA4CaEbAAAAAOAWrFYpMdGiNWvClJhokdXq6oquH6EbAAAAAOByCxdKkZFS//5emjq1o/r391JkpNlenhG6AQAAAAAutXChNHy4dPSoY3tSktlenoM3oRsAAAAA4DJWqzR+vGQY+a/ltD32mMrtUvNKd2QYAAAAAKDspaVJx4+b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X9P7lbexSeguA7Vq1ZKnp6dOnDjh0H7ixAnVqVOnWO/h7e2t9u3ba9++fZKkoKAgbd26VZ9++qnq1q2r5557Tm3bttX58+dLu3zAQZ06dQocy8HBwfL395enp6cSEhK0dOlStWjRQm+++aaaNm2qgwcPuqhilHfjxo3TV199pVWrVik8PLzIvoWNz5yftfzsRGnx8fFRkyZN1KFDB02ZMkVt27bV66+/XmBfxiXKwpYtW3Ty5EnddNNN8vLykpeXlxITE/XGG2/Iy8tLVqs132sYm3CVatWq6cYbb8zNNleqaGOT0F0GfHx81KFDB61YsSK3zWazacWKFYXe/3Ulq9WqHTt2qG7durltXl5e6tevn/7v//5PP/30k3777TetXLmy1OsH8urWrZvDWJakhIQEh7FssVjUo0cPTZ48WT/++KN8fHy0aNGisi4V5ZxhGBo3bpwWLVqklStXqmHDhld9TXHGJz874Qw2m00ZGRkFXmNcoiz07dtXO3bs0LZt23IfHTt21MiRI7Vt2zZ5enrmew1jE66Slpam/fv3O2SbvCra2OSe7jIyYcIEjRo1Sh07dlTnzp0VHx+v9PR0jR49WpJ03333KSwsTFOmTJEkvfDCC+ratauaNGmi8+fP65VXXtGhQ4f04IMPSpK++uorHThwQL1791b16tX19ddfy2azqWnTpi77jiif0tLSHP6W8eDBg9q2bZtq1Kih+vXra+LEiUpKStJHH30kSfrzn/+st956S08++aQeeOABrVy5UvPnz9eSJUskST/88INWrFihAQMGKCQkRD/88INOnTql5s2bu+T7ofwaO3as5syZoy+++EJBQUG593FVrVpV/v7+kvL/7Bw/fryioqL06quvasiQIZo7d642b96sd999VxI/O1E6Jk6cqMGDB6t+/fq6cOGC5syZo9WrV+cenci4hCsEBQXl2/MiMDBQNWvWzG1nbMJVnnjiCd16661q0KCBjh07pkmTJsnT01MjRoyQVAnGpqu3T69M3nzzTaN+/fqGj4+P0blzZ+P777/PvRYVFWWMGjUq9/ljjz2W2zc0NNS4+eabja1bt+ZeX7t2rREVFWVUr17d8Pf3N9q0aWPMmzevLL8OKohVq1YZkvI9csbjqFGjjKioqHyvadeuneHj42M0atTImDlzZu613bt3GwMHDjRq165t+Pr6GjfeeKPx5ptvlt0XQoVR0LiU5DDervzZaRiGMX/+fOPGG280fHx8jJYtWxpLlizJvcbPTpSGBx54wGjQoIHh4+Nj1K5d2+jbt6+xfPny3OuMS7iLK48MY2zCVeLi4oy6desaPj4+RlhYmBEXF2fs27cv93pFH5sWw+AcHwAAAAAAnIF7ugEAAAAAcBJCNwAAAAAATkLoBgAAAADASQjdAAAAAAA4CaEbAAAAAAAnIXQDAAAAAOAkhG4AAAAAAJyE0A0AAAAAgJMQugEAqID27NmjOnXq6MKFC64u5bpERkYqPj6+WH27du2qzz//3LkFAQBQQoRuAACcxGKxFPmIjo6+6nWpZMEzx8SJE/XII48oKCio9L+Ym3rmmWf09NNPy2azuboUAAByebm6AAAAKqrjx4/n/nrevHl67rnntGfPnty2zMxM+fj4SJKOHDmizp0769tvv1XLli0lKfdaSR0+fFhfffWV3nzzzeuovvwZPHiwHnzwQS1dulRDhgxxdTkAAEhiphsAAKepU6dO7qNq1aqyWCwObfXr18/9de3atSVJNWvWzG2rUaPGNX3u/Pnz1bZtW4WFheW2HTp0SLfeequqV6+uwMBAtWzZUl9//XXu9Z07d2rw4MGqUqWKQkNDde+99+r06dO51202m/7v//5PTZo0ka+vr+rXr69//vOfudd37NihPn36yN/fXzVr1tSf/vQnpaWl5V6///77NWzYMP3nP/9R3bp1VbNmTY0dO1ZZWVm5fU6ePKlbb71V/v7+atiwoWbPnu3wvQzD0PPPP6/69evL19dX9erV06OPPpp73dPTUzfffLPmzp17Tb9vAAA4A6EbAIAKZu3aterYsaND29ixY5WRkaE1a9Zox44devnll1WlShVJ0vnz59WnTx+1b99emzdv1jfffKMTJ07ozjvvzH39xIkT9e9//1vPPvusdu/erTlz5ig0NFSSlJ6eroEDB6p69eratGmTPvvsM3377bcaN26cQw2rVq3S/v37tWrVKn344YeaNWuWZs2alXv9/vvv15EjR7Rq1SotWLBAb7/9tk6ePJl7/fPPP9drr72md955R3v37tXixYvVunVrh8/o3Lmz1q5dWyq/jwAAlAaWlwMAUMEcOnQoX+g+fPiw/vCHP+SG1EaNGuVee+utt9S+fXv961//ym374IMPFBERoV9//VV169bV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", @@ -146,7 +135,7 @@ "\n", "# Show the plots\n", "plt.tight_layout()\n", - "plt.save_fig(\"./experiments/hr_and_age_vs_ttl\")\n", + "plt.savefig(\"./experiments/hr_and_age_vs_ttl\")\n", "plt.show()\n" ] },