Файл: Состав и свойства вычислительных систем. Информационное и математическое обеспечение вычислительных систем.pdf
Добавлен: 05.04.2023
Просмотров: 302
Скачиваний: 2
Типичным примером массовых многомашинных ВС могут служить компьютерные сети, примером многопроцессорных вычислительных систем (МПВС) — суперкомпьютеры.
По типу ЭВМ или процессоров, используемых для построения ВС, различают однородные и неоднородные системы. Однородные системы предполагают комплексирование однотипных ЭВМ (процессоров), неоднородные — разнотипных. В однородных системах значительно упрощается разработка и обслуживание технических и программных
(в основном ОС) средств. В них обеспечивается возможность стандартизации
и унификации соединений и процедур взаимодействия элементов системы. Упрощается обслуживание систем, облегчается модернизация и их развитие. Вместе с тем существуют и неоднородные ВС, в которых комплексируемые элементы очень сильно отличаются по своим техническим и функциональным характеристикам. Обычно это связано с необходимостью параллельного выполнения многофункциональной обработки. Так, при построении ММС, обслуживающих каналы связи, целесообразно объединять в комплекс связные, коммуникационные машины и машины обработки данных. В таких системах коммуникационные ЭВМ выполняют функции связи, контроля получаемой
и передаваемой информации, формирование пакетов задач и т.д. ЭВМ 6 обработки данных не занимаются не свойственными им работами
по обеспечению взаимодействия в сети, а все их ресурсы переключаются
на обработку данных. Неоднородные системы находят применение и МПС. Многие ЭВМ, в том числе и ПЭВМ, могут использовать сопроцессоры: десятичной арифметики, матричные и т.п.
По степени территориальной разобщенности вычислительных модулей ВС делятся на системы совмещенного (сосредоточенного) и распределенного (разобщенного) типов. Обычно такое деление касается только ММС. Многопроцессорные системы относятся к системам совмещенного типа. Более того, учитывая успехи микроэлектроники, это совмещение может быть очень глубоким. При появлении новых СБИС появляется возможность иметь в одном кристалле несколько параллельно работающих процессоров.
В совмещенных и распределенных ММС сильно различается оперативность взаимодействия в зависимости от удаленности ЭВМ. Время передачи информации между соседними ЭВМ, соединенными простым кабелем, может быть много меньше времени передачи данных по каналам связи. Как правило, все выпускаемые в мире ЭВМ имеют средства прямого взаимодействия и средства подключения к сетям ЭВМ. Для ПЭВМ такими средствами являются нуль-модемы, модемы и сетевые карты как элементы техники связи.
По методам управления элементами ВС различают централизованные, децентрализованные и со смешанным управлением. Помимо параллельных вычислений, производимых элементами системы, необходимо выделять ресурсы на обеспечение управления этими вычислениями.
В централизованных ВС за это отвечает главная, или диспетчерская, ЭВМ (процессор). Ее задачей является распределение нагрузки между элементами, выделение ресурсов, контроль состояния ресурсов, координация взаимодействия. Централизованный орган управления в системе может быть жестко фиксирован, или эти функции могут передаваться другой ЭВМ (процессору), что способствует повышению надежности системы. Централизованные системы имеют более простые ОС. В децентрализованных системах функции управления распределены между ее элементами. Каждая ЭВМ (процессор) системы сохраняет известную автономию, а необходимое взаимодействие между элементами устанавливается по специальным наборам сигналов. С развитием ВС и, в частности, сетей ЭВМ интерес
к децентрализованным системам постоянно растет.
В системах со смешанным управлением совмещаются процедуры централизованного и децентрализованного управления. Перераспределение функций осуществляется в ходе вычислительного процесса, исходя
из сложившейся ситуации.
По принципу закрепления вычислительных функций за отдельными ЭВМ (процессорами) различают системы с жестким и плавающим закреплением функций. В зависимости от типа ВС следует решать задачи статического или динамического размещения программных модулей и массивов данных, обеспечивая необходимую гибкость системы и надежность ее функционирования.
По режиму работы ВС различают системы, работающие в оперативном и неоперативном временных режимах. Первые, как правило, используют режим реального масштаба времени. Этот режим характеризуется жесткими 7 ограничениями на время решения задач в системе и предполагает высокую степень автоматизации процедур ввода-вывода и обработки данных.
Информационное и математическое обеспечение вычислительных систем
Наряду с аппаратным и программным обеспечением средств вычислительной техники в некоторых случаях целесообразно рассматривать информационное обеспечение, под которым понимают совокупность программ и предварительно подготовленных данных, необходимых для работы данных программ.
К примеру, система автоматической проверки орфографии
в редактируемом тексте. Ее работа заключается в том, что лексические единицы исходного текста сравниваются с заранее заготовленным эталонным массивом данных (словарем). В данном случае для успешной работы системы необходимо иметь кроме аппаратного и программного обеспечения специальные наборы словарей, подключаемые извне. Это пример информационного обеспечения вычислительной техники.
В специализированных компьютерных системах (бортовых компьютерах автомобилей, судов, ракет, самолетов, космических летательных аппаратов и
т. п.) совокупность программного и информационного обеспечения называют математическим обеспечением.
Математическое обеспечение состоит из фонда программ вычислительных алгоритмов, в частности, фонд содержит решения типовых задач математической физики. Фонд непрерывно пополняется, на рынке программных продуктов идет конкуренция между разработчиками математического обеспечения.
Одна из классификаций математического обеспечения предполагает деление его на следующие разделы: подпрограммы, пакеты программ, библиотеки программ, системы математического обеспечения.
Программы – это наиболее известный и часто используемый раздел математического обеспечения. Он состоит из отдельных подпрограмм
или программ, содержащих небольшой набор подпрограмм. Первые численные модели на ЭВМ программировались в двоичных кодах, эти подпрограммы были машинно-ориентированными. Мобильность подпрограмм – возможность их использования на различных ЭВМ появилась с внедрением универсальных языков программирования: Алгола и Фортрана. Другим эффектом внедрения алгоритмических языков высокого уровня было появление новой среды описания вычислительных алгоритмов, программа на таком языке может также служить формальным описанием алгоритма. Особенно ярко эта способность алгоритмического языка служить языком публикаций вычислительных алгоритмов появилась у языка Алгол-60. В СССР и за рубежом был опубликован обширный спектр вычислительных алгоритмов на этом языке.
С 70-х годов описания вычислительных алгоритмов публикуются на Фортране из-за широкого распространения этого языка.
В настоящее время подпрограммы научно-технического характера публикуются в основном на языке Си. Язык Фортран сохраняет позиции
как язык публикаций для описания вычислительных алгоритмов. Тексты последовательных Фортран-программ удобнее для распараллеливания, чем тексты Си-программ.
Пакетом программ называют комплекс программ для решения серийных задач в конкретной области наук и техники. Пакет прикладных программ (далее – ППП), частный случай пакетов, — это система взаимосвязанных программ
и средств организации процесса вычислений. При помощи этих средств,
в рамках реализованной в пакете стратегии организации вычислений, автоматически генерируется цепочка прикладных вычислительных программ для проведения конкретного вычислительного эксперимента. Примером ППП может служить пакет САФРА (Система Автоматизации Физических Расчетов), разработанный в ИПМ им. М.В. Келдыша РАН для решения класса задач математической физики. Программы, создаваемые при помощи пакета САФРА, используют программы из архивного фонда пакета, содержащего свыше тысячи программ. Системная часть пакета обеспечивает подбор оптимальной последовательности программ для решения общей задачи.
Техника ППП широко используются в системах программирования, предназначенных для решения задач линейной алгебры. Базовым уровнем пакетов этого класса служит пакет BLAS (Basic Linear Algebra Subroutine), реализующий основные операции нижнего уровня вычислительной линейной алгебры. Он входит в состав всех пакетов и библиотек линейной алгебры, обеспечивая низкоуровневый интерфейс между программами широкого класса библиотек и ЭВМ различных архитектур. Пакет разделяется на три уровня BLAS: Level 1 BLAS – для векторных операций, Level 2 BLAS –
для матрично-векторных операций, Level 3 BLAS – для матричных операций. Этот пакет был разработан еще в 70-е годы, поэтому возникла необходимость разработки методологии автоматической генерации высокоэффективных подпрограмм для современных вычислительных машин.
Наиболее простой и широко используемый метод оптимизации программ пакета заключается в параметризации характеристик вычислителей и использовании этих данных на уровне трансляции приложений. Другим способом оптимизации программ пакета является разработка кодового генератора. Основой такой технологии является возможность генерации нескольких вариантов объектного кода, а адаптация пакета заключается
в определении его наилучшей версии для конкретной архитектуры ЭВМ
и может производиться с учетом времени счета эталонных задач.
Эти технологии использовались в рамках проекта ATLAS (Automatically Tuned Linear Algebra Software) – создание инструментальных систем разработки программного обеспечения для адаптации оптимального объективного кода пакета линейной алгебры на различные архитектуры ЭВМ.
Пакет PETS (Portable, Extensible Toolkit for Scientific Computation – 1991 г.) для численного решения дифференциальных уравнений в частных производных реализован на широком классе последовательных
и параллельных архитектур.
Библиотека программ состоит из набора пакетов программ (пакет пакетов), предназначенных для решения широкого круга задач, например задач численного анализа, математической статистики и др. Прототипами библиотек можно считать программы общего назначения, поставляемые производителями ЭВМ для своих машин. В СССР наиболее известна была библиотека такого класса – SSP (Scientific Subroutine Package) фирмы IBM. Она была адаптирована для ЭВМ серии ЕС и БЭСМ-6.
Библиотека программ ANSYS заявлена как многоцелевая конечно-элементная библиотека для проведения анализа в широкой области инженерных дисциплин (прочность, теплофизика, динамика жидкостей
и газов и электромагнетизм). Она представляет собой набор свыше десяти специализированных пакетов, включая учебный. Пакеты сертифицированы
по целому ряду международных стандартов, в том числе по стандартам Американской атомной промышленности и ГОСАТОМНАДЗОРа России. Разработчики ANSYSа также используют лицензионные программы
для обеспечения интеграции с другими пакетами. Распределенные вычисления на вычислительных кластерах поддерживаются не на всех пакетах библиотеки.
Система математического обеспечения – это библиотека программ широкого назначения с проблемно-ориентированным языком, обеспечивающим дружественный интерфейс с пользователями.
Одной из старейших систем математического обеспечения ЭВМ является MATLAB. В расчетах допускается использования таких мощных типов данных, как многомерные массивы чисел, символов, структур, задаваемых пользователями. Область применения MATLABа – это построение математических моделей и разработка алгоритмов, программирование
и проведение вычислений, использование научной и технической графики
для визуализации и анализа данных.
Прогресс технологии производства оборудования ЭВМ значительно опережает темпы роста производства программного обеспечения.
В программировании не известен аналог закона Мура – удвоение производительности ЭВМ каждые полтора года. Поэтому очень велико значение систем математического обеспечения как элемента индустриальной технологии производства программ приложений.
Современное математическое обеспечение, кроме программ элементарных математических функций для вычисления синусов
и логарифмов и др., содержит обширный набор стандартных программ
для реализации массовых вычислительных алгоритмов. Техника сборки программы из готовых вычислительных компонентов снижает трудоемкость программирования приложений. Значительное усложнение программирования из-за появления многопроцессорных кластеров и графических процессоров повышает роль такой техники. Для программирования библиотечных программ можно привлекать узких специалистов в прикладных областях и обеспечивать очень высокую эффективность реализации.