-
Notifications
You must be signed in to change notification settings - Fork 23
/
part01.tex
146 lines (109 loc) · 3.62 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
\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{July~11--14, 2016}
\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}
\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.
\+
\includegraphics[width=0.70\textwidth]{fig/warholize-wkf}
\end{center}
\end{frame}
\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}
\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}
\end{document}
%%% Local Variables:
%%% mode: latex
%%% TeX-master: t
%%% End: