diff --git a/cache_utils/2T-opt-2020-07-31/analyse_csv.py b/cache_utils/2T-opt-2020-07-31/analyse_csv.py index 6a3d70a..c9caf37 100644 --- a/cache_utils/2T-opt-2020-07-31/analyse_csv.py +++ b/cache_utils/2T-opt-2020-07-31/analyse_csv.py @@ -9,13 +9,29 @@ from functools import partial import sys +# For cyber cobay sanity check : +from gmpy2 import popcount +functions_i9_9900 = [ + 0b1111111111010101110101010001000000, + 0b0110111110111010110001001000000000, + 0b1111111000011111110010110000000000] + + +def complex_hash(addr): + r = 0 + for f in reversed(functions_i9_9900): + r <<= 1 + r |= (popcount(f & addr) & 1) + return r + + def convert64(x): return np.int64(int(x, base=16)) def convert8(x): return np.int8(int(x, base=16)) -df = pd.read_csv(sys.argv[1] + "-result_lite.csv.bz2", +df = pd.read_csv(sys.argv[1] + "-results_lite.csv.bz2", dtype={ "main_core": np.int8, "helper_core": np.int8, @@ -59,6 +75,10 @@ sample_flush_columns = [ print(df.columns) #df["Hash"] = df["Addr"].apply(lambda x: (x >> 15)&0x3) +addresses = df["address"].unique() +print(addresses) +print(*[bin(a) for a in addresses], sep='\n') + print(df.head()) print(df["hash"].unique()) @@ -124,7 +144,7 @@ stats["clflush_shared_hit"] = hit_shared.values stats.to_csv(sys.argv[1] + ".stats.csv", index=False) -print(stats.to_string()) +#print(stats.to_string()) plt.show() exit(0) diff --git a/cache_utils/2T-opt-2020-07-31/analyse_medians.py b/cache_utils/2T-opt-2020-07-31/analyse_medians.py index c846bc1..23ed107 100644 --- a/cache_utils/2T-opt-2020-07-31/analyse_medians.py +++ b/cache_utils/2T-opt-2020-07-31/analyse_medians.py @@ -75,6 +75,12 @@ graph_upper_miss = int(((max_time_miss + 9) // 10) * 10) print("Graphing from {} to {}".format(graph_lower_miss, graph_upper_miss)) +g_ = sns.FacetGrid(stats, col="main_core_fixed", row="slice_group") + +g_.map(sns.distplot, 'clflush_miss_n', bins=range(graph_lower_miss, graph_upper_miss), color="b") +#g.map(sns.scatterplot, 'slice_group', 'clflush_local_hit_n', color="g") +plt.show() + g = sns.FacetGrid(stats, row="main_core_fixed") g.map(sns.scatterplot, 'slice_group', 'clflush_miss_n', color="b") diff --git a/requirements.txt b/requirements.txt index 1ac0819..f2d42cf 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,8 @@ pandas==1.0.3 seaborn==0.10.0 wquantiles==0.5 + +matplotlib~=3.2.1 +numpy~=1.18.2 +gmpy2~=2.0.8 +scipy~=1.4.1