Техническая реализация многопроцессорных систем
Существующие параллельные вычислительные средства класса MIMD образуют три технических подкласса: симметричные мультипроцессоры (SMP), системы с массовым параллелизмом (МРР) и кластеры. В основе этой классификации лежит структурно-функциональный подход.
Симметричные мультипроцессоры используют принцип разделяемой памяти. В этом случае система состоит из нескольких однородных процессоров и массива общей памяти (обычно из нескольких независимых блоков). Все процессоры имеют доступ к любой точке памяти с одинаковой скоростью. Процессоры подключены к памяти с помощью общей шины или коммутатора. Аппаратно поддерживается когерентность кэшей.
Наличие общей памяти сильно упрощает взаимодействие процессоров между собой, однако накладывает сильные ограничения на их число не более 32 в реальных системах. Вся система работает под управлением единой ОС (обычно UNIX-подобной, но для Intel-платформ поддерживается Windows NT).
Системы с массовым параллелизмом содержат множество процессоров (обычно RISC) c индивидуальной памятью в каждом из них (прямой доступ к памяти других узлов невозможен), коммуникационный процессор или сетевой адаптер, иногда жесткие диски и/или другие устройства ввода–вывода. Узлы связаны через некоторую коммуникационную среду (высокоскоростная сеть, коммутатор и т.п.). Общее число процессоров в реальных системах достигает нескольких тысяч.
Полноценная операционная система может располагаться только на управляющей машине (на других узлах работает сильно урезанный вариант ОС), либо на каждом узле работает полноценная UNIX-подобная ОС (вариант, близкий к кластерному подходу). Программирование осуществляется в рамках модели передачи сообщений (библиотеки параллельных функций MPI и подобные).
Кластерные системы – более дешевый вариант MPP-систем, поскольку они также используют принцип передачи сообщений, но строятся из компонентов высокой степени готовности.
Вычислительный кластер – это совокупность компьютеров, объединенных в рамках некоторой сети для решения одной задачи. В качестве вычислительных узлов обычно используются доступные на рынке однопроцессорные компьютеры, двух или четырехпроцессорные SMP-серверы. Каждый узел работает под управлением своей копии операционной системы, в качестве которой чаще всего используются стандартные операционные системы: Linux, NT, Solaris и т.п. Состав и мощность узлов может меняться даже в рамках одного кластера, давая возможность создавать неоднородные системы.
Для кластерных систем в соответствии с сетевым законом Амдала характеристики коммуникационных сетей имеют принципиальное значение.
Коммуникационные сети имеют две основные характеристики: латентность время начальной задержки при посылке сообщений и пропускную способность сети, определяющую скорость передачи информации по каналам связи. После вызова пользователем функции посылки сообщения Send() сообщение последовательно проходит через целый набор слоев, определяемых особенностями организации программного обеспечения и аппаратуры, прежде чем покинуть процессор. Наличие латентности определяет и тот факт, что максимальная скорость передачи по сети не может быть достигнута на сообщениях с небольшой длиной.
Чаще всего используется сеть Fast Ethernet, основное достоинство которой низкая стоимость оборудования. Однако большие накладные расходы на передачу сообщений в рамках Fast Ethernet приводят к серьезным ограничениям на спектр задач, которые можно эффективно решать на таком кластере. Если от кластера требуется большая универсальность, то нужно переходить на более производительные коммуникационные сети.
Лекция 3
Дата добавления: 2016-02-02; просмотров: 922;