SGI principal engineer Steve Reinhardt says the open-sourcing of Speedshop establishes a common baseline for developers and researchers working with many different platforms. With Open/Speedshop researchers will be able to examine code written in many languages, including Java, because it is a basic tool that coders can port to any platform.
Reinhardt says the initial baseline offering will attract developers who want to contribute to that baseline. "We have had conversations with other tools vendors and researchers who are considering using Open/Speedshop," he says. "We think this is one of those areas where [without Open/Speedshop] you could wind up doing a lot of engineering that doesn't bear on your research.
"If we do this right, we can work it so that a lot of the researchers could use Open/Speedshop and get right to the interesting work -- they don't have to spend as much time on infrastructure."
For example, says Reinhardt, if you wanted to do performance analysis for a Java program, you might have to start from scratch and build a tool that focuses on Java -- something Reinhardt called "a considerable amount of work." Or instead, you could pick up Open/Speedshop and simply write some code that allows it to understand Java, and "all that other stuff would already be there."
Some of the impetus for open-sourcing Speedshop came from a procurement statement issued by the National Nuclear Security Administration (NNSA), part of the U.S. Government's Department of Energy. In the document, titled "Open Source Software Development Acceleration," the agency proposed to fund projects to develop better open source tools to facilitate research and development on Linux platforms. SGI quickly realized Speedshop was a natural candidate for porting to Linux.
In its statement, NNSA also said it recognizes open source software is not "free... the cost structure is just different." Reinhardt says the U.S. government relishes the low cost of open source software, compared with traditional proprietary offerings, along with a greater degree of autonomy that having access to source code provides. "SGI sells to a number of classified customers who take security seriously," he says. "If they have a security problem they can have their own Linux expert who can go look at it and fix it - they're not beholden to someone else."
The project is scheduled to be complete sometime in 2006. Additionally, SGI plans to develop its own proprietary plug-ins for Open/Speedshop, including one that will help researchers understand how a program uses non-uniform memory architecture (NUMA), a technology that Reinhardt says is one of SGI's "claims to fame."
"A lot of Linux systems are built out of commodity nodes, each with its own memory space and operating system instance. You put together a bunch of them and you get a cluster," Reinhardt says. "SGI's hardware nodes can be one address space, one memory space -- NUMA. So, this is a place where we expect to have an experiment, which will help researchers understand how their program is using the NUMA memory. It is only on a machine like ours that an experiment like this would be relevant."