Experiments in GridSpace Virtual Laboratory - Principles and
Examples
Marian Bubak (1,2), Bartosz Baliś (1), Tomasz Bartyński (3), Eryk Ciepiela (3), Włodzimierz Funika (1), Tomasz Gubała (3), Daniel Harężlak (3), Marek Kasztelnik (3), Joanna Kocot (3), Maciej Malawski (1),
Jan Meizner (1), Piotr Nowakowski (3), Katarzyna Rycerz (1) (1) Institute of Computer Science AGH, Krakow, Poland
(2) Informatics Institute, University of Amsterdam, The Netherlands (3) ACC CYFRONET AGH, Krakow, Poland
The GridSpace Virtual Laboratory is an environment which supports collaborative development, sharing and execution of interactive experiments in support of computational science. The environment was initially conceived in the scope of the EU ViroLab project, where the aim was to facilitate advanced computer-aided HIV research conducted with the use of multiple data sources, contributed by participating medical centers [1]. Since then GridSpace has evolved into a generic platform where arbitrary scientific experiments may be implemented and conducted. At present the environment is being deployed in the scope of the PL-Grid project [2], which is the foremost Polish HPC scientific computing initiative, bringing together major academic partners from around the country and providing advanced computational and data storage services for Polish scientific teams involved in computationally-intensive research. Among the studies being pursued with support from the GridSpace environment are projects in biochemistry, molecular dynamics, material studies and others. GridSpace enables stepwise, iterative experimentation, well suited to the traditional means of conducting research [3].
The goal of our presentation is to posit the main principles of experimenting in the virtual laboratory and to demonstrate its usage on a set of examples.
The founding principles of experimentation using the GridSpace virtual laboratory are that the experiments are described using a combination of code snippets in multiple scripting languages, commonly used by computational scientists. This follows the idea of using scripting as the means of expressing the high-level control and steering of computations, together with the concept of domain-specific languages (DSLs) which are required by domain-specific scientific software packages, such as Gaussian or Gnuplot. The experiment snippets can be interactively edited and executed, either on a dedicated experiment execution host or on the underlying grid infrastructure. In order to share prepared experiments among scientists, a special “run mode” was introduced. It allows to publish an experiment as a web tool so other people may use it to conduct their own research. In case the shared experiment requires confidential data such as passwords or secret keys, which shouldn’t be included directly in the experiment code - the virtual laboratory provides a wallet mechanism to store such secrets and inject them into experiments at runtime.
In order to demonstrate the features of experiments in the virtual laboratory, we have prepared a set of experiments which illustrate common usage patterns seen in typical research scenarios. We demonstrate multi-language experiments, use of different experiment run modes, use of openers (dedicated viewers)
for graphical output visualization and storage of secrets using the wallet mechanism. These experiments are also intended to showcase access to clusters, grids and cloud resources, as well as to relational and NoSQL databases and external web services. Moreover, we show how to generate interactive output from experiments, create simple user interfaces and notify users with Twitter. Our sample experiments represent a range of scientific disciplines, including bioinformatics and computational chemistry.
Acknowledgements. The research presented in this paper has been partially supported by the European Union within the European Regional Development Fund program no. POIG.02.03.00-00-007/08-00 as part of the PL-Grid project (www.plgrid.pl).
1. M. Bubak et al., Virtual Laboratory for Collaborative Applications, In: M. Cannataro (Ed.) Handbook of Research on Computational Grid Technologies for Life Sciences, Biomedicine and Healthcare, Chapter 27, pp. 531-551, Information Science Reference, 2009, IGI Global
2. The PL-Grid project, http :// www . plgrid . pl
3. E. Ciepiela, D. Harezlak, J. Kocot, T. Bartynski, M. Kasztelnik, P. Nowakowski, T. Gubała, M. Malawski, M. Bubak; Exploratory Programming in the Virtual Laboratory , in Proceedings of the International Multiconference on Computer Science and Information Technology pp. 621–628