Advertisement

Heterogeneous multiprocessing inches toward reality

OL5.DEC–RM–

Heterogeneous multiprocessing inches toward reality

The IEEE Standards Committee has approved IEEE Std 1596.5-1993, Data
Transfer Formats Optimized for the Scalable Coherent Interface (SCI). This
standard has implications for heterogeneous multiprocessing since its
protocols directly address the difficulties of data transfer between
machines with incompatible data formats. This data standard will vastly
increase the potential value of SCI, which is also progressing on the
hardware front. First GaAs of a gate array SCI link, designed by Dolphin
SCI Technology and built by Vitesse Semiconductor, has tested faster than
the planned 500 Mbytes/s. In the less rarefied world of CMOS, LSI Logic
offers a set, as standard products and as megacells, that can handle 125
Mbytes/s using Hewlett-Packard G-link chips. Samples are available.
RAMlink (see Electronic Products, June, p. 47) is a planned SCI-based
memory implementation. The possibility of 500-Mbyte/s network transfers
makes aggregations of machines seem like potential supercomputers, but to
achieve that they must share data. As long as the data consist only of
text, everything transfers in byte order. But as soon as arithmetic is
involved, big-endian/little-endian conflict rears its ugly head, as do the
various formats for floating-point numbers. Now think of multiprocessors
joined by some high-speed bus that must maintain cache coherency, along
with local buses not necessarily the same width, and you begin to
appreciate the bravery of the working group, headed by Dr. David V. James of
Apple Computer (Cupertino, CA). According to David Gustavson of the
Stanford Linear Accelerator, who is SCI chairman and a principal
instigator of the work, “The magnitude of the problem became clearer
during work on Futurebus+, where we had to deal with multiple bus widths
and their interfaces with other standards like VME and SCI. When you
observe data flowing along paths of various widths through a connected
system, you see how hardware byte-swappers can arbitrarily scramble the
data bytes of various number formats such as long integer or floating
point. Furthermore, the scrambling may depend on the particular path used
and on the state of the bridge hardware at the time the data passed
through! “Finally the solution became clear: first, keep the relative
byte address of each component of a data item fixed as it flows through
the complex system. (This is now referred to as the `address invariance'
principle.) Thus, character strings arrive unchanged, but other data items
may have been created with their bytes in inconvenient (but well-defined)
places. “Then provide the descriptive tools needed to tell the compiler
what the original format of the data was. (That is what this standard
does.) “The compiler knows the properties of the machine for which it is
compiling, and thus now has enough information to allow it to generate
code to perform the needed conversions before trying to do arithmetic on
the foreign data. For example, when the compiler loads a long integer into a
register it may swap bytes to convert from little-endian to big-endian
significance, so that the register will contain the correct arithmetic
value for use in calculations. Similarly, when an arithmetic result is
stored back into a structure that is declared with foreign data types the
compiler ensures that the conversions are done appropriately before the
data are stored.” Dr. Gustavson points out that this capability, crucial
to heterogeneous multitasking, would also be useful when interpreting
foreign data tapes and disk files. The standard includes C code (on disk)
for testing the compliance of an implementation. Related draft standards
have been polished, and possibly finalized, at the SCI meetings last
month at Santa Clara University in Santa Clara, CA. They are: SCI-P1596.1
D0.19 SCI/VME Bridge Architecture SCI-P1596.2 D0.30 KiloProcessor
Extensions SCI-P1596.3 D0.45 Low Voltage Differential Signals SCI-P1596.
4 D0.49 RamLink (being updated.) SCI-P1596.6 D0.13 SCI/RT Order paper
copies of the latest versions of these draft standards from Kinko's copy
service, 299 California Ave., Palo Alto, CA 94306, 415-328-3381, Fax
415-328-7518. The published SCI standard may be ordered from the IEEE
Service Center, $72 for nonmembers. Call 800-678-4333 or fax 908-981-9667.

–Rodney Myrvaagnes

PULLOUT QUOTE:

When you observe data flowing along paths of various widths through a
connected system, you see how hardware byte-swappers can arbitrarily
scramble the data bytes of various number formats such as long integer or
floating point.

Advertisement

Leave a Reply