
- •О. Ю. Чернышев, в. В. Крушный
- •1.1 Определение систем обработки данных. Способы построения
- •1.2 Общая классификация вычислительных систем обработки данных – архитектур
- •2.1 Состав и функционирование
- •3.2 Многомашинные комплексы
- •Многопроцессорная однородная обра- ботка
- •Комплексы на базе микропроцессоров,
- •3.7 Особенности организации вычислительных комплексов
- •4.1 Системы с конвейерной обработкой информации
- •4.2 Матричные системы
- •4.3 Ассоциативные системы
- •7.6 Основные концепции управления потоками данных
- •Организация моноканалов. Наиболее существенными аспектами организации каналов являются:
- •8.4 Базовые архитектуры локальных вычислительных сетей
- •9.5 Варианты архитектур систем управления
- •10.3 Некоторые элементы теории массового обслуживания
- •10.4 Виды моделей массового обслуживания
- •11.1 Организация проектирования
- •11.2 Системотехническое проектирование
- •11.3 Эксплуатация
11.2 Системотехническое проектирование
Системотехническое проектирование заключается в решении следующих задач построения вычислительной системы:
определение структуры (конфигурации) – состава технических средств (ЭВМ, внешние устройства, каналы пере-дачи данных) и связи между ними, а также систему их согласования – интерфейсы;
определение режимов функционирования – способов взаимодействия пользователей с системой и организацию вычислительных процессов (ввод, хранение, обработка и вывод данных);
определение состава лингвистического, информационного и программного обеспечения и порядок взаимодействия программ;
определение производительности, времени ответа, надежности и стоимости.
Структура, режим функционирования, состав лингвистического, информационного и программного обеспечения должны быть оптимальным образом согласованы с назначением системы, определяемым техническим заданием и в конечном итоге обеспечить требуемые характеристики системы.
Как уже было отмечено, задачи этого этапа решаются большей частью на качественном уровне, поэтому значительная роль отводится эвристическим методам решения, основанным на опыте и интуиции разработчиков. Перед ними стоят три основные задачи: выбор базовой структуры системы и поиск путей обеспечения требуемых производительности и надежности. При решении этих задач широко используются модели и методы теории вычислительных систем и надежности.
Разработка или выбор базовой структуры вычислительной системы вероятнее всего начнется с выбора типа системы (если он не задан техническим заданием), наиболее подходящего ее назначению. Основными факторами, влияющими на выбор типа системы, являются: рабочая нагрузка, режимы взаимодействия пользователей с системой, требования к надежности и состояние производственно-технической базы, на которой планируется ее создание.
Рабочая нагрузка определяется потребностью задач пользователей в ресурсах вычислительной системы, например, объеме памяти, процессорном времени, устройствах ввода-вывода и др. Режимы взаимодействия пользователей с системой – пакетная обработка, диалоговый режим или обработка в реальном масштабе времени – влияют на уровень загрузки устройств и в конечном итоге на производительность. Так, при пакетном режиме обработке, загрузка ресурсов компьютера составляет порядка 75-90%. В диалоговом режиме загрузка основных устройств системы не превышает 50-70%. Таким образом, исходя из сведений о рабочей нагрузке, можно оценить приблизительно потребность в емкости памяти, производительности процессоров, устройствах ввода-вывода. Типы
данных, предполагаемые к обработке, позволяют определить и типы операций над ними: целочисленной арифметики, с плавающейзапятой, десятичной арифметики над полями переменной длины, обработки текстов, матриц и т.д. Эти факторы влияют на выбор типов процессоров или ЭВМ в целом.
На выбор базовой структуры будущей системы существенное влияние оказывает состояние производственно-технической базы. Поэтому знание ее и тщательный анализ ее состояния может значительно упростить и облегчить задачу проектировщиков. Облегчение может быть выражено в наличии требуемых хорошо отработанных технологий, серийно выпускаемых комплектующих, возможно совмещаемого программного обеспечения и т.д. В рамках выбранного варианта системы детализируются существенные элементы структурной организации и функционирования будущей вычислительной системы. Для многомашинных комплексов выбираются способы комплексирования ЭВМ, разделения между ними рабочей нагрузки и управления процессами обработки, для многопроцессорных комплексов – способы доступа к общей памяти и устройствам ввода-вывода, для вычислительных сетей - способы передачи данных и состав функций. В результате таких работ формируется базовая структура вычислительной системы, которая должна обеспечить необходимую производительность процессорной обработки, надежность, а также режимы обслуживания пользователей.
Обеспечение требуемой производительности в процессе системотехнического проектирования сводится к сравнению оценок производительностей, рассматриваемых вариантов построения системы и режимов функционирования для достижения заданной производительности при минимальных затратах на систему.
Известно, что основными факторами, влияющими на показатели производительности, являются:
структура системы;
режимы функционирования;
характеристики рабочей нагрузки.
Основным инструментом, с помощью которого можно учесть влияние перечисленных выше факторов на характеристику производительности является аналитическая модель системы. Модели систем, как правило, базируются на эмпирических представлениях о процессах функционирования проектируемых систем. Структура модели проектируемой системы воспроизводится в необходимой степени ее детализации. При этом отсутствие реальных данных о рабочей и системной нагрузках моделируемой системы создает чувствительные проблемы при моделировании. А данные, измеренные на других, реально действующих системах и привнесенные в исследуемую модель, приводят к значительным погрешностям.
Это и понятно, ведь невозможно найти системы, идентичной раз-рабатываемой, а иначе не имело смысла разрабатывать новую. Например, различие в объемах памяти тестируемой и разрабатывае-мой систем приведет к тому, что тестируемая система, имеющая меньшую память, чем проектируемая потребует большего числа обращений к внешней памяти, в связи с чем, загрузка тестируемого процессора будет значительной, а это окажет влияние на общую нагрузку системы. Различие операционных систем также оказывает влияние на рабочую и системную нагрузки, так как каждая операционная система специфично использует ресурсы оперативной памяти.
Вносят особенности в исследуемые модели и наличие средств телеобработки, распределенная обработка в рамках вычислительных сетей, организация данных в виде баз и другие аспекты организации проектируемой вычислительной системы. Все они влияют на процессы обработки данных и, следовательно, на характеристики нагрузки.
Таким образом, чем больше отличий проектируемой системы от реально существующих, тем меньше вероятность воспроизведения близких к реальным, значений рабочей и системной нагрузок в исследуемых моделях.
С помощью моделей оцениваются следующие характеристики системы:
загрузка ресурсов и при необходимости профиль загрузки;
профили процессов, определяющие время пребывания заданий на разных стадиях их выполнения и в очередях;
производительность.
При этом модели должны воспроизводить:
состав и технические характеристики основных устройств системы – процессоров, оперативной памяти, внешних запоминающих устройств и, возможно каналов ввода-вывода и передачи данных;
основные параметры режимов функционирования – уровень мультипрограммирования и системную нагрузку;
параметры нагрузки в однородном представлении или а виде нескольких классов задач, обрабатываемых, например, в пакетном режиме, двух – трех классов задач, обрабатываемых в оперативном режиме.
На практике существует мнение, что оценка погрешности характеристик в пределах 25-50%, получаемая на моделях, на стадиях технического и эскизного проектов является вполне удовлетворительной, в связи с чем, на этом этапе можно использовать наиболее простые аналитические методы и несложные имитационные
модели. При этом, как правило, рекомендуют использовать не од-ну модель производительности, а комплекс моделей. Общая модель системы в целом и частные модели, воспроизводящие функционирование отдельных подсистем, например, общей памяти с многоканальным доступом, моноканала – магистрали, виртуальной памяти и т.д. Частные модели позволяют с большей достоверностью оценить влияние отдельных процессов на производительность системы в целом, например, вероятность блокировки обращений при доступе к модулям общей оперативной памяти и внешним устройствам, задержки при передаче данных по общей шине и т.п. Характеристики, полученные с помощью частных моделей, вводятся в общую модель производительности в качестве параметров, представляющих свойства процессов более низких уровней при рассмотрении системы в целом.
В процессе проектирования вычислительной системы прорабатываются и вопросы оптимизации ее производительности, которые сводятся к согласованию структуры системы и технических характеристик устройств с режимом функционирования системы и рабочей нагрузкой. Процесс согласования означает выявление и устранение «узких мест» в системе. Узким местом, как правило, является нехватка какого-либо из ресурсов (устройств памяти иди ввода-вывода), которая может привести к недоиспользованию других ресурсов. Устраняется узкое место либо добавлением устройства, либо изменением его характеристик. Если улучшение характеристик оказывается невозможным или недостижимым, то, возможно, придется изменять структуру или режимы функционирования системы. Например, при невозможности увеличения производительности процессора может потребоваться другая организация системы, скажем многомашинная организация с использованием сателлитной ЭВМ. А далее на модели производительности можно оценить этот вариант системы на соответствие ее проектируемой системы.
В результате исследования производительности конкретизируется базовая структура проектируемой системы до значений параметров, определяющих число и технические характеристики устройств, пропускную способность интерфейсов и каналов связи.
Модели производительности необходимы при техническом и эскизном проектировании программного обеспечения для оценки эффективности различных вариантов организации вычислительных процессов. Здесь требуются более детальные модели, чем при разработке базовой структуры системы. В моделях необходимо воспроизводить процессы планирования и выполнения вычислительных работ, реализуемых управляющими программами операционной системы, и рабочую нагрузку в виде совокупности различных классов заданий, обрабатываемых в различных режимах, имеющих
различные приоритеты и использующие различный состав и объем ресурсов. Для этих целей рекомендуют использовать различные модели. Например, рабочая нагрузка и процессы планированиявоспроизводятся имитационными методами, а процессы выполнения задач – аналитическими методами. Имитационные методы по-зволяют моделировать сколь угодно сложную организацию планирования и выполнения задач и используются для построения моделей производительности, детально отображающих все аспекты функционирования проектируемой системы.
Обеспечение
надежности.
На
протяжении всей книги обращается
внимание читателя на характеристику
надежности при рассмотрении любых типов
и архитектур вычислительных систем.
Это свидетельствует об огромном значении
и важности этой характеристики на всех
этапах, так называемого, жизненного
цикла вычислительных систем. Значение
показателя надежности, или как говорят,
требования к надежности, задается в
техническом задании на разработку
системы. Величина значения надежности
определяется назначением вычислительной
системы и задается, как правило,
минимальным допустимым коэффициентом
готовности,
характеризующим долю времени, в течение
которого система сохраняет свою
работоспособность. Как было отмечено
в тексте ранее, коэффициент готовности
в общем случае определяется выражением:
,
где Т
– средняя
наработка на отказ и
- среднее время восстановления.
Обеспечение надежности охватывает все стадии проектирования, производства и эксплуатации системы. Прежде всего, от разработчика требуется заложить методологические и технические решения, которые в будущем обеспечат выполнение системой требований по надежности. Разрабатывается специальная программа обеспечения надежности, в которой предусматриваются необходимые мероприятия, призванные гарантировать надежность технических и программных средств.
На этапах анализа процесса проектирования оценивается надежность выбранной базовой структуры вычислительной системы, путем сравнения вычисленных показателей надежности с требуемыми, а затем, если имеется необходимость, определяются способы повышения надежности системы.
Надежность можно повысить путем использования высоконадежных комплектующих элементов, обеспечением оптимального (не критического) режима их работы, выбором совершенной технологии изготовления и сборки системы. Одним из самых широко используемых методов обеспечения надежности является резервирование. Резервирование можно реализовывать на всех уровнях системы. Можно резервировать на уровне логических элементов,
блоков, устройств, ЭВМ. В этом случае резерв обеспечивается путем введения избыточных аппаратных средств. Резервируются также и программные средства путем повторных реализаций функций на основе одного и того же или различных алгоритмов, а
также дополнением программного обеспечения программами, выявляющими и устраняющими ошибки.
Задействие резервных систем можно обеспечить тремя способами: статическим, динамическим и смешанным - гибридным. При статическом резервировании отказавший участок блокируется и работу продолжает резервная схема или устройство. При динамическом резервировании рабочие модули системы обеспечиваются средствами, контролирующими их работоспособность, и при обнаружении отказа производится реконфигурирование системы – переподключение резерва вместо отказавшего устройства или участка схемы. При этом возможно и перераспределение функций между исправными модулями системы. Гибридный способ основан на совместном использовании статического и динамического резервирования.
Надежность вычислительной системы, как и производительность, оценивается с помощью моделей, создаваемых с помощью аппарата теории надежности. Модели дают возможность разработчикам систем определить показатели надежности для различных схем, структур, на различных стадиях процесса проектирования и путем сравнения их величин выбрать наиболее рациональный вариант системы. Трудности возникают, когда в техническом здании задаются показатели надежности для различных уровней вычислительной системы, например, наряду с заданием показателя надежности для системы в целом, указываются показатели надежности для отдельных частей – подсистем и устройств. В таких случаях, чтобы обеспечить заданную надежность, необходимо установить соотношения между надежностью и затратами на ее обеспечение для каждого типа устройств и подсистем. Оценка затрат производится на основе опыта предыдущих разработок, естественно с рядом допущений. По этой причине требования по надежности подсистем приходится устанавливать в условиях существенной неопределенности.
С показателями надежности связан еще один аспект, присущий не только вычислительным системам. Речь идет об обеспечении вычислительных систем возможностями восстановления работоспособности путем ремонта. По-другому говорят, что система должна быть ремонтопригодна. Для любых электронных систем и устройств характерны сбои в работе, связанные с воздействием на систему, устройство электромагнитных воздействий, имеющих различную природу происхождения, или пульсаций источников питания и другими причинами. Для защиты от сбоев в систему
встраиваются средства, позволяющие обнаружить ошибку и запустить систему восстановления. Если эта процедура выполняется успешно, причиной ошибки считают сбой и система продолжаетфункционировать в прежнем режиме. Если ошибка не устраняется, отказ считается критическим или катастрофическим. Для повышения ремонтопригодности в системы встраивают средства контроля и диагностики, унифицируют конструкции, рационализируют компоновку Ремонтопригодность позволяет снижать затраты времени и средств на восстановление работоспособности вычислительных систем.