2021-02-23 14:27:26 +00:00
|
|
|
{
|
|
|
|
"cells": [
|
|
|
|
{
|
|
|
|
"cell_type": "markdown",
|
|
|
|
"metadata": {},
|
|
|
|
"source": [
|
|
|
|
"# Statuses total time\n",
|
|
|
|
"Sums the times instances spend in one of each states in the diagram saved as\n",
|
|
|
|
"\"statuses.drawio\". Unknown times are summed as \"unknown\""
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
2021-05-26 19:46:30 +00:00
|
|
|
"execution_count": 31,
|
2021-02-23 14:27:26 +00:00
|
|
|
"metadata": {},
|
|
|
|
"outputs": [],
|
|
|
|
"source": [
|
|
|
|
"import json\n",
|
|
|
|
"import sys\n",
|
|
|
|
"import pandas\n",
|
|
|
|
"import seaborn as sns\n",
|
|
|
|
"import matplotlib as mpl\n",
|
2021-05-19 19:04:11 +00:00
|
|
|
"mpl.use(\"pgf\")\n",
|
|
|
|
"mpl.rcParams.update({\n",
|
|
|
|
" \"pgf.texsystem\": \"pdflatex\",\n",
|
|
|
|
" 'font.family': 'serif',\n",
|
|
|
|
" 'text.usetex': True,\n",
|
|
|
|
" 'pgf.rcfonts': False,\n",
|
|
|
|
"})\n",
|
2021-05-26 19:46:30 +00:00
|
|
|
"import matplotlib.pyplot as plt\n",
|
|
|
|
"pandas.options.display.float_format = '{:,.3f}'.format"
|
2021-02-23 14:27:26 +00:00
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
2021-05-26 19:46:30 +00:00
|
|
|
"execution_count": 32,
|
2021-02-23 14:27:26 +00:00
|
|
|
"metadata": {},
|
|
|
|
"outputs": [],
|
|
|
|
"source": [
|
|
|
|
"# QUEUE = set([\"0-2\", \"1-2\", \"assumptions:\", \"1-1\", \"1-0\"])\n",
|
|
|
|
"# RESUB = set([\"4-1\", \"4-0\", \"5-1\", \"6-1\", \"7-1\", \"8-1\", \"assumptions:\", \"5-0\", \"6-0\", \"7-0\", \\\n",
|
|
|
|
"# \"8-0\"])\n",
|
|
|
|
"# READY = set([\"0-3\", \"2-3\", \"0-9\", \"2-9\", \"9-3\", \"2-7\", \"2-8\", \"9-7\", \"9-8\", \\\n",
|
|
|
|
"# \"9-9\", \"0-7\", \"0-8\", \"assumptions:\", \"2-0\", \"2-4\", \"9-4\", \"9-1\"])\n",
|
|
|
|
"# RUN = set([\"3-1\", \"3-10\", \"3-4\", \"3-5\", \"3-6\", \"3-7\", \"3-8\", \"10-5\", \"10-6\", \\\n",
|
|
|
|
"# \"10-7\", \"10-8\", \"10-4\", \"10-10\", \"10-1\", \"assumptions:\", \"3-0\", \"10-0\", \"3-3\"])\n",
|
|
|
|
"\n",
|
|
|
|
"QUEUE = set([\"0-2\", \"1-2\"])\n",
|
|
|
|
"ENDED = set([\"5-1\", \"6-1\", \"7-1\", \"8-1\"])\n",
|
|
|
|
"READY = set([\"0-3\", \"0-9\", \"2-3\", \"2-9\", \"9-3\", \"9-9\"])\n",
|
|
|
|
"RUN = set([\"3-1\", \"3-4\", \"3-5\", \"3-6\", \"3-7\", \"3-8\", \"3-10\", \"10-1\", \"10-4\", \"10-5\", \"10-6\", \"10-7\", \"10-8\", \"10-10\"])\n",
|
|
|
|
"EVICT = set([\"4-1\", \"4-0\"])"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
2021-05-26 19:46:30 +00:00
|
|
|
"execution_count": 33,
|
2021-05-12 12:15:49 +00:00
|
|
|
"metadata": {},
|
|
|
|
"outputs": [],
|
|
|
|
"source": [
|
2021-05-26 19:46:30 +00:00
|
|
|
"DIR = \"/Users/maggicl/git/bachelorThesis\""
|
2021-05-12 12:15:49 +00:00
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
2021-05-26 19:46:30 +00:00
|
|
|
"execution_count": 34,
|
2021-02-23 14:27:26 +00:00
|
|
|
"metadata": {},
|
|
|
|
"outputs": [],
|
|
|
|
"source": [
|
|
|
|
"def to_name(et):\n",
|
|
|
|
" if et == 4: \n",
|
|
|
|
" return 'EVICT'\n",
|
|
|
|
" elif et == 5: \n",
|
|
|
|
" return 'FAIL'\n",
|
|
|
|
" elif et == 6:\n",
|
|
|
|
" return 'FINISH'\n",
|
|
|
|
" elif et == 7:\n",
|
|
|
|
" return 'KILL'\n",
|
|
|
|
" elif et == 8:\n",
|
|
|
|
" return 'LOST'\n",
|
|
|
|
" else:\n",
|
|
|
|
" return 'NO_TERM'\n",
|
|
|
|
"\n",
|
2021-02-23 15:33:21 +00:00
|
|
|
"def create_df(cluster):\n",
|
|
|
|
" obj = {}\n",
|
|
|
|
"\n",
|
2021-05-12 12:15:49 +00:00
|
|
|
" filename = DIR + \"/machine_time_waste/\" + cluster + \"_state_changes.json\"\n",
|
2021-02-23 15:33:21 +00:00
|
|
|
"\n",
|
|
|
|
" with open(filename, 'r') as f:\n",
|
|
|
|
" obj = json.loads(f.read())\n",
|
2021-02-23 14:27:26 +00:00
|
|
|
" \n",
|
2021-02-23 15:33:21 +00:00
|
|
|
" data = {'Last termination': [], 'time_type': [], 'time_ms': []}\n",
|
2021-05-19 19:04:11 +00:00
|
|
|
" totals = 0\n",
|
2021-02-23 14:27:26 +00:00
|
|
|
" \n",
|
2021-02-23 15:33:21 +00:00
|
|
|
" def add_record(et, tt, time):\n",
|
|
|
|
" data['Last termination'].append(to_name(et))\n",
|
|
|
|
" data['time_type'].append(tt)\n",
|
2021-05-12 12:15:49 +00:00
|
|
|
" data['time_ms'].append(time / 1000)\n",
|
2021-02-23 15:33:21 +00:00
|
|
|
"\n",
|
|
|
|
" for pair in obj[\"data\"]:\n",
|
|
|
|
" qt = et = rt = xt = vt = ut = 0\n",
|
|
|
|
"\n",
|
|
|
|
" pair[0] = 0 if pair[0] is None else pair[0]\n",
|
2021-05-19 19:04:11 +00:00
|
|
|
" \n",
|
|
|
|
" # Filter useless terms\n",
|
|
|
|
" if pair[0] not in [4,5,6,7]:\n",
|
|
|
|
" continue\n",
|
2021-02-23 15:33:21 +00:00
|
|
|
"\n",
|
|
|
|
" x = pair[1]\n",
|
|
|
|
" for k in x.keys():\n",
|
|
|
|
" if k in QUEUE:\n",
|
|
|
|
" qt += x[k]\n",
|
|
|
|
" elif k in ENDED:\n",
|
|
|
|
" et += x[k]\n",
|
|
|
|
" elif k in READY:\n",
|
|
|
|
" rt += x[k]\n",
|
|
|
|
" elif k in RUN:\n",
|
|
|
|
" xt += x[k]\n",
|
|
|
|
" elif k in EVICT:\n",
|
|
|
|
" vt += x[k]\n",
|
|
|
|
" else:\n",
|
|
|
|
" ut += x[k]\n",
|
|
|
|
"\n",
|
2021-05-19 19:04:11 +00:00
|
|
|
" add_record(pair[0], 'Queue', qt + rt)\n",
|
|
|
|
" add_record(pair[0], 'Resubmission', et + vt)\n",
|
|
|
|
" add_record(pair[0], 'Running', xt)\n",
|
|
|
|
" add_record(pair[0], 'Unknown', ut)\n",
|
|
|
|
" totals += (qt + et + rt + xt + vt + ut) / 1000\n",
|
2021-02-23 15:33:21 +00:00
|
|
|
" \n",
|
|
|
|
" return (pandas.DataFrame(data, columns=['Last termination', 'time_type', 'time_ms']), totals)"
|
2021-02-23 14:27:26 +00:00
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cell_type": "markdown",
|
|
|
|
"metadata": {},
|
|
|
|
"source": [
|
|
|
|
"## Graph 1: Absolute total time spent per status per \"last termination\" type"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
2021-05-26 19:46:30 +00:00
|
|
|
"execution_count": 35,
|
2021-02-23 15:33:21 +00:00
|
|
|
"metadata": {},
|
|
|
|
"outputs": [],
|
|
|
|
"source": [
|
|
|
|
"def graph_1(df, cluster):\n",
|
2021-05-12 12:15:49 +00:00
|
|
|
" #sns.set_theme(style=\"ticks\")\n",
|
2021-02-23 15:33:21 +00:00
|
|
|
" g = sns.histplot(df, x=\"Last termination\", weights=\"time_ms\", shrink=.5,\n",
|
2021-05-12 12:15:49 +00:00
|
|
|
" hue=\"time_type\", multiple=\"dodge\", discrete=True, legend=False)\n",
|
2021-02-23 15:33:21 +00:00
|
|
|
" g.set_yscale(\"log\")\n",
|
2021-05-12 12:15:49 +00:00
|
|
|
" g.set_ylabel(\"Total (milliseconds)\") \n",
|
2021-02-23 15:33:21 +00:00
|
|
|
" g.set_title(\"Cluster \" + cluster + \": Absolute total time spent per status per \\\"last termination\\\" type\")\n",
|
|
|
|
" #g.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.)"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cell_type": "markdown",
|
|
|
|
"metadata": {},
|
|
|
|
"source": [
|
|
|
|
"## Graph 2: Relative total time spent per status per \"last termination\" type\n",
|
|
|
|
"\n",
|
|
|
|
"Values are proportions on total for each \"last termination\" type"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
2021-05-26 19:46:30 +00:00
|
|
|
"execution_count": 36,
|
2021-02-23 15:33:21 +00:00
|
|
|
"metadata": {},
|
|
|
|
"outputs": [],
|
|
|
|
"source": [
|
|
|
|
"def graph_2(df, cluster, totals):\n",
|
|
|
|
" df = df.copy()\n",
|
2021-05-19 19:04:11 +00:00
|
|
|
" for i in [4,5,6,7]:\n",
|
2021-05-22 14:31:35 +00:00
|
|
|
" df.loc[df[\"Last termination\"] == to_name(i), \"time_ms\"] = 100 * df[\"time_ms\"][df[\"Last termination\"] == to_name(i)] / totals\n",
|
2021-02-23 15:33:21 +00:00
|
|
|
"\n",
|
2021-05-19 19:04:11 +00:00
|
|
|
" df.rename(columns = {'time_type': 'Execution phase'}, inplace = True)\n",
|
|
|
|
" \n",
|
2021-05-26 19:46:30 +00:00
|
|
|
" print(\"Cluster \"+cluster)\n",
|
|
|
|
" print(df)\n",
|
|
|
|
" \n",
|
2021-02-23 15:33:21 +00:00
|
|
|
" h = sns.histplot(df, x=\"Last termination\", \n",
|
|
|
|
" weights=\"time_ms\", shrink=.5, common_bins=True,\n",
|
2021-05-19 19:04:11 +00:00
|
|
|
" hue=\"Execution phase\", multiple=\"stack\", discrete=True, legend=True)\n",
|
2021-05-22 14:31:35 +00:00
|
|
|
" h.set_yticks([0,20,40,60,80,100])\n",
|
|
|
|
" h.set_ylabel(\"Time spent [%]\") \n",
|
|
|
|
" h.set_xlabel(\"Task termination\") \n",
|
2021-02-23 15:33:21 +00:00
|
|
|
" #ax.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.)\n",
|
2021-05-22 14:31:35 +00:00
|
|
|
" if cluster == \"2011\":\n",
|
|
|
|
" h.set_title(\"2011 data\")\n",
|
|
|
|
" elif cluster == \"all\":\n",
|
|
|
|
" h.set_title(\"2019 data\")\n",
|
|
|
|
" else:\n",
|
|
|
|
" h.set_title((\"Cluster \" + cluster.upper()) if cluster != \"all\" else \"All clusters\" if cluster == \"all\" else \"2011 traces\")"
|
2021-02-23 15:33:21 +00:00
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
2021-05-26 19:46:30 +00:00
|
|
|
"execution_count": 37,
|
2021-02-23 14:27:26 +00:00
|
|
|
"metadata": {},
|
|
|
|
"outputs": [
|
|
|
|
{
|
2021-05-19 19:04:11 +00:00
|
|
|
"name": "stdout",
|
|
|
|
"output_type": "stream",
|
|
|
|
"text": [
|
2021-05-26 19:46:30 +00:00
|
|
|
"Cluster a\n",
|
|
|
|
" Last termination Execution phase time_ms\n",
|
|
|
|
"0 EVICT Queue 0.051\n",
|
|
|
|
"1 EVICT Resubmission 0.000\n",
|
|
|
|
"2 EVICT Running 1.564\n",
|
|
|
|
"3 EVICT Unknown 0.164\n",
|
|
|
|
"4 FAIL Queue 0.046\n",
|
|
|
|
"5 FAIL Resubmission 0.000\n",
|
|
|
|
"6 FAIL Running 0.353\n",
|
|
|
|
"7 FAIL Unknown 0.136\n",
|
|
|
|
"8 FINISH Queue 1.612\n",
|
|
|
|
"9 FINISH Resubmission 0.000\n",
|
|
|
|
"10 FINISH Running 1.841\n",
|
|
|
|
"11 FINISH Unknown 1.207\n",
|
|
|
|
"12 KILL Queue 3.637\n",
|
|
|
|
"13 KILL Resubmission 0.006\n",
|
|
|
|
"14 KILL Running 30.676\n",
|
|
|
|
"15 KILL Unknown 58.706\n",
|
|
|
|
"Cluster b\n",
|
|
|
|
" Last termination Execution phase time_ms\n",
|
|
|
|
"0 EVICT Queue 0.010\n",
|
|
|
|
"1 EVICT Resubmission 0.000\n",
|
|
|
|
"2 EVICT Running 0.971\n",
|
|
|
|
"3 EVICT Unknown 0.483\n",
|
|
|
|
"4 FAIL Queue 0.003\n",
|
|
|
|
"5 FAIL Resubmission 0.000\n",
|
|
|
|
"6 FAIL Running 0.282\n",
|
|
|
|
"7 FAIL Unknown 0.067\n",
|
|
|
|
"8 FINISH Queue 0.231\n",
|
|
|
|
"9 FINISH Resubmission 0.000\n",
|
|
|
|
"10 FINISH Running 2.729\n",
|
|
|
|
"11 FINISH Unknown 3.404\n",
|
|
|
|
"12 KILL Queue 1.826\n",
|
|
|
|
"13 KILL Resubmission 0.001\n",
|
|
|
|
"14 KILL Running 19.337\n",
|
|
|
|
"15 KILL Unknown 70.655\n",
|
|
|
|
"Cluster c\n",
|
|
|
|
" Last termination Execution phase time_ms\n",
|
|
|
|
"0 EVICT Queue 0.010\n",
|
|
|
|
"1 EVICT Resubmission 0.000\n",
|
|
|
|
"2 EVICT Running 1.401\n",
|
|
|
|
"3 EVICT Unknown 0.225\n",
|
|
|
|
"4 FAIL Queue 0.008\n",
|
|
|
|
"5 FAIL Resubmission 0.000\n",
|
|
|
|
"6 FAIL Running 0.309\n",
|
|
|
|
"7 FAIL Unknown 0.161\n",
|
|
|
|
"8 FINISH Queue 0.388\n",
|
|
|
|
"9 FINISH Resubmission 0.000\n",
|
|
|
|
"10 FINISH Running 3.824\n",
|
|
|
|
"11 FINISH Unknown 1.635\n",
|
|
|
|
"12 KILL Queue 2.376\n",
|
|
|
|
"13 KILL Resubmission 0.007\n",
|
|
|
|
"14 KILL Running 20.472\n",
|
|
|
|
"15 KILL Unknown 69.183\n",
|
|
|
|
"Cluster d\n",
|
|
|
|
" Last termination Execution phase time_ms\n",
|
|
|
|
"0 EVICT Queue 0.005\n",
|
|
|
|
"1 EVICT Resubmission 0.000\n",
|
|
|
|
"2 EVICT Running 1.542\n",
|
|
|
|
"3 EVICT Unknown 0.265\n",
|
|
|
|
"4 FAIL Queue 0.001\n",
|
|
|
|
"5 FAIL Resubmission 0.000\n",
|
|
|
|
"6 FAIL Running 0.425\n",
|
|
|
|
"7 FAIL Unknown 0.101\n",
|
|
|
|
"8 FINISH Queue 0.160\n",
|
|
|
|
"9 FINISH Resubmission 0.000\n",
|
|
|
|
"10 FINISH Running 2.334\n",
|
|
|
|
"11 FINISH Unknown 2.546\n",
|
|
|
|
"12 KILL Queue 2.664\n",
|
|
|
|
"13 KILL Resubmission 0.020\n",
|
|
|
|
"14 KILL Running 16.846\n",
|
|
|
|
"15 KILL Unknown 73.091\n",
|
|
|
|
"Cluster e\n",
|
|
|
|
" Last termination Execution phase time_ms\n",
|
|
|
|
"0 EVICT Queue 0.000\n",
|
|
|
|
"1 EVICT Resubmission 0.000\n",
|
|
|
|
"2 EVICT Running 0.472\n",
|
|
|
|
"3 EVICT Unknown 0.195\n",
|
|
|
|
"4 FAIL Queue 0.000\n",
|
|
|
|
"5 FAIL Resubmission 0.000\n",
|
|
|
|
"6 FAIL Running 0.063\n",
|
|
|
|
"7 FAIL Unknown 0.011\n",
|
|
|
|
"8 FINISH Queue 0.021\n",
|
|
|
|
"9 FINISH Resubmission 0.000\n",
|
|
|
|
"10 FINISH Running 1.182\n",
|
|
|
|
"11 FINISH Unknown 1.013\n",
|
|
|
|
"12 KILL Queue 3.858\n",
|
|
|
|
"13 KILL Resubmission 0.001\n",
|
|
|
|
"14 KILL Running 8.414\n",
|
|
|
|
"15 KILL Unknown 84.769\n",
|
|
|
|
"Cluster f\n",
|
|
|
|
" Last termination Execution phase time_ms\n",
|
|
|
|
"0 EVICT Queue 0.001\n",
|
|
|
|
"1 EVICT Resubmission 0.000\n",
|
|
|
|
"2 EVICT Running 1.444\n",
|
|
|
|
"3 EVICT Unknown 0.457\n",
|
|
|
|
"4 FAIL Queue 0.000\n",
|
|
|
|
"5 FAIL Resubmission 0.000\n",
|
|
|
|
"6 FAIL Running 0.111\n",
|
|
|
|
"7 FAIL Unknown 0.052\n",
|
|
|
|
"8 FINISH Queue 0.313\n",
|
|
|
|
"9 FINISH Resubmission 0.000\n",
|
|
|
|
"10 FINISH Running 2.781\n",
|
|
|
|
"11 FINISH Unknown 2.736\n",
|
|
|
|
"12 KILL Queue 3.218\n",
|
|
|
|
"13 KILL Resubmission 0.004\n",
|
|
|
|
"14 KILL Running 12.836\n",
|
|
|
|
"15 KILL Unknown 76.047\n",
|
|
|
|
"Cluster g\n",
|
|
|
|
" Last termination Execution phase time_ms\n",
|
|
|
|
"0 EVICT Queue 0.002\n",
|
|
|
|
"1 EVICT Resubmission 0.000\n",
|
|
|
|
"2 EVICT Running 0.196\n",
|
|
|
|
"3 EVICT Unknown 0.064\n",
|
|
|
|
"4 FAIL Queue 0.007\n",
|
|
|
|
"5 FAIL Resubmission 0.000\n",
|
|
|
|
"6 FAIL Running 0.043\n",
|
|
|
|
"7 FAIL Unknown 0.015\n",
|
|
|
|
"8 FINISH Queue 0.019\n",
|
|
|
|
"9 FINISH Resubmission 0.000\n",
|
|
|
|
"10 FINISH Running 0.808\n",
|
|
|
|
"11 FINISH Unknown 1.541\n",
|
|
|
|
"12 KILL Queue 2.650\n",
|
|
|
|
"13 KILL Resubmission 0.001\n",
|
|
|
|
"14 KILL Running 5.116\n",
|
|
|
|
"15 KILL Unknown 89.538\n",
|
|
|
|
"Cluster h\n",
|
|
|
|
" Last termination Execution phase time_ms\n",
|
|
|
|
"0 EVICT Queue 0.001\n",
|
|
|
|
"1 EVICT Resubmission 0.000\n",
|
|
|
|
"2 EVICT Running 0.585\n",
|
|
|
|
"3 EVICT Unknown 0.200\n",
|
|
|
|
"4 FAIL Queue 0.000\n",
|
|
|
|
"5 FAIL Resubmission 0.000\n",
|
|
|
|
"6 FAIL Running 0.074\n",
|
|
|
|
"7 FAIL Unknown 0.025\n",
|
|
|
|
"8 FINISH Queue 0.194\n",
|
|
|
|
"9 FINISH Resubmission 0.000\n",
|
|
|
|
"10 FINISH Running 1.602\n",
|
|
|
|
"11 FINISH Unknown 1.255\n",
|
|
|
|
"12 KILL Queue 3.240\n",
|
|
|
|
"13 KILL Resubmission 0.000\n",
|
|
|
|
"14 KILL Running 8.055\n",
|
|
|
|
"15 KILL Unknown 84.770\n",
|
|
|
|
"Cluster all\n",
|
|
|
|
" Last termination Execution phase time_ms\n",
|
|
|
|
"0 EVICT Queue 0.007\n",
|
|
|
|
"1 EVICT Resubmission 0.000\n",
|
|
|
|
"2 EVICT Running 0.925\n",
|
|
|
|
"3 EVICT Unknown 0.248\n",
|
|
|
|
"4 FAIL Queue 0.006\n",
|
|
|
|
"5 FAIL Resubmission 0.000\n",
|
|
|
|
"6 FAIL Running 0.179\n",
|
|
|
|
"7 FAIL Unknown 0.061\n",
|
|
|
|
"8 FINISH Queue 0.288\n",
|
|
|
|
"9 FINISH Resubmission 0.000\n",
|
|
|
|
"10 FINISH Running 2.036\n",
|
|
|
|
"11 FINISH Unknown 1.867\n",
|
|
|
|
"12 KILL Queue 2.945\n",
|
|
|
|
"13 KILL Resubmission 0.004\n",
|
|
|
|
"14 KILL Running 13.493\n",
|
|
|
|
"15 KILL Unknown 77.941\n",
|
|
|
|
"Cluster 2011\n",
|
|
|
|
" Last termination Execution phase time_ms\n",
|
|
|
|
"0 EVICT Queue 2.500\n",
|
|
|
|
"1 EVICT Resubmission 0.000\n",
|
|
|
|
"2 EVICT Running 17.500\n",
|
|
|
|
"3 EVICT Unknown 0.000\n",
|
|
|
|
"4 FAIL Queue 0.000\n",
|
|
|
|
"5 FAIL Resubmission 0.000\n",
|
|
|
|
"6 FAIL Running 5.000\n",
|
|
|
|
"7 FAIL Unknown 0.000\n",
|
|
|
|
"8 FINISH Queue 1.000\n",
|
|
|
|
"9 FINISH Resubmission 0.000\n",
|
|
|
|
"10 FINISH Running 39.000\n",
|
|
|
|
"11 FINISH Unknown 0.000\n",
|
|
|
|
"12 KILL Queue 5.000\n",
|
|
|
|
"13 KILL Resubmission 1.000\n",
|
|
|
|
"14 KILL Running 30.000\n",
|
|
|
|
"15 KILL Unknown 0.000\n"
|
2021-05-19 19:04:11 +00:00
|
|
|
]
|
2021-02-23 14:27:26 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"source": [
|
2021-02-23 15:33:21 +00:00
|
|
|
"dft = None\n",
|
|
|
|
"tts = None\n",
|
2021-02-23 14:27:26 +00:00
|
|
|
"\n",
|
2021-05-22 14:31:35 +00:00
|
|
|
"for cluster in \"abcdefgh\":\n",
|
2021-02-23 15:33:21 +00:00
|
|
|
" df, totals = create_df(cluster)\n",
|
2021-05-12 12:15:49 +00:00
|
|
|
"\n",
|
2021-05-19 19:04:11 +00:00
|
|
|
" #plt.figure(figsize=(10,8))\n",
|
|
|
|
" #graph_1(df, cluster)\n",
|
|
|
|
" plt.figure(figsize=(4,3))\n",
|
2021-02-23 15:33:21 +00:00
|
|
|
" graph_2(df, cluster, totals)\n",
|
2021-05-22 14:31:35 +00:00
|
|
|
" plt.savefig('../report/figures/machine_time_waste/cluster_%s.pgf' % cluster, bbox_inches='tight')\n",
|
2021-02-23 15:33:21 +00:00
|
|
|
" \n",
|
|
|
|
" if dft is None:\n",
|
|
|
|
" dft = df\n",
|
|
|
|
" tts = totals\n",
|
|
|
|
" else:\n",
|
|
|
|
" dft.loc[:, \"time_ms\"] = dft[\"time_ms\"].add(df[\"time_ms\"], fill_value=0)\n",
|
2021-05-19 19:04:11 +00:00
|
|
|
" tts += totals\n",
|
|
|
|
"\n",
|
|
|
|
"#plt.figure(figsize=(10,8))\n",
|
|
|
|
"#graph_1(dft, \"all\")\n",
|
|
|
|
"plt.figure(figsize=(4,3))\n",
|
|
|
|
"graph_2(dft, \"all\", tts)\n",
|
2021-05-22 14:31:35 +00:00
|
|
|
"plt.savefig('../report/figures/machine_time_waste/cluster_all.pgf', bbox_inches='tight')\n",
|
2021-05-19 19:04:11 +00:00
|
|
|
"\n",
|
|
|
|
"d2011 = {'Last termination': [\"EVICT\"] * 4 + [\"FAIL\"] * 4 + [\"FINISH\"] * 4 + [\"KILL\"] * 4,\n",
|
|
|
|
" 'time_type': [\"Queue\", \"Resubmission\", \"Running\", \"Unknown\"] * 4,\n",
|
|
|
|
" 'time_ms': [2.5, 0., 17.5, 0, 0, 0, 5, 0, 1, 0, 39, 0, 5, 1, 30, 0]}\n",
|
2021-05-12 12:15:49 +00:00
|
|
|
"\n",
|
2021-05-19 19:04:11 +00:00
|
|
|
"d2011 = pandas.DataFrame(d2011, columns=['Last termination', 'time_type', 'time_ms'])\n",
|
|
|
|
"plt.figure(figsize=(4,3))\n",
|
|
|
|
"graph_2(d2011, \"2011\", 100)\n",
|
2021-05-22 14:31:35 +00:00
|
|
|
"plt.savefig('../report/figures/machine_time_waste/cluster_2011.pgf', bbox_inches='tight')\n"
|
2021-02-23 14:27:26 +00:00
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
2021-05-26 19:46:30 +00:00
|
|
|
"execution_count": 38,
|
2021-02-23 14:27:26 +00:00
|
|
|
"metadata": {},
|
|
|
|
"outputs": [
|
|
|
|
{
|
2021-05-19 19:04:11 +00:00
|
|
|
"name": "stdout",
|
|
|
|
"output_type": "stream",
|
|
|
|
"text": [
|
2021-05-26 19:46:30 +00:00
|
|
|
" Last termination time_type time_ms\n",
|
|
|
|
"0 EVICT Queue 0.000\n",
|
|
|
|
"1 EVICT Resubmission 0.000\n",
|
|
|
|
"2 EVICT Running 0.009\n",
|
|
|
|
"3 EVICT Unknown 0.002\n",
|
|
|
|
"4 FAIL Queue 0.000\n",
|
|
|
|
"5 FAIL Resubmission 0.000\n",
|
|
|
|
"6 FAIL Running 0.002\n",
|
|
|
|
"7 FAIL Unknown 0.001\n",
|
|
|
|
"8 FINISH Queue 0.003\n",
|
|
|
|
"9 FINISH Resubmission 0.000\n",
|
|
|
|
"10 FINISH Running 0.020\n",
|
|
|
|
"11 FINISH Unknown 0.019\n",
|
|
|
|
"12 KILL Queue 0.029\n",
|
|
|
|
"13 KILL Resubmission 0.000\n",
|
|
|
|
"14 KILL Running 0.135\n",
|
|
|
|
"15 KILL Unknown 0.779\n"
|
2021-05-19 19:04:11 +00:00
|
|
|
]
|
2021-02-23 14:27:26 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"source": [
|
2021-05-19 19:04:11 +00:00
|
|
|
"dft[\"time_ms\"] /= tts\n",
|
|
|
|
"print(dft)"
|
2021-02-23 14:27:26 +00:00
|
|
|
]
|
2021-05-12 12:15:49 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
|
|
|
"execution_count": null,
|
|
|
|
"metadata": {},
|
|
|
|
"outputs": [],
|
|
|
|
"source": []
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
|
|
|
"execution_count": null,
|
|
|
|
"metadata": {},
|
|
|
|
"outputs": [],
|
|
|
|
"source": []
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
|
|
|
"execution_count": null,
|
|
|
|
"metadata": {},
|
|
|
|
"outputs": [],
|
|
|
|
"source": []
|
2021-02-23 14:27:26 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"metadata": {
|
|
|
|
"kernelspec": {
|
2021-05-24 19:49:48 +00:00
|
|
|
"display_name": "Python 3",
|
2021-02-23 14:27:26 +00:00
|
|
|
"language": "python",
|
2021-05-24 19:49:48 +00:00
|
|
|
"name": "python3"
|
2021-02-23 14:27:26 +00:00
|
|
|
},
|
|
|
|
"language_info": {
|
|
|
|
"codemirror_mode": {
|
|
|
|
"name": "ipython",
|
|
|
|
"version": 3
|
|
|
|
},
|
|
|
|
"file_extension": ".py",
|
|
|
|
"mimetype": "text/x-python",
|
|
|
|
"name": "python",
|
|
|
|
"nbconvert_exporter": "python",
|
|
|
|
"pygments_lexer": "ipython3",
|
2021-05-24 19:49:48 +00:00
|
|
|
"version": "3.8.3"
|
2021-02-23 14:27:26 +00:00
|
|
|
}
|
|
|
|
},
|
|
|
|
"nbformat": 4,
|
|
|
|
"nbformat_minor": 5
|
|
|
|
}
|