Введение
Вычислительные машины за свою полувековую историю прошли стремительный и впечатляющий путь, отмеченный частыми сменами поколений ЭВМ. В этом процессе развития можно выявить целый ряд закономерностей:
1. весь период развития средств электронной вычислительной техники отмечен доминирующей ролью классической структуры ЭВМ (структуры фон Неймана), основанной на методах последовательных вычислений;
2. основным направлением совершенствования ЭВМ является неуклонный рост производительности (быстродействия) и интеллектуальности вычислительных средств;
3. совершенствование ЭВМ осуществлялось в комплексе (элементно-конструкторская база, структурно-аппаратные решения, системно-программный и пользовательский, алгоритмический уровни);
4. в настоящее время наметился кризис классической структуры ЭВМ, связанный с исчерпанием всех основных идей последовательного счета. Возможности микроэлектроники также не безграничны, давление пределов ощутимо и здесь [1].
Под вычислительной системой (ВС) будем понимать совокупность взаимосвязанных и взаимодействующих процессоров или ЭВМ, периферийного оборудования и программного обеспечения, предназначенную для сбора, хранения, обработки и распределения информации.
Сложные вычислительные системы, как правило, состоят из большого числа элементов, выполняющих различные функции. Получение модели достаточно простого вида для таких систем чаще всего невозможно. Поэтому в этом случае модель системы строят по модульному принципу, т.е. систему представляют состоящей из элементов, блоков и подсистем. Каждая система может быть разделена на подсистемы, а подсистемы — на блоки, а блоки – на элементы. Таким образом, модель функционально подразделяется на подмодели. Общая идея модели отображается в виде логической структурной схемы системы.
Многомашинные вычислительные системы
Вычислительные системы можно разделить на два класса: многомашинные и многопроцессорные вычислительные системы. В нашем случае рассматривается первый вариант.
Итак, многомашинная вычислительная система — это система, содержащая несколько одинаковых или различных, относительно самостоятельных ЭВМ, каждая из которых имеет свою основную память и работает под управлением своей операционной системы, а также средства обмена информацией между машинами (рис. 1).
Рисунок 1 - Пример технической структуры машинной вычислительной системы
Многомашинные вычислительные системы представляют собой логическое следствие эволюции двух общих тенденций, действующих в области конструирования вычислительных машин: стремления к модульной конструкции и организации одновременной (параллельной) работы различных устройств машины. Эти две тенденции и привели к перерастанию системы модулей отдельной ЭВМ в систему самостоятельных вычислительных средств, которые могут выполнять одновременно различные части одной большой задачи или различные задачи одной системы [2].
Разработка имитационных моделей процессорной обработки в многомашинных вычислительных системах проводится с учетом следующей особенности этих систем. При многомашинной обработке каждый центральный процессор (ЦП) может выполнять только те задачи, которые находятся в соответствующем модуле оперативной памяти, доступном только данному процессору (рис. 2). Такие системы называются системами с индивидуальной памятью. Полагая, что в процессе решения задач отсутствует обмен с внешними устройствами, модель процессорной обработки может быть представлена в виде совокупности одноканальных систем массового обслуживания (СМО), число которых равно числу вычислительных машин (ВМ), т.е. числу ЦП (рис. 3).
Рисунок 2 - Пример многомашинной обработки
Рисунок 3 - Модель многомашинной обработки
Разговор о системах массового обслуживания имеет место быть, поскольку ход вычислительного процесса в них протекает практически аналогично, что и в нашей системе. Рассмотрим несколько терминов, применимых к таким системам.
В исследуемой модели, объекты, поступающие на обработку, носят название «заданий». Если требования в систему поступают «слишком часто», то им нужно ожидать обработку. Ожидающие обработки задания образуют очередь. Очередь хранится в памяти ЭВМ. Совокупность правил, пользуясь которыми из очереди выбирают требования для обработки, называется дисциплиной обработки. Устройство или средство, способное в любой момент времени обрабатывать лишь одно задание, называется каналом. Если обработка производится поэтапно некоторой последовательностью каналов, то такую систему обработки называют многофазной. При наличии нескольких каналов для одновременного обслуживания требований говорят о многоканальной, в нашем случае многомашинной, системе.
Принципы организации, построения и управления работой таких систем
В многомашинных вычислительных системах каждый компьютер работает под управлением своей операционной системы (ОС). А поскольку обмен информацией между машинами выполняется под управлением ОС, взаимодействующих друг с другом, динамические характеристики процедур обмена несколько ухудшаются (требуется время на согласование работы самих ОС). Информационное взаимодействие компьютеров в многомашинной вычислительной системе может быть организовано на уровне:
1. процессоров;
2. оперативной памяти (ОП);
3. каналов связи.
При непосредственном взаимодействии процессоров друг с другом информационная связь реализуется через регистры процессорной памяти и требует наличия в ОС весьма сложных специальных программ. Взаимодействие на уровне ОП сводится к программной реализации общего поля оперативной памяти, что несколько проще, но также требует существенной модификации ОС. На уровне каналов связи взаимодействие организуется наиболее просто, и может быть достигнуто внешними по отношению к операционной системе программами-драйверами, обеспечивающими доступ от каналов связи одной машины к внешним устройствам других (формируется общее поле внешней памяти и общий доступ к устройствам ввода-вывода). Ввиду сложности организации информационного взаимодействия на 1-м и 2-м уровнях в большинстве многомашинных ВС используется 3-й уровень, хотя и динамические характеристики (в первую очередь быстродействие), и показатели надежности таких систем существенно ниже [3].
Организация ВМС в нашем случае основывается на архитектуре ОКМД (одиночный поток команд - множественный поток данных (ОКМД), или Single Instruction Multiple Data (SIMD) — одиночный поток инструкций - одиночный поток данных). Архитектура ОКМД предполагает создание структур векторной или матричной обработки. Системы этого типа обычно строятся как однородные, т.е. процессорные, элементы, входящие в систему, идентичны, и все они управляются одной и той же последовательностью команд. Однако каждый процессор обрабатывает свой поток данных. Под эту схему хорошо подходят задачи обработки матриц или векторов (массивов), задачи решения систем линейных и нелинейных, алгебраических и дифференциальных уравнений, задачи теории поля и др. В структурах данной архитектуры желательно обеспечивать соединения между процессорами, соответствующие реализуемым математическим зависимостям [4]. Как правило, эти связи напоминают матрицу, в которой каждый процессорный элемент связан с соседними элементами (рис. 4).
Рисунок 4 - Структурная схема архитектуры ОКМД
Одним из преимуществ данной архитектуры считается то, что в этом случае более эффективно реализована логика вычислений. До половины логических инструкций обычного процессора связано с управлением выполнением машинных команд, а остальная их часть относится к работе с внутренней памятью процессора и выполнению арифметических операций. В SIMD - компьютере управление выполняется контроллером, а «арифметика» отдана процессорным элементам.
Классификация многомашинных вычислительных систем
Многомашинные системы позволяют достичь высокой производительности решения потока независимых задач за счет параллельной организации вычисленных процессов.
По составу ЭВМ и выполняемых ими функций многомашинные вычислительные системы делятся на два класса:
1. однородные;
2. неоднородные.
Однородные многомашинные вычислительные системы состоят
из нескольких взаимосвязанных однотипных ЭВМ. Однотипность ЭВМ обеспечивает:
1. простоту технического обслуживания;
2. простоту эксплуатации вычислительной системы;
3. простоту сопряжения ЭВМ между собой.
Однородные вычислительные системы часто используются для решения задач в реальном масштабе времени. Неоднородные многомашинные вычислительные системы содержат ЭВМ различных типов, выполняющие различные, но взаимосвязанные функции. Цель разделения функций — это повышение производительности вычислительных процедур. Основными разделяемыми функциями многомашинных вычислительных систем являются функции ввода-вывода и непосредственно обработки данных. Организация параллельной обработки данных в многомашинных вычислительных системах обеспечивается только за счет исполнения команд прерывания и передачи данных через специальные адаптеры или через общие внешние запоминающие устройства. По характеру связей между ЭВМ многомашинные вычислительные системы можно разделить на следующие группы:
1. косвенно - или слабосвязанные;
2. прямосвязанные или связанные;
3. сателлитные.
В косвенносвязанных (слабосвязанных) многомашинных вычислительных системах ЭВМ связаны друг с другом только через внешние запоминающие устройства. При этом ЭВМ работает под управлением собственного программного обеспечения, помещает в общую внешнюю память информацию, а другие ЭВМ могут использовать эту информацию в своих целях. Прямосвязанные многомашинные вычислительные системы обеспечивают более высокую гибкость обмена данными. В таких системах существует три вида связей:
1. связь через общее оперативно-запоминающее устройство;
2. прямое управление или связь типа «процессор - процессор»;
3. связь типа «адаптер канал - канал».
Первый тип связи, т. е. через общее оперативно-запоминающее устройство, носит информационный характер. Такая связь является достаточно сильной связью. Прямое управление (связь типа «процессор - процессор») предполагает, что устанавливается непосредственная связь между процессорами машин, и она является не только информационной, но и командной. В этом случае один процессор может непосредственно управлять работой процессоров других машин.
Связь ЭВМ через «адаптер канал - канал» устраняет недостаток связи через общее оперативно-запоминающее устройство. В этом случае с использованием специального адаптера каналы ЭВМ связываются между собой. Подключение адаптера обеспечивает обмен информацией между отдельными машинами с применением их собственных оперативно-запоминающих устройств. При этом «адаптер канал - канал» должен обеспечивать буферизацию данных при их обмене и взаимную синхронизацию работы машин. В реальных системах для обеспечения их высокой надежности функционирования, рассмотренные выше типы связей между ЭВМ, могут дублировать друг друга [5].
В сателлитных вычислительных системах структура связей между ЭВМ не отличается от связей, рассмотренных выше. Особенностью построения этих систем является то, что в них ЭВМ различаются по своим характеристикам, и имеет место определенная соподчиненность машин. При этом параллельная работа сателлитных ЭВМ позволяет ускорить обработку информации.
Примеры применения системы в промышленности
В настоящее время сфера применения многомашинных вычислительных систем непрерывно расширяется, охватывая все новые области в самых различных отраслях науки, бизнеса и производства. Стремительное развитие кластерных систем создает условия для использования многомашинной вычислительной техники в реальном секторе экономики. Если традиционно МВС применялись в основном в научной сфере для решения вычислительных задач, требующих мощных вычислительных ресурсов, то сейчас, из-за бурного развития бизнеса резко возросло количество компаний, отводящих использованию компьютерных технологий и электронного документооборота главную роль [6].
Кроме этого, многомашинные вычислительные системы нашли широкое применение во многих отраслях промышленности:
1. химическая и нефтехимическая промышленность;
2. машиностроение и металлообработка;
3. топливная промышленность;
4. электроэнергетика;
5. медицинская промышленность.
Непосредственную роль, данная моделируемая система играет и в направлении "Автоматизация технологических процессов и производств". Такие компании – гиганты как: "Газпром", "Транснефть", "Лукойл", "СоГаз, “Медицина", "Медси", "СпикомЭнерго" активно используют в своем производственном процессе многомашинные вычислительные системы.
Заключение
Данная исследовательская работа дает базовое представление о работе многомашинных вычислительных систем. В настоящее время, можно утверждать, что данные системы играют большую роль в решении множества, как производственных задач, так и задач планирования и организации бизнеса. Кроме этого, современные компьютерные машины постоянно модернизируются и улучшаются, что, несомненно, дает толчок к развитию и позволяет открывать новые функции работы многомашинных вычислительных систем.