Архитектура параллельной и распределенной вычислительной системы

Понятие архитектуры высокопроизводительной системы является достаточно широким, поскольку под архитектурой можно понимать и способ параллельной обработки данных, используемый в системе, и организацию памяти, и топологию связи между процессорами, и способ исполнения системой арифметических операций [3].

Классификация архитектур вычислительных систем, предложенная в 1966 году М. Флинном, базируется на понятии потока, под которым Флинн подразумевал последовательность элементов, команд или данных, обрабатываемая процессором. Флинн выделяет четыре класса архитектур [3]:

· SISD = Single Instruction Single Data (Один поток команд ­– один поток данных). В таких машинах есть только один поток команд, все команды обрабатываются последовательно друг за другом, и каждая команда инициирует одну операцию с одним потоком данных.

· MISD = Multiple Instruction Single Data (Множественный поток команд – один поток данных). Определение подразумевает наличие в архитектуре многих процессоров, обрабатывающих один и тот же поток данных. Однако ни Флинн, ни другие специалисты в области архитектуры компьютеров до сих пор не смогли представить убедительный пример реально существующей вычислительной системы, построенной на данном принципе.

· SIMD = Single Instruction Multiple Data (Один поток команд – множественный поток данных). В архитектурах подобного рода сохраняется один поток команд, включающий, в отличие от предыдущего класса, векторные команды. Это позволяет выполнять одну арифметическую операцию сразу над многими данными – элементами вектора.

· MIMD = Multiple Instruction Multiple Data (Множественный поток команд – множественный поток данных). Этот класс предполагает, что в вычислительной системе есть несколько устройств обработки команд, объединенных в единый комплекс и работающих каждое со своим потоком команд и данных.

В категории MIMD проводят еще одну важную классификацию по организации памяти, определяющей параллельные и распределенные системы [1]:

· Системы с общей памятью (Рис. 1). В данную категорию относятся мультипроцессоры – один компьютер со многими процессорами. Главными представителями являются:

o SMP архитектура (symmetric multiprocessing) - симметричная многопроцессорная архитектура. Особенностью систем с архитектурой SMP является наличие общей физической памяти, разделяемой всеми процессорами. В данную категорию относятся мультипроцессоры – один компьютер со многими процессорами [3].

o Гибридная архитектура NUMA (nonuniform memory access) – неоднородный доступ к памяти. Суть этой архитектуры – в особой организации памяти, а именно: память физически распределена по различным частям системы, но логически она является общей, так что пользователь видит единое адресное пространство [3].

Архитектура параллельной и распределенной вычислительной системы - №1 - открытая онлайн библиотека

Рисунок 1.

· Системы с распределенной памятью (Рис. 2). К этой категории относятся мультикомпьютеры – вычисления проводятся на относительно независимых компьютерах. Основными представителями являются:

o MPP (massive parallel processing) – массивно-параллельная архитектура. Главная особенность такой архитектуры состоит в том, что память физически разделена.

o Кластер представляет собой два или более компьютеров (часто называемых узлами), объединяемых при помощи сетевых технологий на базе шинной архитектуры или коммутатора и предстающих перед пользователями в качестве единого информационно-вычислительного ресурса. В качестве узлов кластера могут быть выбраны серверы, рабочие станции и даже обычные персональные компьютеры [3].

Архитектура параллельной и распределенной вычислительной системы - №2 - открытая онлайн библиотека

Рисунок 2.