{ "cells": [ { "cell_type": "code", "execution_count": 1, "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", "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" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "matrixMalEX=\"data_GG.csv\"\n", "matrixMal=\"data_GM.csv\"\n", "matrixIt=\"data_L.csv\"\n", "matrixIt_Total=\"data_L_Total.csv\"\n", "n_qty=6 #CAMBIAR SEGUN LA CANTIDAD DE NODOS USADOS\n", "n_groups= 2\n", "repet = 10 #CAMBIAR EL NUMERO SEGUN NUMERO DE EJECUCIONES POR CONFIG\n", "time_constant = False # Cambiar segun el speedUp usado\n", "speedup = 0.66 # Porcentaje del speedup ideal\n", "\n", "p_value = 0.05\n", "values = [2, 10, 20, 40]\n", "# WORST BEST\n", "dist_names = ['null', 'BalancedFit', 'CompactFit']\n", "\n", "processes = [1,10,20,40,80,120]\n", "\n", "labelsP = [['(2,2)', '(2,10)', '(2,20)', '(2,40)'],['(10,2)', '(10,10)', '(10,20)', '(10,40)'],\n", " ['(20,2)', '(20,10)', '(20,20)', '(20,40)'],['(40,2)', '(40,10)', '(40,20)', '(40,40)']]\n", "labelsP_J = ['(2,2)', '(2,10)', '(2,20)', '(2,40)','(10,2)', '(10,10)', '(10,20)', '(10,40)',\n", " '(20,2)', '(20,10)', '(20,20)', '(20,40)','(40,2)', '(40,10)', '(40,20)', '(40,40)']\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)',\n", " '(10,1)', '(10,20)', '(10,40)','(10,80)','(10,120)',\n", " '(20,1)', '(20,10)','(20,40)','(20,80)','(20,120)',\n", " '(40,1)', '(40,10)', '(40,20)','(40,80)','(40,120)',\n", " '(80,1)', '(80,10)', '(80,20)', '(80,40)','(80,120)',\n", " '(120,1)', '(120,10)', '(120,20)','(120,40)','(120,80)']\n", "\n", "labelsExpand = ['(1,10)', '(1,20)', '(1,40)','(1,80)','(1,120)',\n", " '(10,20)', '(10,40)','(10,80)','(10,120)',\n", " '(20,40)','(20,80)','(20,120)',\n", " '(40,80)','(40,120)',\n", " '(80,120)']\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", "\n", "labelsExpandOrdered = ['(1,10)', '(1,20)', '(10,20)',\n", " '(1,40)','(10,40)','(20,40)',\n", " '(1,80)','(10,80)','(20,80)','(40,80)',\n", " '(1,120)', '(10,120)', '(20,120)','(40,120)','(80,120)']\n", "labelsShrinkOrdered = ['(10,1)', '(20,1)', '(40,1)', '(80,1)', '(120,1)',\n", " '(20,10)', '(40,10)', '(80,10)', '(120,10)', \n", " '(40,20)', '(80,20)', '(120,20)',\n", " '(80,40)','(120,40)',\n", " '(120,80)']\n", "\n", "labelsExpandIntra = ['(1,10)', '(1,20)','(10,20)']\n", "labelsShrinkIntra = ['(10,1)', '(20,1)', '(20,10)']\n", "labelsExpandInter = ['(1,40)','(1,80)', '(1,160)',\n", " '(10,40)','(10,80)', '(10,160)',\n", " '(20,40)','(20,80)', '(20,160)',\n", " '(40,80)', '(40,160)',\n", " '(80,160)']\n", "labelsShrinkInter = ['(40,1)', '(40,10)', '(40,20)',\n", " '(80,1)', '(80,10)', '(80,20)','(80,40)',\n", " '(160,1)', '(160,10)', '(160,20)','(160,40)', '(160,80)']\n", "\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", "colors_spawn = ['green','springgreen','blue','darkblue','red','darkred','darkgoldenrod','olive']\n", "linestyle_spawn = ['-', '--', '-.', ':']\n", "markers_spawn = ['.','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": 67, "metadata": {}, "outputs": [], "source": [ "dfG = pd.read_csv( matrixMalEX )\n", "\n", "dfG = dfG.drop(columns=dfG.columns[0])\n", "dfG['S'] = dfG['N']\n", "dfG['N'] = dfG['S'] + dfG['%Async']\n", "dfG['%Async'] = (dfG['%Async'] / dfG['N']) * 100\n", "dfG['%Async'] = dfG['%Async'].fillna(0)\n", "\n", "if(n_qty == 1):\n", " group = dfG.groupby(['%Async', 'Cst', 'Css', 'Groups'])['TE']\n", " group2 = dfG.groupby(['%Async', 'Cst', 'Css', 'NP','NS'])['TE']\n", "else: \n", " group = dfG.groupby(['Dist', '%Async', 'Cst', 'Css', 'Groups'])['TE']\n", " group2 = dfG.groupby(['Dist', '%Async', 'Cst', 'Css', 'NP','NS'])['TE']\n", "\n", "grouped_aggG = group.agg(['median'])\n", "grouped_aggG.rename(columns={'median':'TE'}, inplace=True)\n", "\n", "grouped_aggG2 = group2.agg(['median'])\n", "grouped_aggG2.rename(columns={'median':'TE'}, inplace=True)" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/tmp/ipykernel_2692/2056908859.py:18: FutureWarning: Indexing with multiple keys (implicitly converted to a tuple of keys) will be deprecated, use a list instead.\n", " groupM = dfM.groupby(['Dist', '%Async', 'Cst', 'Css', 'NP', 'NS'])['TC', 'TH', 'TS', 'TA', 'TR', 'alpha']\n" ] } ], "source": [ "dfM = pd.read_csv( matrixMal )\n", "dfM = dfM.drop(columns=dfM.columns[0])\n", "\n", "dfM['S'] = dfM['N']\n", "dfM['N'] = dfM['S'] + dfM['%Async']\n", "dfM[\"TR\"] = dfM[\"TC\"] + dfM[\"TH\"] + dfM[\"TS\"] + dfM[\"TA\"]\n", "dfM['%Async'] = (dfM['%Async'] / dfM['N']) * 100\n", "\n", "dfM['%Async'] = dfM['%Async'].fillna(0)\n", "dfM['alpha'] = 1\n", "\n", "#dfM = dfM.drop(dfM.loc[(dfM[\"Cst\"] == 3) & (dfM[\"Css\"] == 1) & (dfM[\"NP\"] > dfM[\"NS\"])].index)\n", "#dfM = dfM.drop(dfM.loc[(dfM[\"Cst\"] == 2) & (dfM[\"Css\"] == 1) & (dfM[\"NP\"] > dfM[\"NS\"])].index)\n", "\n", "if(n_qty == 1):\n", " groupM = dfM.groupby(['%Async', 'Cst', 'Css', 'NP', 'NS'])['TC', 'TH', 'TS', 'TA', 'TR', 'alpha']\n", "else:\n", " groupM = dfM.groupby(['Dist', '%Async', 'Cst', 'Css', 'NP', 'NS'])['TC', 'TH', 'TS', 'TA', 'TR', 'alpha']\n", "\n", "#group\n", "grouped_aggM = groupM.agg(['median'])\n", "grouped_aggM.columns = grouped_aggM.columns.get_level_values(0)\n", "\n", "for cst_aux in [1,3]:\n", " for css_aux in [0,1]:\n", " for np_aux in processes:\n", " for ns_aux in processes:\n", " if np_aux != ns_aux:\n", " grouped_aggM.loc[('2,2',0, cst_aux, css_aux, np_aux,ns_aux)]['alpha'] = \\\n", " grouped_aggM.loc[('2,2',0, cst_aux, css_aux, np_aux,ns_aux)]['TC'] / \\\n", " grouped_aggM.loc[('2,2',0, cst_aux-1, css_aux, np_aux,ns_aux)]['TC']\n", " " ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/tmp/ipykernel_2692/1294489315.py:13: FutureWarning: Indexing with multiple keys (implicitly converted to a tuple of keys) will be deprecated, use a list instead.\n", " groupL = dfL[dfL['NS'] != 0].groupby(['Tt', 'Dist', '%Async', 'Cst', 'Css', 'NP', 'NS'])['Ti', 'To', 'omega']\n" ] } ], "source": [ "dfL = pd.read_csv( matrixIt )\n", "dfL = dfL.drop(columns=dfL.columns[0])\n", "\n", "dfL['%Async'] = dfL['%Async'].fillna(0)\n", "dfL['omega'] = 1\n", "\n", "#dfL = dfL.drop(dfL.loc[(dfL[\"Cst\"] == 3) & (dfL[\"Css\"] == 1) & (dfL[\"NP\"] > dfL[\"NS\"])].index)\n", "#dfL = dfL.drop(dfL.loc[(dfL[\"Cst\"] == 2) & (dfL[\"Css\"] == 1) & (dfL[\"NP\"] > dfL[\"NS\"])].index)\n", "\n", "if(n_qty == 1):\n", " groupL = dfL[dfL['NS'] != 0].groupby(['Tt', '%Async', 'Cst', 'Css', 'NP', 'NS'])['Ti', 'To', 'omega']\n", "else:\n", " groupL = dfL[dfL['NS'] != 0].groupby(['Tt', 'Dist', '%Async', 'Cst', 'Css', 'NP', 'NS'])['Ti', 'To', 'omega']\n", "\n", "#group\n", "grouped_aggL = groupL.agg(['median', 'count'])\n", "grouped_aggL.columns = grouped_aggL.columns.get_level_values(0)\n", "grouped_aggL.set_axis(['Ti', 'Iters', 'To', 'Iters2', 'omega', 'omega2'], axis='columns', inplace=True)\n", "grouped_aggL['Iters'] = np.round(grouped_aggL['Iters']/repet)\n", "grouped_aggL['Iters2'] = np.round(grouped_aggL['Iters2']/repet)\n", "\n", "for cst_aux in [1,3]:\n", " for css_aux in [0,1]:\n", " for np_aux in processes:\n", " for ns_aux in processes:\n", " if np_aux != ns_aux:\n", " grouped_aggL.loc[(1,2,0, cst_aux, css_aux, np_aux,ns_aux), 'omega'] = \\\n", " grouped_aggL.loc[(1,2,0, cst_aux, css_aux, np_aux,ns_aux)]['Ti'] / \\\n", " grouped_aggL.loc[(0,2,0, cst_aux, css_aux, np_aux,ns_aux)]['Ti']" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/usuario/miniconda3/lib/python3.9/site-packages/numpy/core/fromnumeric.py:3419: RuntimeWarning: Mean of empty slice.\n", " return _methods._mean(a, axis=axis, dtype=dtype,\n", "/tmp/ipykernel_2692/3028104048.py:17: FutureWarning: Indexing with multiple keys (implicitly converted to a tuple of keys) will be deprecated, use a list instead.\n", " groupLT = dfLT[dfLT['NS'] != 0].groupby(['Dist', '%Async', 'Cst', 'Css', 'NP', 'NS'])['Sum', 'ItA']\n" ] } ], "source": [ "dfLT = pd.read_csv( matrixIt_Total )\n", "dfLT = dfLT.drop(columns=dfLT.columns[0])\n", "\n", "dfLT['%Async'] = dfLT['%Async'].fillna(0)\n", "dfLT['ItA']= dfLT.Ti.apply(lambda x: list(x.replace('(','').replace(')','').split(',')))\n", "dfLT['TiA']= dfLT.ItA.apply(lambda x: np.median(list(map(float,[y for y in x if y]))) )\n", "dfLT['TiA']= dfLT['TiA'].fillna(0)\n", "dfLT['ItA']= dfLT.ItA.apply(lambda x: len([y for y in x if y]))\n", "\n", "\n", "#dfL = dfL.drop(dfL.loc[(dfL[\"Cst\"] == 3) & (dfL[\"Css\"] == 1) & (dfL[\"NP\"] > dfL[\"NS\"])].index)\n", "#dfL = dfL.drop(dfL.loc[(dfL[\"Cst\"] == 2) & (dfL[\"Css\"] == 1) & (dfL[\"NP\"] > dfL[\"NS\"])].index)\n", "\n", "if(n_qty == 1):\n", " groupLT = dfLT[dfLT['NS'] != 0].groupby(['%Async', 'Cst', 'Css', 'NP', 'NS'])['Sum', 'ItA']\n", "else:\n", " groupLT = dfLT[dfLT['NS'] != 0].groupby(['Dist', '%Async', 'Cst', 'Css', 'NP', 'NS'])['Sum', 'ItA']\n", "\n", "#group\n", "grouped_aggLT = groupLT.agg(['median'])\n", "grouped_aggLT.columns = grouped_aggLT.columns.get_level_values(0)\n", "grouped_aggLT.set_axis(['Sum','ItA'], axis='columns', inplace=True)" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/tmp/ipykernel_2692/863462943.py:12: UserWarning: Boolean Series key will be reindexed to match DataFrame index.\n", " dfLT_aux = dfLT[dfLT[\"NP\"] == np_aux][dfLT[\"NS\"] == ns_aux][dfLT[\"Cst\"] == cst_aux][dfLT[\"Css\"] == css_aux]\n", "/tmp/ipykernel_2692/863462943.py:13: UserWarning: Boolean Series key will be reindexed to match DataFrame index.\n", " dfM_aux = dfM[dfM[\"NP\"] == np_aux][dfM[\"NS\"] == ns_aux][dfM[\"Css\"] == css_aux]\n" ] } ], "source": [ "tc_list = []\n", "alpha_list = []\n", "omega_list = []\n", "ita_list = []\n", "dfLT['index'] = dfLT.index\n", "dfM['index'] = dfM.index\n", "for cst_aux in [0,1,2,3]:\n", " for css_aux in [0,1]:\n", " for np_aux in processes:\n", " for ns_aux in processes:\n", " if np_aux != ns_aux:\n", " dfLT_aux = dfLT[dfLT[\"NP\"] == np_aux][dfLT[\"NS\"] == ns_aux][dfLT[\"Cst\"] == cst_aux][dfLT[\"Css\"] == css_aux]\n", " dfM_aux = dfM[dfM[\"NP\"] == np_aux][dfM[\"NS\"] == ns_aux][dfM[\"Css\"] == css_aux]\n", " if cst_aux == 1 or cst_aux == 3:\n", " dfM_aux2= dfM_aux[dfM_aux[\"Cst\"] == cst_aux-1]\n", " dfM_aux2= dfM_aux2.sort_values(by=['TH'])\n", " dfM_aux = dfM_aux[dfM_aux[\"Cst\"] == cst_aux]\n", " dfM_aux= dfM_aux.sort_values(by=['TH'])\n", " index1_aux = dfM_aux.iloc[4][\"index\"]\n", " index2_aux = dfM_aux.iloc[5][\"index\"]\n", " \n", " # Comprobar que es un metodo asincrono\n", " if cst_aux == 1 or cst_aux == 3:\n", " value_aux1 = dfM_aux[dfM_aux[\"index\"] == index1_aux]['TC'].values\n", " value_aux2 = dfM_aux[dfM_aux[\"index\"] == index2_aux]['TC'].values\n", " valueS_aux1 = dfM_aux2.iloc[4]['TC']\n", " valueS_aux2 = dfM_aux2.iloc[5]['TC']\n", " value1_aux = (value_aux1 + value_aux2) / 2\n", " value2_aux = (value_aux1/valueS_aux1 + value_aux2/valueS_aux2) / 2\n", " else:\n", " value1_aux = dfM_aux['TC'].median()\n", " value2_aux = 1\n", " tc_list.append(float(value1_aux))\n", " alpha_list.append(float(value2_aux))\n", " \n", " value_aux1 = dfLT_aux[dfLT_aux[\"index\"] == index1_aux]['ItA'].values\n", " value_aux2 = dfLT_aux[dfLT_aux[\"index\"] == index2_aux]['ItA'].values\n", " value3_aux = (value_aux1 + value_aux2) / 2\n", " ita_list.append(int(value3_aux))\n", " \n", " if cst_aux == 1 or cst_aux == 3:\n", " iter_time_aux1 = dfLT_aux[dfLT_aux[\"index\"] == index1_aux]['Time'].values\n", " iter_time_aux2 = dfLT_aux[dfLT_aux[\"index\"] == index2_aux]['Time'].values\n", " if not time_constant:\n", " iter_time_aux1 = (iter_time_aux1 / np_aux) / speedup\n", " iter_time_aux2 = (iter_time_aux2 / np_aux) / speedup\n", " iter_Atime_aux1 = dfLT_aux[dfLT_aux[\"index\"] == index1_aux]['TiA'].values\n", " iter_Atime_aux2 = dfLT_aux[dfLT_aux[\"index\"] == index2_aux]['TiA'].values\n", " value4_aux = (iter_Atime_aux1/iter_time_aux1 + iter_Atime_aux1/iter_time_aux2) / 2\n", " else:\n", " value4_aux = 1\n", " omega_list.append(float(value4_aux))\n", "grouped_aggM['TC_A'] = tc_list\n", "grouped_aggM['ItA'] = ita_list\n", "grouped_aggM['Alpha_A'] = alpha_list\n", "grouped_aggM['Omega_A'] = omega_list" ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [], "source": [ "coherent_check_df = grouped_aggL.copy()\n", "# Añadir suma total de iteraciones\n", "coherent_check_df['Sum'] = 0\n", "coherent_check_df.loc[(1,slice(None)),'Sum'] = grouped_aggLT[(grouped_aggLT['Sum'] != 0)].loc[(slice(None)),'Sum'].values\n", "coherent_check_df = coherent_check_df[(coherent_check_df['Sum'] != 0)]\n", "# Añadir tiempos TE y TC\n", "coherent_check_df['TE'] = 0\n", "coherent_check_df['TEA'] = 0\n", "coherent_check_df['TR'] = 0\n", "coherent_check_df['TRA'] = 0\n", "for cst_aux in [1,3]:\n", " coherent_check_df.loc[(1,2,0,cst_aux,slice(None)),'TE'] = grouped_aggG2.loc[('2,2',0,cst_aux-1,slice(None)),'TE'].values\n", " coherent_check_df.loc[(1,2,0,cst_aux,slice(None)),'TR'] = grouped_aggM.loc[('2,2',0,cst_aux-1,slice(None)),'TC'].values\n", " coherent_check_df.loc[(1,2,0,cst_aux,slice(None)),'TEA'] = grouped_aggG2.loc[('2,2',0,cst_aux,slice(None)),'TE'].values\n", " coherent_check_df.loc[(1,2,0,cst_aux,slice(None)),'TRA'] = grouped_aggM.loc[('2,2',0,cst_aux,slice(None)),'TC'].values\n", "# Calcular tiempos teoricos\n", "#coherent_check_df['Teorico-S'] = coherent_check_df['Ti'] * 3 + coherent_check_df['TR'] + TIEMPOITERNS * 97\n", "#coherent_check_df['Rel-S'] = np.round(coherent_check_df['Teorico-S'] / coherent_check_df['TE'],2)\n", "#coherent_check_df['Teorico-A'] = coherent_check_df['Ti'] * 3 + coherent_check_df['Sum'] + TIEMPOITERNS * (97 - coherent_check_df['Iters'])\n", "#coherent_check_df['Rel-A'] = np.round(coherent_check_df['Teorico-A'] / coherent_check_df['TEA'],2)\n", "coherent_check_df=coherent_check_df.droplevel('Tt').droplevel('%Async').droplevel('Dist')\n", "for cst_aux in [1,3]:\n", " for css_aux in [0,1]:\n", " aux_df = coherent_check_df.loc[(cst_aux, css_aux, slice(None))]\n", " aux_df.to_excel(\"coherent\"+str(cst_aux)+\"_\"+str(css_aux)+\".xlsx\")" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [], "source": [ "grouped_aggL.to_excel(\"resultL.xlsx\") \n", "grouped_aggLT.to_excel(\"resultLT.xlsx\")\n", "dfLT.to_excel(\"resultLT_all.xlsx\")\n", "grouped_aggM.to_excel(\"resultM.xlsx\") \n", "grouped_aggG2.to_excel(\"resultG.xlsx\") " ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | \n", " | \n", " | \n", " | \n", " | \n", " | Sum | \n", "ItA | \n", "
---|---|---|---|---|---|---|---|
Dist | \n", "%Async | \n", "Cst | \n", "Css | \n", "NP | \n", "NS | \n", "\n", " | \n", " |
2 | \n", "0.0 | \n", "0 | \n", "0 | \n", "1 | \n", "10 | \n", "0.000000 | \n", "0.0 | \n", "
20 | \n", "0.000000 | \n", "0.0 | \n", "|||||
40 | \n", "0.000000 | \n", "0.0 | \n", "|||||
80 | \n", "0.000000 | \n", "0.0 | \n", "|||||
120 | \n", "0.000000 | \n", "0.0 | \n", "|||||
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "||
3 | \n", "1 | \n", "120 | \n", "1 | \n", "0.216691 | \n", "3.0 | \n", "||
10 | \n", "0.271795 | \n", "3.5 | \n", "|||||
20 | \n", "0.295311 | \n", "3.5 | \n", "|||||
40 | \n", "0.204900 | \n", "3.0 | \n", "|||||
80 | \n", "0.226526 | \n", "3.0 | \n", "
240 rows × 2 columns
\n", "\n", " | N | \n", "%Async | \n", "NP | \n", "N_par | \n", "NS | \n", "Dist | \n", "Compute_tam | \n", "Comm_tam | \n", "Cst | \n", "Css | \n", "Time | \n", "Iters | \n", "Ti | \n", "Sum | \n", "ItA | \n", "TiA | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "0 | \n", "0.0 | \n", "40 | \n", "0 | \n", "10 | \n", "2 | \n", "100000 | \n", "0 | \n", "3 | \n", "0 | \n", "4.0 | \n", "3 | \n", "(0.225269, 0.102594) | \n", "0.327863 | \n", "2 | \n", "0.163932 | \n", "
1 | \n", "0 | \n", "0.0 | \n", "40 | \n", "0 | \n", "10 | \n", "2 | \n", "100000 | \n", "0 | \n", "3 | \n", "0 | \n", "4.0 | \n", "3 | \n", "(0.197712, 0.111945) | \n", "0.309657 | \n", "2 | \n", "0.154829 | \n", "
2 | \n", "0 | \n", "0.0 | \n", "40 | \n", "0 | \n", "10 | \n", "2 | \n", "100000 | \n", "0 | \n", "3 | \n", "0 | \n", "4.0 | \n", "3 | \n", "(0.172556,) | \n", "0.172556 | \n", "1 | \n", "0.172556 | \n", "
3 | \n", "0 | \n", "0.0 | \n", "40 | \n", "0 | \n", "10 | \n", "2 | \n", "100000 | \n", "0 | \n", "3 | \n", "0 | \n", "4.0 | \n", "3 | \n", "(0.208798, 0.101674) | \n", "0.310472 | \n", "2 | \n", "0.155236 | \n", "
4 | \n", "0 | \n", "0.0 | \n", "40 | \n", "0 | \n", "10 | \n", "2 | \n", "100000 | \n", "0 | \n", "3 | \n", "0 | \n", "4.0 | \n", "3 | \n", "(0.169751, 0.099995) | \n", "0.269746 | \n", "2 | \n", "0.134873 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
2395 | \n", "0 | \n", "0.0 | \n", "120 | \n", "0 | \n", "10 | \n", "2 | \n", "100000 | \n", "0 | \n", "3 | \n", "0 | \n", "4.0 | \n", "3 | \n", "(0.061279, 0.086562, 0.102954, 0.064273) | \n", "0.315068 | \n", "4 | \n", "0.075417 | \n", "
2396 | \n", "0 | \n", "0.0 | \n", "120 | \n", "0 | \n", "10 | \n", "2 | \n", "100000 | \n", "0 | \n", "3 | \n", "0 | \n", "4.0 | \n", "3 | \n", "(0.065522, 0.090022, 0.089555, 0.069523) | \n", "0.314622 | \n", "4 | \n", "0.079539 | \n", "
2397 | \n", "0 | \n", "0.0 | \n", "120 | \n", "0 | \n", "10 | \n", "2 | \n", "100000 | \n", "0 | \n", "3 | \n", "0 | \n", "4.0 | \n", "3 | \n", "(0.065145, 0.10315, 0.110737, 0.085012, 0.093,... | \n", "1.037177 | \n", "11 | \n", "0.098615 | \n", "
2398 | \n", "0 | \n", "0.0 | \n", "120 | \n", "0 | \n", "10 | \n", "2 | \n", "100000 | \n", "0 | \n", "3 | \n", "0 | \n", "4.0 | \n", "3 | \n", "(0.069027, 0.098036, 0.125989, 0.112365, 0.109... | \n", "0.998392 | \n", "10 | \n", "0.103513 | \n", "
2399 | \n", "0 | \n", "0.0 | \n", "120 | \n", "0 | \n", "10 | \n", "2 | \n", "100000 | \n", "0 | \n", "3 | \n", "0 | \n", "4.0 | \n", "3 | \n", "(0.065019, 0.091227, 0.065016) | \n", "0.221262 | \n", "3 | \n", "0.065019 | \n", "
2400 rows × 16 columns
\n", "\n", " | \n", " | TC | \n", "TH | \n", "TS | \n", "TA | \n", "TR | \n", "alpha | \n", "TC_A | \n", "ItA | \n", "Alpha_A | \n", "Omega_A | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|
NP | \n", "NS | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
1 | \n", "10 | \n", "0.283736 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.283736 | \n", "1.0 | \n", "0.283736 | \n", "0 | \n", "1.0 | \n", "1.0 | \n", "
20 | \n", "0.716209 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.716209 | \n", "1.0 | \n", "0.716209 | \n", "0 | \n", "1.0 | \n", "1.0 | \n", "|
40 | \n", "0.798951 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.798951 | \n", "1.0 | \n", "0.798951 | \n", "0 | \n", "1.0 | \n", "1.0 | \n", "|
80 | \n", "0.931771 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.931771 | \n", "1.0 | \n", "0.931771 | \n", "0 | \n", "1.0 | \n", "1.0 | \n", "|
120 | \n", "0.992033 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.992033 | \n", "1.0 | \n", "0.992033 | \n", "0 | \n", "1.0 | \n", "1.0 | \n", "|
10 | \n", "1 | \n", "0.000982 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.000982 | \n", "1.0 | \n", "0.000982 | \n", "0 | \n", "1.0 | \n", "1.0 | \n", "
20 | \n", "0.477040 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.477040 | \n", "1.0 | \n", "0.477040 | \n", "0 | \n", "1.0 | \n", "1.0 | \n", "|
40 | \n", "0.766185 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.766185 | \n", "1.0 | \n", "0.766185 | \n", "0 | \n", "1.0 | \n", "1.0 | \n", "|
80 | \n", "0.860920 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.860920 | \n", "1.0 | \n", "0.860920 | \n", "0 | \n", "1.0 | \n", "1.0 | \n", "|
120 | \n", "0.890894 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.890894 | \n", "1.0 | \n", "0.890894 | \n", "0 | \n", "1.0 | \n", "1.0 | \n", "|
20 | \n", "1 | \n", "0.001005 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.001005 | \n", "1.0 | \n", "0.001005 | \n", "0 | \n", "1.0 | \n", "1.0 | \n", "
10 | \n", "0.001025 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.001025 | \n", "1.0 | \n", "0.001025 | \n", "0 | \n", "1.0 | \n", "1.0 | \n", "|
40 | \n", "0.790193 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.790193 | \n", "1.0 | \n", "0.790193 | \n", "0 | \n", "1.0 | \n", "1.0 | \n", "|
80 | \n", "0.864170 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.864170 | \n", "1.0 | \n", "0.864170 | \n", "0 | \n", "1.0 | \n", "1.0 | \n", "|
120 | \n", "1.088929 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "1.088929 | \n", "1.0 | \n", "1.088929 | \n", "0 | \n", "1.0 | \n", "1.0 | \n", "|
40 | \n", "1 | \n", "0.029802 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.029802 | \n", "1.0 | \n", "0.029802 | \n", "0 | \n", "1.0 | \n", "1.0 | \n", "
10 | \n", "0.024519 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.024519 | \n", "1.0 | \n", "0.024519 | \n", "0 | \n", "1.0 | \n", "1.0 | \n", "|
20 | \n", "0.116366 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.116366 | \n", "1.0 | \n", "0.116366 | \n", "0 | \n", "1.0 | \n", "1.0 | \n", "|
80 | \n", "0.893692 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.893692 | \n", "1.0 | \n", "0.893692 | \n", "0 | \n", "1.0 | \n", "1.0 | \n", "|
120 | \n", "0.922904 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.922904 | \n", "1.0 | \n", "0.922904 | \n", "0 | \n", "1.0 | \n", "1.0 | \n", "|
80 | \n", "1 | \n", "0.217198 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.217198 | \n", "1.0 | \n", "0.217198 | \n", "0 | \n", "1.0 | \n", "1.0 | \n", "
10 | \n", "0.180846 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.180846 | \n", "1.0 | \n", "0.180846 | \n", "0 | \n", "1.0 | \n", "1.0 | \n", "|
20 | \n", "0.149038 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.149038 | \n", "1.0 | \n", "0.149038 | \n", "0 | \n", "1.0 | \n", "1.0 | \n", "|
40 | \n", "0.148336 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.148336 | \n", "1.0 | \n", "0.148336 | \n", "0 | \n", "1.0 | \n", "1.0 | \n", "|
120 | \n", "0.905912 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.905912 | \n", "1.0 | \n", "0.905912 | \n", "0 | \n", "1.0 | \n", "1.0 | \n", "|
120 | \n", "1 | \n", "0.231024 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.231024 | \n", "1.0 | \n", "0.231024 | \n", "0 | \n", "1.0 | \n", "1.0 | \n", "
10 | \n", "0.148412 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.148412 | \n", "1.0 | \n", "0.148412 | \n", "0 | \n", "1.0 | \n", "1.0 | \n", "|
20 | \n", "0.177781 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.177781 | \n", "1.0 | \n", "0.177781 | \n", "0 | \n", "1.0 | \n", "1.0 | \n", "|
40 | \n", "0.350567 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.350567 | \n", "1.0 | \n", "0.350567 | \n", "0 | \n", "1.0 | \n", "1.0 | \n", "|
80 | \n", "0.156000 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.156000 | \n", "1.0 | \n", "0.156000 | \n", "0 | \n", "1.0 | \n", "1.0 | \n", "
\n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | Ti | \n", "Iters | \n", "To | \n", "Iters2 | \n", "alpha | \n", "alpha2 | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|
Tt | \n", "Dist | \n", "%Async | \n", "Cst | \n", "Css | \n", "NP | \n", "NS | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
0.0 | \n", "2 | \n", "0.0 | \n", "0 | \n", "0 | \n", "1 | \n", "10 | \n", "3.999165 | \n", "3.0 | \n", "4485.0 | \n", "3.0 | \n", "1.000000 | \n", "30 | \n", "
20 | \n", "3.999194 | \n", "3.0 | \n", "4485.0 | \n", "3.0 | \n", "1.000000 | \n", "30 | \n", "||||||
40 | \n", "3.999186 | \n", "3.0 | \n", "4485.0 | \n", "3.0 | \n", "1.000000 | \n", "30 | \n", "||||||
80 | \n", "3.999236 | \n", "3.0 | \n", "4485.0 | \n", "3.0 | \n", "1.000000 | \n", "30 | \n", "||||||
120 | \n", "3.999194 | \n", "3.0 | \n", "4485.0 | \n", "3.0 | \n", "1.000000 | \n", "30 | \n", "||||||
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
1.0 | \n", "2 | \n", "0.0 | \n", "3 | \n", "1 | \n", "120 | \n", "1 | \n", "0.070046 | \n", "3.0 | \n", "37.0 | \n", "3.0 | \n", "2.108073 | \n", "30 | \n", "
10 | \n", "0.075896 | \n", "4.0 | \n", "37.0 | \n", "4.0 | \n", "2.292376 | \n", "40 | \n", "||||||
20 | \n", "0.090617 | \n", "5.0 | \n", "37.0 | \n", "5.0 | \n", "2.733503 | \n", "54 | \n", "||||||
40 | \n", "0.069103 | \n", "4.0 | \n", "37.0 | \n", "4.0 | \n", "2.089061 | \n", "37 | \n", "||||||
80 | \n", "0.068959 | \n", "4.0 | \n", "37.0 | \n", "4.0 | \n", "2.083952 | \n", "39 | \n", "
360 rows × 6 columns
\n", "