Frameworks Evaluation in CMS

Introduction

The start of the transitioning of the CMS's framework to  use threads is foreseen for 2013. This is the reason why an exploration of the different possibilities in which the CMS framework can be parallelised has been schedulef for 2012.

It is at the moment clear that task queue based systems can be used for a parallel version of CMS's framework. Indeed the technology scales well, the transition to thread safe code can happen one module at a time and no thread primitive is exposed to the physicists. On the other hand, the limiting factor of the concurrency is represented by the dependencies among algorithms.

Different technologies have been or are being investigated, like libdispatch, TBB or OpenMP. This last has been ruled out. For example, the API of OpenMP was judged too hard to be used and no 'task notification' mechanism is available.

 

Material

  1. Performance of OpenMP Based Framework Demo, C. Jones, June 6th 2012
  2. Study of a Fine Grained Threaded Framework Design, C. Jones, May 21st 2012, CHEP
  3. Performance of libdispatch based framework demo, C. Jones, March 14th 2012
  4. 'libdispatch, frameworks and multithreaded I/O' demostrators, C. Jomes, January 11th 2012
  5. ssh://cdcvs.fnal.gov/cvs/projects/toy-mt-framework, Repository with available code
     

Related Topics

  1. GaudiMP - performance and KSM measurements, N. Rauschmayr, July 18th 2012
  2. Clang static code analysis: Detecting problematic constructs for MT processing, T. Hauth, June 20th 2012
  3. Concurrent Whiteboard Demonstrator
  4. CMS tracking parallelization Demonstrator