Кластерные системы Задача производительности Существует класс задач требующих высокой производительности Моделирование Математические вычисления Доступ к информации и ее обработка Задачи искусственного интеллекта Три способа повышения производительности Work Harder (работать лучше) Work Smarter (работать умнее) Ask Help (попросить помощи) Для компьютеров Повышение скорости работы Улучшения архитектуры Объединение устройств Архитектура Способ соединения компьютеров между собой, с памятью и внешними устройствами Типы архитектур Single Instruction Single Data Multiple Instruction Single Data Single Instruction Multiple Data Multiple Instruction Multiple Data SISD Один поток команд, один поток данных, один процессор Обычные рабочие станции MISD Множественный поток команд, одиночный поток данных Реальных устройств не существует Пример – работа СУБД SIMD Одиночный поток команд, множественный поток данных. Большое число процессоров от 1024 Единственная инструкция выполняется над многими элементами данных Векторные компьютеры MIMD (SMP, MPP) Множественный поток команд, множественный поток данных Команды и данные связаны и являются частью одной задачи Конвейерные и многопроцессорные системы SMP архитектура Symmetric multiprocessing Наличие общей памяти Простота программирования Плохая масштабируемость. Одна шина – одна инструкция MPP архитектура Massive parallel processing Память физически разделена Хорошая масштабируемость Ниже скорость. Дороже софт Гибридная архитектура (NUMA) Nonuniform memory access Память физически разделена, но логически разделяема Неоднородный доступ к памяти. Быстрее MPP Проблема когерентности кешей. Кластерная архитектура Кластер – это группа вычислительных машин, которые связаны между собою и функционируют как один узел обработки информации (c) Digital Equipment Corporation (DEC). Типы узлов Серверы Рабочие станции Персональные компьютеры Ключевые особенности Неограниченная масштабируемость Дешевизна Отказ узла не влияет на работоспособность системы Стандартные сетевые технологии связи узлов Ethernet MyriNet SCI (Scalable Coherent Interface Кластеризация может быть осуществлена на разных уровнях. Программном, системном, аппаратном Типы кластеров Класс I Система строится на базе стандартных элементов (низкая цена, простое обслуживание) Класс II Эксклюзивные элементы (более высокая производительность, выше цена и сложность решения) Типы кластеров по задачам Системы высокой надежности Системы высокой производительности Многопоточные системы Системы высокой надежности Повышение надежности за счет распределения задачи между различными физическими устройствами. Выход узла из строя только уменьшает производительность Критически важные сервера Высокопроизводительные системы Для выскопроизводительных вычислений Большое число однотипных узлов Сложное ПО Стандартная для всех узлов ОС Многопоточные системы Обеспечение множественного доступа к ресурсам Например, веб-сервера, билинговые системы, банковские и корпоративные системы Первый кластер 1994 год. Первый кластер из 16 узлов Intel DX4. Сеть 10mb/Ethernet Один из узлов – серверный Стандартное ПО ОС - Linux Современный кластер Производительность кластеров Производительность – есть функция зависящая от типа задачи, размерности задачи, архитектуры кластера, числа узлов, производительности узлов и межузловых соединений Выкопать яму: 1рабочий = 8дн Выкопать яму: 2рабочих = 4дн Выкопать яму: 4рабочих = 2дн Выкопать яму: 16рабочих = ? Выкопать яму: 1экск=1день Зависимость скорости решения задачи от числа узлов Зависимость от размера задачи Производительность узла Сравнение SCI и Fast Ethernet Требования к пропускной способности интерфейсов Скорость обмена между узлами в мб/сек должна быть не ниже 1/10 пиковой производительности процессора измеренной в Mflops Процессор узла Скорость сети PIII - 500 мгц 50 мб/сек PIV – 2 ГГц 200 мб/сек AMD Opteron 250 мб/сек Сравнение высокоскоростных коммуникационных интерфейсов Технология Пропускная способность MByte/s Задержка мксек/паке т Стоимость карточки/свич а на 8 портов Поддержка платформ Комментарий Fast Ethertnet 12.5 158 50/200 Linux, UNIX, Windows Низкие цены, популярная Gigabit Ethernet 125 33 150/3500 Linux, UNIX, Windows Удобство модернизации Myrinet 245 6 1500/5000 Linux, UNIX, Windows Открытый стандарт, популярная VI (сLAN от Giganet) 150 8 800/6500 Linux, Windows Первая аппаратная промышленная реализация VI SCI 400 1.5 1200/5000* Linux, UNIX, Windows Стандартизиро вана, широко используется QsNet 340 2 N/A** True64 UNIX AlphaServer SC и системы Quadrics True64 UNIX Используется в Compaq AlphaServer Memory Channel 100 3 N/A Характеристики интерфейсов Gigabit Giganet Myrinet Qsnet SCI Servernet 35-50 105 140 208 80 65 Латентность 100-200 мкс 20-40 18 5 6 20 Мах. Узлов 1000 1000 1000 1000 1500 64K ОС NT/Linux NT/Linux Over GM None None Hardware Скорость Мб/сек Скорость интерфейсов Время передачи мин пакета Архитектура кластеров Существует закономерность – производительность кластера в большей степени зависит от способа организации связи узлов чем от производительности узлов Типы связей Плоская решетка Максимальное расстояние = 6. Если более 4 неэффективно Типы связей Кубы. Максимальный объем – минимальная площадь. Вторая по эффективности. Типы связей Кольцо с полной связью по хордам Типы связей Толстое дерево. Наиболее эффективная Типы связей Толстое дерево. Вид сверху Еще архитектуры Кластерные решения Стоимость коммуникационного оборудования падает, а производительность растет Производительность современных ПК сравнима с производительностью суперкомпьютеров прошлого десятилетия. Удваивается каждые 18 месяцев Кластер можно апгрейдить Кластер проще программировать Решения от IBM Вычислительный узел IBMxSeries 335 на одном или двух Pentium4 Xeon Соединение Ethernet/MyriNet ОС – RedHat Linux Специализированное ПО Решения от IBM Пример конфигурации кластера 1350 Класс Число узлов кластера Скорость процессора, ГГц Память системы, Гбайт Внутренняя память, Гбайт Соединение кластера, Мбит/с Начальный 8 2,0 0,512 18 10/100 Ethernet Средний 32 2,4 1 18 10/100 Ethernet Профессио нальный 128 2,8 1 36 Gigabit Ethernet Высокопроизводит ельный 64 2,8 1 36 Myrinet-2000 Самые быстрые кластеры Место Имя Технология Цель GFlops Barcelona Supercomputer Center IBM Cluster JS20 CLuster, Myrinet Academic 20530 31363 Spain/2004 MareNostrum eServer BladeCenter JS20 (PowerPC970 2.2 GHz), Myrinet / 3564 IBM Lawrence Livermore National Laboratory United States/2004 Thunder Intel Itanium2 Tiger4 1.4GHz - Quadrics / 4096 California Digital Corporation NOW - Intel Itanium Itanium2 Tiger4 Cluster - Quadrics Research 19940 22938 Los Alamos National Laboratory UnitedStates/20 02 ASCI Q ASCI Q - AlphaServer SC45, 1.25 GHz / 8192 HP HP AlphaServer SC AlphaServer-Cluster Research 13880 20480 Virginia Tech UnitedStates/20 04 System X 1100 Dual 2.3 GHz GigE / 2200 Self-made NOW - PowerPC XServe Cluster Academic 12250 20240 Будущее кластерных систем Удешевление межузловых интерфейсов Повышение скорости их работы Создание GRID систем GRID системы Глобальные вычислительные сети Узлы – обычные PC Размер – десятки тысяч узлов Участники – пользователи глобальных сетей Производительность - петафлоп Выводы Кластеры это хорошо Но есть проблемы Проблемы технические Проблемы распараллеливания задач Что дальше? Цитата Google runs on a unique combination of advanced hardware and software. The speed you experience can be attributed in part to the efficiency of our search algorithm and partly to the thousands of low cost PC's we've networked together to create a superfast search engine Вопросы? Спасибо за внимание