- •Зачем применяються суперкомпьютеры
- •Параллельная обработка данных на эвм
- •Классификация параллельных компьютеров и систем
- •Векторно-конвейерные компьютеры
- •Функциональные устройства
- •Секция управления процессора
- •Паралельные компьютеры с общей памятью
- •Вычислительные системы с распределенной памятью
- •Кластерные проекты
- •Система функциональных устройств. Закон амдала.
- •Как повышают производительность компьютеров
- •Усложнение и наращивание аппаратных средств
- •Параллельная обработка
- •Конвейерная обработка
- •Повышение интеллектуальности управления компьютера
- •Технологии параллельного программирования
- •Использование традиционных последовательных языков
- •Технология программирования ОреnМр.
- •Система программирования dvm.
- •Система программирования на mPc.
- •Система программирования на основе передачи сообщения
- •Система программирования mpi
- •Общие функции mpi.
- •Общие функции mpi
- •Прием/передача сообщения между отдельными процессами.
- •Прием/передача сообщения без блокировки.
- •Объединение запросов на взаимодействия.
- •Совмещенные прием и передача сообщений.
- •Коллективные взаимодействия процессов.
- •Синхронизация процессов
- •Работа с группами процессов
Вычислительные системы с распределенной памятью
Идея построения вычислительных систем данного класса очень проста. Берется какое-то количество вычислительных узлов, которые объединяются друг с другом некоторой коммуникационной средой. Каждый вычислительный узел имеет один или несколько процессоров и свою собственную локальную память, разделяемую этими процессорами. Распределенность памяти означает то, что каждый процессор имеет непосредственный доступ только к локальной памяти своего узла. Доступ к данным, расположенным в памяти других узлов, выполняется дольше и другими, более сложными способами.
В последнее время в качестве узлов все чаще и чаше используют полнофункциональные компьютеры, содержащие, например, и собственные внешние устройства. Коммуникационная среда может специально проектироваться для данной вычислительной системы либо быть стандартной сетью доступной на рынке.
Преимуществ у такой схемы организации параллельных компьютеров много. Соотношение цена/производительность у систем с распределенной памятью ниже, чем у компьютеров других классов. И главное, такая схема дает возможность практически неограниченно наращивать число процессоров в системе и увеличивать ее производительность. Большое число подключаемых процессоров даже определило специальное название для систем данного класса: компьютеры с массовым параллелизмом или с массивно-параллельные компьютеры.
Широкое распространение компьютеры с такой архитектурой получили с начала 90-х годов прошлого столетия. Среди них можно назвать Intel Paragon, IBM SP1/SP2, Cray T3D/T3E.
Опишем архитектуру компьютера Cray T3D/T3E. Являясь представителем обсуждаемого класса вычислительных систем, эти компьютеры обладают рядом интересных дополнительных особенностей.
Компьютеры Cray T3D/T3E — это массивно-параллельные компьютеры с распределенной памятью, объединяющие в максимальной конфигурации более 2000 процессоров. Как и любые компьютеры данного класса, они содержат два основных компонента: узлы и коммуникационную среду.
Все узлы компьютера делятся на три группы.
Когда пользователь подключается к компьютеру, то он попадает на управляющие узлы. Эти узлы работают в многопользовательском режиме, на этих же узлах выполняются однопроцессорные программы и работают командные файлы. Узлы операционной системы недоступны пользователям напрямую. Эти узлы поддерживают выполнение многих системных сервисных функций ОС, в частности, работу с файловой системой. Вычислительные узлы компьютера предназначены для выполнения программ пользователя в монопольном режиме. При запуске программе выделяется требуемое число узлов, которые за ней закрепляются вплоть до момента ее завершения. Гарантируется, что никакая программа не сможет занять вычислительные узлы, на которых уже работает другая программа. Число узлов каждого типа зависит от конфигурации системы.
Каждый узел последних моделей состоит из процессорного элемента (ПЭ) и сетевого интерфейс.
Локальная память каждого процессорного элемента является частью физически распределенной, но логически разделяемой памяти всего компьютера. Память физически распределена, т. к. каждый ПЭ содержит свою локальную память. В то же время память разделяется всеми ПЭ, поскольку любой ПЭ через свой сетевой интерфейс может обращаться к памяти любого другого ПЭ, не прерывая его работы.
Рис. Коммуникационная решетка CRAY T3E
Сетевой интерфейс узла связан с соответствующим сетевым маршрутизатором, который является частью коммуникационной сети. Все маршрутизаторы расположены в узлах трехмерной целочисленной прямоугольной решетки и соединены между собой в соответствии с топологией трехмерного тора. Это означает, что каждый узел имеет шесть непосредственных соседей вне зависимости от того, где он расположен, независимо от расстояния подобной организации данной сети есть множество достоинств, отметим 2:
1) возможность выбора альтернативного маршрута для обхода поврежденных связей.
2) Быстрая связь граничных узлов и небольшое среднее число перемещений по тору при взаимодействии разных ПЭ.
Каждая элементарная связь между двумя узлами — это два однонаправленных канала передачи данных, что допускает одновременный обмен данными в противоположных направлениях.
Интересной особенностью архитектуры компьютера является аппаратная поддержка барьерной синхронизации.
Барьер —- это точка в программе, при достижении которой каждый процесс должен ждать до тех пор, пока остальные процессы также не дойдут до барьера. Лишь после этого события все процессы могут продолжать работу дальше.
Помимо традиционных суперкомпьютеров, класс компьютеров с распределенной памятью в последнее время активно расширяется за счет вычислительных кластеров.
Кластер есть совокупность компьютеров, объединенных в рамках некоторой сети для решения одной задачи. В качестве вычислительных узлов обычно используются доступные на рынке однопроцессорные компьютеры. Каждый узел работает под своей копии операционной системы, в качестве которой используется Linux,Windows,Solaris. Состав и мощность узлов может меняться в рамках одного кластера, что дает возможность создавать неоднородные системы.
Выбор конкретной компьютерной среды выбирается по определенным факторам: особенностью кластерного решения задачи, необходимостью последовательного расширения и т.д.
Как правило предоставляется возможность удаленного доступа на кластер через интернет.
Рис. Общая система вычислительно кластера