Вычислительные системы (ВС). Уровни параллелизма. Классификация ВС Флинна. Закон Амдала.

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

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

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

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

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

Классификация Флинна.Среди всех систем классификации ВС наибольшее признание получила классификация, предложенная в 1966 году М. Флинном. В ее основу положено понятие потока, под которым понимается последовательность элементов, команд или данных, обрабатываемая процессором. В зависимости от количества потоков команд и потоков данных Флинн выделяет четыре класса архитектур: SISD, MISD, SIMD, MIMD.

1) SISD (Single Instruction Stream/Single Data Stream) – одиночный поток команд и одиночный поток данных. Имеется только один поток команд, команды обрабатываются последовательно и каждая команда инициирует одну операцию с одним потоком данных;

2) MISD (Multiple Instruction Stream/Single Data Stream) – множественный поток команд и одиночный поток данных. Из определения следует, что в архитектуре ВС присутствует множество процессоров, обрабатывающих один и тот же поток данных;

3) SIMD (Single Instruction Stream/Multiple Data Stream) - одиночный поток команд и множественный поток данных. ВМ данной архитектуры позволяют выполнять одну арифметическую операцию сразу над многими данными — элементами вектора (например, сложение векторов);

4) MIMD (multiple instruction stream / multiple data stream) - множественный поток команд и множественный поток данных. Этот класс предполагает, что в вычислительной системе есть несколько устройств обработки команд, объединенных в единый комплекс и работающих каждое со своим потоком команд и данных.

Закон Амдала — иллюстрирует ограничение роста производительности вычислительной системы с увеличением количества вычислителей. Согласно этому закону, ускорение выполнения программы за счет распараллеливания её инструкций на множестве вычислителей ограничено временем, необходимым для выполнения её последовательных инструкций.

ОПЕРАЦИОННЫЕ СИСТЕМЫ.

4.1. Определение операционной системы. Функции ОС.

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

В большинстве вычислительных систем ОС является основной, наиболее важной (а иногда и единственной) частью системного ПО. С 1990-х наиболее распространёнными операционными системами являются ОС семейства Microsoft Windows и системы класса UNIX (особенно Linux и Mac OS).

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

ОС выполняет две основные функции:

§ предоставление пользователю или программисту вместо реальной аппаратуры расширенной виртуальной машины (которую иногда называют операционная среда), с которой удобно работать и которую легче программировать;

§ повышение эффективности использования компьютера путём рационального управления его ресурсами в соответствии с некоторыми критериями.

Операционная система как виртуальная машина.

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

Вычислительные системы (ВС). Уровни параллелизма. Классификация ВС Флинна. Закон Амдала. - student2.ru

Операционная система как менеджер ресурсов

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

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

§ планирование ресурса – то есть определение, кому, когда, а для делимых ресурсов и в каком количестве, необходимо выделить данный ресурс;

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

4.2. Классификация ОС.

Операционные системы могут различаться:

§ особенностями реализации внутренних алгоритмов управления основными ресурсами компьютера (процессорами, памятью, устройствами);

§ типами аппаратных платформ;

§ областями использования;

§ особенностями использованных методов проектирования и др.

Особенности управление ресурсами.

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

1) многозадачные и однозадачные;

2) многопользовательские и однопользовательские;

3) на системы, поддерживающие многонитевую обработку и не поддерживающие;

4)на многопроцессорные и однопроцессорные системы.

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

§ однозадачные (например, MS-DOS, MSX);

§ многозадачные (OC EC, OS/2, UNIX, Windows 95).

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

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

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

§ однопользовательские (MS-DOS, Windows 3.x, ранние версии OS/2);

§ многопользовательские (UNIX, Windows NT).

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

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

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

Типы аппаратных платформ.

По типу аппаратуры различают операционные системы:

§ персональных компьютеров;

§ мини-компьютеров;

§ мейнфреймов (больших многопроцессорных систем);

§ кластеров (Кластер - слабо связанная совокупность нескольких вычислительных систем, работающих совместно для выполнения общих приложений, и представляющихся пользователю единой системой);

§ сетей ЭВМ (распределенных систем).

Особенности областей использования.

Многозадачные ОС подразделяются на три типа в соответствии с использованными при их разработке критериями эффективности:

§ системы пакетной обработки (например, OC EC),

§ системы разделения времени (UNIX, VMS),

§ системы реального времени (QNX, RT/11).

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

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

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

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

Особенности методов построения

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

К таким базовым концепциям относятся:

§ Способы построения ядра системы (монолитное или микроядро);

§ Использование объектно-ориентированного подхода;

§ Наличие нескольких прикладных сред (возможность в рамках одной ОС одновременно выполнять приложения, разработанные для нескольких ОС);

§ Распределенная организация операционной системы.

Наши рекомендации