feat: add cache simulation with experiments for TTL and eviction strategies

Introduce a new simulation for Age of Information (AoI) cache management, focusing on varying TTL values and eviction strategies (LRU and Random Eviction). This includes:
- New Python script  for event-driven cache simulations using .
- Experiments for "No Refresh" across multiple TTL configurations (, , ..., ) with:
  - Hit rate and object age tracking (, , etc.).
  - Visualizations (e.g., , ).
- Updated  to describe experimental setup and configurations.
- Log export file () for simulation results.
- Refactor of  with detailed strategy configurations and runtime notes.

### Reason
The commit enhances the project by enabling detailed experiments with configurable cache parameters, supporting analysis of cache efficiency and AoI under varying conditions. This provides a foundation for more sophisticated simulations and insights.

### Performance
- Runtime: ~4m 29s for .

Co-authored experiments introduce structured data files and visualizations, improving clarity for future iterations.

Signed-off-by: Tuan-Dat Tran <tuan-dat.tran@tudattr.dev>
This commit is contained in:
Tuan-Dat Tran
2024-11-27 16:31:46 +01:00
parent 912b97a06e
commit 6e8a742705
38 changed files with 2337 additions and 216 deletions

View File

@@ -1,100 +1,100 @@
,access_count,hits,misses,mu,lambda,hit_rate
1,338919,293278,45641,9.45073508577941,1,87.09
2,339569,295735,43834,8.14036449596436,1,87.19
3,339121,295683,43438,7.841130117448747,1,93.79
4,339726,318616,21110,2.2674748477937965,1,78.47
5,67728,53145,14583,1.9491614320948918,5,87.79
6,339470,298026,41444,6.571586635600101,1,77.43
7,170195,131783,38412,7.611334405003136,2,29.18
8,16126,4705,11421,4.4496294204831255,21,88.2
9,339776,299674,40102,5.998373656353862,1,87.76
10,339314,297783,41531,6.636819845113485,1,77.12
11,170006,131110,38896,8.045921601779977,2,92.35
12,338799,312870,25929,2.811627158825997,1,87.45
13,338380,295915,42465,7.143615488470383,1,95.62
14,339295,324424,14871,1.765483508758194,1,78.89
15,168900,133246,35654,5.959911292425263,2,41.86
16,37792,15821,21971,9.445879641550164,9,71.36
17,42276,30167,12109,1.835890334290284,8,73.65
18,113327,83461,29866,4.648600564543203,3,78.27
19,169939,133012,36927,6.632144547714242,2,96.59
20,339409,327834,11575,1.5219711334160873,1,86.89
21,339488,294970,44518,8.640804985015603,1,89.01
22,338488,301286,37202,4.948940599763346,1,93.0
23,339243,315511,23732,2.5215047387858385,1,93.5
24,338961,316939,22022,2.364507987541101,1,87.79
25,338323,297005,41318,6.599461843110775,1,78.51
26,169708,133242,36466,6.367528014392565,2,89.0
27,339195,301871,37324,5.003687539185309,1,86.83
28,338836,294227,44609,8.69089847442159,1,89.4
29,339057,303133,35924,4.636189613643649,1,79.99
30,169136,135290,33846,5.071027599242191,2,89.99
31,337940,304106,33834,4.08093995040424,1,23.8
32,13512,3216,10296,5.389385006998066,25,76.19
33,113049,86130,26919,3.6953335845304562,3,87.95
34,339556,298625,40931,6.455201262262219,1,88.24
35,339483,299569,39914,5.935488589201371,1,75.63
36,113404,85767,27637,3.880596047884128,3,89.06
37,339071,301962,37109,4.9810532504276015,1,68.83
38,37623,25897,11726,1.842940132793361,9,89.4
39,339457,303459,35998,4.646642146558106,1,90.35
40,338193,305568,32625,3.841385277835048,1,90.52
41,339194,307024,32170,3.755174466816314,1,62.3
42,67848,42269,25579,4.791783523908462,5,68.62
43,56919,39060,17859,2.5603665363948838,6,85.08
44,169214,143969,25245,2.9501977292188872,2,86.87
45,339975,295349,44626,8.660786623694852,1,92.94
46,339167,315235,23932,2.5477162793599124,1,86.54
47,339934,294192,45742,9.754540171481345,1,87.12
48,339091,295408,43683,7.997429679411413,1,90.35
49,339138,306397,32741,3.884597009502997,1,86.57
50,339966,294305,45661,9.586637018141543,1,88.32
51,84488,74624,9864,1.4658283776461758,4,97.73
52,339140,331438,7702,1.2656689838300985,1,92.44
53,339252,313600,25652,2.737252979299571,1,87.02
54,339109,295087,44022,8.251086295714982,1,94.48
55,339737,320982,18755,2.0610542552665496,1,87.81
56,170131,149390,20741,2.3501661595459855,2,18.76
57,12099,2270,9829,8.517893008102874,28,86.59
58,339603,294064,45539,9.51973718760753,1,79.07
59,169388,133936,35452,5.7533658385673965,2,73.65
60,112783,83061,29722,4.660963074614197,3,87.12
61,339803,296040,43763,8.03102930717676,1,77.07
62,169490,130630,38860,8.20890898481475,2,59.28
63,68277,40475,27802,6.460946859444955,5,87.65
64,340043,298043,42000,6.997089517135705,1,95.75
65,339335,324924,14411,1.7111982665882988,1,63.53
66,84598,53748,30850,7.195239628139434,4,87.83
67,337396,296343,41053,6.468823743568375,1,76.74
68,168813,129539,39274,8.584449622455724,2,76.87
69,168935,129852,39083,8.31382957264006,2,70.86
70,112790,79928,32862,6.32689728463079,3,27.82
71,18026,5015,13011,6.059882273135225,19,86.61
72,339602,294144,45458,9.326244637290127,1,89.2
73,337685,301201,36484,4.734530335572703,1,32.94
74,10000,3294,6706,2.0953399483975383,34,96.77
75,338999,328054,10945,1.4775733311410093,1,76.91
76,169928,130689,39239,8.406951084575,2,87.2
77,339808,296317,43491,7.860627209955007,1,91.27
78,340016,310335,29681,3.295575301583255,1,89.97
79,339322,305288,34034,4.1428568837538,1,61.61
80,85030,52384,32646,9.612329081824885,4,64.08
81,84888,54399,30489,6.8654731084167215,4,86.01
82,169804,146055,23749,2.7190649943185607,2,86.62
83,339457,294036,45421,9.374682516586324,1,79.3
84,169248,134215,35033,5.59505906586539,2,86.85
85,338584,294054,44530,8.791458898209017,1,88.42
86,338920,299662,39258,5.68526209949427,1,86.69
87,338880,293780,45100,9.141536447646898,1,73.22
88,112317,82242,30075,4.8033650741674165,3,89.16
89,169307,150951,18356,2.106599827358843,2,87.4
90,338997,296291,42706,7.364331823831616,1,86.62
91,339905,294417,45488,9.303831880532016,1,33.3
92,26197,8723,17474,9.509741988265437,13,87.41
93,112773,98573,14200,1.8012576813912844,3,49.96
94,48507,24233,24274,7.076409771949383,7,87.43
95,339988,297246,42742,7.388599144805513,1,88.05
96,338400,297960,40440,6.1158358642271375,1,85.57
97,168252,143969,24283,2.8133122321600794,2,87.44
98,338729,296200,42529,7.193050310873352,1,95.99
99,338235,324673,13562,1.6556673379589992,1,52.28
1,664,550,114,0,1,58.49
2,212,124,88,0,3,83.21
3,673,560,113,0,1,84.11
4,711,598,113,0,1,72.17
5,345,249,96,0,2,82.43
6,649,535,114,0,1,50.36
7,137,69,68,0,5,83.41
8,681,568,113,0,1,83.74
9,689,577,112,0,1,82.91
10,667,553,114,0,1,71.34
11,328,234,94,0,2,83.67
12,692,579,113,0,1,83.46
13,683,570,113,0,1,83.48
14,696,581,115,0,1,70.64
15,344,243,101,0,2,71.78
16,326,234,92,0,2,83.45
17,689,575,114,0,1,83.65
18,691,578,113,0,1,62.56
19,219,137,82,0,3,84.29
20,732,617,115,0,1,84.44
21,739,624,115,0,1,83.31
22,683,569,114,0,1,83.13
23,670,557,113,0,1,71.3
24,331,236,95,0,2,83.84
25,724,607,117,0,1,83.38
26,692,577,115,0,1,83.69
27,705,590,115,0,1,48.18
28,137,66,71,0,5,83.04
29,672,558,114,0,1,83.43
30,694,579,115,0,1,83.23
31,674,561,113,0,1,51.39
32,144,74,70,0,4,83.13
33,670,557,113,0,1,48.94
34,141,69,72,0,4,83.0
35,659,547,112,0,1,83.36
36,691,576,115,0,1,84.67
37,737,624,113,0,1,62.56
38,219,137,82,0,3,41.0
39,100,41,59,0,8,83.61
40,714,597,117,0,1,55.98
41,184,103,81,0,4,57.14
42,161,92,69,0,4,73.76
43,362,267,95,0,2,83.91
44,696,584,112,0,1,82.46
45,627,517,110,0,1,82.72
46,648,536,112,0,1,30.19
47,53,16,37,0,10,83.14
48,676,562,114,0,1,82.29
49,638,525,113,0,1,83.06
50,673,559,114,0,1,49.22
51,128,63,65,0,5,34.12
52,85,29,56,0,9,84.34
53,747,630,117,0,1,83.86
54,700,587,113,0,1,83.41
55,687,573,114,0,1,83.75
56,720,603,117,0,1,83.33
57,690,575,115,0,1,17.5
58,40,7,33,0,17,70.13
59,318,223,95,0,2,82.94
60,674,559,115,0,1,21.74
61,23,5,18,0,26,83.84
62,724,607,117,0,1,82.17
63,628,516,112,0,1,71.59
64,345,247,98,0,2,83.11
65,681,566,115,0,1,31.51
66,73,23,50,0,10,83.1
67,651,541,110,0,1,0.0
68,10,0,10,0,69,82.55
69,636,525,111,0,1,82.62
70,656,542,114,0,1,73.12
71,372,272,100,0,2,83.48
72,678,566,112,0,1,82.13
73,638,524,114,0,1,82.92
74,685,568,117,0,1,57.71
75,201,116,85,0,3,72.67
76,344,250,94,0,2,72.17
77,345,249,96,0,2,64.75
78,261,169,92,0,3,19.15
79,47,9,38,0,15,83.48
80,660,551,109,0,1,82.18
81,634,521,113,0,1,51.09
82,137,70,67,0,5,69.58
83,309,215,94,0,2,83.53
84,686,573,113,0,1,82.84
85,682,565,117,0,1,71.12
86,322,229,93,0,2,83.28
87,676,563,113,0,1,68.62
88,325,223,102,0,2,83.16
89,689,573,116,0,1,83.31
90,695,579,116,0,1,73.15
91,324,237,87,0,2,72.11
92,337,243,94,0,2,63.51
93,222,141,81,0,3,83.09
94,686,570,116,0,1,71.79
95,351,252,99,0,2,84.66
96,717,607,110,0,1,83.28
97,664,553,111,0,1,21.74
98,23,5,18,0,37,56.91
99,181,103,78,0,4,70.62
1 access_count hits misses mu lambda hit_rate
2 1 338919 664 293278 550 45641 114 9.45073508577941 0 1 87.09 58.49
3 2 339569 212 295735 124 43834 88 8.14036449596436 0 1 3 87.19 83.21
4 3 339121 673 295683 560 43438 113 7.841130117448747 0 1 93.79 84.11
5 4 339726 711 318616 598 21110 113 2.2674748477937965 0 1 78.47 72.17
6 5 67728 345 53145 249 14583 96 1.9491614320948918 0 5 2 87.79 82.43
7 6 339470 649 298026 535 41444 114 6.571586635600101 0 1 77.43 50.36
8 7 170195 137 131783 69 38412 68 7.611334405003136 0 2 5 29.18 83.41
9 8 16126 681 4705 568 11421 113 4.4496294204831255 0 21 1 88.2 83.74
10 9 339776 689 299674 577 40102 112 5.998373656353862 0 1 87.76 82.91
11 10 339314 667 297783 553 41531 114 6.636819845113485 0 1 77.12 71.34
12 11 170006 328 131110 234 38896 94 8.045921601779977 0 2 92.35 83.67
13 12 338799 692 312870 579 25929 113 2.811627158825997 0 1 87.45 83.46
14 13 338380 683 295915 570 42465 113 7.143615488470383 0 1 95.62 83.48
15 14 339295 696 324424 581 14871 115 1.765483508758194 0 1 78.89 70.64
16 15 168900 344 133246 243 35654 101 5.959911292425263 0 2 41.86 71.78
17 16 37792 326 15821 234 21971 92 9.445879641550164 0 9 2 71.36 83.45
18 17 42276 689 30167 575 12109 114 1.835890334290284 0 8 1 73.65 83.65
19 18 113327 691 83461 578 29866 113 4.648600564543203 0 3 1 78.27 62.56
20 19 169939 219 133012 137 36927 82 6.632144547714242 0 2 3 96.59 84.29
21 20 339409 732 327834 617 11575 115 1.5219711334160873 0 1 86.89 84.44
22 21 339488 739 294970 624 44518 115 8.640804985015603 0 1 89.01 83.31
23 22 338488 683 301286 569 37202 114 4.948940599763346 0 1 93.0 83.13
24 23 339243 670 315511 557 23732 113 2.5215047387858385 0 1 93.5 71.3
25 24 338961 331 316939 236 22022 95 2.364507987541101 0 1 2 87.79 83.84
26 25 338323 724 297005 607 41318 117 6.599461843110775 0 1 78.51 83.38
27 26 169708 692 133242 577 36466 115 6.367528014392565 0 2 1 89.0 83.69
28 27 339195 705 301871 590 37324 115 5.003687539185309 0 1 86.83 48.18
29 28 338836 137 294227 66 44609 71 8.69089847442159 0 1 5 89.4 83.04
30 29 339057 672 303133 558 35924 114 4.636189613643649 0 1 79.99 83.43
31 30 169136 694 135290 579 33846 115 5.071027599242191 0 2 1 89.99 83.23
32 31 337940 674 304106 561 33834 113 4.08093995040424 0 1 23.8 51.39
33 32 13512 144 3216 74 10296 70 5.389385006998066 0 25 4 76.19 83.13
34 33 113049 670 86130 557 26919 113 3.6953335845304562 0 3 1 87.95 48.94
35 34 339556 141 298625 69 40931 72 6.455201262262219 0 1 4 88.24 83.0
36 35 339483 659 299569 547 39914 112 5.935488589201371 0 1 75.63 83.36
37 36 113404 691 85767 576 27637 115 3.880596047884128 0 3 1 89.06 84.67
38 37 339071 737 301962 624 37109 113 4.9810532504276015 0 1 68.83 62.56
39 38 37623 219 25897 137 11726 82 1.842940132793361 0 9 3 89.4 41.0
40 39 339457 100 303459 41 35998 59 4.646642146558106 0 1 8 90.35 83.61
41 40 338193 714 305568 597 32625 117 3.841385277835048 0 1 90.52 55.98
42 41 339194 184 307024 103 32170 81 3.755174466816314 0 1 4 62.3 57.14
43 42 67848 161 42269 92 25579 69 4.791783523908462 0 5 4 68.62 73.76
44 43 56919 362 39060 267 17859 95 2.5603665363948838 0 6 2 85.08 83.91
45 44 169214 696 143969 584 25245 112 2.9501977292188872 0 2 1 86.87 82.46
46 45 339975 627 295349 517 44626 110 8.660786623694852 0 1 92.94 82.72
47 46 339167 648 315235 536 23932 112 2.5477162793599124 0 1 86.54 30.19
48 47 339934 53 294192 16 45742 37 9.754540171481345 0 1 10 87.12 83.14
49 48 339091 676 295408 562 43683 114 7.997429679411413 0 1 90.35 82.29
50 49 339138 638 306397 525 32741 113 3.884597009502997 0 1 86.57 83.06
51 50 339966 673 294305 559 45661 114 9.586637018141543 0 1 88.32 49.22
52 51 84488 128 74624 63 9864 65 1.4658283776461758 0 4 5 97.73 34.12
53 52 339140 85 331438 29 7702 56 1.2656689838300985 0 1 9 92.44 84.34
54 53 339252 747 313600 630 25652 117 2.737252979299571 0 1 87.02 83.86
55 54 339109 700 295087 587 44022 113 8.251086295714982 0 1 94.48 83.41
56 55 339737 687 320982 573 18755 114 2.0610542552665496 0 1 87.81 83.75
57 56 170131 720 149390 603 20741 117 2.3501661595459855 0 2 1 18.76 83.33
58 57 12099 690 2270 575 9829 115 8.517893008102874 0 28 1 86.59 17.5
59 58 339603 40 294064 7 45539 33 9.51973718760753 0 1 17 79.07 70.13
60 59 169388 318 133936 223 35452 95 5.7533658385673965 0 2 73.65 82.94
61 60 112783 674 83061 559 29722 115 4.660963074614197 0 3 1 87.12 21.74
62 61 339803 23 296040 5 43763 18 8.03102930717676 0 1 26 77.07 83.84
63 62 169490 724 130630 607 38860 117 8.20890898481475 0 2 1 59.28 82.17
64 63 68277 628 40475 516 27802 112 6.460946859444955 0 5 1 87.65 71.59
65 64 340043 345 298043 247 42000 98 6.997089517135705 0 1 2 95.75 83.11
66 65 339335 681 324924 566 14411 115 1.7111982665882988 0 1 63.53 31.51
67 66 84598 73 53748 23 30850 50 7.195239628139434 0 4 10 87.83 83.1
68 67 337396 651 296343 541 41053 110 6.468823743568375 0 1 76.74 0.0
69 68 168813 10 129539 0 39274 10 8.584449622455724 0 2 69 76.87 82.55
70 69 168935 636 129852 525 39083 111 8.31382957264006 0 2 1 70.86 82.62
71 70 112790 656 79928 542 32862 114 6.32689728463079 0 3 1 27.82 73.12
72 71 18026 372 5015 272 13011 100 6.059882273135225 0 19 2 86.61 83.48
73 72 339602 678 294144 566 45458 112 9.326244637290127 0 1 89.2 82.13
74 73 337685 638 301201 524 36484 114 4.734530335572703 0 1 32.94 82.92
75 74 10000 685 3294 568 6706 117 2.0953399483975383 0 34 1 96.77 57.71
76 75 338999 201 328054 116 10945 85 1.4775733311410093 0 1 3 76.91 72.67
77 76 169928 344 130689 250 39239 94 8.406951084575 0 2 87.2 72.17
78 77 339808 345 296317 249 43491 96 7.860627209955007 0 1 2 91.27 64.75
79 78 340016 261 310335 169 29681 92 3.295575301583255 0 1 3 89.97 19.15
80 79 339322 47 305288 9 34034 38 4.1428568837538 0 1 15 61.61 83.48
81 80 85030 660 52384 551 32646 109 9.612329081824885 0 4 1 64.08 82.18
82 81 84888 634 54399 521 30489 113 6.8654731084167215 0 4 1 86.01 51.09
83 82 169804 137 146055 70 23749 67 2.7190649943185607 0 2 5 86.62 69.58
84 83 339457 309 294036 215 45421 94 9.374682516586324 0 1 2 79.3 83.53
85 84 169248 686 134215 573 35033 113 5.59505906586539 0 2 1 86.85 82.84
86 85 338584 682 294054 565 44530 117 8.791458898209017 0 1 88.42 71.12
87 86 338920 322 299662 229 39258 93 5.68526209949427 0 1 2 86.69 83.28
88 87 338880 676 293780 563 45100 113 9.141536447646898 0 1 73.22 68.62
89 88 112317 325 82242 223 30075 102 4.8033650741674165 0 3 2 89.16 83.16
90 89 169307 689 150951 573 18356 116 2.106599827358843 0 2 1 87.4 83.31
91 90 338997 695 296291 579 42706 116 7.364331823831616 0 1 86.62 73.15
92 91 339905 324 294417 237 45488 87 9.303831880532016 0 1 2 33.3 72.11
93 92 26197 337 8723 243 17474 94 9.509741988265437 0 13 2 87.41 63.51
94 93 112773 222 98573 141 14200 81 1.8012576813912844 0 3 49.96 83.09
95 94 48507 686 24233 570 24274 116 7.076409771949383 0 7 1 87.43 71.79
96 95 339988 351 297246 252 42742 99 7.388599144805513 0 1 2 88.05 84.66
97 96 338400 717 297960 607 40440 110 6.1158358642271375 0 1 85.57 83.28
98 97 168252 664 143969 553 24283 111 2.8133122321600794 0 2 1 87.44 21.74
99 98 338729 23 296200 5 42529 18 7.193050310873352 0 1 37 95.99 56.91
100 99 338235 181 324673 103 13562 78 1.6556673379589992 0 1 4 52.28 70.62