What is Damaris?
Damaris is a middleware targeting multicore HPC platforms. It proposes to dedicate one core to I/O, data-processing prior to effective storage in a parallel file system or in-situ visualization. It provides an extremely simple API and can be easily integrated in existing large-scale simulations. Damaris can be seamlessly connected to the VisIt visualization software in order to provide in-situ visualization capabilities with low impact on the running simulation.
The following video presents Damaris and includes a demo:
If you don't have flash on your device, watch it on YouTube!
Download an avi file here (right click > save link as…)
Why dedicating cores?
Most people that we met asked why dedicating cores, that is to say a large amount of computation power, simply to perform I/O. The answer is simple:
As we increase the scale of supercomputing machines and run towards exascale, it is often observed that using all the cores of each node is not appropriate. Because of a lake of scalability of some distributed algorithms, it can be worse using less cores for better performance. For instance, as we ran the CM1 atmospheric simulation on Grid'5000 using 24 cores/node, we noticed that using 23 cores instead of 24 actually increases the performance of the simulation. The same observation has been made with the Kraken Cray XT 5 system at very large scale. So if using less cores leads to better performance, why not using these remaining cores for something useful?
The second motivation is the very large amounts of data that are generated by large-scale simulations. These data, mainly produced for subsequent analysis, are more and more difficult to move from a cluster to another. The worst case consists in running a simulation for months, move the data and… finally notice that the simulation hasn't simulated the expected phenomena due to misconfigurations. Using dedicated cores, part of the analysis and visualization process can be done in-situ, while the simulation is running, without impacting the simulation.
So far, Damaris has been successfully used with two simulations (the CM1 model and the OLAM model), on five platforms: Grid5000 (french grid testbed), JaguarPF (Cray XK6 at ORNL), Kraken (Cray XT5 at NICS), BluePrint (Power5 cluster at NCSA) and the early BlueWaters system (Cray XE6 at NCSA).