Information Technology Reference
In-Depth Information
Ganga is a job-management system developed as an ATLAS-LHCb
common project. ARDA started to collaborate with the Ganga team already
in 2004 and progressively increased its contribution due to the interest and
the potential of this system [11]. The basic idea is to offer a simple, efi cient,
and consistent user interface in a variety of heterogeneous environments:
from local clusters to global grid systems. It is natural that a user develops
an application on a laptop, moves to a local batch system for optimizing
the analysis algorithm onto richer datasets and eventually performs full-
statistics runs on the grid. Moving from one stage to another also applies
in the reverse order (from the grid to the laptop), for example, when a bug-
i x or an algorithm improvement should be developed and tested.
This approach responds to the fact that the physics analysis (also on the
grid) is an activity performed by a large community of physicists using a
variety of applications. These applications are typically built on a simula-
tion or event reconstruction framework (foundation framework), which is
experiment specii c and enriched with custom code provided by each
physicist. Ganga supports users using the foundation libraries by appro-
priate plug-ins simplifying the coni guration stages for the users. On the
other hand, Ganga leaves the freedom to run completely independent cus-
tom applications (or to contribute new application plug-ins).
Ganga shields users completely from the job submission details (basically
the execution back-end is selected by the users by a software switch and
Ganga generates the appropriate stubs to execute user code on the available
resources). This is essential to allow users to execute on different back-ends
in a seamless way as mentioned before. It is interesting to note that this
approach also shields the users from the evolution of the middleware, hence
it fully responds to the i rst area mentioned in the Introduction.
Ganga is written in Python. Current versions are available under the
GNU Public Licence. Ganga acts as a front end for submission of compu-
tationally intensive jobs to a variety of submission back ends:
Several batch systems including LSF, PBS, and Condor
Grid middleware like different l avors of the LCG/EGEE middle-
ware or NorduGrid (NDGF)
Specialized workload management systems for the grid such as
Dirac (LHCb experiment) and Panda (ATLAS experiment)
Since Ganga scripts are Python scripts, the entire power of Python is
available for creating complex tasks, yet the user is not obliged to be a
Python expert. In tutorials new users typically learn the necessary syntax
within the i rst 30 minutes. In Figure 17.1 we show a basic example that is
used in a typical tutorial session.
Finally, Ganga keeps track of the jobs created and submitted by the user
as records in a job repository. This allows the user to manipulate Ganga
Search WWH ::




Custom Search