Kendall Square Research - Kendall Square Research

Logotipo KSR1

A Kendall Square Research (KSR) era uma empresa de supercomputadores com sede originalmente em Kendall Square em Cambridge, Massachusetts, em 1986, perto do Massachusetts Institute of Technology (MIT). Ele foi co-fundado por Steven Frank e Henry Burkhardt III, que anteriormente ajudaram a fundar a Data General e a Encore Computer e fazia parte da equipe original que projetou o PDP-8 . A KSR produziu dois modelos de supercomputador, o KSR1 e o KSR2. Foi à falência em 1994.

Tecnologia

Os sistemas KSR executavam uma versão especialmente customizada do sistema operacional OSF / 1 , uma variante do Unix , com programas compilados por uma porta específica do KSR dos compiladores Green Hills Software C e FORTRAN. A arquitetura era de memória compartilhada implementada como uma arquitetura de memória cache-only ou "COMA". Por ser toda cache, a memória é migrada dinamicamente e replicada de maneira coerente com base no padrão de acesso dos processadores individuais. Os processadores eram organizados em uma hierarquia de anéis, e o sistema operacional media a migração de processos e o acesso ao dispositivo. A decodificação da instrução foi cabeada e o pipelining foi usado. Cada processador KSR1 era uma CPU de computação de conjunto de instrução reduzida (RISC) de 64 bits com clock de 20 MHz e capacidade de saída de pico de 20 milhões de instruções por segundo (MIPS) e 40 milhões de operações de ponto flutuante por segundo (M FLOPS ). Até 1088 desses processadores podem ser organizados em um único sistema, com um mínimo de oito. O KSR2 dobrou a taxa de clock para 40 MHz e suportou mais de 5.000 processadores. O chipset KSR-1 foi fabricado pela Sharp Corporation enquanto o chipset KSR-2 foi fabricado pela Hewlett-Packard .

Programas

Além dos aplicativos científicos tradicionais , a KSR com a Oracle Corporation abordou o mercado de banco de dados massivamente paralelo para aplicativos comerciais. O KSR-1 e -2 suportavam as linguagens de programação Micro Focus COBOL e C / C ++ , e o banco de dados Oracle e o MATISSE OODBMS da ADB, Inc. Seu próprio produto, o KSR Query Decomposer, complementava as funções do produto Oracle para uso de SQL . O monitor de transação TUXEDO para OLTP também foi fornecido. O programa KAP (Kuck & Associate Preprocessor) fornecido para pré-processamento para análise de código-fonte e paralelização . O ambiente de execução era denominado PRESTO e era um gerenciador de multithreading compatível com POSIX .

Placa KSR2 ALLCACHE Processador, Roteador e Diretório (APRD) com duas células APRD

Hardware

O processador KSR-1 foi implementado como um conjunto de quatro chips em semicondutor de óxido metálico complementar de 1,2 micrômetro ( CMOS ). Esses chips eram: a unidade de execução da célula, a unidade de ponto flutuante , a unidade de lógica aritmética e a unidade de E / S externa (XIO). O CEU tratava da busca de instruções (duas por clock) e de todas as operações que envolviam memória, como carregamentos e armazenamentos. Endereços de 40 bits foram usados, indo para endereços completos de 64 bits posteriormente. A unidade inteira tinha registros de 32, 64 bits. A unidade de ponto flutuante é discutida abaixo. O XIO tinha capacidade de throughput de 30 MB / s para dispositivos de E / S. Ele incluiu 64 registros de controle e dados.

O processador KSR era um VLIW de 2 largos, com instruções de 6 tipos: referência de memória (carregar e armazenar), executar, fluxo de controle, controle de memória, E / S e inserido. Execute instruções incluídas aritmética, lógica e conversão de tipo. Geralmente eram registros triádicos em formato. Fluxo de controle refere-se a ramificações e saltos. As instruções de ramificação eram de dois ciclos. O programador (ou compilador) pode controlar implicitamente o comportamento de anulação das duas instruções subsequentes que seriam iniciadas durante o desvio. As opções foram: sempre reter os resultados, reter os resultados se o teste de ramificação for verdadeiro ou reter os resultados se o teste de ramificação for falso. O controle de memória forneceu primitivas de sincronização. Instruções de E / S foram fornecidas. As instruções inseridas foram forçadas em um fluxo por um coprocessador . Carregar e armazenar inseridos foram usados ​​para transferências de acesso direto à memória (DMA). As instruções de memória inseridas foram usadas para manter a coerência do cache. Novos coprocessadores podem ter interface com o mecanismo de instrução inserido. A aritmética de ponto flutuante padrão IEEE era suportada. Sessenta e quatro registros de 64 bits de largura foram incluídos.

O exemplo a seguir de montagem KSR executa uma chamada de procedimento indireto para um endereço mantido no bloco constante do procedimento, salvando o endereço de retorno no registro c14 . Ele também salva o ponteiro do quadro, carrega o registrador inteiro zero com o valor 3 e incrementa o registrador inteiro 31 sem alterar os códigos de condição. A maioria das instruções tem um slot de atraso de 2 ciclos e os slots de atraso não são intertravados , portanto, devem ser programados explicitamente, caso contrário, o perigo resultante significa que valores incorretos às vezes são carregados.

finop			; movb8_8 %i2,%c10
finop			; cxnop
finop			; cxnop
add8.ntr 75,%i31,%i31	; ld8 8(%c10),%c4
finop			; st8 %fp,504(%sp)
finop                   ; cxnop
movi8 3, %i0            ; jsr %c14,16(%c4)

No design KSR, toda a memória foi tratada como cache. O projeto não exigia nenhum local residencial - para reduzir as sobrecargas de armazenamento e para o software migrar / replicar de forma transparente e dinâmica a memória com base em onde ela foi utilizada; Foi usada uma arquitetura Harvard , barramento separado para instruções e memória. Cada placa de nó continha 256 kB de I-cache e D-cache, essencialmente cache primário. Em cada nó havia 32 MB de memória para o cache principal. A arquitetura de nível de sistema era de memória virtual compartilhada, que era fisicamente distribuída na máquina. O programador ou aplicativo viu apenas um espaço de endereço contíguo, que foi estendido por um endereço de 40 bits. O tráfego entre os nós viajou a até 4 gigabytes por segundo. Os 32 megabytes por nó, no total, formaram a memória física da máquina.

Processadores de entrada / saída especializados podem ser usados ​​no sistema, fornecendo E / S escalonável. Um nó KSR1 de 1088 poderia ter 510 canais de E / S com um agregado superior a 15 GB / s. Interfaces como Ethernet , FDDI e HIPPI eram suportadas.

História

Como a empresa cresceu rapidamente para entrar em produção, ela mudou no final dos anos 1980 para 170 Tracer Lane, Waltham, Massachusetts .

A KSR redirecionou seus esforços do mercado científico para o comercial, com ênfase em bancos de dados relacionais paralelos e operações OLTP. Em seguida, saiu do negócio de hardware, mas continuou a comercializar alguns de seus produtos de armazenamento de dados e software de análise.

O primeiro sistema KSR1 foi instalado em 1991. Com novo hardware de processador, novo hardware de memória e uma nova arquitetura de memória, uma nova porta de compilador, uma nova porta de um sistema operacional relativamente novo e riscos de memória expostos, os primeiros sistemas foram notados por sistema frequente trava. KSR chamou sua arquitetura de memória cache-only (COMA) pelo nome comercial Allcache ; problemas de confiabilidade com os primeiros sistemas ganharam o apelido de Allcrash , embora a memória não fosse necessariamente a causa raiz dos travamentos. Alguns modelos KSR1 foram vendidos e, à medida que o KSR2 estava sendo lançado, a empresa entrou em colapso em meio a irregularidades contábeis envolvendo superavaliação da receita.

A KSR usava um processador proprietário porque os processadores de 64 bits não estavam disponíveis comercialmente. No entanto, isso colocava a pequena empresa na difícil posição de fazer o design do processador e o design do sistema. Os processadores KSR foram introduzidos em 1991 em 20 MHz e 40 MFlops. Naquela época, o Intel 80486 de 32 bits rodava a 50 MHz e 50 MFlops. Quando o DEC Alpha de 64 bits foi lançado em 1992, ele funcionava a até 192 MHz e 192 MFlops, enquanto o KSR2 de 1992 funcionava a 40 MHz e 80 MFlops.

Um cliente do KSR2, o Pacific Northwest National Laboratory , uma instalação do Departamento de Energia dos Estados Unidos , comprou um grande número de peças sobressalentes e manteve suas máquinas funcionando por anos após o fim do KSR.

A KSR, junto com muitos de seus concorrentes (veja abaixo), faliu durante o colapso do mercado de supercomputadores no início dos anos 1990. A KSR fechou as portas em fevereiro de 1994, quando suas ações foram retiradas da bolsa de valores.

Concorrência

Os concorrentes da KSR incluíam a MasPar Computer Corporation , a Thinking Machines , a Meiko Scientific e várias empresas antigas (e ainda sobreviventes) como IBM e Intel .

Referências

Leitura adicional

"BUSINESS TECHNOLOGY; Pools of Memory, Waves of Dispute" John Markoff, The New York Times - 29 de janeiro de 1992