Skip to content

Commit fc0bf02

Browse files
committed
More general info about MetaCentrum. Syntax updates of MetaCentrum script in slides.
1 parent c2a33ae commit fc0bf02

File tree

7 files changed

+44
-11
lines changed

7 files changed

+44
-11
lines changed

presentation/cluster_rack.jpg

472 KB
Loading

presentation/cluster_rack.xcf

2.12 MB
Binary file not shown.

presentation/git_xkcd.png

47.6 KB
Loading

presentation/grid_graphics.jpg

212 KB
Loading

presentation/linux_bash_metacentrum_course.tex

Lines changed: 44 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -723,7 +723,7 @@ \subsection{Directory structure}
723723
\item \alert{\texttt{/windows}} --- if on dual boot, Windows disks are commonly mounted here
724724
\item In newest Linux distributions, most of \texttt{/bin}, \texttt{/etc}, \texttt{/lib}, \texttt{/lib64} and \texttt{/sbin} are mostly in \texttt{/usr} (original locations are just links)
725725
\item Can be altered, modified
726-
\item E.g. MetaCentrum has storage servers in various locations accessible from front ends and calculation nodes in \texttt{/storage}
726+
\item E.g. MetaCentrum has storage servers in various locations accessible from frontends and calculation nodes in \texttt{/storage}
727727
\item Usually, work only in your home, anywhere else modify files only if you are absolutely sure what you are doing
728728
\item Normal user doesn't have permission to modify files outside his directory (with exception of plugged removable media, etc.)
729729
\item Try \texttt{man hier} for details
@@ -4466,17 +4466,50 @@ \subsection{Information}
44664466
\end{itemize}
44674467
\end{frame}
44684468
4469-
\begin{frame}[allowframebreaks]{Terminology and geography}
4469+
\begin{frame}{Terminology}
4470+
\begin{multicols}{2}
4471+
\begin{itemize}
4472+
\item Node (computing server) --- single computer, worker finally doing computational job
4473+
\item Cluster --- bunch of nodes in rack (special case storing nodes, use to contain also network switch, backup power,~\ldots{ } e.g. \href{https://sorbus.ibot.cas.cz/en/hw}{cluster in Průhonice}, \href{https://sorbus.ibot.cas.cz/cs/hw}{česky})
4474+
\item Grid --- clusters distributed in various places, connected into single system by fast network (e.g. \href{https://www.metacentrum.cz/en/Sluzby/Grid/}{MetaCentrum}, \href{https://www.metacentrum.cz/cs/Sluzby/Grid/}{česky})
4475+
\item Supercomputer --- extra powerful computer, nowadays mostly special cluster, e.g. \href{https://www.it4i.cz/}{IT4Innovations} in Ostrava
4476+
\end{itemize}
4477+
\begin{center}
4478+
\includegraphics[height=6.5cm]{cluster_rack.jpg}
4479+
\end{center}
4480+
\end{multicols}
4481+
\end{frame}
4482+
4483+
\begin{frame}[allowframebreaks]{Distributed topology}
4484+
\begin{itemize}
4485+
\item \href{https://metavo.metacentrum.cz/}{MetaCentrum clusters} are distributed in various Czech cities (and institutions)
4486+
\item Clusters use to have (at least small) storage array (accessible via \texttt{/storage/\ldots})
4487+
\item There are special \href{https://du.cesnet.cz/en/infrastruktura_ulozist/start}{archive storages} (\href{https://du.cesnet.cz/cs/infrastruktura_ulozist/start}{česky}) in Jihlava, Ostrava and Plzeň
4488+
\end{itemize}
4489+
\begin{center}
4490+
\includegraphics[width=\textwidth]{metacentrum_map.png}
4491+
\end{center}
44704492
\begin{itemize}
4471-
\item Node (computing server) --- single computer, worker finally doing computational job
4472-
\item Cluster --- bunch of nodes in rack (special case storing nodes, use to contain also network switch, backup power resource,~\ldots{ } e.g. \href{https://sorbus.ibot.cas.cz/en/hw}{cluster in Průhonice}, \href{https://sorbus.ibot.cas.cz/cs/hw}{česky})
4473-
\item Grid --- clusters distributed in various places, but connected into single system by fast network (e.g. \href{https://www.metacentrum.cz/en/Sluzby/Grid/}{MetaCentrum grid}, \href{https://www.metacentrum.cz/cs/Sluzby/Grid/}{česky})
4474-
\item Supercomputer --- extra powerful computer, nowadays mostly special cluster, e.g. \href{https://www.it4i.cz/}{IT4Innovations} in Ostrava
4493+
\item Users have different quota on different arrays (depending on home organization etc.)
4494+
\item There are 11 \href{https://wiki.metacentrum.cz/wiki/Frontend}{frontends} (\href{https://wiki.metacentrum.cz/wiki/Celni_uzel}{česky}) where user logs via SSH and prepare computing task for submission etc. (see further)
4495+
\item Distributed topology might be bit confusing --- user has different home directory when logging to different frontends --- recommended is to use as few frontends and storages as possible
4496+
\item Some special services (like \href{https://wiki.metacentrum.cz/wiki/OnDemand}{OnDemand}) start on particular storage (here \texttt{brno3})
4497+
\item Generally, computing task loads data from selected storage and can start on any cluster
4498+
\item Orientation is plenty of storages might be sometimes tricky --- ensure where you are and where your data are supposed to be
44754499
\end{itemize}
44764500
\end{frame}
44774501
44784502
\subsection{Usage}
44794503
4504+
\begin{frame}{Basic workflow}
4505+
\begin{center}
4506+
\includegraphics[height=5.5cm]{grid_graphics.jpg}
4507+
\end{center}
4508+
\begin{flushright}
4509+
From \href{https://wiki.metacentrum.cz/wiki/Beginners_guide}{Beginners guide} (\href{https://wiki.metacentrum.cz/wiki/Pruvodce_pro_zacatecniky}{česky})
4510+
\end{flushright}
4511+
\end{frame}
4512+
44804513
\begin{frame}[fragile]{MetaCentrum usage}
44814514
\begin{itemize}
44824515
\item User can transfer data on one of \href{https://wiki.metacentrum.cz/wiki/Frontend}{frontends} (\href{https://wiki.metacentrum.cz/wiki/Celni_uzel}{česky}) (next slide; or data storage) by e.g. \texttt{scp} or \href{https://winscp.net/}{WinSCP} from Windows or \href{https://filezilla-project.org/}{FileZilla} from anywhere
@@ -4522,10 +4555,10 @@ \subsection{Tasks}
45224555
# Clean-up of SCRATCH (it is temporal directory created by server) - the
45234556
# commands will be launched on the end when the job is done
45244557
trap 'clean_scratch' TERM EXIT
4525-
trap 'cp -a "$SCRATCHDIR" "$DATADIR"/ && clean_scratch' TERM
4558+
trap 'cp -a "${SCRATCHDIR}" "${DATADIR}"/ && clean_scratch' TERM
45264559
# Change working directory - script goes to the directory where
45274560
# calculations are done
4528-
cd "$SCRATCHDIR"/ || exit 1 # If it fails, exit script
4561+
cd "${SCRATCHDIR}"/ || exit 1 # If it fails, exit script
45294562
# Prepare the task - copy all needed files from working directory into
45304563
# particular computer which will finally do the calculations
45314564
# Ends on following slide...
@@ -4534,8 +4567,8 @@ \subsection{Tasks}
45344567
45354568
\begin{frame}[fragile]{Basic skeleton of script running tasks II}
45364569
\begin{bashcode}
4537-
# ...begins on previous slide
4538-
cp -a "$DATADIR"/"$WORKDIR"/* "$SCRATCHDIR"/ || exit 1 # If it fails, exit
4570+
# ...begins on previous slide; copy data - if it fails, exit
4571+
cp -a "${DATADIR}"/"${WORKDIR}"/* "${SCRATCHDIR}"/ || exit 1
45394572
# Prepare calculations - load required application modules
45404573
# See https://wiki.metacentrum.cz/wiki/Kategorie:Applications
45414574
# Every application module is loaded by "module add XXX"
@@ -4546,7 +4579,7 @@ \subsection{Tasks}
45464579
# qsub must in this case contain select=1:ncpus=8 (see further)
45474580
find . -name "*.nexus" -print | parallel -j 8 'mb {} | tee -a {}.log'
45484581
# Copy results back to home directory
4549-
cp -a "$SCRATCHDIR" "$DATADIR"/"$WORKDIR" || export CLEAN_SCRATCH=false
4582+
cp -a "${SCRATCHDIR}" "${DATADIR}"/"${WORKDIR}" || export CLEAN_SCRATCH='false'
45504583
# This is all needed, the script is ready to be launched...
45514584
exit
45524585
\end{bashcode}

presentation/metacentrum_map.png

165 KB
Loading

presentation/metacentrum_map.xcf

217 KB
Binary file not shown.

0 commit comments

Comments
 (0)