{ "cells": [ { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import pandas as pd\n", "from pandas import DataFrame, Series\n", "import numpy as np\n", "import math\n", "\n", "import seaborn as sns\n", "import matplotlib.pyplot as plt\n", "import matplotlib.patches as mpatches\n", "import matplotlib.colors as colors\n", "from matplotlib.legend_handler import HandlerLine2D, HandlerTuple\n", "from matplotlib.colors import LinearSegmentedColormap\n", "from scipy import stats\n", "import scikit_posthocs as sp\n", "import sys\n", "\n", "from mpl_toolkits.mplot3d import axes3d" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "AllName=\"dataG.pkl\"\n", "ResizesName=\"dataM.pkl\"\n", "ItersName=\"dataL.pkl\"\n", "matrixIt_Total=\"data_L_Total.csv\"\n", "n_cores=20\n", "repet = 5 #CAMBIAR EL NUMERO SEGUN NUMERO DE EJECUCIONES POR CONFIG\n", "\n", "significance_value = 0.05\n", "processes = [2,10,20,40,80,120,160]\n", "\n", "positions = [321, 322, 323, 324, 325]\n", "positions_small = [221, 222, 223, 224]\n", "\n", "labels = ['(1,10)', '(1,20)', '(1,40)', '(1,80)', '(1,120)','(1,160)',\n", " '(10,1)', '(10,20)', '(10,40)', '(10,80)', '(10,120)','(10,160)',\n", " '(20,1)', '(20,10)', '(20,40)', '(20,80)', '(20,120)','(20,160)',\n", " '(40,1)', '(40,10)', '(40,20)', '(40,80)', '(40,120)','(40,160)',\n", " '(80,1)', '(80,10)', '(80,20)', '(80,40)', '(80,120)','(80,160)',\n", " '(120,1)','(120,10)', '(120,20)','(120,40)','(120,80)','(120,160)',\n", " '(160,1)','(160,10)', '(160,20)','(160,40)','(160,80)','(160,120)']\n", "\n", "labelsExpand = ['(1,10)', '(1,20)', '(1,40)', '(1,80)', '(1,120)','(1,160)',\n", " '(10,20)', '(10,40)', '(10,80)', '(10,120)','(10,160)',\n", " '(20,40)', '(20,80)', '(20,120)','(20,160)',\n", " '(40,80)', '(40,120)','(40,160)',\n", " '(80,120)','(80,160)',\n", " '(120,160)']\n", "labelsShrink = ['(10,1)', \n", " '(20,1)', '(20,10)',\n", " '(40,1)', '(40,10)', '(40,20)',\n", " '(80,1)', '(80,10)', '(80,20)', '(80,40)',\n", " '(120,1)','(120,10)', '(120,20)','(120,40)','(120,80)',\n", " '(160,1)','(160,10)', '(160,20)','(160,40)','(160,80)','(160,120)']\n", "\n", "# WORST BEST\n", "labels_dist = ['null', 'SpreadFit', 'CompactFit']\n", " #0 #1 #2 #3\n", "labelsMethods = ['Baseline', 'Baseline single','Baseline - Asynchronous','Baseline single - Asynchronous',\n", " 'Merge','Merge single','Merge - Asynchronous','Merge single - Asynchronous']\n", " #4 #5 #6 #7\n", " \n", "colors_m = ['green','springgreen','blue','darkblue','red','darkred','darkgoldenrod','olive','violet']\n", "linestyle_m = ['-', '--', '-.', ':']\n", "markers_m = ['.','v','s','p', 'h','d','X','P','^']\n", "\n", "OrMult_patch = mpatches.Patch(hatch='', facecolor='green', label='Baseline')\n", "OrSing_patch = mpatches.Patch(hatch='', facecolor='springgreen', label='Baseline single')\n", "OrPthMult_patch = mpatches.Patch(hatch='//', facecolor='blue', label='Baseline - Asyncrhonous')\n", "OrPthSing_patch = mpatches.Patch(hatch='\\\\', facecolor='darkblue', label='Baseline single - Asyncrhonous')\n", "MergeMult_patch = mpatches.Patch(hatch='||', facecolor='red', label='Merge')\n", "MergeSing_patch = mpatches.Patch(hatch='...', facecolor='darkred', label='Merge single')\n", "MergePthMult_patch = mpatches.Patch(hatch='xx', facecolor='yellow', label='Merge - Asyncrhonous')\n", "MergePthSing_patch = mpatches.Patch(hatch='++', facecolor='olive', label='Merge single - Asyncrhonous')\n", "\n", "handles_spawn = [OrMult_patch,OrSing_patch,OrPthMult_patch,OrPthSing_patch,MergeMult_patch,MergeSing_patch,MergePthMult_patch,MergePthSing_patch]" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "dfG = pd.read_pickle( AllName )\n", "\n", "dfG['ADR'] = round((dfG['ADR'] / dfG['DR']) * 100,1)\n", "dfG['SDR'] = round((dfG['SDR'] / dfG['DR']) * 100,1)\n", " \n", "out_group = dfG.groupby(['Groups', 'ADR','Spawn_Method','Redistribution_Method', 'Redistribution_Strategy'])['T_total']\n", "group = dfG.groupby(['ADR','Spawn_Method','Redistribution_Method', 'Redistribution_Strategy','Groups'])['T_total']\n", "\n", "grouped_aggG = group.agg(['median'])\n", "grouped_aggG.rename(columns={'median':'T_total'}, inplace=True) \n", "\n", "out_grouped_G = out_group.agg(['median'])\n", "out_grouped_G.rename(columns={'median':'T_total'}, inplace=True) " ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/tmp/ipykernel_16526/462116935.py:8: FutureWarning: Indexing with multiple keys (implicitly converted to a tuple of keys) will be deprecated, use a list instead.\n", " out_group = dfM.groupby(['NP','NC','ADR','Spawn_Method','Redistribution_Method', 'Redistribution_Strategy'])['T_Malleability','T_Redistribution','T_spawn','T_spawn_real','T_SR','T_AR']\n", "/tmp/ipykernel_16526/462116935.py:9: FutureWarning: Indexing with multiple keys (implicitly converted to a tuple of keys) will be deprecated, use a list instead.\n", " group = dfM.groupby(['ADR','Spawn_Method','Redistribution_Method', 'Redistribution_Strategy','NP','NC'])['T_Malleability','T_Redistribution','T_spawn','T_spawn_real','T_SR','T_AR']\n" ] } ], "source": [ "dfM = pd.read_pickle( ResizesName )\n", "\n", "dfM['ADR'] = round((dfM['ADR'] / dfM['DR']) * 100,1)\n", "dfM['SDR'] = round((dfM['SDR'] / dfM['DR']) * 100,1)\n", "dfM['T_Redistribution'] = dfM['T_SR'] + dfM['T_AR']\n", "dfM['T_Malleability'] = dfM['T_spawn'] + dfM['T_Redistribution']\n", " \n", "out_group = dfM.groupby(['NP','NC','ADR','Spawn_Method','Redistribution_Method', 'Redistribution_Strategy'])['T_Malleability','T_Redistribution','T_spawn','T_spawn_real','T_SR','T_AR']\n", "group = dfM.groupby(['ADR','Spawn_Method','Redistribution_Method', 'Redistribution_Strategy','NP','NC'])['T_Malleability','T_Redistribution','T_spawn','T_spawn_real','T_SR','T_AR']\n", "\n", "grouped_aggM = group.agg(['median'])\n", "grouped_aggM.columns = grouped_aggM.columns.get_level_values(0)\n", "\n", "out_grouped_M = out_group.agg(['median'])\n", "out_grouped_M.columns = out_grouped_M.columns.get_level_values(0)" ] }, { "cell_type": "code", "execution_count": 106, "metadata": {}, "outputs": [], "source": [ "dfL = pd.read_pickle( ItersName )\n", "\n", "dfL['ADR'] = round((dfL['ADR'] / dfL['DR']) * 100,1)\n", "dfL['SDR'] = round((dfL['SDR'] / dfL['DR']) * 100,1)\n", "dfL['ADR'].fillna(-1, inplace=True)\n", "dfL['SDR'].fillna(-1, inplace=True)\n", "dfL['DR'].fillna(-1, inplace=True)\n", " \n", "aux_df = dfL[(dfL.Asynch_Iters == True)]\n", "group = aux_df.groupby(['ADR','Spawn_Method','Redistribution_Method', 'Redistribution_Strategy','NP','NC'])['T_iter']\n", "grouped_aggLAsynch = group.agg(['median','count'])\n", "grouped_aggLAsynch.columns = grouped_aggLAsynch.columns.get_level_values(0)\n", "grouped_aggLAsynch['T_sum'] = grouped_aggLAsynch['count'] * grouped_aggLAsynch['median'] / repet\n", "grouped_aggLAsynch.rename(columns={'median':'T_iter'}, inplace=True) \n", "group = aux_df.groupby(['ADR','Spawn_Method','Redistribution_Method', 'Redistribution_Strategy','NP','NC'])['T_stages']\n", "aux_column = group.apply(list).apply(lambda x: np.median(x,0))\n", "grouped_aggLAsynch['T_stages'] = aux_column\n", "\n", "aux_df = dfL[(dfL.Asynch_Iters == False)]\n", "group = aux_df.groupby('NP')['T_iter']\n", "grouped_aggLSynch = group.agg(['median'])\n", "grouped_aggLSynch.rename(columns={'median':'T_iter'}, inplace=True)\n", "group = aux_df.groupby(['NP'])['T_stages']\n", "aux_column = group.apply(list).apply(lambda x: np.median(x,0))\n", "grouped_aggLSynch['T_stages'] = aux_column\n", "\n", "aux_df2 = aux_df[(aux_df.Is_Dynamic == True)]\n", "group = aux_df2.groupby(['ADR', 'Spawn_Method','Redistribution_Method', 'Redistribution_Strategy','NP','N_Parents'])['T_iter']\n", "grouped_aggLDyn = group.agg(['median'])\n", "grouped_aggLDyn.rename(columns={'median':'T_iter'}, inplace=True)\n", "group = aux_df2.groupby(['ADR', 'Spawn_Method','Redistribution_Method', 'Redistribution_Strategy','NP','N_Parents'])['T_stages']\n", "aux_column = group.apply(list).apply(lambda x: np.median(x,0))\n", "grouped_aggLDyn['T_stages'] = aux_column\n", "\n", "aux_df2 = aux_df[(aux_df.Is_Dynamic == False)]\n", "group = aux_df2.groupby('NP')['T_iter']\n", "grouped_aggLNDyn = group.agg(['median'])\n", "grouped_aggLNDyn.rename(columns={'median':'T_iter'}, inplace=True)\n", "group = aux_df2.groupby(['NP'])['T_stages']\n", "aux_column = group.apply(list).apply(lambda x: np.median(x,0))\n", "grouped_aggLNDyn['T_stages'] = aux_column" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "from bt_scheme import PartialSolution, BacktrackingSolver\n", "def elegirConf(parameters):\n", " class StatePS(PartialSolution):\n", " def __init__(self, config):\n", " self.config= config\n", " self.n= len(config) #Indica el valor a añadir\n", "\n", " def is_solution(self):\n", " return self.n == len(parameters)\n", "\n", " def get_solution(self):\n", " return tuple(self.config)\n", "\n", " def successors(self):\n", " array = parameters[self.n]\n", " for parameter_value in array: #Test all values of the next parameter\n", " self.config.append(parameter_value)\n", " yield StatePS(self.config)\n", " self.config.pop()\n", "\n", " initialPs= StatePS([])\n", " return BacktrackingSolver().solve(initialPs)\n", "\n", "\n", "def obtenerConfs(parameters):\n", " soluciones=[]\n", " for solucion in elegirConf(parameters):\n", " soluciones.append(solucion)\n", " return soluciones\n", "\n", "def modifyToGlobal(parameters, len_parameters, configuration):\n", " usable_configuration = []\n", " for i in range(len(parameters)):\n", " if len_parameters[i] > 1:\n", " aux = (parameters[i][0], configuration[i])\n", " else:\n", " aux = (configuration[i])\n", " usable_configuration.append(aux)\n", " \n", " return usable_configuration\n", "\n", "def modifyToLocalDynamic(parameters, len_parameters, configuration):\n", " usable_configuration = []\n", " for i in range(len(parameters)):\n", " if len_parameters[i] > 1:\n", " aux = (configuration[i], -1)\n", " else:\n", " aux = (-1)\n", " usable_configuration.append(aux)\n", " \n", " return tuple(usable_configuration)\n", "\n", "def CheckConfExists(configuration, dataSet, type_conf='global'):\n", " exists = False\n", " config = list(configuration)\n", " for np_aux in processes:\n", " for ns_aux in processes:\n", " if np_aux != ns_aux:\n", " \n", " if type_conf == 'global':\n", " config.append((np_aux, ns_aux))\n", " elif type_conf == 'malleability':\n", " config.append(np_aux)\n", " config.append(ns_aux)\n", " elif type_conf == 'local':\n", " config.append(np_aux)\n", " \n", " if tuple(config) in dataSet.index: \n", " exists = True # FIXME Return here true?\n", " config.pop()\n", " \n", " if type_conf == 'malleability':\n", " config.pop()\n", " return exists" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[0, 0, 0, 1], [0, 0, 1, 1], [0, 1, 0, 1], [0, 1, 1, 1], [96.6, 0, 0, 1], [96.6, 0, 0, 2], [96.6, 0, 1, 1], [96.6, 0, 1, 2], [96.6, 1, 0, 1], [96.6, 1, 0, 2], [96.6, 1, 1, 1], [96.6, 1, 1, 2]]\n", "[[-1, (0, -1), (1, -1), (2, -1)], [-1, (0, -1), (0, -1), (2, -1)], [-1, (1, -1), (0, -1), (2, -1)], [-1, (1, -1), (1, -1), (1, -1)], [-1, (0, -1), (1, -1), (1, -1)], [-1, (0, -1), (0, -1), (1, -1)], [-1, (1, -1), (1, -1), (2, -1)], [-1, (1, -1), (0, -1), (1, -1)]]\n", "[[0, (0, 0), (0, 0), (1, 1)], [0, (0, 0), (0, 1), (1, 1)], [0, (0, 1), (0, 0), (1, 1)], [0, (0, 1), (0, 1), (1, 1)], [96.6, (0, 0), (0, 0), (1, 1)], [96.6, (0, 0), (0, 0), (1, 2)], [96.6, (0, 0), (0, 1), (1, 1)], [96.6, (0, 0), (0, 1), (1, 2)], [96.6, (0, 1), (0, 0), (1, 1)], [96.6, (0, 1), (0, 0), (1, 2)], [96.6, (0, 1), (0, 1), (1, 1)], [96.6, (0, 1), (0, 1), (1, 2)]]\n", "12\n" ] } ], "source": [ "adr = [0,96.6]\n", "sp_method = [0,1]\n", "rd_method = [0,1]\n", "rd_strat = [1,2]\n", "parameters = [adr, sp_method, rd_method, rd_strat]\n", "parameters_names = ['ADR', 'Spawn_Method', 'Redistribution_Method', 'Redistribution_Strategy']\n", "len_parameters = [1,2,2,2]\n", "configurations_aux = obtenerConfs(parameters)\n", "configurations = []\n", "configurations_local_dynamic = set()\n", "configurations_local = set()\n", "configurations_simple = []\n", "for checked_conf in configurations_aux:\n", " aux_conf = modifyToGlobal(parameters, len_parameters, checked_conf)\n", " if CheckConfExists(aux_conf, grouped_aggG):\n", " configurations.append(aux_conf)\n", "\n", " if CheckConfExists(checked_conf, grouped_aggM, 'malleability'):\n", " configurations_simple.append(list(checked_conf))\n", " \n", " aux_conf = modifyToLocalDynamic(parameters, len_parameters, checked_conf)\n", " if CheckConfExists(aux_conf, grouped_aggLDyn, 'local'):\n", " configurations_local_dynamic.add(aux_conf)\n", "\n", "configurations_local_dynamic = list(configurations_local_dynamic)\n", "for index in range(len(configurations_local_dynamic)):\n", " configurations_local_dynamic[index] = list(configurations_local_dynamic[index])\n", "\n", "print(configurations_simple)\n", "print(configurations_local_dynamic)\n", "print(configurations)\n", "print(len(configurations))" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "#ALPHA COMPUTATION\n", "def compute_alpha(config_a, config_b):\n", " for np_aux in processes:\n", " for ns_aux in processes:\n", " if np_aux != ns_aux:\n", " config_a.append(np_aux)\n", " config_a.append(ns_aux)\n", " config_b.append(np_aux)\n", " config_b.append(ns_aux)\n", " grouped_aggM.loc[tuple(config_b),'Alpha'] = grouped_aggM.loc[tuple(config_b),'T_Malleability'] / grouped_aggM.loc[tuple(config_a),'T_Malleability']\n", " config_a.pop()\n", " config_a.pop()\n", " config_b.pop()\n", " config_b.pop()\n", " \n", " \n", " config_a.insert(0,ns_aux)\n", " config_a.insert(0,np_aux)\n", " config_b.insert(0,ns_aux)\n", " config_b.insert(0,np_aux)\n", " out_grouped_M.loc[tuple(config_b),'Alpha'] = out_grouped_M.loc[tuple(config_b),'T_Malleability'] / out_grouped_M.loc[tuple(config_a),'T_Malleability']\n", " config_a.pop(0)\n", " config_a.pop(0)\n", " config_b.pop(0)\n", " config_b.pop(0)\n", "\n", "if not ('Alpha' in grouped_aggM.columns):\n", " for config_a in configurations_simple:\n", " for config_b in configurations_simple:\n", " if config_a[1:-1] == config_b[1:-1] and config_a[0] == 0 and config_b[0] != 0:\n", " compute_alpha(config_a, config_b)\n", "else:\n", " print(\"ALPHA already exists\")" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/usuario/miniconda3/lib/python3.9/site-packages/pandas/core/algorithms.py:1537: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray.\n", " return arr.searchsorted(value, side=side, sorter=sorter) # type: ignore[arg-type]\n", "/home/usuario/miniconda3/lib/python3.9/site-packages/pandas/core/algorithms.py:1537: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray.\n", " return arr.searchsorted(value, side=side, sorter=sorter) # type: ignore[arg-type]\n" ] } ], "source": [ "#OMEGA COMPUTATION\n", "def compute_omega(config):\n", " for np_aux in processes:\n", " for ns_aux in processes:\n", " if np_aux != ns_aux:\n", " if len(config) > len(parameters):\n", " config.pop()\n", " config.pop()\n", " config.append(np_aux)\n", " config.append(ns_aux)\n", " grouped_aggLAsynch.at[tuple(config),'Omega'] = grouped_aggLAsynch.at[tuple(config),'T_iter'] / grouped_aggLSynch.at[np_aux,'T_iter']\n", " value = grouped_aggLAsynch.at[tuple(config),'T_stages'] / grouped_aggLSynch.at[np_aux,'T_stages']\n", " grouped_aggLAsynch.at[tuple(config),'Omega_Stages'] = value.astype(object)\n", " config.pop()\n", " config.pop()\n", "\n", "if not ('Omega' in grouped_aggLAsynch.columns):\n", " for config in configurations:\n", " if config[0] != 0:\n", " compute_omega(config)\n", "else:\n", " print(\"OMEGA already exists\")" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/usuario/miniconda3/lib/python3.9/site-packages/pandas/core/algorithms.py:1537: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray.\n", " return arr.searchsorted(value, side=side, sorter=sorter) # type: ignore[arg-type]\n", "/home/usuario/miniconda3/lib/python3.9/site-packages/pandas/core/algorithms.py:1537: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray.\n", " return arr.searchsorted(value, side=side, sorter=sorter) # type: ignore[arg-type]\n" ] } ], "source": [ "#Dynamic Coherence COMPUTATION\n", "def compute_dyn_coherency(config):\n", " for np_aux in processes:\n", " for n_parents_aux in processes:\n", " if np_aux != n_parents_aux:\n", " config.append(np_aux)\n", " config.append(n_parents_aux)\n", " grouped_aggLDyn.at[tuple(config),'Dyn_Coherency'] = grouped_aggLDyn.at[tuple(config),'T_iter'] / grouped_aggLNDyn.at[np_aux,'T_iter']\n", " value = grouped_aggLDyn.at[tuple(config),'T_stages'] / grouped_aggLNDyn.at[np_aux,'T_stages']\n", " grouped_aggLDyn.at[tuple(config),'Dyn_Coherency_Stages'] = value.astype(object)\n", " config.pop()\n", " config.pop()\n", "\n", "if not ('Dyn_Coherency' in grouped_aggLDyn.columns):\n", " for config in configurations_local_dynamic:\n", " compute_dyn_coherency(config)\n", "else:\n", " print(\"Dyn_Coherency already exists\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "out_grouped_G.to_excel(\"resultG.xlsx\") \n", "out_grouped_M.to_excel(\"resultM.xlsx\") \n", "grouped_aggLAsynch.to_excel(\"AsynchIters.xlsx\")\n", "grouped_aggLDyn.to_excel(\"DynCoherence.xlsx\")" ] }, { "cell_type": "code", "execution_count": 148, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | \n", " | \n", " | \n", " | \n", " | T_Malleability | \n", "T_Redistribution | \n", "T_spawn | \n", "T_spawn_real | \n", "T_SR | \n", "T_AR | \n", "Alpha | \n", "Resize_Coherency | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|
Spawn_Method | \n", "Redistribution_Method | \n", "Redistribution_Strategy | \n", "NP | \n", "NC | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
0 | \n", "0 | \n", "1 | \n", "2 | \n", "10 | \n", "1.450045 | \n", "1.064642 | \n", "0.369660 | \n", "0.000000 | \n", "0.044619 | \n", "1.020767 | \n", "0.771066 | \n", "1.212451 | \n", "
20 | \n", "2.071983 | \n", "1.104158 | \n", "0.934080 | \n", "0.000000 | \n", "0.077780 | \n", "1.001591 | \n", "0.577800 | \n", "1.933230 | \n", "||||
40 | \n", "1.843507 | \n", "0.920655 | \n", "0.918149 | \n", "0.000000 | \n", "0.093907 | \n", "0.818607 | \n", "0.438732 | \n", "7.390061 | \n", "||||
80 | \n", "1.783597 | \n", "0.869270 | \n", "0.920874 | \n", "0.000000 | \n", "0.118352 | \n", "0.750918 | \n", "0.383346 | \n", "11.721763 | \n", "||||
120 | \n", "1.738361 | \n", "0.838482 | \n", "0.945228 | \n", "0.000000 | \n", "0.127863 | \n", "0.649751 | \n", "0.333218 | \n", "13.663289 | \n", "||||
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
1 | \n", "1 | \n", "2 | \n", "160 | \n", "10 | \n", "3.503912 | \n", "3.167023 | \n", "0.336889 | \n", "0.086018 | \n", "0.374117 | \n", "2.846176 | \n", "1.135001 | \n", "0.699213 | \n", "
20 | \n", "3.487746 | \n", "3.075578 | \n", "0.507027 | \n", "0.308085 | \n", "0.483989 | \n", "2.632365 | \n", "1.017463 | \n", "0.745360 | \n", "||||
40 | \n", "2.997133 | \n", "1.817674 | \n", "1.179459 | \n", "1.134582 | \n", "0.276230 | \n", "1.497667 | \n", "1.459617 | \n", "0.251408 | \n", "||||
80 | \n", "1.798157 | \n", "0.864571 | \n", "0.957581 | \n", "0.749047 | \n", "0.003917 | \n", "0.860635 | \n", "1.319977 | \n", "0.507629 | \n", "||||
120 | \n", "1.665167 | \n", "0.548051 | \n", "1.122762 | \n", "0.842099 | \n", "0.004101 | \n", "0.543869 | \n", "1.282174 | \n", "0.425844 | \n", "
336 rows × 8 columns
\n", "\n", " | NP | \n", "NC | \n", "Total_Stages | \n", "Granularity | \n", "SDR | \n", "ADR | \n", "DR | \n", "Redistribution_Method | \n", "Redistribution_Strategy | \n", "Spawn_Method | \n", "... | \n", "Iters | \n", "Asynch_Iters | \n", "T_iter | \n", "T_stages | \n", "T_spawn | \n", "T_spawn_real | \n", "T_SR | \n", "T_AR | \n", "T_Redistribution | \n", "T_Malleability | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "160 | \n", "40 | \n", "4 | \n", "100000 | \n", "100.0 | \n", "0.0 | \n", "3947883504 | \n", "1 | \n", "1 | \n", "0 | \n", "... | \n", "500 | \n", "0 | \n", "(0.08095, 0.076509, 0.079877, 0.074691, 0.0760... | \n", "((0.010705, 0.001643, 0.000203, 0.067232), (0.... | \n", "1.347948 | \n", "0.000000 | \n", "0.752765 | \n", "0.000000 | \n", "0.752765 | \n", "2.100713 | \n", "
1 | \n", "160 | \n", "40 | \n", "4 | \n", "100000 | \n", "100.0 | \n", "0.0 | \n", "3947883504 | \n", "1 | \n", "1 | \n", "0 | \n", "... | \n", "500 | \n", "0 | \n", "(0.083757, 0.069349, 0.068418, 0.065849, 0.061... | \n", "((0.010718, 0.000521, 4.2e-05, 0.071717), (0.0... | \n", "1.408781 | \n", "0.000000 | \n", "0.780452 | \n", "0.000000 | \n", "0.780452 | \n", "2.189233 | \n", "
2 | \n", "160 | \n", "40 | \n", "4 | \n", "100000 | \n", "100.0 | \n", "0.0 | \n", "3947883504 | \n", "1 | \n", "1 | \n", "0 | \n", "... | \n", "500 | \n", "0 | \n", "(0.096849, 0.072226, 0.075321, 0.065634, 0.075... | \n", "((0.010704, 0.001999, 0.000233, 0.079332), (0.... | \n", "1.336949 | \n", "0.000000 | \n", "0.526026 | \n", "0.000000 | \n", "0.526026 | \n", "1.862975 | \n", "
3 | \n", "160 | \n", "40 | \n", "4 | \n", "100000 | \n", "100.0 | \n", "0.0 | \n", "3947883504 | \n", "1 | \n", "1 | \n", "0 | \n", "... | \n", "500 | \n", "0 | \n", "(0.07964, 0.070345, 0.073844, 0.086362, 0.0720... | \n", "((0.010704, 0.003768, 0.000384, 0.062777), (0.... | \n", "1.444550 | \n", "0.000000 | \n", "0.688739 | \n", "0.000000 | \n", "0.688739 | \n", "2.133289 | \n", "
4 | \n", "160 | \n", "40 | \n", "4 | \n", "100000 | \n", "100.0 | \n", "0.0 | \n", "3947883504 | \n", "1 | \n", "1 | \n", "0 | \n", "... | \n", "500 | \n", "0 | \n", "(0.098563, 0.068683, 0.090294, 0.083441, 0.086... | \n", "((0.010716, 0.000262, 0.00023, 0.086761), (0.0... | \n", "1.467106 | \n", "0.000000 | \n", "0.592875 | \n", "0.000000 | \n", "0.592875 | \n", "2.059981 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
2515 | \n", "2 | \n", "40 | \n", "4 | \n", "100000 | \n", "3.4 | \n", "96.6 | \n", "3947883503 | \n", "1 | \n", "2 | \n", "1 | \n", "... | \n", "500 | \n", "4 | \n", "(0.653634, 0.634598, 0.633836, 0.634582, 0.634... | \n", "((0.622565, 7e-06, 2e-06, 0.03106), (0.62308, ... | \n", "1.341950 | \n", "1.074329 | \n", "0.044368 | \n", "1.800613 | \n", "1.844981 | \n", "3.186931 | \n", "
2516 | \n", "2 | \n", "40 | \n", "4 | \n", "100000 | \n", "3.4 | \n", "96.6 | \n", "3947883503 | \n", "1 | \n", "2 | \n", "1 | \n", "... | \n", "500 | \n", "4 | \n", "(0.653119, 0.633832, 0.633014, 0.633593, 0.633... | \n", "((0.621538, 0.000137, 3e-06, 0.03144), (0.6218... | \n", "1.382511 | \n", "1.104917 | \n", "0.044006 | \n", "2.054798 | \n", "2.098804 | \n", "3.481315 | \n", "
2517 | \n", "2 | \n", "40 | \n", "4 | \n", "100000 | \n", "3.4 | \n", "96.6 | \n", "3947883503 | \n", "1 | \n", "2 | \n", "1 | \n", "... | \n", "500 | \n", "4 | \n", "(0.652854, 0.633725, 0.632971, 0.633643, 0.633... | \n", "((0.621539, 9.8e-05, 2e-06, 0.031214), (0.6218... | \n", "1.348554 | \n", "0.975715 | \n", "0.044106 | \n", "1.975576 | \n", "2.019682 | \n", "3.368236 | \n", "
2518 | \n", "2 | \n", "40 | \n", "4 | \n", "100000 | \n", "3.4 | \n", "96.6 | \n", "3947883503 | \n", "1 | \n", "2 | \n", "1 | \n", "... | \n", "500 | \n", "4 | \n", "(0.652802, 0.633527, 0.633319, 0.633376, 0.633... | \n", "((0.621599, 0.000231, 2e-06, 0.030969), (0.622... | \n", "1.310184 | \n", "1.022675 | \n", "0.047264 | \n", "1.617140 | \n", "1.664404 | \n", "2.974588 | \n", "
2519 | \n", "2 | \n", "40 | \n", "4 | \n", "100000 | \n", "3.4 | \n", "96.6 | \n", "3947883503 | \n", "1 | \n", "2 | \n", "1 | \n", "... | \n", "500 | \n", "4 | \n", "(0.653575, 0.634228, 0.634006, 0.63414, 0.6339... | \n", "((0.622518, 7e-06, 2e-06, 0.031046), (0.622878... | \n", "1.364008 | \n", "1.040484 | \n", "0.043897 | \n", "1.749459 | \n", "1.793356 | \n", "3.157364 | \n", "
2520 rows × 26 columns
\n", "\n", " | Total_Resizes | \n", "Total_Groups | \n", "Total_Stages | \n", "Granularity | \n", "SDR | \n", "ADR | \n", "DR | \n", "Redistribution_Method | \n", "Redistribution_Strategy | \n", "Spawn_Method | \n", "... | \n", "Stage_Bytes | \n", "Iters | \n", "Asynch_Iters | \n", "T_iter | \n", "T_stages | \n", "T_spawn | \n", "T_spawn_real | \n", "T_SR | \n", "T_AR | \n", "T_total | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "1 | \n", "2 | \n", "4 | \n", "100000 | \n", "100.0 | \n", "0.0 | \n", "3947883504 | \n", "(0, 1) | \n", "(1, 1) | \n", "(0, 0) | \n", "... | \n", "(0, 8, 8, 33176880) | \n", "(500, 500) | \n", "(0, 0) | \n", "((0.08095, 0.076509, 0.079877, 0.074691, 0.076... | \n", "(((0.010705, 0.001643, 0.000203, 0.067232), (0... | \n", "(1.347948,) | \n", "(0,) | \n", "(0.752765,) | \n", "(0,) | \n", "80.055689 | \n", "
1 | \n", "1 | \n", "2 | \n", "4 | \n", "100000 | \n", "100.0 | \n", "0.0 | \n", "3947883504 | \n", "(0, 1) | \n", "(1, 1) | \n", "(0, 0) | \n", "... | \n", "(0, 8, 8, 33176880) | \n", "(500, 500) | \n", "(0, 0) | \n", "((0.083757, 0.069349, 0.068418, 0.065849, 0.06... | \n", "(((0.010718, 0.000521, 4.2e-05, 0.071717), (0.... | \n", "(1.408781,) | \n", "(0,) | \n", "(0.780452,) | \n", "(0,) | \n", "78.698831 | \n", "
2 | \n", "1 | \n", "2 | \n", "4 | \n", "100000 | \n", "100.0 | \n", "0.0 | \n", "3947883504 | \n", "(0, 1) | \n", "(1, 1) | \n", "(0, 0) | \n", "... | \n", "(0, 8, 8, 33176880) | \n", "(500, 500) | \n", "(0, 0) | \n", "((0.096849, 0.072226, 0.075321, 0.065634, 0.07... | \n", "(((0.010704, 0.001999, 0.000233, 0.079332), (0... | \n", "(1.336949,) | \n", "(0,) | \n", "(0.526026,) | \n", "(0,) | \n", "78.275454 | \n", "
3 | \n", "1 | \n", "2 | \n", "4 | \n", "100000 | \n", "100.0 | \n", "0.0 | \n", "3947883504 | \n", "(0, 1) | \n", "(1, 1) | \n", "(0, 0) | \n", "... | \n", "(0, 8, 8, 33176880) | \n", "(500, 500) | \n", "(0, 0) | \n", "((0.07964, 0.070345, 0.073844, 0.086362, 0.072... | \n", "(((0.010704, 0.003768, 0.000384, 0.062777), (0... | \n", "(1.44455,) | \n", "(0,) | \n", "(0.688739,) | \n", "(0,) | \n", "77.281291 | \n", "
4 | \n", "1 | \n", "2 | \n", "4 | \n", "100000 | \n", "100.0 | \n", "0.0 | \n", "3947883504 | \n", "(0, 1) | \n", "(1, 1) | \n", "(0, 0) | \n", "... | \n", "(0, 8, 8, 33176880) | \n", "(500, 500) | \n", "(0, 0) | \n", "((0.098563, 0.068683, 0.090294, 0.083441, 0.08... | \n", "(((0.010716, 0.000262, 0.00023, 0.086761), (0.... | \n", "(1.467106,) | \n", "(0,) | \n", "(0.592875,) | \n", "(0,) | \n", "79.911654 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
1675 | \n", "1 | \n", "2 | \n", "4 | \n", "100000 | \n", "3.4 | \n", "96.6 | \n", "3947883503 | \n", "(0, 1) | \n", "(1, 2) | \n", "(0, 1) | \n", "... | \n", "(0, 8, 8, 33176880) | \n", "(500, 500) | \n", "(4, 0) | \n", "((0.653634, 0.634598, 0.633836, 0.634582, 0.63... | \n", "(((0.622565, 7e-06, 2e-06, 0.03106), (0.62308,... | \n", "(1.34195,) | \n", "(1.074329,) | \n", "(0.044368,) | \n", "(1.800613,) | \n", "363.805409 | \n", "
1676 | \n", "1 | \n", "2 | \n", "4 | \n", "100000 | \n", "3.4 | \n", "96.6 | \n", "3947883503 | \n", "(0, 1) | \n", "(1, 2) | \n", "(0, 1) | \n", "... | \n", "(0, 8, 8, 33176880) | \n", "(500, 500) | \n", "(4, 0) | \n", "((0.653119, 0.633832, 0.633014, 0.633593, 0.63... | \n", "(((0.621538, 0.000137, 3e-06, 0.03144), (0.621... | \n", "(1.382511,) | \n", "(1.104917,) | \n", "(0.044006,) | \n", "(2.054798,) | \n", "360.893782 | \n", "
1677 | \n", "1 | \n", "2 | \n", "4 | \n", "100000 | \n", "3.4 | \n", "96.6 | \n", "3947883503 | \n", "(0, 1) | \n", "(1, 2) | \n", "(0, 1) | \n", "... | \n", "(0, 8, 8, 33176880) | \n", "(500, 500) | \n", "(4, 0) | \n", "((0.652854, 0.633725, 0.632971, 0.633643, 0.63... | \n", "(((0.621539, 9.8e-05, 2e-06, 0.031214), (0.621... | \n", "(1.348554,) | \n", "(0.975715,) | \n", "(0.044106,) | \n", "(1.975576,) | \n", "359.383625 | \n", "
1678 | \n", "1 | \n", "2 | \n", "4 | \n", "100000 | \n", "3.4 | \n", "96.6 | \n", "3947883503 | \n", "(0, 1) | \n", "(1, 2) | \n", "(0, 1) | \n", "... | \n", "(0, 8, 8, 33176880) | \n", "(500, 500) | \n", "(4, 0) | \n", "((0.652802, 0.633527, 0.633319, 0.633376, 0.63... | \n", "(((0.621599, 0.000231, 2e-06, 0.030969), (0.62... | \n", "(1.310184,) | \n", "(1.022675,) | \n", "(0.047264,) | \n", "(1.61714,) | \n", "362.372775 | \n", "
1679 | \n", "1 | \n", "2 | \n", "4 | \n", "100000 | \n", "3.4 | \n", "96.6 | \n", "3947883503 | \n", "(0, 1) | \n", "(1, 2) | \n", "(0, 1) | \n", "... | \n", "(0, 8, 8, 33176880) | \n", "(500, 500) | \n", "(4, 0) | \n", "((0.653575, 0.634228, 0.634006, 0.63414, 0.633... | \n", "(((0.622518, 7e-06, 2e-06, 0.031046), (0.62287... | \n", "(1.364008,) | \n", "(1.040484,) | \n", "(0.043897,) | \n", "(1.749459,) | \n", "363.027286 | \n", "
2520 rows × 26 columns
\n", "