Kendall Square Research
From Wikipedia, the free encyclopedia
Kendall Square Research (KSR) was a supercomputer company headquartered originally in Kendall Square in Cambridge, Massachusetts in 1986, near MIT. It was co-founded by Henry Burkhardt III, who had previously helped found Data General and Encore Computer and was one of the original team that designed the PDP-8. KSR produced two models of supercomputer, the KSR1 and KSR2.
Contents |
[edit] Technology
The KSR systems ran a specially customized version of the OSF/1 operating system, a Unix variant. The architecture was shared memory implemented as an all cache memory COMA. Being all cache, memory dynamically migrated and replicated in a coherent manner based on access pattern of individual processors. The processors were arranged in a hierarchy of rings, and the operating system mediated process migration and device access. Instruction decode was hardwired, and pipelining was used. Each KSR1 processor was a custom 64-bit RISC CPU clocked at 20 MHz and capable of peak output of 20 MIPS and 40 MFLOPS. Up to 1088 of these processors could be arranged in a single system, with a minimum of eight. The KSR2 doubled the clock rate to 40 MHz and supported over 5000 processors. The KSR-1 chipset was fabricated by Sharp Corporation while the KSR-2 chipset was built by Hewlett-Packard.
[edit] Software
Besides the traditional scientific applications, KSR, in conjunction with Oracle Corporation, addressed the massively parallel database market for commercial applications. The KSR-1 and -2 supported Microfocus COBOL and C/C++ programming languages, as well as the Oracle PRDBMS and the MATISSE OODBMS from ADB, Inc. Their own product, the KSR Query Decomposer, complemented the functionality of the Oracle product for SQL uses. The TUXEDO transaction monitor for OLTP was also provided. The KAP program provided for pre-processing for source code analysis and parallelization. The runtime environment was termed PRESTO, and was a POSIX compliant multithreading manager.
[edit] Hardware
The KSR-1 processor was implemented as a four-chip set in 1.2 micron CMOS. These chips were: the Cell Execution Unit, the floating point unit, the arithmetic logic unit, and the external I/O unit (XIO). The CEU handled instruction fetch (two per clock), and all operations involving memory, such as loads and stores. 40 bit addresses were used, going to full 64-bit addresses later. The integer unit had 32, 64-bit-wide registers. The floating point unit is discussed below. The XIO had the capability of 30 MB/s throughput to I/O devices. It included 64 control and data registers.
KSR instructions were of 6 types: memory reference (load and store), execute, control flow, memory control, I/O, and inserted. Execute instructions included arithmetic, logical, and type conversion. They were usually triadic register in format. Control flow refers to branches and jumps. Branch instructions were two cycles. The programmer (or compiler) could implicitly control the "quashing" behavior of the subsequent two instructions that would be initiated during the branch. The choices were: always retain the results, retain results if branch test is true, or retain results if branch test is false. Memory control provided synchronization primitives. I/O instructions were provided. Inserted instructions were forced into a flow by a coprocessor. Inserted load and store were used for DMA transfers. Inserted memory instructions were used to maintain cache coherency. New coprocessors could be interfaced with the inserted instruction mechanism. IEEE standard floating point arithmetic was supported. Sixty-four 64-bit wide registers were included.
In the KSR design, all of the memory was treated as cache. A Harvard style, separate bus for instructions and memory was used. Each node board contained 256 kB of I-cache and D-cache, essentially primary cache. At each node was 32 MB of memory for main cache. The system level architecture was shared virtual memory, which was physically distributed in the machine. The programmer or application only saw one contiguous address space, which was spanned by a 40-bit address. Traffic between nodes traveled at up to 4 gigabytes per second. The 32 megabytes per node, in aggregate, formed the physical memory of the machine.
Specialized input/output processors could be used in the system, providing scalable I/O. A 1088 node KSR1 could have 510 I/O channels with an aggregate in excess of 15 GB/s. Interfaces such as Ethernet, FDDI, and HIPPI were supported.
[edit] History
As the company scaled up quickly to enter production, they moved in the late 1980s to Waltham, Massachusetts, 170 Tracer Lane in Waltham, Massachusetts.
KSR refocused its efforts from the scientific to the commercial marketplace, with emphasis on parallel relational databases and OLTP operations. It then got out of the hardware business, but continued to market some of its data warehousing and analysis software products.
The first KSR1 system was installed in 1991. A few of the KSR1 models were sold, but as the KSR2 was being rolled out, the company collapsed amid accounting irregularities involving the overstatement of revenue.
One customer of the KSR2, the Pacific Northwest National Laboratory, a United States Department of Energy facility, purchased an enormous number of spare parts, and kept their machines running for years after the demise of KSR.
KSR, along with many of its competitors (see below) went bankrupt during the collapse of the supercomputer market in the early-1990s. KSR went out of business in late 1993.
[edit] Competition
KSR's competitors included Thinking Machines and Meiko Scientific, in addition to various old-line (and still surviving) companies like IBM, Intel, and Sun Microsystems.