Coupling Facility
Coupling Facility — это программно-аппаратный компонент мейнфреймов IBM, работающий под управлением операционных систем z/OS, z/VM и z/VSE, который обеспечивает высокоскоростное взаимодействие между несколькими физическими серверами (так называемыми «системами») в составе единого вычислительного комплекса (Sysplex). Основное назначение Coupling Facility (CF) — управление общими данными и синхронизация работы участников кластера, что позволяет организовать отказоустойчивую и масштабируемую среду для критически важных транзакционных и аналитических нагрузок.
Назначение и роль в Sysplex
Coupling Facility является центральным элементом технологии Parallel Sysplex, разработанной IBM в начале 1990-х годов. Sysplex (System Complex) — это кластер, объединяющий от двух до тридцати двух мейнфреймов (в современных системах до 128, включая LPAR — логические разделы). CF выполняет две ключевые функции:
- Управление общими данными (Data Sharing). CF хранит и синхронизирует буферы и блокировки для баз данных (в первую очередь Db2, также IMS, VSAM). Когда одна система изменяет запись, CF немедленно оповещает другие системы, что позволяет всем экземплярам видеть актуальные данные без конфликтов.
- Синхронизация процессов (Serialization). CF ведёт глобальные очереди запросов и обеспечивает атомарность операций (например, при записи в журнал или выполнении транзакций CICS).
Благодаря CF достигается время отклика при обмене между системами на уровне микро- и миллисекунд (через специализированные каналы связи — Intersystem Channel, обычно InfiniBand или PCIe). Полоса пропускания одного соединительного канала достигает 20–30 Гбит/с (в зависимости от поколения).
Устройство и размещение
Coupling Facility может быть реализован двумя способами:
- Программная реализация (LPAR). На физическом мейнфрейме в составе Sysplex выделяется один или несколько логических разделов (LPAR), на которых запущена операционная система Coupling Facility Control Code (CFCC). Это наиболее распространённый вариант для средних и крупных установок.
- Отдельное аппаратное средство (Standalone Coupling Facility). Специализированное устройство, содержащее только процессоры, память и каналы связи, без запуска пользовательских приложений. Используется в высоконагруженных кластерах для изоляции нагрузки CF.
Основные характеристики CF:
- Оперативная память. Является основным ресурсом: в ней хранятся структуры данных (структуры кэша, структуры блокировок, списки). Объём памяти в современном CF (например, на базе IBM z16) может составлять от нескольких десятков гигабайт до нескольких терабайт. Скорость доступа к памяти — на уровне 100–300 наносекунд.
- Центральные процессоры. Специальные процессоры CF, оптимизированные под обработку быстрого обмена (иногда называемые CF-движками). В LPAR-реализации они выделяются из общего пула ЦП мейнфрейма.
Типы структур данных в Coupling Facility
Все данные в CF хранятся в виде трёх основных типов структур, каждый из которых решает свою задачу:
- Кэш-структура (Cache Structure). Содержит копии (тени) блоков данных из буферов Db2 или VSAM. При изменении данных на одной системе CF обновляет свою копию и рассылает инвалидации другим системам. Это реализует протокол «пиши-инвалидация».
- Список (List Structure). Используется для очередей сообщений, транзакционных журналов и управления работой брокеров (например, MQ Series, CICS). Списки могут быть упорядочены по ключам или по времени.
- Блокировка (Lock Structure). Обеспечивает глобальные блокировки для предотвращения одновременного изменения одних и тех же записей разными системами. Используется для целостности доступа к разделяемым ресурсам.
Каждая структура может быть определена с параметрами восстановления (например, с созданием копий на события отказа) или без них.
Протоколы и каналы связи
Для доступа к CF используется специализированная сеть — так называемый Coupling Facility Link (CFL). Стандарты различаются по поколениям:
- CFL-1 и CFL-2 — медные и оптоволоконные соединения на основе InfiniBand (до 10–20 м расстояния между системами). В современных системах заменяются.
- CFL-3 — на основе PCIe Gen4 (используется в z16). Обеспечивает пропускную способность до 15 Гбит/с на линк.
- CSS (Coupling Switch) — опциональный коммутатор для увеличения числа подключаемых систем (до 32). Работает по тому же протоколу, что и CFL.
Доступ к CF осуществляется по протоколу Coupling Facility Protocol (CFP), который работает поверх InfiniBand или PCIe. Каждая транзакция (чтение или запись в структуру) состоит из одного запроса и одного ответа (синхронная модель), что минимизирует задержки. Допускаются и асинхронные запросы, когда система отправляет запрос и продолжает вычисления, а затем проверяет ответ.
Кластеризация и отказоустойчивость
Coupling Facility является единственной точкой отказа в конфигурации Sysplex, поэтому для высоконадёжных систем IBM рекомендует резервирование CF:
- Избыточность. Как минимум два экземпляра CF, разнесённые на разные мейнфреймы (или LPAR). Каждая структура данных создаётся на одном CF с резервной копией на другом. При отказе основного CF обработка переходит на резервный за несколько миллисекунд.
- Дублирование каналов. Минимум два независимых физических линка между каждой системой и CF.
При поломке одного мейнфрейма в Sysplex остальные продолжают работу с общими данными, так как все структуры CF остаются доступными. Потеря единственного CF (то есть обоих экземпляров) приводит к остановке всего кластера.
Кроме того, встроенные механизмы CF позволяют восстанавливать структуры после сбоя без потери данных, используя журналы и списки восстановления (log stream).
Разновидности и конфигурации
В зависимости от масштаба различают несколько типов конфигураций CF:
- Один экземпляр CF (Single Image). Простейшая конфигурация для оценки или малой нагрузки. Не имеет резерва.
- Два экземпляра CF (Dual Image). Базовая схема резервирования: основной и резервный CF размещаются на разных системах (или LPAR). Поддерживается зеркалирование структур.
- Многозональный Sysplex (Multisite Sysplex, GDPS). Включает CF в двух или более географически удалённых дата-центрах (до 100 км без потерь скорости). Используется для катастрофоустойчивости (дизастер-рекавери). Для синхронизации между сайтами применяются специальные протоколы (например, GDPS — Geographically Dispersed Parallel Sysplex), в основе которых лежит Coupling Facility.
Также существуют режимы работы CF: «включён» (online), «выключен» (offline), «режим восстановления» (recovery) и «режим обновления» (upgrade). В режиме обновления CF может временно отключаться для модификации аппаратного обеспечения без остановки Sysplex (с переключением на резервную копию).
Производительность и лицензирование
Производительность CF оценивается в объёме операций в секунду (CFOPS — Coupling Facility Operations Per Second). Современные модели (например, CF на z16) способны обрабатывать до 10–15 миллионов операций в секунду на одно ядро CF.
Особенность лицензирования: использование CF тарифицируется как отдельный продукт. IBM взимает плату за каждый задействованный CF-движок (процессор), а также за использование структур данных (например, через лицензию на программное обеспечение Db2). Применение CF в составе Sysplex требует покупки лицензий для каждого сервера в кластере (z/OS, Db2, CICS и т.д.).
Эволюция и современное состояние
Coupling Facility неразрывно связан с эволюцией мейнфреймов IBM:
- 1994 год — первый выпуск CF для системы IBM ES/9000 (СФС, поддержка только базовых структур).
- 2000-е годы — добавление в CF списков и журналов, увеличение объёма памяти до 2 ГБ, появление резервирования структур.
- 2010-е годы — внедрение InfiniBand, рост памяти до 1 ТБ (на IBM zEnterprise EC12). В 2015 году вышло поколение CF с поддержкой PCIe.
- 2021–2025 годы — на платформе IBM z16 максимальный объём памяти CF достигает 8 ТБ в одной LPAR. Возможность поддерживать до 256 экземпляров CF в одном Sysplex.
В настоящее время CF — единственное решение для организации Parallel Sysplex. Альтернативой для некоторых задач служит использование CICS Distributed Transaction Processing или Apache Kafka при кластеризации менее критичных систем, однако CF остаётся де-факто стандартом для финансовых расчётных систем (банки, биржи), систем бронирования (авиабилеты, отели) и крупных корпоративных ERP (SAP на z/OS).
Влияние на архитектуру приложений
При работе с CF прикладное программное обеспечение (в частности, Db2, CICS, IMS, MQ Series) должно быть написано с учётом распределённой блокировки и синхронизации. Разработчик не управляет CF напрямую — доступ осуществляется через API операционной системы z/OS (макрос RTIR, команда SETXCF). Основные сложности для приложений:
- Конфликты блокировок из-за глобальных очередей — необходимость правильно выбирать уровень изоляции транзакций (например, использование «повторяемого чтения»).
- Управление локальными буферами — они должны быть синхронизированы с кэшем CF.
IBM поставляет средства мониторинга (RMF, TDS) и утилиты командной строки (LISTCF), которые позволяют администратору контролировать загрузку CF, объём используемой памяти, время выполнения операций.
Критика и ограничения
Среди недостатков Coupling Facility выделяют:
- Стоимость. Использование CF требует покупки как аппаратного обеспечения (дополнительные LPAR/движки), так и дорогостоящих лицензий на ПО. Резервирование удваивает эти затраты.
- Сложность настройки. Развёртывание и оптимизация Sysplex с CF требуют высокой квалификации администраторов мейнфреймов. Ошибки в конфигурации (неправильное число структур, неверные параметры восстановления) могут привести к сбоям в работе всего кластера.
- Ограничения на расстояние. Для синхронного доступа к CF задержка не должна превышать 10–20 микросекунд (в противном случае производительность падает). Это ограничивает максимальное расстояние между системами в параллельном Sysplex (обычно до 100 км с GDPS, с учётом затухания в волокне). Асинхронные методы (GDPS *PPRC, Global Mirror) позволяют преодолеть это ограничение, но не гарантируют полной синхронизации в реальном времени.
- Жёсткая привязка к IBM. Архитектура CF является полностью проприетарной и несовместима с аппаратурой других производителей (Hewlett Packard Enterprise, Fujitsu, NEC). Это затрудняет миграцию на альтернативные платформы.
Несмотря на эти ограничения, Coupling Facility остаётся ключевым компонентом для построения отказоустойчивых мейнфреймовых систем, обрабатывающих миллионы транзакций в сутки.
---
Источники
- IBM Corporation. z/OS Parallel Sysplex Overview. — IBM Redbook SG24-8021, 2020.
- IBM Corporation. Coupling Facility: A Technical Overview. — IBM Publication, 2021.
- Тюрин, А.С. Архитектура IBM System z. — М.: Радиософт, 2019.
- IBM Knowledge Center: «Coupling Facility Concepts» (z/OS V2R5).
- Harper, M. The IBM zEnterprise System: A Technical Overview. — IBM Redbook SG24-8081, 2013.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →