2020-08-18 12:58:39 +00:00
\let \accentvec \vec
\documentclass [] { llncs}
\usepackage { todonotes}
\newcommand { \eb } [1]{ \todo [inline] { (EB): #1} }
\newcommand { \jk } [1]{ \todo [inline] { JK: #1} }
\usepackage { silence}
\WarningFilter { biblatex} { Using}
\WarningFilter { latex} { Float too large}
\WarningFilter { caption} { Unsupported}
\WarningFilter { caption} { Unknown document}
\let \spvec \vec
\let \vec \accentvec
\usepackage { amsmath}
\let \vec \spvec
\usepackage { array}
\usepackage { xcolor}
\usepackage { color}
\usepackage { colortbl}
\usepackage { subcaption}
\usepackage { hyperref}
\usepackage { listings}
\usepackage { lstautogobble}
\usepackage [listings,skins,breakable,raster,most] { tcolorbox}
\usepackage { caption}
\lstset {
numberbychapter=false,
belowskip=-10pt,
aboveskip=-10pt,
}
\lstdefinestyle { lstcodebox} {
basicstyle=\scriptsize \ttfamily ,
autogobble=true,
tabsize=2,
captionpos=b,
float,
}
\usepackage { graphicx}
\graphicspath {
2020-08-19 18:01:48 +00:00
{ ./pictures/} ,
2020-08-20 11:23:32 +00:00
{ ../fig/} ,
{ ../}
2020-08-18 12:58:39 +00:00
}
\usepackage [backend=bibtex, style=numeric] { biblatex}
\addbibresource { bibliography.bib}
\usepackage { enumitem}
\setitemize { noitemsep,topsep=0pt,parsep=0pt,partopsep=0pt}
\definecolor { darkgreen} { rgb} { 0,0.5,0}
\definecolor { darkyellow} { rgb} { 0.7,0.7,0}
\usepackage { cleveref}
\crefname { codecount} { Code} { Codes}
\title { Using Machine Learning to Identify Similar Jobs Based on their IO Behavior}
\author { Julian Kunkel\inst { 2} \and Eugen Betke\inst { 1} }
\institute {
University of Reading--%
\email { j.m.kunkel@reading.ac.uk} %
\and
DKRZ --
\email { betke@dkrz.de} %
}
\begin { document}
\maketitle
\begin { abstract}
Support staff.
Problem, a particular job found that isn't performing well.
Now how can we find similar jobs?
Problem with definition of similarity.
In this paper, a methodology and algorithms to identify similar jobs based on profiles and time series are illustrated.
Similar to a study.
Research questions: is this effective to find similar jobs?
The contribution of this paper...
\end { abstract}
\section { Introduction}
%This paper is structured as follows.
%We start with the related work in \Cref{sec:relwork}.
%Then, in TODO we introduce the DKRZ monitoring systems and explain how I/O metrics are captured by the collectors.
%In \Cref{sec:methodology} we describe the data reduction and the machine learning approaches and do an experiment in \Cref{sec:data,sec:evaluation}.
%Finally, we finalize our paper with a summary in \Cref{sec:summary}.
\section { Related Work}
\label { sec:relwork}
\section { Methodology}
\label { sec:methodology}
Given: the reference job ID.
Create from 4D time series data (number of nodes, per file systems, 9 metrics, time) a feature set.
Adapt the algorithms:
\begin { itemize}
\item iterate for all jobs
\begin { itemize}
\item compute distance to reference job
\end { itemize}
\item sort the jobs based on the distance to ref job
\item create cumulative job distribution based on distance for visualization, allow users to output jobs with a given distance
\end { itemize}
A user might be interested to explore say closest 10 or 50 jobs.
Algorithms:
Profile algorithm: job-profiles (job-duration, job-metrics, combine both)
$ \rightarrow $ just compute geom-mean distance between profile
Check time series algorithms:
\begin { itemize}
\item bin
2020-08-19 18:01:48 +00:00
\item hex\_ native
\item hex\_ lev
\item hex\_ quant
2020-08-18 12:58:39 +00:00
\end { itemize}
\section { Evaluation}
\label { sec:evaluation}
2020-08-21 18:12:33 +00:00
For each reference job and algorithm, we created a CSV files with the computed similarity for all other jobs.
Next, we analyzed the performance of the algorithm.
Then the quantitative behavior and the correlation between chosen similarity and number of found jobs, and, finally, the quality of the 100 most similar jobs.
\subsection { Reference Jobs}
2020-08-20 10:48:27 +00:00
In the following, we assume a job is given and we aim to identify similar jobs.
2020-08-21 18:12:33 +00:00
We chose several reference jobs with different compute and IO characteristics:
2020-08-18 12:58:39 +00:00
\begin { itemize}
2020-08-21 18:12:33 +00:00
\item Job-S: performs post-processing on a single node. This is a typical process in climate science where data products are reformatted and annotated with metadata to a standard representation (so called CMORization). The post-processing is IO intensive.
2020-08-20 10:48:27 +00:00
\item Job-M: a typical MPI parallel 8-hour compute job on 128 nodes which writes time series data after some spin up. %CHE.ws12
\item Job-L: a 66-hour 20-node job.
The initialization data is read at the beginning.
Then only a single master node writes constantly a small volume of data; in fact, the generated data is too small to be categorized as IO relevant.
2020-08-18 12:58:39 +00:00
\end { itemize}
2020-08-21 18:12:33 +00:00
The segmented timeline of the jobs are visualized in \Cref { fig:refJobs} .
This coding is also used for the HEX class of algorithms (BIN algorithms merge all timelines together as described in \jk { TODO} .
The figures show the values of active metrics ($ \neq 0 $ ) only; if few are active then they are shown in one timeline, otherwise they are rendered individually to provide a better overview.
For example, we can see in \Cref { fig:job-S} , that several metrics increase in Segment\, 6.
2020-08-19 18:01:48 +00:00
\begin { figure}
\begin { subfigure} { 0.8\textwidth }
2020-08-20 11:23:32 +00:00
\centering
2020-08-19 18:01:48 +00:00
\includegraphics [width=\textwidth] { job-timeseries4296426}
\caption { Job-S} \label { fig:job-S}
\end { subfigure}
2020-08-20 11:23:32 +00:00
\centering
2020-08-19 18:01:48 +00:00
\begin { subfigure} { 0.8\textwidth }
2020-08-20 11:23:32 +00:00
\centering
2020-08-19 18:01:48 +00:00
\includegraphics [width=\textwidth] { job-timeseries5024292}
\caption { Job-M} \label { fig:job-M}
\end { subfigure}
2020-08-20 11:23:32 +00:00
\centering
2020-08-19 18:01:48 +00:00
2020-08-21 18:12:33 +00:00
\caption { Reference jobs: segmented timelines of mean IO activity}
\label { fig:refJobs}
\end { figure}
\begin { figure} \ContinuedFloat
2020-08-19 18:01:48 +00:00
\begin { subfigure} { 0.8\textwidth }
2020-08-20 11:23:32 +00:00
\centering
2020-08-21 18:12:33 +00:00
\includegraphics [width=\textwidth] { job-timeseries7488914-30}
2020-08-19 18:01:48 +00:00
\caption { Job-L (first 30 segments of 400; remaining segments are similar)}
\label { fig:job-L}
\end { subfigure}
2020-08-20 11:23:32 +00:00
\centering
2020-08-21 18:12:33 +00:00
\caption { Reference jobs: segmented timelines of mean IO activity}
2020-08-19 18:01:48 +00:00
\end { figure}
2020-08-20 11:23:32 +00:00
2020-08-21 18:12:33 +00:00
\subsection { Performance}
\jk { Describe System at DKRZ from old paper}
The runtime for computing the similarity of relevant IO jobs (580,000 and 440,000 for BIN and HEX algorithms, respectively) is shown in \Cref { fig:performance} .
\jk { TO FIX, This is for clustering algorithm, not for computing SIM, which is what we do here.}
\begin { figure}
\centering
\begin { subfigure} { 0.8\textwidth }
\centering
\includegraphics [width=\textwidth] { runtime-overview}
\caption { Overview to process all jobs} \label { fig:runtime-overview}
\end { subfigure}
\begin { subfigure} { 0.8\textwidth }
\centering
\includegraphics [width=\textwidth] { runtime-cummulative}
\caption { Cumulative} \label { fig:runtime-cummulative}
\end { subfigure}
\caption { Performance of the algorithms}
\label { fig:performance}
\end { figure}
\subsection { Quantitative Analysis}
In the quantitative analysis, we explore for the different algorithms how the similarity of our pool of jobs behaves to our three reference jobs (Job-S, Job-M, and Job-L).
The cumulative distribution of similarity to the reference jobs is shown in \Cref { fig:ecdf} .
For example, in \Cref { fig:ecdf-job-S} , we see that about 70\% have a similarity of less than 10\% to Job-S for HEX\_ native.
BIN\_ aggzeros shows some steep increases, e.g., more than 75\% of jobs have the same low similarity below 2\% .
The different algorithms lead to different curves for our reference jobs, e.g., for Job-S, HEX\_ phases bundles more jobs with low similarity compared to the other jobs; in Job-L, it is the slowest.
% This indicates that the algorithms
The support team in a data center may have time to investigate the most similar jobs.
Time for the analysis is typically bound, for instance, the team may analyze the 100 most similar jobs.
In \Cref { fig:hist} , the histograms with the actual number of jobs for a given similarity are shown.
As we focus on a feasible number of jobs, the diagram should be read from right (100\% similarity) to left and for a bin we show at most 100 jobs (total number is still given).
It turns out that both BIN algorithms produce nearly identical histograms and we omit one of them.
In the figures, we can see again a different behavior of the algorithms depending on the reference job.
Especially for Job-S, we can see clusters with jobs of higher similarity while for Job-M, the growth in the relevant section is more steady.
For Job-L, we find barely similar jobs, except when using the HEX\_ phases algorithm.
2020-08-20 11:23:32 +00:00
\begin { figure}
\begin { subfigure} { 0.8\textwidth }
\centering
2020-08-21 18:12:33 +00:00
\includegraphics [width=\textwidth] { job_ similarities_ 4296426-out/ecdf}
2020-08-20 11:23:32 +00:00
\caption { Job-S} \label { fig:ecdf-job-S}
\end { subfigure}
\centering
\begin { subfigure} { 0.8\textwidth }
\centering
2020-08-21 18:12:33 +00:00
\includegraphics [width=\textwidth] { job_ similarities_ 5024292-out/ecdf}
2020-08-20 11:23:32 +00:00
\caption { Job-M} \label { fig:ecdf-job-M}
\end { subfigure}
\centering
\begin { subfigure} { 0.8\textwidth }
\centering
2020-08-21 18:12:33 +00:00
\includegraphics [width=\textwidth] { job_ similarities_ 7488914-out/ecdf}
2020-08-20 11:23:32 +00:00
\caption { Job-L} \label { fig:ecdf-job-L}
\end { subfigure}
\centering
2020-08-21 18:12:33 +00:00
\caption { Quantitative job similarity -- empirical cumulative density function}
2020-08-20 11:23:32 +00:00
\label { fig:ecdf}
\end { figure}
\begin { figure}
2020-08-21 18:12:33 +00:00
\centering
2020-08-20 11:23:32 +00:00
2020-08-21 18:12:33 +00:00
\begin { subfigure} { 0.75\textwidth }
2020-08-20 11:23:32 +00:00
\centering
2020-08-21 18:12:33 +00:00
\includegraphics [width=\textwidth,trim={0 0 0 2.2cm},clip] { job_ similarities_ 4296426-out/hist-sim}
2020-08-20 11:23:32 +00:00
\caption { Job-S} \label { fig:hist-job-S}
\end { subfigure}
2020-08-21 18:12:33 +00:00
\begin { subfigure} { 0.75\textwidth }
2020-08-20 11:23:32 +00:00
\centering
2020-08-21 18:12:33 +00:00
\includegraphics [width=\textwidth,trim={0 0 0 2.2cm},clip] { job_ similarities_ 5024292-out/hist-sim}
2020-08-20 11:23:32 +00:00
\caption { Job-M} \label { fig:hist-job-M}
\end { subfigure}
2020-08-21 18:12:33 +00:00
\begin { subfigure} { 0.75\textwidth }
2020-08-20 11:23:32 +00:00
\centering
2020-08-21 18:12:33 +00:00
\includegraphics [width=\textwidth,trim={0 0 0 2.2cm},clip] { job_ similarities_ 7488914-out/hist-sim}
2020-08-20 11:23:32 +00:00
\caption { Job-L} \label { fig:hist-job-L}
\end { subfigure}
\centering
2020-08-21 18:12:33 +00:00
\caption { Histogram for the number of jobs (bin width: 2.5\% , numbers are the actual job counts). BIN\_ aggzeros is nearly identical to BIN\_ all.}
2020-08-20 15:16:46 +00:00
\label { fig:hist}
\end { figure}
\subsection { Quantitative Analysis of Selected Jobs}
2020-08-20 19:39:42 +00:00
User count and group id is the same, meaning that a user is likely from the same group and the number of groups is identical to the number of users (unique), for Job-L user id and group count differ a bit, for Job-M a bit more.
Up to about 2x users than groups.
To understand how the Top\, 100 jobs are distributed across users, the data is grouped by userid and counted.
\Cref { fig:userids} shows the stacked user information, where the lowest stack is the user with the most jobs and the top most user in the stack has the smallest number of jobs.
For Job-S, we can see that about 70-80\% of jobs stem from one user, for the hex\_ lev and hex\_ native algorithms, the other jobs stem from a second user while bin includes jobs from additional users (5 in total).
For Job-M, jobs from more users are included (13); about 25\% of jobs stem from the same user, here, hex\_ lev and hex\_ native is including more users (30 and 33, respectively) than the other three algorithms.
For Job-L, the two hex algorithms include with (12 and 13) a bit more diverse user community than the bin algorithms (9) but hex\_ phases covers 35 users.
\begin { figure}
\begin { subfigure} { 0.31\textwidth }
\centering
\includegraphics [width=\textwidth] { job_ similarities_ 4296426-out/user-ids}
\caption { Job-S} \label { fig:users-job-S}
\end { subfigure}
\begin { subfigure} { 0.31\textwidth }
\centering
\includegraphics [width=\textwidth] { job_ similarities_ 5024292-out/user-ids}
\caption { Job-M} \label { fig:users-job-M}
\end { subfigure}
\begin { subfigure} { 0.31\textwidth }
\centering
\includegraphics [width=\textwidth] { job_ similarities_ 7488914-out/user-ids}
\caption { Job-L} \label { fig:users-job-L}
\end { subfigure}
\caption { User information for each jobs}
\label { fig:userids}
\end { figure}
2020-08-20 15:16:46 +00:00
\begin { figure}
2020-08-20 17:24:56 +00:00
\begin { subfigure} { 0.31\textwidth }
2020-08-20 15:16:46 +00:00
\centering
\includegraphics [width=\textwidth] { job_ similarities_ 4296426-out/jobs-nodes}
\caption { Job-S} \label { fig:nodes-job-S}
\end { subfigure}
2020-08-20 17:24:56 +00:00
\begin { subfigure} { 0.31\textwidth }
2020-08-20 15:16:46 +00:00
\centering
\includegraphics [width=\textwidth] { job_ similarities_ 5024292-out/jobs-nodes}
\caption { Job-M} \label { fig:nodes-job-M}
\end { subfigure}
2020-08-20 17:24:56 +00:00
\begin { subfigure} { 0.31\textwidth }
2020-08-20 15:16:46 +00:00
\centering
\includegraphics [width=\textwidth] { job_ similarities_ 7488914-out/jobs-nodes}
\caption { Job-L} \label { fig:nodes-job-L}
\end { subfigure}
\centering
\caption { Distribution of node counts}
\label { fig:nodes-job}
\end { figure}
\begin { figure}
2020-08-20 17:24:56 +00:00
\begin { subfigure} { 0.31\textwidth }
2020-08-20 15:16:46 +00:00
\centering
\includegraphics [width=\textwidth] { job_ similarities_ 4296426-out/jobs-elapsed}
\caption { Job-S} \label { fig:runtime-job-S}
\end { subfigure}
2020-08-20 17:24:56 +00:00
\begin { subfigure} { 0.31\textwidth }
2020-08-20 15:16:46 +00:00
\centering
\includegraphics [width=\textwidth] { job_ similarities_ 5024292-out/jobs-elapsed}
\caption { Job-M} \label { fig:runtime-job-M}
\end { subfigure}
2020-08-20 17:24:56 +00:00
\begin { subfigure} { 0.31\textwidth }
2020-08-20 15:16:46 +00:00
\centering
\includegraphics [width=\textwidth] { job_ similarities_ 7488914-out/jobs-elapsed}
\caption { Job-L} \label { fig:runtime-job-L}
\end { subfigure}
\centering
\caption { Distribution of elapsed runtime}
\label { fig:runtime-job}
\end { figure}
2020-08-20 17:24:56 +00:00
To see how different the algorithms behave, the intersection of two algorithms is computed for the 100 jobs with the highest similarity and visualized in \Cref { fig:heatmap-job} .
As expected, we can observe that bin\_ all and bin\_ aggzeros is very similar for all three jobs.
While there is some reordering, both algorithms lead to a comparable order.
The hex\_ lev and hex\_ native algorithms are also exhibiting some overlap particularly for Job-S and Job-L.
For Job\- M, however, they lead to a different ranking and Top\, 100.
From the analysis, we conclude that one representative from binary quantization is sufficient while the other algorithms identify mostly disjoint behavioral aspects and, therefore, should be considered together.
2020-08-20 15:16:46 +00:00
2020-08-20 17:24:56 +00:00
One consideration is to identify jobs that meet a rank threshold for all different algorithms.
\jk { TODO}
2020-08-20 15:16:46 +00:00
\begin { figure}
2020-08-20 17:24:56 +00:00
\begin { subfigure} { 0.31\textwidth }
2020-08-20 15:16:46 +00:00
\centering
\includegraphics [width=\textwidth] { job_ similarities_ 4296426-out/intersection-heatmap}
\caption { Job-S} \label { fig:heatmap-job-S}
\end { subfigure}
2020-08-20 17:24:56 +00:00
\begin { subfigure} { 0.31\textwidth }
2020-08-20 15:16:46 +00:00
\centering
\includegraphics [width=\textwidth] { job_ similarities_ 5024292-out/intersection-heatmap}
\caption { Job-M} \label { fig:heatmap-job-M}
\end { subfigure}
2020-08-20 17:24:56 +00:00
\begin { subfigure} { 0.31\textwidth }
2020-08-20 15:16:46 +00:00
\centering
\includegraphics [width=\textwidth] { job_ similarities_ 7488914-out/intersection-heatmap}
\caption { Job-L} \label { fig:heatmap-job-L}
\end { subfigure}
\centering
\caption { Intersection of the top 100 jobs for the different algorithms}
\label { fig:heatmap-job}
\end { figure}
\section { Assessing Timelines for Similar Jobs}
\subsection { Job-S}
\begin { figure}
\begin { subfigure} { 0.3\textwidth }
\centering
2020-08-20 17:24:56 +00:00
\includegraphics [width=\textwidth] { job_ similarities_ 4296426-out/hex_ lev-0.9615--1timeseries4296288}
2020-08-20 15:16:46 +00:00
\caption { Rank 2, SIM=0.9615}
\end { subfigure}
\begin { subfigure} { 0.3\textwidth }
\centering
2020-08-20 17:24:56 +00:00
\includegraphics [width=\textwidth] { job_ similarities_ 4296426-out/hex_ lev-0.9012--15timeseries4296277}
2020-08-20 15:16:46 +00:00
\caption { Rank 15, SIM=0.9017}
\end { subfigure}
\begin { subfigure} { 0.3\textwidth }
\centering
2020-08-20 17:24:56 +00:00
\includegraphics [width=\textwidth] { job_ similarities_ 4296426-out/hex_ lev-0.7901--99timeseries4297842}
2020-08-20 15:16:46 +00:00
\caption { Rank\, 100, SIM=0.790}
\end { subfigure}
\caption { Job-S with Hex-Lev, selection of similar jobs}
\label { fig:job-S-hex-lev}
\end { figure}
\begin { figure}
\begin { subfigure} { 0.3\textwidth }
\centering
2020-08-20 17:24:56 +00:00
\includegraphics [width=\textwidth] { job_ similarities_ 4296426-out/hex_ native-0.9808--1timeseries4296288}
2020-08-20 15:16:46 +00:00
\caption { Rank 2, SIM=}
\end { subfigure}
\begin { subfigure} { 0.3\textwidth }
\centering
2020-08-20 17:24:56 +00:00
\includegraphics [width=\textwidth] { job_ similarities_ 4296426-out/hex_ native-0.9375--15timeseries4564296}
2020-08-20 15:16:46 +00:00
\caption { Rank 15, SIM=}
\end { subfigure}
\begin { subfigure} { 0.3\textwidth }
\centering
2020-08-20 17:24:56 +00:00
\includegraphics [width=\textwidth] { job_ similarities_ 4296426-out/hex_ native-0.8915--99timeseries4296785}
2020-08-20 15:16:46 +00:00
\caption { Rank\, 100, SIM=}
\end { subfigure}
\caption { Job-S with Hex-Native, selection of similar jobs}
\label { fig:job-S-hex-native}
2020-08-20 11:23:32 +00:00
\end { figure}
2020-08-20 17:24:56 +00:00
% \ContinuedFloat
Hex phases very similar to hex native.
2020-08-21 18:12:33 +00:00
Komischer JOB zu inspizieren: \verb |job_ similarities_ 4296426-out/hex_ phases-0.7429--93timeseries4237860|
2020-08-20 17:24:56 +00:00
Bin aggzeros works quite well here too. The jobs are a bit more diverse.
2020-08-20 11:23:32 +00:00
2020-08-20 15:16:46 +00:00
\begin { figure}
\begin { subfigure} { 0.3\textwidth }
\centering
2020-08-20 17:24:56 +00:00
\includegraphics [width=\textwidth] { job_ similarities_ 4296426-out/bin_ aggzeros-0.8462--1timeseries4296280}
\caption { Rank 2, SIM=}
2020-08-20 15:16:46 +00:00
\end { subfigure}
\begin { subfigure} { 0.3\textwidth }
\centering
2020-08-21 16:21:33 +00:00
\includegraphics [width=\textwidth] { job_ similarities_ 4296426-out/bin_ aggzeros-0.7778--14timeseries4555405}
2020-08-20 17:24:56 +00:00
\caption { Rank 15, SIM=}
2020-08-20 15:16:46 +00:00
\end { subfigure}
\begin { subfigure} { 0.3\textwidth }
\centering
2020-08-21 16:21:33 +00:00
\includegraphics [width=\textwidth] { job_ similarities_ 4296426-out/bin_ aggzeros-0.6923--99timeseries4687419}
2020-08-20 17:24:56 +00:00
\caption { Rank\, 100, SIM=}
2020-08-20 15:16:46 +00:00
\end { subfigure}
2020-08-20 17:24:56 +00:00
\caption { Job-S with bin\_ aggzero, selection of similar jobs}
\label { fig:job-S-bin-aggzeros}
2020-08-20 15:16:46 +00:00
\end { figure}
\subsection { Job-M}
2020-08-20 17:24:56 +00:00
Bin aggzero liefert Mist zurück.
2020-08-20 15:16:46 +00:00
\begin { figure}
\begin { subfigure} { 0.3\textwidth }
\centering
2020-08-20 17:24:56 +00:00
\includegraphics [width=\textwidth] { job_ similarities_ 5024292-out/bin_ aggzeros-0.7755--1timeseries8010306}
2020-08-20 15:16:46 +00:00
\caption { Rank 2, $ SIM = $ }
\end { subfigure}
\begin { subfigure} { 0.3\textwidth }
\centering
2020-08-21 16:21:33 +00:00
\includegraphics [width=\textwidth] { job_ similarities_ 5024292-out/bin_ aggzeros-0.7347--14timeseries4498983}
2020-08-20 15:16:46 +00:00
\caption { $ SIM = $ }
\end { subfigure}
\begin { subfigure} { 0.3\textwidth }
\centering
2020-08-20 17:24:56 +00:00
\includegraphics [width=\textwidth] { job_ similarities_ 5024292-out/bin_ aggzeros-0.5102--99timeseries5120077}
2020-08-20 15:16:46 +00:00
\caption { $ SIM = $ }
\end { subfigure}
\caption { Job-M with Bin-Aggzero, selection of similar jobs}
\label { fig:job-M-bin-aggzero}
\end { figure}
\begin { figure}
\begin { subfigure} { 0.3\textwidth }
\centering
2020-08-20 17:24:56 +00:00
\includegraphics [width=\textwidth] { job_ similarities_ 5024292-out/hex_ lev-0.9546--1timeseries7826634}
2020-08-20 15:16:46 +00:00
\caption { Rank 2, $ SIM = $ }
\end { subfigure}
\begin { subfigure} { 0.3\textwidth }
\centering
2020-08-20 17:24:56 +00:00
\includegraphics [width=\textwidth] { job_ similarities_ 5024292-out/hex_ lev-0.9365--2timeseries5240733}
\caption { Rank 3, $ SIM = $ }
\end { subfigure}
\begin { subfigure} { 0.3\textwidth }
\includegraphics [width=\textwidth] { job_ similarities_ 5024292-out/hex_ lev-0.7392--15timeseries7651420}
2020-08-20 15:16:46 +00:00
\caption { $ SIM = $ }
\end { subfigure}
\begin { subfigure} { 0.3\textwidth }
\centering
2020-08-21 16:21:33 +00:00
\includegraphics [width=\textwidth] { job_ similarities_ 5024292-out/hex_ lev-0.7007--99timeseries8201967}
2020-08-20 15:16:46 +00:00
\caption { $ SIM = $ }
\end { subfigure}
2020-08-20 17:24:56 +00:00
\caption { Job-M with hex\_ lev, selection of similar jobs}
\label { fig:job-M-hex-lev}
2020-08-20 15:16:46 +00:00
\end { figure}
2020-08-20 17:24:56 +00:00
\begin { figure}
\begin { subfigure} { 0.3\textwidth }
\centering
\includegraphics [width=\textwidth] { job_ similarities_ 5024292-out/hex_ native-0.9878--1timeseries5240733}
\caption { Rank 2, $ SIM = $ }
\end { subfigure}
\begin { subfigure} { 0.3\textwidth }
\centering
\includegraphics [width=\textwidth] { job_ similarities_ 5024292-out/hex_ native-0.9651--2timeseries7826634}
\caption { Rank 3, $ SIM = $ }
\end { subfigure}
\begin { subfigure} { 0.3\textwidth }
\includegraphics [width=\textwidth] { job_ similarities_ 5024292-out/hex_ native-0.9084--14timeseries8037817}
\caption { $ SIM = $ }
\end { subfigure}
\begin { subfigure} { 0.3\textwidth }
\centering
\includegraphics [width=\textwidth] { job_ similarities_ 5024292-out/hex_ native-0.8838--99timeseries7571967}
\caption { $ SIM = $ }
\end { subfigure}
\caption { Job-M with hex\_ native, selection of similar jobs}
\label { fig:job-M-hex-native}
\end { figure}
\begin { figure}
\begin { subfigure} { 0.3\textwidth }
\centering
2020-08-21 16:21:33 +00:00
\includegraphics [width=\textwidth] { job_ similarities_ 5024292-out/hex_ phases-0.8831--1timeseries7826634}
2020-08-20 17:24:56 +00:00
\caption { Rank 2, $ SIM = $ }
\end { subfigure}
\begin { subfigure} { 0.3\textwidth }
\centering
2020-08-21 16:21:33 +00:00
\includegraphics [width=\textwidth] { job_ similarities_ 5024292-out/hex_ phases-0.7963--2timeseries5240733}
2020-08-20 17:24:56 +00:00
\caption { Rank 3, $ SIM = $ }
\end { subfigure}
\begin { subfigure} { 0.3\textwidth }
2020-08-21 16:21:33 +00:00
\includegraphics [width=\textwidth] { job_ similarities_ 5024292-out/hex_ phases-0.4583--14timeseries4244400}
2020-08-20 17:24:56 +00:00
\caption { $ SIM = $ }
\end { subfigure}
\begin { subfigure} { 0.3\textwidth }
\centering
2020-08-21 16:21:33 +00:00
\includegraphics [width=\textwidth] { job_ similarities_ 5024292-out/hex_ phases-0.2397--99timeseries7644009}
2020-08-20 17:24:56 +00:00
\caption { $ SIM = $ }
\end { subfigure}
\caption { Job-M with hex\_ phases, selection of similar jobs}
\label { fig:job-M-hex-phases}
\end { figure}
2020-08-20 15:16:46 +00:00
\subsection { Job-L}
2020-08-20 17:24:56 +00:00
\begin { figure}
\begin { subfigure} { 0.3\textwidth }
\centering
2020-08-21 16:21:33 +00:00
\includegraphics [width=\textwidth] { job_ similarities_ 7488914-out/bin_ aggzeros-0.1671--1timeseries7869050}
2020-08-20 17:24:56 +00:00
\caption { Rank 2, $ SIM = $ }
\end { subfigure}
\begin { subfigure} { 0.3\textwidth }
\centering
2020-08-21 16:21:33 +00:00
\includegraphics [width=\textwidth] { job_ similarities_ 7488914-out/bin_ aggzeros-0.1671--2timeseries7990497}
2020-08-20 17:24:56 +00:00
\caption { Rank 3, $ SIM = $ }
\end { subfigure}
\begin { subfigure} { 0.3\textwidth }
2020-08-21 16:21:33 +00:00
\includegraphics [width=\textwidth] { job_ similarities_ 7488914-out/bin_ aggzeros-0.1521--14timeseries8363584}
2020-08-20 17:24:56 +00:00
\caption { $ SIM = $ }
\end { subfigure}
\begin { subfigure} { 0.3\textwidth }
\centering
2020-08-21 16:21:33 +00:00
\includegraphics [width=\textwidth] { job_ similarities_ 7488914-out/bin_ aggzeros-0.1097--97timeseries4262983}
2020-08-20 17:24:56 +00:00
\caption { $ SIM = $ }
\end { subfigure}
\caption { Job-L with bin\_ aggzero, selection of similar jobs}
\label { fig:job-L-bin-aggzero}
\end { figure}
\begin { figure}
\begin { subfigure} { 0.3\textwidth }
\centering
\includegraphics [width=\textwidth] { job_ similarities_ 7488914-out/hex_ lev-0.9386--1timeseries7266845}
\caption { Rank 2, $ SIM = $ }
\end { subfigure}
\begin { subfigure} { 0.3\textwidth }
\centering
\includegraphics [width=\textwidth] { job_ similarities_ 7488914-out/hex_ lev-0.9375--2timeseries7214657}
\caption { Rank 3, $ SIM = $ }
\end { subfigure}
\begin { subfigure} { 0.3\textwidth }
\includegraphics [width=\textwidth] { job_ similarities_ 7488914-out/hex_ lev-0.7251--14timeseries4341304}
\caption { $ SIM = $ }
\end { subfigure}
\begin { subfigure} { 0.3\textwidth }
\centering
\includegraphics [width=\textwidth] { job_ similarities_ 7488914-out/hex_ lev-0.1657--99timeseries8036223}
\caption { $ SIM = $ (30s)}
\end { subfigure}
\caption { Job-L with hex\_ lev, selection of similar jobs}
2020-08-21 18:12:33 +00:00
\label { fig:job-L-hex-lev}
2020-08-20 17:24:56 +00:00
\end { figure}
\begin { figure}
\begin { subfigure} { 0.3\textwidth }
\centering
\includegraphics [width=\textwidth] { job_ similarities_ 7488914-out/hex_ native-0.9390--1timeseries7266845}
\caption { Rank 2, $ SIM = $ }
\end { subfigure}
\begin { subfigure} { 0.3\textwidth }
\centering
\includegraphics [width=\textwidth] { job_ similarities_ 7488914-out/hex_ native-0.9333--2timeseries7214657}
\caption { Rank 3, $ SIM = $ }
\end { subfigure}
\begin { subfigure} { 0.3\textwidth }
\includegraphics [width=\textwidth] { job_ similarities_ 7488914-out/hex_ native-0.8708--14timeseries4936553}
\caption { $ SIM = $ }
\end { subfigure}
\begin { subfigure} { 0.3\textwidth }
\centering
2020-08-21 16:21:33 +00:00
\includegraphics [width=\textwidth] { job_ similarities_ 7488914-out/hex_ native-0.1695--99timeseries7942052}
2020-08-20 17:24:56 +00:00
\caption { $ SIM = $ }
\end { subfigure}
\caption { Job-L with hex\_ native, selection of similar jobs}
\label { fig:job-L-hex-native}
\end { figure}
\begin { figure}
\begin { subfigure} { 0.3\textwidth }
\centering
2020-08-21 16:21:33 +00:00
\includegraphics [width=\textwidth] { job_ similarities_ 7488914-out/hex_ phases-1.0000--14timeseries4577917}
2020-08-20 17:24:56 +00:00
\caption { Rank 2, $ SIM = $ }
\end { subfigure}
\begin { subfigure} { 0.3\textwidth }
\centering
2020-08-21 16:21:33 +00:00
\includegraphics [width=\textwidth] { job_ similarities_ 7488914-out/hex_ phases-1.0000--1timeseries4405671}
2020-08-20 17:24:56 +00:00
\caption { Rank 3, $ SIM = $ }
\end { subfigure}
\begin { subfigure} { 0.3\textwidth }
2020-08-21 16:21:33 +00:00
\includegraphics [width=\textwidth] { job_ similarities_ 7488914-out/hex_ phases-1.0000--2timeseries4621422}
2020-08-20 17:24:56 +00:00
\caption { $ SIM = $ }
\end { subfigure}
\begin { subfigure} { 0.3\textwidth }
\centering
2020-08-21 16:21:33 +00:00
\includegraphics [width=\textwidth] { job_ similarities_ 7488914-out/hex_ phases-1.0000--99timeseries4232293}
2020-08-20 17:24:56 +00:00
\caption { $ SIM = $ }
\end { subfigure}
\caption { Job-L with hex\_ phases, selection of similar jobs}
\label { fig:job-L-hex-phases}
\end { figure}
2020-08-20 15:16:46 +00:00
\section { Conclusion}
2020-08-18 12:58:39 +00:00
\label { sec:summary}
%\printbibliography
\end { document}