Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Состав и свойства вычислительных систем. Информационное и математическое обеспечение вычислительных систем (Сложные вычислительные системы)

Содержание:

ВВЕДЕНИЕ

Термин «вычислительная система» появился в начале 60-х гг. при появлении ЭВМ III поколения. Это время знаменовалось переходом на новую элементную базу - интегральные схемы. Следствием этого явилось появление новых технических решений: разделение процессов обработки информации и ее ввода-вывода, множественный доступ и коллективное использование вычислительных ресурсов в пространстве и во времени. Появились сложные режимы работы ЭВМ - многопользовательская и многопрограммная обработка. Отражая эти новшества, и появился термин «вычислительная система», т.е. возможность построения параллельных ветвей в вычислениях, что не предусматривалось классической структурой ЭВМ.

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

Наличие нескольких вычислителей в системе позволяет совершенно по-новому решать проблемы надежности, достоверности результатов обработки, резервирования, централизации хранения и обработки данных, децентрализации управления и т.д.

Цель работы – изучить особенности конфигурации вычислительных систем.

Задачи:

1) рассмотреть понятие вычислительных систем,

2) изучить основные виды вычислительных систем,

3) изучить сложные вычислительные сситемы как новый вид.

Объект исследования – вычислительные системы.

Предмет исследования - конфигурация и основные характеристики вычислительных систем.

Методологическую основу данного исследования составили такие методы как анализ, синтез, сравнение, обобщение, выделение, классификация, интерпретация и другие методы научного познания.

Структура работы. Данная работа состоит из введения, двух глав, заключения и списка использованной литературы.

ГЛАВАЯ 1. ОБЩАЯ ХАРАКТЕРИСТИКА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ

1.1. Понятие о вычислительных системах с программируемой структурой данных

Для создания вычислительных средств существует два основных подхода:

  1. построение электронных вычислительных машин (ЭВМ), моделирующих процесс выполнения алгоритма одиночным человеком- вычислителем;
  2. построение вычислительных средств, моделирующих процесс выполнения алгоритма коллективом вычислителей.

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

Конструкция коллектива вычислителей базируется на следующих архитектурных принципах:

  1. параллелизм (Parallelism, Concurrency) при обработке информации;
  2. программируемость (Programmability, Adaptability) структуры;
  3. однородность (Нomogeneity) конструкции.

Модель коллектива вычислителей основывается на диалектическом обобщении принципов модели вычислителя.

Параллелизм при обработке информации предполагает представление алгоритма решения задач с помощью параллельных программ.

Параллельная программа - это совокупность связанных ветвей-программ, выполняющих одновременную (параллельную) работу над выделенными данными и, при необходимости, взаимодействующих между собой [2].

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

Вычислительное средство, базирующееся на модели коллектива вычислителей, называется вычислительной системой [1, 11].

Более точно принципы модели коллектива вычислителей представлены в вычислительных системах с программируемой структурой данных. Создание теоретических основ, реализация технических принципов и разработка первых вычислительных систем с программируемой структурой данных были осуществлены к началу 70-х годов ХХ века в СССР.

Все вычислительные системы классифицируются по различным признакам. Наиболее распространённый способ классификации был предложен профессором Стэндфордского университета США М. Дж. Флинном в 1966г., в котором основное внимание уделяется способам взаимодействия потоков выполняемых команд и обрабатываемых данных при анализе архитектуры вычислительных систем.

Данная классификация позволяет выделить четыре класса архитектур (рисунок 1.1):

  1. SISD (Single Instruction, Single Data) - системы, в которых выполняется одиночный поток команд и одиночный поток данных. К такому типу относятся обычные последовательные ЭВМ;
  2. SIMD (Single Instruction, Multiple Data) - системы c одиночным потоком команд и множественным потоком данных. Такой класс составляют многопроцессорные вычислительные системы, в которых в каждый момент времени может выполняться одна и та же команда для обработки нескольких информационных элементов. Подобной архитектурой обладают многопроцессорные системы с единым устройством управления. Этот подход ранее широко использовался в системах ILLIAC IV или CM-1 компании Thinking Machines.
  3. MISD (Multiple Instruction, Single Data) - системы, в которых присутствует множественный поток команд и одиночный поток данных.
  4. MIMD (Multiple Instruction, Multiple Data) - системы c множественным потоком команд и множественным потоком данных. К этому классу можно отнести большинство параллельных многопроцессорных вычислительных систем.

C:\Users\femid\AppData\Local\Temp\FineReader12.00\media\image1.jpeg

Рисунок 1 - Архитектура ВС

Из перечисленных классов SISD относится к ЭВМ, а архитектуры SIMD, MISD, MIMD - к вычислительным системам. В соответствии с данными архитектурами допустимо построение нескольких типов ВС:

  1. Конвейерные ВС - системы, архитектура которых представляет собой предельный вариант эволюционного развития последовательной ЭВМ и простейшую версию модели коллектива вычислителей. Основой таких систем является конвейерный (или цепочечный) способ обработки информации, а их функциональная структура представляет собой последовательность связанных элементарных блоков обработки (ЭБО) информации. Все имеющиеся блоки работают параллельно, но каждый из них выполняет лишь свою операцию над данными одного и того же потока, что позволяет относить конвейерные ВС к MISD-системам;
  2. Матричные ВС - в основе лежит принцип массового параллелизма, что обеспечивается возможность одновременной реализации большого числа операций на элементарных процессорах (ЭП), которые объединены в матрицу. Каждый ЭП является композицией из арифметико-логического устройства (АЛУ) и локальной памяти (ЛП), которая необходима для хранения части данных, но не части программы или параллельной ветви. Устройство управления формирует поток команд на матрицу ЭП. Из этого можно сделать вывод, что оно в составе имеет память для хранения программ обработки данных. Описанные ВС рассчитаны на решение задач матричной алгебры. В их основе лежит SIMD- архитектуру в классическом виде. Однако современные высокопроизводительные матричные ВС масштабируемые, имеется возможность варьировать количество матриц ЭП и устройств управления. Такие ВС можно отнести к системам c архитектурой MIMD.
  3. Мультипроцессорные ВС являются группой, в которую включены конвейерные и матричные ВС. Однако принято к мультипроцессорным ВС относить системы c MIMD-архитектурой, которые состоят из множества процессоров не связанных друг с другом и общей памяти; связь между процессорами и памятью осуществляется через коммутатор, а между процессорами - через память.
  4. Распределенные ВС - мультипроцессорные ВС c MIMD- архитектурой, в которых отсутствует общая память. В основе распределенной ВС лежат принципы модульности и близкодействия. К основным компонентам распределенной ВС (коммутаторам, устройствам управления, арифметикологическим устройствам или процессорам, памяти) допускают представление в виде композиции из одинаковых элементов (локальных коммутаторов и устройств управления, локальных процессоров и модулей памяти).
  5. Транспьютерная ВС представляет собой промышленную

реализацию распределенных ВС. Система основывается на композиции из одинаковых взаимосвязанных микропроцессоров, называемых транспьютерами. Транспьютер состоит из локальных процессоров, памяти, а также локальных средств коммутации и линки (Link связь), которые позволяют организовать взаимодействия c другими транспьютерами.

  1. Вычислительные системы c программируемой структурой полностью основываются на модели коллектива вычислителей и являются композицией взаимосвязанных элементарных машин (ЭМ). Такая ЭМ в составе имеет локальный коммутатор (ЛК), процессор и память, а также может иметь внешние устройства. Локальная память ЭМ используется для хранения части данных и ветвей параллельной программы. Архитектура ВС c программируемой структурой относится к типу MIMD. Данные ВС по своим потенциальным архитектурным возможностям не уступают ни одному из перечисленных выше классов систем. Они ориентированы на распределенную обработку информации, а также эффективны при конвейерной и матричной обработке. При использовании распределенного способа обработки данных на ВС полностью реализуются возможности MIMD-архитектуры. При конвейерном и матричном способах обработки данных архитектура MIMD превращается в архитектуру MISD и SIMD. Такие системы предназначены для работы во всех основных режимах: решения сложной задачи, обслуживания потоков задач, обработки наборов задач, реализации функций вычислительной сети.
  2. Кластерные ВС представляют собой разновидность мультипроцессорных систем, описание архитектурных возможностей, которых в полной мере показывает слово кластер (Cluster группа). Термин «вычислительный кластер» был впервые введен DEC (Digital Equipment Corporation). По определению DEC, кластер это группа компьютеров, которые связаны между собой и функционируют как единое средство обработки информации. Из приведенного определения видно, что корпорация DEC, по сути, ввела синоним термину «вычислительная система», a не особый тип средств обработки информации. для создания кластерных ВС используются и MISD-, и SIMD-, и МIМD-архитектуры, различные функциональные структуры и конструктивные решения. B наиболее общем описании кластерная ВС, или кластер, это композиция множества вычислителей, сети связей между ними и программного обеспечения, предназначенная для параллельной обработки информации (в частности, реализации параллельных алгоритмов решения сложных задач). Для формирования кластерной ВС могут быть использованы стандартные промышленные компоненты или специально созданные средства.
  3. К пространственно-распределенным ВС относят макросистемы - системы сложной конфигурации, имеющие пространственно-распределенные вычислительные средства в качестве функциональных элементов, которые основаны на моделях вычислителя и коллектива вычислителей, а также сети связи.

1.2. Вычислительные системы с программируемой структурой

Под ВС c программируемой структурой понимается совокупность элементарных машин, функциональное взаимодействие между которыми осуществляется через сеть связи, которая настраивается программно.

Основная функционально - структурная составляющая системы данного класса - элементарная машина (ЭМ), которая представляет собой композицию из вычислительного модуля и системного устройства. Вычислительный модуль (ВМ) необходим для хранения и переработки информации, а также для выполнения функции управления всей системой. Системное устройство (СУ) является аппаратной частью ЭМ и предназначена для обеспечения взаимодействия данной ЭМ с ближайшими соседними машинами (с системными устройствами, с которыми имеется связь).

Системы с программируемой структурой предназначены для решения задач разнообразной сложности (объем вычислителей может быть произвольным) как моно-, так и в мультипрограммных режимах. Так же они могут использоваться как вычислительные средства общего назначения и программно-ориентированного. Эксплуатация возможна автономно или в составе сложной системы.

Структура ВС представляется графом G = (C,E), множеству вершин С которого соответствуют элементарные машины или системные устройства, а множеству ребер Е - линии межмашинных связей.

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

  1. Простота вложения параллельного алгоритма решения сложной задачи в структуру ВС, которая должна быть подходить достаточно широкому классу решаемых задач. Настройка виртуальных проблемно-ориентированных конфигураций, а также реализация основных схем обмена информацией между ЭМ не должны зависеть от накладных расходов.
  2. Удобство адресации ЭМ и переноса подсистем в пределах ВС. Данная ВС должна позволять пользователю реализовывать параллельные программы с виртуальными адресациями ЭМ. Структура вычислительных систем должна предоставлять возможность создавать механизм преобразования виртуальных адресов ЭМ в физические адреса ВС. В случае выполнения перечисленных требований будет достигнута эффективность ВС при работе в моно- и мультипрограммных режимах.
  3. Реализация минимума задержек и принципа близкодействия при передачах информации от одной машины к другой в ВС. Принцип близкодействия представляет собой реализацию обменов информацией между ЭМ, которые удалены друг от друга, через промежуточные машины системы. Из этого можно сделать вывод, что в условиях ограниченного числа связей у каждой ЭМ структура будет выдавать минимум задержек при транзитных передачах информации.
  4. Масштабируемость и большемасштабируемость структуры ВС. Для выполнения этого требования необходимо, чтобы структура имела возможность наращивания и сокращения числа вершин. Изменение числа ЭМ в ВС не должно приводить к коренным перекоммутациям между машинами и необходимости изменения числа связей для любых ЭМ. Чтобы достигнуть высокой производительности ВС требуется количество ЭМ в размере 10-106. Для работоспособности большемасштабности необходимо, чтобы структура ВС обладала способностью эффективно осуществлять межмашинные обмены информацией в условиях невозможности реализации связей по полному графу.
  5. Коммутируемость структуры ВС. Структура вычислительной системы должна иметь возможность поддерживать заданное число одновременно непересекающихся и взаимодействующих между элементарных машин.
  6. Живучесть структуры ВС. Одним из самых важных требований к ВС является обеспечение работоспособности при отказе ее компонентов или даже самой подсистемы. Способность структуры ВС обеспечить связь между работоспособными ЭМ в системе при ненадежных линиях межмашинных связей и называется живучестью ВС.
  7. Технологичность структуры ВС. Система должны быть восприимчива к массовой технологии.

Ранее было описано, что структура ВС представляет собой граф G. Структурные задержки в случае передачи информации между машинами ВС определяются расстоянием (теория графов) между вершинами структуры, сопоставленными взаимодействующим машинам [1,11,12]. Для оценки структурных задержек в ВС используют диаметр d и средний диаметр структуры d. Диаметр — это максимальное расстояние, которое определено на множестве кратчайших путей между парами вершин структуры ВС:

d = max{dij},

средний диаметр определяется

d = (N — 1)-1'Zf=1lnl,

где dij - расстояние или минимальное число ребер, которые образуют путь из вершины i в вершину j; i,j £ {0,1,..., N — 1}; т - число вершин, которые находятся на расстоянии l от любой выделенной вершины графа G.

Для оценки структурной коммутируемости ВС, используется векторфункция

K(G,s,s,) = {Kh(G>s>s,)}> {1,2,., [N/2]},

в которой координата Kh(G, s, s,) - вероятность реализации, в которой заданы структура G и коэффициенты готовности s, s, ЭМ, а также линии связи h.

Структурная живучесть ВС оценивается вектор-функцией:

L(G,s,s,) = {Lr(G,s,s,)}, r£E? {2,3,...,N},

Здесь - вероятность существования подсистемы ранга r (подмножество из r работоспособных ЭМ, связность которых устанавливается через работоспособные линии связи) при заданных соответственно структуре G и коэффициентах готовности s, s, ЭМ, линии связи.

Введённые показатели позволяют произвести анализ структурных возможностей ВС с достаточной полнотой.

Однородные структуры удовлетворяют требованиям, которые перечислены выше [1, 11, 12, 13, 14]. Подобные структуры являются перспективными для формирования масштабируемых и большемасштабных вычислительных систем.

В компьютерной индустрии распространение получили «мерные структуры вычислительных систем, которые называют циркулянтные ВС (Circulant Srnctures). Впервые они были определены и исследованы в Отделе вычислительных систем Института математики СО АН СССР в начале 1970-х годов и назывались ^-графами [1, 11, 12]. По определению Ли-граф, или циркулянтная структура, есть граф G вида: [N; ш1, ш2,..., ып], в котором:

  • N - число вершин или порядо графа;
  • вершины, которые помечены целыми числами i по модулю N, из этого следует i £ {0,1,..., N — 1};
  • вершина i соединена ребром с вершинами i ± w1,i ± ш2,...,1 ± <vn(mod N);
  • 12,.,шп} - множество целых чисел, которые называются образующими
  • « - размерность графа;
  • 2« - степень вершины в графе.

В качестве примера представим Л-граф (рисунок 2) или двумерный циркулянт.

C:\Users\femid\AppData\Local\Temp\FineReader12.00\media\image2.jpeg

Рисунок 2 - D-граф

Графы Gвида {N; 1, ш2,..., ып}, т.е. Ли-графы или циркулянты с единичной образующей (Loop Networks - петлевые структуры) усиленно изучаются в настоящее время. Циркулянтные структуры {N; 1, ы2} широко внедрены в практику вычислительных систем.

Целые числа i£ {0,1, ...,N — 1}, отмечающие вершины Диграфа, называют адресами. Адресация вершин в таких структурах называется диофантовой. B циркулянтных структурах при полном переносе какой-либо подструктуры будут сохранены все ее свойства и адресация вершин. Из этого следует, что при диофантовой адресации ЭМ вычислительной системы можно осуществить виртуальную адресацию вершин-машин простыми средствами реконфигурации и есть возможность:

  1. создавать отказоустойчивые параллельные программы, которые не ориентированы на физические номера машин;
  2. реализовывать мультипрограммные режимы обработки информации;
  3. исключать отказавшие вершины-машины из подсистем и обеспечить живучесть ВС.

В качестве структур вычислительных систем, которые допускают масштабирование без коренной перекоммутации уже существующих межмашинных связей, используются Л, v, gj-графы. В такие графы вкладываются Ли-графы, а Л, v, gj-граф - это неориентированный однородный граф с числом и степенми вершин N и v, а также значением обхвата g.

В Л(N, v, g) - графах каждая вершина при v > 3 вмещает в не менее v кратчайших простых циклов длиной g (длина кратчайшего цикл в графе называется обхватом). При v = 2 Л(N, v, gj-граф выступает простым циклом с N вершинами.

ГЛАВА 2. ОТДЕЛЬНЫЕ ВИДЫ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ

2.1. Кластерные вычислительные системы

Кластерные вычислительные системы являются разновидностью мультипроцессорных систем, описание которых вытекает из слова кластер (Cluster группа). Они получили широкое распространение уже в 90-x годах ХХ в.

Кластер - группа взаимно соединенных вычислительных систем (узлов), которые работают совместно и составляют единый вычислительный ресурс, при этом создавая иллюзию наличия единственной вычислительной машины. Для связи узлов применяется одна из стандартных сетевых технологий (Fast/Gigabit Ethernet, Myrinet) на базе шинной архитектуры или коммутатора. Примеры кластерных вычислительных систем: NT-кластер в NCSA, Beowulf-кластеры.

Термин «вычислительный кластер» был впервые введен DEC (Digital Equipment Corporation). По определению DEC, кластер это группа компьютеров, которые связаны между собой и функционируют как единое средство обработки информации. Для создания кластерных ВС используются и MISD-, и SIMD-, и MIMD-архитектуры, различные функциональные структуры и конструктивные решения.

B общей трактовке кластерная ВС является композиция множества вычислителей, сетей связи между ними и программного обеспечения, предназначенных для параллельной обработки информации. При создании кластерной вычислительной системы могут быть применены стандартные промышленные компоненты и специально созданные средства. Однако в кластерных ВС преобладают массовые аппаратурно-программные средства. Это является принципом конструирования кластерных ВС, обеспечивающим их высокую технико-экономическую эффективность.

В создании вычислительных систем одно из самых современных направлений это кластеризация.

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

Архитектура кластерных систем очень похожа на архитектуру МРР- систем. Система с массовой параллельной обработкой (МРР, Massively Parallel Processing) - система, состоящая из однородных вычислительных узлов, которые обладают всеми средствами для независимого функционирования. В MPP- архитектуре выполнена модель распределенной памяти.

Системы с массовой параллельной обработкой появились - из-за необходимости осуществления вычислительных систем с гигантской производительностью и стремления раздвинуть границы производства ВС в большом диапазоне производительности, а также стоимости. В МРР-системы количество вычислительных узлов может варьироваться в широких пределах, всегда есть возможность подобрать конфигурацию с заранее заданными финансовыми вложениями и вычислительной мощностью. МРР-система состоит из множества однородных вычислительных узлов, число которых исчисляется тысячами. Один узел включает в себя полный комплекс устройств, необходимых для самостоятельного функционирования (процессор, память, подсистему ввода/вывода, коммуникационное оборудование), то есть, является полноценной вычислительной машиной. Узлы соединены коммуникационной сетью с малыми задержками и высокой пропускной способностью.

Процесс работы узлов кластерных вычислительных систем координирует главная управляющая вычислительная машина (хост-компьютер). Ей может служить отдельная ВМ или один из узлов системы.

В случае, когда система содержит выделенный хост-компьютер, то имеющаяся операционная система (ОС) функционирует только на нем, а на узлы устанавливается урезанный вариант, который поддерживает лишь функции ядра ОС. Если отсутствует главная ВМ, то полноценная ОС устанавливается на каждый узел МРР-системы. Таким образом, каждый узел работает под управлением собственной операционной системы.

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

В роли узла кластера может выступать однопроцессорная ВМ и ВС типа SMP (логически SMP-система реализованная как единственная ВМ). Одна из особенностей кластерной архитектуры состоит в том, что в одну систему соединяются узлы разного типа, от персональных компьютеров до мощных ВС. Кластерные системы с одинаковыми узлами называют гомогенными кластерами, а с разнотипными узлами - гетерогенными кластерами.

Взаимодействие между вычислительными машинами происходит в соответствии с одним из двух транспортных протоколов: TCP (Transmission Control Protocol), оперирует потоками байтов, гарантируя надежность доставки сообщения; UDP (User Datagram Protocol) посылает пакеты данных без гарантии доставки.

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

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

Узлы подключаются к сети с помощью сетевых адаптеров. Для связи ядра вычислительного узла с сетью применяется шина ввода/вывода. К шине подключаются локальные магнитные диски. Объединение элементы вычислительного ядра происходит благодаря локальной системной шины. Связь между шиной и шиной ввода/ вывода реализует мост.

Важной частью кластера является специализированное программное обеспечение (ПО), которое организует бесперебойную работу при отказе одного или нескольких узлов. Такое программное обеспечение установлено на каждый узел кластера и реализует механизм передачи сообщений над стандартными сетевыми протоколами, также может являться операционной системой. Именно с помощью специализированного ПО группа вычислительных машин, объединенных сетью, превращается в кластерную вычислительную систему. Благодаря кластерному ПО происходит перераспределение вычислительной нагрузки при отказе одного или нескольких узлов кластера и восстанавление вычисления при сбое в узле. Программное обеспечение каждого узла постоянно проверяет работоспособность всех узлов. Такой контроль основан на периодической рассылке каждым узлом сигнала, известного как keepalive («пока жив») или heartbeat («сердцебиение»). Если сигнал нет ответа от одного из узлов, то этот узел считается вышедшим из строя; возможность выполнения ввода/ вывода, его диски и другие ресурсы (включая сетевые адреса) перераспределяются между другими узлами, а программы, которые выполнялись, перезапускаются в других узлах. При наличии в кластере совместно используемых дисков, кластерное ПО поддерживает единую файловую систему.

В каждом кластере выполняется высокий уровень доступности -нет единой операционной системы и совместно используемой памяти, то есть отсутствуют проблемы когерентности кэшей [5].

При реализации кластерных систем используется один из двух подходов:

  1. применяется для построения небольших кластерных систем, например, на базе небольших локальных сетей организаций или их подразделений. В таком кластере каждая ВМ продолжает работать как самостоятельная единица, одновременно выполняя функции узла кластерной системы;
  2. ориентирован на использование кластерной системы в роли мощного вычислительного ресурса. Узлами кластера служат только системные блоки вычислительных машин, компактно размещаемые в специальных стойках. Управление системой и запуск задач осуществляет полнофункциональный хосткомпьютер. Он же поддерживает дисковую подсистему кластера и разнообразное периферийное оборудование. Отсутствие у узлов собственной периферии существенно удешевляет систему.

Масштабирование кластеров происходит путем добавления узлов, что позволяет достичь высочайших показателей производительности. Благодаря этой особенности архитектуры кластеры с сотнями и тысячами узлов положительно зарекомендовали себя на практике. До недавнего времени именно кластерная ВС занимала первую позицию в этом списке самых производительных систем. Речь идет о кластерной системе Roadrnnner BladeCenter QS22, созданной компанией IBM. Теоретическая пиковая производительность системы составляет 1376 TFLOPS, состоит она из 122..400 узлов на базе процессоров Opteron и PowerXCell.

Четыре преимущества, достигаемые с помощью кластеризации:

  1. Абсолютная масштабируемость - создание больших кластеров, которые превосходят по вычислительной мощности самые производительные одиночные вычислительные машины. Один такой кластер в состоянии содержать десятки узлов, каждый из которых представляет собой мультипроцессор.
  2. Наращиваемая масштабируемость - когда кластер создается так, что его можно наращивать, добавляя новые узлы маленькими порциями, так что бы пользователь мог начать с умеренной системы, расширяя ее по мере необходимости.
  3. Высокий коэффициент готовности - в случае, когда каждый узел кластера является самостоятельной ВМ или ВС, отказ одного из узлов не создает потерю работоспособности кластера. Во многих системах отказоустойчивость автоматически поддерживается программным обеспечением.
  4. Превосходное соотношение цена/производительность - кластер любой производительности можно создать, соединяя стандартные «строительные блоки», при этом его стоимость будет ниже, чем у одиночной ВМ с эквивалентной вычислительной мощностью.

2.2. Пространственно-распределенные вычислительные системы

Вычислительные системы с программируемой структурой данных относятся к пространственно-распределенным средствам как в архитектурном, так и в функциональном плане. Ресурсы в системах представляют собой множество модулей, соответствующих друг другу [4].

Класс систем с программируемой структурой имеет подклассы:

  • пространственно-сосредоточенные ВС - компактно размещены средства обработки и хранения информации в пространстве. Отсутствуют линии связи, которые вносят задержку в работу любой ВС, нет жестких ограничений как на топологию сети связи, так и на возможность параллельной передачи информации между несколькими функциональными модулями. Среднее время передачи одного слова между функциональными модулями примерно равно среднему временем выполнения одной операции в процессоре.
  • пространственно-распределенные ВС - макро-коллектив пространственно удаленных друг от друга сосредоточенных ВС, которые взаимодействуют между собой через локальные и глобальные сети (к примеру, всемирная сеть Internet).

Архитектура вычислительных систем, описанных выше, основана на принципах:

  • параллельность функционирования сосредоточенных ВС (т.е. несколько или все сосредоточенные системы совместно и одновременно имеют возможность решать одну сложную задачу, которая представлена параллельной программой);
  • программируемость структуры (т.е. возможно автоматически настраивать сеть связи между сосредоточенными вычислительными системами);
  • гомогенность состава (т.е. происходит совмещение программной и информационной части сосредоточенных систем).

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

Взаимодействиями между сосредоточенными вычислительными система, которые входят в состав распределенной системы, происходит через сеть связи. В такую сеть связи включаются системные устройства, которые распределены по сосредоточенным ВС и каналы [22].

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

Простым вариантом в реализации сосредоточенной ВС может выступать ЭМ, соответственно, совокупность однотипных ЭМ, соединённых между собой, является простейшим вариантом распределенной ВС. В таком случае в состав ЭМ входят однотипные системные устройства.

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

В распределенных ВС возможно реализовать два режима работы: первый это стандартный режим, характерный для вычислительных сетей; второй это режим решения общей сложной задачи. Задача представляет собой параллельную программу, при этом каждая макро-ветвь создается на своей сосредоточенной ВС (или ЭВМ). Для распределенных ВС решение одной сложной задачи выполняется в режиме группового обмена информацией между абонентами (машины-машины, машины-пользователь) [2].

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

На производительность распределенных ВС (при создании параллельных программ сложных задач) влияют как скорость передачи информации в каналах, так и запаздывание сигналов при передаче информации из одной сосредоточенной ВС (в простейшем варианте системы из одной ЭМ) в другую. Решением этой проблемы является совмещение счета с обменом информацией и применение в полной мере методики крупноблочного распараллеливания сложных задач.

C:\Users\femid\AppData\Local\Temp\FineReader12.00\media\image4.jpeg

Рисунок 4 - Пространственно-распределённая ВС

Пространственно-распределенная ВС представлена на рисунке 4, которая состоит из N сосредоточенных вычислительных систем - подсистемами. Одна подсистема имеет выделенный узел с установленной системой управления ресурсами или системой пакетной обработки заданий, которая отвечает за выделение ресурсов, поддержку очередей задач и планирование решения задач.

2.3. Сложные вычислительные системы

Сложной системой называют совокупность, включающую множество частей, элементов, ресурсов, связей и отношений, имеющих структуру и образующих целостность и единство. Сложные системы в основном касаются поведения и свойств систем. Сложная система всегда определяется в терминах ее границы, которую определяет граничные сущности. Эти сущности являются или не являются частью системы. Объекты, лежащие вне системы, затем становятся частью внешней среды. Система может демонстрировать особые свойства, которые создают поведение, отличное от свойств и поведения его частей эти свойства называют эмерд- жентностью. Во многих сложных системах свойство эмерджентности присутствует. Общесистемные свойства и поведение системы являются характеристиками того, как система взаимодействует с окружающей средой или появляется в ней, или о том, как ее части ведут себя (например, в ответ на внешние воздействия) благодаря наличию внутри системы связей. Понятие поведения системы подразумевает, что функционирование систем также связано с процессами, которые происходят со временем (или, в математике, некоторой другой параметризацией фазового пространства). Из-за их широкой междисциплинарной применимости системные концепции играют центральную роль в сложных системах. В качестве области изучения сложные системы являются подмножеством теории систем. Общая теория систем фокусируется также на коллективном поведении взаимодействующих объектов, но она изучает гораздо более широкий класс систем, включая не сложные системы, где традиционные редукционистские подходы могут оставаться жизнеспособными. Действительно, теория систем стремится исследовать и описывать все классы систем, а изобретение категорий, полезных для исследователей в самых разных областях, является одной из основных целей теории систем. Что касается сложных систем, теория систем вносит свой вклад в то, как отношения и зависимости между частями системы могут определять общесистемные свойства. Он также вносит вклад в междисциплинарную перспективу изучения сложных систем: понятие о том, что общие свойства связывают системы по дисциплинам, оправдывая стремление к подходам моделирования, применимым к сложным системам, где бы они ни появлялись. Конкретные концепции, важные для сложных систем, такие как возникновение, петли обратной связи и адаптация, также возникают в теории систем.

При рассмотрении сложной системы возникают три проблемы: проблема оценки сложности как понятия, проблема оценки сложности системы, проблема выбора критериев, на основе которых оценивают сложность систем. Последняя проблема обусловлена тем, что некоторые виды сложности с течением времени меняют критерии, То, что было сложно 30 лет назад уже не сложно в настоящее время. Сложные системы имеют свойство эмерджентности, не присущее частям системы. Использование понятия «сложная система» помогает познавать процессы природы и общества. Понятие система помогает выявлять объективные законы и закономерности. Понятие система помогает использовать выявленные законы и закономерности для решения практических задач и объяснения окружающего мира. Системное описание позволяет сравнивать разные системы.

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

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

Пока не существует общепринятого точного определения сложности, существует множество архетипических примеров сложности. Системы могут быть сложными, если, например, они имеют хаотическое поведение или реактивное поведение. Реактивное поведение - это поведение, которое проявляет исключительную чувствительность к внешним условиям. Хаотическое поведение возникает, если системы имеют возникающие свойства, которые являются следствием большого количества отношений и зависимостей, и которые слишком быстро растут относительно размера системы.

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

Дополнительно сети часто описывают сложность в сложных вычислительных системах. Таким образом, изучение сложных вычислительных систем (СВС) как сетевых структур позволяет использовать теорию графов и топологию для анализа алгоритмов и СВС. Например, некоторые СВС также являются сложными сетями и обладают такими свойствами, как степенные распределения узлов, которые легко поддаются анализу. Тот факт, что число ребер в полном графе растет квадратично по числу вершин, проливает дополнительный свет на источник сложности в больших сетях: по мере роста сети количество отношений между объектами резко завышает сложность в сети СВС.

Сложные вычислительные системы могут иметь нелинейное поведение, то есть они могут реагировать по-разному на один и тот же вход в зависимости от своего состояния или контекста. Это обусловлено большим количеством циклических звеньев, которые создают неустойчивость и паразитические связи. В связи с этим особую ценность приобретают ациклические алгоритмы как средство снижения сложности вычислений.

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

Особый интерес для описания сложных вычислительных систем представляют нелинейные динамические уравнения, которые имеют один или несколько нелинейных членов. Некоторые нелинейные динамические системы, такие как система Лоренца, могут создавать математическое явление, известное как хаос. Применительно к вычислениям это понятие обозначает ошибку или фоновый шум. Шум сложных вычислительных систем обусловлен чувствительной зависимостью от начальных условий или «эффекта бабочки», которые могут появляться в сложных системах. В такой СВС небольшие изменения в начальных условиях могут привести к совершенно разным результатам. Поэтому хаотическое (шумовое) поведение может быть чрезвычайно сложным для численного моделирования, поскольку небольшие ошибки округления на промежуточной стадии вычисления могут привести к тому, что модель будет генерировать полностью неточный результат. Более того, если сложная вычислительная система возвращается в состояние, подобное тому, которое оно проводило ранее, оно может вести себя совершенно по-разному в ответ на точно такие же стимулы, поэтому шум также создает проблемы для экстраполяции из прошлого опыта. В математике, возможно, самым большим вкладом в изучение сложных вычислительных систем было обнаружение шума в алгоритмических системах, сильно связанных с нелинейностью [9].

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

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

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

1. Достижимость оптимальности: любая предполагаемая оптимальность должна достижима. Недостижимая оптимальность не имеет значения для члена в упорядоченной системе и даже для самой упорядоченной системы.

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

3. Условность: реализуемый компромисс между достижимостью и оптимальностью зависит, прежде всего, от начальной емкости пака и того, как развивается способность ставки вместе с маршрутом обновления таблицы выигрыша, вызванным поведением ставок, и наделяется основополагающим законом вознаграждения и наказания. Именно, это последовательность условных событий, когда следующее событие происходит после достижения статус-кво из пути опыта.

4. Надежность. Чем более сложной может быть достигнутая оптимальность, тем более надежной она является с точки зрения целостности пути.

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

1. Оптимальный выбор (Optimal Choice): вычисление при реализации Оптимального выбора может быть очень простым или очень сложным. Простое правило в «Оптимальном выборе» - это принять все, что достигнуто, «Награда как вы идете» (Reward As You Go - RAYG). Расчет по достижимой оптимальности сводится к оптимизации достижимости при использовании RAYG. Вычисление Optimal Choice может быть более сложным, если в достигнутой игре присутствует несколько стратегий.

2. Первоначальный статус (Initial Status): предполагается, что вычисление начинается с заинтересованного начала, даже абсолютное начало упорядоченной системы в природе может и не должно быть. Предполагаемый нейтральный исходный статус облегчает искусственное или симулирующее вычисление и, как ожидается, не изменит распространенность каких-либо результатов.

3. Территория (Territory): У упорядоченной системы должна быть территория, на которой универсальное вычисление, спонсируемое системой, создаст оптимальное решение, все еще находящееся на территории.

4. Достижение шаблона (Reaching Pattern). Формы «Образцового шаблона» в пространстве вычислений или «Оптимизационный образ» в пространстве вычислений в первую очередь зависят от природы и размеров пространства измерений, лежащих в основе вычислительного пространства, и закона наказания и вознаграждения, лежащего в основе реализованного Испытать путь достижения. Существует пять основных форм пути опыта, на которые мы заинтересованы, настойчиво позитивный путь опыта укрепления, постоянный негативный путь опыта укрепления, смешанный устойчивый путь опыта, разлагающийся путь опыта и путь выбора опыта.

Составное вычисление в пути выбора опыта включает в себя текущее и отстающее взаимодействие, динамическое топологическое преобразование и подразумевает как характеристики инвариантности, так и дисперсии в пути опыта упорядоченной системы.

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

Сложные вычислительные системы являются новым направлением в теории вычислений. Их преимущество в том, что они позволяют решать задачи с наборами алгоритмов или прерыванием маршрутов. Их преимущество в том, что они создают основу для интеллектуальной обработки. По мере накопления опыта действия СВС могут заменяться на системы искусственного интеллекта (СИИ). При полной замене действий СВС на правила СИИ обработка становится интеллектуальной. Недостатком сложных сетевых вычислений является множественность решений, которая требует дополнительного анализа. Недостатком сложных сетевых вычислений является зависимость качества и времени решения от информационного ресурса для вычислительных процессов. В этом отношении они напоминают игру в шахматы лиц с разным уровнем опыта и интеллекта. Условием применения СВС является наличие базы возможных маршрутов и правил перехода между этими маршрутами. Это направление является перспективным, особенно в условиях больших данных.

ЗАКЛЮЧЕНИЕ

Вычислительные системы, как мощные средства обработки заданий пользователей, широко используются не только автономно, но и в сетях ЭВМ в качестве серверов. С увеличением размеров сетей и их развитием возрастают плотности информационных потоков, нагрузка на средства доступа к сетевым ресурсам и на средства обработки заданий. Круг задач, решаемый серверами, постоянно расширяется, становится многообразным и сложным. Чем выше ранг сети, тем более специализированными они становятся. Администраторы сетей должны постоянно наращивать их мощь и количество, оптимизируя характеристики сети под возрастающие запросы пользователей. Управление вычислительными процессами в ВС осуществляют операционные системы, которые являются частью общего программного обеспечения.

В состав ОС включают как программы централизованного управления ресурсами системы, так и программы автономного использования вычислительных модулей. Последнее условие необходимо, поскольку в ВС обычно предусматривается более высокая надежность функционирования, например требование сохранения работоспособности при наличии в ней хотя бы одного исправного модуля. Требование увеличения производительности также предполагает возможность параллельной и даже автономной работы модулей при обработке отдельных заданий или пакетов заданий. В зависимости от структурной организации ВС можно выявить некоторые особенности построения их операционных систем.

Операционные системы многомашинных ВС являются более простыми. Обычно они создаются как надстройка автономных ОС отдельных ЭВМ, поскольку здесь каждая ЭВМ имеет большую автономию в использовании ресурсов (своя оперативная и внешняя память, свой обособленный состав внешних устройств и т.д.). В них широко используются программные методы локального (в пределах вычислительного центра) и дистанционного (сетевая обработка) комплексирования. Общим для построения ОС многомашинных комплексов служит тот факт, что для каждой машины ВС другие машины играют роль некоторых внешних устройств, и их взаимодействие осуществляется по интерфейсам, имеющим унифицированное программное обеспечение. Все обмены данными между ЭВМ должны предусматриваться пользователями путем включения в программы специальных операторов распараллеливания вычислений. По этим обращениям ОС ВС включает особые программы управления обменом. При этом ОС должна обеспечивать распределение и последующую пересылку заданий или их частей, оформляя их в виде самостоятельных заданий. Такие ОС, организуя обмен, должны формировать и устанавливать связи, контролировать процессы обмена, строить очереди запросов, решать конфликтные ситуации.

СПИСОК ИСТОЧНИКОВ

1. Хорошевский В. Г. Распределённые вычислительные системы с программируемой структурой // Вестник СибГУТИ. 2010. №2 (10). С. 3-41.

2. Herlihy M., Shavit N. The Art of Multiprocessor Programming, Revised Reprint. Elsevier, 2012.

3. Herlihy M., Moss J. E. B. Transactional memory: Architectural support for lock- free data structures. - ACM, 1993. Т. 21. №. 2. С. 289-300.

4. Y. Oyama, K. Taura, and A. Yonezawa. Executing parallel programs with synchronization bottlenecks efficiently // Proceedings of the International Workshop on Parallel and Distributed Computing for Symbolic and Irregular Applications, PDSIA ’99. 1999. P. 1-24.

5. Mellor-Crummey J. M., Scott M. L. Algorithms for scalable synchronization on shared-memory multiprocessors //ACM Transactions on Computer Systems (TOCS). 1991. V. 9. №. 1. P. 21-65.

6. Fatourou P., Kallimanis N. D. Revisiting the combining synchronization technique //ACM SIGPLAN Notices. ACM, 2012. Т. 47. №. 8. P. 257-266.

7. Hendler D. et al. Flat combining and the synchronization-parallelism tradeoff // Proceedings of the twenty-second annual ACM symposium on Parallelism in algorithms and architectures. ACM, 2010. P. 355-364.

8. Lozi J. P. et al. Remote Core Locking: Migrating Critical-Section Execution to Improve the Performance of Multithreaded Applications // USENIX Annual Technical Conference. 2012. P. 65-76.

9. Shavit N. Data structures in the multicore age //Communications of the ACM. 2011. Т. 54. №. 3. P. 76-84.

10. Бурцев, В. С. Параллелизм вычислительных процессов и развитие архитектур суперЭВМ / В. С. Бурцев. - М. : ИВВС РАН, 1997. - 352 с.

11. Хорошевский, В. Г. Распределённые вычислительные системы с программируемой структурой / В. Г. Хорошевский // Вестник СибГУТИ. - 2010. - № 2 (10). - С. 3-41.

12. Монахов, О. Г. Параллельные системы с распределенной памятью: структуры и организация взаимодействий / О. Г. Монахов, Э. А. Монахова. - Новосибирск : Изд-во СО РАН, 2000. - 242 с.

13. Монахов, О. Г. Параллельные системы с распределенной памятью: управление ресурсами и заданиями / О. Г. Монахов, Э. А. Монахова. - Новосибирск : Изд-во ИВМиМГ СО РАН, 2001. - 168 с.