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

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

dernière version

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