Editor’s note: The following article was written by
Giovanni Pacifici, IBM
Research’s director of Distributed Computing.
Workload optimized systems are emerging as powerful
computers that, in the case of IBM’s Watson,
have been designed to tackle specific, complex problems such as cancer research.
But then the Research team asked: How could we
design a computer that understands what the user wants to do – at a system-wide
level – and also understands how to optimize itself for any workload?
This is exactly what IBM’s
new Pure Systems do.
Take banking applications, for example. They often require multiple virtual machines with compute, storage and software components. These disparate machines have to be configured and deployed manually, a complex, time-intensive process prone to error. Pure Systems instead use a semantically rich language developed by IBM Research to define its building blocks, and how they should optimally assemble.
Pure is an entirely new kind of computer.
The building blocks of a workload…
Building a system – or several virtual ones – with Pure is
like building something with blocks – in fact, that’s what the components look
like on the interface. Our scientists developed the language and tools to
create and manipulate these blocks so users can drag-and-drop the pieces they
need into their environment. And the blocks already know how to connect to one
For example, an application block knows how to connect to a
middleware block, and the middleware block knows how to connect to an operating
system block, vertically in a stack on the same machine, or horizontally across
virtual machines – something that used to take entire teams weeks or months to correctly
Pure guides users in the selection of the best set of blocks
for a workload’s requirements. Now, a user can just say “I have to accomplish
some type of work … and to run that workload, I need a set of resources
(storage, networking, etc.) … oh, and I need it configured a certain way (such
as isolating one application, while interconnecting others).”
…that speak the same language
Pure’s glue – the rich metadata language – knows how to cross
configure the building blocks so that the applications’ components can interact.
This component-to-component communication used to require administrators to
read manuals (for some IBM products, these
are RedBooks) to, for example, perform complex cross-configuration steps to
connect an application server with another machine running the database server.
The knowledge formerly sprawled across hundreds of pages is now distilled into
a formal language.
Faster evolution from research to development
When the team completed prototypes and showed it to our
IBM Software Group partners, we jointly decided to embed the Research team with their development team to accelerate taking the technology to market.
This combined effort led to a
much faster evolution from our prototype, to what is now Pure Systems.
We developed the language and tools so Pure can understand
its different (pre-defined or user-defined) blocks. Workload components may
have different security, availability and performance needs, requiring some
virtual machines to be close together, while others need to be separated in
different physical racks. Pure understands and automatically figures out the
best way to deploy these workload components to optimize performance and
maximize resource utilization.
We developed optimization technology for Pure to understand
the workload requirements and place the virtual workload components on the best
physical resources (compute, network and storage). Pure can even automatically re-adjust
the size of compute resources and workload clusters dynamically to react to usage
Pure resource optimization analytics go beyond managing physical
resources such as network, storage and compute – it can also manage software licenses.
We developed analytics that allow Pure to understand software license policies,
and even figure out when workloads can share the same software license (read:
Again, Pure is not so much a new product, as a new way to think about what computers can do: Pure is a computer that understands what the user wants to do and can optimize itself for any workload.
Labels: analytics, metadata, middleware, pure systems