Ken Mays wrote:
> Somehow I think we should be looking at server grade technology in
>  order
> to go forwards. This means technology with multiple processors also.
> 
>   I was thinking :
> 
>       BladeCenter S Express Model 8886E1U
>           $4,499.00

Unfortunately, pursuing a port to POWER is somewhat different from porting to 
PowerPC.  The two architectures are not precisely the same, though they of 
course share the same DNA.

The biggest issue surrounding a port to the POWER4, POWER5 or POWER6 or the PPC 
970MP is that they're multi-core CPUs and/or are typically used in 
multiprocessor configurations. This poses a notable difficulty in that no 
current implementation of Solaris runs on a multi-core or multiprocessor system 
with a weakly-ordered memory architecture.

For example, on SPARC, Solaris runs in TSO mode (while Linux runs in RMO.)

Both x86 and amd64 are also pretty strongly ordered.

This means that both the kernel and drivers would need to be vetted pretty 
carefully to add synchronization instructions where needed - usually isync, 
sync 
and eieio or combinations thereof, and lwsync on POWER and POWER-derived 64-bit 
PPC chips like the IBM 970 series (the "G5.") Worse, if any areas are missed 
they will likely show up only as seemingly random, unreproducible episodes of 
memory corruption and/or I/O corruption.

In the interest of learning to crawl before we walk, I strongly recommend we 
stick with a single core uniprocessor and one that isn't quite as aggressive 
about internally reordering operations as the POWER series is.

(Note also that this isn't just a POWER issue; for example the Freescale 
MPC8641D is essentially a dual-core e600, or in other words a dual-core G4. The 
issue of synchronization points will also need to be addressed in OpenSolaris 
ports targeting other multi-core and/or multiprocessor systems with 
weakly-ordered memory architectures such as ARM.)

    William Kucharski

Reply via email to