VAXcluster¶
VAXcluster — это технология кластеризации, разработанная корпорацией Digital Equipment Corporation (DEC) для семейства 32-битных компьютеров VAX, которая позволяла объединять от двух до нескольких десятков независимых вычислительных машин в единую высокопроизводительную и отказоустойчивую систему. VAXcluster обеспечивал совместное использование дисковых накопителей, принтеров и других периферийных устройств, а также предоставлял единое пространство имён файлов и возможность миграции процессов между узлами без потери данных. Технология была впервые представлена в 1984 году и стала одной из первых коммерчески успешных реализаций кластерных архитектур, оказав значительное влияние на развитие систем высокой доступности.
¶История
¶Предпосылки создания
К началу 1980-х годов DEC занимала доминирующее положение на рынке мини-компьютеров с линейкой VAX. Однако заказчики, особенно в промышленности, финансах и научных учреждениях, требовали систем, способных обеспечить непрерывную работу критически важных приложений. Отказ одного компьютера мог привести к значительным финансовым потерям. Существовавшие решения, такие как резервирование «горячий резерв» (hot standby), были дорогими и неэффективными, так как требовали ручного переключения и дублирования данных.
¶Разработка и анонс
Разработка VAXcluster началась в 1982 году под руководством инженера Дэвида Катлера (David Cutler), впоследствии известного как создатель Windows NT. Первоначально проект назывался «VAXcluster» и был ориентирован на использование специализированных аппаратных контроллеров и протоколов связи. В 1984 году на выставке DECworld была представлена первая версия — VAXcluster для операционной системы VMS (OpenVMS). Система позволяла объединять до 16 узлов VAX 11/780, 11/785 и 11/750.
¶Эволюция
В 1985 году вышла версия VAXcluster для VMS 4.0, которая поддерживала до 24 узлов. В 1987 году была представлена поддержка компьютеров VAX 8800. В 1990-х годах, с переходом на архитектуру Alpha, технология была адаптирована и получила название OpenVMS Cluster. К концу десятилетия VAXcluster поддерживал до 96 узлов в одной конфигурации. Последние версии VAXcluster для VAX-систем вышли в середине 1990-х годов, после чего компания DEC была поглощена Compaq (1998), а затем Hewlett-Packard (2002). Тем не менее, кластерные технологии на базе OpenVMS продолжают использоваться в некоторых критически важных системах до настоящего времени.
¶Архитектура и принципы работы
¶Аппаратная часть
VAXcluster состоял из следующих ключевых компонентов:
- Узлы (nodes) — независимые компьютеры VAX, работающие под управлением VMS.
- Система связи (interconnect) — высокоскоростная сеть, обеспечивающая обмен данными между узлами. Использовались три основных типа:
- CI (Computer Interconnect) — специализированная шина с пропускной способностью до 70 Мбит/с, работающая по протоколу Star Coupler.
- DSSI (Digital Storage System Interconnect) — шина для подключения дисковых массивов, позволявшая объединять до 16 узлов.
- Ethernet — стандартная локальная сеть, использовалась для менее требовательных к задержкам задач.
- Дисковые подсистемы — общие дисковые массивы (RAID), подключённые к нескольким узлам через контроллеры HSC (Hierarchical Storage Controller) или DSSI. Данные хранились в единой файловой системе Files-11.
- Терминальные серверы — устройства, обеспечивающие доступ пользователей к кластеру.
¶Программное обеспечение
Ключевым элементом VAXcluster была операционная система VMS (OpenVMS), которая реализовывала все механизмы кластеризации:
- Единая файловая система — все диски, подключённые к кластеру, были видны каждому узлу под одинаковыми именами (например,
DKA0:). Файлы имели единые права доступа и блокировки. - Распределённые блокировки — механизм Distributed Lock Manager (DLM) обеспечивал согласованный доступ к общим ресурсам (файлам, принтерам, очередям). DLM предотвращал конфликты при одновременной записи.
- Единая очередь заданий — пользователи могли отправлять задания на выполнение (batch jobs) в общую очередь, которая автоматически распределяла их по свободным узлам.
- Миграция процессов — процесс мог быть перемещён с одного узла на другой без прерывания работы (технология «живой миграции», реализованная в VMS 5.0).
- Обнаружение отказов — каждый узел периодически отправлял «сердцебиения» (heartbeats) другим узлам. При потере связи узел считался отказавшим, и его ресурсы (диски, процессы) перераспределялись.
¶Классификация
В зависимости от способа подключения дисков и связи различают:
- VAXcluster с CI-шиной — наиболее производительная и дорогая конфигурация, использовалась для крупных корпоративных систем.
- VAXcluster с DSSI — более дешёвая альтернатива, подходила для средних предприятий.
- VAXcluster на Ethernet — низкопроизводительная, но дешёвая конфигурация, часто использовалась для тестирования и разработки.
¶Ключевые характеристики
¶Отказоустойчивость
Главным преимуществом VAXcluster была высокая доступность (high availability). Выход из строя одного узла не приводил к остановке всей системы:
- Пользователи, работавшие на отказавшем узле, теряли только текущий сеанс, но все их данные на общих дисках оставались целыми.
- Задания из очереди автоматически перезапускались на других узлах.
- Диски, подключённые к отказавшему узлу, переподключались к другим узлам за несколько секунд.
¶Масштабируемость
Система позволяла наращивать вычислительную мощность путём добавления новых узлов без остановки работы. В ранних версиях поддерживалось до 16 узлов, в более поздних — до 96. Производительность росла почти линейно при добавлении узлов, хотя накладные расходы на синхронизацию (DLM) могли снижать эффективность при большом количестве узлов.
¶Совместимость
VAXcluster поддерживал все модели VAX, начиная от VAX 11/730 и заканчивая VAX 9000. При этом в одном кластере могли работать узлы разных поколений, что позволяло поэтапно модернизировать оборудование.
¶Применение
¶Промышленность и финансы
VAXcluster широко использовался в банковских системах, на биржах, в системах управления производством и в телекоммуникациях. Например, Нью-Йоркская фондовая биржа (NYSE) в 1980-х годах использовала кластеры VAX для обработки торговых операций. В России VAXcluster применялся в системах управления атомными электростанциями и в некоторых банках.
¶Научные исследования
Кластеры VAX использовались в университетах и исследовательских центрах для моделирования, обработки данных и управления экспериментами. В частности, ЦЕРН (CERN) применял VAXcluster для обработки данных с ускорителя частиц.
¶Государственные системы
VAXcluster был основой многих государственных информационных систем, включая системы управления воздушным движением, системы социального обеспечения и оборонные системы.
¶Влияние и наследие
¶Влияние на индустрию
VAXcluster стал прототипом для многих современных кластерных технологий:
- Microsoft Cluster Server (MSCS) — в основе его архитектуры лежат идеи, заимствованные из VAXcluster, в том числе механизм распределённых блокировок.
- Linux-HA — многие концепции отказоустойчивых кластеров (heartbeat, shared storage, failover) были впервые реализованы в VAXcluster.
- Oracle RAC — технология Real Application Clusters использует аналогичный подход к совместному доступу к данным.
¶Критика
Несмотря на инновационность, VAXcluster имел и недостатки:
- Высокая стоимость — оборудование и лицензии на VMS были очень дорогими, что ограничивало его применение крупными организациями.
- Сложность администрирования — настройка и поддержка кластера требовали высокой квалификации персонала.
- Зависимость от проприетарного оборудования — DEC использовала собственные интерфейсы (CI, DSSI), что делало систему закрытой.
¶Современное состояние
К 2020-м годам VAXcluster практически полностью вытеснен с рынка системами на базе Linux, Windows Server и Unix (HP-UX, AIX). Однако некоторые VAX-системы, работающие в кластерном режиме, продолжают эксплуатироваться в критически важных инфраструктурах (например, в системах управления АЭС или в военных системах), где замена оборудования сопряжена с огромными затратами и рисками. В 2023 году компания VMS Software Inc. (VSI) продолжает поддерживать OpenVMS и выпускает обновления для кластерных конфигураций на платформах x86-64.
¶Интересные факты
- Дэвид Катлер, создатель VAXcluster, позже возглавил разработку Windows NT, в которую перенёс многие идеи из VMS, включая механизмы синхронизации и управления памятью.
- В 1988 году кластер VAX из 16 узлов, установленный в Лаборатории реактивного движения NASA, использовался для обработки данных с космического аппарата «Вояджер-2».
- Максимальная конфигурация VAXcluster (96 узлов) была достигнута в 1994 году на базе VAX 7000.
¶Источники
- Digital Equipment Corporation. «VAXcluster Systems: Technical Overview». DEC, 1985.
- David Cutler. «The Architecture of VAXcluster». Digital Technical Journal, 1984.
- OpenVMS Documentation. «VMS Cluster Systems». Hewlett-Packard, 2002.
- VMS Software Inc. «OpenVMS Cluster Guide». VSI, 2023.
- «VAXcluster: The First Commercial Cluster». Computer History Museum, 2010.