Tandem Computers
Tandem Computers — ведущий производитель отказоустойчивых компьютерных систем, предназначенных для работы в сетях банкоматов, банках, на биржах, в центрах телефонной коммутации, системах экстренного вызова 911 и других коммерческих приложениях обработки транзакций, где требуется максимальное время безотказной работы и отсутствие потери данных[1]. Компания была основана Джимми Трейбигом в 1974 году в Купертино, Калифорния. Оставалась независимой до 1997 года, когда стала серверным подразделением компании Compaq. В настоящее время является частью серверного подразделения Hewlett Packard Enterprise после приобретения Compaq компанией Hewlett-Packard в 2002 году и последующего разделения HP в 2015 году на HP Inc. и Hewlett Packard Enterprise.
Системы Tandem NonStop используют несколько независимых идентичных процессоров, резервные устройства хранения и контроллеры для автоматического быстрого переключения в случае аппаратного или программного сбоя. Для локализации сбоев и повреждённых данных эти многокомпьютерные системы не имеют общих центральных компонентов, даже основной памяти. В отличие от традиционных многокомпьютерных систем, использующих общую память и совместную работу с данными, процессоры NonStop взаимодействуют посредством обмена сообщениями по надёжной внутренней сети, а программное обеспечение периодически сохраняет снимки состояния памяти для возможного отката.
Помимо маскировки сбоев, архитектура передачи сообщений без общих ресурсов также обеспечивает масштабируемость для самых крупных коммерческих нагрузок: удвоение числа процессоров приводит к удвоению производительности системы вплоть до максимальной конфигурации в 4000 процессоров. В отличие от этого, производительность обычных многопроцессорных систем ограничена скоростью общей памяти, шины или коммутатора, и увеличение числа процессоров свыше 4-8 не даёт прироста производительности. Системы NonStop чаще приобретались для масштабирования, чем для экстремальной отказоустойчивости, и конкурировали с крупнейшими мэйнфреймами IBM, несмотря на использование более простой миникомпьютерной технологии.
Общие сведения
Основание
Tandem Computers была основана в 1974 году Джеймсом Трейбигом. Трейбиг впервые увидел рыночную потребность в отказоустойчивости для систем онлайн-обработки транзакций (OLTP), работая в маркетинговой команде подразделения HP 3000 компании Hewlett-Packard, однако HP не проявила интереса к развитию этого направления. Затем он присоединился к венчурной фирме Kleiner Perkins и разработал там бизнес-план Tandem.[2][3][4] Трейбиг собрал основную инженерную команду, переманив сотрудников из подразделения HP 3000: Майка Грина, Джима Катцмана, Дэйва Маки и Джека Лустану. Бизнес-план предусматривал создание сверхнадёжных систем, которые никогда не выходят из строя и не теряют данные, при этом их стоимость лишь незначительно превышает цену обычных неотказоустойчивых систем. Они должны были быть дешевле и обеспечивать большую производительность, чем существующие на тот момент системы с резервированием, использующие «горячие резервы».
Каждый инженер был уверен, что сможет быстро реализовать свою часть сложного проекта, но сомневался в успехе других. Те части аппаратного и программного обеспечения, которые не требовали изменений, базировались на улучшениях знакомых решений HP 3000. Многие последующие инженеры и программисты также пришли из HP. Штаб-квартира Tandem находилась в Купертино, всего в четверти мили от офиса HP. Начальные венчурные инвестиции в Tandem Computers поступили от Тома Перкинса, бывшего генерального менеджера подразделения HP 3000.
Бизнес-план включал детальные идеи по формированию уникальной корпоративной культуры, отражающей ценности Трейбига.
Разработка аппаратного обеспечения первой системы Tandem/16 была завершена в 1975 году, а первая система поставлена в Citibank в мае 1976 года.
Компания демонстрировала непрерывный экспоненциальный рост до 1983 года. Журнал Inc. признал Tandem самой быстрорастущей публичной компанией в США. К 1996 году оборот Tandem достигал 2,3 млрд долларов, а штат насчитывал около 8 000 сотрудников по всему миру.
Линейка Tandem NonStop (TNS)
За более чем 40 лет основная продуктовая линейка NonStop компании Tandem развивалась с сохранением обратной совместимости, начиная с первой отказоустойчивой системы T/16, с тремя крупными изменениями в модульной архитектуре и архитектуре команд. Внутри каждой серии происходили значительные переосмысления реализации по мере развития микросхем.
В то время как среднее время между отказами (MTBF) у обычных систем, включая крупные мэйнфреймы, составляло несколько дней, система NonStop проектировалась с интервалами между сбоями в 100 раз больше, с временем безотказной работы, измеряемым годами. При этом NonStop была конкурентоспособна по цене: простая система с двумя процессорами стоила чуть больше, чем однопроцессорный мэйнфрейм, в отличие от других отказоустойчивых решений, которые стоили в 4 и более раз дороже.
Первая система называлась Tandem/16 или T/16, позднее переименована в NonStop I[5]. Машина включала от двух до 16 процессоров, организованных в отказоустойчивый кластер в одном шкафу. Каждый процессор имел собственную независимую память, собственный процессор ввода-вывода, собственную шину для подключения к контроллерам и двойные соединения с другими процессорами по специальной внутренней шине Dynabus. Каждый контроллер дисков или сети дублировался и имел двойные соединения с обоими процессорами и устройствами. Каждый диск зеркалировался, с отдельными соединениями к двум независимым контроллерам. При отказе диска данные оставались доступны с зеркальной копии. При отказе процессора, контроллера или шины диск был доступен через альтернативные компоненты. Каждый контроллер был подключён к двум независимым процессорам. Блоки питания подключались только к одной стороне пары процессоров, контроллеров или шин, чтобы система продолжала работать при отказе одного источника питания. Комплексная схема соединений в крупных конфигурациях документировалась в виде диаграммы Маки (по имени ведущего продавца Дэвида Маки, который её изобрёл)[6]. Ни один из дублированных компонентов не был «горячим резервом» — все они участвовали в обработке данных в обычном режиме.
Помимо восстановления после отказов, T/16 была спроектирована для максимально быстрой детекции различных видов сбоев («fail fast»), чтобы изолировать повреждённые данные до их записи в базы данных. Для этого использовались дополнительные схемы, не требовавшие удвоения основных компонентов.
Процессор T/16 был собственной разработкой, во многом вдохновлённой миникомпьютером HP 3000: обе системы были микропрограммируемыми 16-битными стековыми машинами с сегментированной виртуальной адресацией, ориентированными на программирование на языках высокого уровня. Реализация велась на стандартных TTL-микросхемах, каждая из которых обеспечивала 4-битный срез 16-битного АЛУ. Использовались регистры данных и адреса для доступа к стеку памяти, а также кодирование Хаффмана для адресных смещений, что обеспечивало высокую плотность кода. Поддерживались 32- и 64-битные операнды, операции со строками, «big-endian» адресация. Эти черты были вдохновлены стековыми машинами Burroughs B5500-B6800.
В отличие от HP 3000, T/16 поддерживала страничную виртуальную память с самого начала, а также 32-битную адресацию во втором поколении. Управление регистрами верхушки стека было возложено на компилятор, а не на микрокод, что повышало эффективность. В T/16 каждая ЦПУ состояла из двух плат TTL-логики и SRAM, производительность составляла около 0,7 MIPS[7]. Доступ к виртуальной памяти был ограничен четырьмя сегментами по 128 КБ каждый.
Первым языком программирования для T/16 был Transaction Application Language (TAL), производный от SPL HP 3000, с семантикой, близкой к C, и синтаксисом, основанным на ALGOL Burroughs. Позже были добавлены Cobol74, Basic, Fortran, Java, C, C++ и MUMPS.
Серия Tandem NonStop работала под собственной операционной системой, изначально называвшейся T/TOS (Tandem Transactional Operating System), вскоре переименованной в Guardian за способность защищать данные от аппаратных и программных сбоев. В отличие от других коммерческих ОС, Guardian была основана на обмене сообщениями между процессами без общей памяти, что облегчало масштабирование и изоляцию повреждённых данных[8][9].
Все процессы файловой системы и транзакционных приложений были организованы как пары мастер/слейв, работающие на разных процессорах. Слейв-процесс периодически снимал снимки памяти мастера и мог взять на себя обработку при сбое мастера, что позволяло приложениям переживать отказы без потери данных.
В 1981 году все процессоры T/16 были заменены на NonStop II. Основное отличие — поддержка 32-битной адресации через «расширенный сегмент данных». Это обеспечило рост ПО на десятилетие вперёд. Регистры остались 16-битными, что требовало дополнительных микрокодовых шагов для 32-битных адресов. NonStop II имел три платы на процессор и использовал батарейную DRAM вместо ферритовой памяти.
В 1983 году появился процессор NonStop TXP, первая полностью новая реализация архитектуры команд TNS.[10][11][12] Использовались стандартные TTL- и PAL-микросхемы, четыре платы на процессор, впервые применялась кэш-память. Производительность достигала 2,0 MIPS.
До 14 систем TXP и NonStop II можно было объединять по оптоволоконной шине FOX в отказоустойчивый кластер до 224 процессоров[13]. ОС Guardian могла переключать задачи между машинами в сети.
В 1986 году представлен процессор NonStop VLX с 32-битными шинами, более широкой микропрограммой, тактовой частотой 12 МГц и производительностью до одной инструкции за такт[14]. Позже FOX II увеличил радиус кластера до 4 км.
Изначально поддерживалась только иерархическая база данных ENSCRIBE, затем появилась реляционная ENCOMPASS[15]. В 1986 году Tandem представила первую отказоустойчивую СУБД SQL — NonStop SQL[16]. Позднее NonStop SQL эволюционировала в NonStop SQL/MP и NonStop SQL/MX, а её код используется в проектах HP и Apache Trafodion[17].
В 1987 году появилась NonStop CLX — недорогая миникомпьютерная система для удалённых точек крупных сетей[18][19].
В 1989 году представлена NonStop Cyclone — быстрая и дорогая система для рынка мэйнфреймов[20][21].
Другие продуктовые линии
В 1980—1983 годах Tandem пыталась полностью переработать аппаратную и программную платформу (проект Rainbow), но из-за задержек и устаревания аппаратуры проект был закрыт.
В 1985 году Tandem выпустила персональный компьютер Dynamite PC на базе MS-DOS, но из-за несовместимости с IBM PC и ограниченной функциональности продукт был быстро снят с производства. В 1986 году был представлен совместимый с IBM PC AT компьютер 6AT, продававшийся только существующим клиентам[22].
С 1989 года Tandem выпускала линейку Integrity на базе процессоров MIPS и Unix-подобной ОС NonStop UX, ориентированную на рынок менее критичных к отказоустойчивости систем. Integrity S2 использовала тройное резервирование (TMR), а позднее — схему «пары и резервы». В 1995 году Integrity S4000 первой использовала ServerNet.
В 1995—1997 годах Tandem совместно с Microsoft реализовала проект Wolfpack — кластеризацию Windows NT с высокой доступностью, выпущенную как Microsoft Cluster Server в 1997 году.
Миграция TNS/R NonStop на MIPS
С развитием микросхем и удорожанием проектирования собственных процессоров Tandem перешла на архитектуру MIPS (R3000 и последующие), а новые машины получили обозначение TNS/R. Для совместимости использовался инструмент Accelerator для трансляции объектного кода[23].
В 1991 году выпущена Cyclone/R (CLX/R) на базе R3000, с поддержкой lock-step для обеспечения целостности данных.
В 1993 году появилась серия NonStop Himalaya K на базе MIPS R4400 и расширяемых компонентов Cyclone.
В 1995 году NonStop Kernel был дополнен Unix-подобной средой Open System Services[24].
В 1997 году представлена серия NonStop Himalaya S с новой архитектурой на базе ServerNet, заменившей Dynabus и FOX. Все машины S-серии использовали процессоры MIPS (R4400, R10000, R12000, R14000).
Приобретение Compaq и попытка миграции на Alpha
В 1997 году Tandem была приобретена компанией Compaq, которая также приобрела Digital Equipment Corporation и её серверы Alpha. В этот период Tandem пыталась портировать NonStop с MIPS на Alpha, но в 2001 году Compaq прекратила все инвестиции в Alpha в пользу Itanium.
Приобретение Hewlett-Packard и миграция TNS/E на Itanium
В 2001 году Hewlett-Packard также отказалась от своих процессоров PA-RISC в пользу Itanium, а в 2002 году завершила слияние с Compaq. Миграция NonStop Kernel с MIPS на Itanium была завершена, и продукт получил название HP Integrity NonStop Servers. Для обеспечения отказоустойчивости использовалась технология NSAA (NonStop Advanced Architecture), основанная на сравнении состояния процессоров на прерываниях и специальных точках синхронизации[25].
Миграция с Itanium на Intel x86
Следующим этапом стала миграция на архитектуру Intel x86, завершённая в 2014 году. Использование отказоустойчивых коммутаторов InfiniBand обеспечило более чем 25-кратный рост пропускной способности межсоединений[26].
Перспективы и другие применения
ОС NSK Guardian стала основой для HP Neoview OS, используемой в системах HP Neoview для бизнес-аналитики и хранилищ данных. NonStop SQL/MX также легла в основу Neoview SQL и была портирована на Linux для проекта Apache Trafodion.
Корпоративная культура
Бизнес-план Трейбига включал идеи по формированию корпоративной культуры: оплачиваемые шестинедельные саббатикалы каждые четыре года для всех сотрудников, ежегодный подарок в виде 100 акций Tandem, еженедельные вечеринки «Beer Bust Fridays» и ежемесячные телетрансляции для информирования сотрудников.
Пользовательские группы
- ITUG (Международная группа пользователей Tandem), ныне часть Connect (users' group)
- OzTUG — Австралийская и Новозеландская группа пользователей Tandem OzTUG
- BITUG (Британская группа пользователей NonStop (Tandem))
- GTUG (Германская группа пользователей Tandem)
Примечания
Литература
- Tandem Computers Unplugged (англ.). Amazon (2014). Дата обращения: 17 мая 2025.
Ссылки
- NonStop Computing Home — основная страница NonStop Computing на сайте Hewlett Packard Enterprise
- Tandem Technical Reports. Hewlett Packard. Дата обращения: 17 мая 2025. Архивировано 26 апреля 2022 года.
- Tandem Systems Review. Hewlett Packard. Дата обращения: 17 мая 2025. Архивировано 11 декабря 2023 года.