Michael Jackson (EPCC)
Within the Muon Ionization Cooling Experiment (MICE), the MICE Analysis User Software (MAUS) framework performs both online analysis of live data and detailed offline data analysis, simulation, and accelerator design. The MAUS Map-Reduce API parallelizes computing in the control room, ensures that code can be run both offline and online, and displays plots for users in an easily extendable manner. The original Map-Reduce design can be advantageous for offline computing but cannot be used in online settings. It expects all map operations to terminate before running the reduction; however, the data flow for online analysis requires the continuous updating of live plots as data arrives. For online running, the ‘map’ and ‘reduce’ steps must happen concurrently; therefore, new parallelization routines were developed specifically for this use. The ‘map’ step is parallelized using a Python-based distributed task queue called Celery, and output from these tasks is then written into a NoSQL database called CouchDB. As the ‘mapper’ writes output, the plotting ‘reducers’ query the database, request data from a user-specified window in time, and make plots using Matplotlib or PyRoot. The ‘reducers’ serialize the plots into the data stream after which all the data is written to the database by the output routines. Finally, plots are displayed on the web using the Django platform, which queries the database and displays the plots to the control room and the world. By maintaining the API and modifying the data flow, MICE is able to use identical analysis software in both offline and online scenarios, thus avoiding a common issue in experimental particle physics.
|Student? Enter 'yes'. See http://goo.gl/MVv53||no|