source: atlas/presentations/CMT06-04-2006-sit.tex @ 175

Last change on this file since 175 was 175, checked in by garonne, 18 years ago

mise à jour

File size: 14.1 KB
Line 
1\documentclass [compress, t]{beamer}
2\usepackage{styles/beamerthemeMarseille}
3\usepackage[latin1]{inputenc}
4\usepackage{epsfig}
5\usepackage{graphicx}
6\usepackage{graphics}
7\usepackage{subfigure}
8\usepackage{color}
9\usepackage{algorithmic}
10\usepackage{algorithm}
11\usepackage{pgfarrows, pgfnodes}
12\usepackage{url}
13\usepackage{textcomp}
14\usepackage{url}\urlstyle{sf}
15\usepackage{xspace} 
16\usepackage{listings}
17
18% Beamer Options
19\setbeamercovered{dynamic}
20\setbeamertemplate{blocks}[rounded][shadow=true]
21\setbeamertemplate{background canvas}[vertical shading][bottom=white,top=structure.fg!20]
22
23%%%% macros %%%%
24
25% Macros
26\newcommand{\cmt}    {{\em CMT}\@\xspace}%
27\newcommand{\svn}    {{\em SVN}\@\xspace}%
28\newcommand{\cvs}    {{\em CVS}\@\xspace}%
29
30\setbeamercovered{dynamic}
31
32
33\definecolor{rltgreen}{rgb}{0,0.5,0}
34\pgfdeclareimage[height=1.1cm]{LogoLAL}{logos/logoLAL50ansgrand}
35\logo{ \pgfuseimage{LogoLAL} }
36
37\title{CMT/SVN news, \\ Atlas SW/SIT meeting}
38\author{Christian Arnault, Vincent Garonne\\
39\{arnault,garonne\}@lal.in2p3.fr}
40\institute{Laboratoire de l'Accélérateur Linéaire}
41\date {April 6, 2006} % \today
42
43\begin{document}
44
45% Transparent: Première page
46\begin{frame}
47\maketitle
48%\textcolor{gray}{\it \scriptsize }
49\end{frame}
50
51\section*{Outline}
52\frame
53{
54% \frametitle{Outline}
55 \vfill
56   \begin{block}{Outline}
57 \tableofcontents[hideallsubsections]
58 \end{block}
59}
60
61%------------------------------- SECTION -------------------------%
62\section[\cmt]{\cmt news, feedbacks and futur improvements}
63%---- Slide 1 -----%
64\frame{
65\setbeamertemplate{blocks}[default]
66\vfill \hfill
67\begin{block}{\begin{center} \large CMT news \end{center}}
68\end{block}
69}
70
71%\subsection{The new v1r18p20060301 release}
72
73%---- Slide 1 -----%
74\frame 
75{
76 \frametitle{\cmt news (1)}
77   
78 \begin{block}{New \cmt release (version v1r18p20060301) }
79    No major improvements but fixed several problems with the existing  CMT versions, including:
80     \begin{itemize}
81          \item Non-existent directories are no longer removed from search paths   
82          \item Add new warning messages in relation with setup checking which are
83                explicitly called with the \texttt{--warnings option}
84          \item The run-time environment for a release can be setup by specifying 
85          the "runtime" during setup command, e.g.: \\                 
86         \texttt{> source $\sim$/cmthome/setup.sh -tag=11.0.4,runtime}   
87         \item New version of the AtlasSettings package (backwards compatible)
88       \end{itemize}
89\end{block}
90}
91
92%---- Slide 2 -----%
93\frame 
94{
95 \frametitle{\cmt news (2)} 
96 \begin{block}{New \cmt release (version v1r18p20060301)}
97\begin{itemize}
98         \item Change the internal system for settings environment variables in a proper way
99          \item Better support of the (non-)version-directory mode in severals cases:
100          \begin{itemize} 
101                \setbeamertemplate{itemize items}[circle]
102                 \item  Option to force package version directories to be created when using
103                            "\texttt{cmt co}":\\ 
104                            \texttt{set CMTSTRUCTURINGSTYLE "with\_version\_directory"}           
105                  \item Resp. \texttt{"without\_version\_directory"} force a package version  directory not
106            to be created.
107      \end{itemize}     
108     \item See Changelog~\cite{cmt_changelog} for more informations
109\end{itemize}
110\end{block}
111}
112
113%---- Slide 3 -----%
114\frame 
115{
116 \frametitle{\cmt feedbacks}
117
118  \begin{block}{Reports}
119     \begin{itemize} 
120          \item Tested on the nightlies with "no" problems except
121          \begin{itemize} 
122                \setbeamertemplate{itemize items}[circle]
123                \item Should understand the problem of eternal loop
124                          encountered with dictionaries....
125          \end{itemize}   
126           \item Should be the `stable' v1r18 in the futur
127           \item Problems encountered with the cmtcvs plugin in the way cvs tags are printed :
128          \begin{itemize} 
129                \setbeamertemplate{itemize items}[circle]
130                \item Thanks to D. Chamont, this is fixed and should
131                           be available for the next plugin release
132          \end{itemize}   
133     \end{itemize}
134\end{block}
135}
136
137\frame 
138{
139 \frametitle{\cmt Future}         
140  \begin{block}{Future improvements planned for the next \cmt release :}         
141          \begin{itemize} 
142                \setbeamertemplate{itemize items}[circle]
143                \item  Request for having a macro that reflects all active tags , i.d.
144                           we should introduce a link between the macro and tag concepts
145                \item Improve the log message mechanism for message classification
146                         within \cmt, e.g. "à la" Python's logging module~\cite{module_logging},
147                         Apache's logging module~\cite{log4cxx}
148          \end{itemize}
149\end{block}
150}
151
152%------------------------------- SECTION -------------------------%
153\section{SVN}
154%---- Slide 1 -----%
155\frame{
156\setbeamertemplate{blocks}[default]
157\vfill \hfill
158\begin{block}{\begin{center} \large Exploring SVN for Atlas\end{center}}
159\end{block}
160}
161
162%------------------------------- SLIDE -------------------------%
163\frame
164{
165\frametitle{Scenario for Atlas}
166
167\begin{block}{ Roadmap}
168\begin{enumerate}
169      \item Convert the Atlas CVS repository into a Subversion one
170      \begin{itemize}
171               \setbeamertemplate{itemize items}[circle]     
172                \item  A tool exists,  \texttt{"cvs2svn"} (\url{http://cvs2svn.tigris.org})
173       \end{itemize}
174      \item Provide tools to provide synchronization operations between \cvs and \svn repositories
175       \begin{itemize}
176                 \setbeamertemplate{itemize items}[circle]     
177                  \item  For a certain period,  we will have both system running at the same time
178                   \item remark: iterative transition is less painful for the developers :)
179       \end{itemize}
180       \item Incorporate \svn in the complex Atlas software management chain, it supposes impact to :
181       \begin{itemize}
182                  \setbeamertemplate{itemize items}[circle]     
183                   \item CMT
184                   \item Tag Collector
185                   \item Nicos
186       \end{itemize}
187       \item If successful, we could do the permanent switch; if not ... :(
188\end{enumerate}
189\end{block}
190}
191
192%------------------------------- SLIDE -------------------------%
193\frame
194{
195\frametitle{Converting CVS Repository to Subversion}
196 \begin{block}{}
197 \begin{itemize}
198\item We have selected the following organization for each project/package/tag:\\
199\texttt{\textcolor{blue}{
200<project>/.../<package>/trunk/...\\
201<project>/.../<package>/tags/<tag>/...}}
202\end{itemize}
203\end{block}
204
205 \begin{block}{}
206 \begin{itemize}
207 \item The complete Atlas cvs repository has been converted to a svn one. The svn url is :\\
208       {\small   \texttt{\url{file:///afs/cern.ch/atlas/software/svnrepository/repository}}}
209\item It takes a looong time to do that the first time
210 \begin{itemize}
211         \setbeamertemplate{itemize items}[circle]
212          \item Try different \svn backends: Berkley DB,  \underline{\svn file system} 
213          \item It takes me ~one week  to complete the procedure, e.g. 8 hours for the AtlasCore project
214          \item but update will only concern recent tags
215\end{itemize}
216\end{itemize}
217\end{block}
218}
219
220%------------------------------- SLIDE -------------------------%
221\frame
222{
223\frametitle{Conversion validation and management tools}
224
225\begin{block}{Conversion validation tools}
226\begin{itemize}
227\item We have implemented several tests to check the quality of the
228conversion:
229\begin{itemize}
230         \setbeamertemplate{itemize items}[circle]
231         \item  Comparing the sources at each tag with diff tests
232          \item Comparing the list of tags for a package
233         \item Check global structure of the \svn repository
234         \item \url{/afs/cern.ch/atlas/scripts/testcvs2svn.py}
235\end{itemize}
236\end{itemize}
237\end{block}
238
239\begin{block}{Management tools}
240\begin{itemize}
241\item We have also implemented a script which re-organizes the SVN repository:\\
242\texttt{ \textcolor{blue}{
243<project>/.../<package>/trunk/...\\
244<project>/.../<package>/<tag>/...}}
245\end{itemize}
246\end{block}
247}
248
249%------------------------------- SLIDE -------------------------%
250\frame
251{
252\frametitle{Performance and scalability}
253 \begin{block}{Test stress scenario}
254We define the following {\bf action} for an user:
255\begin{itemize}
256           \item User selects randomly a package
257           \item  He extracts and modifies it, then registers it until the operation is successful
258           \item Then he sleeps $n$ seconds with $n$ sort randomly $ \in [1, T_{max}]$
259\end{itemize}
260\end{block}
261
262\begin{block}{Experiment parameters}
263\begin{itemize}
264\item We have done experiments with different:
265\begin{itemize}
266            \setbeamertemplate{itemize items}[circle]
267             \item Total number of users (10, \textcolor{blue}{100}, 1000)
268             \item Total number of packages (10, \textcolor{blue}{1000}, 10.000)
269\end{itemize}
270\item Concurrent user actions were launched by a multi-threaded program
271({\small\texttt{\url{/afs/cern.ch/user/v/vgaronne/svnTestStress}}})
272\end{itemize}
273\end{block}
274}
275
276%------------------------------- SLIDE -------------------------%
277\frame{
278\frametitle{Performance and scalability - Results}
279\begin{block}{}
280\begin{itemize}
281\item Let ${\cal R}atio$ be the ratio  $\frac {Total~number~of~users} {{Total~number~of~packages}}$
282\end{itemize}
283\end{block}
284
285\begin{block}{}
286We obtained :
287\small
288\begin{center}
289\begin{tabular}{ccc} 
290\hline  ${\cal R}atio$ & $T_{max}$ & Average action time (s)  \\ \hline 
2910.01 & 3600.0& 1.34   \\ 
2920.01 & 100.0& 1.06     \\ 
2930.01 & 10.0     & 1.38   \\ 
294\textcolor{blue}{0.1} & \textcolor{blue}{ 3600.0}  & \textcolor{blue}{5.77}     \\
295\textcolor{blue}{0.1}&  \textcolor{blue}{100.0}& \textcolor{blue}{4.26}         \\ 
296\textcolor{blue}{0.1} & \textcolor{blue}{10.0} &  \textcolor{blue}{6.96}          \\ 
2971.0 & 3600.0  & 7.42   \\ 
2981.0 & 100.0& 7.06         \\ 
2991.0 & 10.0& 8.88\\
300\end{tabular}
301\end{center}
302{\footnotesize\textcolor{blue}{**In blue, the values relevant for Atlas}}
303\end{block}
304}
305
306%------------------------------- SLIDE -------------------------%
307\frame{ 
308\frametitle{A brief summary by pictures}
309%\begin{center}
310      %\vfill
311      \includegraphics<1>[width=0.92\paperwidth,height=0.74\paperheight]{figures/SVN_integration00}
312      \includegraphics<2>[width=0.92\paperwidth,height=0.74\paperheight]{figures/SVN_integration01}
313      \includegraphics<3>[width=0.92\paperwidth,height=0.74\paperheight]{figures/SVN_integration02}
314      \includegraphics<4>[width=0.92\paperwidth,height=0.74\paperheight]{figures/SVN_integration03}
315      \includegraphics<5>[width=0.92\paperwidth,height=0.74\paperheight]{figures/SVN_integration04}
316      \includegraphics<6>[width=0.92\paperwidth,height=0.74\paperheight]{figures/SVN_integration05}
317%+\end{center}
318}
319
320%------------------------------- SLIDE -------------------------%
321\frame{
322\frametitle{Synchronization operations}
323\begin{block} {Mainly at the user level:}
324\begin{itemize}
325             \item We proposed a script \texttt{"asvn"} that mimics the CVS syntax for SVN, including the synchronization operations on tags:
326             \begin{itemize}
327                        \setbeamertemplate{itemize items}[circle]
328                        \item Non exhaustive commands are: checkin,  checkout , tag, ...
329                        \item Provides also cmt specific commands working with SVN, e.g.
330                        recursive checkout,  svntags, svnsubprojects, ...
331                        \item see \url{/afs/cern.ch/atlas/scripts/asvn}                         
332             \end{itemize}             
333             \item \textcolor{red} {We assume that when users switch completely to svn for a package,
334             they will not work anymore with \cvs for this package, otherwise we will have integrity problems}             
335             \item The synchronization operation should be triggered at the user/developer level during tag operations\\
336                \texttt{> asvn --sync tag Package-00-00-01 Package}
337\end{itemize}
338\end{block}
339}
340
341%------------------------------- SLIDE -------------------------%
342\frame{
343\frametitle{Impact to the Atlas software management chain and tools}
344
345\begin{block} {Impact to the work model}
346\begin{itemize}
347\item  No real change is expected
348\end{itemize}
349\end{block}
350
351\begin{block} {Impact to the tools}
352\begin{itemize}
353                                \item CMT: The \texttt{"asvn"} script previously presented covers these aspects
354                                 \item Tag Collector: Needs an interface to SVN, but should be much simpler than the interface to CVS. If not  possible immediately,
355                                     we could go on  temporally with the synchronized Atlas CVS repository
356                               \item  NICOS: Normaly only concerned with checkout operations ?
357\end{itemize}
358\end{block}
359}
360
361%------------------------------- SECTION -------------------------%
362\section{Conclusion}
363
364%------------------------------- SLIDE -------------------------%
365\frame{
366\frametitle{Conclusion}
367
368\begin{block} {}
369\begin{itemize}
370\item All the necessary tools are in place to start using SVN in Atlas
371\begin{itemize}
372         \item Doing more tests to validate the atlas svn repository
373\end{itemize}
374\item Testing by real users, will help to tune, customize and improve these tools
375\begin{itemize}
376        \item We need friendly users !
377\end{itemize}
378\item After, we could define milestones for the all conversion
379\item We should clarify the migration policy
380\begin{itemize}
381        \item Management of the "CVSROOT/commitavail" file for each package
382        to guaranty synchronization between CVS and SVN repository
383\end{itemize}
384
385\item  Implementing the interface to SVN in Tag Collector, depends
386          on TC team availability
387\end{itemize}
388\end{block} 
389
390}
391
392
393%------------------------------- SECTION -------------------------%
394\section{References}
395%------------------------------- FRAME-------------------------%
396\frame[allowframebreaks]
397{
398\frametitle{References}
399%\nocite{*}
400\bibliographystyle{unsrt}
401\bibliography{CMT06-04-2006-sit}
402}
403
404\end{document}
405%------------------------------- End Of File -------------------------%
Note: See TracBrowser for help on using the repository browser.