GRIDtoday editor Derrick Harris recently spoke with Walfredo Cirne,
director of the Distributed Systems Lab at the Universidade Federal de
Campina Grande in Brazil, about OurGrid -- a project he leads (and to
which HP has contributed a fair amount of resources) that has become
one of the largest computational Grids in Brazil. Cirne will be
presenting at the next Gelato Federation meeting, which will take place
Oct. 2-5 in Porto Alegre, Brazil.
Tell me about OurGrid. Can you give me a brief background on the project and what it hopes to accomplish?
OurGrid is an open, free-to-join Grid. Unlike
traditional Grids, joining OurGrid is automatic. No paperwork or
approvals of any sort are required. Someone wanting to join OurGrid
just downloads the software from www.ourgrid.org
and installs it.
OurGrid forms a peer-to-peer Grid in which peers donate their idle
computational resources in exchange for accessing other peers' idle
resources when needed. The vision is that OurGrid provides a massive
worldwide compute platform on which research labs can trade their spare
compute power for the benefit of all.
I often think about OurGrid as a digital inclusion project. It caters
to the small research labs spread throughout the world. These labs
increasingly demand more and more computational power, just as large
research labs and high-visibility projects. However, they seldom have
the resources to afford traditional HPC solutions and the specialized
computer personnel to use it.
OurGrid is focused on running "Bag-of-Tasks" applications.
How do these applications vary from other types of applications that
might run on a Grid?
We use the term Bag-of-Tasks to refer to parallel
applications whose tasks are independent. OurGrid began as a solution
to a particular problem: the execution of hundreds of thousands
simulations. The simulations were independent and then extracting
parallelism from them was very straightforward. Such independence also
simplifies running the application on the Grid because it greatly
reduces coordination problems. This initial solution was very
minimalist and only supported a single user. But it worked so well, it
was so much simpler than traditional Grids, and Bag-of-Tasks
applications are useful in so many contexts, that we decided to keep
the focus on this kind of application as the system evolved in a
worldwide compute platform.
In fact, we are at a point in the project that we just finished up the
support for worldwide resource sharing among unknown entities to run
Bag-of-Tasks applications. We now are evolving OurGrid to support
communicating parallel applications. This will be available in OurGrid
4.0, which should be released in November. The challenge is to add this
support for communicating applications while keeping OurGrid simple and
Can you speak a little about the importance of being "fast, simple, scalable and secure"?
These are the main requirements for OurGrid to succeed.
Clearly, OurGrid must be fast, (i.e., using the Grid must produce
results much faster than not using it). It must also be simple because
our target public is the small research lab. These people just don't
have the time and resources for arcane computer solutions. The closest
to "plug-and-play," the better. OurGrid must be scalable because the
small research labs that need substantial compute power number in
thousands. Note also that scalability is not just a technical issue, it
also has administrative ramifications. Finally, OurGrid must be secure,
because otherwise no one is going to use it.
What are some of the unique projects running on OurGrid?
There are a number of projects using OurGrid, from
molecular dynamics and simulations and climate forecast to drug
discovery and hydrological management and image processing. For
instance, we make intensive use of OurGrid to run simulations that help
us refine and extend OurGrid itself.
A particularly interesting project based on OurGrid is SegHidro, a
project that aims to improve the decision-making process for the water
reservoirs of the Brazilian Northeast. The Brazilian Northeast (which
is the region where I live) has very irregular rainfall. We have severe
droughts, but also floods. As such, a good management of our water
reservoirs is critical to minimize the effects of droughts, as well as
to prevent floods. SegHidro combines a number of climate and water
forecast models together with reservoirs models to provide decision
makers with the risk analysis of their decisions. In fact, different
research labs of the region contributed with different pieces of the
whole model. It is very nice to see our efforts helping to improve
people's lives, especially those of the poor people who suffer the most
from our droughts and floods.
I understand that OurGrid was developed in collaboration
with Hewlett-Packard. How was it working with them and what role did
they play in the development?
HP has been key to OurGrid's existence. They have helped
the project in many ways. HP has funded most of the research behind
OurGrid, and also a considerable part of its development. They have
closely followed the project evolution, providing important feedback
and helping us establish priorities. Furthermore, they've been directly
involved in research that made OurGrid possible. The Network of Favors
(the peer-to-peer resource sharing protocol that is OurGrid's heart)
was jointly developed by us, at UFCG, and HP Labs in Bristol (United
Kingdom). SWAN (OurGrid's security mechanism) was conceived and
implemented by HP Brazil R&D Labs, in Porto Alegre.
Right now, OurGrid consists of more than 500 machines. How many machines would you like to see make up the OurGrid network?
We have a rough estimate that there are about 10,000
research labs around the world that could benefit from OurGrid. Looking
at the labs that have already joined the community, each averages 15
computers per lab. Therefore, our target is to reach 150,000 machines.
Although Grids are hardware and operating system agnostic,
your institution is also a member of the Gelato Federation, which
promotes Linux on Itanium. Why is it important for you?
Being a Gelato member reinforces our networking
abilities, opening up opportunities for collaboration. Moreover, Gelato
is such a great source for technical information.
What makes Linux on Itanium such an effective platform for High Performance Computing?
Historically, better performance has been obtained from
increasing processor clock speed. However, turning up clock speed is
starting to reach limits of physics and manufacturability. In fact,
clock speed increase has already slowed down. Better performance will
no longer be driven by having more CPU cycles per unit time, but by
performing more instructions per clock cycle. And that is where Itanium
comes in. Being clever about how to achieve more per clock cycle is
what Itanium is all about.
As for why Linux on Itanium, I think it is just the natural choice. The
whole HPC industry has long been UNIX-like based. In recent years,
Beowulf clusters have made it strongly Linux based. It's now time we
start to see more and more of these clusters being built around
Itanium. By combining open-source Linux with multi-vendor Itanium
system offerings, one can expect to have a very cost-effective solution.
How do you see Gelato members in Latin America, in
particular, contributing to science and technology development in the
The whole Itanium technology is pretty cutting-edge (some
may even say ahead of its time). Thus, it is very important for us,
research labs in Latin America, to get involved in the process of
What is your personal history with Grid computing and HPC in general?
I became involved with Grids and HPC in 1997, during my
Ph.D. My advisor, Fran Berman from the University of California, San
Diego (UCSD), was one of the people who "created the area" in the
mid-1990s. Naturally, I worked with Grids during my thesis.
In fact, OurGrid is somewhat of a byproduct of my Ph.D. thesis. As I
mentioned, OurGrid stemmed from the need to run tons of simulations.
This is because, during my thesis, I got unlucky with some workload
distributions, which were very "elastic." As a result, I ended up
having to run my simulator hundreds of thousands times to get
statistically valid results. The simulations were independent, making
them a suitable application to the Grid. Thus, I went to try to run my
simulations on the Grid. However, even in a top Grid lab, it was very
hard to get a Grid running in production in the late 1990s. All we had
were testbeds. So, I leveraged the simplicity of task independence, and
created MyGrid, a series of scripts that allowed me to combine all
machines I could login via ssh into a "personal Grid." With the help of
some friends (promising I would always run "niced"), I got access to
six labs; 178 processors total. This was enough for me to run my
simulations 116 times faster than using only my desktop computer.
I later realized that MyGrid would be useful to many people. So, with
the help of HP and the energy of many students, we've built a product
version of MyGrid, with a manual and everything. It allows people to
combine all the machines they have access to into a personal Grid able
to run Bag-of-Tasks applications.
OurGrid followed, enabling people to automatically and safely exchange
resources from their MyGrids. The idea is that they'll be able to run
even on computers they don't have access to, making their "personal
Grid" scale much further than the remote logins they can manage to talk
their friends into providing to them.
What are some of the big changes you have seen with Grid
computing since you got involved, and what do you think will be the
biggest changes we will see in the near future?
Grids started as one form of HPC. The idea was to combine
resources from multiple administrative domains to obtain unprecedented
levels of parallelism. For me, the biggest change was the evolution of
this vision into the ability to access and combine computational
services on demand. This takes Grids from a niche (HPC) and puts them
into the computing mainstream. It is a vision that makes a lot of sense
(both technically and economically). However, I'm afraid we are
building a far too complex infrastructure. Last time I checked, there
were 52 "emerging" Grid standards. It is just too complex. I expect to
see much simplification before we can realize the vision of
Is there anything else you'd like to add?
If you have a Bag-of-Tasks application, go to
, and give OurGrid a try. The system is for real, and
we'd love to have you in the community.