All,
This is an excellent review of the CELL against leading VLIW/EPIC
(Itanium), Superscalar (Operton)
and Vector (Cray X1E) processors. From my reading the messages are:
1. Vector operations deliver higher percentage of peak at lower power
than the alternatives on the HPC kernels. A comparison to an
MTA-like highly
multi-threading architecture is missing in the comparison.
Most 32-bit numbers
exceed the non-vector alternatives by substantially more than
2x in measured
performance on Dense matrix, Sparse Matrix, Stencil, and FFT
kernels
(so dual core will not create parity on sustained/measured [no
peak] comparisons
in their view).
2. Three tiered memory system with simple local memory (store, like
old Cray-2)
that is user/software managed is preferable to cache in the
above context.
Double buffering and prefetching to local store reduce memory
delays dramatically.
3. CELL's vector instructions from local memory need augmenting to
include more "unaligned load" support ... indexed and non-unit
stride
capability (seems like loads from memory to the local store do
have
these features.)
4. Double precision (64-bit operations) are severely hamper by
instruction issue
delays. The reviewer suggest a few minor modifications to the
design to
reduce this problem ... so its performance at 64-bits drops off
dramatically.
They also argue that the CELL chip will be produced in large enough
quantity
to compete on price with the mulit-core super-scalars. I am not so sure
of this.
Also, the issue of vector type memory operations across a "commodity
interconnect" in
the context of the Beowulf distributed memory architecture is not
addressed.
Vector memory references are especially revealing of the limitations of
the RDMA
capabilities of current interconnects.
CELL is a data-parallel heavy weight pitted against the
instruction-parallel multi-core
alternatives in which the question of how latency should be hidden is
being considered
--underneath stacks of independent/atomic instuction blocks (threads)
which may
or may not come from the same program, or with in a pipeline of vector
operations
that stream data from memory. Apps with partitionable data with some
kind of non-random
reference pattern (most HPC appls) favors data-parallelism and vectors,
while work loads
with more completely random references and the large thread counts
(graphs algorthms)
typical of the mixed user environment of servers favor the thread-level
instruction
parallelism.
There is one micro processor architecture that I have seen from MIT. VTA
(Vector Thread
Architecture) which seems to combine both a workable fashion. I
recommend the articles
describing the VTA microprocessor out of Krste Asanovic's group at MIT.
I think they have the
ISA finished and are taping out the chip as I type.
Regards,
rbw
--
Richard B. Walsh
Project Manager
Network Computing Services, Inc.
Army High Performance Computing Research Center (AHPCRC)
[EMAIL PROTECTED] | 612.337.3467
-----------------------------------------------------------------------
This message (including any attachments) may contain proprietary or
privileged information, the use and disclosure of which is legally
restricted. If you have received this message in error please notify
the sender by reply message, do not otherwise distribute it, and delete
this message, with all of its contents, from your files.
-----------------------------------------------------------------------
--- Begin Message ---
All,
This is an excellent review of the CELL against leading VLIW/EPIC
(Itanium), Superscalar (Operton)
and Vector (Cray X1E) processors. From my reading the messages are:
1. Vector operations deliver higher percentage of peak at lower power
than the alternatives on the HPC kernels. A comparison to an
MTA-like highly
multi-threading architecture is missing in the comparison.
Most 32-bit numbers
exceed the non-vector alternatives by substantially more than
2x in measured
performance on Dense matrix, Sparse Matrix, Stencil, and FFT
kernels
(so dual core will not create parity on sustained/measured
[no peak] comparisons
in their view).
2. Three tiered memory system with simple local memory (store,
like old Cray-2)
that is user/software managed is preferable to cache in the
above context.
Double buffering and prefetching to local store reduce memory
delays dramatically.
3. CELL's vector instructions from local memory need augmenting to
include more "unaligned load" support ... indexed and non-unit
stride
capability (seems like loads from memory to the local store do
have
these features.)
4. Double precision (64-bit operations) are severely hamper by
instruction issue
delays. The reviewer suggest a few minor modifications to the
design to
reduce this problem ... so its performance at 64-bits drops
off dramatically.
They also argue that the CELL chip will be produced in large enough quantity
to compete on price with the mulit-core super-scalars. I am not so sure
of this.
Also, the issue of vector type memory operations across a "commodity
interconnect" in
the context of the Beowulf distributed memory architecture is not addressed.
Vector memory references are especially revealing of the limitations of
the RDMA
capabilities of current interconnects.
CELL is a data-parallel heavy weight pitted against the
instruction-parallel multi-core
alternatives in which the question of how latency should be hidden is
being considered
--underneath stacks of independent/atomic instuction blocks (threads)
which may
or may not come from the same program, or with in a pipeline of vector
operations
that stream data from memory. Apps with partitionable data with some
kind of non-random
reference pattern (most HPC appls) favors data-parallelism and vectors,
while work loads
with more completely random references and the large thread counts
(graphs algorthms)
typical of the mixed user environment of servers favor the thread-level
instruction
parallelism.
There is one micro processor architecture that I have seen from MIT. VTA
(Vector Thread
Architecture) which seems to combine both a workable fashion. I
recommend the articles
describing the VTA microprocessor out of Krste Asanovic's group at MIT.
I think they have the
ISA finished and are taping out the chip as I type.
Regards,
rbw
Eugen Leitl wrote:
http://www.hpcwire.com/hpc/671376.html
Researchers Analyze HPC Potential of Cell Processor
Though it was designed as the heart of the upcoming Sony PlayStation3 game
console, the STI Cell processor has created quite a stir in the computational
science community, where the processor's potential as a building block for high
performance computers has been widely discussed and speculated upon.
To evaluate Cell's potential, computer scientists at the U.S. Department of
Energy's Lawrence Berkeley National Laboratory evaluated the processor's
performance in running several scientific application kernels, then compared
this performance against other processor architectures. The results of the
group's evaluation were presented in a paper at the ACM International
Conference on Computing Frontiers, held May 2-6, 2006, in Ischia, Italy.
The paper, "The Potential of the Cell Processor for Scientific Computing," was
written by Samuel Williams, Leonid Oliker, Parry Husbands, Shoaib Kamil and Katherine
Yelick, of Berkeley Lab's Future Technologies Group and by John Shalf from NERSC.
"Overall results demonstrate the tremendous potential of the Cell architecture for scientific
computations in terms of both raw performance and power efficiency," the authors wrote in
their paper. "We also conclude that Cell's heterogeneous multi-core implementation is
inherently better suited to the HPC environment than homogeneous commodity multi-core
processors."
Cell, designed by a partnership of Sony, Toshiba, and IBM Cell, is a high
performance implementation of software-controlled memory hierarchy in
conjunction with the considerable floating point resources that are required
for demanding numerical algorithms. Cell takes a radical departure from
conventional multiprocessor or multi-core architectures. Instead of using
identical cooperating commodity processors, it uses a conventional high
performance PowerPC core that controls eight simple SIMD (single instruction,
multiple data) cores, called synergistic processing elements (SPEs), where each
SPE contains a synergistic processing unit (SPU), a local memory, and a memory
flow controller.
Despite its radical departure from mainstream general-purpose processor design, Cell
is particularly compelling because it will be produced at such high volumes that it
will be cost-competitive with commodity CPUs. At the same time, the slowing pace of
commodity microprocessor clock rates and increasing chip power demands have become a
concern to computational scientists, encouraging the community to consider
alternatives like STI Cell. The authors examined the potential of using the
forthcoming STI Cell processor as a building block for future high-end parallel
systems by investigating performance across several key scientific computing
kernels: dense matrix multiply, sparse matrix vector multiply, stencil computations
on regular grids, as well as 1D and 2D fast Fourier transformations."
According to the authors, the current implementation of Cell is most often
noted for its extremely high performance single-precision (32-bit) floating
performance, but the majority of scientific applications require double
precision (64-bit). Although Cell's peak double precision performance is still
impressive relative to its commodity peers (eight SPEs at 3.2GHz = 14.6
Gflop/s), the group quantified how modest hardware changes, which they named
Cell+, could improve double precision performance.
The authors developed a performance model for Cell and used it to show direct
comparisons of Cell against the AMD Opteron, Intel Itanium2 and Cray X1
architectures. The performance model was then used to guide implementation
development that was run on IBM's Full System Simulator in order to provide
even more accurate performance estimates.
The authors argue that Cell's three-level memory architecture, which decouples
main memory accesses from computation and is explicitly managed by the
software, provides several advantages over mainstream cache-based
architectures. First, performance is more predictable, because the load time
from an SPE's local store is constant. Second, long block transfers from
off-chip DRAM can achieve a much higher percentage of memory bandwidth than
individual cache-line loads. Finally, for predictable memory access patterns,
communication and computation can be effectively overlapped by careful
scheduling in software.
"Overall results demonstrate the tremendous potential of the Cell architecture for
scientific computations in terms of both raw performance and power efficiency," the
authors wrote. While their current analysis uses hand-optimized code on a set of small
scientific kernels, the results are striking. On average, Cell is eight times faster and
at least eight times more power efficient than current Opteron and Itanium processors,
despite the fact that Cell's peak double precision performance is fourteen times slower
than its peak single precision performance. If Cell were to include at least one fully
utilizable pipelined double precision floating point unit, as proposed in their Cell+
implementation, these speedups would easily double.
The full paper can be read at:
http://www.cs.berkeley.edu/~samw/projects/cell/CF06.pdf.
The paper was written primarily by members of LBNL's Future Technologies Group,
part of Berkeley Lab's Computational Research Division (http://crd.lbl.gov/),
which creates computational tools and techniques that enable scientific
breakthroughs, by conducting applied research and development in computer
science, computational science, and applied mathematics.
-----
Source: Lawrence Berkeley National Laboratory
------------------------------------------------------------------------
_______________________________________________
Beowulf mailing list, [email protected]
To change your subscription (digest mode or unsubscribe) visit
http://www.beowulf.org/mailman/listinfo/beowulf
--
Richard B. Walsh
Project Manager
Network Computing Services, Inc.
Army High Performance Computing Research Center (AHPCRC)
[EMAIL PROTECTED] | 612.337.3467
-----------------------------------------------------------------------
This message (including any attachments) may contain proprietary or
privileged information, the use and disclosure of which is legally
restricted. If you have received this message in error please notify
the sender by reply message, do not otherwise distribute it, and delete
this message, with all of its contents, from your files.
-----------------------------------------------------------------------
--- End Message ---
_______________________________________________
Beowulf mailing list, [email protected]
To change your subscription (digest mode or unsubscribe) visit
http://www.beowulf.org/mailman/listinfo/beowulf