IBM is putting more energy in building computers that mix CPUs with specialized accelerators to diversify its servers and target specific workloads, an IBM executive said this week.
Servers based on generic CPU designs may be good for certain applications, but IBM wants to add homegrown co-processors and specialized circuits to accelerate certain tasks, said Jai Menon, CTO of IBM's Systems and Technology Group, during an interview.
The company will continue to offer commodity servers with x86 processors, but it will also increasingly offer server configurations and appliances optimized for specific applications such as medicine, cloud computing and transaction processing.
"One size really doesn't fit all," Menon said. "It isn't really the case that x86 is the right answer for everything, or Power is the right answer for everything."
The company has taken some steps in that direction, offering servers designed around certain applications. The company offers the Cloudburst appliance, which aims to speed application deployment to cloud and virtualized environments. It also offers Nvidia graphics processors alongside CPUs in certain blade servers to accelerate scientific and mathematical applications.
IBM is now developing new chips and reprogrammable circuits that can offload other tasks from the CPU, Menon said. The company is also creating a new programming language that will work in tandem with the accelerators to boost system performance.
In February IBM announced the PowerEN processor, which can be used as a general-purpose processor, or as a co-processor to which certain processes like network tasks can be off-loaded. The chip will be built into servers or offered as cards that can be plugged into a PCI (Peripheral Component Interconnect) slot.
IBM is also putting an increased focus on FPGAs (field-programmable gate arrays), which are circuits that can help execute specific tasks faster than CPUs. The company already has FPGAs that do XML processing on servers.
Changes are needed at the software level to extract the best performance from the accompanying components, Menon said. IBM supports the OpenCL standard, a set of programming tools to develop and manage parallel task execution across CPUs and GPUs. The company is trying to make FPGAs flexible and easily reprogrammable through a new Java-compatible programming language called Lime, which is still being researched, Menon said.
"It's about trying to make FPGA programming just like normal programming so you can reconfigure the FPGA on the fly and redirect it to a new kind of application," he said.
Reprogrammable FPGAs could reduce the need for specialized chips -- also called ASICs (application-specific integrated circuits) -- for specific tasks, Menon said. ASICs are not flexible and take time and money to build, Menon said.
Looking further out, Menon also believes a new type of memory called phase-change memory could replace existing DRAM and revolutionize the way servers are built. PCM uses a glass-like material that can change from multiple states to crystalline forms as atoms are rearranged.
"It's cheap enough almost to be like disk, it's fast enough to be almost like memory," Menon said.
As the price of PCM falls, users will be able to get five to 10 times as much memory in servers compared to today's DRAM, Menon said. It will also be nonvolatile, which means data won't go away if the power to a server fails.
With PCM, "you can design your file systems differently, you can design your databases differently, and it has the potential to reduce by three orders of magnitude the power consumed and the amount of space consumed by servers," Menon said.
Menon said IBM continues to develop PCM and will incorporate it in servers, but he didn't provide a specific date. Companies like Samsung and Numonyx are also focused on PCM.