Microsoft has announced the Microsoft
Technical Computing Initiative
, a new effort and organization charged with
bringing supercomputing horsepower and resources to a much wider audience of
scientists, researchers and engineers.
The effort, which has been operating in "stealth mode" for
last 18 months, aims to simplify supercomputing capacity and help democratize
supercomputing for a broader set of users, according to Bill Hilf, Microsoft's
general manager, technical computing. The explosion of data, which is massively
outpacing computational growth, the notion of parallelism and the impact of
cloud computing are the macro trends prompting Microsoft to aggressively pursue
this new venture, Hilf says.
"What's been happening to make this more important to the
broader world is the end of the explosion of Moore's law, where we get faster
clock speeds every 18 months," Hilf explains. "The transition to multicore
systems has created a crucial need for the software community-everyone from
CAD/CAM providers to operating system vendors-to fundamentally rewrite software
to take advantage of parallelism."
The idea of breaking up a massive computing task or problem
such as a complex simulation and distributing the processing work across
resources, i.e., parallelism, applies to multicore desktop systems, cluster
computing environments, even the large-scale resources of cloud computing. The
problem is, as Hilf explains it, 99% of the world's software isn't written as a
parallel program, which is required to take advantage of the new architecture.
"Any time people need to break up and distribute a problem against large scale resources,
be it on a client, in a cluster or in the cloud--those are the environments
where we're focused on helping simplify and broaden the availability of
supercomputing," Hilf explains.
The new Microsoft organization, which has been hiring and collaborating with the best and the
brightest in the technical computing community
, has a multi-pronged agenda
to meet that agenda:
company is currently offering Windows HPC Server,
which delivers high-performance computing power on a cluster level and the
company is planning to release a new version this fall with more advanced
capabilities. For example, the new version will automatically bring unused
PC resources into the cluster during off-hours in the evening to tackle a
high-performance computing problem, Hilf explains.
its Azure cloud computing
platform to deliver High Performance Compute cycles in the cloud to
augment on-premise systems and deliver "just in time" processing.
new tools that will simplify parallel software development. Hilf says
parallel programs are extremely difficult to write, test and debug, and
Microsoft is committed to building new tools that will help automate and
simplify the process of writing parallel programs that will scale from the
desktop, to the cluster to the cloud. "The parallelism pressure has
already started in a significant way," he explains. "Simplified tools will
allow those serial developers to exploit parallel development. We see this
opening up those things that were previously only relegated to high-end
customers to a broader set of users."
new development tools and run-time platforms that will allow applications
or even engineering models to seamlessly scale from multicore PCs to
multi-server clusters to a multi-instance cloud environment, depending on
the need for compute power. This idea of flexibility and choice between
running in a client, cluster or cloud environment is where Microsoft
really sees its key differentiation, Hilf says. Consider the development
of an aircraft, for example. With the Microsoft High Performance Computing
vision, one or two variables involved in a wing design could be simulated
on a workstation, while the relationship of the wing to the entire
fuselage could be explored on the cluster and a simulation of the entire
aircraft across a huge amount of weather or physics data could leverage the
capacity of the cloud for computation. "To do that now, requires rewriting
the application at every step," Hilf says. In the Microsoft vision, the
parallel computing run-time platforms would allow the model or application
to take advantage of whatever resources beneath it without having to
change the application, he explains.