Changeset 174 for atlas/presentations/CMT06-04-2006-sit.tex
- Timestamp:
- Apr 6, 2006, 1:50:30 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
atlas/presentations/CMT06-04-2006-sit.tex
r170 r174 60 60 61 61 %------------------------------- SECTION -------------------------% 62 63 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 } 64 70 65 71 %\subsection{The new v1r18p20060301 release} … … 127 133 \end{itemize} 128 134 \end{block} 129 135 } 136 137 \frame 138 { 139 \frametitle{\cmt Future} 130 140 \begin{block}{Future improvements planned for the next \cmt release :} 131 141 \begin{itemize} … … 134 144 we should introduce a link between the macro and tag concepts 135 145 \item Improve the log message mechanism for message classification 136 within \cmt, e.g. Python's logging module~\cite{module_logging},137 apachelogging module~\cite{log4cxx}146 within \cmt, e.g. "à la" Python's logging module~\cite{module_logging}, 147 Apache's logging module~\cite{log4cxx} 138 148 \end{itemize} 139 149 \end{block} 140 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 228 conversion: 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} 254 We 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}{} 286 We obtained : 287 \small 288 \begin{center} 289 \begin{tabular}{ccc} 290 \hline ${\cal R}atio$ & $T_{max}$ & Average action time (s) \\ \hline 291 0.01 & 3600.0& 1.34 \\ 292 0.01 & 100.0& 1.06 \\ 293 0.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} \\ 297 1.0 & 3600.0 & 7.42 \\ 298 1.0 & 100.0& 7.06 \\ 299 1.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 141 392 142 393 %------------------------------- SECTION -------------------------%
Note: See TracChangeset
for help on using the changeset viewer.