# NCUBE

nCUBE was a series of parallel computing computers from the company of the same name. Early generations of the hardware used a custom microprocessor. With its final generations of servers, nCUBE no longer designed custom microprocessors for machines, but used server-class chips manufactured by a third party in massively parallel hardware deployments, primarily for the purposes of on-demand video.

## Company history
### Founding and early growth

nCUBE was founded in 1983 in Beaverton, Oregon, by a group of Intel employees (Steve Colley, Bill Richardson, John Palmer, Doran Wilde, Dave Jurasek) frustrated by Intel's reluctance to enter the parallel computing market, though Intel released its iPSC/1 in the same year as the first nCUBE was released. In December 1985, the first generation of nCUBE's hypercube machines were released. The second generation (N2) was launched in June 1989. The third generation (N3) was released in 1995. The fourth generation (N4) was released in 1999.
In 1988, Larry Ellison invested heavily in nCUBE and became the company's majority shareholder. The company's headquarters were relocated to Foster City, California, to be closer to the Oracle Corporation. In 1994, Ronald Dilbeck became CEO and set nCUBE on a fast track to an initial public offering.

### Pivot to video

In 1996, Ellison downsized nCUBE. Dilbeck left and Ellison took over as acting CEO, redirecting the company to become Oracle's Network Computer division. After the network computer diversion, nCUBE resumed development on video servers. nCUBE deployed its first VOD video server in Dubai's Burj al-Arab hotel.
In 1999, nCUBE announced it was acquiring SkyConnect, a seven-year-old software company based in Louisville, Colorado, which developed digital advertising and VOD software for cable television. In the 1990s, nCUBE shifted its focus from the parallel computing market and, by 1999, had identified itself as a video on demand (VOD) solutions provider, shipping over 100 VOD systems delivering 17,000 streams and establishing a relationship with Microsoft TV. The company was once again on IPO fast-track, only to be halted again after the bursting of dot-com bubble.

### Lawsuits and dot-com aftermath

In 2000, SeaChange International filed a patent infringement suit against nCUBE, alleging its nCUBE MediaCube-4 product infringed on a SeaChange patent. A jury upheld the validity of SeaChange's patent and awarded damages. The U.S. Court of Appeals for the Federal Circuit subsequently overturned the ruling on June 29, 2005. A separate lawsuit against SeaChange was filed by nCUBE in 2001 after it acquired the patents from Oracle's interactive television division. nCUBE claimed that SeaChange's video server offering violated its VOD patent on delivery to set-top boxes. nCUBE won the lawsuit and was awarded over $2 million in damages. SeaChange appealed, but the decision was upheld in 2004.
On the business front, the dot-com bubble burst and ensuing recession as well as lawsuits meant that nCUBE was not doing well. In April 2001 nCUBE laid off 17% of its workforce and began closing offices (Foster City in 2002 and Louisville in 2003) to downsize and consolidate the company around its Beaverton manufacturing office. Also in 2002, Ellison stepped down and named former SkyConnect CEO Michael J. Pohl as CEO.

### Acquired

In January 2005, nCUBE was acquired by C-COR for approximately $89.5 million, with an SEC filing for the purchase in October 2004.
In December 2007, C-COR was acquired by ARRIS.

## Computer models
### nCUBE 10

One of the first nCUBE machines to be released was the nCUBE 10 of late 1985. It was originally called NCUBE/ten but the name morphed over time. These were based on a set of custom chips, where each compute node had a processor chip with 32-bit ALU, a 64-bit IEEE 754 FPU, special communication instructions, and 128 KB of RAM. A node delivered 2 MIPS, 500 kiloFLOPS (32-bit single precision), or 300 kiloFLOPS (64-bit double precision). There were 64 nodes per board. The host board, based on an Intel 80286, ran Axis, a custom Unix-like operating system, and each compute node ran a 4 KB kernel, Vertex.
nCUBE 10 referred to the machine's ability to build an order-ten hypercube, supporting 1,024 CPUs in a single machine. Some of the modules would be used strictly for input/output, which included the nChannel storage control card, frame buffers, and the InterSystem card that allowed nCUBEs to be attached to each other. At least one host board needed to be installed, acting as the terminal driver. It could also partition the machine into "sub-cubes" and allocate them separately to different users.

### nCUBE 2

For the second series the naming was changed, and they created the single-chip nCUBE 2 processor. This was otherwise similar to the nCUBE 10's CPU, but ran faster, at 25 MHz to provide about 7 MIPS and 3.5 megaFLOPS. This was later improved to 30 MHz in the 2S model. RAM was increased as well, with 4 to 16 MB of RAM on a "single wide" 1 inch x 3.5 inch module, with additional form factors of "double wide" (double modules), and quadruple that in a double wide, double side module. The I/O cards generally had less RAM, with different backend interfaces to support SCSI, HIPPI and other protocols.
Each nCUBE 2 CPU also included 13 I/O channels running at 20 Mbit/s. One of these was dedicated to I/O duties, while the other twelve were used as the interconnect system between CPUs. Each channel used wormhole routing to forward messages. The machines themselves were wired up as order-twelve hypercubes, allowing for up to 4,096 CPUs in a single machine.
Each module ran a 200 KB microkernel called nCX, but the system now used a Sun Microsystems workstation as the front end and no longer needed the Host Controller. nCX included a parallel filesystem that could do 96-way striping for high performance. C and C++ languages are available, as is NQS, Linda, and Parasoft's Express. These were supported by an in-house compiler team.
The largest nCUBE 2 system installed was at Sandia National Laboratories, a 1,024-CPU system that reached 1.91 gigaFLOPS in testing. In addition the nCX operating system, it also ran the SUNMOS lightweight kernel for research purposes. Researchers Robert Benner, John Gustafson and Gary Montry of the Parallel Processing Division of Sandia National Laboratory first won the Karp Prize of $100 and then won the first Gordon Bell Prize in 1987 using the nCUBE 10.

### nCUBE-3

The nCUBE-3 CPU used a 64-bit arithmetic logic unit (ALU). Its improvements included a process-shrink to 0.5u, allowing the speed to be increased to 50 MHz (with plans for 66 and 100 MHz). The CPU was also superscalar and included 16 KB instruction and data caches, and a memory management unit for virtual memory support.
Additional I/O links were added, with 2 dedicated to I/O and 16 for interconnects, allowing for up to 65,536 CPUs in the hypercube. The channels operated at 100 Mbit/s, due to use of 2-bit parallel lines, instead of the serial lines used previously. The nCUBE-3 also added fault-tolerant adaptive routing support, in addition to fixed routing, although in retrospect it's not entirely clear why.
A fully loaded nCUBE-3 machine can use up to 65,536 processors, for 3 million MIPS and 6.5 teraFLOPS; the maximum memory would be 65 TB, with a network I/O capability of 24 TB/second. Thus, the processor is biased in terms of I/O, which is usually the limitation. The nChannel board provides 16 I/O channels, where each channel can support transfers at 20 MB/s.
A microkernel was developed for the nCUBE-3 machine, but it was never completed, having been abandoned in favor of Plan 9's Transit operating system.

### nCUBE-4

The nCUBE-4 marked the transition to commodity processors, with each node containing an Intel IA32 server-class CPU. The n4 also brought exclusive focus on video streaming rather than scientific applications. Each hub contained one hypercube node, one CPU, a pair of PCI buses, and up to 12 SCSI drives. The n4 was followed by the n4x, the n4x r2, and the n4x r3. These last two were based on the Serverworks chipset rather than the Intel ones. The nCUBE-5 was very similar to the n4 family but incorporated two hypercube nodes in each hub and only supported video streaming over Gigabit Ethernet.
In 1999, nCUBE announced the MediaCUBE 4, which supported 80 simultaneous 3 Mbit/s streams to 44,000 simultaneous VOD streams, in concurrent MPEG-2, MPEG-1 and mid bit-rate encoding protocols.