For all these machine architectures, Cray developed 64 bit floating point precision and 64 bit word addressing, efficient compilers, vectorization capabilities and compiler preprocessing that take advantage of vectorization and, for multiprocessor machines, parallelization via compiler directives.
In 1996, (part of) Cray was taken over by SGI. Leveraging the best of these two companies, the Origin 2000, a ccNUMA machine, was introduced in '97. ccNUMA, cache coherent, non-uniform memory access, is a version of shared memory. Every processor "owns" and has very fast access to its own memory. Every processor also has a copy of the global memory space, and can access memory "on" another processor. Depending on where this datum resides, that access may be over a single switch to a nearby processor's memory, or it may be over several jumps to the memory of a topologically remote processor. Cache coherence means that memory access is temporarily blocked if a procesor is operating on its own memory (thus in local cache), until the operation is completed. In this way, data is accessed in a consistent manner - the picture of memory is coherent.