Alliant Computer Systems: История и Технологии Параллельных Вычислений
Alliant Computer Systems
Alliant Computer Systems: история, разработка параллельных вычислений и симметричной мультипроцессорности. Банкротство в 1992 году. Компьютеры для науки и инженерии.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Alliant Computer Systems Corporation — компьютерная компания, разрабатывавшая и производившая системы параллельных вычислений. Вместе с Pyramid Technology и Sequent Computer Systems, машины Alliant стали пионерами рынка симметричной многопроцессорности. Будучи одной из наиболее успешных компаний в этой области, за время своего существования было произведено более 650 систем Alliant. Компания столкнулась с рядом финансовых трудностей и обанкротилась в 1992 году.
Alliant Computer Systems Corporation was a computer company that designed and manufactured parallel computing systems. Together with Pyramid Technology and Sequent Computer Systems, Alliant's machines pioneered the symmetric multiprocessing market. One of the more successful companies in the group, over 650 Alliant systems were produced over their lifetime. The company was hit by a series of financial problems and went bankrupt in 1992.
1980-е годы
Alliant была основана в мае 1982 года Роном Грунером, Крейгом Манди и Ричем МакЭндрю для производства машин для научных и инженерных пользователей, которым требовались более компактные и менее дорогие системы, чем предлагаемые Cray Computer и другими производителями высокопроизводительных компьютеров. Машины, ориентированные на этот сегмент рынка, впоследствии стали известны как мини-суперкомпьютеры. В то время существовал значительный разрыв в соотношении цены и производительности: высококонфигурированный VAX 11/780 обеспечивал производительность около 1 MIP и 1 MegaFLOP за примерно 1 млн долларов США, а Cray 1S или Cray 1M – более 10 млн долларов США. Первые машины Alliant были анонсированы в 1985 году, начиная с серии FX. Серия FX состояла из четырех типов плат размером 18" x 18": вычислительные элементы (CE), системный кэш, кэш интерактивного процессора (IP) и модули памяти. Каждая плата подключалась к задней панели с помощью специального высокоплотного разъема. Кэши и модули памяти обменивались данными друг с другом через 2x64-битную шину, называемую DMB (Dataflow Memory Bus). Задняя панель была активной и содержала кроссбарный коммутатор 8x4 (FX/8), который позволял любому CE подключаться к одному из четырех портов кэша (по два на каждом System Cache). Общая пропускная способность кэша составляла 376 МБ/с. В состав входили набор FPU Weitek 1064/1065 и несколько специализированных микросхем для реализации векторного процессора собственной разработки. Скалярный набор инструкций был основан на популярной архитектуре Motorola 68000. Наборы инструкций с плавающей запятой, векторных и параллельных операций были разработанными Alliant специализированными наборами инструкций сопроцессоров. Общий системный кэш и специальная шина параллельного доступа обеспечивали управление параллелизмом с низкой задержкой, которое могло автоматически использоваться компиляторами языков высокого уровня для обеспечения параллельной обработки данных между ЦЭ. Время цикла скалярных инструкций для оригинального CE составляло 170 нс, а векторный процессор был в два раза быстрее скалярного, с временем цикла 85 нс. Каждый IP-кэш имел три порта, которые через плоские кабели подключались к интерактивным процессорам (IP), использующим Motorola 68012, а затем Motorola 68020 и Motorola 68030 с 4 МБ локальной оперативной памяти в форм-факторе Multibus, подключенном к 13-слотовому шасси Multibus. Модули памяти имели объем 8 МБ каждый и были организованы с четырехсторонним чередованием с ECC. Пропускная способность чтения составляла 188 МБ/с. Как и многие ранние многопроцессорные системы, серия FX работала под управлением версии 4.2 BSD Unix на IP и CE, известной как Concentrix, которая изначально обеспечивала поддержку многопроцессорности и новые подсистемы виртуальной памяти и ввода-вывода. В последующих версиях были добавлены такие функции, как первая файловая система с полосатой записью (TFS) и поддержка планирования в реальном времени (FX/RT). Системы нумеровались в соответствии с максимальным потенциальным количеством ЦЭ, которое они могли поддерживать: FX/1, FX/4 и FX/8. Машины Alliant были относительно небольшими: FX/1 по размеру соответствовал большому настольному ПК, а FX/8 был меньше VAX 11/780, примерно размером с большой копировальный аппарат. Все системы охлаждались воздушным потоком. Производительность FX/1 составляла около 2,5 MIPS (миллион инструкций в секунду), что было сопоставимо с 1 MIPS у VAX 11/780. Полностью оснащенный FX/8 с восемью ЦЭ, обладающий в восемь раз большей суммарной производительностью MIPS, на практике был примерно в пять раз быстрее FX/1 при решении задач, допускающих высокую степень параллельных вычислений (см. закон Амдаля). Вторая серия машин FX, представленная в начале 1988 года, заменила ЦЭ новым аппаратным обеспечением, совместимым по выводам, известным как Advanced Computational Element (ACE). FPU Weitek были заменены чипсетом с плавающей запятой, разработанным Bipolar Integrated Technology, который стал основой переработанного векторного процессора с 32 64-битными векторными элементами, 8 64-битными скалярными регистрами с плавающей запятой, 8 32-битными целочисленными регистрами и 8 32-битными адресными регистрами. Новый векторный процессор увеличил скорость векторной обработки, сократив время цикла в регистре до 42 нс. Время цикла скалярных инструкций, пропускная способность кэша и памяти остались прежними. ACE, благодаря более высокому уровню интеграции с использованием более продвинутых ASIC, также требовал меньшей площади печатной платы, что позволило вернуться к квадратному профилю 18x18 дюймов, используемому другими системными платами в основном шасси. Они использовались в машинах FX/40, FX/80 и VFX. Кроме того, благодаря совместимости выводов, существующие системы FX/4 и FX/8 можно было модернизировать до конфигураций FX/40 и FX/80 путем простой замены ЦЭ на ACE и обновления файла микрокода на системном диске. Однако системы со смешанными конфигурациями ЦЭ и ACE не поддерживались. Меньший FX/1 не мог быть модернизирован из-за ограничений системы охлаждения шасси. Alliant предлагала ряд программных пакетов для своих машин, включая решатель линейных уравнений (FX/Skyline Solver), компилятор C (FX/C compiler) и научные библиотеки (FX/Linpack и FX/Eispack).
Alliant was founded, as Dataflow Systems, in May 1982 by Ron Gruner, Craig Mundie and Rich McAndrew to produce machines for scientific and engineering users who needed smaller, less costly machines than offerings from Cray Computer and similar high end vendors. Machines that addressed this market segment later became known as minisupercomputers. At the time there was a huge gap on the price/performance curve as a highly configured VAX 11/780 had a performance of about a MIP and MegaFLOP for around $1M USD and a Cray 1S or Cray 1M over $10M USD. Alliant's first machines were announced in 1985, starting with the FX series. The FX series consisted of four types of 18" x 18" boards: Computational Elements, or CEs, System Cache, Interactive Processor (IP) Cache, and Memory Modules. Each board plugged into a backplane using a special high density connector. The caches and memory modules all communicated with each other over a 2 x 64 bit bus called the DMB (Dataflow Memory Bus). The backplane was an active backplane and it contained an 8 x 4 crossbar switch (FX/8) that allowed any CE to connect to one of four cache ports, two on each System Cache. Total cache bandwidth was 376 MB/s. The CEs included a set of Weitek 1064/1065 FPU's and several custom designed support chips to implement a custom vector processor. The scalar instruction set was based upon the popular Motorola 68000 architecture. The floating point instruction set, vector instruction set, and concurrency instruction set were all custom co processor instruction sets designed by Alliant. The shared system cache and a special concurrency bus implemented low latency concurrency control that could be exploited automatically by high level language compilers to provide data parallel processing among the CEs. The scalar instruction cycle time for the original CE was 170 ns, the vector processor was twice as fast as the scalar processor with a cycle time of 85 ns. Each IP Cache had three ports that connected via ribbon cables to Interactive Processors, IPs, which used Motorola 68012's and, subsequently Motorola 68020's and then Motorola 68030's with 4 MB of local RAM in a Multibus form factor plugged into a 13 slot Multibus chassis. Memory modules were 8 MB each and four way interleaved with ECC. Read bandwidth was 188 MB/s. Like many early multiprocessing systems, the FX series ran a version of 4.2 BSD Unix on the IPs and CEs, known as Concentrix which initially added multiprocessor support and new VM and IO sub systems. Subsequent releases added features such as the first striped Track File System (TFS) and support for real time scheduling (FX/RT). Systems were numerated for the largest potential number of CEs inside, the FX/1, FX/4 and FX/8. Alliant machines were fairly small, the FX/1 was about the size of a large full height PC, while the FX/8 was smaller than a VAX 11/780, about the size of a large photocopier. All the systems were air cooled. The speed of an FX/1 was about 2.5 MIPS (million instructions per second) and compared favorably to the 1 MIPS VAX 11/780. A fully populated eight CE FX/8, with eight times the aggregate MIPS, was in practice around five times faster than the FX/1 at solving problems that allowed a high degree of parallel computation (see Amdahl's law). A second series of FX machines, introduced in early 1988, replaced the CE with pin compatible new custom hardware known as the Advanced Computational Element (ACE). The Weitek FPUs were replaced by a floating point chipset made by Bipolar Integrated Technology which formed the core of a redesigned vector processor with 32 64 bit vector elements, 8 64 bit scalar floating point registers, 8 32 bit integer registers, and 8 32 bit address registers. The new vector processor increased vector processing speed by reducing the in register cycle time to 42 ns. The scalar instruction cycle time, cache and memory bandwidth remained the same. The ACE, with its higher level of integration using more advanced ASICs, also required less printed circuit board space allowing it to return to the 18x18 inch square profile used by the other system boards in the main chassis. These were used in the FX/40, FX/80 and VFX machines. In addition, because of the pin compatibility, existing FX/4 and FX/8 systems could be field upgraded to FX/40 and FX/80 configurations by simple replacement of CE's with ACE's along with an update to the microcode file on the system disk. However systems of mixed configurations of CEs and ACEs were not supported. The smaller FX/1, because of restrictions in chassis cooling, could not be upgraded. Alliant offered a number of software packages for its machines, including a solver for linear equations (FX/Skyline Solver), a C compiler (FX/C compiler), and scientific libraries (FX/Linpack and FX/Eispack).
1990-е годы
В 1990 году серия FX/2800 заменила CE/ACE и IP модулями на основе чипа Intel i860 RISC. i860 был одним из первых суперскалярных процессоров, предоставлявшим программисту прямой доступ к конвейеру обработки данных; при использовании специализированного кода 860 демонстрировал очень высокую скорость, что делало его идеальным для задач, выполняемых на суперкомпьютерах. В новой серии супервычислительный элемент (SCE) и суперинтерактивный процессор (SIP) состояли из четырех процессоров i860, до семи из которых могли быть соединены между собой посредством кроссбар-коммутатора. Полностью расширенный FX/2800 мог поддерживать в общей сложности 28 процессоров i860. Также в июле 1988 года Alliant приобрела Raster Technologies, поставщика высокоразрешающих графических терминалов и специализированных графических карт для рабочих станций Sun Microsystems. Их продукт GX4000 представлял собой сочетание программного обеспечения PHIGS+ и специальных графических плат, способных быстро генерировать и отображать графические векторы. Для создания 3D-эффектов был доступен аппаратный Z-буфер. Технология Raster Graphics была интегрирована с машинами FX/40 и FX/80 для создания VFX – первого полностью интегрированного графического мини-суперкомпьютера Alliant. Последней серией продуктов Alliant стала CAMPUS/800, массивно-параллельная машина, основанная на узлах, аналогичных FX/2800, известных как ClusterNodes, и использующая общую оперативную память объемом до 4 ГБ. Каждый ClusterNode был соединен с помощью внутрикластерного коммутатора с до 32 другими узлами, обеспечивая задержку 1 мкс и пропускную способность 1,12 ГБ/с. Также был доступен межкластерный коммутатор на основе HIPPI с задержкой 30 мкс и пропускной способностью 2,56 ГБ/с. Самая крупная созданная система CAMPUS включала в себя в общей сложности 192 ClusterNodes и обеспечивала производительность 4,7 GFLOPS. CAMPUS/800 была впервые представлена в 1991 году, но компания столкнулась с рядом финансовых проблем и обанкротилась в 1992 году. Тем не менее, различные системы Alliant продолжали успешно эксплуатироваться в течение многих лет после этого и считались весьма надежными. Alliant также внесла вклад в разработку высокопроизводительного Fortran. В Музее истории компьютеров имеются образцы FX/8 и FX/1 (от Convex Computer Corporation после банкротства Alliant), но музей продолжает поиск образцов конфигураций FX/80 и FX/2800.
In 1990, the FX/2800 series replaced the CE/ACEs and IPs with modules based on the Intel i860 RISC chip. The i860 was an early superscalar CPU that allowed the programmer access directly into the pipelines; with custom coding the 860 was a very fast system, making it perfect for supercomputer applications. In the new series the Super Computational Element (SCE) and Super Interactive Processor (SIP) both consisted of up to four i860s, up to seven of which could be interconnected on the crossbar. A fully expanded FX/2800 could support 28 i860's in total. Also in July 1988 Alliant purchased Raster Technologies, a provider of high resolution graphics terminals and custom graphics cards for Sun Microsystems workstations. Their GX4000 product was a combination of PHIGS+ software and special graphical boards that could generate and display graphical vectors very fast. For 3D effects, a hardware Z buffer was available. The Raster graphics technology was integrated with FX/40 and FX/80 machines to produce the VFX, Alliant's first fully integrated graphical minisupercomputer. Alliant's final product series was the CAMPUS/800, a massively parallel machine based on units similar to the FX/2800 known as ClusterNodes and sharing a total of up to 4GB of unified memory. Each ClusterNode was connected to up to 32 others with an intra ClusterNode switch, with a latency of 1 μs and 1.12 GB/s bandwidth. An inter ClusterNode switch based on HIPPI was also available, with a latency of 30 μs and 2.56 GB/s bandwidth. The largest CAMPUS system created included 192 ClusterNodes in total, and provided 4.7 GFLOPS. The CAMPUS/800 was first announced in 1991, but the company was hit by a series of financial problems and went bankrupt in 1992. Various Alliant systems soldiered on in service for many years after that however, and were generally considered very reliable. Alliant also contributed to the development of High Performance Fortran. The Computer History Museum has examples of the FX/8 and FX/1 (from Convex Computer Corporation after Alliant's fall), but is seeking examples of FX/80 and FX/2800 configurations.