|
Because high performance computing lives on the leading edge of
information technology, predicting the path of HPC is like forecasting
the future of the future. When Cray Research and CDC began selling
supercomputers with custom processors in the early '70s, it probably
seemed inconceivable that in three decades most high performance
computing would be done on the descendants of PC chips. Only using the
rear-view mirror of the present can we see that it was all inevitable.
The economics of volume chip production, the introduction of cluster
and grid computing, the momentum of a rapidly growing software base,
and Moore's Law all conspired to propel the x86 into HPC preeminence.
Everything else was just noise.
Because high performance computing lives on the leading edge of
information technology, predicting the path of HPC is like forecasting
the future of the future. When Cray Research and CDC began selling
supercomputers with custom processors in the early '70s, it probably
seemed inconceivable that in three decades most high performance
computing would be done on the descendants of PC chips. Only using the
rear-view mirror of the present can we see that it was all inevitable.
The economics of volume chip production, the introduction of cluster
and grid computing, the momentum of a rapidly growing software base,
and Moore's Law all conspired to propel the x86 into HPC preeminence.
Everything else was just noise.
It's easy to identify the visible
new trends today. In fact, they're generally the same in HPC as they
are in the overall industry: the rise of multi-core and heterogeneous
processing, the importance of power consumption, the industry embrace
of open source software, virtualization -- in all its forms, and the
struggle for application parallelization. But which of these, if any,
is just noise? And how will all these elements interact?
Predicting
winning technology formulas is not just an exercise for the armchair
geek. It's the intellectual focus of most IT organizations and informs
their most basic business decisions. And while most companies end up
just following trends to stay afloat, some actually set them for the
rest of the industry. Intel and AMD fall into the latter category.
Even
though the two x86 chipmakers are going after the same markets, their
underlying technology strategies are diverging. Intel uses its in-house
semiconductor and CPU design expertise to be the leader in x86
performance and power-efficiency. Its aggressive two-year cadence of
processor shrinks and core redesigns is designed to stay ahead of its
rivals on fundamental microprocessor technology. Meanwhile, AMD
emphasizes system design to achieve scalability and overall system
throughput. The company is also trying to establish an AMD-based
ecosystem, using Torrenza and HyperTransport to foster open standards
for third party silicon.
While these two chip titans are busy
inventing the future, they also are effected by trends they can't
control. Late last year, AMD made the biggest strategic decision of its
life when it acquired ATI. It saw the future of general-purpose
processing as something more than the x86. The company's CPU-GPU Fusion
initiative and the ongoing development of discrete GPUs is AMD's way to
bring heterogeneous processing in-house. Rumors abound that Intel is
working on adding high-end GPUs to its offerings as well. Publicly the
chipmaker has been mum on the subject, but the Intel web page that
lists job openings for graphics engineers (http://www.intel.com/jobs/careers/visualcomputing/) provides a pretty good indication of the company's intent.
In
this week's issue, Intel and AMD offer an outline of their high
performance computing strategy -- at least the public strategy. Stephen
Wheat, senior director of Intel's HPC Business Unit, talks
about x86 high performance computing, and how the company's overall
strategy fits into that market. Phil Hester, AMD CTO and Bob Drebin,
CTO for the AMD's Graphics Products Group, answer questions about how their company's technology roadmap targets future HPC workloads.
What
may be most similar about the two companies is their measured devotion
to high performance computing. Both organizations have internal HPC
units, but these entities have only limit effect on driving overall
company strategy. That makes good business sense. With an x86 market
nearing $30 billion annually (Mercury Research, 2006), the HPC slice
represents just a fraction of that; the entire HPC market is around $10
billion, according to IDC. While high performance computing is
important to both companies, it's treated as a leverage poiint for the
larger business rather than as an end-point in itself.
"[W]e
rarely look at the HPC segment in isolation," said Intel's Stephen
Wheat. "HPC innovation quickly migrates into the enterprise segment.
There are many opportunities for HPC to influence offerings in the
larger markets."
The realities of commodity-based HPC are
intimately tied to the mega-trend of multi-core processors. This
architectural shift means that parallel processing is not just for HPC
anymore. All the chipmakers, not just Intel and AMD, are counting on
this. In fact, multi-core processing is going to blur the distinction
between general purpose and high performance computing. It may be the
most profound development in computer hardware since the integrated
circuit.
The February edition of CTWatch Quarterly (http://www.ctwatch.org/quarterly/)
has devoted the entire issue to the multi-core revolution. It traces
the rationale behind the revolution, describes its impact, and outlines
the problems this new architecture has created for computing in the
21st century. The four articles in the issue include: The Impact of
Multicore on Computational Science Software, The Many-Core Inflection
Point for Mass Market Computer Systems, The Role of Multicore
Processors in the Evolution of General-Purpose Computing, and High
Performance Computing and the Implications of Multi-core Architectures.
All are worth reading if you want to understand the paradigm that is
shifting beneath your feet.
Pushback on Programming
Apparently my commentary a couple of weeks back, HPC Programming for the Masses,
struck a nerve. Professor Marc Snir, head of the CS department of at
the University of Illinois Urbana Champaign-Urbana, took exception to
my perspective on the relative importance of different programming
language models for HPC. The view I put forth was that HPC-enabled
versions of domain specific languages such as MATLAB, Excel and SQL
will be more important than traditional third generation languages in
spreading the commercial use of HPC, since it will broaden the
developer base beyond computer scientists.
Snir's point of view
is that we should leave programming to the professionals -- i.e.,
software engineers. To be honest, he's in good company. Bjarne
Stroustrup, the inventor of C++, expressed the same sentiments in a
recent interview
for Technology Review . However, Snir also implies that I believe
higher level languages will make software engineers redundant.
Actually, I never suggested that and certainly don't believe it. As I
pointed out in my commentary, most of the domain specific and 4th
generation languages are built on 3rd generation technology developed
by the programming elite.
Snir does makes some interesting
observations about the PGAS languages and the HPCS effort. In the
process, the professor also gives us a treatise on an implementation
language for HPC. This alone is worth a read.
Oddly enough, Snir
circles back around to recognize that application specific languages do
represent an important paradigm for HPC.
"High-level languages
should match the application domain, not the architecture of the
compute platform," he says. "Developing high-level languages that
satisfy the needs of HPC but are less convenient to use on more modest
platforms is a waste of money."
At that point, I'm not sure which side he's really arguing for. Read the article and decide for yourself.
Read the original article: http://www.hpcwire.com/hpc/1282240.html
|