Enabling Research with MATLAB on the TeraGrid
Rajesh Bhaskaran at Cornell’s Space Systems Design Studio CUSat Satellite Project is leading a multi-year effort to create and deploy an autonomous in-orbit inspection satellite system using a MATLAB-based simulation.
Meanwhile, Ricky Harjanto at UC San Diego’s Cartilage Tissue Engineering Lab is also using MATLAB to examine changes in the shape of mice femurs during postnatal development via statistical shape modeling techniques to determine variations in mouse development at different stages of growth.
At the same time, Harshal Mahajan at the University of Pittsburgh’s NSF Quality of Life Technology Center is modeling power wheelchair driving to determine different techniques to improve and enhance mobility for the many thousands who rely on safe, effective wheelchairs. Mahajan’s code uses the MATLAB system identification toolbox to build models from the wealth of driving data collected.
Outside of using MATLAB as their primary tool, these and other researchers have something else in common; they are all using Cornell University’s MATLAB on the TeraGrid experimental computing resource, which is helping them achieve fast results delivered to their desktop — and doing so in an operating environment they are already comfortable with.
High-Level Programming for the Non-Programmer
MATLAB is ubiquitous in scientific and large-scale computing with estimates closing in on over one million researchers who use the tool for a wide variety of technical computing applications. Outside of its use in technical applications, it is also being deployed to manipulate data gathered from a range of scientific instruments, including satellites, telescopes and sensors.
There are clear incentives to deliver easily-accessible software and computational resources to a large number of scientific users in general. This has been the goal of any number of universities and national labs from the era of grid until the present. This has been an aim of the National Science Foundation, which is one of a handful of funding sources for these types of projects and accordingly, it is not difficult to see how their interest was engaged when Cornell stated it would be capable of delivering MATLAB and high-performance computing to more researchers.
As Robert Buhrman, Senior Vice Provost for Research at Cornell, stated, “MATLAB on the TeraGrid will help enable a broader class of researchers who are well-versed in MATLAB to reduce the time to solution in a scalable manner without having to become parallel programming experts.” It is this reduced time to results and mitigation of programming challenges that makes this an attractive option — and one that has some direct results, judging from Cornell’s long list of research projects both pending and underway on the MATLAB and TeraGrid resource.
Part of the appeal for researchers is that the computational learning curve is diminished. Access to the 512-core resource does not require understanding of any particular operating system, MPI library, or batch scheduler. By utilizing the Parallel Computing Toolbox and the MATLAB Distributed Computing Server to access the resource via desktops and the TeraGrid science gateways, users who are part of TeraGrid are granted high-performance equipment without some of the common hassles on the programming front they used to encounter on a regular basis. In other words, it is allowing researchers to focus distinctly on their research problems, rather than forcing them to become, by proxy, experts in parallel programming.
The Partnership to Bring MATLAB to TeraGrid
Cornell University, in partnership with Purdue University, received an NSF grant to deploy MATLAB on the TeraGrid for what is currently deemed an experimental resource. Since MATLAB is such an important data tool for complex data analysis for many TeraGrid users, as a parallel resource it could provide an even greater opportunity to expand access to high-performance computing for researchers.
The goal of the partnership between the universities and the NSF is to provide “seamless parallel MATLAB computational services running on Windows HPC Server 2008 to remote desktop and Science Gateway users with complex analytic and fast simulation requirements.”
In a recent interview, David Lifka, director at the Cornell Center for Advanced Computing, noted that the funding from the NSF was in part to provide staff at Cornell that would develop software to allow MATLAB clients from any platform (Windows, Linux, Mac) to seamlessly connect to the experimental resource at Cornell and run jobs in parallel. This would mean that users would get their results back on their desktop via the Web interface without needing to learn a new batch system or new programming model. As Lifka explained, “Basically, once the users know MATLAB, they can use parallel MATLAB directly from their host client.”
The NSF also set aside funding for staff at Purdue University who were tasked with enabling the same sort of connectivity via their science gateway. Purdue has a software framework for building scientific gateways called HubZero — a framework that has been rising in popularity as more disciplines create domain-specific gateways of their own to share and augment research projects.
On a hardware and software level, it should be noted that Cornell’s cluster is not a “tricked out” resource by any means. The Dell PowerEdge HPC cluster is not a gigantic system; there are no special interconnects and it is not running any specialized, customized software. One look at the specs reveals that it’s running everything off the shelf, including Microsoft Windows HPC scheduler and the standard version of the MathWorks software, for example.
Lifka stated that the only part that is customized is the software interface that the client installs on his or her MATLAB client that handles the secure communication with the cluster to submit jobs.
The resource itself is modest, although the team hopes that it will eventually grow after proven success with the MATLAB on TeraGrid project. Current wait times are still an issue; this is not the instant-run access that some HPC-as-a-service providers from the “outside world” can deliver. The team publishes the current wait times, which generally run between three and four days, give or take.
Opening Doors to Discovery
MATLAB is in such wide use across disciplines because it allows researchers to focus on their immediate discipline-specific questions without needing to become advanced programmers. It is generally perceived as being far more compact for scientific and mathematical uses than Fortran or C, and for this reason, it is has become the most comfortable environment for many in academia, engineering and beyond. By delivering it to a larger number of users, Cornell, Purdue and TeraGrid are helping to advance scientific discovery and aid in the ease of access to many researchers.
“One of the beauties of MATLAB is that it’s such a broad tool that can be used across disciplines and that was the key thing we felt was important — and why we wanted to do this project with the NSF,” said Lifka. “The MathWorks’ MATLAB is used across business, academia and in national labs because it works and because it doesn’t require a steep learning curve. If you know your science and you know your MATLAB, you can get a lot done very quickly.”
Encouraging Broader Impact
Delivering parallel MATLAB as a resource for a broader class of researchers was part of what made the deal attractive to the National Science Foundation (NSF) as it examined the benefits of funding such a partnership. David Lifka, director at the Cornell Center for Advanced Computing, stated, “What we wanted to do and what the NSF wants to encourage is broader impact — bringing new users into the fold who need large-scale computing without the learning curve. We want to get them scaling their science up and hopefully, along the way, they ask some questions so we can continue to improve.”
The funding came from a Strategic Technologies and Cyberinfrastructure grant, which is backed by the NSF’s stated aims to bring new resources to bear to encourage greater access to high-performance computing. The idea behind the project is to present this as a resource so that later it can be determined whether or not this project will belong in the TeraGrid resource provider collection in the future. As Lifka noted, “We’re hopeful that someday we will be part of this collection, but today we’re not.”
Additional support for the project came from Dell, Microsoft and The Mathworks, purveyors of MATLAB. According to Lifka, this backing was due to the interest these stakeholders had in watching how utility computing could be made available and how the experimental resource might enable seamless access from Web to the desktop.