Лекция 17 нами в лекции 2

advertisement
В книге
нами в лекции 2
Лекция 17
Э. Таненбаума бала расширена классификация Флинна рассмотренная
В категория MIMD распалась на
• мультипроцессоры (машины с памятью совместного использования) и
• мультикомпьютеры (машины с передачей сообщений) и индивидуальной памятью.
Существует три типа мультипроцессоров. Они отличаются друг от друга по
способу реализации памяти совместного использования. Они называются
• UMA (Uniform Memory Access — архитектура с однородным доступом к
памяти) или SMP-системы (Symmetrical Multi Processor systems UMA -Uniform
Memory Access systems ).
•
NUMA (NonUniform Memory Access — архитектура с неоднородным доступом
к памяти)
•
СОМА (Cache Only Memory Access — архитектура с доступом только к кэшпамяти).
Во вторую подкатегорию машин MIMD попадают мультикомпьютеры, которые в
отличие от мультипроцессоров не имеют памяти совместного использования на
архитектурном уровне. Другими словами, операционная система в процессоре
мультикомпьютера не может получить доступ к памяти, относящейся к другому
процессору, просто путем выполнения команды LOAD. Ему приходится отправлять
сообщение и ждать ответа. Именно способность операционной системы считывать слово
из отдаленного модуля памяти с помощью команды LOAD отличает мультипроцессоры от
мультикомпьютеров. Как мы уже говорили, даже в мультикомпьютере пользовательские
программы могут обращаться к другим модулям памяти с помощью команд LOAD и
STORE, но эту иллюзию создает операционная система, а не аппаратное обеспечение.
Разница незначительна, но очень важна.
Мультикомпьютер — вычислительная система без общей памяти, состоящая из
большого числа взаимосвязанных компьютеров, у каждого из которых имеется
собственная память.
• Процессоры мультикомпьютера отправляют друг другу сообщения (используется
сетевая топология двух-, трехмерной решетки или деревья и кольца).
• Причина разработки — техническая сложность создания мультипроцессоров
Мультикомпьютеры можно разделить на две категории.
• Первая категория содержит процессоры МРР (Massively Parallel Processors —
процессоры с массовым параллелизмом) — дорогостоящие суперкомпьютеры,
которые
состоят
из
большого
количества
процессоров,
связанных
высокоскоростной коммуникационной сетью. В качестве примеров можно назвать
Cray T3E и IBM SP/2.
• Вторая категория мультикомпьютеров включает рабочие станции, которые
связываются с помощью уже имеющейся технологии соединения. Эти машины
называются COW (Cluster of Workstattions — кластер рабочих станций).
Кластерные системы — более дешевый вариант МРР.
Мультикомпьютеры часто программируются с использованием пакета с передачей
сообщений (например, PVM или MPI). Оба пакета поддерживают библиотечные вызовы
для отправки и получения сообщений. Оба работают поверх существующих
операционных систем.
Все большую популярность приобретают идеи комбинирования различных
архитектур в одной системе и построения неоднородных систем
Кластеры
Кластеры являются самым дешевым способом наращивания производительности
уже инсталлированных компьютеров. Фактически кластер представляет собой набор из
нескольких ЭВМ, соединенных через некоторую коммуникационную инфраструктуру. В
качестве такой структуры может выступать обычная компьютерная сеть, однако из
соображений повышения производительности желательно иметь высокоскоростные
соединения (FDDI/ATM/HiPPI и т.п.). Кластеры могут быть образованы как из различных
компьютеров (гетперогенные кластеры), так и из одинаковых (гомогенные кластеры).
Очевидно, что все такие системы относятся к классу MIMD. Кластеры являются
классическим примером слабо связанных систем. В кластерных системах для организации
взаимодействия между процессами, выполняющимися на разных компьютерах при
решении одной задачи, применяются различные модели обмена сообщениями (PVM, MPI
и т.п.). Однако задача распараллеливания в таких системах с распределенной между
отдельными компьютерами памятью в рамках этих моделей является гораздо более
сложной, чем в модели общего поля памяти, как например, в SMP-серверах. К этому
следует добавить чисто аппаратные проблемы наличия задержек при обменах
сообщениями и повышения скорости передачи данных. Поэтому спектр задач, которые
могут эффективно решаться на кластерных системах, по сравнению с симметричными
сильно связанными системами достаточно ограничен. Для параллельной обработки
запросов к базам данных в подобных системах также имеются свои собственные подходы.
В кластеры могут объединяться различные суперкомпьютеры. Возможность
наличия большого числа процессорных узлов в SP2 позволяет одновременно отнести этот
компьютер и к классу
Кластерные вычисления
Как правило, кластер состоит из нескольких сотен или тысяч связанных сетью
персональных компьютеров или рабочих станций, причем к сети они подключаются через
обычную сетевую плату. Различие между МРР и кластером такое же. как между
мэйнфреймом и персональным компьютером У обоих есть процессор. ОЗУ, диски,
операционная система и т. д. Но в мэйнфрейме все это (за исключением, может быть,
операционной системы) работает гораздо быстрее, и из-за этого применяются и
управляются они совершенно по-разному. То же самое можно сказать о МРР и кластерах
Еще несколько лет назад взаимодействие между элементами, образующими МРР.
присходило гораздо быстрее, чем между машинами, составляющими кластер. Однако с
появлением на рынке высокоскоростных сетей этот разрыв стал сходить «на нет».
Вероятно, кластеры постепенно вытеснят ММР-машнны. подобно тому как персональные
компьютеры вытеснили мэйнфреймы, которые применяются теперь только в
узкоспециализированных областях. Основной
нишей для систем ММР останутся
дорогостоящие суперкомпьютеры в которых главное –производительность, а вопросы
стоимости не имеют решающею значении
Существует множество видов кластеров, два из которых доминируют:
центролизованные и децентрализованные.
Централизованным называют кластер рабочих станций или персональных
компьютеров, смонтированных в большую конструкцию в пределах одной комнаты.
Иногда они располагаются более компактно, чем обычно, чтобы сократить физические
размеры и длину кабеля. Как правило, все входящие в кластер машины гомогенны и не
имеют никаких периферийных устройств, кроме сетевых плат и. возможно, дисководов.
Гордон Хел (Gordon Hell), разработчнк PDP-11 и VAX. назвал их безголовыми рабочими
станциями, намекая на то, что у этих машин нет владельцев.
Децентрализованные кластеры состоят из рабочих станций или персональных
компьютеров, разбросанных в пределах здания или кампуса. Большинство из них
простаивают много часов в день, особенно ночью Обычно они связаны локальной сетью.
Они гетерогенны и имеют полный набор периферийных устройств. Самое важное то, что
многие входящие в кластер машины имеют владельцев, каждый из которых души не чает
в своей машине и не слишком лояльно относится к тому, что какой-то астроном пытается
вовлечь ее в вычисления, связанные с теорией большого взрыва. Если же использовать
для организации кластера только бездействующие на данный момент машины,
обязательно нужен какой-то механизм миграции заданий, чтобы освободить. машину,
когда она понадобится своему владельцу. Хотя проблема миграции заданий вполне
решаема, решение требует дополнительного усложнения программного обеспечения.
Кластеры зачастую невелики и пределах от дюжины до, возможно. 300
компьютеров. Тем не менее, можно построить очень большой кластер из обычных ПК.
СКИФ
В связи с бурным развитием сетей на базе интернет-технологий быстро
увеличивается
количество
приложений,
требующих
для
их
реализации
высокопроизводительных информационно-вычислительных систем, новых методов
распараллеливания программ и систем поддержки многопроцессорных комплексов.
В Центре телекоммуникаций и технологий Интернет МГУ проводятся исследования
и практические работы по динамическому распараллеливанию программ на основе
параллельной
редукции
графов.
Результаты
исследований
находят
свое
практическое применение в рамках работ по совместному российско-белорусскому
проекту при проектировании и реализации новой версии Т-системы - высокоуровневого
средства динамического распараллеливания программ. Основной упор в работах
делается на реализацию преимуществ модели, основанной на параллельной
редукции графов, ее расширение и обобщение, а также на эффективное
взаимодействие с другими моделями параллельного программирования.
Основные разработчики
Отв.исполнитель от РФ: Институт программных систем РАН
Отв.исполнитель от РБ: НИО "Кибернетика" НАН Беларуси
Разработчики - около 20 предприятий:
от РФ: ИПС РАН, ЦТТИ МГУ, НИЦЭВТ, ИВВиБД, Предприятие "СКС" и другие.
от РБ: НИО "Кибернетика", УП "Белмикросистемы", УП "НИИ ЭВМ", ИТМО НАН
Беларуси и другие.
Тип проекта
Аппаратные средства, программные системы и прикладные системы на их основе.
Краткое описание
Разрабатывается два семейства (Ряд 1 и Ряд 2) составных ("гибридных")
суперкомпьютеров, которые вбирают в себя идеи двух проектов --- "Т-система" и "ОВСMiniTera"
Вобщем случае имеет двухуровенную архитектуру:
 кластерный уровень;
 уровень ОВС (однородной вычислительной среды);
 и аппаратные и программные средства взаимодействия двух уровней.
Предпосылкой объединения двух аппаратных решений (кластерного и потокового)
и соответствующих им программных средств для организации параллельной обработки в
рамках одной вычислительной системы, является то, что эти два подхода своими
сильными сторонами компенсируют недостатки друг друга. Тем самым, в общем случае,
каждая прикладная проблема может быть разделена на
фрагменты со сложной логикой вычисления, с крупноблочным параллелизмом,
которые эффективно реализовывать на кластерном уровне с использованием Т-системы;
фрагменты с простой логикой вычисления, с конвейерным или мелкозернистым
явным параллелизмом, с большими потоками информации, требующими обработки в
реальном режиме времени --- такие фрагменты эффективно реализовывать в ОВС.
Эта особенность позволяет делать эффективный состав вычислительной системы
для конкретной прикладной задачи, собирая, после анализа задачи, аппаратную
платформу для нее в оптимальной пропорции:
из какого-то числа вычислительных модулей кластерного уровня и
из какого-то числа вычислительных блоков ОВС.
Архитектура является открытой и масштабируемой, то есть не накладывается
жестких ограничений к программно-аппаратной платформе узлов кластера, топологии
вычислительной сети, конфигурации и диапазону производительности суперкомпьютера.
Область применения
Программой предусмотрено создание следующих законченных ("под ключ")
прикладных комплексов:
 система для обработки радиолокационных и оптических сигналов;
 система для автоматического распознавания и селекции целей в реальном масштабе
времени;
 система для обработки и отображения данных в реальном масштабе времени в
кардиологическом комплексе нового поколения;
 система для распознавания изображений;
 система для моделирования широкополосных пространственно-временных
радиолокационных сигналов;
Однако, в принципе, разрабатываемое семейство суперкомпьютеров можно назвать
универсальным, пригодным для иных прикладных систем.
Связь с другими проектами/платформами
Совместная программа "СКИФ" объединяет два проекта: "Т-система" и "ОВСMiniTer
Технология Grid-вычислений
Технология Grid-вычислений позволяет виртуализировать ресурсы и данные для
распределенных вычислений, такие, как процессорные мощности, полоса пропускания
сети, емкость запоминающих устройств. Это позволяет оптимально распределять ресурсы
системы, предоставляя их по мере необходимости.
Грид вычисления — это форма распределённых вычислений, в которой
«виртуальный суперкомпьютер» представлен в виде кластера соединённых с помощью
сети, слабосвязанных компьютеров, работающих вместе для выполнения огромного
количества заданий (операций, работ). Эта технология была применена для решения
научных, математических задач, требующих для решения значительных вычислительных
ресурсов. Грид вычисления используются также и в коммерческой инфраструктуре для
решения таких трудоёмких задач как экономическое прогнозирование, сейсмоанализ,
разработка и изучение свойств новых лекарств.
Грид (англ. grid — решётка, сеть) — согласованная, открытая и стандартизованная
компьютерная среда, которая обеспечивает гибкое, безопасное, скоординированное
разделение вычислительных ресурсов и ресурсов хранения информации, которые
являются частью этой среды, в рамках одной виртуальной организации.
Грид является географически распределённой инфраструктурой, объединяющей
множество ресурсов разных типов (процессоры, долговременная и оперативная память,
хранилища и базы данных, сети), доступ к которым пользователь может получить из
любой точки, независимо от места их расположения.
Система GRID имеет иерархическую структуру.
Самая верхняя точка иерархии, нулевой уровень — CERN (получение информации
с детекторов, сбор «сырых» научных данных, которые будут храниться до конца работы
эксперимента). За первый год работы планируется собрать до 15 петабайт (тысяч
терабайт) данных первой копии.
Первый уровень, Tier1 — хранение второй копии этих данных в других уголках
мира (11 центров: в Италии, Франции, Великобритании, США, на Тайване, а один центр
первого уровня — CMS Tier1 — в CERN). Центры обладают хорошими обширными
ресурсами для хранения данных.
Tier2 — следующие в иерархии, многочисленные центры второго уровня. Это не
обязательно наличие крупных ресурсов для хранения данных, обладают хорошими
вычислительными ресурсами: в Дубне (ОИЯИ, Объединенный институт ядерных
исследований), три центра в Москве (НИИЯФ МГУ, ФИАН, ИТЭФ — институт
теоретической и экспериментальной физики), Троицке (ИЯИ, Институт ядерный
исследований), Протвино (ИФВЭ, институт физики высоких энергий) и Гатчине (ПИЯФ).
Кроме того, в единую сеть с этими центрами связаны и центры других стран-участниц
ОИЯИ — в Харькове, Минске, Ереване, Софии и Тбилиси. Более 85 % всех
вычислительных задач БАК сейчас выполняется вне CERN, из них более 50 % на центрах
второго уровня[4].
Идея грид-компьютинга возникла вместе с распространением персональных
компьютеров, развитием интернета и технологий пакетной передачи данных на основе
оптического волокна (SONET, SDH и ATM), а также технологий локальных сетей (Gigabit
Ethernet). Полоса пропускания коммуникационных средств стала достаточной, чтобы при
необходимости привлечь ресурсы другого компьютера. Учитывая, что множество
подключенных к глобальной сети компьютеров большую часть рабочего времени
простаивает и располагает ресурсами, большими, чем необходимо для решения их
повседневных задач, возникает возможность применить их неиспользуемые ресурсы в
другом месте.
Распределённые или Grid вычисления вцелом являются разновидностью
параллельных вычислений, которое основывается на обычных компьютерах (со
стандартными процессорами, устройствами хранения данных, блоками питания и т. д.)
подключенных к сети (локальной или глобальной) при помощи обычных протоколов,
например Ethernet. В то время как обычный суперкомпьютер содержит множество
процессоров, подключенных к локальной высокоскоростной шине.
Основным преимуществом распределённых вычислений является то, что отдельная
ячейка вычислительной системы может быть приобретена как обычный
неспециализированный компьютер. Таким образом можно получить практически те же
вычислительные мощности, что и на обычных суперкомпьютерах, но с гораздо меньшей
стоимостью.
Термин «грид вычисления» появился в начале 1990-х гг., как метафора о такой же
лёгкости доступа к вычислительным ресурсам, как и к электрической сети (англ. power
grid) в сборнике под редакцией Яна Фостера и Карла Кессельмана «The Grid: Blueprint for
a new computing infrastructure».
Использование свободного времени процессоров и добровольного компьютинга
стало популярным в конце 1990-х годов после возникновения проектов GIMPS в 1996
году, distributed.net в 1997 году и http://ru.wikipedia.org/wiki/SETI@home в 1999 году. Эти
первые проекты добровольного компьютинга использовали мощности подсоединённых к
сети компьютеров обычных пользователей для решения исследовательских задач,
требующих больших вычислительных мощностей.
Идеи Grid-системы (включая идеи из областей распределённых вычислений,
объектно-ориентированного программирования, использования компьютерных кластеров,
веб-сервисов и др.) были собраны и объединены Иэном Фостером, Карлом Кессельманом
и Стивом Тики, которых часто называют отцами технологии ГРИД. Они начали создание
набора инструментов для Grid Globus Toolkit, который включает не только инструменты
менеджмента вычислений, но и инструменты управления ресурсами хранения данных,
обеспечения безопасности доступа к данным и к самому гриду, мониторинга
использования и передвижения данных, а также инструментарий для разработки
дополнительных сервисов Грид. В настоящее время этот набор инструментария является
де факто стандартом для построения инфраструктуры на базе технологии грид, хотя на
рынке существует множество других инструментариев для Grid-системы как в масштабе
предприятия, так и в глобальном.
Технология GRID применяется для моделирования и обработки данных в
эксперименте на Большом адронном коллайдере (GRID используется и в других задачах с
интенсивными вычислениями). Проект Fusion (юг Франции, разработка метода получения
электричества с помощью термоядерного синтеза), также будет пользоваться GRID. Под
названием CLOUD начат проект коммерциализации GRID, в рамках которого небольшие
компании, институты, нуждающиеся в вычислительных ресурсах, но не могут себе
позволить по тем или иным причинам иметь свой суперкомпьютерный центр, могут
покупать у GRID вычислительное время[4].
В настоящий время выделяют три основных типа GRID-систем:
1. GRID на основе использования добровольно предоставляемого свободного ресурса
персональных компьютеров (добровольная GRID);
2. Научная GRID — хорошо распараллеливаемые приложения программируются
специальным образом (например, с использованием Globus Toolkit);
3. GRID на основе выделения вычислительных ресурсов по требованию (Enterprise
GRID или коммерческая GRID) — обычные коммерческие приложения работают
на виртуальном компьютере, который, в свою очередь, состоит из нескольких
физических компьютеров, объединённых с помощью GRID-технологий.
Сloud computing
Расширяется бизнес по продаже инфраструктурных услуг в Internet. Это
технологическое направление, называемое также «облачным компьютингом», позволяет
организациям и отдельным людям удовлетворять свои IT-потребности в удаленных
центрах , платя только за предоставляемые услуги.
В 2008 г. общий объем индустрии облачного компьютинга оценивался в 16
миллиардов долларов, а к 2012 г. ожидается ее рост до 42 миллиардов долларов.
В сообществах систем и приложений постоянно растет интерес к облачному
компьютингу (cloud computing).
В рамках cloud computing небольшие компании, институты, нуждающиеся в
вычислительных ресурсах, но не могут себе позволить по тем или иным причинам иметь
свой суперкомпьютерный центр, могут покупать вычислительное время
Облако — это чужой компьютер, на котором посторонний специалист предлагает
корпоративным потребителям хранить и обрабатывать их данные. Компьютер при этом
остается в собственности специалиста и находится на его территории. Каждому из
потребителей предоставляется — как правило, через Интернет—доступ к определенной
части этого компьютера. Потребители помещают туда свою информацию и выполняют с
ней определеяные действия, что оформляется как набор услуг. Счетчики считают "объем
оказанных услуг и потребители платят.
В настоящее время несколько онлайновых служб позволяет арендовать
инфраструктуру хранения данных. Эти облака хранения данных позволяет любому
человеку, обладающему кредитной картой, арендовать в режиме онлайн средства
хранения данных требуемого объема с помесячной оплатой аренды. Например, служба S3
(Simple Storage Service) компании Amazon обеспечивает пользователям возможность
хранения в своих онлайновых репозиториях произвольных объектов объемом до 5
гигабайт. В конце 2008 г. Amazon сообщила, что в службе S3 хранится более 40
миллиардов объектов.
В облачном компьютинге ресурсами владеет и управляет некоторый поставщик
услуг, и пользователям обеспечивает доступ к ресурсами через Internet. Эта разновидность
компьютинга обеспечивает много преимуществ для компаний, включая более низкие
капиталовложения, сокращенное время появления новых служб, меньшие
эксплуатационные затраты, более высокий коэффициент использования за счет
применения виртуализации, более простое восстановление после аварийных ситуаций и
т.д.
Во многих публикациях говорится о выгоде, получаемой при переносе вычислений
в облачную среду из среды десктопов.
А что можно сказать о пользе облачного компьютинга для мобильных
пользователей? Основными ограничениями мобильного компьютинга являются
ограниченная возможность энергопитания и пропускная способность беспроводных сетей.
В качестве услуги мобильным пользователям облачный компьютинг может обеспечить
сокращение энергопотребления, хотя при этом возникает несколько особых проблем.
Для многих приложений требуется слишком большая процессорная мощность, чтобы
было можно выполнять их в мобильной системе. Если мобильному пользователю
желательно использовать такие приложения, вычисления должны производиться «в
облаках». Другие же приложения, такие как распознавание голоса, навигация и т.д.,
вполне можно поддерживать в мобильной системе. Однако они потребляют достаточно
много энергии. Можно ли сократить энергопотребление за счет выгрузки этих
приложений в облачную инфраструктуру?
Перемещение вычислений на другую машину не является новой идеей. Популярная в
настоящее время вычислительная модель «клиент-сервер» позволяет мобильным
пользователям использовать Web-браузеры, производить поиск в Internet и производить
онлайновые покупки.
Отличие облачного компьютинга от существующей модели состоит в применении
виртуализации. Виртуализация позволяет поставщикам облачных услуг выполнять любые
приложения различных пользователей в виртуальных машинах.
Выгрузка приложений выгодна в тех случаях, когда для большого количества
вычислений C требуется относительно немного коммуникаций D
Таким образом, поставщики облачных услуг обеспечивают пользователям
процессорную мощность, а пользователи могут применять эту мощность для сокращения
объема вычислений, выполняемых в мобильных системах, сокращая, тем самым,
энергопотребление. Таким образом, облачный компьютинг может сокращать
энергопотребление мобильных устройств за счет выгрузки из них вычислений.
Виртуализация позволяет приложениям разных пользователей выполняться в разных
виртуальных машинах, обеспечивая требуемую защиту.
Download