Editor’s note: The following article was written by Giovanni Pacifici, IBMResearch’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 another.
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 configure.
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 spikes.
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: big savings).
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.