-
Notifications
You must be signed in to change notification settings - Fork 23
/
part01.tex
184 lines (137 loc) · 4.54 KB
/
part01.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
\documentclass[english,serif,mathserif,xcolor=pdftex,dvipsnames,table]{beamer}
\usetheme{gc3}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{gc3}
\title[Introduction]{%
Overview of common GC3Pie use cases
}
\author[R. Murri, S3IT UZH]{%
Riccardo Murri \texttt{<riccardo.murri@uzh.ch>}
\\[1ex]
\emph{S3IT: Services and Support for Science IT}
\\[1ex]
University of Zurich
}
\date{Aug.~28 -- Sep.~1, 2017}
\begin{document}
% title frame
\maketitle
\begin{frame}
\frametitle{What is GC3Pie?}
GC3Pie is \ldots
\begin{enumerate}
\item \alert<1>{An \emph{opinionated} Python framework for defining and running computational workflows;}
\item A \emph{rapid development toolkit} for running user applications on clusters and IaaS cloud resources;
\item The worst name ever given to a middleware piece\ldots
\end{enumerate}
\+
As \emph{developers}, \alert<1>{you're mostly interested in this part.}
\end{frame}
\part{Uses of GC3Pie}
\begin{frame}[fragile]
\frametitle{Uses of GC3Pie: parameter sweep}
You have a simulation code that is dependent on a number of parameters.
\+
Run the code for all possible combinations of parameters.
\+
Then collect all the outputs and post-process to get a
statistical overview.
\end{frame}
\begin{frame}[fragile]
\frametitle{Uses of GC3Pie: model calibration}
You have a simulation code that is dependent on a number of parameters.
\+
Run the code for all possible combinations of parameters, and
find the ones that ``best'' approximate a given experimental result.
\end{frame}
\begin{frame}[fragile]
\frametitle{Uses of GC3Pie: parallel processing}
Run the same program over and over again,
feeding it different input files each time.
\+
Then collect all the outputs and post-process to get a
statistical overview.
\end{frame}
\begin{frame}[fragile]
\frametitle{Uses of GC3Pie: parallel processing}
(At times, you chop a large input file into pieces and process each one separately instead.)
\+
\begin{quote}
``For example, say we have a de novo assembly of 100,000
contigs. If we run 1 BLAST job against NR it could take as long as
50,000 minutes/35 days!! (30sec/query sequence), however if we
split this job into subsets of 5,000 sequences and ran 20 jobs in
"parallel" on a cluster, our total run-time is reduced to only 41
hours.''
\end{quote}
\begin{references}
\url{http://sfg.stanford.edu/BLAST.html}
\end{references}
\end{frame}
\begin{frame}
\frametitle{Uses of GC3Pie: workflows}
\begin{center}
Orchestrate execution of several applications:
some steps may run in parallel, some might need to be sequenced.
\+
\only<1>{%
\begin{tabular}[c]{ccc}
\includegraphics[width=0.4\textwidth]{fig/butterfly.jpg}
&
\includegraphics[width=0.1\textwidth,totalheight=0.25\textheight]{fig/arrow.pdf}
&
\includegraphics[width=0.4\textwidth]{fig/warholized-butterfly.jpg}
\end{tabular}
\+
{\tiny\em (Butterfly image originally from
\href{https://pixabay.com/it/farfalla-rondine-farfalla-a-coda-1228639/}{pixabay.com})}
}%
\only<2>{%
\includegraphics[width=0.70\textwidth]{fig/warholize-wkf-with-results.pdf}
}%
\end{center}
\end{frame}
\part{How GC3Pie works}
\begin{frame}
\frametitle{A typical high-throughput script structure}
\begin{enumerate}
\item Initialize computational resources
\item Prepare programs and inputs for submission
\item Submit tasks
\item Monitor task status (loop)
\item Retrieve results
\item Postprocess and display
\end{enumerate}
\end{frame}
\newcommand<>\fullgraphicsframe[1]{%
{
\usebackgroundtemplate{\includegraphics[width=\paperwidth]{#1}}
\begin{frame}[plain]
% empty frame -- the graphics comes from above
\end{frame}
}
}
\fullgraphicsframe{fig/gc3pie-running-1.pdf}
\fullgraphicsframe{fig/gc3pie-running-3.pdf}
\fullgraphicsframe{fig/gc3pie-running-2.pdf}
\begin{frame}
\frametitle{What GC3Pie handles for you}
\begin{enumerate}\small
\item Resource allocation (e.g. starting new instances on
ScienceCloud)
\item Selection of resources for each application in the session
\item Data transfer (e.g. copying input files in the new instances)
\item Remote execution of the application
\item Retrieval of results (e.g. copying output files from the
running instance)
\item De-allocation of resources
\end{enumerate}
\end{frame}
\part{Demo time}
\end{document}
%%% Local Variables:
%%% mode: latex
%%% TeX-master: t
%%% End: