Вычислительные Кластеры 2/30 Кластер • Группа компьютеров, объединённых высокоскоростными каналами связи и представляющая с точки зрения пользователя единый аппаратный ресурс. • Разновидность параллельной или распределённой системы, которая: 1. состоит из нескольких связанных между собой компьютеров; 2. используется как единый, унифицированный компьютерный ресурс. Грегори Пфистер (Gregory F. Pfister) Один из первых архитекторов кластерной технологии 3/30 Схема кластера Основные компоненты: • Узлы кластера (одно- и мультипроцессорные (многоядерные) компьютеры) • Межпроцессорные связи (heartbeat) • Разделяемые диски (SCSI, Fiber Channel) 4/30 Fibre Channel Clusters Прямое соединение (direct attach) SAN-соединение (SAN-attach) 5/30 Fibre Channel Clusters Консолидация или объединение кластеров (Cluster consolidation) 6/30 Топология кластера 7/30 Топология кластера Данные топологии кластера (в формате Pajek) представленные программой VANTED (Visualization and Analysis of Networks containing Experimental Data) Исходный граф 8/30 Виды кластеров • • • • Отказоустойчивые кластеры (High-availability clusters, HA) Кластеры с балансировкой нагрузки (Load balancing clusters) Высокопроизводительные кластеры (High-performance clusters, HPC) Grid-системы 9/30 Отказоустойчивые кластеры HA Clusters или Failover Clusters создаются для обеспечения высокой доступности сервиса, предоставляемого кластером. Избыточное число узлов (минимум 2), входящих в кластер, гарантирует предоставление сервиса в случае отказа одного или нескольких серверов. Создано множество программных решений для построения такого рода кластеров. В частности, для GNU/Linux, FreeBSD и Solaris существует проект бесплатного ПО Linux-HA. 10/30 Схема HA кластера Методы повышения надежности: • Зеркалирование дисков (Disk mirroring) • Избыточные связи LAN • Избыточные связи SAN • Избыточные линии энергоснабжения и защита UPS 11/30 Кластеры с балансировкой нагрузки Load balancing clusters распределяют запросы через один или несколько входных узлов (front-ends), которые перенаправляют их на обработку в вычислительные узлы (back-end servers). Первоначальная цель такого кластера — производительность, однако, в них часто используются также и методы, повышающие надёжность. Подобные конструкции называются серверными фермами (server farms). Программное обеспечение может быть как коммерческим (OpenVMS Cluster, Platform LSF HPC, Sun Grid Engine, Moab Cluster Suite, Maui Cluster Scheduler), так и бесплатным (Linux Virtual Server, Mosix). 12/30 Схема Load balancing кластера Балансировка нагрузки SAN Балансировка нагрузки вебсерверов 13/30 Схема Load balancing кластера Аппаратная и программная балансировка нагрузки 14/30 Высокопроизводительные кластеры High performance cluster (HPC) позволяют увеличить скорость расчетов, разбивая задание на параллельно выполняющиеся потоки. Область применения — научные исследования. Одна из типичных конфигураций — набор серверов с установленной на них операционной системой Linux (кластер Beowulf). Для HPC создается специальное ПО, способное эффективно распределять задачу между узлами. 15/30 Схема Beowulf кластера Группа идентичных РС (Client node) под управлением ОС Lunix (Server node), объединенных в небольшую TCP/IP LAN 16/30 IBM Roadrunner Архитектура 12,960 IBM PowerXCell 8i CPUs 6,480 AMD Opteron dual-core processors, Infiniband, Linux 6,120 Opteron (2 cores) + 12,240 PowerXCell 8i (9 cores) = 122,400 cores Потребляемая мощность Занимаемая площадь Память Производительность Цена 2.35 MW 296 racks (560м2) 103.6 TiB 1.7 petaflops (peak) US$133M 17/30 LINPACK TOP500 18/30 Roadrunner TriBlade Схема TriBlade модуля (платы QS22, LS21 и Expansion Blade) 19/30 Схема Roadrunner 3 модуля TriBlade образуют BladeCenter H 4 BladeCenter H монтируются в 42U стойку 20/30 Схема Roadrunner 15 стоек образуют Connected Unit Весь кластер состоит из 18 CUs 21/30 Grid-системы Грид (англ. grid — решетка, сеть) — согласованная, открытая и стандартизованная компьютерная среда, которая обеспечивает гибкое, безопасное, скоординированное разделение вычислительных ресурсов и ресурсов хранения информации, которые являются частью этой среды, в рамках одной виртуальной организации. Грид является географически распределенной инфраструктурой, объединяющей множество ресурсов разных типов (процессоры, долговременная и оперативная память, хранилища и базы данных, сети), доступ к которым пользователь может получить из любой точки, независимо от места их расположения. 22/30 Схема Grid-системы Центральный узел (Control Server) распределяет задачи по узлам грида (Grid Node) и контролирует результат 23/30 Grid вычисления SETI@home Folding@home Climate Prediction LHC@home … 24/30 Персональный суперкомпьютер Tesla С870 Tesla S870 Tesla D870