High Performance or High Functionality or Both?
Readers of these pages will have noticed that Concertant is described as being both an HPC and an HFC practice. While HPC clearly stands for High Performance Computing, what does HFC mean? The answer is High Functionality Computing. An odd thing to link to HPC? perhaps not. Read on.
Today’s multi-core processors (MCPs) offer a window on the future of processor design. They signal the way that all our businesses are going to go: businesses will be run on and by MCPs and we aren’t just talking about servers here. Intel, AMD and others are solidly targeting the desktop. MCPs have now ‘arrived’ (although they are still relatively in their infancy), there is no doubt that they have the potential to offer much, much more than they do at present.
For a guide to what might happen let’s look at the current graphics market. The top end is dominated by powerful, multi-core systems containing not just identical cores, but a range of different ones designed to carry out component operations of a specific task. In the case of a graphics board that task is (generally) playing a game; but the lessons learnt from their design can be applied to almost any other function. Each core in these designs is highly optimised because it focuses (in both hardware and software terms) on one part of a more complex overall process whether it be a rendering engine, a vertex shader, a physics engine or whatever else. Such designs are known as sometimes known as “many-core”, as opposed to multi, identical-core processors. This is perhaps the real meaning of MCP. They are true heterogeneous parallel engines.
Instead of having identical cores many-core processor designs will in the future be a mixture of both general purpose and others dedicated cores. More general purpose components will be surrounded by dedicated encryption engines, search engines, communications engines and, who knows, maybe even a shader or two; all in a package designed to provide an integrated environment on a single chip.
The throughput of such a processor can be staggering by today’s standards. It is well known from RISC and other design strategies that the resulting engine can be very small and very efficient indeed. In the Press speeds are already being claimed for many-core graphics processors to be as much as ten times faster than standard desktop dual-cores; which aren’t sluggards themselves.
We can look forward to greater levels of customisation in MCP-based systems. While it may be cheapest to put the same basic patterns of cores down, it is not evident that the “additional” cores need always be the same. Processors will become much more tailored to specific markets and market segments.
This, in turn, means the advent of new embedded processor markets as well, in which many-core processors are exploited to provide higher-functionality enabling new, more sophisticated applications to be delivered to consumers. These will be high performance systems in their own right.
For the general applications builder, there are still real issues as to how many-cores are programmed; and there are design and yield issues for manufacturers for the sort of levels of functionality we have discussed. However, there is a real motivation among manufacturers to see delivery of high-functionality so the issues will be resolved, one way or another.
In terms of delivery, all that may be a way off yet, but it is this very mixture of functionality and performance that means that we are interested in both high performance computing, and in the delivery of high functionality. So, yes HPC and HPF can, and will, go hand-in-hand.
