The University of Bristol Grid, a production campus grid Abstract David Wallom

advertisement
The University of Bristol Grid, a production campus grid
David Wallom, Ian Stewart & Jon Wakelin
University of Bristol
Abstract
With the increasing cost of providing resource for research computing it is becoming
increasingly important that Universities make more efficient use of existing resources. One
approach adopted by the University of Bristol to address this issue has involved the design and
construction of a campus grid; the UoBGrid. This has enabled better utilization of systems that
have been connected to the grid. As the grid is more suited for processing serial work, the
UoBGrid has the additional advantage of reducing the throughput load on clusters, thereby
allowing these systems to process more parallel work Within the University there are many
departments that run their own computational clusters. In addition there are several centrally
and departmentally managed student PC terminal rooms whose resources lie idle for significant
periods. Stage one of the Bristol project involved coupling several Departmental Beowulf
clusters to form the nucleus of the UoBGrid. After consideration of available solutions, we
designed our own Resource Broker, Resource Usage Service and Virtual Organisation
Management Servers which have proved easier to manage and upgrade as new or improved
functionality is required. The current system peak usage is ~15000 individually submitted jobs
per week with ~3500 in a single day. The largest single job successfully run was a 2000 child
process protein-ligand docking experiment.
1. Introduction
With the increasing cost of providing resource for
research computing it is becoming increasingly
important that Universities make the most efficient
use of existing resources. One approach adopted by
the University of Bristol to address this issue has
involved the design and construction of a campus
grid; the UoBGrid. This has enabled the utilization
of otherwise spare capacity on those systems that
have so far been connected to the grid. The
implementation of this strategy was driven by the
following major considerations. Firstly, the
contributing clusters are very heavily used and
connecting them onto the grid must be done in a
non-invasive way to ensure currently executing
applications, or any other cluster operations, are not
compromised. Secondly the grid has been
considered by many scientific users to be over
hyped. This latter issue led us to believe that we
needed to get a system up and running quickly
however ‘simple’ it appeared in order to prove the
concept was viable. It was hoped that involving real
users at an early stage of the UoBGrid’s construction
would encourage more users or resource owners to
join.
2. Systems Installations
A key driver for the software choice to run UoBGrid
was that the University of Bristol had agreed to
become one of the first volunteer nodes joining the
National Grid Service (NGS). It was decided that
each local Bristol cluster joining UoBGrid would
have the VDT [1] middleware installed. This
provides the Globus, GSI-SSH, myProxy and grid-
mapfile tools components. Each system would also
have the SRB client and Big Brother monitoring tool
client installed to provide added functionality not
available with VDT. Installing middleware is in
general a complicated procedure so for simplicity an
application specific installation script was designed.
On start-up, the script takes all of the variables
required to configure VDT. The specified version of
the base and added components such as the
jobmanagers, GLUE schema and grid mapfile
management tools are automatically downloaded,
installed and configured. To allow for easy updating,
the installation directory is then renamed to account
for version number and a soft link to the operation
directory created. This way files that have specific
hardcoded locations may be preserved during
upgrades.
This installation script, although initially only for
clusters, has been extended to the UoBGrid central
service stack to make installation and configuration
as easy as possible. The central service stack was
considered vital in order to fulfil the functions of
resource brokering, information and monitoring data
publishing, virtual organisation management and
large storage. The hardware systems for this service
stack were kindly donated by Viglen Computers [2]
and arrived in June 2004. The key functionality on
these servers is provided by the following products,
Condor-G [3], Globus MDS [4], Big Brother [5] and
Storage Resource Broker [6].
Several of the components in the UoBGrid software
stack have been configured as out of the box. An
example of this is the MDS system which has a
standard VDT installation, with all services except
the Monitoring and Discovery service stopped. This
runs a standard Grid Index Information Server
(GIIS) which has all the UoBGrid systems reporting
to it, i.e. not just the Beowulf clusters but also the
central UoBGrid servers. Extra information loaded
into the GIIS is provided by the Glue Schema [7]
which allows significantly more information to be
obtained from the installed scheduling systems on
clusters so that improved reference can be made for
job distribution and broking.
The key services underpinning a campus grid are the
Resource Broker, Resource Usage Service and
Virtual Organisation Management systems. This
give the ability to do fair share of submitted tasks,
accounting of resources used, charging thereof and
user administration. All of these services currently
have no ‘off the shelf’ solution, so after extensive
testing of other possible solutions it was decided that
our own custom solution would be developed. The
main reason for this was that all currently solutions
required significant extra dependant software to be
installed on client systems. This though easy to do
on a new, cleanly installed system would present
significant barriers to inclusion to some of the
operational systems.
The operating model devised is shown in Figure 1.
The important part of the design is that it is only
loosely dependant on the grid information servers.
The total size of the Resource Broker installation is
~150Kb and has therefore fulfilled one of the key
requirements. It is also able to remotely query the
NGS information server and so include their
resources in our operational systems. This particular
point allowed for very rapid testing and user
engagement.
2.2 Virtual Organisation Management
2.1 Resource Broker
Figure 2 Front page for the Virtual Organisation
Management system
Figure 1 Functional model of the Resource Broker
The Resource Broker has been designed with several
key ideas in mind;
1) Other current RB systems are incredibly
large and their full installation and
configuration requires a huge number of
different components to be installed. The
Bristol RB should be small and loosely
coupled to other servers.
2) Only a small ‘beige box’ was available as
the hardware resource during development
so the RB had to be lightweight and small.
3) Perl has significant advantages, allowing
rapid development cycles and easy
debugging etc. This was the language of
choice as there are also several key API
available for grid tools.
In order to control user access to systems in the
UoBGrid it was necessary to use a Virtual
Organisation server. After investigation of other
possible products it was again decided that it would
be better to devise our own system. The alternatives
were decided to be too reliant on third party software
or had again many dependant components without
which they would be inoperable. This has lead to a
web-based system in which the following
functionality has been included;
a) Currently registered user/system listing.
b) New user/system addition including system ↔
user mapping.
c) User/System removal.
Finally the vom system distributes grid mapfiles
onto registered systems. This has been implemented
by adding the VOM server certificate as a registered
user onto each registered system and mapping this
onto a local limited privilege user account. The file
is then copied from the VOM server using GSI-SCP.
To increase the overall security of the system the
administrator interface is secured using certificates.
The system also presents within the details available
for each user/system their current usage statistics as
collated by the RUS.
2.3 Resource Usage Service
Here again, we preferred to develop our own
lightweight solution. The way we chose to achieve
this was to alter the installed Globus jobmanagers
and use standard installed information transfer
mechanisms. The process for keeping a Resource
Usage Record is as follows:
1) The user job is submitted as normal, the
created jobmanager creates a task ID
specific file containing the start-time for the
job.
2) The job runs as standard to completion (if it
is cancelled the start-file is removed as part
of the jobmanager shutdown procedure).
3) When the jobmanager detects a successful
completion signal from the underlying
scheduling system
the following
information is logged straight from the
jobmanager;
a. Task ID
b. Start time,
c. End time
The jobmanager then queries the
underlying system history reporting to
retrieve the following information;
d. CPU time,
e. Wall time,
f. Physical memory,
g. Total memory.
4) The jobmanager then reformats this data
and communicates using CGI to connect
with the RUS/VOM server.
5) On the server the sent information is then
saved into a relational database from which
further analysis can be done.
The summary page for jobs run since the design of
the RUS is shown in Figure 3.
repository for the software and documentation for
building the above services. This allows both CeRB
and Bristol system managers to easily obtain the
software.
Each of the installations is also fully documented
using Centre formatted individual instructional
documents. These are also available to the general eScience community through the Centre for eResearch Bristol website. The software stack is also
available by request.
3. Using the UoBGrid
The user interaction with the system is currently
very simple. The checking of the submitted job
queue and the results of latest system tests are all
accessible through a simple portal on the main eScience centre website. Examples of these are
shown in Figure 4 and Figure 5.
Figure 4 Resource broker currently running job
display
Figure 5 GITS test results
Figure 3 Resource Usage Service summary page
showing jobs per user and total per month.
2.4 Software for further dissemination
One of the roles of the Storage Resource Broker,
part of the UoBGrid service stack, is to act as a
Job submission to the grid is currently done from the
command line on the resource broker. In future we
hope to develop to produce a job-submission client
that can be automatically installed onto users
systems from a central software update system. In
addition, we plan to have a web-based submission
system for those who employ non-Linux operating
systems.
To increase system reliability we found it necessary
to make some changes in usage of software; for
example to the MDS component of the Globus
toolkit 2.4. Operationally there are now only two
systems that may directly access the GIIS server.
These are the Resource Broker (once every five
minutes) and the web interface which uses a cached
copy of the downloaded information which is
updated every ten minutes. This has allowed the
GIIS to operate at near 100% reliability for the past
3 months, excluding planned outages.
A key part of producing and maintaining a
successful production system is appropriate user
support. We are very grateful to the staff members
of the University of Bristol Information Services
Help Desk, who have been working closely with us
to enable front-line user support mechanisms.
Specific email addresses have been set up to which
all queries about the grid are passed. These are then
processed and recorded by the helpdesk staff and
subsequently passed onto the expert staff from
CeRB for resolution.
We currently have five different groups of users
from the Departments of Astro-Physics, Polymer
Physics, Geographic Sciences, Computer Science
and BioChemistry. The number of users has been
growing at approximately 1 group per two weeks as
word of mouth between active researchers finds
more and more suitable groups.
The current system layout as of 31st March 2005 is
shown Figure 6. The systems within departments in
green are currently connected and accepting jobs,
systems in red are currently being rebuilt with
appropriately upgraded operating systems and
schedulers, systems in blue are currently under
negotiation to join.
The current system records for usage are ~15000
individually submitted jobs per week with ~3500 in
a single day. The largest single job successfully run
was a 2000 child process protein-ligand docking
experiment. The latest science result produced by
the
UOBGrid
is
described
at:
http://escience.bristol.ac.uk/Science_results.htm.
[1] Virtual Data Toolkit, http://www.cs.wisc.edu/vdt
[2] Viglen Computers, http://www.viglen.co.uk
[3] The Condor Project,
http://www.cs.wisc.edu/condor
[4] The Globus Alliance, http://www.globus.org
[5] Big Brother Systems Monitoring, http://bb4.org
[6] Storage resource Broker,
http://www.sdsc.edu/srb/
[7] Glue Schema,
http://www.hicb.org/mailman/listinfo/glue-schema
Figure 6 Current layout of the UoBGrid showing systems registered
Download