Feature - Doing science on the hub
The HUBzero platform will be released as open source for the first time at the HUBbub 2010 workshop, 13-14 April. The release of this powerful platform could change the way you research, collaborate, and teach.
HUBzero has been described as a cloud, a content management system, and "FaceBook for scientists." In a way, these are all true. Yet none of them adequately convey the capabilities of this platform.
It all began with a web infrastructure called PUNCH, which was developed in 1995 at Purdue University in order to deploy simple science gateways. Scientists could use PUNCH to create a web form that, when filled out and submitted, would run batch jobs.
At the time, this was pretty revolutionary. But by 2002, it was time for an update. So they began work on the now well-known nanotechnology resource, nanoHUB.org.
"They wanted to take that PUNCH infrastructure and apply it in the nanotechnology realm, to bring a lot of different simulation tools together," explained Michael McLennan, the project director for HUBzero. "What we were looking for when I joined the project [in 2004] was to kind of reinvent the infrastructure to be much more Web 2.0."
The new nanoHUB.org had built-in visualization and graphics capabilities, and connected to larger grid and parallel computing infrastructures such as TeraGrid and Open Science Grid. It was also designed to enable researchers to help each other by sharing tools, seminars, and questions and answers in a community setting.
Today, nanoHUB.org has nearly 106,000 users from all over the world. It is actively used for online meetings, sharing of tools and educational resources, conducting simulations, and more.
nanoHUB.org is such a smashing success that it led to HUBzero. In 2007, the newly-formed HUBzero team led by McLennan took the underlying infrastructure of nanoHUB.org and transformed it into a generic platform. Since then, the platform has been used to deploy eight new hubs that each focus on different areas of science.
Currently, all of the hubs are deployed, hosted, and maintained by the HUBzero team, for a price. But once the platform is released as open source, anyone will be able to try their hand at deploying and hosting their own HUBzero hub.
Hubs in context
Platforms where scientists can collaborate or do work are popping up everywhere nowadays. So what makes HUBzero different from other science gateways or portals?
Most science gateways, including the tools the research tools they host, are developed by a small team of trusted developers, McLennan said. With the HUBzero platform, however, anyone can get an account, and anyone can create and upload a research tool.
"The interesting thing about that is that we don't necessarily know those people, we don't trust those people, and yet they're uploading code that is running in our environment and sometimes going out to TeraGrid and so forth," McLennan said. "If you have 160 tools and you can't go through each tool line by line, you have to just trust that either you know and trust the users or you know and trust the system that's running it. We've chosen the latter."
Behind HUBzero's pretty façade lies virtualization technology that protects other users and computational resources from the unknown user code. The code is placed in virtual containers that are designed to wall the code off from other users, lock the contents down to prevent the code from opening network connections, and even load balance the demands of the code if it is too hungry for processing power.
In part, the rapid growth in tools on nanoHUB.org can be traced back to that virtualization technology. Without it, hub administrators would have to review every line of code in every tool submitted, forming a bottleneck in the tool creation process.
"The other thing we've done with this project is to make it easy for people in all aspects," McLennan said. HUBzero incorporates the Rapid application infrastructure (Rappture) toolkit, which was designed by McLennan in 2004 as part of the nanoHUB project (today, Rappture is open source, and still under development).
Using Rappture, scientists can take their existing science code and automatically generate a graphical user interface. Normally, to use and share this code, a scientist would have to write a way for the code to receive input from a user, output results, and visualize those results. Rappture handles each of those steps, simplifying the process tremendously.
For a tutorial on how Rappture works, click here.
-Miriam Boon, iSGTW