Опубликован: 28.07.2007 | Доступ: свободный | Студентов: 2036 / 507 | Оценка: 4.53 / 4.26 | Длительность: 25:10:00
ISBN: 978-5-9556-0096-3
Специальности: Программист
Лекция 1:

Принципы построения параллельных вычислительных систем

Аннотация: Лекция посвящена рассмотрению принципов построения параллельных вычислительных систем (ПВС). Дана краткая характеристика способов достижения параллелизма, приведены примеры ПВС. Приводится классификация параллельных вычислительных систем, рассматриваются типовые топологии сетей передачи данных в ПВС
Ключевые слова: процессы обработки, кэш, многозадачный режим, режим разделения времени, распределенные вычисления, многопроцессорная вычислительная система, power, AMD, alpha, Ethernet, infiniband, SCI, Windows, MFLOPS, GFLOPS, TFLOPS, ASCI, LINPACK, ASCI White, мультипроцессор, профилировщик, ghz, кластер, beowulf, Linux-кластер, supercomputer, cluster computing, velocity, NCSA, gbit, DVM, одиночный поток команд, множественный поток данных, конвейерная обработка данных, множественный поток команд, MIMD, структурная схема, мультикомпьютер, разделяемая переменная, неоднородный доступ к памяти, DDM, когерентность, система Cray T3E, сеть передачи данных, передача данных, топология, типовая топология, топология сети передачи данных, полное двоичное дерево, computer cluster, server, CCS, Windows Server, CCP, SDK, MPI, Visual Studio 2005, среда разработки, IDE, компилятор, x86, минимум, операционная система, standard, enterprise, edition, argonne national lab, API, приложение, Visual Studio, интерфейс, COM, Web-сервис, computer, cluster server, общая разделяемая и распределенная память, информация, классификация Флинна

1.1. Пути достижения параллелизма

В общем плане под параллельными вычислениями понимаются процессы обработки данных, в которых одновременно могут выполняться несколько операций компьютерной системы. Достижение параллелизма возможно только при выполнении следующих требований к архитектурным принципам построения вычислительной среды:

  • независимость функционирования отдельных устройств ЭВМ – данное требование относится в равной степени ко всем основным компонентам вычислительной системы: к устройствам ввода-вывода, обрабатывающим процессорам и устройствам памяти;
  • избыточность элементов вычислительной системы – организация избыточности может осуществляться в следующих основных формах:

- использование специализированных устройств, таких, например, как отдельные процессоры для целочисленной и вещественной арифметики, устройства многоуровневой памяти (регистры, кэш);

- дублирование устройств ЭВМ путем использования, например, нескольких однотипных обрабатывающих процессоров или нескольких устройств оперативной памяти.

Дополнительной формой обеспечения параллелизма может служить конвейерная реализация обрабатывающих устройств, при которой выполнение операций в устройствах представляется в виде исполнения последовательности составляющих операцию подкоманд. Как результат, при вычислениях на таких устройствах на разных стадиях обработки могут находиться одновременно несколько различных элементов данных.

Возможные пути достижения параллелизма детально рассматриваются в [2, 11, 14, 28, 45, 59]; в этих же работах описывается история развития параллельных вычислений и приводятся примеры конкретных параллельных ЭВМ (см. также [24, 76]).

При рассмотрении проблемы организации параллельных вычислений следует различать следующие возможные режимы выполнения независимых частей программы:

  • многозадачный режим ( режим разделения времени ), при котором для выполнения нескольких процессов используется единственный процессор. Данный режим является псевдопараллельным, когда активным (исполняемым) может быть один, единственный процесс, а все остальные процессы находятся в состоянии ожидания своей очереди; применение режима разделения времени может повысить эффективность организации вычислений (например, если один из процессов не может выполняться из-за ожидания вводимых данных, процессор может быть задействован для выполнения другого, готового к исполнению процесса – см. [73]). Кроме того, в данном режиме проявляются многие эффекты параллельных вычислений (необходимость взаимоисключения и синхронизации процессов и др.), и, как результат, этот режим может быть использован при начальной подготовке параллельных программ;
  • параллельное выполнение, когда в один и тот же момент может выполняться несколько команд обработки данных. Такой режим вычислений может быть обеспечен не только при наличии нескольких процессоров, но и при помощи конвейерных и векторных обрабатывающих устройств;
  • распределенные вычисления ; данный термин обычно применяют для указания параллельной обработки данных, при которой используется несколько обрабатывающих устройств, достаточно удаленных друг от друга, в которых передача данных по линиям связи приводит к существенным временным задержкам. Как результат, эффективная обработка данных при таком способе организации вычислений возможна только для параллельных алгоритмов с низкой интенсивностью потоков межпроцессорных передач данных. Перечисленные условия являются характерными, например, при организации вычислений в многомашинных вычислительных комплексах, образуемых объединением нескольких отдельных ЭВМ с помощью каналов связи локальных или глобальных информационных сетей.

В рамках данного учебного материала основное внимание будет уделяться второму типу организации параллелизма, реализуемому на многопроцессорных вычислительных системах.