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

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 06.04.2023

Просмотров: 216

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

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

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

1. в качестве контрольно-диагностического ядра ВС могут быть использованы любые исправные вычислители и в пределе ядро любого произвольно выбранного вычислителя,

2. выбор ядра системы и определение её исправности могут быть произведены автоматически ( с помощью средств ВС).

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

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

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

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


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

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

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

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

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

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

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


Глава 3. Математическое и информационное обеспечение вычислительных систем.

Математическое обеспечение

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

Следующим этапом автоматизации программирования было создание алгоритмических языков высокого уровня. Имеется свыше тысячи алгоритмических языков различного назначения, применение которых существенно сокращает затраты на разработку и создание программ. Первым, получившим широкое распространение, стал язык фортран. Затем появились языки алгол, алгамс, а в СССР и язык альфа, предназначенные в основном для проведения научно-технических расчетов. Для записи алгоритмов обработки экономичемкой информации был создан язык кобол. Алголоподобный язык паскаль имеет средства для описания структуры данных. Для работы с текстовой информацией предназначены языки лисп, снобол, амбит, сдл и др. Для описания алгоритмов проведения аналитических реобразований на ЭВМ получила широкое распространение система Reduce, а в СССР и язык аналитик. Как развитие и обобщение языков фортран, алгол и кобол появились языки ПЛ/1 и алгол-68.


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

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

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


В зависимости от режима работы, который обеспечивается ОС, различают три типа использования ЭВМ.

1) Пакетная обработка программ заключается в автоматическом прохождении (решении) потоков задач на ЭВМ, в том числе и в мультипрограммном режиме. Примерами ОС, обеспечивающих такой режим работы, являются ОС ЕС и ДОС ЕС для машин единой серии и машин фирмы ИБМ; системы ОС ДУБНА и ОС ДИСПАК для БЭСМ-6; система NOS/BE для машин фирмы Control Data.

2) Режим разделения времени дает возможность одновременно обслуживать многих пользователей, работающих с терминалов, связанных с ЭВМ, в том числе находящихся на больших расстояниях от нее. В качестве примеров ОС, обеспечивающих работу в таком режиме, можно назвать одну из ранних экспериментальных систем MULTICS и систему TSS/360 для машин ИБМ. В крупных вычислительных системах режим разделения времени, как правило, обеспечивается операционными системами, которые одновременно ведут счет и в режиме пакетной обработки. При этом взаимодействие с ОС происходит посредством специальных подсистем, работающих под управлением основной ОС. В NOS/BE это - система Intercom, в ОС ДУБНА - мультитайп, в ОС ДИСПАК - система ДИМОН, в ОС ЕС - ДУУВЗ и СРВ.

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

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

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