Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
для поступления в магистратуру.pdf
Скачиваний:
46
Добавлен:
04.08.2022
Размер:
2.68 Mб
Скачать

96

систем перед однопроцессорными очевидно.

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

Типичным примером многопроцессорных ВС могут служить компьютерные сети, примером многопроцессорных вычислительных систем (МПВС) – суперкомпьютеры.

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

Общий метод увеличения производительности – организация параллельной обработки информации,т.е.одновременноерешениезадачили совмещениевовремени этаповрешения одной задачи.

Существуют следующие уровни параллелизма:

1)Микроуровневый параллелизм – основан на конвейеризации (увеличения числа инструкций, выполняемых в единицу времени путем создания конвейера команд) вычислений. Обеспечивается самим CPU.

2)Параллелизм уровня команд – реализуется посредством размещения в CPU сразу нескольких конвейеров. Обеспечивается самим CPU, и частично программистом. При этом для распараллеливания исполнения команд используются такие методики, как предсказатель переходов, обработка сразу 2-х веток условного оператора, развертка циклов и др.

3)Параллелизм уровня потоков и уровня заданий - применяется в процессорах класса MIMD. Параллелизм уровня потоков частично обеспечивается программистом частично ОС. Параллелизм уровня заданий обеспечивается ОС.

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

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

ишироко используется в современных СОД;

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

конвейерная обработка информации.

Можно выделить несколько типов параллелизма, отражающих эти особенности.

Типы параллелизма:

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

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

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

1.) отсутствие функциональных связей; 2.) отсутствие связи по использованию одних и тех же полей оперативной памяти; 3.) независимость по управлению; 4.) программная независимость.

97

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

Реализация в многомашинных и многопроцессорных ВС

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

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

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

Операционные контейнеры

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

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

98

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

Преимущества контейнеров

Контейнеры обладают своими уникальными свойствами и характеристиками:

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

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

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

Недостатки контейнеров

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

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

Совместимость. Контейнеры, упакованные для одной платформы, такие как Docker, могут не работать с другими платформами. Аналогично, некоторые контейнерные инструменты могут не работатьсразличнымиконтейнерными платформами.Например,Red HatOpenShiftработаеттолько с оркестратором Kubernetes. Учитывайте экосистему контейнеров при оценке контейнерных технологий для предприятия.

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

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

Векторные, матричные, ассоциативные системы

Вычислительные системы класса SIMD:

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

-Векторные вычислительные системы

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

В средствах векторной обработки под вектором понимается одномерный массив

99

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

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

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

-Матричные ВС

Назначение матричных вычислительных систем во многом схоже с назначением векторных ВС — обработка больших массивов данных.

Матричный процессор интегрирует множество идентичных функциональных блоков (ФБ), логически объединенных в матрицу и работающих в SIMD-стиле.

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

Не столь существенно, как конструктивно реализована матрица процессорных элементов - на едином кристалле или на нескольких.

-Ассоциативные ВС

Однако, в отличие от матричных систем, обращение к данным производится не по адресам, где хранятся эти данные, а по отличительным признакам, содержащимся в самих данных

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

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

Однородные системы и среды: RISC-архитектуры

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

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

Сама аббревиатура RISC расшифровывается как Restricted (Reduced) Instruction Set Computer,чтопереводитсякак«компьютерссокращеннымнаборомкоманд».«Сокращенныйнабор команд» вовсе не означает, что количество инструкций меньше, чем число команд CISCкристаллов. Разница состоит в том, что любая инструкция платформы RISC является простой и выполняется за один такт (по крайней мере, должна выполняться). При этом длина команды является фиксированной. Например, 32 бита. Также у RISC имеется гораздо больше регистров общего назначения. Плюс для этой архитектуры характерна конвейеризация. Именно ее использование (вкупе с упрощенными командами) позволяет эффективно наращивать тактовую частоту процессоров RISC. Другим распространенным признаком RISC является архитектура загрузки/хранения, где доступ к памяти осуществляется только с помощью определенных инструкций.

Развитие архитектур, ориентированных на языковые средства и среду программирования

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