more report work
|
@ -118,6 +118,8 @@ compute and save intermediate results beforehand.
|
||||||
|
|
||||||
\input{figures/machine_configs}
|
\input{figures/machine_configs}
|
||||||
|
|
||||||
|
Refer to figure \ref{fig:machineconfigs}.
|
||||||
|
|
||||||
**Observations**:
|
**Observations**:
|
||||||
|
|
||||||
- machine configurations are definitely more varied than the ones in the 2011
|
- machine configurations are definitely more varied than the ones in the 2011
|
||||||
|
@ -128,6 +130,9 @@ compute and save intermediate results beforehand.
|
||||||
|
|
||||||
\input{figures/machine_time_waste}
|
\input{figures/machine_time_waste}
|
||||||
|
|
||||||
|
Refer to figures \ref{fig:machinetimewaste-abs} and
|
||||||
|
\ref{fig:machinetimewaste-rel}.
|
||||||
|
|
||||||
**Observations**:
|
**Observations**:
|
||||||
|
|
||||||
- Across all cluster almost 50% of time is spent in "unknown" transitions, i.e.
|
- Across all cluster almost 50% of time is spent in "unknown" transitions, i.e.
|
||||||
|
@ -147,8 +152,29 @@ compute and save intermediate results beforehand.
|
||||||
|
|
||||||
## task_slowdown
|
## task_slowdown
|
||||||
|
|
||||||
|
\input{figures/task_slowdown}
|
||||||
|
|
||||||
|
Refer to figure \ref{fig:taskslowdown}
|
||||||
|
|
||||||
|
**Observations**:
|
||||||
|
|
||||||
|
- Priority values are different from 0-11 values in the 2011 traces. A
|
||||||
|
conversion table is provided by Google;
|
||||||
|
- For some priorities (e.g. 101 for cluster D) the relative number of finishing
|
||||||
|
task is very low and the mean slowdown is very high (315). This behaviour
|
||||||
|
differs from the relatively homogeneous values from the 2011 traces.
|
||||||
|
- Some slowdown values cannot be computed since either some tasks have a 0ns
|
||||||
|
execution time or for some priorities no tasks in the traces terminate
|
||||||
|
successfully. More raw data on those exception is in Jupyter.
|
||||||
|
- The % of finishing jobs is relatively low comparing with the 2011 traces.
|
||||||
|
|
||||||
|
## spatial_resource_waste
|
||||||
|
|
||||||
\input{figures/spatial_resource_waste}
|
\input{figures/spatial_resource_waste}
|
||||||
|
|
||||||
|
Refer to figures \ref{fig:spatialresourcewaste-actual} and
|
||||||
|
\ref{fig:spatialresourcewaste-requested}.
|
||||||
|
|
||||||
**Observations**:
|
**Observations**:
|
||||||
|
|
||||||
- Most (mesasured and requested) resources are used by killed job, even more
|
- Most (mesasured and requested) resources are used by killed job, even more
|
||||||
|
@ -157,13 +183,48 @@ compute and save intermediate results beforehand.
|
||||||
cluster G where a lot of LOST-terminated tasks acquired 70% of both CPU and
|
cluster G where a lot of LOST-terminated tasks acquired 70% of both CPU and
|
||||||
RAM
|
RAM
|
||||||
|
|
||||||
## spatial_resource_waste
|
|
||||||
|
|
||||||
\input{figures/task_slowdown}
|
|
||||||
|
|
||||||
## figure_7
|
## figure_7
|
||||||
|
|
||||||
|
\input{figures/figure_7}
|
||||||
|
|
||||||
|
Refer to figures \ref{fig:figureVII-a}, \ref{fig:figureVII-b}, and
|
||||||
|
\ref{fig:figureVII-c}.
|
||||||
|
|
||||||
|
**Observations**:
|
||||||
|
|
||||||
|
- No smooth curves in this figure either, unlike 2011 traces
|
||||||
|
- The behaviour of curves for 7a (priority) is almost the opposite of 2011, i.e.
|
||||||
|
in-between priorities have higher kill rates while priorities at the extremum
|
||||||
|
have lower kill rates. This could also be due bt the inherent distribution of
|
||||||
|
job terminations;
|
||||||
|
- Event execution time curves are quite different than 2011, here it seems there
|
||||||
|
is a good correlation between short task execution times and finish event
|
||||||
|
rates, instead of the U shape curve in 2015 DSN
|
||||||
|
- In figure \ref{fig:figureVII-b} cluster behaviour seems quite uniform
|
||||||
|
- Machine concurrency seems to play little role in the event termination
|
||||||
|
distribution, as for all concurrency factors the kill rate is at 90%.
|
||||||
|
|
||||||
## figure_8
|
## figure_8
|
||||||
## figure_9
|
## figure_9
|
||||||
|
|
||||||
|
\input{figures/figure_9}
|
||||||
|
|
||||||
|
Refer to figures \ref{fig:figureIX-a}, \ref{fig:figureIX-b}, and
|
||||||
|
\ref{fig:figureIX-c}.
|
||||||
|
|
||||||
|
**Observations**:
|
||||||
|
|
||||||
|
- Behaviour between cluster varies a lot
|
||||||
|
- There are no "smooth" gradients in the various curves unlike in the 2011
|
||||||
|
traces
|
||||||
|
- Killed jobs have higher event rates in general, and overall dominate all event
|
||||||
|
rates measures
|
||||||
|
- There still seems to be a correlation between short execution job times and
|
||||||
|
successfull final termination, and likewise for kills and higher job
|
||||||
|
terminations
|
||||||
|
- Across all clusters, a machine locality factor of 1 seems to lead to the
|
||||||
|
highest success event rate
|
||||||
|
|
||||||
## table_iii, table_iv, figure_v
|
## table_iii, table_iv, figure_v
|
||||||
|
|
||||||
## Potential causes of unsuccesful executions
|
## Potential causes of unsuccesful executions
|
||||||
|
|
47
report/figures/figure_7.tex
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
\newcommand{\figureVII}[3][0.242\textwidth]{
|
||||||
|
\begin{subfigure}{#1}
|
||||||
|
\vspace{0.5cm}
|
||||||
|
\begin{minipage}[c]{\textwidth}%
|
||||||
|
\includegraphics[width=1\textwidth]{figures/figure_7/#3}
|
||||||
|
\end{minipage}
|
||||||
|
\caption{#2}
|
||||||
|
\end{subfigure}}
|
||||||
|
|
||||||
|
\begin{figure}
|
||||||
|
\figureVII{Cluster A}{output_3_0.png}
|
||||||
|
\figureVII{Cluster B}{output_3_3.png}
|
||||||
|
\figureVII{Cluster C}{output_3_6.png}
|
||||||
|
\figureVII{Cluster D}{output_3_9.png}
|
||||||
|
\figureVII{Cluster E}{output_3_12.png}
|
||||||
|
\figureVII{Cluster F}{output_3_15.png}
|
||||||
|
\figureVII{Cluster G}{output_3_18.png}
|
||||||
|
\figureVII{Cluster H}{output_3_21.png}
|
||||||
|
\caption{Task event rates vs. task priority and final task termination}\label{fig:figureVII-a}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\begin{figure}
|
||||||
|
\figureVII{Cluster A}{output_3_1.png}
|
||||||
|
\figureVII{Cluster B}{output_3_4.png}
|
||||||
|
\figureVII{Cluster C}{output_3_7.png}
|
||||||
|
\figureVII{Cluster D}{output_3_10.png}
|
||||||
|
\figureVII{Cluster E}{output_3_13.png}
|
||||||
|
\figureVII{Cluster F}{output_3_16.png}
|
||||||
|
\figureVII{Cluster G}{output_3_19.png}
|
||||||
|
\figureVII{Cluster H}{output_3_22.png}
|
||||||
|
\caption{Task event rates vs. event execution time and final task termination}\label{fig:figureVII-b}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\begin{figure}
|
||||||
|
\figureVII{Cluster A}{output_3_2.png}
|
||||||
|
\figureVII{Cluster B}{output_3_5.png}
|
||||||
|
\figureVII{Cluster C}{output_3_8.png}
|
||||||
|
\figureVII{Cluster D}{output_3_11.png}
|
||||||
|
\figureVII{Cluster E}{output_3_14.png}
|
||||||
|
\figureVII{Cluster F}{output_3_17.png}
|
||||||
|
\figureVII[.2\textwidth]{Cluster G}{output_3_20.png}
|
||||||
|
\hfill
|
||||||
|
\figureVII[.2\textwidth]{Cluster H}{output_3_23.png}
|
||||||
|
\hspace{.5cm}
|
||||||
|
\caption{Task event rates vs. machine concurrency and final task termination}\label{fig:figureVII-c}
|
||||||
|
\end{figure}
|
||||||
|
|
BIN
report/figures/figure_7/output_3_0.png
Normal file
After Width: | Height: | Size: 59 KiB |
BIN
report/figures/figure_7/output_3_1.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
report/figures/figure_7/output_3_10.png
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
report/figures/figure_7/output_3_11.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
report/figures/figure_7/output_3_12.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
report/figures/figure_7/output_3_13.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
report/figures/figure_7/output_3_14.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
report/figures/figure_7/output_3_15.png
Normal file
After Width: | Height: | Size: 47 KiB |
BIN
report/figures/figure_7/output_3_16.png
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
report/figures/figure_7/output_3_17.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
report/figures/figure_7/output_3_18.png
Normal file
After Width: | Height: | Size: 54 KiB |
BIN
report/figures/figure_7/output_3_19.png
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
report/figures/figure_7/output_3_2.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
report/figures/figure_7/output_3_20.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
report/figures/figure_7/output_3_21.png
Normal file
After Width: | Height: | Size: 45 KiB |
BIN
report/figures/figure_7/output_3_22.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
report/figures/figure_7/output_3_23.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
report/figures/figure_7/output_3_3.png
Normal file
After Width: | Height: | Size: 49 KiB |
BIN
report/figures/figure_7/output_3_4.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
report/figures/figure_7/output_3_5.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
report/figures/figure_7/output_3_6.png
Normal file
After Width: | Height: | Size: 50 KiB |
BIN
report/figures/figure_7/output_3_7.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
report/figures/figure_7/output_3_8.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
report/figures/figure_7/output_3_9.png
Normal file
After Width: | Height: | Size: 50 KiB |
47
report/figures/figure_9.tex
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
\newcommand{\figureIX}[3][0.242\textwidth]{
|
||||||
|
\begin{subfigure}{#1}
|
||||||
|
\vspace{0.5cm}
|
||||||
|
\begin{minipage}[c]{\textwidth}%
|
||||||
|
\includegraphics[width=1\textwidth]{figures/figure_9/#3}
|
||||||
|
\end{minipage}
|
||||||
|
\caption{#2}
|
||||||
|
\end{subfigure}}
|
||||||
|
|
||||||
|
\begin{figure}
|
||||||
|
\figureIX{Cluster A}{output_3_0.png}
|
||||||
|
\figureIX{Cluster B}{output_3_3.png}
|
||||||
|
\figureIX{Cluster C}{output_3_6.png}
|
||||||
|
\figureIX{Cluster D}{output_3_9.png}
|
||||||
|
\figureIX{Cluster E}{output_3_12.png}
|
||||||
|
\figureIX{Cluster F}{output_3_15.png}
|
||||||
|
\figureIX{Cluster G}{output_3_18.png}
|
||||||
|
\figureIX{Cluster H}{output_3_21.png}
|
||||||
|
\caption{Job event rates vs. job size and final job termination}\label{fig:figureIX-a}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\begin{figure}
|
||||||
|
\figureIX{Cluster A}{output_3_1.png}
|
||||||
|
\figureIX{Cluster B}{output_3_4.png}
|
||||||
|
\figureIX{Cluster C}{output_3_7.png}
|
||||||
|
\figureIX{Cluster D}{output_3_10.png}
|
||||||
|
\figureIX{Cluster E}{output_3_13.png}
|
||||||
|
\figureIX{Cluster F}{output_3_16.png}
|
||||||
|
\figureIX{Cluster G}{output_3_19.png}
|
||||||
|
\figureIX{Cluster H}{output_3_22.png}
|
||||||
|
\caption{Job event rates vs. event execution time and final job termination}\label{fig:figureIX-b}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\begin{figure}
|
||||||
|
\figureIX{Cluster A}{output_3_2.png}
|
||||||
|
\figureIX{Cluster B}{output_3_5.png}
|
||||||
|
\figureIX{Cluster C}{output_3_8.png}
|
||||||
|
\figureIX{Cluster D}{output_3_11.png}
|
||||||
|
\figureIX{Cluster E}{output_3_14.png}
|
||||||
|
\figureIX{Cluster F}{output_3_17.png}
|
||||||
|
\figureIX[.2\textwidth]{Cluster G}{output_3_20.png}
|
||||||
|
\hfill
|
||||||
|
\figureIX[.2\textwidth]{Cluster H}{output_3_23.png}
|
||||||
|
\hspace{.5cm}
|
||||||
|
\caption{Job event rates vs. machine locality and final job termination}\label{fig:figureIX-c}
|
||||||
|
\end{figure}
|
||||||
|
|
627
report/figures/figure_9/figure_9.tex
Normal file
|
@ -0,0 +1,627 @@
|
||||||
|
\documentclass[11pt]{article}
|
||||||
|
|
||||||
|
\usepackage[breakable]{tcolorbox}
|
||||||
|
\usepackage{parskip} % Stop auto-indenting (to mimic markdown behaviour)
|
||||||
|
|
||||||
|
\usepackage{iftex}
|
||||||
|
\ifPDFTeX
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage{mathpazo}
|
||||||
|
\else
|
||||||
|
\usepackage{fontspec}
|
||||||
|
\fi
|
||||||
|
|
||||||
|
% Basic figure setup, for now with no caption control since it's done
|
||||||
|
% automatically by Pandoc (which extracts ![](path) syntax from Markdown).
|
||||||
|
\usepackage{graphicx}
|
||||||
|
% Maintain compatibility with old templates. Remove in nbconvert 6.0
|
||||||
|
\let\Oldincludegraphics\includegraphics
|
||||||
|
% Ensure that by default, figures have no caption (until we provide a
|
||||||
|
% proper Figure object with a Caption API and a way to capture that
|
||||||
|
% in the conversion process - todo).
|
||||||
|
\usepackage{caption}
|
||||||
|
\DeclareCaptionFormat{nocaption}{}
|
||||||
|
\captionsetup{format=nocaption,aboveskip=0pt,belowskip=0pt}
|
||||||
|
|
||||||
|
\usepackage[Export]{adjustbox} % Used to constrain images to a maximum size
|
||||||
|
\adjustboxset{max size={0.9\linewidth}{0.9\paperheight}}
|
||||||
|
\usepackage{float}
|
||||||
|
\floatplacement{figure}{H} % forces figures to be placed at the correct location
|
||||||
|
\usepackage{xcolor} % Allow colors to be defined
|
||||||
|
\usepackage{enumerate} % Needed for markdown enumerations to work
|
||||||
|
\usepackage{geometry} % Used to adjust the document margins
|
||||||
|
\usepackage{amsmath} % Equations
|
||||||
|
\usepackage{amssymb} % Equations
|
||||||
|
\usepackage{textcomp} % defines textquotesingle
|
||||||
|
% Hack from http://tex.stackexchange.com/a/47451/13684:
|
||||||
|
\AtBeginDocument{%
|
||||||
|
\def\PYZsq{\textquotesingle}% Upright quotes in Pygmentized code
|
||||||
|
}
|
||||||
|
\usepackage{upquote} % Upright quotes for verbatim code
|
||||||
|
\usepackage{eurosym} % defines \euro
|
||||||
|
\usepackage[mathletters]{ucs} % Extended unicode (utf-8) support
|
||||||
|
\usepackage{fancyvrb} % verbatim replacement that allows latex
|
||||||
|
\usepackage{grffile} % extends the file name processing of package graphics
|
||||||
|
% to support a larger range
|
||||||
|
\makeatletter % fix for grffile with XeLaTeX
|
||||||
|
\def\Gread@@xetex#1{%
|
||||||
|
\IfFileExists{"\Gin@base".bb}%
|
||||||
|
{\Gread@eps{\Gin@base.bb}}%
|
||||||
|
{\Gread@@xetex@aux#1}%
|
||||||
|
}
|
||||||
|
\makeatother
|
||||||
|
|
||||||
|
% The hyperref package gives us a pdf with properly built
|
||||||
|
% internal navigation ('pdf bookmarks' for the table of contents,
|
||||||
|
% internal cross-reference links, web links for URLs, etc.)
|
||||||
|
\usepackage{hyperref}
|
||||||
|
% The default LaTeX title has an obnoxious amount of whitespace. By default,
|
||||||
|
% titling removes some of it. It also provides customization options.
|
||||||
|
\usepackage{titling}
|
||||||
|
\usepackage{longtable} % longtable support required by pandoc >1.10
|
||||||
|
\usepackage{booktabs} % table support for pandoc > 1.12.2
|
||||||
|
\usepackage[inline]{enumitem} % IRkernel/repr support (it uses the enumerate* environment)
|
||||||
|
\usepackage[normalem]{ulem} % ulem is needed to support strikethroughs (\sout)
|
||||||
|
% normalem makes italics be italics, not underlines
|
||||||
|
\usepackage{mathrsfs}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
% Colors for the hyperref package
|
||||||
|
\definecolor{urlcolor}{rgb}{0,.145,.698}
|
||||||
|
\definecolor{linkcolor}{rgb}{.71,0.21,0.01}
|
||||||
|
\definecolor{citecolor}{rgb}{.12,.54,.11}
|
||||||
|
|
||||||
|
% ANSI colors
|
||||||
|
\definecolor{ansi-black}{HTML}{3E424D}
|
||||||
|
\definecolor{ansi-black-intense}{HTML}{282C36}
|
||||||
|
\definecolor{ansi-red}{HTML}{E75C58}
|
||||||
|
\definecolor{ansi-red-intense}{HTML}{B22B31}
|
||||||
|
\definecolor{ansi-green}{HTML}{00A250}
|
||||||
|
\definecolor{ansi-green-intense}{HTML}{007427}
|
||||||
|
\definecolor{ansi-yellow}{HTML}{DDB62B}
|
||||||
|
\definecolor{ansi-yellow-intense}{HTML}{B27D12}
|
||||||
|
\definecolor{ansi-blue}{HTML}{208FFB}
|
||||||
|
\definecolor{ansi-blue-intense}{HTML}{0065CA}
|
||||||
|
\definecolor{ansi-magenta}{HTML}{D160C4}
|
||||||
|
\definecolor{ansi-magenta-intense}{HTML}{A03196}
|
||||||
|
\definecolor{ansi-cyan}{HTML}{60C6C8}
|
||||||
|
\definecolor{ansi-cyan-intense}{HTML}{258F8F}
|
||||||
|
\definecolor{ansi-white}{HTML}{C5C1B4}
|
||||||
|
\definecolor{ansi-white-intense}{HTML}{A1A6B2}
|
||||||
|
\definecolor{ansi-default-inverse-fg}{HTML}{FFFFFF}
|
||||||
|
\definecolor{ansi-default-inverse-bg}{HTML}{000000}
|
||||||
|
|
||||||
|
% commands and environments needed by pandoc snippets
|
||||||
|
% extracted from the output of `pandoc -s`
|
||||||
|
\providecommand{\tightlist}{%
|
||||||
|
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||||
|
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||||
|
% Add ',fontsize=\small' for more characters per line
|
||||||
|
\newenvironment{Shaded}{}{}
|
||||||
|
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{{#1}}}}
|
||||||
|
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{{#1}}}
|
||||||
|
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{{#1}}}
|
||||||
|
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{{#1}}}
|
||||||
|
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{{#1}}}
|
||||||
|
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{{#1}}}
|
||||||
|
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{{#1}}}
|
||||||
|
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{{#1}}}}
|
||||||
|
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{{#1}}}
|
||||||
|
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{{#1}}}}
|
||||||
|
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{{#1}}}
|
||||||
|
\newcommand{\RegionMarkerTok}[1]{{#1}}
|
||||||
|
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{{#1}}}}
|
||||||
|
\newcommand{\NormalTok}[1]{{#1}}
|
||||||
|
|
||||||
|
% Additional commands for more recent versions of Pandoc
|
||||||
|
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{{#1}}}
|
||||||
|
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{{#1}}}
|
||||||
|
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{{#1}}}
|
||||||
|
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{{#1}}}
|
||||||
|
\newcommand{\ImportTok}[1]{{#1}}
|
||||||
|
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{{#1}}}}
|
||||||
|
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{{#1}}}}}
|
||||||
|
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{{#1}}}}}
|
||||||
|
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{{#1}}}
|
||||||
|
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{{#1}}}}
|
||||||
|
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{{#1}}}
|
||||||
|
\newcommand{\BuiltInTok}[1]{{#1}}
|
||||||
|
\newcommand{\ExtensionTok}[1]{{#1}}
|
||||||
|
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{{#1}}}
|
||||||
|
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{{#1}}}
|
||||||
|
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{{#1}}}}}
|
||||||
|
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{{#1}}}}}
|
||||||
|
|
||||||
|
|
||||||
|
% Define a nice break command that doesn't care if a line doesn't already
|
||||||
|
% exist.
|
||||||
|
\def\br{\hspace*{\fill} \\* }
|
||||||
|
% Math Jax compatibility definitions
|
||||||
|
\def\gt{>}
|
||||||
|
\def\lt{<}
|
||||||
|
\let\Oldtex\TeX
|
||||||
|
\let\Oldlatex\LaTeX
|
||||||
|
\renewcommand{\TeX}{\textrm{\Oldtex}}
|
||||||
|
\renewcommand{\LaTeX}{\textrm{\Oldlatex}}
|
||||||
|
% Document parameters
|
||||||
|
% Document title
|
||||||
|
\title{figure\_9}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
% Pygments definitions
|
||||||
|
\makeatletter
|
||||||
|
\def\PY@reset{\let\PY@it=\relax \let\PY@bf=\relax%
|
||||||
|
\let\PY@ul=\relax \let\PY@tc=\relax%
|
||||||
|
\let\PY@bc=\relax \let\PY@ff=\relax}
|
||||||
|
\def\PY@tok#1{\csname PY@tok@#1\endcsname}
|
||||||
|
\def\PY@toks#1+{\ifx\relax#1\empty\else%
|
||||||
|
\PY@tok{#1}\expandafter\PY@toks\fi}
|
||||||
|
\def\PY@do#1{\PY@bc{\PY@tc{\PY@ul{%
|
||||||
|
\PY@it{\PY@bf{\PY@ff{#1}}}}}}}
|
||||||
|
\def\PY#1#2{\PY@reset\PY@toks#1+\relax+\PY@do{#2}}
|
||||||
|
|
||||||
|
\expandafter\def\csname PY@tok@w\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.73,0.73}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@c\endcsname{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@cp\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.74,0.48,0.00}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@k\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@kp\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@kt\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.69,0.00,0.25}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@o\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@ow\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.67,0.13,1.00}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@nb\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@nf\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@nc\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@nn\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@ne\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.82,0.25,0.23}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@nv\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@no\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.53,0.00,0.00}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@nl\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.63,0.63,0.00}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@ni\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.60,0.60,0.60}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@na\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.49,0.56,0.16}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@nt\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@nd\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.67,0.13,1.00}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@s\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@sd\endcsname{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@si\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.73,0.40,0.53}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@se\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.73,0.40,0.13}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@sr\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.40,0.53}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@ss\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@sx\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@m\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@gh\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@gu\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.50,0.00,0.50}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@gd\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.63,0.00,0.00}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@gi\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.63,0.00}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@gr\endcsname{\def\PY@tc##1{\textcolor[rgb]{1.00,0.00,0.00}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@ge\endcsname{\let\PY@it=\textit}
|
||||||
|
\expandafter\def\csname PY@tok@gs\endcsname{\let\PY@bf=\textbf}
|
||||||
|
\expandafter\def\csname PY@tok@gp\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@go\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.53,0.53,0.53}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@gt\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.27,0.87}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@err\endcsname{\def\PY@bc##1{\setlength{\fboxsep}{0pt}\fcolorbox[rgb]{1.00,0.00,0.00}{1,1,1}{\strut ##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@kc\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@kd\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@kn\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@kr\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@bp\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@fm\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@vc\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@vg\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@vi\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@vm\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@sa\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@sb\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@sc\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@dl\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@s2\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@sh\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@s1\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@mb\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@mf\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@mh\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@mi\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@il\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@mo\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@ch\endcsname{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@cm\endcsname{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@cpf\endcsname{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@c1\endcsname{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
|
||||||
|
\expandafter\def\csname PY@tok@cs\endcsname{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
|
||||||
|
|
||||||
|
\def\PYZbs{\char`\\}
|
||||||
|
\def\PYZus{\char`\_}
|
||||||
|
\def\PYZob{\char`\{}
|
||||||
|
\def\PYZcb{\char`\}}
|
||||||
|
\def\PYZca{\char`\^}
|
||||||
|
\def\PYZam{\char`\&}
|
||||||
|
\def\PYZlt{\char`\<}
|
||||||
|
\def\PYZgt{\char`\>}
|
||||||
|
\def\PYZsh{\char`\#}
|
||||||
|
\def\PYZpc{\char`\%}
|
||||||
|
\def\PYZdl{\char`\$}
|
||||||
|
\def\PYZhy{\char`\-}
|
||||||
|
\def\PYZsq{\char`\'}
|
||||||
|
\def\PYZdq{\char`\"}
|
||||||
|
\def\PYZti{\char`\~}
|
||||||
|
% for compatibility with earlier versions
|
||||||
|
\def\PYZat{@}
|
||||||
|
\def\PYZlb{[}
|
||||||
|
\def\PYZrb{]}
|
||||||
|
\makeatother
|
||||||
|
|
||||||
|
|
||||||
|
% For linebreaks inside Verbatim environment from package fancyvrb.
|
||||||
|
\makeatletter
|
||||||
|
\newbox\Wrappedcontinuationbox
|
||||||
|
\newbox\Wrappedvisiblespacebox
|
||||||
|
\newcommand*\Wrappedvisiblespace {\textcolor{red}{\textvisiblespace}}
|
||||||
|
\newcommand*\Wrappedcontinuationsymbol {\textcolor{red}{\llap{\tiny$\m@th\hookrightarrow$}}}
|
||||||
|
\newcommand*\Wrappedcontinuationindent {3ex }
|
||||||
|
\newcommand*\Wrappedafterbreak {\kern\Wrappedcontinuationindent\copy\Wrappedcontinuationbox}
|
||||||
|
% Take advantage of the already applied Pygments mark-up to insert
|
||||||
|
% potential linebreaks for TeX processing.
|
||||||
|
% {, <, #, %, $, ' and ": go to next line.
|
||||||
|
% _, }, ^, &, >, - and ~: stay at end of broken line.
|
||||||
|
% Use of \textquotesingle for straight quote.
|
||||||
|
\newcommand*\Wrappedbreaksatspecials {%
|
||||||
|
\def\PYGZus{\discretionary{\char`\_}{\Wrappedafterbreak}{\char`\_}}%
|
||||||
|
\def\PYGZob{\discretionary{}{\Wrappedafterbreak\char`\{}{\char`\{}}%
|
||||||
|
\def\PYGZcb{\discretionary{\char`\}}{\Wrappedafterbreak}{\char`\}}}%
|
||||||
|
\def\PYGZca{\discretionary{\char`\^}{\Wrappedafterbreak}{\char`\^}}%
|
||||||
|
\def\PYGZam{\discretionary{\char`\&}{\Wrappedafterbreak}{\char`\&}}%
|
||||||
|
\def\PYGZlt{\discretionary{}{\Wrappedafterbreak\char`\<}{\char`\<}}%
|
||||||
|
\def\PYGZgt{\discretionary{\char`\>}{\Wrappedafterbreak}{\char`\>}}%
|
||||||
|
\def\PYGZsh{\discretionary{}{\Wrappedafterbreak\char`\#}{\char`\#}}%
|
||||||
|
\def\PYGZpc{\discretionary{}{\Wrappedafterbreak\char`\%}{\char`\%}}%
|
||||||
|
\def\PYGZdl{\discretionary{}{\Wrappedafterbreak\char`\$}{\char`\$}}%
|
||||||
|
\def\PYGZhy{\discretionary{\char`\-}{\Wrappedafterbreak}{\char`\-}}%
|
||||||
|
\def\PYGZsq{\discretionary{}{\Wrappedafterbreak\textquotesingle}{\textquotesingle}}%
|
||||||
|
\def\PYGZdq{\discretionary{}{\Wrappedafterbreak\char`\"}{\char`\"}}%
|
||||||
|
\def\PYGZti{\discretionary{\char`\~}{\Wrappedafterbreak}{\char`\~}}%
|
||||||
|
}
|
||||||
|
% Some characters . , ; ? ! / are not pygmentized.
|
||||||
|
% This macro makes them "active" and they will insert potential linebreaks
|
||||||
|
\newcommand*\Wrappedbreaksatpunct {%
|
||||||
|
\lccode`\~`\.\lowercase{\def~}{\discretionary{\hbox{\char`\.}}{\Wrappedafterbreak}{\hbox{\char`\.}}}%
|
||||||
|
\lccode`\~`\,\lowercase{\def~}{\discretionary{\hbox{\char`\,}}{\Wrappedafterbreak}{\hbox{\char`\,}}}%
|
||||||
|
\lccode`\~`\;\lowercase{\def~}{\discretionary{\hbox{\char`\;}}{\Wrappedafterbreak}{\hbox{\char`\;}}}%
|
||||||
|
\lccode`\~`\:\lowercase{\def~}{\discretionary{\hbox{\char`\:}}{\Wrappedafterbreak}{\hbox{\char`\:}}}%
|
||||||
|
\lccode`\~`\?\lowercase{\def~}{\discretionary{\hbox{\char`\?}}{\Wrappedafterbreak}{\hbox{\char`\?}}}%
|
||||||
|
\lccode`\~`\!\lowercase{\def~}{\discretionary{\hbox{\char`\!}}{\Wrappedafterbreak}{\hbox{\char`\!}}}%
|
||||||
|
\lccode`\~`\/\lowercase{\def~}{\discretionary{\hbox{\char`\/}}{\Wrappedafterbreak}{\hbox{\char`\/}}}%
|
||||||
|
\catcode`\.\active
|
||||||
|
\catcode`\,\active
|
||||||
|
\catcode`\;\active
|
||||||
|
\catcode`\:\active
|
||||||
|
\catcode`\?\active
|
||||||
|
\catcode`\!\active
|
||||||
|
\catcode`\/\active
|
||||||
|
\lccode`\~`\~
|
||||||
|
}
|
||||||
|
\makeatother
|
||||||
|
|
||||||
|
\let\OriginalVerbatim=\Verbatim
|
||||||
|
\makeatletter
|
||||||
|
\renewcommand{\Verbatim}[1][1]{%
|
||||||
|
%\parskip\z@skip
|
||||||
|
\sbox\Wrappedcontinuationbox {\Wrappedcontinuationsymbol}%
|
||||||
|
\sbox\Wrappedvisiblespacebox {\FV@SetupFont\Wrappedvisiblespace}%
|
||||||
|
\def\FancyVerbFormatLine ##1{\hsize\linewidth
|
||||||
|
\vtop{\raggedright\hyphenpenalty\z@\exhyphenpenalty\z@
|
||||||
|
\doublehyphendemerits\z@\finalhyphendemerits\z@
|
||||||
|
\strut ##1\strut}%
|
||||||
|
}%
|
||||||
|
% If the linebreak is at a space, the latter will be displayed as visible
|
||||||
|
% space at end of first line, and a continuation symbol starts next line.
|
||||||
|
% Stretch/shrink are however usually zero for typewriter font.
|
||||||
|
\def\FV@Space {%
|
||||||
|
\nobreak\hskip\z@ plus\fontdimen3\font minus\fontdimen4\font
|
||||||
|
\discretionary{\copy\Wrappedvisiblespacebox}{\Wrappedafterbreak}
|
||||||
|
{\kern\fontdimen2\font}%
|
||||||
|
}%
|
||||||
|
|
||||||
|
% Allow breaks at special characters using \PYG... macros.
|
||||||
|
\Wrappedbreaksatspecials
|
||||||
|
% Breaks at punctuation characters . , ; ? ! and / need catcode=\active
|
||||||
|
\OriginalVerbatim[#1,codes*=\Wrappedbreaksatpunct]%
|
||||||
|
}
|
||||||
|
\makeatother
|
||||||
|
|
||||||
|
% Exact colors from NB
|
||||||
|
\definecolor{incolor}{HTML}{303F9F}
|
||||||
|
\definecolor{outcolor}{HTML}{D84315}
|
||||||
|
\definecolor{cellborder}{HTML}{CFCFCF}
|
||||||
|
\definecolor{cellbackground}{HTML}{F7F7F7}
|
||||||
|
|
||||||
|
% prompt
|
||||||
|
\makeatletter
|
||||||
|
\newcommand{\boxspacing}{\kern\kvtcb@left@rule\kern\kvtcb@boxsep}
|
||||||
|
\makeatother
|
||||||
|
\newcommand{\prompt}[4]{
|
||||||
|
\ttfamily\llap{{\color{#2}[#3]:\hspace{3pt}#4}}\vspace{-\baselineskip}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
% Prevent overflowing lines due to hard-to-break entities
|
||||||
|
\sloppy
|
||||||
|
% Setup hyperref package
|
||||||
|
\hypersetup{
|
||||||
|
breaklinks=true, % so long urls are correctly broken across lines
|
||||||
|
colorlinks=true,
|
||||||
|
urlcolor=urlcolor,
|
||||||
|
linkcolor=linkcolor,
|
||||||
|
citecolor=citecolor,
|
||||||
|
}
|
||||||
|
% Slightly bigger margins than the latex defaults
|
||||||
|
|
||||||
|
\geometry{verbose,tmargin=1in,bmargin=1in,lmargin=1in,rmargin=1in}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\begin{tcolorbox}[breakable, size=fbox, boxrule=1pt, pad at break*=1mm,colback=cellbackground, colframe=cellborder]
|
||||||
|
\prompt{In}{incolor}{5}{\boxspacing}
|
||||||
|
\begin{Verbatim}[commandchars=\\\{\}]
|
||||||
|
\PY{k+kn}{import} \PY{n+nn}{json}
|
||||||
|
\PY{k+kn}{import} \PY{n+nn}{sys}
|
||||||
|
\PY{k+kn}{import} \PY{n+nn}{glob}
|
||||||
|
\PY{k+kn}{import} \PY{n+nn}{pandas} \PY{k}{as} \PY{n+nn}{pd}
|
||||||
|
\PY{k+kn}{import} \PY{n+nn}{seaborn} \PY{k}{as} \PY{n+nn}{sns}
|
||||||
|
\PY{k+kn}{import} \PY{n+nn}{matplotlib} \PY{k}{as} \PY{n+nn}{mpl}
|
||||||
|
\PY{k+kn}{import} \PY{n+nn}{matplotlib}\PY{n+nn}{.}\PY{n+nn}{pyplot} \PY{k}{as} \PY{n+nn}{plt}
|
||||||
|
\PY{k+kn}{import} \PY{n+nn}{numpy} \PY{k}{as} \PY{n+nn}{np}
|
||||||
|
\end{Verbatim}
|
||||||
|
\end{tcolorbox}
|
||||||
|
|
||||||
|
\begin{tcolorbox}[breakable, size=fbox, boxrule=1pt, pad at break*=1mm,colback=cellbackground, colframe=cellborder]
|
||||||
|
\prompt{In}{incolor}{6}{\boxspacing}
|
||||||
|
\begin{Verbatim}[commandchars=\\\{\}]
|
||||||
|
\PY{n}{DIR} \PY{o}{=} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{/Users/maggicl/Git/bachelorThesis/figure\PYZus{}9/}\PY{l+s+s2}{\PYZdq{}}
|
||||||
|
\end{Verbatim}
|
||||||
|
\end{tcolorbox}
|
||||||
|
|
||||||
|
\begin{tcolorbox}[breakable, size=fbox, boxrule=1pt, pad at break*=1mm,colback=cellbackground, colframe=cellborder]
|
||||||
|
\prompt{In}{incolor}{7}{\boxspacing}
|
||||||
|
\begin{Verbatim}[commandchars=\\\{\}]
|
||||||
|
\PY{k}{def} \PY{n+nf}{categorical\PYZus{}plot}\PY{p}{(}\PY{n}{df}\PY{p}{,} \PY{n}{key}\PY{p}{,} \PY{n}{title}\PY{p}{,} \PY{n}{sorted\PYZus{}xs} \PY{o}{=} \PY{k+kc}{None}\PY{p}{)}\PY{p}{:}
|
||||||
|
\PY{k}{if} \PY{n}{sorted\PYZus{}xs} \PY{o}{==} \PY{k+kc}{None}\PY{p}{:}
|
||||||
|
\PY{n}{xs} \PY{o}{=} \PY{n+nb}{set}\PY{p}{(}\PY{p}{)}
|
||||||
|
\PY{n}{lines} \PY{o}{=} \PY{p}{[}\PY{p}{]}
|
||||||
|
\PY{k}{for} \PY{n}{t} \PY{o+ow}{in} \PY{p}{[}\PY{l+m+mi}{4}\PY{p}{,}\PY{l+m+mi}{5}\PY{p}{,}\PY{l+m+mi}{6}\PY{p}{,}\PY{l+m+mi}{7}\PY{p}{,}\PY{l+m+mi}{8}\PY{p}{]}\PY{p}{:}
|
||||||
|
\PY{n}{xs} \PY{o}{=} \PY{n}{xs}\PY{o}{.}\PY{n}{union}\PY{p}{(}\PY{n}{np}\PY{o}{.}\PY{n}{array}\PY{p}{(}\PY{n}{df}\PY{p}{[}\PY{n}{df}\PY{o}{.}\PY{n}{term} \PY{o}{==} \PY{n}{t}\PY{p}{]}\PY{p}{[}\PY{n}{key}\PY{p}{]}\PY{p}{)}\PY{o}{.}\PY{n}{reshape}\PY{p}{(}\PY{o}{\PYZhy{}}\PY{l+m+mi}{1}\PY{p}{)}\PY{p}{)}
|
||||||
|
\PY{n}{xs} \PY{o}{=} \PY{p}{[}\PY{n+nb}{str}\PY{p}{(}\PY{n}{x}\PY{p}{)} \PY{k}{for} \PY{n}{x} \PY{o+ow}{in} \PY{n+nb}{sorted}\PY{p}{(}\PY{n}{xs}\PY{p}{)}\PY{p}{]}
|
||||||
|
\PY{k}{else}\PY{p}{:}
|
||||||
|
\PY{n}{xs} \PY{o}{=} \PY{n}{sorted\PYZus{}xs}
|
||||||
|
|
||||||
|
\PY{n}{plt}\PY{o}{.}\PY{n}{figure}\PY{p}{(}\PY{n}{figsize}\PY{o}{=}\PY{p}{(}\PY{l+m+mi}{11}\PY{p}{,}\PY{l+m+mi}{8}\PY{p}{)}\PY{p}{)}
|
||||||
|
\PY{n}{ax} \PY{o}{=} \PY{n}{plt}\PY{o}{.}\PY{n}{gca}\PY{p}{(}\PY{p}{)}
|
||||||
|
\PY{n}{lines} \PY{o}{=} \PY{p}{[}\PY{p}{]}
|
||||||
|
\PY{k}{for} \PY{n}{t} \PY{o+ow}{in} \PY{p}{[}\PY{l+m+mi}{4}\PY{p}{,}\PY{l+m+mi}{5}\PY{p}{,}\PY{l+m+mi}{6}\PY{p}{,}\PY{l+m+mi}{7}\PY{p}{,}\PY{l+m+mi}{8}\PY{p}{]}\PY{p}{:}
|
||||||
|
\PY{n}{ys} \PY{o}{=} \PY{p}{[}\PY{p}{]}
|
||||||
|
\PY{k}{for} \PY{n}{x} \PY{o+ow}{in} \PY{n}{xs}\PY{p}{:}
|
||||||
|
\PY{n}{partsum} \PY{o}{=} \PY{n}{df}\PY{p}{[}\PY{p}{(}\PY{n}{df}\PY{o}{.}\PY{n}{term} \PY{o}{!=} \PY{o}{\PYZhy{}}\PY{l+m+mi}{1}\PY{p}{)} \PY{o}{\PYZam{}} \PY{p}{(}\PY{n}{df}\PY{p}{[}\PY{n}{key}\PY{p}{]} \PY{o}{==} \PY{n}{x}\PY{p}{)}\PY{p}{]}\PY{p}{[}\PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{count}\PY{l+s+s2}{\PYZdq{}}\PY{p}{]}\PY{o}{.}\PY{n}{sum}\PY{p}{(}\PY{p}{)}\PY{o}{.}\PY{n}{astype}\PY{p}{(}\PY{n+nb}{int}\PY{p}{)}
|
||||||
|
\PY{n}{y} \PY{o}{=} \PY{n}{df}\PY{p}{[}\PY{p}{(}\PY{n}{df}\PY{o}{.}\PY{n}{term} \PY{o}{==} \PY{n}{t}\PY{p}{)} \PY{o}{\PYZam{}} \PY{p}{(}\PY{n}{df}\PY{p}{[}\PY{n}{key}\PY{p}{]} \PY{o}{==} \PY{n}{x}\PY{p}{)}\PY{p}{]}\PY{p}{[}\PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{count}\PY{l+s+s2}{\PYZdq{}}\PY{p}{]}
|
||||||
|
\PY{n}{ys}\PY{o}{.}\PY{n}{append}\PY{p}{(}\PY{p}{(}\PY{n}{y}\PY{o}{.}\PY{n}{values}\PY{o}{.}\PY{n}{astype}\PY{p}{(}\PY{n+nb}{int}\PY{p}{)}\PY{p}{[}\PY{l+m+mi}{0}\PY{p}{]} \PY{o}{/} \PY{n}{partsum} \PY{k}{if} \PY{n}{partsum} \PY{o}{\PYZgt{}} \PY{l+m+mi}{0} \PY{k}{else} \PY{n}{y}\PY{o}{.}\PY{n}{values}\PY{o}{.}\PY{n}{astype}\PY{p}{(}\PY{n+nb}{int}\PY{p}{)}\PY{p}{[}\PY{l+m+mi}{0}\PY{p}{]}\PY{p}{)} \PY{k}{if} \PY{n}{y}\PY{o}{.}\PY{n}{any}\PY{p}{(}\PY{p}{)} \PY{k}{else} \PY{l+m+mi}{0}\PY{p}{)}
|
||||||
|
\PY{n}{lines}\PY{o}{.}\PY{n}{append}\PY{p}{(}\PY{n}{ax}\PY{o}{.}\PY{n}{plot}\PY{p}{(}\PY{n}{xs}\PY{p}{,}\PY{n}{ys}\PY{p}{,} \PY{n}{marker}\PY{o}{=}\PY{l+s+s1}{\PYZsq{}}\PY{l+s+s1}{.}\PY{l+s+s1}{\PYZsq{}}\PY{p}{)}\PY{p}{[}\PY{l+m+mi}{0}\PY{p}{]}\PY{p}{)}
|
||||||
|
|
||||||
|
\PY{n}{plt}\PY{o}{.}\PY{n}{xticks}\PY{p}{(}\PY{n}{xs}\PY{p}{)}
|
||||||
|
\PY{n}{plt}\PY{o}{.}\PY{n}{legend}\PY{p}{(}\PY{n}{lines}\PY{p}{,} \PY{p}{[}\PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{EVICT}\PY{l+s+s2}{\PYZdq{}}\PY{p}{,} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{FAIL}\PY{l+s+s2}{\PYZdq{}}\PY{p}{,} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{FINISH}\PY{l+s+s2}{\PYZdq{}}\PY{p}{,} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{KILL}\PY{l+s+s2}{\PYZdq{}}\PY{p}{,} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{LOST}\PY{l+s+s2}{\PYZdq{}}\PY{p}{]}\PY{p}{,}
|
||||||
|
\PY{n}{bbox\PYZus{}to\PYZus{}anchor}\PY{o}{=}\PY{p}{(}\PY{l+m+mi}{1}\PY{p}{,}\PY{l+m+mi}{1}\PY{p}{)}\PY{p}{)}
|
||||||
|
\PY{n}{plt}\PY{o}{.}\PY{n}{title}\PY{p}{(}\PY{n}{title}\PY{p}{)}
|
||||||
|
\PY{n}{plt}\PY{o}{.}\PY{n}{show}\PY{p}{(}\PY{p}{)}
|
||||||
|
\end{Verbatim}
|
||||||
|
\end{tcolorbox}
|
||||||
|
|
||||||
|
\begin{tcolorbox}[breakable, size=fbox, boxrule=1pt, pad at break*=1mm,colback=cellbackground, colframe=cellborder]
|
||||||
|
\prompt{In}{incolor}{8}{\boxspacing}
|
||||||
|
\begin{Verbatim}[commandchars=\\\{\}]
|
||||||
|
\PY{k}{def} \PY{n+nf}{to\PYZus{}9a\PYZus{}bin}\PY{p}{(}\PY{n}{col}\PY{p}{)}\PY{p}{:}
|
||||||
|
\PY{c+c1}{\PYZsh{} 1 [2,10] [11,50] [51,100] 101+}
|
||||||
|
\PY{k}{if} \PY{n}{col} \PY{o}{\PYZlt{}}\PY{o}{=} \PY{l+m+mi}{0}\PY{p}{:}
|
||||||
|
\PY{k}{return} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{None known}\PY{l+s+s2}{\PYZdq{}}
|
||||||
|
\PY{k}{elif} \PY{n}{col} \PY{o}{==} \PY{l+m+mi}{1}\PY{p}{:}
|
||||||
|
\PY{k}{return} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{1}\PY{l+s+s2}{\PYZdq{}}
|
||||||
|
\PY{k}{elif} \PY{n}{col} \PY{o}{\PYZlt{}}\PY{o}{=} \PY{l+m+mi}{10}\PY{p}{:}
|
||||||
|
\PY{k}{return} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{2\PYZhy{}10}\PY{l+s+s2}{\PYZdq{}}
|
||||||
|
\PY{k}{elif} \PY{n}{col} \PY{o}{\PYZlt{}}\PY{o}{=} \PY{l+m+mi}{50}\PY{p}{:}
|
||||||
|
\PY{k}{return} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{11\PYZhy{}50}\PY{l+s+s2}{\PYZdq{}}
|
||||||
|
\PY{k}{elif} \PY{n}{col} \PY{o}{\PYZlt{}}\PY{o}{=} \PY{l+m+mi}{100}\PY{p}{:}
|
||||||
|
\PY{k}{return} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{51\PYZhy{}100}\PY{l+s+s2}{\PYZdq{}}
|
||||||
|
\PY{k}{else}\PY{p}{:}
|
||||||
|
\PY{k}{return} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{101+}\PY{l+s+s2}{\PYZdq{}}
|
||||||
|
|
||||||
|
\PY{k}{def} \PY{n+nf}{to\PYZus{}9c\PYZus{}bin}\PY{p}{(}\PY{n}{col}\PY{p}{)}\PY{p}{:}
|
||||||
|
\PY{c+c1}{\PYZsh{} 1 [2,10] [11,50] [51,100] 101+}
|
||||||
|
\PY{k}{if} \PY{n}{col} \PY{o}{\PYZlt{}}\PY{o}{=} \PY{l+m+mi}{0}\PY{p}{:}
|
||||||
|
\PY{k}{return} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{Unknown}\PY{l+s+s2}{\PYZdq{}}
|
||||||
|
\PY{k}{elif} \PY{n}{col} \PY{o}{\PYZlt{}} \PY{l+m+mf}{0.5}\PY{p}{:}
|
||||||
|
\PY{k}{return} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{(0,0.5)}\PY{l+s+s2}{\PYZdq{}}
|
||||||
|
\PY{k}{elif} \PY{n}{col} \PY{o}{\PYZlt{}} \PY{l+m+mf}{0.9}\PY{p}{:}
|
||||||
|
\PY{k}{return} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{[0.5,0.9)}\PY{l+s+s2}{\PYZdq{}}
|
||||||
|
\PY{k}{elif} \PY{n}{col} \PY{o}{\PYZlt{}} \PY{l+m+mf}{1.1}\PY{p}{:}
|
||||||
|
\PY{k}{return} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{[0.9,1.1)}\PY{l+s+s2}{\PYZdq{}}
|
||||||
|
\PY{k}{elif} \PY{n}{col} \PY{o}{\PYZlt{}} \PY{l+m+mf}{1.5}\PY{p}{:}
|
||||||
|
\PY{k}{return} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{[1.1,1.5)}\PY{l+s+s2}{\PYZdq{}}
|
||||||
|
\PY{k}{else}\PY{p}{:}
|
||||||
|
\PY{k}{return} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{\PYZgt{}=1.5}\PY{l+s+s2}{\PYZdq{}}
|
||||||
|
|
||||||
|
\PY{k}{for} \PY{n}{cluster} \PY{o+ow}{in} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{abcdefgh}\PY{l+s+s2}{\PYZdq{}}\PY{p}{:}
|
||||||
|
\PY{n}{dfa} \PY{o}{=} \PY{n}{pd}\PY{o}{.}\PY{n}{read\PYZus{}csv}\PY{p}{(}\PY{n}{DIR} \PY{o}{+} \PY{n}{cluster} \PY{o}{+} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{\PYZus{}term\PYZus{}task\PYZus{}count.csv}\PY{l+s+s2}{\PYZdq{}}\PY{p}{)} \PYZbs{}
|
||||||
|
\PY{o}{.}\PY{n}{sort\PYZus{}values}\PY{p}{(}\PY{p}{[}\PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{term}\PY{l+s+s2}{\PYZdq{}}\PY{p}{,} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{task\PYZus{}count}\PY{l+s+s2}{\PYZdq{}}\PY{p}{]}\PY{p}{)}
|
||||||
|
\PY{n}{dfa}\PY{p}{[}\PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{task\PYZus{}count}\PY{l+s+s2}{\PYZdq{}}\PY{p}{]} \PY{o}{=} \PY{n}{dfa}\PY{p}{[}\PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{task\PYZus{}count}\PY{l+s+s2}{\PYZdq{}}\PY{p}{]}\PY{o}{.}\PY{n}{apply}\PY{p}{(}\PY{n}{to\PYZus{}9a\PYZus{}bin}\PY{p}{)}
|
||||||
|
\PY{n}{dfa} \PY{o}{=} \PY{n}{dfa}\PY{o}{.}\PY{n}{groupby}\PY{p}{(}\PY{p}{[}\PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{term}\PY{l+s+s2}{\PYZdq{}}\PY{p}{,} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{task\PYZus{}count}\PY{l+s+s2}{\PYZdq{}}\PY{p}{]}\PY{p}{)}\PY{o}{.}\PY{n}{sum}\PY{p}{(}\PY{p}{)}\PY{o}{.}\PY{n}{reset\PYZus{}index}\PY{p}{(}\PY{p}{)}
|
||||||
|
|
||||||
|
\PY{n}{categorical\PYZus{}plot}\PY{p}{(}\PY{n}{dfa}\PY{p}{,} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{task\PYZus{}count}\PY{l+s+s2}{\PYZdq{}}\PY{p}{,} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{\PYZsh{} of tasks w.r.t. job rate (cluster }\PY{l+s+s2}{\PYZdq{}} \PY{o}{+}
|
||||||
|
\PY{n}{cluster} \PY{o}{+} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{)}\PY{l+s+s2}{\PYZdq{}}\PY{p}{,} \PY{p}{[}\PY{n}{to\PYZus{}9a\PYZus{}bin}\PY{p}{(}\PY{n}{x}\PY{p}{)} \PY{k}{for} \PY{n}{x} \PY{o+ow}{in} \PY{p}{[}\PY{o}{\PYZhy{}}\PY{l+m+mi}{1}\PY{p}{,}\PY{l+m+mi}{1}\PY{p}{,}\PY{l+m+mi}{10}\PY{p}{,}\PY{l+m+mi}{50}\PY{p}{,}\PY{l+m+mi}{100}\PY{p}{,}\PY{l+m+mi}{101}\PY{p}{]}\PY{p}{]}\PY{p}{)}
|
||||||
|
|
||||||
|
\PY{c+c1}{\PYZsh{} column should be called machine\PYZus{}count here, typo in analysis scripts}
|
||||||
|
\PY{n}{dfb} \PY{o}{=} \PY{n}{pd}\PY{o}{.}\PY{n}{read\PYZus{}csv}\PY{p}{(}\PY{n}{DIR} \PY{o}{+} \PY{n}{cluster} \PY{o}{+} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{\PYZus{}priority\PYZus{}exectime/part\PYZhy{}00000}\PY{l+s+s2}{\PYZdq{}}\PY{p}{,} \PY{n}{header}\PY{o}{=}\PY{k+kc}{None}\PY{p}{,}
|
||||||
|
\PY{n}{names}\PY{o}{=}\PY{p}{[}\PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{term}\PY{l+s+s2}{\PYZdq{}}\PY{p}{,} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{priority}\PY{l+s+s2}{\PYZdq{}}\PY{p}{,} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{interval}\PY{l+s+s2}{\PYZdq{}}\PY{p}{,} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{count}\PY{l+s+s2}{\PYZdq{}}\PY{p}{]}\PY{p}{)}\PY{o}{.}\PY{n}{sort\PYZus{}values}\PY{p}{(}\PY{p}{[}\PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{term}\PY{l+s+s2}{\PYZdq{}}\PY{p}{,} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{interval}\PY{l+s+s2}{\PYZdq{}}\PY{p}{]}\PY{p}{)}
|
||||||
|
\PY{k}{del} \PY{n}{dfb}\PY{p}{[}\PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{priority}\PY{l+s+s2}{\PYZdq{}}\PY{p}{]}
|
||||||
|
\PY{n}{dfb} \PY{o}{=} \PY{n}{dfb}\PY{o}{.}\PY{n}{groupby}\PY{p}{(}\PY{p}{[}\PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{term}\PY{l+s+s2}{\PYZdq{}}\PY{p}{,} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{interval}\PY{l+s+s2}{\PYZdq{}}\PY{p}{]}\PY{p}{)}\PY{o}{.}\PY{n}{sum}\PY{p}{(}\PY{p}{)}\PY{o}{.}\PY{n}{reset\PYZus{}index}\PY{p}{(}\PY{p}{)}
|
||||||
|
|
||||||
|
\PY{n}{xs} \PY{o}{=} \PY{p}{[}\PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{\PYZlt{}1}\PY{l+s+s2}{\PYZdq{}}\PY{p}{,} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{1\PYZhy{}2}\PY{l+s+s2}{\PYZdq{}}\PY{p}{,} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{2\PYZhy{}4}\PY{l+s+s2}{\PYZdq{}}\PY{p}{,} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{4\PYZhy{}10}\PY{l+s+s2}{\PYZdq{}}\PY{p}{,} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{10\PYZhy{}60}\PY{l+s+s2}{\PYZdq{}}\PY{p}{,} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{60\PYZhy{}1d}\PY{l+s+s2}{\PYZdq{}}\PY{p}{,} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{\PYZgt{}=1d}\PY{l+s+s2}{\PYZdq{}}\PY{p}{]}
|
||||||
|
\PY{n}{categorical\PYZus{}plot}\PY{p}{(}\PY{n}{dfb}\PY{p}{,} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{interval}\PY{l+s+s2}{\PYZdq{}}\PY{p}{,} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{Job execution time (in mins) w.r.t. job rate (cluster }\PY{l+s+s2}{\PYZdq{}} \PY{o}{+}
|
||||||
|
\PY{n}{cluster} \PY{o}{+} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{)}\PY{l+s+s2}{\PYZdq{}}\PY{p}{,} \PY{n}{xs}\PY{p}{)}
|
||||||
|
|
||||||
|
\PY{n}{dfc} \PY{o}{=} \PY{n}{pd}\PY{o}{.}\PY{n}{read\PYZus{}csv}\PY{p}{(}\PY{n}{DIR} \PY{o}{+} \PY{n}{cluster} \PY{o}{+} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{\PYZus{}term\PYZus{}machine\PYZus{}locality.csv}\PY{l+s+s2}{\PYZdq{}}\PY{p}{)} \PYZbs{}
|
||||||
|
\PY{o}{.}\PY{n}{sort\PYZus{}values}\PY{p}{(}\PY{p}{[}\PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{term}\PY{l+s+s2}{\PYZdq{}}\PY{p}{,} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{machine\PYZus{}locality}\PY{l+s+s2}{\PYZdq{}}\PY{p}{]}\PY{p}{)}
|
||||||
|
\PY{n}{dfc}\PY{p}{[}\PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{machine\PYZus{}locality}\PY{l+s+s2}{\PYZdq{}}\PY{p}{]} \PY{o}{=} \PY{n}{dfc}\PY{p}{[}\PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{machine\PYZus{}locality}\PY{l+s+s2}{\PYZdq{}}\PY{p}{]}\PY{o}{.}\PY{n}{apply}\PY{p}{(}\PY{n}{to\PYZus{}9c\PYZus{}bin}\PY{p}{)}
|
||||||
|
\PY{n}{dfc} \PY{o}{=} \PY{n}{dfc}\PY{o}{.}\PY{n}{groupby}\PY{p}{(}\PY{p}{[}\PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{term}\PY{l+s+s2}{\PYZdq{}}\PY{p}{,} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{machine\PYZus{}locality}\PY{l+s+s2}{\PYZdq{}}\PY{p}{]}\PY{p}{)}\PY{o}{.}\PY{n}{sum}\PY{p}{(}\PY{p}{)}\PY{o}{.}\PY{n}{reset\PYZus{}index}\PY{p}{(}\PY{p}{)}
|
||||||
|
|
||||||
|
\PY{n}{categorical\PYZus{}plot}\PY{p}{(}\PY{n}{dfc}\PY{p}{,} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{machine\PYZus{}locality}\PY{l+s+s2}{\PYZdq{}}\PY{p}{,} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{Machine locality w.r.t. job rate (cluster }\PY{l+s+s2}{\PYZdq{}} \PY{o}{+}
|
||||||
|
\PY{n}{cluster} \PY{o}{+} \PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{)}\PY{l+s+s2}{\PYZdq{}}\PY{p}{,} \PY{p}{[}\PY{n}{to\PYZus{}9c\PYZus{}bin}\PY{p}{(}\PY{n}{x}\PY{p}{)} \PY{k}{for} \PY{n}{x} \PY{o+ow}{in} \PY{p}{[}\PY{o}{\PYZhy{}}\PY{l+m+mi}{1}\PY{p}{,}\PY{l+m+mf}{0.49}\PY{p}{,}\PY{l+m+mf}{0.99}\PY{p}{,}\PY{l+m+mf}{1.09}\PY{p}{,}\PY{l+m+mf}{1.49}\PY{p}{,}\PY{l+m+mf}{1.5}\PY{p}{]}\PY{p}{]}\PY{p}{)}
|
||||||
|
\end{Verbatim}
|
||||||
|
\end{tcolorbox}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\adjustimage{max size={0.9\linewidth}{0.9\paperheight}}{output_3_0.png}
|
||||||
|
\end{center}
|
||||||
|
{ \hspace*{\fill} \\}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\adjustimage{max size={0.9\linewidth}{0.9\paperheight}}{output_3_1.png}
|
||||||
|
\end{center}
|
||||||
|
{ \hspace*{\fill} \\}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\adjustimage{max size={0.9\linewidth}{0.9\paperheight}}{output_3_2.png}
|
||||||
|
\end{center}
|
||||||
|
{ \hspace*{\fill} \\}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\adjustimage{max size={0.9\linewidth}{0.9\paperheight}}{output_3_3.png}
|
||||||
|
\end{center}
|
||||||
|
{ \hspace*{\fill} \\}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\adjustimage{max size={0.9\linewidth}{0.9\paperheight}}{output_3_4.png}
|
||||||
|
\end{center}
|
||||||
|
{ \hspace*{\fill} \\}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\adjustimage{max size={0.9\linewidth}{0.9\paperheight}}{output_3_5.png}
|
||||||
|
\end{center}
|
||||||
|
{ \hspace*{\fill} \\}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\adjustimage{max size={0.9\linewidth}{0.9\paperheight}}{output_3_6.png}
|
||||||
|
\end{center}
|
||||||
|
{ \hspace*{\fill} \\}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\adjustimage{max size={0.9\linewidth}{0.9\paperheight}}{output_3_7.png}
|
||||||
|
\end{center}
|
||||||
|
{ \hspace*{\fill} \\}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\adjustimage{max size={0.9\linewidth}{0.9\paperheight}}{output_3_8.png}
|
||||||
|
\end{center}
|
||||||
|
{ \hspace*{\fill} \\}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\adjustimage{max size={0.9\linewidth}{0.9\paperheight}}{output_3_9.png}
|
||||||
|
\end{center}
|
||||||
|
{ \hspace*{\fill} \\}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\adjustimage{max size={0.9\linewidth}{0.9\paperheight}}{output_3_10.png}
|
||||||
|
\end{center}
|
||||||
|
{ \hspace*{\fill} \\}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\adjustimage{max size={0.9\linewidth}{0.9\paperheight}}{output_3_11.png}
|
||||||
|
\end{center}
|
||||||
|
{ \hspace*{\fill} \\}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\adjustimage{max size={0.9\linewidth}{0.9\paperheight}}{output_3_12.png}
|
||||||
|
\end{center}
|
||||||
|
{ \hspace*{\fill} \\}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\adjustimage{max size={0.9\linewidth}{0.9\paperheight}}{output_3_13.png}
|
||||||
|
\end{center}
|
||||||
|
{ \hspace*{\fill} \\}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\adjustimage{max size={0.9\linewidth}{0.9\paperheight}}{output_3_14.png}
|
||||||
|
\end{center}
|
||||||
|
{ \hspace*{\fill} \\}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\adjustimage{max size={0.9\linewidth}{0.9\paperheight}}{output_3_15.png}
|
||||||
|
\end{center}
|
||||||
|
{ \hspace*{\fill} \\}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\adjustimage{max size={0.9\linewidth}{0.9\paperheight}}{output_3_16.png}
|
||||||
|
\end{center}
|
||||||
|
{ \hspace*{\fill} \\}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\adjustimage{max size={0.9\linewidth}{0.9\paperheight}}{output_3_17.png}
|
||||||
|
\end{center}
|
||||||
|
{ \hspace*{\fill} \\}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\adjustimage{max size={0.9\linewidth}{0.9\paperheight}}{output_3_18.png}
|
||||||
|
\end{center}
|
||||||
|
{ \hspace*{\fill} \\}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\adjustimage{max size={0.9\linewidth}{0.9\paperheight}}{output_3_19.png}
|
||||||
|
\end{center}
|
||||||
|
{ \hspace*{\fill} \\}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\adjustimage{max size={0.9\linewidth}{0.9\paperheight}}{output_3_20.png}
|
||||||
|
\end{center}
|
||||||
|
{ \hspace*{\fill} \\}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\adjustimage{max size={0.9\linewidth}{0.9\paperheight}}{output_3_21.png}
|
||||||
|
\end{center}
|
||||||
|
{ \hspace*{\fill} \\}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\adjustimage{max size={0.9\linewidth}{0.9\paperheight}}{output_3_22.png}
|
||||||
|
\end{center}
|
||||||
|
{ \hspace*{\fill} \\}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\adjustimage{max size={0.9\linewidth}{0.9\paperheight}}{output_3_23.png}
|
||||||
|
\end{center}
|
||||||
|
{ \hspace*{\fill} \\}
|
||||||
|
|
||||||
|
\begin{tcolorbox}[breakable, size=fbox, boxrule=1pt, pad at break*=1mm,colback=cellbackground, colframe=cellborder]
|
||||||
|
\prompt{In}{incolor}{ }{\boxspacing}
|
||||||
|
\begin{Verbatim}[commandchars=\\\{\}]
|
||||||
|
|
||||||
|
\end{Verbatim}
|
||||||
|
\end{tcolorbox}
|
||||||
|
|
||||||
|
\begin{tcolorbox}[breakable, size=fbox, boxrule=1pt, pad at break*=1mm,colback=cellbackground, colframe=cellborder]
|
||||||
|
\prompt{In}{incolor}{ }{\boxspacing}
|
||||||
|
\begin{Verbatim}[commandchars=\\\{\}]
|
||||||
|
|
||||||
|
\end{Verbatim}
|
||||||
|
\end{tcolorbox}
|
||||||
|
|
||||||
|
|
||||||
|
% Add a bibliography block to the postdoc
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\end{document}
|
BIN
report/figures/figure_9/output_3_0.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
report/figures/figure_9/output_3_1.png
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
report/figures/figure_9/output_3_10.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
report/figures/figure_9/output_3_11.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
report/figures/figure_9/output_3_12.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
report/figures/figure_9/output_3_13.png
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
report/figures/figure_9/output_3_14.png
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
report/figures/figure_9/output_3_15.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
report/figures/figure_9/output_3_16.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
report/figures/figure_9/output_3_17.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
report/figures/figure_9/output_3_18.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
report/figures/figure_9/output_3_19.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
report/figures/figure_9/output_3_2.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
report/figures/figure_9/output_3_20.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
report/figures/figure_9/output_3_21.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
report/figures/figure_9/output_3_22.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
report/figures/figure_9/output_3_23.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
report/figures/figure_9/output_3_3.png
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
report/figures/figure_9/output_3_4.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
report/figures/figure_9/output_3_5.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
report/figures/figure_9/output_3_6.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
report/figures/figure_9/output_3_7.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
report/figures/figure_9/output_3_8.png
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
report/figures/figure_9/output_3_9.png
Normal file
After Width: | Height: | Size: 31 KiB |
|
@ -166,5 +166,5 @@ Unknown & Unknown & 1720 & 2.933251\% \\
|
||||||
0.591797 & 0.666992 & 500 & 0.852689\% \\
|
0.591797 & 0.666992 & 500 & 0.852689\% \\
|
||||||
0.958984 & 1.000000 & 200 & 0.341076\% \\
|
0.958984 & 1.000000 & 200 & 0.341076\% \\
|
||||||
}
|
}
|
||||||
\caption{Overwiew of machine configurations in terms of CPU and RAM resources for each cluster}
|
\caption{Overwiew of machine configurations in terms of CPU and RAM resources for each cluster}\label{fig:machineconfigs}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
|
@ -40,7 +40,7 @@
|
||||||
\machinetimewaste{Cluster F}{output_9_10.png}
|
\machinetimewaste{Cluster F}{output_9_10.png}
|
||||||
\machinetimewaste{Cluster G}{output_9_12.png}
|
\machinetimewaste{Cluster G}{output_9_12.png}
|
||||||
\machinetimewaste{Cluster H}{output_9_14.png}
|
\machinetimewaste{Cluster H}{output_9_14.png}
|
||||||
\caption{Total task time (in milliseconds) spent in each execution phase w.r.t. task termination.}
|
\caption{Total task time (in milliseconds) spent in each execution phase w.r.t. task termination.}\label{fig:machinetimewaste-abs}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
\begin{figure}
|
\begin{figure}
|
||||||
|
@ -54,5 +54,5 @@
|
||||||
\machinetimewaste{Cluster F}{output_9_11.png}
|
\machinetimewaste{Cluster F}{output_9_11.png}
|
||||||
\machinetimewaste{Cluster G}{output_9_13.png}
|
\machinetimewaste{Cluster G}{output_9_13.png}
|
||||||
\machinetimewaste{Cluster H}{output_9_15.png}
|
\machinetimewaste{Cluster H}{output_9_15.png}
|
||||||
\caption{Relative task time (in milliseconds) spent in each execution phase w.r.t. task termination.}
|
\caption{Relative task time (in milliseconds) spent in each execution phase w.r.t. task termination.}\label{fig:machinetimewaste-rel}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
|
@ -62,7 +62,7 @@ Finish & 0.8666\% & 0.8914\% \\
|
||||||
Kill & 88.0011\% & 85.6364\% \\
|
Kill & 88.0011\% & 85.6364\% \\
|
||||||
Lost & 0.0039\% & 0.0030\% \\
|
Lost & 0.0039\% & 0.0030\% \\
|
||||||
}
|
}
|
||||||
\caption{Relative usage of CPU and RAM resources w.r.t. final task termination.}
|
\caption{Relative usage of CPU and RAM resources w.r.t. final task termination.}\label{fig:spatialresourcewaste-actual}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
\begin{figure}
|
\begin{figure}
|
||||||
|
@ -138,5 +138,5 @@ Finish & 0.015642\% & 0.001873\% \\
|
||||||
Kill & 78.910066\% & 97.713322\% \\
|
Kill & 78.910066\% & 97.713322\% \\
|
||||||
Lost & 21.067264\% & 2.283888\% \\
|
Lost & 21.067264\% & 2.283888\% \\
|
||||||
}
|
}
|
||||||
\caption{Requested resource waste}
|
\caption{Relative request of CPU and RAM resources prior to tasks' execution w.r.t. final task termination.}\label{fig:spatialresourcewaste-requested}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
|
@ -245,5 +245,5 @@
|
||||||
450 & 0.535389\% & 1.054678 \\
|
450 & 0.535389\% & 1.054678 \\
|
||||||
\bottomrule
|
\bottomrule
|
||||||
\end{tabular}}
|
\end{tabular}}
|
||||||
\caption{Mean task slowdown for each cluster and each task priority}
|
\caption{Mean task slowdown for each cluster and each task priority}\label{fig:taskslowdown}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|