Text
                    А. М. Ларионов, С. А. Майоров
Г.И. Новиков

ВЫЧИСЛИТЕЛЬНЫЕ
КОМПЛЕКСЫ,
СИСТЕМЫ
И СЕТИ


А. М. Ларионов, С. А. Майоров Г И. Новиков ВЫЧИСЛИТЕЛЬНЫЕ КОМПЛЕКСЫ СИСТЕМЫ И СЕТИ Допущено Министерством высшего и среднего специального образования СССР в качестве учебника для студентов вузов, обучающихся по специальности «Электронные вычислительные машины» Ленинград ЭНЕРГОАТОМ ИЗ ДАТ Ленинградское отделение 1987
ВБК 32.97 Л 25 УДК 681.31 (075.8) Рецензенты: кафедра вычислительной техники Московского инженернофизического института (зав. кафедрой Г. Н. Соловьев); кафедра вычислительной техники Киевского политехнического института (зав. кафедрой К. Г. Самофалов) Л 25 Ларионов А. М. и др. Вычислительные комплексы, системы и сети/А. М. Ларио­ нов, С. А. Майоров, Г. И. Новиков: Учебник для вузов. Л.: Энергоатомиздат. Ленингр. отд-ние, 1987. 288 с: ил. Рассмотрены принципы построения и функционирования многомашинных и многопроцессорных вычислительных комплексов, высокопроизводительных систем, систем телеобработки, вычислительных сетей с коммутацией пакетов и локальных вычислительных сетей. Изложены методы оценки производительности вычислитель­ ных систем, основанные на использовании методов измерений, аналитических и ими­ тационных моделей. Для студентов вузов. Л 2405000000-112 051(01)—87 286 _8? Б Б К 3 2 .97 © Энергоатомиздат, 1987
ПРЕДИСЛОВИЕ В «Основных направлениях экономического и социального развития СССР на 1986—1990 годы и на период до 2000 года» вычислительная техника рассматривается как один из важней­ ших факторов интенсификации производства и повышения произ­ водительности труда. В двенадцатой пятилетке производство средств вычислительной техники возрастает в 2—2,3 раза, что значительно расширит масштабы применения ЭВМ и систем на их основе в научных исследованиях, инженерной деятельности, управлении производством, технологическим оборудованием и транспортом. В реализации заданий Энергетической программы СССР существенная роль отводится автоматизированным систе­ мам разведки полезных ископаемых, управления топливно-энер­ гетическими комплексами и энергетическим оборудованием. Эффект, достигаемый за счет применения вычислительной тех­ ники, возрастает при увеличении масштабов обработки данных, т. е. концентрации по возможности больших объемов данных и процессов их обработки в рамках одной технической системы. Крупномасштабные системы обработки данных можно создавать, повышая мощность ЭВМ или объединяя многие ЭВМ в вычисли­ тельные комплексы и сети. Комплексирование средств вычисли­ тельной техники позволяет создавать широкую номенклатуру высокопроизводительных отказоустойчивых систем обработки данных и рассматривается как одно из перспективных направле­ ний развития вычислительной техники. Методы проектирования и эксплуатации вычислительных комплексов, систем и сетей разрабатываются в рамках теории вычислительных систем. При этом считается, что термин «вычис­ лительная система» охватывает и вычислительные, и управляю­ щие, и информационно-измерительные системы, построенные на основе ЭВМ, многомашинных и многопроцессорных комплексов и вычислительных сетей. Характерная черта теории вычислитель­ ных систем — системотехнический подход к исследованию. Основ­ ной принцип системотехники — представление системы как сово­ купности всех ее частей в тесной связи с окружающей средой и взаимообусловленности всех свойств системы, таких, как произ­ водительность, надежность и стоимость. Поэтому в теории вычис­ лительных систем технические средства и программные з
(операционная система и прикладное программное обеспечение) рассматриваются во взаимосвязи и свойства системы оцениваются как совокупность свойств технических и программных средств. Естественно, что при системотехническом подходе к сложным объектам, какими являются вычислительные системы, комплексы и сети, необходимо ограничивать глубину исследования их орга­ низации и процессов функционирования и в качестве элементов систем рассматривать процессоры, каналы ввода — вывода, запо­ минающие и периферийные устройства, а во многих случаях — ЭВМ, многопроцессорные и многомашинные комплексы. Этот уровень представления вычислительных систем, комплексов и се­ тей— наиболее характерная черта системотехнического подхода в вычислительной технике. Теория вычислительных систем (комплексов и сетей) состоит из двух основных разделов: архитектуры систем и метрической теории систем. Первый раздел связан с изучением архитектуры вычислительных систем — общей логической организации систем, определяющей процессы обработки данных и включающей в себя методы представления данных, состав, назначение и принципы взаимодействия технических средств и программного обеспечения. Исследования архитектуры вычислительных систем направлены на выявление способов построения систем с различными свой­ ствами, рациональных вариантов распределения функций между техническими и программными средствами, состава системы и конфигурации связей между ними, способов организации вычис­ лительных процессов. Метрическая теория вычислительных систем направлена на количественную оценку показателей, характери­ зующих организацию и функционирование систем. В рамках мет­ рической теории исследуется влияние организации и режима функционирования на производительность, надежность, стоимость и другие характеристики систем, а также решаются задачи вы­ бора оптимальных технических характеристик устройств, входя­ щих в состав проектируемых систем. В данном учебнике основное внимание уделяется архитектуре вычислительных комплексов, систем и сетей, поскольку изучение логики их построения и функционирования — важнейшая состав­ ляющая подготовки инженеров-системотехников по ЭВМ. Метри­ ческая теория вычислительных систем излагается применительно к задачам проектирования вычислительных комплексов, систем и сетей и представляется в виде конечных результатов. Желающие детально изучить аппарат метрической теории вычислительных систем могут обратиться к работам [4, 5, 16—19]. Главы 1 и 4 написаны С. А. Майоровым, главы 2 и 3 (кроме §3.5, 3.6)—А. М. Ларионовым, главы 5—8 и § 3 . 5 , 3.6 — Г. И. Новиковым. Отзывы о книге, замечания и пожелания просьба направлять по адресу: 191065, Ленинград, Марсово поле, 1, Ленинградское отделение Энергоатомиздата. Авторы 4
ГЛАВА ПЕРВАЯ СИСТЕМЫ ОБРАБОТКИ ДАННЫХ 1.1. СПОСОБЫ ПОСТРОЕНИЯ И КЛАССИФИКАЦИЯ Система обработки данных (СОД) —совокупность технических средств и программного обеспечения, предназначенная для ин­ формационного обслуживания пользователей и технических объ­ ектов. В состав технических средств входит оборудование для ввода, хранения, преобразования и вывода данных, в том числе ЭВМ, устройства сопряжения ЭВМ с объектами, аппаратура передачи данных и линии связи. Программное обеспечение (про­ граммные средства)—совокупность программ, реализующих воз­ ложенные на систему функции. Функции СОД состоят в выполне­ нии требуемых актов обработки данных: ввода, хранения, преоб­ разования и вывода. Примерами СОД являются вычислительные системы для решения научных, инженерно-технических, плановоэкономических и учетно-статистических задач, автоматизирован­ ные системы управления предприятиями и отраслями народного хозяйства, системы автоматизированного и автоматического уп­ равления технологическим оборудованием и техническими объек­ тами, информационно-измерительные системы и др. Основа СОД — это технические средства, так как их произво­ дительностью и надежностью в наибольшей степени определяется эффективность СОД. Одномашинные СОД. Исторически первыми и до сих пор ши­ роко распространенными являются одномашинные СОД, построен­ ные на базе единственной ЭВМ с традиционной однопроцессор­ ной структурой. К настоящему времени накоплен значительный опыт проектирования и эксплуатации таких СОД, и поэтому создание их, включая разработку программного обеспечения, не вызывает принципиальных трудностей. Однако производитель­ ность и надежность существующего парка ЭВМ оказывается удо­ влетворительной лишь для ограниченного применения, когда тре­ буется относительно невысокая (до нескольких миллионов опе­ раций в секунду) производительность и допускается простой системы в течение нескольких часов из-за отказов оборудования. Повышение производительности и надежности ЭВМ обеспечи­ вается в основном за счет совершенствования элементно-техноло­ гической базы. Достигнутое к настоящему времени быстродейст­ вие электронных схем приближается к физическому пределу, и производительность ЭВМ на уровне десяти миллионов операций 5
а) НМЛ ЭВМ ЭВМ т X НМД \ \НМй\\ НМД ЭВМ КВВ\ НМЛ н~5 НМЛ НМД Адаптер \-\КВВ ЭВМ X НМД в. НМЛ Рис. 1.1. Многомашинный вычислительный комплекс с косвенной (а) и прямой (б) связью между ЭВМ в секунду можно рассматривать как максимальную возможную. При любом уровне технологии нельзя обеспечить абсолютную на­ дежность элементной базы, и поэтому нельзя для одномашинных СОД исключить возможность потери работоспособности. Таким образом, одномашинные СОД лишь частично удовлетворяют потребность в автоматизации обработки данных. Вычислительные комплексы. Начиная с 60-х годов для повы­ шения надежности и производительности СОД несколько ЭВМ связывались между собой, образуя многомашинный вычислитель­ ный комплекс. В ранних многомашинных комплексах связь между ЭВМ обеспечивалась через общие внешние запоминающие устрой­ ства — накопители на магнитных дисках (НМД) или магнитных лентах (НМЛ) (рис. 1.1,а), т. е. за счет доступа к общим на­ борам данных. Такая связь называется косвенной и оказы­ вается эффективной только в том случае, когда ЭВМ взаимодей­ ствуют достаточно редко, например при отказе одной из ЭВМ или в моменты начала и окончания обработки данных. Более оперативное взаимодействие ЭВМ достигается за счет прямой связи через адаптер, обеспечивающий обмен данными между ка­ налами ввода — вывода (КВВ) двух ЭВМ (рис. 1.1, б) и передачу сигналов прерывания. За счет этого создаются хорошие условия для координации процессов обработки данных и повышается оперативность обмена данными, что позволяет вести параллельно процессы обработки и существенно увеличивать производитель­ ность СОД. В настоящее время многомашинные вычислительные комплексы широко используются для повышения надежности и производительности СОД. В многомашинных вычислительных комплексах взаимодействие процессов обработки данных обеспечивается только за счет об­ мена сигналами прерывания и передачи данных через адаптеры канал — канал или общие внешние запоминающие устройства. Лучшие условия для взаимодействия процессов — когда все про­ цессоры имеют доступ ко всему объему данных, хранимых в опе­ ративных запоминающих устройствах (ОЗУ), и могут взаимодей­ ствовать со всеми периферийными устройствами комплекса. Вы­ числительный комплекс, содержащий несколько процессоров с общей оперативной памятью и периферийными устройствами, называется многопроцессорным. Принцип построения таких комп­ лексов иллюстрируется рис. 1.2. Процессоры, модули оперативной б
Рис. \.й. Многопроцессорный вычислитель­ ный комплекс 1 Процессор1 1 Процессор] [Процессор] Средства коммутации 1 памяти (МП) и каналы ввода—вы­ 1 вода, к которым подключены пери­ ферийные устройства (ПУ), объ­ единяются в единый комплекс с по­ 1 мп\ 1 мп\ \мп\ \квв\ \квв\ мощью средств коммутации, \Щ ЩИ обеспечивающих доступ каждого процессора к любому модулю опе­ 1 ративной памяти и каналу ввода— вывода, а также возможность пе­ редачи данных между последними. В многопроцессорном ком­ плексе отказы отдельных устройств влияют на работоспособность СОД в меньшей степени, чем в многомашинном, т. е. многопроцес­ сорные комплексы обладают большей устойчивостью к отказам. Каждый процессор имеет непосредственный доступ ко всем дан­ ным, хранимым в общей оперативной памяти, и к периферийным устройствам, что позволяет параллельно обрабатывать не только независимые задачи, но и блоки одной задачи. Многомашинные и многопроцессорные вычислительные комп­ лексы рассматриваются как базовые средства для создания СОД различного назначения. Поэтому в состав вычислительного комп­ лекса принято включать только технические средства и общеси­ стемное (базовое), но не прикладное программное обеспечение, связанное с конкретной областью применения комплекса. Таким образом, вычислительный комплекс — совокупность технических средств, включающих в себя несколько ЭВМ или процессоров, и общесистемного (базового) программного обеспечения. Вычислительные системы. СОД, настроенная на решение задач конкретной области применения, называется вычислительной си­ стемой. Вычислительная система включает в себя технические средства и программное обеспечение, ориентированные на реше­ ние определенной совокупности задач. Существует два способа ориентации. Во-первых, вычислительная система может строиться на основе ЭВМ или вычислительного комплекса общего примене­ ния и ориентация системы обеспечивается за счет программных средств — прикладных программ и, возможно, операционной си­ стемы. Во-вторых, ориентация на заданный класс задач может достигаться за счет использования специализированных ЭВМ и вычислительных комплексов. В этом случае удается при умерен­ ных затратах оборудования добиться высокой производительно­ сти. Специализированные вычислительные системы наиболее широко используются при решении задач векторной и матричной алгебры, а также связанных с интегрированием дифференциаль­ ных уравнений, обработкой изображений, распознаванием обра­ зов и т. д. Вычислительные системы, построенные на основе специализи­ рованных комплексов, начали интенсивно разрабатываться с конца Д . Д , Д_, ,_Ц ,_Ц ш шг 7
60-х годов. В таких системах использовались процессоры со специализированными системами команд и конфигурация комп­ лексов жестко ориентировалась на конкретный класс задач. В по­ следнее десятилетие начались исследования и разработки адап­ тивных вычислительных систем, гибко приспосабливающихся к решаемым задачам. Адаптация вычислительной системы с целью приспособления ее к структуре реализуемого алгоритма достигается за счет изменения конфигурации системы. При этом соединения между процессорами, а также модулями памяти и периферийными устройствами устанавливаются динамически в соответствии с потребностями задач, обрабатываемых системой в текущий момент времени. В связи с этим адаптивные вычисли­ тельные системы иначе называются системами с динамической структурой. За счет адаптации достигается высокая производи­ тельность в широком классе задач и обеспечивается устойчивость системы к отказам. Поэтому адаптивные системы рассматрива­ ются как одно из перспективных направлений развития систем обработки данных. Системы телеобработки. Уже первоначальное применение СОД для управления производством, транспортом и материально-тех­ ническим снабжением показало, что эффективность систем можно значительно повысить, если обеспечить ввод данных в систему непосредственно с мест их появления и выдачу результатов обра­ ботки к местам их использования. Для этого необходимо связать СОД и рабочие места пользователей с помощью каналов связи. Системы, предназначенные для обработки данных, передаваемых по каналам связи, называются системами телеобработки дан­ ных. Состав технических средств системы телеобработки данных укрупненно представлен на рис. 1.3. Пользователи (абоненты) взаимодействуют с системой посредством терминалов (абонент­ ских пунктов), подключаемых через каналы связи к средствам обработки данных — ЭВМ или вычислительному комплексу. Дан­ ные передаются по каналам связи в форме сообщений — блоков данных, несущих в себе кроме собственно данных служебную информацию, необходимую для управления процессами передачи и защиты данных от искажений. Программное обеспечение систем телеобработки содержит специальные средства, необходимые для управления техническими средствами, установления связи между ЭВМ и абонентами, передачи данных между ними и организации взаимодействия пользователей с программами обработки данных. Телеобработка данных значительно повышает оперативность информационного обслуживания пользователей и наряду с этим позволяет создавать крупномасштабные системы, обеспечиваю­ щие доступ широкого круга пользователей к данным и процеду­ рам их обработки. Вычислительные сети. С ростом масштабов применения элек­ тронной вычислительной техники в научных исследованиях, проектно-конструкторских работах, управлении производством и 8
Рис. 1.3. Система телеобработки данных Рис. 1.4. Вычислительная сеть транспортом и прочих областях стала очевидна необходимость объединения СОД, обслуживающих отдельные предприятия и коллективы. Объединение разрозненных СОД обеспечивает доступ к данным и процедурам их обработки для всех пользователей, связанных общей сферой деятельности. Так, экспериментальные данные, полученные группой исследователей, могут использо­ ваться при проектно-конструкторских работах, результаты проек­ тирования— при технологической подготовке производства, ре­ зультаты испытаний и эксплуатации изделий — для совершенст­ вования конструкций и технологии производства и т. д. Чтобы объединить территориально разрозненные СОД в единый комп­ лекс, необходимо, во-первых, обеспечить возможность обмена данными между СОД, связав соответствующие ЭВМ и вычисли­ тельные комплексы каналами передачи данных, и, во-вторых, оснастить системы программными средствами, позволяющими пользователям одной системы обращаться к информационным, программным и техническим ресурсам других систем. В конце 60-х годов был предложен способ построения вычис­ лительных сетей, объединяющих ЭВМ (вычислительные комп­ лексы) с помощью базовой сети передачи данных. Структура вычислительной сети в общих чертах представлена на рис. 1.4. Ядром является базовая сеть передачи данных (СПД), которая состоит из каналов и узлов связи (УС). Узлы связи принимают данные и передают их в направлении, обеспечивающем доставку данных абоненту. ЭВМ подключаются к узлам базовой сети пере­ дачи данных, чем обеспечивается возможность обмена данными между любыми парами ЭВМ. Совокупность ЭВМ, объединенных сетью передачи данных, образует сеть ЭВМ. К ЭВМ непосредст­ венно или с помощью каналов связи подключаются терминалы, через которые пользователи взаимодействуют с сетью. Совокуп­ ность терминалов и средств связи, используемых для подключе­ ния терминалов к ЭВМ, образует терминальную сеть. Таким об9
разом, вычислительная сеть представляет собой композицию базо­ вой сети передачи данных, сети ЭВМ и терминальной сети. Такая вычислительная сеть называется глобальной или распределенной (в дальнейшем — «вычислительная сеть», в отличие от локаль­ ной). Вычислительные сети используются для объединения ЭВМ, находящихся на значительном расстоянии друг от друга в преде­ лах региона, страны или континента. В вычислительной сети все ЭВМ оснащаются специальными программными средствами для сетевой обработки данных. На се­ тевое программное обеспечение возлагается широкий комплекс функций: управление аппаратурой сопряжения и каналами связи; установление соединений между взаимодействующими процес­ сами и ЭВМ; управление процессами передачи данных; ввод и выполнение заданий от удаленных терминалов; доступ программ к наборам данных, размещенных в удаленных ЭВМ, и др. К сете­ вому программному обеспечению предъявляются следующие тре­ бования: сохранение работоспособности сети при изменении ее структуры вследствие выхода из строя отдельных ЭВМ, каналов и узлов связи, а также возможность работы ЭВМ с терминалами различных типов и взаимодействия разнотипных ЭВМ. Функции, возлагаемые на сетевое программное обеспечение, отличаются высоким уровнем сложности и реализуются с использованием специально разработанных методов управления процессами пере­ дачи и обработки данных. Вычислительные сети — наиболее эффективный способ построе­ ния крупномасштабных СОД. Использование вычислительных сетей позволяет автоматизировать управление отраслями произ­ водства, транспортом и материально-техническим снабжением в масштабе крупных регионов и страны в целом. За счет кон­ центрации в сети больших объемов данных и общедоступности средств обработки значительно улучшается информационное обслуживание научных исследований, повышается производитель­ ность труда инженерно-технических работников и качество адми­ нистративно-управленческой деятельности. Кроме того, объеди­ нение ЭВМ в вычислительные сети позволяет существенно повы­ сить эффективность их использования. Как показывает практика, стоимость обработки данных в вычислительных сетях по крайней мере в полтора раза меньше, чем при использовании автономных ЭВМ. Локальные вычислительные сети. К концу 70-х годов в сфере обработки данных широкое распространение наряду с ЭВМ об­ щего назначения получили мини- и микро-ЭВМ и начали приме­ няться персональные ЭВМ. При этом для обработки данных в рам­ ках одного предприятия или его подразделения использовалось большое число ЭВМ, каждая из которых обслуживала небольшую группу пользователей, а микро-ЭВМ и персональные ЭВМ — от­ дельных пользователей. В то же время коллективный характер труда требовал оперативного обмена данными между пользовате­ лями, т. е. объединения ЭВМ в единый комплекс. В конце 70-х годов 10
Рис. 1.5. Локальная вычислительная сеть был разработан эффективный спо­ соб объединения ЭВМ, расположен­ ных на незначительном расстоянии друг от друга — в пределах одного здания или группы соседних зда­ ний, с помощью моноканала (по­ следовательного интерфейса) —ло­ кальные вычислительные сети. Локальная вычислительная сеть (ЛВС) — совокупность близко­ расположенных ЭВМ, которые связаны последовательными ин­ терфейсами и оснащены программными средствами, обеспечиваю­ щими информационное взаимодействие между процессами в раз­ ных ЭВМ. Типичная структура ЛВС изображена на рис. 1.5. Со­ прягаются ЭВМ с помощью моноканала — единого для всех ЭВМ сети канала передачи данных. В моноканале наиболее широко используются скрученная пара проводов, коаксиальный кабель или волоконно-оптическая линия. Длина моноканала не превы­ шает обычно нескольких сотен метров. При этом пропускная спо­ собность моноканала составляет 10 5 —10 7 бит/с, что достаточно для обеспечения информационной связи между десятками ЭВМ. ЭВМ сопрягаются с моноканалом с помощью сетевых адаптеров (СА), иначе контроллеров, реализующих операции ввода — вы­ вода данных через моноканал. Наличие в сети единственного ка­ нала для обмена данными между ЭВМ существенно упрощает процедуры установления соединений и обмена данными между ЭВМ. Поэтому сетевое программное обеспечение ЭВМ оказы­ вается более простым, чем в вычислительных сетях, содержащих сеть передачи данных, и легко встраивается даже в микро-ЭВМ. Вследствие этого локальные вычислительные сети оказываются эффективным средством построения сложных СОД на основе микро- и мини-ЭВМ. Локальные вычислительные сети получают широкое примене­ ние в системах автоматизации проектирования и технологической подготовки производства, системах управления производством, транспортом, снабжением и сбытом (учрежденческих системах), а также в системах автоматического управления технологическим оборудованием, создаваемых на основе микро- и мини-ЭВМ, в частности в гибких производственных системах. Классификация СОД. Классифицируются СОД в зависимости от способа построения (рис. 1.6). СОД, построенные на основе отдельных ЭВМ, вычислительных комплексов и систем, образуют класс сосредоточенных (централизованных) систем, в которых вся обработка реализуется ЭВМ, вычислительным комплексом или специализированной системой. Системы телеобработки и вычислительные сети относятся к классу распределенных систем, в которых процессы обработки данных рассредоточены по многим компонентам. При этом системы телеобработки считаются распре11
Рис. 1.6. Классификация СОД Рис. 1.7. Характеристики интерфейсов деленными в некоторой степени условно, поскольку основные функции обработки данных здесь реализуются централизованно — в одной ЭВМ или вычислительном комплексе. Существенное влияние на организацию СОД оказывают технические воз­ можности средств, используемых для сопряжения (комплексирования) ЭВМ. Основным элементом сопряжения является интерфейс, определяющий число линий для передачи сигналов и данных и способ (алгоритм) передачи инфор­ мации по линиям. Все интерфейсы, используемые в вычислительной технике и связи, разделяются на три класса: параллельные, последовательные и связные (рис. 1.7). Параллельный интерфейс состоит из большого числа линий, данные по которым передаются в параллельном коде — обычно в виде 8—128-разряд­ ных слов. Параллельные интерфейсы имеют большую пропускную способность, как правило, 106—108 бит/с. Столь большие скорости передачи данных обес­ печиваются за счет ограниченной длины интерфейса, которая обычно состав­ ляет от нескольких метров до десятков метров и в редких случаях дости­ гает сотни. Последовательный интерфейс состоит, как правило, из одной линии, данные по которой передаются в последовательном коде. Пропускная способ­ ность последовательных интерфейсов обычно составляет 105—107 бит/с при длине линии от десятков метров до километра. Связные интерфейсы содержат каналы связи, работа которых обеспечивается аппаратурой передачи данных, повышающей (в основном с помощью физических методов) достоверность пере12
дачи. Связные интерфейсы обеспечивают передачу данных на любые расстоя­ ния, однако с небольшой скоростью — в пределах от 103 до 105 бит/с. Приме­ нение связных интерфейсов экономически оправдывается на расстояниях, не меньших километра. В сосредоточенных системах применяются в основном параллельные ин­ терфейсы, используемые для сопряжения устройств и построения многомашин­ ных и многопроцессорных комплексов, и только в отдельных случаях, чаще для подключения периферийных устройств, применяются последовательные ин­ терфейсы. Параллельные интерфейсы обеспечивают передачу сигналов преры­ вания, отдельных слов и блоков данных между сопрягаемыми ЭВМ и устрой­ ствами. В распределенных системах из-за значительности расстояний между компонентами применяются последовательные и связные интерфейсы, кото­ рые исключают возможность передачи сигналов прерывания между сопрягае­ мыми устройствами и требуют представления данных в виде сообщений, пере­ даваемых с помощью операций ввода — вывода. Различие способов представ­ ления данных в параллельных, последовательных и связных интерфейсах и в пропускной способности интерфейсов существенно влияет на организацию обработки данных и, следовательно, программного обеспечения СОД. 1.2. СОСТАВ И ФУНКЦИОНИРОВАНИЕ Системы обработки данных строятся из технических и про­ граммных средств, существенно различающихся по своей природе. Поэтому СОД принято рассматривать как совокупность двух составляющих: технических средств и программного обеспечения. Функционирование СОД определяется взаимодействием про­ граммных и технических средств, в результате чего свойства си­ стемы проявляются как совокупные свойства технических и про­ граммных средств. Технические средства. Основу СОД составляют технические средства — оборудование, предназначенное для ввода, хранения, преобразования и вывода данных. Состав технических средств определяется структурой (конфигурацией) СОД, т. е. тем, из ка­ ких частей (элементов) состоит система и каким образом эти части связаны между собой. Математическая форма представле­ ния структуры — граф, вершины которого соответствуют элемен­ там системы, а ребра (дуги) — связям между элементами. Инже­ нерная форма представления структуры — схема. Таким образом, схема и граф тождественны по содержанию и различны по форме. В схеме для изображения элементов используются различные геометрические фигуры, а для изображения связей — линии мно­ гих типов. За счет этого схема приобретает большую по сравне­ нию с графом наглядность. Основные элементы структуры СОД — устройства: процессоры, устройства запоминающие, ввода — вы­ вода, сопряжения с объектами и др. Устройства связываются с помощью интерфейсов, включающих в себя совокупность линий или каналов передачи данных (линий связи). Пример структуры, представленной на уровне устройств, приведен на рис. 1.8. В состав рассматриваемого комплекса входят две ЭВМ, каждая из которых снабжена тремя каналами ввода —вывода МКО, С/С/ и СК2, двумя накопителями на магнитных дисках НМД! и НМД2 и дисплеями Д1 и Д2, 13
Рис. 1.8. Двухмашинный вычислительный комплекс. П — процессор; ОП— опе­ ративная память; МК— мультиплексный канал; КНМД— контроллер НМД; КНМЛ — контроллер НМЛ; КД — контроллер дисплеев; МПД — мультиплек­ сор передачи данных; КС — канал связи; Д — дисплей подключенными через контроллер КД к мультиплексному каналу МКО. Ма­ шины связаны с общим для них набором внешних запоминающих устройств — накопителями на магнитных дисках НМДЗ и НМД4 и магнитных лентах НМЛ1—НМЛ4, которые подключены к селекторным каналам СК2 через со­ ответствующие контроллеры КНМД и КНМЛ. К ЭВМ подключены мульти­ плексоры передачи данных МПД1 и МПД2, каждый из которых обслуживает четыре канала связи КС1—КС4 и КС5—КС8. На рисунке линиями представ­ лены следующие интерфейсы: интерфейс прямого управления, сопрягающий процессоры ЭВМ1 и ЭВМ2; интерфейсы оперативной памяти, связывающие опе­ ративную память с процессором и каналами ввода — вывода МКО, СК1 и СК2\ интерфейсы ввода — вывода, связывающие каналы ввода —вывода с кон­ троллерами запоминающих устройств и устройств ввода — вывода; малые ин­ терфейсы, посредством которых накопители и устройства ввода — вывода под­ ключаются к соответствующим контроллерам. Структура сложных систем при представлении ее на уровне устройств может оказаться настолько сложной, что теряет обо­ зримость и выходит за рамки возможностей методов исследова­ ния, используемых при анализе и синтезе систем. В таких слу­ чаях структура описывается на более высоком уровне, когда 14
в качестве элементов выступают ЭВМ, многопроцессорные комп­ лексы и сложные подсистемы, которые изображаются одной вер­ шиной графа. Таким образом, элемент структуры СОД — это прежде всего удобное понятие, но не физическое свойство объ­ екта. Главное требование к изображению структуры — информа­ тивность. Структура СОД дает общее представление о составе техниче­ ских средств и связей между ними. Дополнительные сведения о технических средствах даются в форме спецификации, где для каждого элемента структуры и каждого типа связей между эле­ ментами указывается: наименование элемента, приведенное на структурной схеме; тип устройства, соответствующего элементу структурной схемы; технические характеристики устройства или средства связи (производительность, емкость памяти, пропускная способность). В связи с процессами обработки данных технические средства рассматриваются как совокупность ресурсов двух типов: устройств и памяти. Устройство — ресурс, используемый для преобразования и ввода — вывода данных, разделяемый между процессами (за­ дачами) во времени. Примеры устройств — процессоры, каналы ввода — вывода, периферийные устройства (ввода — вывода и внешние запоминающие) и каналы передачи данных. В каждый момент времени устройство используется одним процессом, реали­ зуя соответствующие операции: преобразование или ввод — вывод данных. Основная характеристика устройства — производитель­ ность, определяемая числом операций, выполняемых в секунду, или пропускная способность, определяемая количеством единиц информации (байтов), передаваемых в секунду. Память — ресурс, используемый для хранения данных и разделяемый между про­ цессами по объему и времени. Примеры — оперативная память и накопители на магнитных дисках. Основная характеристика па­ мяти — емкость, определяемая предельным количеством инфор­ мации, размещаемой в памяти. В одной памяти одновременно могут размещаться данные, относящиеся к нескольким процес­ сам. Накопитель на магнитных дисках содержит два ресурса, являясь одновременно памятью определенной емкости и устрой­ ством, обслуживающим операции ввода — вывода данных. Таким образом, состав технических средств определяет номен­ клатуру ресурсов, используемых для хранения, ввода — вывода и преобразования данных. Конфигурация связей между устройст­ вами определяет пути передачи данных в системе и порядок до­ ступа процессов к устройствам и данным, хранимым в памяти. Программное обеспечение. Технические средства СОД реали­ зуют элементарные операции ввода — вывода и обработки дан­ ных. Требуемый набор функций, определяемых назначением СОД, обеспечивается совокупностью программ — программным обеспеченим СОД. Программное обеспечение СОД строится по многоуровневому, иерархическому, принципу. Основные процессы обработки дан15
Рис. 1.9. Многоуровневая организация СОД ных описываются в терминах операций над математическими и логическими элементами данных, вводимых проблемно- и про­ цедурно-ориентированными языками программирования. Эти опе­ рации с помощью программных средств более низких уровней ин­ терпретируются как более простые операции и в конце концов сводятся к операциям, реализуемым техническими средствами сод. Пример многоуровневой реализации функций в СОД приве­ ден на рис. 1.9. Технические средства СОД обеспечивают реали­ зацию элементарных функций — операций ввода, хранения, преоб­ разования и вывода данных, которые выполняются с помощью схем и средств микропрограммного управления. Функции, реали­ зуемые техническими средствами, относятся к первому, низшему, уровню иерархии. Функции более высоких уровней сложности обеспечиваются программным обеспечением СОД, включающим в себя операционную систему и прикладное программное обес­ печение. Операционная система (ОС)—совокупность программ, пред­ назначенных для управления работой СОД и реализации наи­ более массовых процедур взаимодействия с пользователями, ввода — вывода, хранения и преобразования данных. Управление работой СОД сводится к управлению процессами и ресурсами, обеспечивающему эффективное использование оборудования СОД и требуемое качество обслуживания пользователей. Функции управления работой СОД реализуются управляющими програм­ мами ОС, включающими в свой состав супервизор, программы управления заданиями и данными. Супервизор контролирует со16
стояние всех технических средств и процессов (задач) и управ­ ляет ими, обеспечивая необходимый режим обработки данных путем распределения процессов в пространстве и времени. Су­ первизор выделяет задачам области (разделы) памяти и устрой­ ства ввода — вывода, инициирует выполнение процессором про­ грамм, начинает операции ввода — вывода и обрабатывает сиг­ налы прерывания, отмечающие окончание операций ввода — вывода и особые ситуации, возникающие при выполнении про­ грамм и работе устройств. Программы управления заданиями обеспечивают ввод и интер­ претацию команд операторов, управляющих работой СОД, и зада­ ний, формируемых пользователями СОД. Операторы с помощью специальных команд воздействуют на порядок функционирования и получают информацию о текущем состоянии СОД. Эти про­ граммы интерпретируют задания в виде соответствующих дейст­ вий и обеспечивают их необходимыми ресурсами — разделами оперативной и внешней памяти, устройствами ввода — вывода, наборами данных и др. Задания, обеспеченные ресурсами, необхо­ димыми для их выполнения, образуют задачи. Управление зада­ чами реализуется супервизором. Для обращения к программам управления заданиями применяется язык управления заданиями, в терминах которого пользователи и операторы, управляющие работой системы, записывают задания на выполнение работ в си­ стеме. Программы управления данными обеспечивают доступ к на­ борам данных и организацию работы устройств ввода — вывода. Средства управления данными настраивают программы на работу с конкретными наборами данных и устройствами, в которых хранятся наборы, и за счет этого создают возможность при про­ граммировании задач манипулировать с данными как с логиче­ скими объектами, не связанными с конкретными устройствами. Таким образом, управление данными сводится к сопряжению программ с наборами данных и устройствами, а использование этих устройств контролируется и координируется супервизором. Функции, реализуемые управляющими программами ОС, от­ носятся ко второму и третьему уровню функций системы (см. рис. 1.9). Функции ОС расширяются за счет средств системного про­ граммного обеспечения — программных средств телеобработки, управления базами данных, сетевой обработки и др. Системное программное обеспечение является основой для построения при­ кладного программного обеспечения и предоставляет пользова­ телю средства, необходимые для работы со специальными устрой­ ствами (например, с аппаратурой передачи данных и удаленными терминалами) или для специальной обработки данных. Функции, реализуемые средствами системного программного обеспечения, относятся к четвертому уровню иерархии. К пятому уровню относятся функции, выполняемые систем­ ными обрабатывающими программами ОС. Эти программы вклю17
чают в себя: трансляторы с языков программирования; редакторы связей, обеспечивающие сборку программных модулей в про­ граммы с заданной структурой; средства отладки программ и перемещения наборов данных с одних носителей на другие и т. д. Функции, обеспечиваемые трансляторами, представляются в виде языков программирования: машинно-, процедурно- и проблемноориентированных языков, языков генерации программ ввода — вывода и др. Прикладное программное обеспечение — совокупность приклад­ ных программ, реализующих функции обработки данных, связан­ ные с конкретной областью применения системы. В системах авто­ матизации проектирования радиоэлектронной аппаратуры при­ кладные программы обеспечивают анализ электронных схем, размещение электронных элементов по конструктивным единицам, разводку соединений на печатных платах и т. д.; в автоматизи­ рованных системах управления производством — календарное и оперативное планирование производства на предприятии и в ни­ зовых производственных подразделениях, учет и анализ произ­ водственной деятельности и т. д. Состав прикладных программ определяется назначением системы. К программным средствам СОД примыкают наборы данных, рассматриваемых как особая составляющая — информационное обеспечение СОД. Наборы данных — совокупность логически свя­ занных элементов данных, организованных по определенным пра­ вилам и снабженных описанием, доступным системе программи­ рования (средствам управления данными). Наборы данных снаб­ жаются именами, с помощью которых программы обращаются к соответствующим наборам и их элементам. Одни и те же на­ боры данных могут использоваться многими прикладными про­ граммами. Чтобы исключить необходимость представления одних и тех же данных в различной форме, вариантах и сочетаниях, ориентированных на разные программы, необходимо обеспечить независимость данных и программ. Это достигается за счет орга­ низации данных в виде специальных структур — баз и банков данных, а также использования совокупности программных средств, предназначенных для выборки, модификации и добавле­ ния данных, — системы управления базами данных. Организация данных в форме баз обеспечивает независимость прикладных программ от логической и физической организации базы данных, в результате чего изменения в программах не влекут за собой изменений базы и реорганизация базы данных не требует внесе­ ния изменений в программы, оперирующие с данными. Функционирование СОД. Функционирование СОД представ­ ляется в виде процессов. Процесс1 — это динамический объект, реализующий целенаправленный акт обработки данных. Про­ цессы разделяются на прикладные и системные. Прикладные про­ цессы реализуют основные функции СОД, заданные прикладными 1 1а В ряде публикаций — вычислительный процесс.
программами или обраба­ тывающими программами ОС, и инициируются зада­ ниями пользователей или сигналами, поступающими в СОД из внешней среды. Примеры прикладных процессов: решение прикладной задачи; редактирова­ ние, трансляция и сборка программы; сортировка набора данных и др. Системные процессы реализуют вспомогательные функции, обеспечивающие работу СОД. Примеры системных процессов: си­ стемный ввод; системный вывод; перемещение страниц в виртуаль­ ной памяти; работа супервизора и др. Как правило, системные процессы существуют в течение всего периода работы СОД — от момента включения до момента выключения СОД. Процесс Р( описывается тройкой Р;=<^-, Л,-, 7\>, где й —мо­ мент инициирования процесса, Л,-— атрибуты процесса, определя­ ющие имена источника, инициировавшего процесс, пользо­ вателя, задания, режим обработки данных, приоритет процесса и др., и Тг — трасса процесса. Трасса процесса — последо­ вательность событий, связанных с изменением состояния процесса. Трасса процесса представляется в виде упорядо­ ченного множества событий Г/={$1, 5 2 ,...,5м}, имевших место в моменты времени 1Ху /2>--.»*ль причем ^ ^ / г ^ ••• ^ м . К собы­ тиям относятся моменты ввода задания, начала и завершения об­ работки шагов (пунктов) задания, начала и окончания выполне­ ния процессов в устройствах СОД, начала использования и освобождения разделов памяти, предоставляемых процессу в запо­ минающих устройствах, и др. Каждое событие связывается с мо­ ментом его возникновения, программой, реализующей процесс, и ресурсом, обслуживающим процесс. Таким образом, трасса харак­ теризует динамику процесса — развитие процесса во времени и пространстве. Трасса может быть представлена в виде временной диаграммы, на рис. 1.10 изображающей выполнение программы процессором и внешним устройством. Отрезки, выделенные на осях жирными линиями, соответствуют периодам, когда процессор и внешнее устройство заняты выполнением программы. Дугами обо­ значены интервалы времени, в течение которых процесс нахо­ дится в состоянии ожидания, т. е. не обслуживается ни одним устройством, ожидая момента освобождения устройства. Таким образом, функционирование СОД выражается в форме процессов выполнения программ. Процесс выполнения программы связан с использованием ресурсов СОД, а также наборов дан­ ных и самих программ. Следовательно, характерной чертой про­ цесса является его одновременная связь и с выполнением про­ грамм и с работой технических средств СОД. Рабочая нагрузка. Процесс функционирования СОД сущест­ венно зависит от состава заданий, исходных данных и сигналов, 19
поступающих на вход СОД. Весь объем поступающей информа­ ции принято называть рабочей нагрузкой СОД. При проектирова­ нии и эксплуатации СОД наибольший интерес представляет по­ требность заданий в ресурсах: оперативной и внешней памяти, процессорном времени, устройствах ввода — вывода и др. Поэтому рабочую нагрузку, относящуюся к промежутку времени Г, опре­ деляют в виде множества характеристик заданий !. = {'<} = {<М<. е п , . - • . *ш>Ъ (1.1) где и — описание 1-го задания, устанавливающее его атрибуты Л,- и потребность задания 0 п , . . . , 9 ^ в ресурсах 1,...,Л/. Напри­ мер, значение 0л может определять емкость области оператив­ ной памяти, необходимой заданию, 0/2 — число выполняемых про­ цессором операций, 0,-3 — количество вводимых данных и т. д. Число заданий, обрабатываемых СОД за промежуток времени, дающий полное представление о рабочей нагрузке, обычно весьма велико. Поэтому описание рабочей нагрузки в виде (1.1) оказы­ вается, как правило, громоздким. Для представления рабочей на­ грузки в компактной форме потребность заданий в ресурсах характеризуется среднестатистическими значениями объема ре­ сурсов, приходящимися на одно задание. Рабочая нагрузка зависит от назначения (сферы применения) СОД и оказывается различной для систем, оперирующих с раз­ ными классами задач: инженерно-техническими, планово-эконо­ мическими, учетно-статистическими и др. 1.3. ХАРАКТЕРИСТИКИ И ПАРАМЕТРЫ При проектировании СОД стремятся обеспечить наиболее пол­ ное соответствие системы своему назначению. Степень соответст­ вия системы своему назначению называется эффективностью (ка­ чеством) системы. Для сложных систем, какими являются СОД, эффективность не удается определить одной величиной, и поэтому ее представляют набором величин, называемых характеристиками системы1. Набор характеристик формируется таким образом, чтобы в своей совокупности они давали наиболее полное пред­ ставление об эффективности системы. Основными характеристи­ ками СОД являются производительность, время ответа, надеж­ ность и стоимость. В дополнение к ним используются следующие характеристики: габариты, масса, потребляемая мощность, диа­ пазон рабочих температур, ремонтопригодность и др. Характеристики зависят от организации системы — структуры, состава программного обеспечения, режима функционирования системы и др. Применительно к задачам оценки эффективности 1 Характеристики иначе называются частными показателями эффективности (качества) системы. Однако характеристика^ связывается с определенным свой­ ством системы, а показатель — с величиной и способом ее вычисления, т. е. характеристика — понятие более высокого ранга, чем показатель. 20
организация СОД определяется в виде математических объектов, называемых параметрами системы. В качестве параметров ис­ пользуются величины, определяющие, например, число и быстро­ действие устройств, емкость памяти, рабочую нагрузку и др. На­ ряду с этими величинами в качестве параметров могут использо­ ваться такие математические объекты, как множества, графы, алгоритмы и др. В число параметров включаются все объекты, характеризующие первичные аспекты организации системы и су­ щественно влияющие на характеристики. Таким образом, характеристики определяют свойства системы как целого, проявляющиеся в процессе эксплуатации системы и зависящие от ее организации, представляемой соответствующим набором параметров. В математическом аспекте характеристики можно рассматривать как наименования функций, аргументами которых являются параметры. Рассмотрим способы оценки основных характеристик СОД и наборы параметров, влияющих на характеристики. Производительность. Производительность—характеристика вы­ числительной мощности системы, определяющая количество вы­ числительной работы, выполняемой системой за единицу времени. В настоящее время отсутствует общепринятая методика оценки производительности СОД, что связано в первую очередь с отсут­ ствием единиц для измерения количества вычислительной работы. Поэтому для оценки производительности используется широкая номенклатура величин — показателей производительности, кото­ рые и в отдельности и в совокупности не удовлетворяют в полной мере потребностям теории и практики проектирования и эксплуа­ тации СОД. Ниже определяются основные способы оценки про­ изводительности 1. Технические средства СОД (ЭВМ и периферийное оборудова­ ние) обладают производительностью вне связи с операционной системой, прикладным программным обеспечением и режимом эксплуатации системы. Производительность технических средств оценивается их быстродействием — числом операций, выполняе­ мых ЭВМ и устройствами за секунду. Совокупность значений У= (Уъ • • •» У*), определяющих быстродействия устройств 1 , . . . , N. входящих в состав системы, характеризует номинальную производительность системы. Чтобы оценка номинальной произ­ водительности была по возможности простой, стремятся умень­ шить число составляющих в наборе ( У ь . . . , У^). Это достигается двумя способа ми. Во-первых, быстродействие устройств, выпол­ няющих одинаковые операции и способных работать параллельно, представляют суммарным быстродействием. За счет этого номи­ нальное быстродействие может быть представлено как набор зна­ чений, а именно суммарное быстродействие процессоров, внешней 1 Подробный боте [18]. анализ показателей производительности приведен в ра­ 21
памяти, средств ввода и вывода, например: быстродействие про­ цессоров 1,2 млн. операций в секунду; быстродействие внешней памяти 200 обращений в секунду; скорость ввода 6 тыс. символов в секунду. Во-вторых, быстродействие внешней памяти и подси­ стем ввода — вывода может считаться несущественным и тогда номинальную производительность характеризуют одним значе­ нием— суммарным быстродействием процессоров системы. Номинальная производительность характеризует только потенциальные возможности устройств, которые не могут быть использованы полностью. Этому препятствует влияние структуры связей между устройствами на их произво­ дительность, что проявляется в изменении скорости работы одних устройств при работе других. Так, из-за того что процессор и каналы ввода — вывода под­ ключены к общей оперативной памяти, увеличение скорости ввода — вывода приводит к уменьшению производительности процессора; суммарная произво­ дительность устройств ввода — вывода, подключенных к мультиплексному ка­ налу, ограничена пропускной способностью канала; фактическая производи­ тельность накопителей, подключенных к блок-мультиплексному каналу, меньше их суммарного номинального быстродействия и т. д. Чтобы оценить влияние первой группы факторов — структуры системы на быстродействие устройств, используется специальная характеристика — комплексная производительность. Комплексная производительность оценивается набором быстродействий уст­ ройств VI*, . . .,Ул*, обеспечиваемых при совместной их работе, т. е. в составе комплекса технических средств. По вышеописанным причинам комплексная про­ изводительность ниже номинальной: VI* г^ У\9 ..., Удг*г^Уя-. Способ оценки комплексной производительности до сих пор не определен. Один из подходов к ее оценке сводится к следующему. Некоторым образом определяется типовая смесь операций ввода, обращения к внешней памяти, обработки и вывода дан­ ных, на основе которой создается синтетическая искусственная программа, по­ рождающая процесс с заданной смесью операций. Путем прогона синтетиче­ ской программы и измерения времени ее выполнения оценивается комплексная производительность системы. Показателем использования устройства в процессе работы си­ стемы является загрузка. Загрузка /-го устройства определяется отношением р1=Т(/Т9 где 7\- — время, в течение которого устрой­ ство работало, и Т — продолжительность работы системы. В те­ чение промежутка времени Т — 7,- устройство простаивает. Оче­ видно, что загрузка р ^ 1 . Если загрузка устройств 1,...,М равна Р ь . . . , рл- соответственно, то количество работы, выполняемой устройствами с быстродействием У1,...,Ух за единицу времени, равно Р1Уь...,р#1Лу. Совокупность значений р\У\>..., рдгУлхарактеризует производительность технических средств с учетом простоев, возникающих в процессе функционирования системы. Таким образом, оценка фактической производительности системы сводится к оценке загрузки устройств в конкретных условиях работы системы. На загрузку устройств существенно влияет режим обработки задач, реализуемый управляющими программами операционной системы. Влияние операционной системы проявляется, например, в следующем. Организация системного ввода и вывода связана с использованием процессора и внешних запоминающих устройств для промежуточного хранения вводимых и выводимых наборов данных. В результате этого часть времени процессора, каналов 22
ввода — вывода и внешних запоминающих устройств тратится на обслуживание ввода — вывода. Такая же ситуация возникает при организации в системе виртуальной памяти, режима разделения времени и обеспечения других вспомогательных функций. Чтобы оценить влияние операционной системы на производительность тех­ нических средств СОД, используется специальная характеристика — системная производительность. Системная производительность определяется набором зна­ чений р ^ ь ..., рдгУдг, в котором загрузка р1, ..., р ^ определена при совмест­ ной работе комплекса технических средств под управлением операционной си­ стемы. Из-за вышеописанных факторов системная производительность ниже комплексной (р1У1^1Л*, ..., р^У^^Улг*) и, следовательно, ниже номиналь­ ной (р1^1^У1, ..., рлгУдг^У*). В настоящее время общепринятая методика оценки системной производительности отсутствует. Для СОД, находящихся в эксплуатации или разрабатываемых для конкретного применения, класс задач полностью определен по крайней мере статистически, т. е. определена рабочая нагрузка СОД. В таком случае производительность оценивается на рабочей нагрузке и называется системной производительностью или крат­ ко — производительностью. Производительность наиболее просто оценивается числом за­ дач, решаемых системой за единицу времени: % задач/ч. Эта оценка информативна только для конкретной области применения СОД и ни о чем не свидетельствует, если не определен класс решаемых задач. По этой причине она используется, когда ана­ лизируются варианты организации одной СОД, и не может при­ меняться для сравнения СОД, работающих с различными набо­ рами задач. Рассмотрим способы определения производительности на рабо­ чей нагрузке для систем, находящихся в эксплуатации. Пусть за время Т система завершила обработку п задач (за­ даний). Тогда производительность системы за время Т составляет Х = п/Т (1.2) задач в единицу времени (например, в час). Обычно задачи поступают на обработку в случайные моменты времени и время пребывания задач в системе зависит от состава смеси (числа и характеристик) задач, одновременно обрабаты­ ваемых системой. В результате этого число задач п, обработан­ ных системой за время 7\— случайная величина и производитель­ ность X в интервале Т оценивается с погрешностью, имеющей статистическую природу и зависящей от случайной величины п и ее дисперсии. С увеличением длительности интервала Т значе­ ние п возрастает и погрешность оценки А, стремится к нулю при Другой способ определения производительности % — через среднее значение интервала между моментами окончания обра­ ботки задач. В этом случае в течение времени Т регистрируются 23
Рис. 1.11. Потоки задач на входе и выходе системы Рис. 1.12. Влияние интенсивности вход­ ного потока задач на производитель­ ность и время от­ вета интервалы между моментами завершения обработки ть...,Тп (рис. 1.11). Среднее значение этого интервала задач определяется интенсивностью выходного потока задач, и произво­ дительность системы (1.3) Оценки производительности (1.2) и (1.3) совпадают, если на­ чало и конец промежутка времени Т совпадают с моментами окончания обработки задач. Рассмотрим зависимость между двумя величинами: средним числом задач, поступающих в единицу времени на вход си­ стемы,— интенсивностью входного потока задач Л — и средним числом задач, покидающих систему за единицу времени, — интен­ сивностью выходного потока задач X. Зависимость представлена на рис. 1.12. В области О ^ Л ^ Л * интенсивность выходного по­ тока полностью определяется интенсивностью входного потока: Х=А. При Л > Л * система из-за ограниченности ресурсов — числа и быстродействия устройств, а также емкости памяти — не может в течение единицы времени обслужить все поступившие на обра­ ботку задания и интенсивность выходного потока %, достигнув предельного значения А,*, остается постоянной при любых значе­ ниях Л>Л*, причем Л*=Я*. Значение А,* определяет максималь­ ную производительность системы для заданного класса задач и является характеристикой самой системы, не зависящей от интен­ сивности входного потока задач. Таким образом, производитель­ ность системы — ограниченная сверху величина: О^Я^А,*. В об­ ласти 0 ^ Л < Я * все ресурсы системы в какой-то степени недоис24
пользуются. В области Л ^ Х * по крайней мере один ресурс за­ гружен полностью. Остальные ресурсы могут быть недогружены из-за нехватки одного или одновременно нескольких ресурсов. На производительность наиболее существенно влияют следую­ щие параметры: 1) число и быстродействие устройств, емкость оперативной и внешней памяти, с увеличением которых производительность мо­ жет возрастать, а также структура системы и пропускная способ­ ность связей между элементами системы; 2) режим обработки задач, определяющий порядок распреде­ ления ресурсов системы между задачами, поступающими на обра­ ботку; 3) рабочая нагрузка, в первую очередь объем вводимых, хра­ нимых в памяти, выводимых данных и число процессорных опе­ раций, необходимых для решения задачи. Оценка производительности в виде числа задач, решаемых си­ стемой за единицу времени, имеет смысл только для конкретной системы, работающей с заданным множеством задач. Чтобы срав­ нивать производительность различных систем, обрабатывающих различные классы задач, производительность на рабочей нагрузке определяют объемом вычислительной работы, выполняемой системой за единицу времени. Такую оценку представляют набо­ ром значений Р ь - - •, Рл, составляющие которого определяют объем обработки, ввода и вывода данных в единицу времени. Например, Р\ — число процессорных операций в секунду, Р 2 — число вводи­ мых за секунду символов. Как и при оценке производительности К числом задач в единицу времени, производительность системы в объеме работ Р\9...9Рн характеризуется предельным значением Р\*,..., Р#*, достигаемым при насыщении системы. Оценки производительности Я и Р ь . . . , Р ^ связаны следую­ щим образом. Пусть 6 ь . . . , 6 # — сложность вычислений, характе­ ризуемая средним числом операций типа 1 , . . . , # , выполняемых при решении одной задачи, причем значения 8ь...,6лг включают в себя все операции, в том числе относящиеся к системным про­ цессам. Тогда РЛ = Явл, / 1 = 1 , . . . , Ц\ (1.4) Я = Рп/Ол. (1.5) Различия в оценках Я, получаемых для различных индексов /г, свидетельствует о погрешностях в измерении Рп и 6П. Таким об­ разом, оценки производительности К и Р\,...,Рц однозначно свя­ заны через характеристики в ь . . . , 0# задач. Пусть известны характеристики задач 8 ь . . . , в # и суммарное быстродействие Уи..., Уя устройств, реализующих операции типа 1, ..., N соответственно. В предположении, что все устрой­ ства могут работать параллельно во времени и режим обработки задач, задаваемый управляющими программами операционной системы, обеспечивает параллельную работу устройств, можно 25
йолуЧйть верхнюю оценку максимальной производительности си­ стемы [Х*^т1п(У 1 /е 1 , . . . , УНЮ„). (1.6) Значения Уп/$п определяют максимальную производительность устройств типа л = 1 , . . . , # , характеризуемую числом задач, кото­ рые способны обслужить устройства за единицу времени. Наиме­ нее производительная в заданном классе задач группа однотип­ ных устройств и определит производительность системы. Оценка (1.6) будет ближе к реальному значению Я*, если вместо У и • • •, Уп подставить значения 1^*,..., Улг*, характеризующие комплексную производительность системы. Время ответа. Время ответа, иначе время пребывания заданий (задач) в системе,— длительность промежутка времени от мо­ мента поступления задания в систему до момента окончания его выполнения. На рис. 1.11 указано время ответа щ, «2,...для за­ даний / ь / 2 , . . . соответственно. В общем случае время ответа — случайная величина, что обу­ словлено следующими факторами: 1) влиянием исходных данных на число операций ввода, обра­ ботки и вывода данных и непредсказуемостью значений исходных данных; 2) влиянием состава смеси задач, одновременно находящихся в системе, и непредсказуемостью состава смеси из-за случайности момента поступления задач на обработку. Время ответа как случайная величина наиболее полно харак­ теризуется функцией распределения Р(и<х) или функцией плот­ ности вероятностей р(и). Чаще всего время ответа оценивается средним значением, которое определяется как статистическое сред­ нее случайной величины щ, 1 = 1 , . . . , п , наблюдаемой для задач /*: 1/ = — 2>Время ответа слагается из двух составляющих: времени выпол­ нения задачи и времени ожидания. Время выполнения задачи при отсутствии параллельных процессов равно суммарной длительно­ сти всех этапов процесса — ввода, обращения к внешней памяти, процессорной обработки и вывода. Время выполнения задачи зависит от сложности вычислений 0 1 , . . . , 0# и быстродействия V\,••уУN устройств 1 , . . . , Ы: *=Ев,/У,. (1.7) 1=1 Время ожидания — сумма промежутков времени, в течение ко­ торых задача находилась в состоянии ожидания требуемых ресур­ сов. Ожидание возникает при мультипрограммной обработке, когда ресурс, необходимый задаче, занят другой задачей и первая 26
задача не выполняется, ожидая освобождения ресурса. Время ожидания зависит в первую очередь от режима обработки задач и интенсивности входного потока задач (заданий). Таким образом, время ответа зависит от тех же параметров, что и производительность: структуры и характеристик технических средств, режима обработки и характеристик задач. Зависимость среднего времени ответа Ц от интенсивности входного потока за­ дач Л приведена на рис. 1.12. При Л-^0 время ответа 1/-И)1, где Ф определяется (1.7). С увеличением Л среднее время ответа моно­ тонно возрастает и может принимать сколь угодно большие значе­ ния, если интенсивность входного потока Л превышает производи­ тельность системы А,* в течение сколь угодно большого периода времени. Среднее время ответа характеризует быстроту реакции системы на входные воздействия: задания, запросы абонентов и т. п. Ка­ чество системы тем выше, чем меньше среднее время ответа. Характеристики надежности. Надежность — свойство системы выполнять возложенные на нее функции в заданных условиях функционирования с заданными показателями качества: достовер­ ностью результатов, пропускной способностью, временем ответа и др. Работоспособность системы или отдельных ее частей нару­ шается из-за отказов аппаратуры — выхода из строя элементов или соединений. Важнейшая характеристика надежности — интенсивность от­ казов, определяющая среднее число отказов за единицу времени, как правило, за один час. Интенсивность отказов зависит от числа элементов и соединений, составляющих систему. Если любой от­ каз носит катастрофический характер, т. е. приводит к нарушению работоспособности системы, то интенсивность отказов в системе п ^о = Х^> где %1 — интенсивность отказов *-го элемента или соединения и п — число элементов и соединений в системе. Так, если Яо=Ю~2 ч, то в среднем за 100 ч происходит один отказ. Средний промежуток времени между двумя смежными отказами назы­ вается средней наработкой на отказ и равен 7 0 =1До. Так, если Яо=Ю~2 ч, то наработка на отказ составляет 100 ч. Промежутки времени между отказами — случайные величины со средним зна­ чением Го, которые, как правило, распределены по экспоненциаль­ ному закону. При этом вероятность того, что за время / произой­ дет отказ, Р{1<х) = 1 — е~~*1т\ Так, если Т0= 100 ч, то вероятность того, что в течение 100 ч работы системы произойдет отказ, Р(^< 100) «0,63 и с вероятностью 37 % отказ произойдет за время, большее 100 ч. Работоспособность системы, нарушенная в результате отказа, восстанавливается путем ремонта системы. Ремонт состоит в вы­ явлении причины нарушения работоспособности — диагностике си­ стемы и в восстановлении работоспособности путем замены неис­ правного элемента. Промежуток времени, затрачиваемый на вос27
становление работоспособности системы, называется временем восстановления. Его длительность зависит от сложности системы, степени совершенства средств диагностики и уровня ремонтопри­ годности системы. Время восстановления — случайная величина, характеризуемая средним значением Тв — средним временем вос­ становления. С учетом средней наработки на отказ Го и среднего времени восстановления Тъ надежность системы характеризуется коэффи­ циентом готовности Кг = Т0/(Т0 + Тъ), (1.8) определяющим долю времени, в течение которого система работо­ способна. Значение 1—/Сг представляет собой долю времени, в течение которого система неработоспособна, ремонтируется. Так, если /Сг=0,95, то 95 % времени система работоспособна и 5 % времени затрачивается на ее ремонт. Кроме того, коэффициент готовности определяет вероятность того, что в произвольный момент времени система работоспособна, а значение 1—Кт — вероятность того, что в этот момент времени система находится в состоянии восста­ новления. Надежность системы может быть повышена за счет резервиро­ вания ее элементов — дублирования, троирования и т. д. Однако резервирование приводит к существенному увеличению стоимости системы. Стоимость. Стоимость СОД — это суммарная стоимость техни­ ческих средств и программного обеспечения. Стоимость техниче­ ских средств определяется их составом и техническими характе­ ристиками. Устройства с более высокими техническими характе­ ристиками — быстродействием, емкостью, надежностью — имеют более высокую стоимость. Стоимость программного обеспечения определяется в основном затратами на разработку программ и тиражируемостью программ — числом систем, в которых исполь­ зуются программы. Затраты на разработку программ наиболее существенно зависят от сложности программ. Стоимость СОД влияет на стоимость решения задачи, которая определяется стоимостью ресурсов, используемых задачей: 1=\ где С1 — стоимостной коэффициент, определяющий стоимость ис­ пользования единицы ресурса ь (миллиона процессорных опера­ ций, килобайта памяти и др.), и 6* — объем ресурса I, используе­ мый задачей. 1.4. РЕЖИМЫ ОБРАБОТКИ ДАННЫХ Режим обработки данных — способ выполнения заданий (за­ дач), характеризующийся порядком распределения ресурсов си­ стемы между заданиями (задачами). Требуемый режим обработки 28
данных обеспечивается управляющими программами операцион­ ной системы, которые выделяют заданиям оперативную и внеш­ нюю память, устройства ввода — вывода, процессорное время и прочие ресурсы в соответствующем порядке с учетом атрибутов заданий — имен пользователей, приоритетов заданий, сложности задач и вычислений и др. Режим обработки данных порождает соответствующий режим функционирования системы, проявляющийся в порядке иницииро­ вания задач и представлении одним задачам преимущественного права на использование ресурсов, в организации ввода данных, хранения программ в оперативной памяти, вывода данных и т. д. Порядок распределения ресурсов между заданиями влияет на время пребывания заданий в системе, производительность системы, стоимость решения задач и другие характеристики системы и про­ цессов обработки задач. Выбор того или иного режима обработки данных обусловлен необходимостью обеспечения требуемых ха­ рактеристик системы и процессов обработки. В свою очередь ха­ рактеристики системы влияют на способы взаимодействия пользо­ вателей с системой, а следовательно, на интенсивность взаимодей­ ствия, продолжительность взаимодействия и т. д. Таким образом, режим обработки данных связан с организацией процесса функ­ ционирования системы и отражается в первую очередь на харак­ теристиках системы. Рассмотрим основные режимы обработки данных и их влияние на характеристики СОД. Мультипрограммная обработка. В общем случае процесс реше­ ния задачи сводится к последовательности этапов процессорной обработки, ввода и вывода данных и обращений к внешним запо­ минающим устройствам. При этом задача в каждый момент вре­ мени обрабатывается, как правило, одним устройством, а осталь­ ные не могут использоваться до завершения работы этого устрой­ ства и, следовательно, могут распределяться для выполнения других задач. Режим обработки, при котором в системе одновре­ менно обрабатывается несколько задач, называется мультипро­ граммной обработкой или, кратко, мультипрограммированием. При этом процессы обработки, относящиеся к разным задачам, одновременно выполняются различными устройствами системы, способными функционировать параллельно. В этом случае гово­ рят, что система обработки данных функционирует в мультипро­ граммном режиме1. Цель мультипрограммирования — увеличение производительности системы. Число задач, находящихся в системе, называется уровнем мультипрограммирования. Уровень мультипрограммирования вли­ яет на производительность и время ответа системы следующим 1 В тех случаях, когда необходимо подчеркнуть, что параллелизм в работе системы достигается именно за счет одновременной обработки нескольких не­ зависимых задач, а не параллельных процессов решения одной задачи, вместо термина «мультипрограммный режим» используется термин «мультизадачный режим». 29
Рис. 1.13. Влияние уровня мультипрограмми­ рования на производительность и время от­ вета образом. На рис. 1.13 штриховыми ли­ ниями показана зависимость произво­ дительности системы X и среднего вре­ мени ответа V от уровня мультипро­ граммирования М. При изучении этих зависимостей удобно кривые Х(М) и Ц(М) представлять ломаными линиями, состоящими из двух пря­ мых— асимптот и характеризующими верхнюю и нижнюю оценку: %(М) и 1){М) соответственно. В однопрограммном режиме (М=\) время ответа ^/= 6^1 = 0, где # определяется по формуле (1.7). При этом производительность % ='к\= \111\. С увеличением уровня мультипрограммирования М увеличи­ вается вероятность того, что большее число устройств одновре­ менно занято выполнением задач. Но вместе с тем вероятность того, что несколько задач одновременно обращаются к одному устройству, достаточно мала, и поэтому время ожидания оказы­ вается незначительным. Однако при уровне мультипрограммиро­ вания М=М* возникает ситуация, когда по крайней мере одно устройство оказывается полностью загруженным. Дальнейшее уве­ личение числа задач не приводит к росту производительности Х> которая определяется производительностью К* этого устройства, но при М>М* начинает резко возрастать время ответа I/, по­ скольку все большее число задач ожидает момента освобождения устройств К Значение М* называется точкой насыщения мульти­ программной смеси, а также точкой насыщения системы и зависит в первую очередь от числа устройств, которые в составе системы могут функционировать параллельно. Чем больше число устройств, тем больше М*. Кроме того, на значение М* существенно влияют свойства задач. Если задачи преимущественно используют одно устройство, то значение М* невелико и может быть равным еди­ нице. Если задачи загружают все устройства, то значение Л1* определяется числом устройств в системе. Работа системы при уровне мультипрограммирования М>М* неэффективна, поскольку нет выигрыша в производительности и увеличивается время ответа. 1 Полезно сопоставить характер изменения времени ответа на рис. 1.12 и 1.13. На рис. 1.12 при интенсивности входного потока задач Л->А,* время от­ вета Г/-+-оо, а на рис. 1.13 при уровне мультипрограммирования М-+М* время ответа Г/-*-сопз4, хотя в обоих случаях производительность системы %-+%*. Дело в том, что при Л>А,* система функционирует в нестационарном режиме, когда в единицу времени поступает (Л—А,*) заданий, которые не могут быть обработаны, если Л>Я*. Поэтому теоретически число заданий в системе может оказаться сколь угодно большим и в пределе, при /->оо, — бесконечным. На рис. 1.13 система всегда функционирует в стационарном режиме с постоянным числом задач М, находящихся в ней. Поэтому время ответа во всех случаях конечно. 30
Производительность к и среднее время ответа V связаны между собой зависимостью Х = МШ, (1.9) которая называется формулой Литтла и является фундаменталь­ ным законом теории массового обслуживания. В системе, состоящей из N устройств, загрузка которых равна рь ..., рдг, среднее число задач т , выполняемых одновременно в мультипрограммном режиме, равно суммарной загрузке ус­ тройств: т = Ер,. (1.10) 1=1 Остальные М — пг задач находятся в состоянии ожидания. Число одновременно выполняемых задач, определяемое (1.10), на­ зывается коэффициентом, мультипрограммирования и равно отно­ шению производительности системы в мультипрограммном режиме X к производительности в однопрограммном режиме К\ = 1/0, если затраты ресурсов на организацию мультипрограммирования воз­ растают пропорционально числу одновременно выполняемых за­ дач, т. е. т = ЯА1. (1.11) Таким образом, коэффициент мультипрограммирования пг яв­ ляется показателем увеличения производительности системы за счет мультипрограммирования. Из (1.10) следует, что коэффи­ циент мультипрограммирования 1^т^#, (1.12) где N — число устройств системы, способных функционировать параллельно с каждым из N — 1 остальных устройств. При этом предполагается, что система работает без отказов. Оперативная и пакетная обработка данных. Применительно к СОД, предназначенным для информационного обслуживания пользователей (но не технических объектов и систем), принято выделять два режима обработки данных: оперативную и пакетную обработку. Оперативная обработка данных характеризуется: 1) малым объемом вводимых — выводимых данных и вычислений, приходящимся на одно взаимодействие пользователя с системой (на одну задачу); 2) высокой интенсивностью взаимодействия и вытекающим отсюда требованием уменьшения времени ответа. Оперативная обработка необходима в системах банковских, резер­ вирования билетов, справочных и др. Пакетная обработка данных характеризуется: 1) большим объемом вводимых — выводимых данных и вычислений, приходящимся на одно взаимодействие пользователя с системой (на одну задачу); 2) низкой интенсив­ ностью взаимодействия и допустимостью большого времени ответа. Пакетная обработка типична для вычислительных центров науч31
Рис. 1.14. Время* ответа и интенсивность взаимодействия пользователей с си стемой для разных режимов обработки но-технического профиля, систем обработки учетно-статистических данных, результатов геофизических измерений и т. д. Области типичных значений времени ответа V и интенсивности Яо взаимодействия пользователя с системой, соответствующие опе­ ративной и пакетной обработке, представлены на рис. 1.14. Произ­ ведение ро = ^о^ определяет нагрузку, создаваемую пользовате­ лем. Значение ро можно рассматривать, во-первых, как долю вре­ мени, в течение которого пользователь обслуживается системой, и, во-вторых, как вероятность того, что в произвольный момент вре­ мени система инициирована пользователем, т. е. обслуживает его. Значение 1—ро определяет долю времени, в течение которого поль­ зователь не взаимодействует с системой, и одновременно вероят­ ность этого состояния. Так, для пакетной обработки (Хо=0,2 ч"1я ^/=0,15 ч) типичная нагрузка, создаваемая одним пользователем, р0 = 0,2-0,15=0,03. В рамках оперативной обработки выделяют два режима: за­ прос — ответ и диалоговый. Режим запрос — ответ характеризу­ ется меньшей интенсивностью и большей продолжительностью взаимодействия по сравнению с диалоговым режимом. Типичный пример использования режима запрос—ответ — справочная служба на основе ЭВМ. При этом пользователь формирует текст запроса, который вводится в ЭВМ, и ответ должен быть получен за не­ сколько десятков секунд. Работа в диалоговом режиме предпола­ гает практически мгновенный контакт пользователя с системой, при котором система реагирует на действия пользователя с за­ держкой в несколько секунд или доли секунды. Наиболее жесткие ограничения возникают, когда система должна обслуживать эле­ ментарные манипуляции пользователя, работающего за термина32
лом: например, реагировать на нажатие каждой клавиши. В этом случае время ответа не должно превышать 0,1 с. Менее жестким является режим, когда система должна реагировать только на моменты окончания набора строк, обеспечивая время 'ответа, рав­ ное нескольким секундам. Быстрота реакции системы на действия пользователя является непременным условием диалогового ре­ жима. Диалоговый режим создает максимальные удобства для поль­ зователя, обеспечивая постоянный контроль вводимых данных (программ и исходных данных), минимальное время ответа, воз­ можность оперативного вмешательства пользователя в процесс ре­ шения задачи и оперативный доступ пользователя к системе. За счет этого минимизируются потери из-за простоя пользователей в ожидании результатов, некорректных действий пользователей или «неожиданного» поведения программ. Однако диалоговый ре­ жим обеспечивается за счет использования системы с большой производительностью, что требует больших капитальных вложе­ ний. Кроме того, стоимость выполнения программы в диалоговом режиме больше, чем в пакетном, из-за немалых издержек, связан­ ных с управлением процессами со стороны операционной системы. При выполнении расчетов, особенно сложных, по апробирован­ ным программам и методикам постоянный контакт пользователя с системой необходим только на этапе ввода данных. При их об­ работке и выводе результатов оперативный контакт с пользовате­ лем не нужен. В таких случаях наиболее экономичным способом обработки данных является пакетный режим. В пакетном режиме организация процесса в системе имеет целью не минимизацию вре­ мени ответа, а снижение стоимости обработки данных за счет эффективного использования ресурсов системы. В пакетном ре­ жиме управление процессами — выбор заданий из очереди на об­ работку и порядок выполнения задач — направлено на повышение производительности системы за счет формирования смеси задач, обеспечивающей максимальную загрузку по возможности всех ре­ сурсов системы. В этом случае время ответа становится весьма значительным: десятки минут и часы. Вычислительные системы и комплексы в подавляющем боль­ шинстве случаев (а сети всегда) используются в режиме коллек­ тивного доступа, при котором с системой взаимодействует коллек­ тив пользователей. Выполнение заданий производится в мульти­ программном режиме. Обеспечение режимов пакетного, запрос— ответ и диалогового производится за счет соответствующих спосо­ бов управления ресурсами и процессами, реализуемых управляю­ щими программами операционной системы. Обработка в реальном масштабе времени. В системах управле­ ния реальными объектами, построенных на основе ЭВМ, процесс управления сводится к решению фиксированного набора задач бФ={А\у ..., Ам}. Каждая задача инициируется либо периодически, либо при возникновении определенных ситуаций в системе. При этом темп инициирования задач и время получения результатов 33
вычислений жестко регламентируются динамическими свойствами управляемого объекта: технологической установки, подвижного объекта и др. Это означает, что на время решения задач управле­ ния налагаются ограничения #1 <{/*!, ..., им^1/*М9 определяю­ щие предельное допустимое время ответа (/*ь ..., 0*м для задач Л ь ..., Ам соответственно. Режим, при котором организация обра­ ботки данных подчиняется темпу процессов вне СОД, называется обработкой в реальном масштабе времени (РМВ). Обработка в РМВ обеспечивается за счет: 1) выбора струк­ туры СОД и быстродействия устройств в соответствии с задачами обработки $& и требованиями к времени обработки (/* ь ..., {/*м; 2) способов организации процессов обработки, обеспечивающих требуемое время ответа ^ ! < { / * ь ..., им<У*м при ограниченной производительности устройств и заданной структуре СОД. Режим телеобработки данных. Телеобработка (удаленная об­ работка) — режим обработки данных при взаимодействии пользо­ вателей с СОД через линии связи. Телеобработка рассматривается в качестве самостоятельного режима обработки данных по сле­ дующим причинам. Во-первых, удаленность пользователей от СОД и наличие между ними специфического средства передачи данных — линии связи — порождает необходимость в специальных действиях пользователей при организации доступа к системе и за­ вершении сеанса работы. Во-вторых, наличие линий связи нала­ гает ограничения на форму и время обмена данными между поль­ зователями и СОД. Эти ограничения приводят к необходимости специальных способов организации данных и доступа к ним, что в свою очередь отражается на структуре прикладных программ, используемых в режиме телеобработки. Режим телеобработки характеризуется прежде всего специфи­ кой доступа пользователя к системе и системы к данным, переда­ ваемым через удаленные терминалы, т. е. связан в первую оче­ редь с организацией обработки данных внутри СОД. При этом пользователи могут работать в режимах пакетном, диалоговом или «запрос—ответ». Каждый из этих режимов характеризуется спе­ цифичным способом взаимодействия пользователей с системой и соответствующим временем ответа. ГЛАВА ВТОРАЯ ВЫЧИСЛИТЕЛЬНЫЕ КОМПЛЕКСЫ 2.1. ПАРАЛЛЕЛЬНАЯ ОБРАБОТКА ИНФОРМАЦИИ В первой главе было показано, что один из основных факто­ ров, определяющих развитие вычислительной техники в целом и вычислительных систем в частности,— это высокая производитель­ ность. Общий метод увеличения производительности — организа34
ция параллельной обработки информации, т. е. одновременное ре­ шение задач или совмещение во времени этапов решения одной задачи. Способы организации. Во всем многообразии способов органи­ зации параллельной обработки можно выделить три основных на­ правления: 1) совмещение во времени различных этапов разных задач; 2) одновременное решение различных задач или частей одной задачи; 3) конвейерная обработка информации. Первый путь — совмещение во времени этапов решения разных задач — это мультипрограммная обработка информации. Мульти­ программная обработка возможна даже в однопроцессорной ЭВМ и широко используется в современных СОД. Второй путь — одно­ временное решение различных задач или частей одной задачи — возможен только при наличии нескольких обрабатывающих ус­ тройств. При этом используются те или иные особенности задач или потоков задач, что позволяет осуществить тот или иной па­ раллелизм. Можно выделить несколько типов параллелизма, отра­ жающих эти особенности. Естественный параллелизм независимых задач заключается в том, что в систему поступает непрерывный поток не связанных между собой задач, т. е. решение любой задачи не зависит от ре­ зультатов решения других задач. В этом случае использование нескольких обрабатывающих устройств при любом способе комплексирования (косвенном или прямом) повышает производитель­ ность системы. Параллелизм независимых ветвей — один из наиболее распро­ страненных типов параллелизма в обработке информации. Суть его заключается в том, что при решении большой задачи могут быть выделены отдельные независимые части — ветви программы, которые при наличии нескольких обрабатывающих устройств мо­ гут выполняться параллельно и независимо друг от друга. Двумя независимыми ветвями программы будем считать такие части за­ дачи, при выполнении которых выполняются следующие условия: ни одна из входных для ветви программы величин не является выходной величиной другой программы (отсутствие функциональ­ ных связей); для обеих ветвей программы не должна производиться запись в одни и те же ячейки памяти (отсутствие связи по использованию одних и тех же полей оперативной памяти); условия выполнения одной ветви не зависят от результатов или признаков, полученных при выполнении другой ветви (независи­ мость по управлению); обе ветви должны выполняться по разным блокам программы (программная независимость). Хорошее представление о параллелизме независимых ветвей дает ярусно-параллельная форма программы, пример которой приведен на рис. 2.1. Программа представлена в виде совокуп35
Рис. 2.1. Ярусно-параллельная форма программы ности ветвей, расположенных в нескольких уровнях — ярусах. Кружками с цифрами внутри обозначены ветви. Длина ветви пред­ ставляется цифрой, стоящей около кружка. Стрелками показаны входные данные и результаты обработки. Входные данные обозна­ чаются символом х, выходные данные — символом у. Символы х имеют нижние цифровые индексы, означающие номера входных величин; символы у имеют цифровые индексы и внизу и вверху: цифра вверху соответствует номеру ветви, при выполнении кото­ рой получен данный результат, а цифра внизу означает порядко­ вый номер результата, полученного при реализации данной ветви программы. Изображенная на рисунке программа содержит 14 ветвей, рас­ положенных на 5 ярусах. Ветви каждого яруса не связаны друг 36
с другом, т. е. результаты решения какой-либо ветви данного яруса не являются входными данными для другой ветви этого же яруса. На этом же графе могут быть изображены и связи по уп­ равлению или памяти. В этом случае граф позволяет наглядно показать полностью независимые ветви. Для простоты изображе­ ния мы этого не делаем. На примере этой, в общем достаточно простой программы, можно выявить преимущества вычислительной системы, включаю­ щей несколько обрабатывающих устройств, и проблемы, которые при этом возникают. Примем, что длина 1-й ветви представляется числом временных единиц 1и которые требуются для ее исполнения. Тогда нетрудно подсчитать, что для исполнения всей программы потребуется N=14 Т = 2 ^ = 4 3 5 единиц времени. Если представить, что программа 1= 1 выполняется двумя обрабатывающими устройствами, работаю­ щими независимо друг от друга, то время решения задачи сокра­ тится. Однако это время, как нетрудно видеть, будет различным в зависимости от последовательности выполнения независимых ветвей. Рассмотрим три варианта выполнения программы ярусно-параллельной формы (рис. 2.1). Вариант 1. Процессор 1 выполняет ветви /—4—5—9—10—13, процес­ сор 2— ветви 2—6—3—7—8—//—12—14. При этом процессор 1 затрачивает 260 единиц времени, из которых 55 простаивает, так как не готовы данные для ветви 13. Процессор 2 затрачивает 230 единиц времени. Вариант 2. Процессор 1 выполняет ветви /—4—5—9—10—//—13, процес­ сор 2 — ветви 2—6—3—7—8—12—14. При этом процессор 1 затрачивает 245 единиц времени, из которых 25 простаивает по той же причине, что и в варианте 1. Процессор 2 затрачивает 215 единиц времени. Вариант 3. Процессор 1 выполняет ветви /—4—8—12—//—13, процес­ сор 2 — ветви 2—5—6—3—7—9—10—14. При этом процессор 1 затрачивает 235, а процессор 2 — 205 единиц времени, из которых 5 он простаивает. Сравнение этих вариантов показывает следующее. Во всех случаях время, через которое двухпроцессорная система выдает результаты */113, #1 14 , сущест­ венно сокращается: вместо 435 единиц времени результаты выдаются в пер­ вом варианте через 260, во втором — через 245 и в третьем — через 235 единиц времени, т. е. в последнем случае время решения задачи уменьшается в 1,85 раза. Выигрыш во времени может существенно колебаться в зависимости от последовательности выполнения ветвей каждым процессором (читатель при желании может построить и другие варианты решения задачи), поэтому про­ цессор должен выбирать новую ветвь с учетом этого обстоятельства. При ре­ шении задачи каждый процессор перед началом выполнения очередной ветви должен иметь информацию о готовности данных для этого. Таким образом, для того чтобы с помощью нескольких обра­ батывающих устройств решить задачу, имеющую независимые па­ раллельные ветви, необходима соответствующая организация про­ цесса, которая определяет пути решения задачи и вырабатывает необходимую информацию о готовности каждой ветви. Заметим, что все это относительно легко реализовать тогда, когда известна достаточно точно длительность выполнения каждой ветви. На практике это бывает крайне редко: в лучшем случае известна 37
приближенная длина ветвей. Поэтому организация оптимального или близкого к оптимальному графика работы является доста­ точно сложной задачей. Заметим, что, как правило, трудно избежать некоторых про­ стоев, которые возникают из-за отсутствия исходных данных для выполнения той или иной ветви. Все это приводит в конечном счете к тому, что выигрыш в производительности системы не­ сколько снижается. Следует отметить также и определенные слож­ ности, связанные с выделением независимых ветвей при разра­ ботке программ. Вместе с тем при решении многих сложных за­ дач только программирование с выделением независимых ветвей позволяет существенно сократить время решения. В частности, хо­ рошо поддаются параллельной обработке такого типа задачи ма­ тричной алгебры, линейного программирования, спектральной об­ работки сигналов, прямые и обратные преобразования Фурье и др. Параллелизм объектов или данных имеет место тогда, когда по одной и той же (или почти по одной и той же) программе должна обрабатываться некоторая совокупность данных, посту­ пающих в систему одновременно. Это могут быть, например, задачи обработки сигналов от ра­ диолокационной станции: все сигналы обрабатываются по одной и той же программе. Другой пример — обработка информации от датчиков, измеряющих одновременно один и тот же параметр и установленных на нескольких однотипных объектах. Программы обработки данных могут быть различного объема и сложности, начиная от очень простых, содержащих несколько операций, до больших программ в сотни и тысячи операций. Это могут быть и чисто математические задачи, например за­ дачи векторной алгебры — операции над векторами и матрицами, характеризующиеся некоторой совокупностью чисел. Решение за­ дачи при этом в значительной степени сводится к выполнению одинаковых операций над парами чисел двух аналогичных объек­ тов. Так, например, сложение двух матриц размерностью тХп заключается в сложении соответствующих элементов этих матриц: Л + В = [ал]+[&*л] = [я/л+&/л]. При этом операция сложения должна быть проведена над тХп парами чисел. Произведение матрицы размерностью тХп на скаляр сводится к выполнению тХп умно­ жений элементов матрицы на скаляр: <И = а[а/*]==[аа/*] и т. д. Очевидно, все эти операции могут выполняться параллельно и независимо друг от друга несколькими обрабатывающими устрой­ ствами. Третий путь параллельной обработки информации — конвейер­ ная обработка — может быть реализован в системе и с одним про­ цессором, разделенным на некоторое число последовательно вклю­ ченных операционных блоков, каждый из которых специализиро­ ван на выполнении строго определенной части операции. При этом процессор работает таким образом: когда 1-й операционный блок выполняет 1-ю часть /-й операции, (ь—1)-й операционный блок выполняет (I— 1)-ю часть (/+1)-й операции, а (1+1)-й опе33
Рис. 2.2. Структурная схема (а) и временная диаграмма (б) конвейера операций рационный блок выполняет (*+1)-ю часть (/—1)-й операции. В результате образуется своего рода конвейер обработки, который хорошо может быть проиллюстрирован следующим простым при­ мером. Операцию сложения двух чисел с плавающей запятой Л-2* + + В • 2У = С • 2хУу можно разделить на четыре последовательно исполняемых этапа, или шага: сравнение порядков (СП); вырав­ нивание порядков — сдвиг мантиссы с меньшим порядком для вы­ равнивания с мантиссой с большим порядком (ВП); сложение мантисс (СМ); нормализация результата (НР). В соответствии с этим в составе процессора предусмотрены четыре операционных блока, соединенных последовательно и реализующих четыре выше­ перечисленных шага операции сложения: блоки СП, ВП, СМ и НР (рис. 2.2, а). Примем, что время выполнения каждого шага равно соответственно 60, 100, 140, 100 не. Таким образом, операция сло­ жения будет выполняться последовательностью операционных бло­ ков за время 400 не. Далее предположим, что возникает задача сложения двух век­ торов А и В, содержащих по п элементов с плавающей запятой. Очевидно, для решения этой задачи потребуется сложить два числа: Выполним эти операции на процессоре, организовав обработку данных следующим образом. После того как блок СП выполнит свою часть операции над первой парой операндов, он передает результат в следующий блок — ВП, а в блок СП будет загружена очередная пара операндов. На следующем шаге блок ВП передаст результат выполнения своей части операции в блок СМ и начнет обрабатывать вторую пару операндов и т. д. Для того чтобы не создавались очереди операндов на обработку, примем, что время 39
выполнения каждого из этих этайов одинаково й равно макси­ мальному значению т=140 не. В результате получим конвейер из четырех операционных блоков. Первый результат на выходе кон­ вейера будет получен через 140X4 = 560 не, т. е. несколько позже, чем если бы время выполнения всех этапов не выравнивалось. Однако все последующие результаты будут выдаваться через каж­ дые 140 не. На рис. 2.2, б представлена временная диаграмма процесса. Общее время сложения двух векторов с помощью описанного кон­ вейера Тк= (п + пг— 1)т, где гп— число операционных блоков. Если бы конвейер не использовался, то это время было бы равно т Т0 = п^Х1У где %1 — время выполнения *-го этапа обработки. Если 1=1 применить конвейерную обработку к векторам, состоящим из 25 элементов, то получим Тк= (25 + 4— 1) • 140 = 3920 не, Г 0 =25-400 = = 10 000 не. Нетрудно заметить, что чем длиннее цепочка данных и чем на большее число этапов (а следовательно, и операционных блоков) разбивается операция (при той же длительности ее выполнения), тем больший эффект от использования конвейера может быть по­ лучен. В приведенном выше примере было рассмотрено конвейерное выполнение арифметических операций, но идея конвейера может быть распространена и на выполнение команд. Надо сказать, что конвейер 'команд применяется уже давно в обычных ЭВМ. При этом цикл выполнения команды разбивается на ряд этапов, на­ пример формирование адреса команды (ФАК), выборка команды из памяти (ВК), расшифровка кода операции (РКО), формирова­ ние адреса операнда (ФАО), выборка операнда из памяти (ВО) и наконец арифметическая или логическая операция (АЛО). В ус­ тройстве управления предусматриваются блоки, которые незави­ симо друг от друга и параллельно могут выполнять указанные этапы. Временная диаграмма показана на рис. 2.3. Для простоты время выполнения каждого этапа принято одинаковым (что, вообще говоря, не обязательно и не всегда делается). Таким образом, если в конвейере арифметических опера­ ций происходит параллельная обработка гп пар операндов, то в конвейере команд проис­ ходит совмещение во время выполнения / операций (/ — число этапов, на которое раз­ бито выполнение команды), что позволяет существенно увеличить производительность такой конвейерной системы. Рис. 2.3. Временная диаграмма кон­ вейера команд 40
К сожалению, выигрыш по производительности в/раз практически невозможен, так как может быть получен только при выполнении программы без условных переходов. Наличие условных переходов сразу нарушает работу конвейера и приводит к «холостым» пробе­ гам конвейера, когда по выработанному в команде Кь признаку ре­ зультата надо перейти к выполнению не /0+гй команды, а совер­ шенно другой, что вызывает необходимость очистки всех блоков и загрузки их другой операцией. В реальных ЭВМ и системах приме­ няются различные приемы, позволяющие определять признак пе­ рехода возможно раньше, однако совсем исключить влияние ус­ ловных переходов не удается. Тем не менее для определенных за­ дач, где имеют место цепочки команд без таких переходов, выиг­ рыш в производительности конвейерного процессора команд полу­ чается значительным. Как и в конвейере арифметических опера­ ций, выигрыш в производительности получается тем больше, чем длиннее участки программы без условных переходов и чем больше предусматривается независимость этапов (и, следовательно, бло­ ков устройства управления) при выполнении команды. Разумеется, в вычислительных системах можно одновременно использовать и конвейер команд, и конвейер арифметических опе­ раций, и даже несколько параллельно работающих конвейеров команд и арифметических операций. В последнем случае может быть получена очень высокая производительность системы. Именно по такому принципу построены самые быстродействующие вычи­ слительные системы, которые будут рассмотрены несколько позже. Классификация систем параллельной обработки. Процесс ре­ шения задачи можно представить как воздействие определенной последовательности команд программы (потока команд) на соот­ ветствующую последовательность данных (поток данных), вызы­ ваемых этой последовательностью команд. Различные способы ор­ ганизации параллельной обработки информации можно предста­ вить как способы организации одновременного воздействия одного или нескольких потоков команд на один или несколько потоков данных. Для такой классификации оказывается полезным ввести поня­ тие множественности потоков команд и данных. Под множествен­ ным потоком команд или данных будем понимать наличие в си­ стеме нескольких последовательностей команд, находящихся в ста­ дии реализации, или нескольких последовательностей данных, подвергающихся обработке командами. Исходя из возможности существования одиночных и множе­ ственных потоков все системы могут быть разбиты на четыре больших класса. 1. Системы с одиночным потоком команд и одиночным пото­ ком данных (ОКОД). 2. Системы с множественным потоком команд и одиночным по­ током данных (МКОД). 3. Системы с одиночным потоком команд и множественным потоком данных (ОКМД), 41
Рис. 2.4. Системы ОКОД (а), МКОД (б, в), ОКМД (г), МКМД (д) Д — данные; К — команды; Р — результаты 4. Системы с множественным потоком команд и множествен­ ным потоком данных (МКМД). Реализация описанных способов организации параллельной об­ работки информации хорошо укладывается в представленную классификацию, и каждому классу систем присущи вполне опре­ деленные способы. Системы класса ОКОД. Системы этого класса — обычные од­ нопроцессорные ЭВМ (рис. 2.4, а), включающие в себя запоми­ нающее устройство (ЗУ) для команд и данных (оно чаще всего бывает общим) и один процессор, содержащий арифметическо-логическое устройство (АЛУ) и устройство управления (УУ). В со­ временных системах этого класса наиболее широко используется первый путь организации параллельной обработки — совмещение во времени различных этапов решения разных задач, при котором в системе одновременно работают различные устройства: ввода, вывода и собственно обработки информации. В общем виде это достаточно подробно рассмотрено в предыдущей главе, однако практическая реализация этого принципа предусматривает и более широкое совмещение работы различных устройств. В отношении ввода—вывода информации — это введение нескольких одновре­ менно работающих каналов ввода—вывода, а также нескольких устройств одного типа: перфокарточных устройств ввода и вы­ вода, печатающих устройств, различного рода накопителей и др. Введение большого числа параллельно работающих периферий­ ных устройств позволяет существенно сократить время на ввод информации в оперативное запоминающее устройство (ОЗУ), уменьшая общее время решения задачи, и до некоторой степени 42
сгладить разрыв между скоростями работы центральных (процес­ сор и ОЗУ) и периферийных устройств. Значительный эффект в производительности однопроцессорной системы дает разделение ОЗУ на несколько модулей, функционально самостоятельных, что позволяет им работать независимо друг от друга. Производитель­ ность увеличивается за счет уменьшения простоев устройств из-за так называемых конфликтов при обращении к ОЗУ. При параллельной работе многих устройств ввода—вывода и процессора неизбежны ситуации, когда нескольким устройствам требуется обращение к ОЗУ для записи или чтения информации. Такая ситуация и называется конфликтной. Естественно, разре­ шить этот конфликт можно только путем введения системы при­ оритетов, которая устанавливает определенную очередность удо­ влетворения запросов в ОЗУ. При этом неизбежны очереди, а сле­ довательно, и простои устройств, не имеющих высшего приоритета. В наибольшей степени от этого страдает процессор, так как по принципу своей работы он может ожидать в очереди обслужива­ ния сколь угодно долго, в то время как большинство периферий­ ных устройств, в основном электромеханических, ждать долго не могут или это будет приводить к слишком большим потерям вре­ мени. Так, например, если вовремя не считать информацию с нако­ пителя на магнитном диске, то придется потерять несколько мил­ лисекунд (один оборот диска) до следующего момента, когда эта информация может быть считана. При наличии нескольких моду­ лей ОЗУ с независимым управлением есть определенная вероят­ ность того, что различные устройства будут обращаться к раз­ личным модулям, а следовательно, очередь к ОЗУ разделится на несколько меньших очередей и время ожидания (т. е. простой ус­ тройства) в очереди будет уменьшено. Кроме совмещения во вре­ мени различных этапов обработки информации в системах класса ОКОД существенное увеличение производительности достигается за счет введения конвейерной обработки, точнее конвейера команд. По существу конвейер команд — это также совмещение во вре­ мени работы нескольких различных блоков, выполняющих отдель­ ные части общей операции. Если совмещение во времени работы различных устройств можно назвать «макросовмещением», то кон­ вейер является как бы «микросовмещением». При организации конвейера команд очень часто применяются также способы увели­ чения производительности, базирующиеся на использовании мно­ гомодульных ОЗУ. Во-первых, если программы и данные разме­ щать в разных модулях памяти, то это позволит совмещать во времени выборку команды и операнда, что при выполнении ОЗУ в виде одного функционального устройства было бы невозможно. Во-вторых, используется тот факт, что команды и данные обычно при обработке выбираются из некоторой последовательности ячеек памяти с последовательно возрастающими адресами. Если органи­ зовать ОЗУ таким образом, что все четные адреса будут принад­ лежать одному модулю ОЗУ, а все нечетные — другому, и сдви­ нуть начало цикла работы этих двух модулей на 7г цикла, то при 43
выполнении программы среднее время обращения к ОЗУ сущест­ венно уменьшается (в пределе в 2 раза). Этот принцип может быть распространен и на большее число модулей ОЗУ с независи­ мым управлением. При N модулях ОЗУ среднее время обращения к ОЗУ оказывается равным 1/Л^-й цикла ОЗУ. Такая память назы­ вается памятью с чередованием адресов или расслоением обра­ щений. В системах класса ОКОД возможна реализация и еще одного способа увеличения производительности — конвейер арифметиче­ ских и логических операций, который вполне вписывается в этот класс систем, так как поток команд остается один: просто команды разбиваются на некоторое число микроопераций, образуя таким образом несколько потоков микрокоманд. По этой причине системы с конвейером арифметических и логических операций от­ носятся к следующему классу — МКОД. Детальное рассмотрение систем класса ОКОД не входит в нашу задачу — это делается в курсе «Теория и проектирование ЭВМ», одним из разделов которого является подробное изучение всех перечисленных выше способов повышения производитель­ ности ЭВМСистемы класса МКОД. Структуру систем этого класса можно представить в виде схемы, изображенной на рис. 2.4, б: несколько потоков команд воздействуют на единственный поток данных. Однако не существует такого класса задач, в которых одна и та же последовательность данных подвергалась бы обработке по не­ скольким разным программам. По этой причине в чистом виде та­ кая схема до сих пор не реализована. Как уже отмечалось, реализована другая схема обработки, представленная на рис. 2.4, в. Здесь один поток команд К разде­ ляется устройством управления на несколько потоков микроопера­ ций, каждая из которых реализуется специализированным, на­ строенным на выполнение именно данной микрооперации, устрой­ ством. Поток данных проходит последовательно через все (или часть) этих специализированных АЛУ. Именно такого класса си­ стемы принято называть конвейерными или системами с маги­ стральной обработкой информации. Разумеется, в системах МКОД с целью достижения высокой производительности используется не только конвейер операций. Обычно в таких системах используется и конвейер команд, и раз­ личные способы совмещения работы многих устройств. Однако при этом главным, определяющим признаком является наличие кон­ вейера арифметических и логических операций. Заметим также, что системы этого класса развивают максимальную производи­ тельность только при решении задач определенного типа, в кото­ рых существуют длинные последовательности (цепочки) однотип­ ных операций над достаточно большой последовательностью дан­ ных, т. е. когда имеет место параллелизм объектов или данных. Системы класса ОКМД. Системы этого класса также ориенти­ рованы на использование параллелизма объектов или данных для 44
повышения производительности. Обобщенная структура представ­ лена на рис. 2.4, г. В этой системе по одной и той же (или почти по одной и той же) программе обрабатывается несколько потоков данных, каждый из этих потоков обрабатывается своим АЛУ, ра­ ботающим однако под общим управлением, за счет чего и дости­ гается высокая производительность системы. Общая схема, представленная на рис. 2.4, г, может реализо­ ваться разными способами. Так, например, АЛУ может представ­ лять собой достаточно сложное устройство, содержащее обрабаты­ вающий процессор и оперативное ЗУ. В этом случае поток данных в каждый процессор поступает из собственного ЗУ. Управление и память команд реализуются отдельной ЭВМ, управляющей ан­ самблем процессоров. Память данных может иметь не только ад­ ресную выборку, но и ассоциативную, т. е. по содержимому памяти. В системах класса ОКМД могут использоваться для достиже­ ния высокой производительности и другие пути параллельной об­ работки, однако определяющим является одновременная обра­ ботка нескольких потоков несколькими процессорами. Поэтому все системы класса ОКМД можно разделить на матричные и ассоциа­ тивные. Системы класса МКМД. Возможны два способа построения си­ стем МКМД: в виде совокупности элементарных систем (рис. 2.4, а) и по схеме, приведенной на рис. 2.4, д. На первый взгляд разница незначительная: в варианте а для каждой последовательности команд и данных имеется собственное ЗУ, в варианте д все команды и все данные размещаются в общих ЗУ. Это различие приводит однако к двум сильно отличающимся по построению и организации вычислений типам вычислительных систем и комп­ лексов: многомашинным (рис. 2.4, а) и многопроцессорным (рис. 2.4, д). В многомашинном варианте вся система как бы рас­ падается на несколько независимых систем класса ОКОД, т. е. по существу самостоятельных ЭВМ со всеми особенностями, прису­ щими им. При этом обычно существуют определенные связи между ЭВМ, объединяющие эти ЭВМ в систему. В многопроцессорном варианте система (комплекс) достаточно жестко связана общей памятью команд и данных и, хотя процессоры системы имеют до­ статочную самостоятельность, в системе организуется совместная их работа Многомашинные системы (комплексы) в наилучшей степени приспособлены для решения потока независимых задач. При этом объединение в систему нескольких ЭВМ существенно увеличивает производительность системы. Многопроцессорные системы (ком­ плексы) являются достаточно универсальными и обеспечивают по­ вышение производительности при использовании всех видов па­ раллелизма, но, пожалуй, наибольший эффект достигается при за­ дачах, характеризующихся параллелизмом независимых ветвей. Из всех рассмотренных систем наиболее универсальными в от­ ношении класса решаемых задач являются системы МКМД. Их 45
программное обеспечение не ориентируется, как правило, на решение только определенного класса задач. Таким образом, си­ стемы типа МКМД строятся как вычислительные комплексы. Мно­ гопроцессорные и многомашинные комплексы имеют наиболее широкое распространение, и по этой причине мы именно с них на­ чинаем подробное рассмотрение. Вычислительные системы класса МКОД и ОКМД, ориентиро­ ванные на решение задач определенных классов, детально рас­ сматриваются в следующей главе. 2.2. МНОГОМАШИННЫЕ КОМПЛЕКСЫ Многомашинный вычислительный комплекс (ММВК) — ком­ плекс, включающий в себя две или более ЭВМ (каждая из кото­ рых имеет процессор, ОЗУ, набор периферийных устройств и рабо­ тает под управлением собственной операционной системы), связи между которыми обеспечивают выполнение функций, возложенных на комплекс. Цели, которые ставятся при объединении ЭВМ в комплекс, мо­ гут быть различными, и они определяют характер связей между ЭВМ. Чаще всего основной целью создания ММВК является или увеличение производительности, или повышение надежности, или одновременно и то и другое. Однако при достижении одних и тех же целей связи между ЭВМ могут существенно различаться. По характеру связей между ЭВМ комплексы можно разделить на три типа: косвенно-, или слабосвязанные; прямосвязанные; сателлитные. В косвенно-, или слабосвязанных, комплексах ЭВМ связаны друг с другом только через внешние запоминающие устройства (ВЗУ). Для обеспечения таких связей используются устройства управления ВЗУ с двумя и более входами. Структурная схема та­ кого ММВК приведена на рис. 2.5. Заметим, что здесь и далее для простоты приводятся схемы для двухмашинных комплексов. При трех и более ЭВМ комплексы строятся аналогичным образом. В косвенносвязанных комплексах связь между ЭВМ осущест­ вляется только на информационном уровне. Обмен информацией осуществляется в основном по принципу «почтового ящика», т. е. каждая из ЭВМ помещает в общую внешнюю память информа­ цию, руководствуясь собственной программой, и соответственно другая ЭВМ принимает эту информацию, исходя из своих потреб­ ностей. Такая организация связей обычно используется в тех слу­ чаях, когда ставится задача повысить надежность комплекса пу­ тем резервирования ЭВМ. В этом случае ЭВМ, являющаяся ос­ новной, решает заданные задачи, выдает результаты и постоянно оставляет в общем ВЗУ всю информацию, необходимую для про­ должения решения с любого момента времени. Вторая ЭВМ, яв­ ляющаяся резервной, может находиться в состоянии ожидания, с тем чтобы в случае выхода из строя основной ЭВМ по сигналу оператора начать выполнение функций, используя информацию, хранимую в общем ВЗУ основной ЭВМ. 46
Рис. 2.5. Связи между ЭВМ и ММВК При такой связи может быть несколько способов организации работы комплекса. 1. Резервная ЭВМ находится в выключенном состоянии (ненагруженный резерв) и включается только при отказе основной ЭВМ. Естественно, для того чтобы резервная ЭВМ начала выда­ вать результаты вместо основной, потребуется определенное время, которое определяется временем, необходимым для включения ЭВМ, вхождением ее в режим, а также временем, отводимым для проверки ее исправности. Это время может быть достаточно боль­ шим. Такая организация возможна, когда система, в которой ра­ ботает ЭВМ, не критична по отношению к некоторым перерывам или остановкам в процессе решения задач. Это обычно имеет место в случаях, когда ЭВМ не выдает управляющую инфор­ мацию. 2. Резервная ЭВМ находится в состоянии полной готовности и в любой момент может заменить основную ЭВМ (нагруженный ре­ зерв), причем либо не решает никаких задач, либо работает >в ре­ жиме самоконтроля, решая контрольные задачи. В этом случае переход в работе от основной к резервной ЭВМ может осущест­ вляться достаточно быстро, практически без перерыва в выдаче результатов. Однако следует заметить, что основная ЭВМ обнов­ ляет в общем ВЗУ информацию, необходимую для продолжения решения, не непрерывно, а с определенной дискретностью, поэтому резервная ЭВМ начинает решать задачи, возвращаясь на некото­ рое время назад. Такая организация допустима и в тех случаях, когда ЭВМ работает непосредственно в контуре управления, а уп­ равляемый процесс достаточно медленный и возврат во времени не оказывает заметного влияния, 47
При организации работы по первому и второму вариантам ЭВМ используются нерационально: одна ЭВМ всегда простаивает. Простоев можно избежать, загружая ЭВМ решением каких-то вспомогательных задач, не имеющих отношения к основному про­ цессу. Это повышает эффективность системы — производитель­ ность практически удваивается. 3. Для того чтобы полностью исключить перерыв в выдаче ре­ зультатов, обе ЭВМ, и основная и резервная, решают одновре­ менно одни и те же задачи, но результаты выдает только основ­ ная ЭВМ, а в случае выхода ее из строя результаты начинает вы­ давать резервная ЭВМ. При этом общее ВЗУ используется только для взаимного контроля. Иногда такой комплекс дополняется ус­ тройством для сравнения результатов с целью контроля. Если при этом используются три ЭВМ, то возможно применение метода го­ лосования, когда окончательный результат выдается только при совпадении результатов решения задачи не менее чем от двух ЭВМ. Это повышает и надежность комплекса в целом, и досто­ верность выдаваемых результатов. Разумеется, в этом варианте высокая надежность и оперативность достигается весьма высокой ценой — увеличением стоимости системы. Следует обратить внимание, что при любой организации ра­ боты в слабосвязанном ММВК переключение ЭВМ осуществляется либо по командам оператора, либо с помощью дополнительных средств, осуществляющих контроль исправности ЭВМ и выраба­ тывающих необходимые сигналы. Кроме того, быстрый переход в работе с основной на резервную ЭВМ возможен лишь при низ­ кой эффективности использования оборудования. Существенно большей гибкостью обладают прямосвязанные ММВК. В прямосвязанных комплексах существуют три вида свя­ зей (рис. 2.5): общее ОЗУ (ООЗУ); прямое управление, иначе связь процессор (П)—процессор; адаптер канал—канал (АКК). Связь через общее ОЗУ гораздо сильнее связи через ВЗУ. Хотя первая связь также носит характер информационной связи и об­ мен информацией осуществляется по принципу «почтового ящика», однако, вследствие того что процессоры имеют прямой доступ к ОЗУ, все процессы в системе могут протекать с существенно большей скоростью, а разрывы в выдаче результатов при перехо­ дах с основной ЭВМ на резервную сокращаются до минимума. Недостаток связи через общее ОЗУ заключается в том, что при выходе из строя ОЗУ, которое является сложным электронным устройством, нарушается работа всей системы. Чтобы этого избе­ жать, приходится строить общее ОЗУ из нескольких модулей и резервировать информацию. Это, в свою очередь, приводит к ус­ ложнению организации вычислительного процесса в комплексе и в конечном счете к усложнению операционных систем. Следует от­ метить также и то, что связи через общее ОЗУ существенно до­ роже, чем через ВЗУ. Непосредственная связь между процессорами— канал прямого управления — может быть не только информационной, но и 48
командной, т. е. по каналу прямого управления один процессор может непосредственно управлять действиями другого процессора. Это, естественно, улучшает динамику перехода от основной ЭВМ к резервной, позволяет осуществлять более полный взаимный кон­ троль ЭВМ. Вместе с тем передача сколько-нибудь значительных объемов информации по каналу прямого управления нецелесооб­ разна, так как в этом случае решение задач прекращается: про­ цессоры ведут обмен информацией. Связь через адаптер канал—канал в значительной степени устраняет недостатки связи через общее ОЗУ и вместе с тем почти не уменьшает возможностей по обмену информацией между ЭВМ по сравнению с общим ОЗУ. Сущность этого способа связи заклю­ чается в том, что связываются между собой каналы двух ЭВМ с помощью специального устройства — адаптера. Обычно это ус­ тройство подключается к селекторным каналам ЭВМ. Такое под­ ключение адаптера обеспечивает достаточно быстрый обмен ин­ формацией между ЭВМ, при этом обмен может производиться большими массивами информации. В отношении скорости пере­ дачи информации связь через АКК мало уступает связи через об­ щее ОЗУ, а в отношении объема передаваемой информации — связи через общее ВЗУ. Функции АКК достаточно просты: это ус­ тройство должно обеспечивать взаимную синхронизацию работы двух ЭВМ и буферизацию информации при ее передаче. Хотя функции АКК и его структура (рис. 2.5) достаточно просты, од­ нако большое разнообразие режимов работы двух ЭВМ и необхо­ димость реализации этих режимов существенно усложняет это устройство. Прямосвязанные комплексы позволяют осуществлять все спо­ собы организации ММВК, характерные для слабосвязанных ком­ плексов. Однако за счет некоторого усложнения связей эффектив­ ность комплексов может быть значительно повышена. В частности, в прямосвязанных комплексах возможен быстрый переход от ос­ новной ЭВМ к резервной и в тех случаях, когда резервная ЭВМ загружена собственными задачами. Это позволяет обеспечивать высокую надежность при высокой производительности. В реальных комплексах одновременно используется не один вид связи между ЭВМ, а два или более. В том числе очень часто в прямосвязанных комплексах присутствует и косвенная связь че­ рез ВЗУ. Для комплексов с сателлитными ЭВМ характерным является не способ связи, а принципы взаимодействия ЭВМ. Структура свя­ зей в сателлитных комплексах не отличается от связей в обычных ММВК: чаще всего связь между ЭВМ осуществляется через АКК. Особенностью же этих комплексов является то, что в них, во-пер­ вых, ЭВМ существенно различаются по своим характеристикам, а во-вторых, имеет место определенная соподчиненность машин и различие функций, выполняемых каждой ЭВМ. Одна из ЭВМ, ос­ новная, является, как правило, высокопроизводительной и пред­ назначается для основной обработки информации. Вторая, суще49
ственно меньшая по производительности, называется сателлитной или вспомогательной ЭВМ. Ее назначение — организация обмена информацией основной ЭВМ с периферийными устройствами, ВЗУ, удаленными абонентами, подключенными через аппаратуру пере­ дачи данных к основной ЭВМ. Кроме того, сателлитная ЭВМ мо­ жет производить предварительную сортировку информации, пре­ образование ее в форму, удобную для обработки на основной ЭВМ, приведение выходной информации к виду, удобному для пользователя, и др. Сателлитная ЭВМ, таким образом, избавляет основную высокопроизводительную ЭВМ от выполнения многочис­ ленных действий, которые не требуют ни большой разрядности, ни сложных операций, т. е. операций, для которых большая, мощная ЭВМ не нужна. Более того, с учетом характера выполняемых са­ теллитной машиной операций она может быть ориентирована на выполнение именно такого класса операций и обеспечивать даже большую производительность, чем основная ЭВМ. Некоторые комплексы включают в себя не одну, а несколько сателлитных ЭВМ, при этом каждая из них ориентируется на вы­ полнение определенных функций: например, одна осуществляет связь основной ЭВМ с устройствами ввода—вывода информации, другая — связь с удаленными абонентами, третья организует файловую систему и т. д. Появление в последнее время дешевых и простых микро-ЭВМ в немалой степени способствует развитию сателлитных комплек­ сов. Сателлитные комплексы решают только одну задачу: увели­ чивают производительность комплекса, не оказывая заметного влияния на показатели надежности. Подключение сателлитных ЭВМ принципиально возможно не только через АКК, но и другими способами, однако связь через АКК наиболее удобна. 2.3. МНОГОПРОЦЕССОРНЫЕ КОМПЛЕКСЫ Многопроцессорный вычислительный комплекс (МПВК)—это комплекс, включающий в себя два или более процессоров, имею­ щих общую оперативную память, общие периферийные устройства и работающих под управлением единой операционной системы (ОС), которая, в свою очередь, осуществляет общее управление техническими и программными средствами комплекса. Следует оговорить, что каждый из процессоров может иметь индивиду­ альные, доступные только ему ОЗУ и периферийные устройства. Все перечисленное весьма существенно, так как делает возмож­ ной гибкую организацию параллельной обработки информации и позволяет наиболее эффективно использовать все ресурсы комплекса. На рис. 2.6 представлена упрощенная схема МПВК, содержа­ щая три процессора, два модуля ОЗУ и одну подсистему ввода— вывода информации (ПВВ). Даже для такого простого варианта схема оказывается достаточно сложной, так как в МПВК должен 50
Рис. 2.6. Связи в МПВК быть обеспечен доступ лю­ бого процессора и любого канала ввода—вывода к любой ячейке ОЗУ, любого процессора к любому ка­ налу и периферийному уст­ ройству. Если представить теперь, что процессоров су­ щественно больше, что ОЗУ по соображениям надежности и удоб­ ства наращивания емкости выполнено в виде нескольких модулей, а подсистема ввода—вывода включает в себе несколько каналов и большое число периферийных устройств, то становится ясным, насколько сложна топология МПВК. Если же учесть то обстоя­ тельство, что для работы ОС аппаратные средства должны обес­ печивать работу с переменными логическими адресами ОЗУ, пе­ риферийных устройств и каналов ввода—вывода, защиту памяти от взаимного влияния различных программ и возможность запу­ ска одним процессором другого, сложность аппаратной реализа­ ции МПВК становится ясной в полной мере. Непростые задачи возникают и при организации вычислитель­ ного процесса в МПВК, т. е. при построении ОС, которые явля­ ются основным средством организации всех процессов обработки информации в комплексе. Кроме обычных функций, выполняемых ОС при мультипрограммной обработке информации, возникают такие задачи, как распределение ресурсов и заданий между про­ цессорами, синхронизация процессов при решении несколькими процессорами одной задачи, планирование с учетом оптимизации загрузки всех процессоров. При этом надо иметь в виду, что в процессе работы в комплексе возникает большое число кон­ фликтных ситуаций, которые должны обрабатываться ОС. Эти и ряд других обстоятельств и факторов, связанных с обеспече­ нием высокой надежности, делают ОС МПВК чрезвычайно сложной. Однако, несмотря на все трудности, связанные с аппаратной и программной реализацией, МПВК получают все большее рас­ пространение, так как обладают рядом достоинств, основные из которых: высокая надежность и готовность за счет резервирования и возможности реконфигурации; высокая производительность за счет возможности гибкой ор­ ганизации параллельной обработки информации и более полной загрузки всего оборудования; высокая экономическая эффективность за счет повышения коэффициента использования оборудования комплекса. Рассматривая процесс появления и развития МПВК, по-види­ мому, следует признать, что первоначально перед МПВК стави­ лась только задача обеспечения высокой надежности системы. 51
Рис. 2.7. МПВК с общей шиной Неслучайно поэтому, что одним из первых (а может быть, и самым первым) МПВК был комплекс Б-825, созданный фирмой «Барроуз» (США) в 1968 г. для систем военного назначения. Комплекс включал в себя 4 процессора, 16 модулей ОЗУ, 10 ка­ налов ввода—вывода и до 256 периферийных устройств, т. е. был весьма представительным МПВК, по тем меркам. Надо сказать, что эта первая попытка была весьма удачной — поставленные задачи были полностью решены. Вместе с тем создание первых же МПВК выявили и возможности достижения с их помощью высокой производительности. В настоящее время МПВК чаще создаются именно с такой целью. Типы структурной организации МПВК. Существует три типа структурной организации МПВК: с общей шиной; с перекрест­ ной коммутацией; с многовходовыми ОЗУ. В комплексах с общей шиной проблема связей всех устройств между собой решается крайне просто: все они соединяются об­ щей шиной, выполненной в виде совокупности проводов или ка­ белей, по которым передаются информация, адреса и сигналы управления (рис. 2.7, а). Интерфейс является односвязным, т. е. обмен информацией в любой момент времени может происходить только между двумя устройствами. Если потребность в обмене существует более чем у двух устройств, то возникает конфликт­ ная ситуация, которая разрешается с помощью системы приори­ тетов и организации очередей в соответствии с этим. Обычно функции арбитра выполняет либо процессор, либо специальное устройство, которое регистрирует все обращения к общей шине и распределяет шину во времени между всеми устройствами комплекса. Несомненные достоинства структуры с общей шиной — про­ стота, в том числе изменения комплекса, добавления или изъятия 52
отдельных устройств, а также доступность модулей ОЗУ для всех остальных устройств. Следствием всего этого является доста­ точно низкая стоимость комплекса. Вместе с тем комплексы с общей шиной не лишены определен­ ных недостатков. Первый — невысокое быстродействие, так как одновременный обмен информацией возможен между двумя уст­ ройствами, не более. По этой причине в комплексах с общей ши­ ной число процессоров не превосходит двух-четырех. Этот недо­ статок может быть несколько компенсирован путем использова­ ния общей шины с высоким быстродействием, большим, чем быстродействие входящих в комплекс устройств. Однако этот путь приводит к усложнению и удорожанию комплекса. Второй недо­ статок МПВК с общей шиной заключается в относительно низкой надежности системы из-за наличия общего элемента — шины. Надо иметь в виду, что надежность общей шины определяется не только надежностью проводов и кабелей (их собственная на­ дежность достаточно высока), но и надежностью всех соедине­ ний, входных и выходных цепей устройства. Отказ хотя бы од­ ного из элементов приводит к отказу всего комплекса. Этот не­ достаток можно компенсировать за счет введения резервной шины (рис. 2.7, б). Хотя это несколько усложняет комплекс, однако на­ дежность его существенно возрастает. Если же резервную шину сделать активной, т. е. работающей одновременно с основной, то можно не только повысить надежность, но и увеличить произво­ дительность комплекса за счет того, что обмен информацией мо­ жет осуществляться одновременно между двумя парами уст­ ройств. Общая шина может быть организована различными спосо­ бами— принципиально так же, как и для однопроцессорных ЭВМ с общей шиной. Характерным примером является комплекс СМ-1420, в котором используется общая шина однопроцессорных ЭВМ этой системы. Полностью лишены недостатков, присущих МПВК с общей шиной, МПВК с перекрестной коммутацией. Идея структурной организации таких ВК заключается в том, что все связи между устройствами осуществляются с помощью специального устрой­ ства— коммутационной матрицы (рис. 2.8, а). Коммутационная матрица (КМ) позволяет связывать друг с другом любую пару устройств, причем таких пар может быть сколько угодно: связи не зависят друг от друга. В МПВК с перекрестной коммутацией нет конфликтов из-за связей, остаются только конфликты из-за ресурсов. Возможность одновременной связи нескольких пар устройств позволяет доби­ ваться очень высокой производительности комплекса. Важно от­ метить и такое обстоятельство, как возможность установления связи между устройствами на любое, даже на длительное время, так как это совершенно не мешает работе других устройств, зато позволяет передавать любые массивы информации с высокой ско­ ростью, что также способствует повышению производительности 53
Рис. 2.8. МПВК с перекрестной коммутацией комплекса. Заметим, что в МПВК с общей шиной передача ин­ формации массивами, т. е. занятие шины одной парой устройств на длительный отрезок времени, обычно допускается лишь в край­ них случаях, так как это приводит к длительным простоям ос­ тальных устройств. Кроме того, к достоинствам структуры с перекрестной комму­ тацией можно отнести простоту и унифицированность интерфей­ сов всех устройств, а также возможность разрешения всех кон­ фликтов в коммутационной матрице. Важно отметить и то, что нарушение какой-то связи приводит не к выходу из строя всего комплекса, а лишь к отключению какого-либо устройства, т. е. надежность таких комплексов достаточно высока. Однако и орга­ низация МПВК с перекрестной коммутацией не свободна от не­ достатков. Прежде всего — сложность наращивания ВК. Если в коммута­ ционной матрице заранее не предусмотреть большого числа вхо­ дов, то введение дополнительных устройств в комплекс потребует установки новой коммутационной матрицы. Существенным недо­ статком является и то, что коммутационная матрица при боль­ шом числе устройств в комплексе становится сложной, громозд­ кой и достаточно дорогостоящей. (Надо учитывать то обстоятель­ ство, что коммутационные матрицы строятся обычно на схемах, быстродействие которых существенно выше быстродействия схем и элементов основных устройств, — только при этом условии реа­ лизуются все преимущества коммутационной матрицы.) Это об54
Рис. 2.9. МПВК с многоходовыми ОЗУ стоятельство в значительной степени усложняет и удорожает комплексы. ^Для того чтобы упростить и удешевить ВК, коммутацию уст­ ройств осуществляют с помощью двух и даже более коммутаци­ онных матриц. На рис. 2.8, б представлен МПВК, включающий в себя две матрицы: КМЦУ —матрицу для центральных устройств (процессоров, ОЗУ и каналов ввода—вывода) и КМПУ —мат­ рицу для периферийных устройств. Схемы последней могут иметь существенно меньшее быстродействие, чем схемы первой, да к тому же обе коммутационные матрицы будут значительно проще и дешевле, чем одна общая коммутационная матрица с высоким быстродействием. Перекрестная коммутация довольно широко используется при построении ВК, в частности практически всех МПВК фирмы «Барроуз» (в том числе и упомянутого выше комплекса 0-825) В МПВК с многовходовыми ОЗУ все, что связано с коммута­ цией устройств, осуществляется в ОЗУ. В этом случае модули ОЗУ имеют число входов, равное числу устройств, которые к ним под­ ключаются, т. е. для каждого устройства предусматривается свой вход в ОЗУ. Структура такого МПВК показана на рис. 2.9, а. В отличие от ВК с перекрестной коммутацией, которые имеют централизованное коммутационное устройство, в МПВК с много­ входовыми ОЗУ средства коммутации распределены между не­ сколькими устройствами. Такой способ организации МПВК со­ храняет все преимущества систем с перекрестной коммутацией, несколько упрощая при этом саму систему коммутации. Для на­ ращивания системы должны быть предусмотрены дополнительные входы в ОЗУ. Правда, введение дополнительных модулей ОЗУ не вызывает затруднений. В МПВК с многовходовыми ОЗУ очень просто решается во­ прос о выделении каждому процессору своей оперативной па­ мяти, недоступной другим процессорам. Такая организация по­ казана на рис. 2.9, б. Выделение индивидуальной памяти каждому процессору позволяет хранить в ней информацию, которая необ­ ходима только одному процессору: различные таблицы и данные копии некоторых модулей операционной системы и др. Это позво55
Рис. 2.10. Комплекс ЕС-1065 Рис. 2.11. Комплекс повышенной надежности ляет избежать части конфликтов, которые неизбежно возникают при общей оперативной памяти. Кроме того, уменьшается вероят­ ность искажения информации в ОЗУ другими процессорами. Од­ нако такие ВК имеют тот недостаток, что в случае выхода из строя какого-либо процессора доступ к его памяти затруднен и информация может быть переписана в другой модуль ОЗУ только через канал ввода—вывода и внешнее ЗУ, что требует много времени. Приведенные три типа структурной организации исчерпывают существующие построения МПВК, полностью удовлетворяющих тому определению, которое дано в начале этого параграфа. Такие МПВК в литературе называют классическими или истинными МПВК. Вместе с тем нередко МПВК называют комплексы, лишь частично удов­ летворяющие этому определению, например любые комплексы, в которых име­ ется несколько процессоров, а иногда даже матричные и конвейерные, которые (в отличие от классических МПВК) не относятся к комплексам с множествен­ ным потоком команд и множественным потоком данных. Кроме того, иногда к МПВК относят ЭВМ, имеющие не одно общее арифметическо-логическое устройство, а несколько операционных устройств (ОУ), каждое из которых вы­ полняет определенную группу операций и может работать совершенно неза­ висимо от других. Таким образом, на первый взгляд может показаться, что такой комплекс имеет несколько процессоров, каждый из которых связан с об­ щим ОЗУ. Однако все ОУ работают под управлением одной программы. Но вот ЭВМ ЕС-1065, в которой применяются множественные ОУ, с пол* ным правом можно называть МПВК, так как кроме этих ОУ имеется два про­ цессора команд (ПК), причем каждый может работать по собственной про­ грамме (рис. 2.10). В этом комплексе налицо все элементы: несколько неза­ висимых процессоров, работающих с общедоступными ОЗУ, имеющих общие периферийные устройства и работающих под управлением общей операционной системы. По типу структурной организации комплекс ЕС-1065 может быть от­ несен к МПВК с многовходовыми ОЗУ, 56
Нередко к -МГШК относят комплексы, являющиеся по существу ММВК, но в которых для достижения более высокой надежности резервирование осу­ ществляется не «помашинно», а по устройствам. Структурная схема одного из таких ВК приведена на рис. 2.11. Комплекс первоначально работает как трехмашинный со сравнением результатов на выходе. Результат используется по методу «голосования». При несовпадении результата с помощью системы кон­ троля определяется и отключается неисправное устройство. Эти функции вы­ полняются конфигуратором, контролирующим состояние комплекса. Такой ком­ плекс обладает высокой надежностью, однако, как видим, несмотря на нали­ чие трех процессоров, его нельзя назвать многопроцессорным. 2.4. ОСОБЕННОСТИ ОРГАНИЗАЦИИ ВЫЧИСЛИТЕЛЬНЫХ ПРОЦЕССОВ Хотя и ММВК и МПВК относятся к комплексам с множест­ венным потоком команд и множественным потоком данных, ор­ ганизация процессов обработки в них существенно различна. Многомашинный ВК в наибольшей степени приспособлен для решения потока не связанных между собой задач, т. е. такой со­ вокупности задач, когда исходные данные, а также окончатель­ ные или промежуточные результаты решения одной задачи не используются при решении других задач. Строго говоря, в ММВК можно достаточно эффективно решать и слабосвязанные задачи, т. е. задачи, при решении которых объем взаимно передаваемой информации относительно невелик. При этом нетрудно заметить, что чем больше объем взаимно передаваемой информации, тем в большей степени снижается производительность системы, так как часть времени приходится расходовать на обмен инфор­ мацией. Анализ показывает, что решение одной задачи несколькими машинами в составе ММВК может быть оправданным только при наличии связи между ними через общее ОЗУ. Необходимо отме­ тить, что в этом случае трудность решения определяется не столько потерями производительности из-за обмена информацией, сколько сложностью синхронизации этапов решения, а следова­ тельно, действия ЭВМ. По этим причинам ММВК в основном ис­ пользуются для повышения надежности и увеличения производи­ тельности при решении потока независимых или слабосвязанных задач. Заметим, что производительность растет практически ли­ нейно с увеличением числа ЭВМ. С учетом высказанных соображений можно дать оценку слож­ ности операционных систем ЭВМ, входящих в состав ММВК. Как правило, ОС в ММВК сравнительно мало отличаются от ОС одиночных ЭВМ, работающих в мультипрограммном режиме обработки информации: просто ОС одиночной ЭВМ дополняется компонентами, обеспечивающими выполнение функций, связан­ ных с комплексированием. Обычно ОС в ММВК содержат сле­ дующие дополнительные программные модули: 1) обеспечения обмена информацией между ЭВМ; 2) взаимного контроля состоя­ ния ЭВМ; 3) проведения регламентных работ; 4) взаимодействия ВК с оператором. Программы обмена информацией могут быть различными по сложности в зависимости от характера межмашинных связей. 57
Как уже отмечалось, наиболее сложные программы обмена имеют место в ВК, которые предназначены для решения связанных за­ дач или одной общей задачи. Кроме того, программы обмена обеспечивают передачу необходимой информации резервной ЭВМ в ВК с резервированием. Программы взаимного контроля состояния ЭВМ необходимы в тех случаях, когда ВК предназначен для обеспечения повышен­ ной надежности. Взаимный контроль состояния совершенно необ­ ходим, когда предусматривается автоматический или автоматизи­ рованный переход с основной ЭВМ на резервную, причем если такое переключение осуществляется по командам оператора, ис­ пользуется программа, обеспечивающая взаимодействие ВК с опе­ ратором. В режиме длительного функционирования ВК возникает не­ обходимость проведения с определенной периодичностью регла­ ментных работ. При этом поочередно все машины выполняют функции основной и резервной ЭВМ. Для обеспечения такого перехода без перерывов в работе и служит программа проведе­ ния регламентных работ. Хотя в некоторых случаях все эти программы могут быть до­ статочно сложными, однако и к общий объем сравнительно неве­ лик— редко превышает 10 % объема ОС. Многопроцессорные ВК имеют существенно большие возмож­ ности и большую гибкость, чем ММВК, как в отношении повыше­ ния надежности, так и в отношении организации параллельных вычислений. Эти возможности определяются тем, что все процес­ соры могут работать с общей памятью, иметь в своем непосредст­ венном распоряжении все периферийные устройства (в том числе и ВЗУ) и управляться единой ОС. Организация процесса обработки информации может быть различной в зависимости от тех целей, которые преследует ис­ пользование МПВК. Нетрудно заметить, что МПВК способны делать все то, что делает ММВК: решать независимые и слабосвязанные задачи. Но МПВК с существенно большей эффективностью могут решить сильносвязанные задачи, и, более того, МПВК способны эффек­ тивно решать одну задачу с участием всех процессоров. При этом благодаря использованию общей памяти всеми процессорами не требуется никакой передачи информации. При решении одной задачи на нескольких процессорах можно в полной мере использовать параллелизм независимых ветвей. Таким образом, если ММВК позволяют достигать высокой произ­ водительности при решении большого потока задач, то МПВК по­ зволяет это сделать даже при решении одной задачи, что чрезвы­ чайно важно. Кроме того, МПВК обладают коллосальными воз­ можностями для обеспечения высокой надежности: выход из строя любого процессора не приводит к отказу комплекса, а лишь снижает его производительность, так как исправные процессоры могут практически в любой момент подхватывать и продолжать 58
решение задачи, которая выполнялась отказавшим процессором. Это же относится и к любым другим устройствам комплекса, т. е. пока в действии хотя бы одно устройство данного типа, комплекс продолжает работу, только с меньшей эффективностью. Наконец, весьма важным является то, что МПВК позволяет повысить коэффициент использования оборудования. Хорошо из­ вестно, что в ЭВМ даже в режиме мультипрограммной обра­ ботки информации почти все устройства значительную часть вре­ мени простаивают, так как процессор не в состоянии их загру­ зить. Однако использование всех богатых возможностей МПВК является не простой задачей, так как операционные системы, на которые падает основная тяжесть организации вычислительных процессов, оказываются очень сложными. Операционные системы можно упрощать, если отказываться от тех или иных возможно­ стей ВК. На это нередко идут разработчики ВК, получая взамен урезанных возможностей более простую ОС. В настоящее время известны три типа организации вычисли­ тельного процесса в МПВК и соответственно три типа функциони­ рования ОС: 1) ведущий — ведомый; 2) раздельное выполнение заданий в каждом процессоре; 3) симметричная, или однородная, обработка информации всеми процессорами. Организация работы МПВК по принципу «ведущий — ведо­ мый» является наиболее простой. Один из процессоров управляет работой всех остальных, т. е. берет на себя функции распределе­ ния задач и ресурсов, организует необходимую передачу инфор­ мации, производит переназначение задач в случае выхода из строя какого-либо процессора, отключение неисправных устройств и т. д. Остальные процессоры выполняют только функции непо­ средственной обработки: являются исполнительными процессо­ рами. Операционная система такого МПВК получается также доста­ точно простой, вследствие того что супервизорные функции вы­ полняет один процессор, конфликты из-за ресурсов отсутствуют, да и число конфликтов от других причин сводится к минимуму (так как организация процесса обработки централизована и кон­ фликтные ситуации могут быть предотвращены при распределе­ нии задач и ресурсов между процессорами). Кроме того, каждый процессор располагает своим набором различных таблиц, что уп­ рощает организацию параллельных процессов. Ведущий процессор может ничем не отличаться от осталь­ ных— просто его функции выполняет любой назначенный опера­ тором процессор. В случае отказа ведущего процессора оператор может произвести переназначение — сделать ведущим другой процессор. Иногда, учитывая специфичность выполняемых ведущим про­ цессором функций, его делают специализированным, настроенным на выполнение узкого круга операций, добиваясь за счет этого высокой производительности. Однако такое решение имеет тот 59
недостаток, что при отказе ведущего процессора из строя выходит весь комплекс. К недостаткам организации по типу «ведущий—ведомый» сле­ дует отнести малую ее гибкость. При большом потоке коротких задач ведущий процессор может не справляться с распределе­ нием задач между исполнительными процессорами, что неизбежно приводит к простоям некоторых из них. По той же причине не очень эффективно работает комплекс при решении на нескольких процессорах одной задачи: в этом случае на ведущий процессор ложится большая работа по синхронизации процесса решения ча­ стей задачи. Многопроцессорный ВК с организацией по принципу «ведущий—ведомый» в наибольшей степени подходит для созда­ ния специализированных систем, в которых недостатки такой ор­ ганизации могут быть заранее учтены и их влияние сведено к минимуму. Но еще раз подчеркнем, что недостатки в значитель­ ной степени искупаются простотой операционной системы. Значительно большей универсальностью обладает организа­ ция обработки информации с раздельным выполнением заданий в каждом процессоре. В этом случае все процессоры равноправны и каждый выполняет как супервизорные, так и исполнительные функции, но процессоры не свободны в выборе задач: каждому процессору заранее определяется набор задач. Практически за­ ранее распределяются и ресурсы между процессорами. Каждая задача полностью выполняется одним процессором. При отказах какого-либо процессора комплекс сохраняет работоспособность, но повторный запуск программ, выполняемых отказавшими про­ цессорами, представляет определенные трудности, из-за того что, во-первых, это может сделать только оператор, во-вторых, должен быть произведен перерасчет загрузки процессоров. При этой ор­ ганизации каждый процессор обслуживает только самого себя, удовлетворяя лишь свои потребности. Так как операционная си­ стема общая для всех процессоров, то супервизорные программы должны обладать повторной входимостью, т. е. несколько процес­ соров должны иметь возможность работать с одной и той же программой ОС. Чтобы избежать такого требования к ОС, иногда используется другой способ — каждый процессор имеет свою ко­ пию ОС. В МПВК с раздельным выполнением заданий возникает мало конфликтов, так как ресурсы распределены заранее и каждый процессор имеет собственный набор таблиц. При этой организа­ ции трудно обеспечить равномерную загрузку процессоров, да и других устройств, так как практически невозможно все просчи­ тать заранее и тем более сложно сделать это в процессе работы. Поэтому могут быть простои части оборудования. Такая организация обработки информации в МПВК делает его похожим на ММВК. Однако есть и существенные отличия: прежде всего ресурсы используются гораздо эффективнее, так как общее число устройств может быть значительно меньше, чем в ММВК; кроме того, при необходимости обеспечить высокую на60
дежность решения определенных задач резервирование может быть осуществлено проще и эффективнее за счет того, что все процессоры используют общие ресурсы. И опять-таки значительно компенсирует недостатки этого способа организации вычислений относительная простота системы. В наибольшей степени все преимущества МПВК проявляются при симметричной, или однородной, обработке. Все процессоры в этом случае имеют максимальную самостоятельность. В комп­ лексе не существует предварительного распределения заданий между процессорами — каждый из них при освобождении от ре­ шения предыдущей задачи выбирает себе новую из общего списка (или очереди). Нет и предварительного распределения ресурсов — процессоры сами набирают их, исходя из потребно­ стей решаемой задачи. Все процессоры могут участвовать в ре­ шении одной задачи, если отдельные ее части включаются в об­ щий список заданий. В комплексе автоматически отключается неисправное оборудование, при этом ВК продолжает работу с несколько пониженной производительностью. Таким образом, отказа ВК нет до тех пор, пока не исчерпано все однотипное оборудование. Комплекс характеризуется хорошей загрузкой всех устройств, что позволяет достигать высокой эффективности. При симметричной обработке на каждый процессор могут возлагаться и общесистемные, и супервизорные, и исполнитель­ ные функции. Однако такая организация не свободна и от неко­ торых недостатков. Основные из них — большое число конфликт­ ных ситуаций и сложность ОС. Последний недостаток нередко заставляет разработчика МПВК идти на компромиссные реше­ ния, вводя ограничения, о которых говорилось раньше. В чем же сложность ОС многопроцессорных комплексов? На первый взгляд кажется, что ОС МПВК мало чем отличается от ОС мультипрограммной однопроцессорной ЭВМ: та же струк­ тура, тот же состав — планировщик, диспетчер, супервизор ввода — вывода и т. д. Однако детальное рассмотрение показы­ вает, что по существу различие весьма глубокое. Чем же это объ­ яснить? Прежде всего не надо забывать, что в однопроцессорной ЭВМ при мультипрограммной обработке имеет место лишь сов­ мещение во времени этапов решения задачи. Параллельная ра­ бота разных устройств позволяет одновременно вести обработку информации по нескольким программам; но при этом собственно обработка в процессоре производится в каждый данный момент времени только по одной программе. Таким образом, работа по нескольким программам осуществляется лишь за счет совмеще­ ния во времени работы процессора по одной программе с работой устройств ввода—вывода по другим программам. В МПВК имеет место не только такое совмещение, но и одно­ временная обработка информации несколькими процессорами по нескольким программам. Это совершенно другое качество, кото­ рое приводит к усложнению всех процессов. Действительно, рас­ смотрение, к примеру, работы ОЗУ в однопроцессорной ЭВМ и 61
в МПВК показывает, что если в первом случае конфликты возни­ кают только при одновременном обращении процессора и КВВ к одному модулю памяти и легко разрешаются благодаря приори­ тету КВВ, то в МПВК конфликты возникают и при одновремен­ ном обращении нескольких процессоров к одному модулю па­ мяти, не говоря уже о том, что и число КВВ существенно больше. Разумеется, организация очереди и решение всех конфликтов тре­ бует соответствующих программ в ОС МПВК. В однопроцессор­ ной ЭВМ не может быть конфликтов при обращении к стандарт­ ным программам да и конфликты из-за программных ресурсов маловероятны, в то время как в МПВК это совершенно нормаль­ ное явление. Кроме того, при симметричной обработке информа­ ции супервизорные программы, как уже отмечалось, должны иметь повторную входимость, что также усложняет ОС. Таким образом, одновременное выполнение нескольких программ предъ­ являет к ОС МПВК серьезные дополнительные (по сравнению с ОС однопроцессорной ЭВМ) требования. Второй важный момент заключается в том, что ОС в одно­ процессорной ЭВМ работает с фиксированной конфигурацией ЭВМ. Операционная система МПВК должна не только обеспечи­ вать работу с различными конфигурациями, а более того — осу­ ществлять автоматическую реконфигурацию комплекса (при сим­ метричной обработке). Только при этом условии может быть до­ стигнута наибольшая надежность, которую способен обеспечить данный комплекс. Реконфигурация всегда влечет за собой пере­ распределение ресурсов. Одновременная работа нескольких про­ цессоров и необходимость реконфигурации комплекса значи­ тельно усложняют ОС МПВК. Рассмотрим некоторые особенности ОС МПВК, которые от­ личают ее от ОС однопроцессорной системы. При управлении ОЗУ на ОС МПВК возлагаются в основном те же задачи, что и на ОС однопроцессорной ЭВМ. Но есть одна проблема, которая отсутствует в однопроцессорной ЭВМ. Дело в том, что для каждого процессора нужна своя оперативная па­ мять для хранения некоторых собственных таблиц, слов состоя­ ния, прерываний, программ восстановления и др. Адресация этой памяти имеет определенную специфику. Чаще всего в МПВК для этих целей существует так называемая префиксация адресов. Сущность префиксации заключается в том, что адреса ячеек зоны памяти, которую использует только данный процессор, фор­ мируются с использованием содержимого регистра префикса, ко­ торый задает необходимое начальное смещение этой зоны. В § 2.6 при описании МПВК на базе ЕС ЭВМ префиксация адресов описывается более подробно. Выше упоминалось о том, что в МПВК существенно больше конфликтов при обращении к ОЗУ, и это требует соответствую­ щей организации ОС. Заметим, что для МПВК сокращение цикла работы ОЗУ имеет большее значение, чем в однопроцессорной ЭВМ, так как уменьшает простои процессоров из-за конфликтов. 62
Отметим еще одну особенность МПВК. Известно, что в одно­ процессорных ЭВМ значительный эффект дает чередование, или расслоение адресов. В МПВК это может не дать никакого эффекта или этот эффект будет сильно ослаблен, поскольку веро­ ятность того, что разные процессоры и разные КВВ будут обра­ щаться к соседним ячейкам памяти, весьма мала. Наличие сверх­ оперативных ЗУ у каждого процессора уменьшает число кон­ фликтов, однако возникают определенные трудности с повторным запуском задач при выходе из строя процессора. Планирование и диспетчеризация в МПВК существенно слож­ нее, чем в однопроцессорных системах. Пожалуй, основная про­ блема— определение задач, и в особенности частей одной за­ дачи, которые могут решаться параллельно. Этому уделяется большое внимание. Разработаны и широко используются языки программирования, в которых предусматриваются средства для организации параллельной обработки задач. Достаточно сложна и задача синхронизации параллельных процессов. Для этой цели часто используются так называемые семафоры, позволяющие при­ остановить выполнение процесса до удовлетворения определен­ ных условий. Семафор — это обычно переменная величина, пред­ ставляющая собой целое число, которое уменьшается или увели­ чивается на единицу при определенных событиях. Второй сложной и важной проблемой в планировании явля­ ется равномерная загрузка процессоров и периферийных уст­ ройств. Задача эта не такая простая, как может показаться на первый взгляд. Дело в том, что равномерности загрузки можно добиться только при достаточно точном прогнозировании вре­ мени решения каждой задачи. Один из неприятных моментов в МПВК — «тупиковые» ситу­ ации. «Тупики» возникают, когда для решения двух (или более) активных, т. е. уже находящихся в стадии решения, задач тре­ буются одни и те же ресурсы (УВВ, наборы данных, программы, ОЗУ), а приоритет одинаков. «Тупики» преодолеваются с помо­ щью ОС. Существует несколько методов, но, как правило, все они приводят к тому, что одну задачу, а иногда и более, прихо­ дится снимать, т. е. переводить в режим ожидания решения. Говоря о планировании и диспетчеризации, нельзя не сказать о важности защиты информации. Эта проблема существует и в однопроцессорной ЭВМ, и там она решается, как правило, ап­ паратными средствами. В МПВК этого бывает недостаточно, так как системные таблицы, некоторые наборы данных могут исполь­ зоваться несколькими процессорами, т. е. все они имеют право обращаться к этой информации и аппаратная защита разрешает обращение. Возможные действия одного из процессоров, не со­ гласованные с работой других, могут привести к искажениям информации. Эту проблему приходится решать также с по­ мощью ОС. Выше отмечалось, что на ОС МПВК возлагается автомати­ ческая реконфигурация комплекса при отказах тех или иных уст63
ройств, благодаря чему эти отказы не выводят из строя всего комплекса. Но ОС МПВК должна учитывать и то обстоятельство, что некоторые отказы могут вызвать искажение информации. При этом процесс нарушается и никакая реконфигурация комп­ лекса не в состоянии исправить это. Чтобы этого не случилось, обычно все системные таблицы и таблицы управления задани­ ями дублируются, что дает возможность при их искажении про­ должать процесс решения. 2.5. КОМПЛЕКСЫ НА ОСНОВЕ МИКРО-ЭВМ И МИКРОПРОЦЕССОРОВ Бурное развитие микропроцессорной техники явилось новым стимулом для развития ВК, так как преимущества, которые дает эта техника, не могли остаться без внимания со стороны раз­ работчиков ВК. А преимущества, как известно, значительные — высокая надежность, низкая стоимость, малые габариты, масса, потребляемая мощность, возможность использования в качестве встроенных элементов в любом оборудовании. Микропроцессоры обеспечили создание дешевых малогабаритных микро-ЭВМ с до­ статочно высокими характеристиками, процессоров, контролле­ ров периферийных устройств. Поэтому появилось естественное желание использовать все эти качества в максимальной степени. Правда, современные микро-ЭВМ и микропроцессоры имеют срав­ нительно невысокую производительность, однако их положитель­ ные качества открывают возможность для создания комплексов более крупных, т. е. из большего числа ЭВМ или устройств. Дей­ ствительно, вряд ли целесообразно создавать ММВК, например из 10—15 ЭВМ типа ЕС или даже СМ, настолько громоздким и сложным был бы такой комплекс. Но эта идея не вызывает никакого протеста, когда речь идет о построении комплекса из 10 и более одно- или двухплатных микро-ЭВМ. Даже при относи­ тельно низкой производительности микро-ЭВМ производитель­ ность таких комплексов может составлять миллионы операций в секунду. Двойное или тройное резервирование аппаратуры обе­ спечивает очень высокую надежность. .Если же учесть, что микро­ процессорные ВК легко встраиваются в любое оборудование, агрегаты, транспортные средства, становится ясным, насколько актуальны такие комплексы. Вместе с тем нельзя не учитывать, что при использовании в одном ВК большого числа микропроцессорных средств возни­ кает целый ряд проблем, в первую очередь сложность коммута­ ции, большое число конфликтов, сложность организации вычис­ лительных процессов. Выше уже было указано, что эти проблемы существуют и в ВК с малым числом ЭВМ или процессоров, од­ нако в более крупном комплексе проблемы обостряются. Стремление преодолеть возникающие трудности привело к поиску новых способов построения комплексов на основе микро-ЭВМ и микропроцессоров. Все существующее в настоящее 64
время многообразие комплексов можно разделить на три большие группы. К первой группе относятся комплексы, выполняемые по классическим схемам многомашинных или многопроцессорных ВК, с теми способами связи и взаимодействия элементов, которые уже были описаны. Во вторую группу входят комплексы, постро­ енные на микро-ЭВМ, память которых доступна для всех ЭВМ комплекса, — так называемые ВК с общедоступной памятью. Третья группа характеризуется наличием общего поля оператив­ ной памяти. Можно определить и четвертую группу комплексов, которые трудно классифицировать по какому-либо признаку и которые имеют специфические особенности либо в способах коммутации устройств, либо в способах и средствах организации вычислитель­ ного процесса. Остановимся более подробно на каждой группе с целью вы­ явления их возможностей и особенностей. Следует заметить, что появление микропроцессоров поначалу породило большие надежды в отношении классических МПВК с большим числом процессоров, так как снимались серьезные ог­ раничения, связанные со сложностью, громоздкостью и высокой стоимостью комплексов. Делались попытки создания МПВК, включающих в себя десятки и даже тысячи процессоров. Харак­ терным в этом отношении является комплекс «Гиперкуб», содер­ жащий 10 000 процессоров [5]. Комплекс, как и другие подобные ему, не оправдал возлагавшихся на него надежд из-за сложности построения, организации вычислительных процессов и трудностей программирования. Это заметно охладило пыл энтузиастов МПВК, так как стало ясным, что основные трудности создания МПВК остались и при увеличении числа процессоров только воз­ растают. Поэтому дальнейшего развития ВК с большим числом процессоров не получили, но комплексы с ограниченным числом (два — четыре) процессоров используются достаточно часто. Многомашинные ВК на базе микро-ЭВМ создавались перво­ начально по классическим схемам. Однако это не давало долж­ ного эффекта при большом числе микро-ЭВМ. Получались комп­ лексы, которые развивали достаточно высокую производитель­ ность только при решении больших потоков сравнительно простых задач. Не удавалось добиться высокой производительности при решении сложных задач за счет организации параллельной об­ работки информации. Это и привело к поискам новых структур. Ясно было, что надо придавать многомашинным ВК некоторые свойства, присущие многопроцессорным комплексам. В основном вели поиск по пути объединения всех или части ресурсов комп­ лекса. Многочисленные полученные варианты, как уже отмеча­ лось, можно объединить в группы. Заметим только, что все вари­ анты имеют общий характерный признак: это многомашинные комплексы с включением некоторых особенностей МПВК. Идея комплексов с общедоступной памятью очень проста — ОЗУ и ВЗУ каждой ЭВМ доступны для других ЭВМ. С этой 65
Рис. 2.12. Комплекс типа Ст* целью предусматриваются соответствующие связи, а система ад­ ресации позволяет рассматривать все ЗУ как единое целое. При этом каждая ЭВМ имеет все необходимые ресурсы для решения задач и управляется своей операционной системой, т. е. комплекс остается многомашинным. Однако общедоступная память дает новое качество: возможность использовать общие базы данных, решать на нескольких ЭВМ одну, общую, задачу, затрачивая на обмен информацией сравнительно малое время. Следует заметить, что современные ОЗУ на интегральных схемах обладают доста­ точно высоким быстродействием, в то время как быстродействие процессоров относительно невелико, поэтому замедление работы ЭВМ при обращении к памяти другой ЭВМ оказывается не очень значительным. При решении одной задачи на нескольких ЭВМ, как и в МПВК, остается проблема синхронизации этапов ре­ шения. Пожалуй наиболее характерным в этой группе является комплекс Ст* (рис. 2.12), разработанный университетом Карнеги (США). Основным элемен­ том комплекса является микро-ЭВМ Ь51-11 фирмы ОЕС, включающая в себя процессор, ОЗУ, ВЗУ на сменных магнитных дисках, устройства для работы оператора. Все устройства объединены общей шиной. Несколько таких ЭВМ (до 14) связываются через так называемую шину отображения с помощью местных (локальных) переключателей 5*. Один переключатель объединяет об­ щую шину Ь 5 Ы 1 , процессор и шину отображения. Группа ЭВМ, связанных шиной отображения, образует так называемый кластер. В комплексе может быть несколько кластеров, которые соединяются между собой через межкла­ стерные шины. Взаимодействие кластеров обеспечивается быстродействующим коммутационным процессором (КП) с микропрограммным управлением. Этот процессор одновременно управляет и шиной отображения. На рисунке пред­ ставлена схема ВК из трех кластеров. Каждый процессор имеет доступ ко всем ЗУ системы. Система адресации позволяет образовать 28-разрядное вир­ туальное адресное пространство, которое разбито на сегменты по 4096 байт, т. е. имеет 2 16 сегментов. Естественно, в этом комплексе доступ к различным ЗУ осуществляется с разной задержкой: минимальной — при обращении к соб­ ственной памяти, средней — при обращении к памяти другой ЭВМ, входящей в тот же кластер, и максимальной — при обращении в ЗУ ЭВМ других кла­ стеров. 66
Рис. 2.13. Комплекс типа С т т р Принцип построения систем с общим полем оперативной па­ мяти заключается в том, что несколько ЭВМ, каждая из которых имеет собственное ОЗУ, кроме того, имеют возможность обра­ щаться к общему ОЗУ, емкость которого значительно больше не только емкости ОЗУ одной ЭВМ, но и суммарной емкости всех ОЗУ. Такое построение системы в максимальной степени прибли­ жает многомашинный ВК к многопроцессорному, так как наличие общего оперативного ЗУ обеспечивает комплексу большинство свойств, характерных для МПВК, в том числе и возможность па­ раллельной работы при решении одной большой задачи. При этом каждая ЭВМ работает под управлением своей, достаточно простой ОС. Характерным представителем этой группы является комплекс типа С т т р (рис. 2.13). ЭТОТ ВК построен на основе широко известных мини-ЭВМ РОР-11/40 фирмы БЕС. В комплексе может быть до 16 таких ЭВМ. С по­ мощью матричного коммутатора (16X16) к любой из этих ЭВМ может под­ ключаться один из 16 модулей памяти (МП), создающих таким образом об­ щее для процессоров всех ЭВМ поле памяти. Каждый модуль памяти имеет емкость 1 млн слов (2 Мбайт). Так как адресное поле ЭВМ составляет 18 раз­ рядов, а общее адресное пространство равно 32 Мбайт, обращение процессо­ ров к общей памяти осуществляется через специальный транслятор адреса (ТА), который работает с достаточно высокой скоростью: задержка не пре­ вышает 250 не. Кроме связи ЭВМ через общую память имеется связь посредством общей межпроцессорной шины, что обеспечивает взаимные прерывания с тремя уров­ нями, синхронизацию процессоров, а также выполнение некоторых функций управления (каждый процессор может останавливать и запускать любой другой процессор). Процессоры РОР-11/40, которые используются в этом комплексе, не­ сколько отличаются от серийных. В них внесены изменения, обеспечивающие 67
запись в управляющую память и возможность ее расширения. Пользователю запрещено применять некоторые команды (НАЬТ, ША1Т и др.). Операцион­ ная система также претерпела изменения. Емкость собственного ОЗУ каждой ЭВМ составляет 4 кслов (8 кбайт). Такой же выбрана емкость страницы в об­ щем поле памяти. Конфликты, которые возникают при одновременном обра­ щении двух или более процессоров и одному4 и тому же модулю памяти, раз­ решаются в самих модулях, где организуется очередь запросов. Как отмечалось, ВК типа С т т р максимально приближаются к микропро­ цессорным и при малой емкости памяти собственных ОЗУ приобретают значи­ тельную часть недостатков МПВК, в частности большое число конфликтов из-за памяти, сложность ОС. По-видимому, лучшие результаты можно полу­ чить, увеличивая собственную оперативную память ЭВМ, образующих ком­ плекс. Возможности ЭВМ в этом варианте резко возрастают, существенно уменьшается число конфликтов из-за памяти, ОС приближается по своему ха­ рактеру к ОС ММВК и становится проще. Вместе с тем сохраняется и цен­ ное качество МПВК: возможность эффективного взаимодействия всех или части процессоров при решении общей задачи. В отношении надежности ВК типа С т * и С т т р безусловно эффективны, так как оба позволяют осуществлять резервирование всех ресурсов и допус­ кают в значительных пределах реконфигурацию при выходе из строя того или иного устройства. В простейшем случае возможно простое отключение неис­ правной ЭВМ с передачей выполняемых ею функций другим ЭВМ. Рассматривая организацию обработки информации в таких ВК, можно от­ метить, что принципиально и в том и в другом комплексе возможны все три способа функционирования: «ведущий — ведомый», раздельное выполнение за­ даний каждым процессором, симметричная обработка. Однако для комплексов типа С т * больше подходит организация по типу «ведущий — ведомый», а ор­ ганизация симметричной обработки сильно затруднена. Для ВК типа С т т р одинаково приемлемы все три способа. 2.6. РЕАЛИЗАЦИЯ КОМПЛЕКСОВ В отечественной вычислительной технике в настоящее время можно выделить три основных направления развития [5]: 1. Единая система ЭВМ социалистических стран (ЕС ЭВМ). 2. Система малых ЭВМ социалистических стран (СМ ЭВМ). 3. Семейство высокопроизводительных комплексов «Эльбрус». Кроме этих направлений, разумеется, существуют и другие, однако эти три определяют в основном технический уровень и парк вычислительных машин в стране. Концепции, положенные в основу построения ЕС и СМ ЭВМ, с самого начала предусматривали создание семейства не только однопроцессорных ЭВМ, но и вычислительных комплексов на ос­ нове технических и программных средств этих ЭВМ. Семейство «Эльбрус», например, реализуется только в виде многопроцессор­ ных вычислительных комплексов. Представляется целесообразным рассмотреть возможности и принципы организации вычислительных комплексов для всех на­ правлений. ВК на базе ЕС ЭВМ. Единая система ЭВМ представляет со­ бой семейство программно-совместимых вычислительных машин, предназначенных для решения широкого класса научно-техниче­ ских, экономических, управленческих и других задач. ЕС ЭВМ разрабатывается и производится совместно странами социалисти­ ческого содружества: НРБ, ВНР, ГДР, ПНР, СРР, СССР и 68
Р и с . 2.14. К о м п л е к с В К - 1 0 1 0 ЧССР. Разработка начата в 1969 г., а серийное производство ве­ дется с 1971 г. Научные и производственные коллективы всех стран работают по единому плану. В настоящее время ЭВМ Еди­ ной системы составляют основу парка ЭВМ социалистических стран. Разработка ЕС ЭВМ по объему капиталовложений, по числу организаций-соисполнителей и по составу разрабатывае­ мых средств является крупнейшим проектом в области вычис­ лительной техники в Советском Союзе и социалистических стра­ нах. Объединение усилий для решения общей задачи позволило сделать большой шаг вперед в развитии научно-технической и производственной базы вычислительной техники стран — участ­ ниц разработки. В рамках ЕС ЭВМ создавались двухмашинные и двухпроцес­ сорные комплексы, которые позволяют повысить производитель­ ность и надежность и вместе с тем отличаются относительной простотой как технической реализации, так и программного обе­ спечения. Это вовсе не означает, что имеющиеся средства не по­ зволяют создавать, скажем, трех- или четырехмашинные и трехили четырехпроцессорные комплексы. Дело в том, что такие комп­ лексы будут существенно сложнее и их технико-экономическая эффективность может оказаться недостаточно высокой. Первым двухмашинным комплексом в составе ЕС был комп­ лекс ВК-1010, построенный на базе ЭВМ ЕС-1030. В этом комп­ лексе были использованы почти все существующие способы орга­ низации связи между ЭВМ: прямое управление, адаптер канал— канал, связь на уровне общих ВЗУ. Таким образом, в комплексе ВК-Ю10 не было лишь связи между ЭВМ через общую оператив­ ную память. Структурная схема ВК-Ю10 (рис. 2.14) осталась 69
практически без изменения и для последующих двухмашинных ВК, созданных на базе ЕС ЭВМ-1 и ЕС ЭВМ-2: ВК-1033 (из двух ЕС-1033), ВК-2Р-35 (ЕС-1035), ВК-2Р-45 (ЕС-1045), ВК-2Р-60 (ЕС-1060) [5]. Эту схему можно считать типовой для ЕС ЭВМ. Рассмотрим средства, используемые в ЕС ЭВМ для созда­ ния двухмашинных комплексов. Обмен управляющей и синхронизирующей информацией между ЭВМ осуществляется с помощью средств прямого управления, к которым относятся стандартный интерфейс прямого управле­ ния, специальные команды ПРЯМАЯ ЗАПИСЬ и ПРЯМОЕ ЧТЕ­ НИЕ и механизм внешних прерываний. Эти средства позволяют осуществлять быструю связь между центральными процессорами и обычно используются для передачи небольших объемов инфор­ мации. Через канал прямого управления к ВК подключается блок состояния вычислительного комплекса (БСВК) и пульт уп­ равления ВК, которые вместе образуют устройство управления вычислительным комплексом. Блок состояния ВК включает в себя блок управления и регистры состояния, которые опреде­ ляют режим работы ВК. Запись в эти регистры осуществляется либо оператором с пульта, либо по команде ПРЯМАЯ ЗАПИСЬ. С помощью команды ПРЯМОЕ ЧТЕНИЕ содержимое этих ре­ гистров может быть переписано в оперативную память. Интерфейс прямого управления включает в себя: восемь вход­ ных и восемь выходных линий информации, четыре линии син­ хронизации, две линии внешних сигналов, линии записи и чтения. Блок состояния совместно с пультом управления ВК позво­ ляет осуществлять ручное переключение ВК и ЭВМ в требуе­ мый режим работы; начальную загрузку программ; внешнее пре­ рывание; включение и выключение питания. Кроме того, на пульте управления осуществляется индикация состояний ЭВМ, а также необходимая сигнализация об аварийных состояниях. Адаптеры канал—канал позволяют производить обмен боль­ шого объема информации между ЭВМ; АКК работает в моно­ польном режиме с высокой пропускной способностью (примерно 1 Мбайт/с). Для каждой ЭВМ адаптер является как бы устрой­ ством, которое выбирается каналом: точно так же реагирует на все запросы канала, принимает и расшифровывает команды канала — с той только разницей, что команды и сигналы исполь­ зуются не для управления периферийным устройством, а для пе­ редачи информации между каналами и синхронизации их работы. В соответствии с функциями АКК в его структуру входят два блока управления обменом, связанных непосредственно с по­ мощью нескольких сигнальных линий, а также через общий бу­ ферный регистр. Третье средство комплексирования — связь ЭВМ через ВЗУ: накопители на магнитных лентах (НМЛ) и магнитных дисках (НМД). Все устройства управления НМЛ и НМД имеют двухканальные переключатели (ДКП), которые позволяют подключать УУ либо к двум каналам, либо к каналам двух ЭВМ. В первом 70
случае ДКП обеспечивает доступ к ВЗУ через два канала, повы­ шая тем самым надежность ЭВМ. Во втором ДКП позволяет организовать общее поле внешней памяти на НМЛ и НМД. Ре­ зервирование НМЛ и НМД тем или другим каналом осуществ­ ляется по команде ЗАРЕЗЕРВИРОВАТЬ УСТРОЙСТВО, кото­ рую выдает канал, однако есть некоторая разница в резервиро­ вании НМЛ и НМД: в первом случае канал резервирует все устройство управления, т. е. группу НМЛ, во втором — определен­ ный накопитель. Освобождение накопителя осуществляется по команде ОСВОБОДИТЬ УСТРОЙСТВО. Рассмотрим режимы функционирования ММВК на примере двухмашинного ВК. При исправности обеих ЭВМ возможны три режима работы. Первый: обе машины параллельно решают одни и те же задачи, однако используются результаты, выдаваемые только одной из них, которая считается основной. В случае вы­ хода ее из строя происходит немедленное переключение на вто­ рую (резервную) ЭВМ. Второй режим: обе ЭВМ работают как две независимые ЭВМ, каждая из которых решает свои задачи. В случае отказа одной из них вторая принимает на себя ее на­ грузку. При этом либо увеличивается время пребывания задач в ЭВМ, либо решаются только самые необходимые задачи. Тре­ тий режим: одна из ЭВМ решает задачи, другая находится в ре­ жиме ожидания, готовая подключиться к работе, либо в режиме проведения профилактических работ. При неисправности одной из ЭВМ она переводится в состояние ремонта, а другая в этом случае работает без резервирования. Аппаратные средства комплексирования ЕС ЭВМ дополня­ ются соответствующими программными средствами. Для первых ВК ЕС ЭВМ была разработана специальная операционная си­ стема ОС-К1. В дальнейшем программные средства, обеспечи­ вающие работу средств комплексирования, включались в состав основной операционной системы ОС ЕС. В ОС ЕС предусмот­ рено соответствующее программное обеспечение для каждого уровня комплексирования. Для обращения одного процессора к другому по интерфейсу прямого управления служит макро­ команда ПРЯМАЯ ЗАПИСЬ. В связи с последовательной струк­ турой данных, передаваемых через АКК, предусмотрены два ме­ тода доступа: последовательный с очередями и базисный по­ следовательный. В каждом методе свой набор макрокоманд, обеспечивающий работу с помощью АКК. Предусмотрена также программная проверка правильности информации, передаваемой через АКК, с помощью контрольной суммы. Первым двухпроцессорным комплексом в ЕС ЭВМ был комп­ лекс ВК2П45, структура которого (рис. 2.15) является типовой для двухпроцессорных комплексов в ЕС. Тип структурной орга­ низации— МПВК с многовходовой оперативной памятью. Процес­ соры имеют доступ к модулям памяти через адаптеры памяти (АП), которые и осуществляют необходимую коммутацию. Ми­ нимальная емкость ОЗУ в комплексе 2 Мбайт, максимальная — 71
Рис. 2.15. Комплекс ВК2Г145 8 Мбайт (емкость одного модуля 1 Мбайт). Оба процессора могут обра­ щаться в ОЗУ одновременно, кон­ фликты возникают при обращении двух процессоров к одному АП. Для их разрешения предусмотрена схема, организующая очередь запросов. Схема работает таким образом, что при наличии запросов от двух про­ цессоров обращение их к ОЗУ произ­ водится попеременно: обращение дважды подряд одного процессора за­ прещено. Так как каждый из двух процессо­ ров должен иметь в ОЗУ собственную зону фиксированных ячеек, в качестве которой в однопроцессорном комплексе используется зона с адресами 0—4095, то в каждом процессоре предусмотрен механизм префиксации. Большинство адресов при обращении про­ цессора к памяти обрабатывается с префиксацией. Такие адреса называются реальными, а не обрабатываемые—абсолютными. В результате формирования абсолютного адреса реальные адреса 0—4095 заменяются 4096 адресами блока, адрес которого начина­ ется с адреса, указанного в регистре префикса. Префикс — это 12-разрядное число, размещенное в регистре префикса. Содержи­ мое регистра может быть установлено и проверено командами УСТАНОВИТЬ ПРЕФИКС и ЗАПИСЬ В ПАМЯТЬ ПРЕФИКСА соответственно. При установке префикса разряды 0—7 и 20—31 регистра префикса игнорируются, а при записи в память в эти разряды записываются нули (разряды «обнуляются»). В исход­ ном состоянии во все разряды регистра записаны нули. При пре­ фиксации адреса перекодируются следующим образом: 1. Разряды 8—19 адреса памяти, если они имеют нулевые зна­ чения, замещаются разрядами 8—19 регистра префикса, т. е. происходит сдвиг зоны с адресами 0—4095 в отведенную данному процессору зону памяти. 2. Разряды 8—19 адреса памяти в случае равенства их раз­ рядам 8—19 префикса заменяются нулями, т. е. часть памяти, отведенная под зону процессора, перемещается в зону с адре­ сами 0—4095. 3. Разряды 8—19 адреса не изменяются, если они все не равны нулю или не равны соответствующим разрядам префикса, т. е. эти адреса являются общими для обоих процессоров и не подле­ жат изменению. Реконфигурация комплекса осуществляется со специального пульта реконфигурации, который имеет соответствующие органы. С их помощью любой из модулей ОЗУ можно подключить к лю­ бому процессору или к обоим процессорам, а также задать лю72
бой диапазон адресов в пределах установленной емкости ЗУ, соблюдая непрерывность адреса. Кроме того, с пульта осуществ­ ляется подключение и реконфигурация УВВ и устанавливается один из трех предусмотренных режимов работы ВК: 1) однопро­ цессорный, когда комплекс работает как две самостоятельных ЭВМ; 2) двухпроцессорный, при котором функционируют все двухпроцессорные связи; 3) полудуплексный, когда работает один процессор, использующий всю оперативную память, а вто­ рой процессор может быть отключен. В двухпроцессорном, как и в двухмашинном комплексе, су­ ществует непосредственная связь между процессорами для об­ мена управляющей информацией. Потребность в этом обмене мо­ жет возникнуть при необходимости запуска или остановки одного процессора другим, при взаимном контроле состояния. Кроме упоминавшихся ранее команд ПРЯМАЯ ЗАПИСЬ и ПРЯМОЕ ЧТЕНИЕ в двухпроцессорном режиме для прямого управления используется также специальная команда СИГНАЛ ПРОЦЕС­ СОРУ. Эта команда определяет адрес процессора, с которым осу­ ществляется связь, и код приказа. В адресуемом процессоре мо­ гут возникнуть условия, препятствующие выполнению того или иного приказа. Эти условия формируют соответствующие биты байта состояния. Байт состояния передается в выдающий приказ процессора в качестве ответа на поступивший приказ. В двухпро­ цессорных ВК ЕС предусмотрено 12 таких приказов. Все указанные аппаратные средства, обеспечивающие построе­ ние двухпроцессорных комплексов, поддерживаются специаль­ ным вариантом ОС ЕС. Следует отметить, что технические средства ЕС позволяют строить системы не только по типу МПВК с многовходовой памятью. Возможно и построение систем с пере­ крестной коммутацией, но для этого потребуется разработка ком­ мутатора, которого пока в ЕС ЭВМ не предусмотрено. В К на базе СМ ЭВМ. В начале 70-х годов страны социалисти­ ческого содружества (к ним присоединилась еще и Республика Куба) приступили к совместной разработке Системы малых ЭВМ (мини-ЭВМ). На основе интеграции научно-технического и про­ изводственного потенциала в короткий срок была реализована первая очередь малых ЭВМ, включающая в себя четыре ЭВМ (СМ-1, СМ-2, СМ-3 и СМ-4), большой объем периферийного обо­ рудования, а также необходимое программное обеспечение. Си­ стема малых ЭВМ была ориентирована на широкое применение: автоматизация технологических процессов, научных исследова­ ний, проектирования, использование ЭВМ в качестве интеллекту­ альных терминалов, решение научных, инженерных и экономи­ ческих задач. Первая очередь включала в себя четыре базовых процессора СМ-1П, СМ-2П, СМ-ЗП, СМ-4П производительностью от 200 до 800 тыс. операций в секунду. Первые два продолжили линию отечественных ЭВМ М-6000 и М-7000, получивших широкое рас­ пространение в стране, имеющих богатое программное обеспече73
Рис. 2.16. Подключение устройств через переключатель шины ние и используемых во многих системах управления и автомати­ зации. Вторые два процессора продолжили линию отечественной ЭВМ М-400, в них реализованы новые структурные и технические решения, характерные для ЭВМ этого класса. Важным моментом является то, что эти решения в значительной мере способствуют созданию комплексов и систем на базе этих машин. Основные особенности СМ-3 и СМ-4, созданных на базе этих процессоров,— широкий диапазон производительности в конкретных условиях применения, магистральная (типа «общая шина») структура интер­ фейса, простая реализация многомашинных и многопроцессорных комплексов, высокая скорость обработки прерываний, гибкость и легкость оснащения устройствами сопряжения с реальными объектами. Все это способствовало тому, что ЭВМ СМ-3 и СМ-4 нашли широкое применение в самых различных областях. Поскольку ВК в рамках СМ ЭВМ создавались в основном на базе СМ-3 и СМ-4, рассмотрим несколько подробнее структуру и основные особенности этих ЭВМ. В ЭВМ с одношинной структурой все устройства подключа­ ются к единственной в системе магистрали, называемой общей шиной (см. рис. 2.7, а). Физически общая шина (ОШ) представ­ ляет собой магистраль из 56 линий, по которым передается вся информация, необходимая для функционирования ЭВМ как еди­ ного комплекса. Такой интерфейс обеспечивает единый способ связи всех устройств, позволяет иметь единый алгоритм связи и унифицированную аппаратуру сопряжения. Все устройства, входящие в состав ЭВМ, используют единый, одинаковый для всех набор сигналов интерфейса. Как и в ЕС ЭВМ, в СМ ЭВМ предусмотрен набор средств для создания комплексов: переключатель общей шины, адаптер межпроцессорной связи, устройство сопряжения вычислитель­ ных машин. Переключатель общей шины СМ-4501 (ПШ СМ) предназна­ чен для построения на базе процессоров СМ-ЗП и СМ-4П мно­ гомашинных комплексов различной конфигурации. 74
Переключатель представляет собой электронное устройство, позволяющее подключать к общей шине одного из двух процес­ соров дополнительный участок шины (ДШ). К ДШ могут под­ ключаться любые устройства СМ ЭВМ, кроме процессора, и в любом наборе (рис. 2.16). Стандарт ДШ полностью соответ­ ствует стандарту ОШ, все сигналы ОШ передаются на ДШ без искажений, поэтому процессор, к которому подключены допол­ нительные устройства, работает с ними, как с собственными. Единственное отличие заключается в том, что ПШ вносит до­ полнительную задержку при передаче сигнала до 500 не, что сни­ жает производительность каждой из ЭВМ. Переключатель общей шины состоит из двух одинаковых по функциональному, электрическому и конструктивному построе­ нию секций, каждая из которых подсоединяется к ОШ процес­ соров. Секция содержит собственно переключатель и расшири­ тель ОШ, обеспечивающий подключение к шине дополнительных устройств. Таким образом, ПШ СМ позволяет создавать на базе про­ цессора СМ ЭВМ двухмашинные комплексы с общим полем ВЗУ или ОЗУ. При этом суммарная емкость ОЗУ (собственного процессорного и дополнительного) не может превышать макси­ мальной адресуемой (28 кслов для СМ-ЗП и 128 кслов для СМ-4П). Возможно использование ПШ и просто для резервирова­ ния тех или иных устройств с целью повышения надежности. Сле­ дует отметить, что дополнительного программного обеспечения при использовании ПШ не требуется. Адаптер межпроцессорной связи (АМС СМ) предназначен для такой связи между ЭВМ, при которой любой из процессо­ ров двух связываемых ЭВМ может обращаться к устройствам ЭВМ, как к своим собственным. Обращение процессора одной ЭВМ к устройствам другой выполняется обычными командами с использованием так называемого окна — зоны адресов, специ­ ально отведенной для этой цели. Машина, процессор которой обращается в другую, называется комплексом-источником, а другая ЭВМ — комплексом-целью. Емкость окна выбирается при проектирований комплекса и может составлять 512 слов, 1, 2, 4, 8, 16, 32 кслов. Местополо­ жение окна на адресной шине комплекса задается программно перед установлением связи через АМС. В качестве окна может быть использован любой незадействованный блок адресов, но на практике чаще всего окно располагается вслед за адресами опе­ ративной памяти. При работе АМС вносит дополнительную за­ держку, которая не превышает 400 не. Подключается АМС на ОШ обеих соединяемых с его помощью ЭВМ. Каждое обраще­ ние к окну реализуется в режиме прямого доступа. Устройство функционально симметрично, т. е. любая из соединяемых ЭВМ может быть и источником и приемником данных. Обращение че­ рез окно может исходить из любого устройства, которое спо­ собно быть задающим. Функционально АМС СМ включает 75
Рис. 2.17. Комплекс на основе АМС в себя несколько адресуемых регистров для входных и выходных данных, адресов и сигналов управления. На рис. 2.17 представлен трехпроцессорный симметричный комплекс, в котором операционная система является общей для всех процессоров. Эта же схема может быть и схемой трехмашинного комплекса, если каждый процессор работает только со своей оперативной памятью. Работа АМС поддерживается программами, входящими в со­ став специального программного обеспечения СМ ЭВМ. Для организации иерархических многомашинных комплексов на основе ЭВМ СМ и ЕС в составе технических средств исполь­ зуется устройство сопряжения вычислительных машин (УСВМ) А 71118. Такой ВК включает в себя центральную ЭВМ, функции которой выполняет одна из ЭВМ ЕС и периферийные ЭВМ, в качестве которых используются СМ-3 или СМ-4. Таким обра­ зом, УСВМ имеет два интерфейса — интерфейс ЕС ЭВМ и СМ ЭВМ. Со стороны ЭВМ ЕС оно подключается к селекторному или мультиплексному каналу ввода — вывода, со стороны ЭВМ СМ — к ОШ и реагирует на команды ЭВМ как обычное перифе­ рийное устройство, используя эти команды для установления связи между ЭВМ и синхронизации их работы. Устройство сопряжения состоит из двух частей: интерфейс­ ного блока и устройства управления (рис. 2.18). Взаимодей­ ствие УСВМ с ЭВМ СМ осуществляется с помощью четырех адресуемых регистров: команд и состояния (РКС), данных (РД), адреса (РА) и длины массива (РДМ). Информация в РКС определяет режим работы УСВМ и отражает его состоя­ ние. Реализация алгоритмов взаимодействия ЭВМ ЕС с УСВМ осуществляется аппаратным способом, а инициализация режима обмена — программным. Программы, поддерживающие УСВМ, входят в состав операционной системы «Фобос» СМ. МПВК «Эльбрус». При создании МПВК «Эльбрус» ставилась задача обеспечить высокую производительность и надежность при решении задач, требующих большого объема вычислений. Наилучшим образом такая комплексная цель может быть до­ стигнута путем создания многопроцессорного комплекса с одно­ родной организацией обработки во всех процессорах. Комплекс 76
Рис. 2.18. Комплекс на основе УСВМ :<Эльбрус» может содер­ жать до 10 процессоров. При . увеличении числа процессоров резко возра­ стает число конфликтов из-за ресурсов и увели­ чиваются затраты ресур­ сов, используемых ОС, в результате чего произ­ водительность р астет медленно. Для уменьшения этого эффекта применяются следую­ щие меры: увеличивается число модулей оперативной памяти, внешних ЗУ и устройств ввода—вывода, т. е. число ресурсов; про­ цессоры снабжаются быстродействующими буферными ЗУ доста­ точно большой емкости; в качестве машинного языка использу­ ется алгоритмический язык высокого уровня; наиболее часто вы­ полняемые функции ОС реализуются техническими средствами. Включение в состав комплекса большого числа модулей с не­ зависимым управлением и периферийных устройств позволяет свести к минимуму конфликты из-за ресурсов, необходимых для вычислительных процессов, реализуемых разными процессорами и устройствами. Наличие быстродействующего буферного ЗУ су­ щественно уменьшает число обращений к оперативной памяти, а следовательно, простои процессоров из-за ожидания памяти. Использование алгоритмического языка высокого уровня умень­ шает длину программ (в некоторых случаях в 2—3 раза), в ре­ зультате чего сокращается число обращений к оперативной па­ мяти. Аппаратная реализация наиболее часто используемых мо­ дулей ОС позволяет уменьшить затраты ресурсов на ОС при большом числе процессоров и повысить производительность при малом. Аппаратными средствами реализуются в основном функ­ ции диспетчера ОС, что освобождает процессоры от рутинной работы, связанной с организацией очередей, обменом данными, и уменьшает число прерываний, обрабатываемых ОС. Структурная схема МПВК «Эльбрус» представлена на рис. 2.19. Многовходовая оперативная память построена следу­ ющим образом. Четыре модуля оперативной памяти (МП) объ­ единяются одним общим коммутационным модулем (КМ), кото­ рый подключает любой МП к 10 центральным процессорам (ЦП) и 4 процессорам ввода —вывода (ПВВ). Число КМ в комплексе — до 8, а МП — до 32. Центральные процессоры взаимодействуют с оперативной памятью и ПВВ через КМ. Все периферийное оборудование (накопители на магнитных лентах, дисках и барабанах, устройства ввода — вывода и пере­ дачи данных) подключается к центральной части комплекса че­ рез ПВВ, которые являются специализированными, имеют 77
Рис. 2.19. Комплекс «Эльбрус» буферное ЗУ, АЛУ и работают по заявкам ЦП. Процессор ввода— вывода реализует аппаратно функции ОС по управлению устройствами ввода—вывода. При этом ПВВ определяет пути об­ мена информацией (каждое периферийное устройство имеет не­ сколько путей доступа к ПВВ), осуществляет подключение и ре­ зервирование устройств. Максимальная скорость обмена ПВВ с ОП достигает 36 Мбайт/с. В состав внешних ЗУ комплекса входят накопители на маг­ нитных лентах, дисках, барабанах. В качестве НМЛ и НМД ис­ пользуются все типы накопителей, выпускаемых промышленно­ стью в составе ЕС ЭВМ, а НМБ специально разработаны для комплекса «Эльбрус» и имеют следующие характеристики: ем­ кость 4,2 Мбайт, среднее время доступа 5,5 мс, скорость обмена 3,6—3,8 Мбайт/с. Использование НМБ, имеющих существенно большую скорость, чем НМД, позволяет повысить эффективность обмена между ОЗУ и ВЗУ и в конечном счете увеличить произ­ водительность комплекса. При работе с НМБ и НМД использу­ ются корректирующие коды, что значительно повышает надеж­ ность хранения информации. В качестве устройств ввода—вывода используется практиче­ ски весь комплекс устройств ЕС ЭВМ, включая печатающие, перфоленточные, перфокарточные и графические устройства. Все устройства комплекса работают параллельно и незави­ симо друг от друга и охвачены аппаратным контролем. При воз­ никновении неисправности операционная система получает соот­ ветствующий сигнал и осуществляет автоматическую реконфи­ гурацию комплекса, исключая из него неисправное устройство. После восстановления оно может быть вновь введено в рабочий комплект. Комплекс «Эльбрус» является классическим многопроцессор­ ным не только по структуре, но и по способу организации обра­ ботки информации. Все задания и процессы находятся в одной общей очереди, ожидая освобождения процессоров. Как только 78
какой-либо процессор переводит процесс из активного состояния в пассивное, то немедленно обращается к этой очереди и выби­ рает первый из находящихся в очереди процессов. Последние могут иметь различные приоритеты, тогда фактически организу­ ется несколько очередей процессов. Комплексы семейства «Эльбрус» отличаются друг от друга производительностью и технической реализацией устройств. Про­ цессоры, применяемые в комплексе «Эльбрус-1», имеют произ­ водительность до 1,5 млн. операций в секунду. Время выполне­ ния основных операций: сложение с фиксированной запятой — 520 не; сложение с плавающей запятой — 780 не; умножение 32-разрядных чисел — 780 не; умножение 64-разрядных чисел — 1300 не; логические операции — 520 не. Производительность в максимальной комплектации должна достигать 12 млн. опера­ ций в секунду. '^ Комплекс «Эльбрус-2» в максимальной комплектации должен обеспечивать производительность свыше 100 млн. операций в се­ кунду, т. е. примерно в десять раз более высокую, чем «Эль­ брус-1». Используемое в «Эльбрусе-1» программное обеспечение полностью реализуется в «Эльбрусе-2». 2.7. СРАВНЕНИЕ МНОГОМАШИННЫХ И МНОГОПРОЦЕССОРНЫХ КОМПЛЕКСОВ На практике при необходимости обеспечения высокой произ­ водительности и высокой надежности всегда возникает вопрос, каким путем решать эту задачу. Создавать ММВК или МПВК? Среди разработчиков существуют сторонники как многопроцес­ сорных, так и многомашинных комплексов. Попытаемся оценить преимущества и недостатки того и другого направления. Наиболее целесообразно оценивать следующие характери­ стики ВК: надежность, производительность, гибкость, сложность программного обеспечения, экономическую эффективность. Хотя дать точную количественную оценку каждой характеристики не­ возможно и приведенные ниже оценки носят в значительной степени качественный характер, однако они дают достаточное представление о сравниваемых комплексах. Все показатели, характеризующие надежность, вне всякого сомнения являются важнейшими, так как зачастую именно для повышения надежности и строятся комплексы. Несложно пока­ зать, что по этому параметру МПВК имеет явное преимущество перед ММВК. Это объясняется тем, что в ММВК резервирова­ ние осуществляется по машинам, в то время как в МПВК по устройствам. Благодаря этому МПВК может обеспечить более высокую надежность по сравнению с ММВК при том же объеме оборудования или ту же надежность при меньших аппаратных затратах. Оценка производительности не только любого ВК, но даже однопроцессорной ЭВМ достаточно сложна. Объясняется это 79
прежде всего различием задач по характеру вычислений, т. е. составу операций, по числу обращений к ВЗУ, объему передава­ емой между устройствами информации и др. Кроме того, произ­ водительность зависит от построения комплекса: структуры, ем­ кости памяти, способов связи между устройствами, параметров самих устройств и др. В силу приведенных обстоятельств нам придется ограничиться качественными оценками производитель­ ности ВК. Рассмотрим два возможных варианта нагрузки комплекса. Первый: в ВК поступает большой поток различных, не связан­ ных между собой задач с небольшим объемом вычислений. Вто­ рой вариант: комплекс нагружается крупноразмерными зада­ чами, число которых может быть и невелико, но решение каждой связано с большой вычислительной работой. И ММВК, и МПВК, как уже было показано, характеризуются одинаковой схемой об­ работки информации: множественный поток команд — множе­ ственный поток данных. Из-за разного объема вычислений рабо­ чая нагрузка обрабатывается по-разному. При первом варианте нагрузки работа ЭВМ в многомашин­ ном комплексе практически мало отличается от режима авто­ номной работы. Общий поток задач тем или иным способом раз­ деляется между всеми ЭВМ, и каждая ЭВМ работает незави­ симо от других. Разделение потока задач может происходить автоматически с использованием общих ВЗУ, где фиксируется спи­ сок всех задач, в который вносится каждая вновь поступающая в комплекс задача, а ЭВМ по мере окончания решения задач выбирает новые из списка. Существующие связи между ЭВМ используются только с целью обеспечения надежности: если одна из ЭВМ выходит из строя, другая должна продолжать об­ рабатывать задачи. Объем информации, передаваемой между ЭВМ, незначителен, и, следовательно, малы затраты времени каждой ЭВМ на такой обмен. В результате производительность такого ВК с достаточной точностью может определяться как сумма производительности Яг- всех ЭВМ, входящих в комплекс: N Пк= 2, # ь и производительность многомашинного комплекса растет линейно с увеличением числа ЭВМ в нем. Разумеется, в тех случаях, когда главная задача комплекса — обеспечение высокой надежности и другие ЭВМ работают как резервные (либо решая те же задачи, что и основная, либо на­ ходясь в режиме ожидания), производительность комплекса ока­ зывается равной производительности одной ЭВМ, т. е. Пк = Пг. В МПВК также существует общий список задач, который не­ прерывно пополняется и из которого каждый процессор выби­ рает новые задачи. На первый взгляд кажется, что организация вычислений в МПВК ничем не отличается от организации в ММВК. Однако это не так, потому что для всех процессоров комплекса общедоступны все ресурсы: оперативная память, пе­ риферийные устройства, включая ВЗУ, программные средства; 60
более того, все процессоры работают под управлением единой операционной системы. Общедоступность всех ресурсов неиз­ бежно приводит к конфликтам между процессорами из-за этих ресурсов, а это означает, что процессоры какую-то часть вре­ мени будут неизбежно простаивать. При этом чем больше в комплексе процессоров, тем больше вероятность конфликтов и соответственно простоев, а следовательно, снижения производи­ тельности. Надо учитывать и еще один фактор — затраты времени на организацию процесса обработки информации в ВК, т. е. на ра­ боту ОС. Конечно, и в ММВК на работу ОС потребуются опре­ деленные затраты машинного времени, и при оценке системной производительности каждой ЭВМ это надо учитывать. Но в МПВК требуются дополнительные затраты на обеспечение взаимодействия всех элементов, прежде всего процессоров. Это связано с тем, что ОС в МПВК, как уже было показано, выпол­ няет более сложные функции, чем в ММВК. Совершенно ясно, что эти затраты будут нелинейно расти с увеличением числа процессоров в системе. Экспериментальные оценки роста произ­ водительности МПВК показывают, что при подключении вто­ рого процессора производительность увеличивается на 60—80%, но не вдвое. Добавление третьего процессора дает прирост про­ изводительности в 2,1 раза, но не втрое. Другая картина получается при нагрузке комплекса зада­ чами, требующими большого объема вычислений. Обычно эти задачи могут быть расчленены на отдельные части, которые мо­ гут решаться параллельно и независимо друг от друга, — как независимые ветви. Но после раздельного решения эти части должны решаться совместно, т. е. подзадачи нельзя рассматри­ вать как совершенно независимые задачи, наоборот,— они пред­ ставляют собой поток сильносвязанных задач. Организация ре­ шения таких крупных задач в ММВК оказывается весьма слож­ ным делом, так как каждая ЭВМ работает под управлением собственной ОС, а требуется совместная работа ЭВМ, т. е. прак­ тически надо разрабатывать некоторую надстройку над ОС и эта надстройка должна быть принадлежностью одной из ЭВМ. Последняя становится, таким образом, управляющей. Можно попытаться сделать надстройку общей, помещая ее в общее ОЗУ, но в этом случае ММВК превращается практически в МПВК. Второе обстоятельство, приводящее к определенным сложностям при решении в ММВК больших задач, разделенных на части, заключается в том, что объем информации, который необходимо передавать между ЭВМ, оказывается весьма значи­ тельным— это исходные данные для подзадач, результаты их решения, промежуточные результаты, информация, необходимая для синхронизации процесса. В конечном счете все это приводит к большим непроизводительным затратам времени всех ЭВМ. Поэтому при решении больших задач производительность комп­ лекса мало увеличивается с ростом числа ЭВМ. 81
Для МПВК решение таких задач не приводит к заметным дополнительным затратам времени. Точнее, эти затраты на орга­ низацию процесса обработки практически мало отличаются от тех, которые имеют место при решении потока независимых за­ дач. Конечно, обеспечение решения сложных задач с параллель­ ной обработкой требует соответствующей ОС, так как организа­ ция параллельной обработки и в этом случае далеко не проста. Таким образом, при решении больших задач производитель­ ность МПВК, как правило, превосходит производительность ММВК при равном числе процессоров. Поэтому, когда речь идет о достижении высокой производительности, необходимой для ре­ шения больших задач в достаточно короткое время, наиболее широко используются МПВК. Приведенные рассуждения показывают, что однозначно от­ дать предпочтение той или иной системе по производительности практически нельзя. Решение может быть принято только с уче­ том характера решаемых задач. Такая характеристика ВК, как гибкость, в литературе строго не определена. Будем этим термином определять способность системы к реконфигурации, и в первую очередь к автоматиче­ ской реконфигурации. Из того, что раньше говорилось о свой­ ствах и особенностях многопроцессорных и многомашинных комплексов, следует, что по этому параметру МПВК суще­ ственно превосходит ММВК. Действительно, в ММВК все воз­ можности по созданию новых конфигураций сводятся к отключе­ нию и подключению ЭВМ. В то же время в МПВК возможно создание множества различных конфигураций, причем ОС МПВК рассчитывается на это. Но опять-таки для реализации этого цен­ ного качества в МПВК требуется достаточно сложная система коммутации устройств. К гибкости можно отнести и способность комплекса к наращиванию. В этом отношении преимущество также следует отдать МПВК, для подавляющего большинства которых в силу модульности построения наращивание осуще­ ствить достаточно просто. Сложность программного обеспечения МПВК оценивалась в § 2.4, где было отмечено, что ОС МПВК существенно сложнее ос ммвк. Оценка экономической эффективности комплексов может быть дана на основе сравнения характеристик, рассмотренных выше. Она является в известной степени интегральной оценкой, и однозначно определить ее трудно. В самом деле, если оцени­ вать комплексы по надежности, то МПВК имеет явное преиму­ щество, так как эта надежность достигается меньшими затра­ тами. Если говорить о производительности, то МПВК оказыва­ ется предпочтительнее только при решении задач, требующих большого объема вычислений. Несомненно преимущество МПВК в отношении эффективного использования технических средств: возможна более высокая загрузка всех без исключения устройств. По сложности операционной системы МПВК за- ъг
метно уступает ММВК> В связи с тем что в последние годы сто­ имость аппаратуры заметно снижается, стоимость программного обеспечения приобретает все больший удельный вес в общих затратах на разработку, изготовление и эксплуатацию ВК. Подводя итог сравнению комплексов с различной организа­ цией, можно констатировать, что однозначного ответа на вопрос о преимуществах того или иного способа организации дать нельзя. В каждом конкретном случае это должно решаться в за­ висимости от предъявляемых требований по надежности, произ­ водительности, от характера задач и рабочей нагрузки. ГЛАВА ТРЕТЬЯ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ 3.1. СИСТЕМЫ С КОНВЕЙЕРНОЙ ОБРАБОТКОЙ ИНФОРМАЦИИ Принцип конвейерной обработки информации нашел широкое применение в вычислительной технике. В первую очередь это относится к конвейеру команд. Практически все современные ЭВМ используют этот принцип. Вместе с тем во многих вычис­ лительных системах наряду с конвейером команд используется и конвейер данных. Сочетание этих двух конвейеров дает воз­ можность достигнуть очень высокой производительности систем на определенных классах задач, особенно если при этом исполь­ зуется несколько конвейерных процессоров, способных работать одновременно и независимо друг от друга. Именно так и по­ строены самые высокопроизводительные системы. Целесообраз­ нее всего рассмотреть принцип конвейерной обработки на при­ мере некоторых, наиболее представительных систем. К числу ЭВМ, в которых широкое применение нашел кон­ вейер команд, относится одна из лучших отечественных машин БЭСМ-6. Эта ЭВМ, разработанная под руководством академика С. А. Лебедева в 1966 г., была в течение многих лет самой бы­ стродействующей в стране благодаря целому ряду интересных решений, в том числе и конвейеру команд. Последний обеспечи­ вался использованием восьми независимых модулей ОЗУ, рабо­ тающих в системе чередования адресов, и большого числа бы­ стрых регистров, предназначенных также и для буферизации командной информации. Это позволило получить на БЭСМ-6 производительность 1 млн операций в секунду. Определенный интерес представляет построение систем 1ВМ 360/91, а также более поздней и более современной 1ВМ 360/195. Пять основных устройств системы: ОЗУ, управления памятью с буферным ОЗУ, процессор команд, операционные устройства для выполнения операций с плавающей запятой, с фиксирован83
Рис. 3.1. Система ЗТАК-100 ной запятой и десятичной арифметики работают од­ новременно и независимо друг от друга. Оператив­ ное ЗУ построено по мно­ гомодульному принципу (до 32 модулей), устрой­ ство управления памятью работает по принципу конвейера и обеспечивает 8- или 16-кратное чередование адресов при обращении процессора и каналов ввода — вывода информации к ОЗУ. Кроме конвейера команд в системах 1ВМ 360/91 и 1ВМ 370/195 в обоих ОУ используется также и конвейерная обработка дан­ ных. Однако в системе 360/195 конвейер получается довольно внушительный: в каждом цикле осуществляется выборка до 8 команд, расшифровка 16 команд, до 3 операций над адресами и до 3 процессорных операций. Всего в системе одновременно может обрабатываться до 50 команд. Существенно более полно используется принцип магистраль­ ной обработки в системе 5ТАК-Ю0, разработанной фирмой СОС в 1973 г. Надо сказать, что фирма СЭС в большинстве разраба­ тываемых и выпускаемых машин и систем использует принцип конвейерной обработки для повышения производительности, од­ нако раньше использовался только командный конвейер, а в си­ стеме ЗТАК-ЮО — оба типа конвейера. Система содержит три конвейерных процессора (рис. 3.1): ППЗ — процессор, содержа­ щий конвейерные устройства сложения и умножения с плаваю­ щей запятой; ППФЗ — процессор, содержащий конвейерное уст­ ройство сложения с плавающей запятой, конвейерное многоцелевое устройство, выполняющее умножение с фиксированной запя­ той, деление и извлечение квадратного корня; СП — специаль­ ный конвейерный 16-разрядный процессор, выполняющий опера­ ции с фиксированной запятой и ряд логических операций. Конвейерные процессоры оперируют с 64- или 32-разрядными числами и каждые 40 не выдают результаты в блок управления потоками данных и буферами. Оперативное ЗУ построено по мо­ дульному принципу (32 модуля памяти) и работает с чередова­ нием адресов под управлением устройства УП (управление па­ мятью). Каждый малый цикл обращения к памяти — 40 не. (Полный цикл ОЗУ—1,28 мке, т. е. 40x32 не.) Конвейерный сумматор с плавающей запятой состоит из че­ тырех сегментов — специализированных операционных устройств (см. рис. 2.2, а). Продолжительность цикла каждого сегмента составляет 40 не; таким образом, время выполнения операции сложения с плаваю­ щей запятой равно 160 не. 84
Рис. 3.2. Конвейер системы АЗС Конвейерный умножитель включает в себя 8 сегментов, по­ этому время выполнения операции умножения составляет 320 не. Но при загрузке конвейерных процессоров длинной последова­ тельностью операндов, над которыми производится одна и та же операция, результат выдается каждые 40 не. Учитывая, что каж­ дый из двух основных процессоров может выдавать по два 32разрядных результата, нетрудно подсчитать, что система 5ТАК100 может в пределе выполнять до 100 млн. операций в секунду. Устройства конвейерной обработки далеко не всегда выпол­ няют с жесткой настройкой на одну определенную операцию. Чаще их делают многоцелевыми, вводя в конвейер сегменты, не­ обходимые для реализации полного набора операций, в процессе выполнения которых весь тракт настраивается соответствующим образом. На рис. 3.2 представлена структура системы АЗС фирмы «Техас Инструменте» и показано, какие сегменты уни­ версальной цепочки работают при различных операциях. Одной из наиболее высокопроизводительных вычислительных систем в мире общепризнанно считается система СКАУ, создан­ ная в 1976 г. В этой системе конвейерный принцип обработки используется в максимальной степени: имеется и конвейер команд, и конвейер арифметических и логических операций. Кроме 85
Рис. 3.3. Система СКАУ того в системе широко применяется совмещенная обработка ин­ формации несколькими устройствами. Все это позволило при ре­ шении научных задач достигнуть чрезвычайно высокой произво­ дительности—до 250 млн операций в секунду. о Система СЕАУ (рис. 3.3) состоит из четырех секции: функци­ ональных устройств, регистров, управления программой.^ памяти и ввода — вывода. В системе 12 функциональных устройств, ра­ ботающих в режиме конвейера, разбитых на 4 группы: адресную, скалярную, операций с плавающей запятой и векторную. Число 86
сегментов в каждом функциональном устройстве (указано в скобках на схеме) сравнительно невелико, оно зависит от сложности операций и колеблется в пределах от 1 до 14 (вычис­ ление обратной величины). Такое сравнительно небольшое чи­ сло сегментов в каждом магистральном устройстве имеет опре­ деленные преимущества — они сравнительно быстро заполняются. Длительность цикла каждого сегмента составляет 12,5 не: это значит, что каждые 12,5 не любое функциональное устройство может выдавать результаты. Оперативная память системы, выполненная на интегральных схемах, имеет емкость 1 млн слов (позже была увеличена до 4 млн.) и организована в виде 16 блоков памяти с независимым управлением емкостью по 64 кслов. Каждый блок включает в себя 72 модуля, причем модуль содержит один разряд всех 64 кслов. Система работает с 64-разрядными словами, 8 разря­ дов используется для коррекции одиночных и обнаружения двой­ ных ошибок, что обеспечивает высокую надежность хранения информации. Независимые блоки дают возможность организо­ вать 16-кратное чередование адресов. Цикл обращения к па­ мяти — 50 не. Существенную роль в достижении столь высокой производи­ тельности играют быстрые регистры. Они разделены на 3 группы: адресные — А-регистры, скалярные — 5-регистры и векторные — У-регистры. Адресные регистры 24-разрядные, их всего восемь; 64-разрядных 5-регистров также восемь и восемь 64-элементных У-регистров, причем каждый элемент вектора содержит 64разрядное слово. Время обращения к регистру всего лишь 6 не. В системе имеется еще две группы промежуточных регистров (между ОЗУ и А-, 5-и У-регистрами): 24-разрядные В-регистры и 64-разрядные Т-регистры, на рисунке не показанные. Все эти регистры позволяют конвейерным устройствам работать с мак­ симальной скоростью без непосредственного обращения к ОЗУ: все операнды получаются из регистров и результаты отправля­ ются также в регистры. Благодаря регистрам конвейерные устройства связываются в цепочки, т. е. поток результатов, за­ сылаемых в векторный регистр одним устройством, одновре­ менно служит входным потоком операндов для другого устрой­ ства; исключаются промежуточные обращения к памяти. Это является еще одной отличительной особенностью системы СКАУ, повышающей ее производительность. Состав операций универсальный, только вместо деления ис­ пользуется операция вычисления обратной величины. Общее чи­ сло операций 128. Команды двух форматов—16 и 32 разряда. Арифметические и логические команды имеют 16-разрядный формат: 7 разрядов — код операции и по 3 разряда для адресов регистров операндов и результата, причем 6 разрядов адресов регистров операндов в совокупности с дополнительными 16 раз­ рядами используются для обращения к основной памяти и командам перехода, 87
Ввод — вывод информации осуществляется через 24 канала, сгруппированных в 4 группы, причем в каждой группе имеются либо каналы ввода, либо каналы вывода информации. Обмен осуществляется двухбайтными кодами. Для связи с внешними абонентами используется периферийная ЭВМ. Высокая производительность системы СКАУ обеспечивается и другими факторами. 1. Конструкция ЭВМ весьма компактна, благодаря чему время передачи сигналов между устройствами мало, и это по­ зволяет работать с тактом 12,5 не. 2. Используется гибкая система адресации: выборка из мас­ сивов может осуществляться по строкам, столбцам и диагона­ лям с произвольным постоянным шагом. 3. В состав системы входит подсистема дисковой памяти из четырех контроллеров, каждый из которых управляет четырьмя накопителями общей емкостью 76 854 млрд. бит. 4. Система имеет достаточно современное программное обе­ спечение, в том числе: операционную систему, рассчитанную на пакетную мультипрограммную обработку 63 задач; оптимизиру­ ющий компилятор с фортрана, автоматически распознающий циклы, удобные для реализации векторными командами; макро­ ассемблер, библиотеку стандартных программ, загрузчик и дру­ гие средства. Все это в совокупности и дает основание считать системы СКАУ наиболее высокопроизводительными. 3.2. МАТРИЧНЫЕ СИСТЕМЫ Наиболее распространенными из систем класса ОКМД явля­ ются матричные системы, которые лучше всего приспособлены для решения задач, характеризующихся параллелизмом незави­ симых объектов или параллелизмом данных. Организация си­ стем этого типа на первый взгляд достаточно проста: общее уп­ равляющее устройство, генерирующее поток команд, и большое число устройств, работающих параллельно и обрабатывающих каждое свой поток данных. Таким образом, производительность системы оказывается равной сумме производительности всех об­ рабатывающих устройств. Однако на практике, чтобы обеспечить достаточную эффективность системы при решении широкого круга задач, необходимо организовать связи между обрабатыва­ ющими устройствами (в дальнейшем будем называть их процес­ сорными элементами — ПЭ). Характер связей может быть раз­ личным, так же как и характер взаимодействия ПЭ. Все это и определяет разные свойства систем. Если не считать машины Унгера (1958 г.), которая была узкоспециализи­ рованной и предназначалась только для решения задач распознавания обра­ зов, то, по-видимому, первой матричной системой следует считать систему 50ШМОЫ, упрощенная структура которой представлена на рис. 3.4. Система содержит 1024 ПЭ, соединенных в виде матрицы 32X32. Каждый ПЭ в мат­ рице соединен с четырьмя соседними и включает в себя процессор, обеспечи- т
Рис. 3.4. Система типа ОКМД вающий выполнение последовательных поразряд­ ных арифметических и логических операций, а также оперативное ЗУ емкостью 16 кбит, раз­ битое на модули по 4 кбит каждый. Длина слова переменная — от 1 до 128 разрядов. Разрядность слов устанавливается программно. По каналам связи от УУ передаются команды и общие кон­ станты. В ПЭ используется так называемая мно­ гомодальная логика, которая позволяет каждому ПЭ выполнять (т. е. быть активным) или не вы­ полнять (быть пассивным) общую операцию в за­ висимости от значений обрабатываемых данных. В каждый момент все активные ПЭ выполняют одну и ту же операцию над данными, хранящимися в собственной памяти и имеющими один и тот же адрес. Идея многомодальности заключается в том, что в каждом ПЭ имеется специальный регистр на четыре состояния — регистр моды. Мода (или модальность) заносится в этот регистр от УУ. При выполнении последователь­ ности команд модальность передается в коде операции и сравнивается с со­ держимым регистра моды. Если есть совпадение, то операция выполняется. В других случаях ПЭ не выполняет операцию, но может в зависимости от кода пересылать свои операнды соседнему ПЭ. Такой механизм позволяет, в частности, выделить строку или столбец ПЭ, что может быть полезным при операциях над матрицами. Взаимодействуют ПЭ с периферийным оборудова­ нием через внешние ПЭ. Система 50ШМОЫ оказалась нежизнеспособной вследствие громоздкости, недостаточной гибкости и эффективности. Однако идеи, заложенные в ней, получили развитие в системе 1ЫЛАС-1У, разработанной Иллинойсским универ­ ситетом и изготовленной фирмой «Барроуз». По первоначальному проекту система 1ЫЛАС-1У должна была включать в себя 256 ПЭ, разбитых на 4 группы — квадранты (рис. 3.5), каждый из кото­ рых должен управляться специальным процессором (УП). Управление всей системой, содержащей кроме ПЭ и УП также внешнюю память и оборудова­ ние ввода — вывода, предполагалось от центрального управляющего процес­ сора (ЦУП). Однако реализовать этот замысел не удалось из-за возникших технологических трудностей при создании интегральных схем, ОЗУ и удорожа­ ния всего проекта почти в два раза. В результате с опозданием на два года (в 1971 г.) система была создана в составе одного квадранта и одного УП и с начала 1974 г. введена в эксплуатацию. Ранее предполагалось получить на этой системе производительность примерно 1 млрд операций в секунду, однако \квадрант г УП УП Квадрант] У/7 Квадрант] "Т"5 Квадрант Ех У/7 |_ | Коммутатор [Лазерная] архивная память 1 бвода-быбода \Файлобые\ диски Рис. 3.5. Система 11ЛЛАС-1У (проект)
Рис. 3.6. Квадрант системы 1ЫЛАС-1У реализовано 200 млн. операций в секунду. Тем не менее этого оказалось доста­ точно, чтобы система в течение ряда лет считалась самой высокопроизводи­ тельной в мире. В каждом квадранте 64 ПЭ образуют матрицу размером 8 x 8 . Схема свя­ зей между ПЭ (рис. 3.6) похожа на схему системы 50ШМОЫ, но связь с внешней средой имеют все ПЭ без исключения. Реально действующая си­ стема 1ЫЛАС-1У состоит, таким образом, из двух частей: центральной с уст­ ройством управления и 64 ПЭ, а также подсистемы ввода — вывода, включаю­ щей в себя универсальную ЭВМ В-6700, файловые диски и лазерную архивную память большой емкости. Каждый ПЭ состоит из собственно процессора и ОЗУ. Процессор оперирует с 64-разрядными числами и выполняет универсаль­ ный набор операций. Быстродействие процессора достаточно высокое: опера­ ция сложения 64-разрядных чисел выполняется за 240 не, а умножения — за 400 не. Таким образом, процессор выполняет в среднем 3 млн. операций в се­ кунду, а следовательно производительность системы равна 3 x 6 4 ^ 2 0 0 млн. операций в секунду. Емкость ОЗУ каждого ПЭ составляет 2048 64-разрядных слов, длитель­ ность цикла обращения к памяти 350 не. Память выполнена на интегральных схемах. Каждый процессор имеет счетчик адресов и индексный регистр, так что конечный адрес в каждом процессоре может формироваться как сумма трех составляющих: адреса, содержащегося в команде для данного ПЭ, кода, содержащегося в центральном индексном регистре УУ, и кода, содержащегося в собственном индексном регистре. Это существенно повышает гибкость си­ стемы по сравнению с системой 50ШМОЫ, где все ПЭ выбирают информа­ цию по одному адресу. Каждый процессор кроме индексного регистра имеет в своем составе пять программно-адресуемых регистров: накапливающийся сум­ матор, регистр для операндов, регистр пересылок, используемый при передачах от одного ПЭ к другому, буферный регистр на одно слово и регистр управ­ ления состоянием ПЭ (аналогичный регистру моды в системе 50ШМОЫ). Ре­ гистр управления имеет 8 разрядов. В зависимости от содержимого этого регистра ПЭ становится активным или пассивным, а также выполняет ряд пе­ ресылочных операций. Если вычисления не требуют полной разрядности, то процессор может быть разбит на два 32-разрядных подпроцессора или даже восемь 8-разрядных. Это позволяет в случае необходимости обрабатывать век­ торные операнды из 64, 2X64=128 и 8X64 = 512 элементов. Как видно из рис. 3.6, каждый 1-й ПЭ связан с четырьмя другими: (1—1)-, (*+1)-, (*+8)- и (г—8)-м. При такой связи передача данных между любыми двумя ПЭ осуществляется не более, чем за 7 шагов, а среднее число шагов равно 4. 90
По шине состояния ПЭ могут передавать сигналы о состоянии в УУ, кото­ рое таким образом всегда определяет состояние системы. Оперативное ЗУ каж­ дого процессорного элемента связано со своим процессором, устройством уп­ равления центральной частью и подсистемой ввода — вывода. Подсистема ввода — вывода включает в себя стандартную ЭВМ В-6700 (первоначально В-6500) и два уровня внешней памяти: на магнитных дисках с фиксированными дорожками и лазерную память. Накопители на дисках имеют магнитные головки для каждой дорожки (128 головок на диск), и об­ мен данными осуществляется по 256-разрядной шине. Емкость каждого ди­ ска — около 1 млрд. бит. Для того чтобы согласовать скорость передачи ин­ формации с дисков и работу управляющей ЭВМ, в систему включено буферное ОЗУ, состоящее из четырех модулей памяти. Лазерная память представляет собой одностороннее ЗУ очень большой емкости (1012 бит). Информация записывается на тонкой металлической пленке путем прожигания микроотверстий лазерным лучом. Емкость ЗУ—1200 млрд бит. Время доступа к данным от 0,2 до 5 с. Машина В-6700 выполняет и различные другие функции: транслирует и компонует программы, управляет запросами на ресурсы, производит предвари­ тельную обработку информации и т. д. Следует подчеркнуть, что сверхвысокая производительность системы дости­ гается только на определенных типах задач, таких, например, как операции над матрицами, быстрое преобразование Фурье, линейное программирование, обработка сигналов, где как раз имеет место параллелизм данных или парал­ лелизм независимых объектов. Необходимо отметить также и то, что разра­ ботка программ для систем 1ЫЛАС-1У, обеспечивающих высокую производи­ тельность, является весьма сложным делом. Для упрощения этой работы были разработаны специальные алгоритмические языки. Система 1ЫЛАС-1У была включена в состав вычислительной сети АНРА. В результате усовершенствования программного обеспечения производитель­ ность системы выросла до 300 млн. операций в секунду. В начале 80-х годов в Советском Союзе в классе систем ОКМД была создана «Параллельная система 2000» (ПС-2000), которая также может быть отнесена к матричным [5]. Эта си­ стема ориентирована на решение задач, характеризующихся па­ раллелизмом данных, независимых ветвей и объектов. Разработ­ чики системы считают, в частности, что ПС-2000 найдет особенно широкое и эффективное применение для обработки геофизической информации, получаемой при поиске нефти и газа, решения задач плазменной кинетики, расчетов устойчиво­ сти летательных аппаратов, обработки гидролокационных сиг­ налов и изображений, решения задач в частных производных и и др. Укрупненная структура системы ПС-2000 изображена на рис. 3.7. Центральная часть системы — мультипроцессор ПС-2000, состоящий из решающего поля и устройства управления муль­ типроцессором. Решающее поле строится из одного, двух, четырех или восьми устройств обработки (УО), в каждом из которых восемь процессорных элементов. Таким образом, муль­ типроцессор может содержать 8, 16, 32 или 64 процессорных элемента. Процессорный элемент обрабатывает 24-разрядные слова, используемые для представления 12-, 16- и 24-разрядных чисел с фиксированной запятой, в которых 20 разрядов опреде­ ляют мантиссу и 4 разряда — шестнадцатеричный порядок. Ем­ кость оперативной памяти процессорного элемента — 4096 или 91
Рис. 3.7. Система ПС-2000 16 384 24-разрядных слова с циклом обращения соответственно 0,64 или 0,94 мкс. Мультипроцессор из 64 процессорных элемен­ тов обеспечивает при обработке данных следующую производи­ тельность (в миллионах операций в секунду): Сложение с фиксированной запятой (регистр—регистр) Сложение с плавающей запятой Умножение. Время выполнения основных операций (в Транспонирование матрицы 64X64 Умножение матриц 64X64: с фиксированной запятой с плавающей запятой Быстрое преобразование Фурье на 1024 комплексные точки: с фиксированной запятой с плавающей запятой 200 66,4 28,5—50,0 микросекундах): 0>45 1>0 1>4 1»0 2,5 1>4 2,8 Устройство управления содержит блок микропрограммного управления емкостью 16 384 микрокоманды, ОЗУ емкостью 4096 или 16 384 24-разрядных слов и АЛУ. В блок микропрограммного управления загружаются микропрограммы обработки данных, ввода—вывода и управления. В комплект программного ^обес­ печения системы входит набор микропрограмм базовой си­ стемы операций, ориентированной на обработку матриц, реали92
зацию быстрого преобразования Фурье и решение задач матема­ тической статистики, спектрального анализа, линейного и дина­ мического программирования. Возможна реализация на микро­ программном уровне любой необходимой системы операций. В ОЗУ загружается программа обработки. Команды программы выполняются в обычном порядке. Выполнение сводится к иници­ ированию соответствующей микропрограммы, микрокоманды которой формируют управляющие сигналы, воздействующие на процессорные элементы. Ввод — вывод данных в память решающего поля, т. е. в ОЗУ процессорных элементов, производится через канал прямого до­ ступа, состоящий из магистралей ввода и вывода. Операции ввода — вывода инициируются мониторной подсистемой и вы­ полняются под управлением устройства управления мультипро­ цессора. Обработка, ввод и вывод данных могут выполняться од­ новременно. Обмен данными может осуществляться до 1,8 Мбайт/с при вводе и до 1,4 Мбайт/с при выводе. Процессор­ ные элементы решающего поля связаны регулярным каналом, по которому передаются данные. Конфигурация регулярного канала перестраивается под управлением программы, образуя одно кольцо из 64 процессорных элементов, как на рисунке, или не­ сколько одинаковых колец: 8 колец по 8 процессорных элемен­ тов, 4 по 16 или 2 по 32. В целом система управляется мониторной подсистемой, со­ стоящей из одной или двух мини-ЭВМ СМ-2 и подключенных к ним периферийных устройств. На ЭВМ реализуется подготовка микропрограмм и программ для мультипроцессора и программ для самой мониторной подсистемы с использованием языков программирования и соответствующих трансляторов. Мониторная подсистема управляет загрузкой микропрограмм в мульти­ процессор, контролирует работу мультипроцессора и обеспечи­ вает обмен данными между системой и пользователями. Для хранения больших объемов данных система ПС-2000 снабжена внешней памятью, состоящей из микропрограммируемого контроллера, четырех накопителей на сменных магнитных дисках и восьми накопителей на магнитных лентах. Накопители подключаются к контроллеру через модули управления (локаль­ ные контроллеры). Вычислительный процесс в системе ПС-2000 слагается из трех составляющих: процесса в мониторной подсистеме, выпол­ нения программы, ввода — вывода данных. Процесс в монитор­ ной подсистеме является основным: он инициирует остальные процессы и синхронизирует их. Под управлением мониторной подсистемы в устройство управления загружается набор микро­ программ и программа. В процессе обработки данных набор микропрограмм и программа могут изменяться. Этапы обработки перемежаются с этапами обмена данными между решающим полем мультипроцессора, его внешней памятью и мониторной подсистемой. 93
Контроль работоспособности системы обеспечивается схем­ ными средствами, контролирующими корректность хранения и передачи данных, и набором программ для проверки функциони­ рования системы. Для поиска неисправностей используется си­ стема диагностических программ. Программное обеспечение ППС-2000 разработано на базе агрегатной системы программного обеспечения (АСПО) СМ ЭВМ, к которому добавлены модули, организующие работу ППС-2000. Система ПС-2000 имеет ряд преимуществ перед ранее разра­ ботанными матричными системами, в частности системой 1ЫЛАС-1У. 1. Процессорные элементы ППС-2000 имеют существенно большие возможности, что определяется наличием сверхопера­ тивной регистровой памяти, отдельного процессора для операций над адресами, процессора активации, функции которого значи­ тельно шире, чем функции регистра моды в системе 1ЫЛАС-1У. 2. Благодаря наличию собственной памяти и индексной арифметики, используемой для организации счетчиков адресов, возможно совмещение обмена информацией между модулями памяти ПЭ, АЛУ и устройствами ввода — вывода. 3. Достаточно большая емкость памяти в каждом ПЭ (16 кслов) в сочетании с многоуровневой системой прерываний делает возможной организацию мультипрограммного режима с выделением независимых ресурсов для каждой задачи. 4. Двухуровневое управление (командное и микрокомандное) обеспечивает более эффективное программирование. 5. Возможно наращивание системы модулями по восемь про­ цессорных элементов, причем и конструкция, и набор команд позволяет это делать без изменения средств управления. 6. Стоимость системы сравнительно невысока. Опыт использования первых систем ПС-2000 показал, что при решении типичных задач геофизики, ядерной физики, аэродина­ мики и других система обеспечивает высокую системную произ­ водительность— до 200 млн. операций сложения с фиксированной запятой в секунду. 3.3. АССОЦИАТИВНЫЕ СИСТЕМЫ К числу систем класса ОКМД относятся ассоциативные си­ стемы. Эти системы, как и матричные, характеризуются боль­ шим числом операционных устройств, способных одновременно, по командам одного управляющего устройства вести обработку нескольких потоков данных. Но эти системы существенно отли­ чаются от матричных способами формирования потоков данных. В матричных системах данные поступают на обработку от об­ щих или раздельных запоминающих устройств с адресной выра­ боткой информации либо непосредственно от устройств — источ­ ников данных. В ассоциативных системах информация на 94
Рис. 3.8. Ассоциативное запоми­ нающее устройство обработку поступает от ас­ социативных запоминаю­ щих устройств (АЗУ), ха­ рактеризующихся тем, что информация из них выби­ рается не по определен­ ному адресу, а по ее содер­ жанию. Принцип работы АЗУ поясняет схема, представ­ ленная на рис. 3.8. Запоми­ нающий массив, как и в ад­ ресных ЗУ, разделен на т-разрядные ячейки, число которых п. Практически для любого типа АЗУ характерно наличие следую­ щих элементов: запоминающего массива; регистра ассоциативных признаков (РгАП); регистра маски (РгМ); регистра индикаторов адреса со схемами сравнения на входе. В АЗУ могут быть и дру­ гие элементы, наличие и функции которых определяются спосо­ бом использования АЗУ. Выборка информации из АЗУ происходит следующим обра­ зом. В РгАП из устройства управления передается код признака искомой информации (иногда его называют компарандом). Код может иметь произвольное число разрядов — от 1 до т. Если код признаков используется полностью, то он без изменения по­ ступает на схему сравнения, если же необходимо использовать только часть кода, тогда ненужные разряды маскируются с по­ мощью РгМ. Перед началом поиска информации в АЗУ все раз­ ряды регистра индикаторов адреса устанавливаются в состоя­ ние 1. После этого производится опрос первого разряда всех ячеек ЗМ и содержимое сравнивается с первым разрядом РгАП. Если содержимое первого разряда 1-й ячейки не совпадает с со­ держимым первого разряда РгАП, то соответствующий этой ячейке разряд регистра индикаторов адреса 7\- сбрасывается в состояние 0, если совпадает,— на Т\ остается 1. Затем эта операция повторяется со вторым, третьим и последующими раз­ рядами до тех пор, пока не будет произведено сравнение со всеми разрядами РгАП. После поразрядного опроса и сравнения в состоянии 1 останутся те разряды регистра индикаторов ад­ реса, которые соответствуют ячейкам, содержащим информацию, совпадающую с записанной в РгАП. Эта информация может быть считана в той последовательности, которая определяется устройством управления. Заметим, что время поиска информации в ЗМ по ассоциатив­ ному признаку зависит только от числа разрядов признака и от скорости опроса разрядов, но совершенно не зависит от числа ячеек ЗМ. Этим и определяется главное преимущество АЗУ 95
перед адресными ЗУ: в адресных ЗУ при операции поиска необ­ ходим перебор всех ячеек запоминающего массива. Запись новой информации в ЗМ производится без указания номера ячейки. Обычно один из разрядов каждой ячейки исполь­ зуется для указания ее занятости, т. е. если ячейка свободна для записи, то в этом разряде записан 0, а если занята,— 1. Тогда при записи в АЗУ новой информации устанавливается признак О в соответствующем разряде РгАП и определяются все ячейки ЗМ, которые свободны для записи. В одну из них устройство управления помещает новую информацию. Нередко АЗУ строятся таким образом, что кроме ассоциатив­ ной допускается и прямая адресация данных, что представляет определенные удобства при работе с периферийными устрой­ ствами. Необходимо отметить, что запоминающие элементы АЗУ в отличие от элементов адресуемых ЗУ должны не только хра­ нить информацию, но и выполнять определенные логические функции, поэтому позволяют осуществить поиск не только по равенству содержимого ячейки заданному признаку, но и по дру­ гим условиям: содержимое ячейки больше (меньше) признака РгАП, а также больше или равно (меньше или равно). Отмеченные выше свойства АЗУ характеризуют преимуще­ ства АЗУ для обработки информации. Формирование нескольких потоков идентичной информации с помощью АЗУ осуществля­ ется быстро и просто, а с большим числом операционных эле­ ментов можно создавать высокопроизводительные системы. Надо учитывать еще и то, что на основе ассоциативной памяти легко реализуется изменение места и порядка расположения ин­ формации. Благодаря этому АЗУ является эффективным сред­ ством формирования наборов данных. Исследования показывают, что целый ряд задач, таких, как обработка радиолокационной информации, распознавание обра­ зов, обработка различных снимков и других задач с матричной структурой данных, эффективно решается ассоциативными си­ стемами. К тому же программирование таких задач для ассоци­ ативных систем гораздо проще, чем для традиционных. Наиболее характерным представителем группы ассоциативных вычисли­ тельных систем является система 5ТАКАЫ, разработанная в США. От матрич­ ных систем, описанных выше, она отличается не только наличием ассоциатив­ ной памяти, но и другими особенностями: ассоциативная память является па­ мятью с многомерным доступом, т. е. в нее можно обратиться как поразрядно, так и пословно; операционные процессорные элементы предусмотрены для каж­ дого слова памяти; имеется уникальная схема перестановок для перегруппи­ ровки данных в памяти. Основным элементом системы является многомерная ассоциативная мат­ рица— ассоциативный модуль (АМ), который представляет собой квадрат из 256 разрядов на 256 слов, т. е. содержит в общей сложности 65 536 бит дан­ ных. Для обработки информации имеется 256 процессорных элементов, которые последовательно, разряд за разрядом, обрабатывают слова (рис. 3.9). Все ПЭ работают одновременно, по одной команде, выдаваемой устройством управле­ ния. Таким образом, сразу по одной команде обрабатываются все выбранные по определенным признакам из памяти слова. 96
Рис. 3.9. Процессорная обработка в системе 5ТАКАЫ ф Разряд 255 Схема перестановок позволя­ ет сдвигать и перегруппировывать данные так, чтобы над словами, хранящимися в памяти, можно было выполнять параллельно арифметические и логические опе­ рации. Большая часть операций выполняется в отношении каждого из 256-разрядных слов. Операции, в которых участвуют несколько слов, используются достаточно редко. Обычно 256-разряд­ ное слово ассоциативной матрицы разбивается программистом на поля перемен­ ной длины, и в процессе обработки именно над этими полями производятся арифметические и логические действия. Базовая конфигурация системы ЗТАКАЫ содержит один АМ. Однако число этих модулей может варьироваться в системе от 1 до 32. Таким образом, при максимальной комплектации в системе может подвергаться ассоциативной об­ работке 256 Кбайт информации. Скорость поиска и обработки информации 256 процессорными элементами высока, и остальные элементы системы спроек­ тированы так, чтобы поддерживать эту скорость. Устройство управления ассоциативными модулями организует выполнение операций над данными по командам, хранящимся в управляющей памяти. Оно может выбирать несколько рабочих подмножеств из общего множества дан­ ных, хранимых в АМ, и выполнять над этими подсистемами операции, не за­ трагивая остальную информацию. Управляющая память разделена на шесть секций: первая (емкостью 512 слов)—память библиотеки подпрограмм; вторая и третья (512 слов) — память команд; четвертая (512 слов)—быстродействующий буфер данных; пятая (16 384 слов)—основная память; шестая (10 720 слов) — область па­ мяти для прямого доступа. Длина одного слова — 32 разряда. Первые четыре секции выполнены на интегральных схемах и имеют высокое быстродействие — длительность цикла памяти около 200 не. Вторая и третья секции (память команд) работают попеременно: одна выдает команды в УУ, а другая в это время загружается от страничного устройства и наоборот. Пятая и шестая сек­ ции выполнены на ферритовых сердечниках, длительность цикла примерно 1 мкс. При необходимости емкость пятой секции может быть удвоена. Стра­ ничное устройство загружает первые три секции памяти информацией из быст­ родействующего буфера, основной памяти или памяти прямого доступа. Последовательный контроллер ассоциативной системы является обычной однопроцессорной ЭВМ типа РДР-11 и обеспечивает: работу в режиме транс­ ляции и отладки программ; первоначальную загрузку управляющей памяти; связь между оператором и системой; управление программами обработки пре­ рываний по ошибкам, а также программами технической диагностики и обслу­ живания. Последовательный контроллер снабжен памятью (емкость 8 кслов), печатающим устройством, перфоленточным вводом — выводом и имеет интер­ фейс, обеспечивающий связь с другими элементами системы. Подсистема ввода — вывода обеспечивает возможность подключения к си­ стеме 5ТАКАЫ других вычислительных устройств и разнообразного перифе­ рийного оборудования. Имеются четыре вида интерфейсов: прямой доступ к памяти; буферизованный ввод —вывод; параллельный ввод — вывод; логи­ ческое устройство внешних функций. Прямой доступ к памяти позволяет ис­ пользовать память внешней (несистемной) ЭВМ как часть управляющей памяти системы. Эта память становится таким образом доступной как для внешней ЭВМ, так и для системы 5ТАНАЫ. При этом нет необходимости в буфериза­ ции передаваемой между ними информации. Интерфейс прямого доступа может использоваться и для подключения внешней памяти. Буферизованный ввод — вывод используется для связи си­ стемы со стандартными периферийными устройствами, обмен производится бло97
ками данных или программ. сЭтот интерфейс может использоваться и для связи с несистемной ЭВМ, однако прямой доступ там все-таки предпочтительнее, так как обмен производится быстрее и нет необходимости формирования инфор­ мации в блоки перед передачей. Параллельный ввод — вывод, который вклю­ чает в себя по 256 входов и 256 выходов для каждой матрицы, является важ­ ной составной частью подсистемы ввода — вывода. Он позволяет увеличить скорость передачи данных между матрицами, обеспечить связь системы с вы­ сокоскоростными средствами ввода — вывода и непосредственную связь любого устройства с ассоциативными модулями. С помощью параллельного ввода — вывода можно, в частности, подключать к ассоциативным матрицам накопи­ тели на магнитных дисках, что позволяет быстро вводить и выводить большие объемы информации. Совокупность всех перечисленных средств, входящих в систему 5ТЛНАЫ, позволяет выполнять одновременно сотни и тысячи одинаковых операций при решении определенных классов задач. 3.4. ОДНОРОДНЫЕ СИСТЕМЫ И СРЕДЫ В предыдущих параграфах был рассмотрен ряд вычислитель­ ных систем, при построении которых используются различные возможности по организации параллельной обработки. Во всех этих системах не ставится никаких условий или ограничений от­ носительно состава и функций устройств, а также связей между ними. В начале 60-х годов Э. В. Евреинов и Ю. Г. Косарев предло­ жили несколько другой подход к построению систем, в основе которого три принципа: параллельность операций; переменность логической структуры; конструктивная однородность элементов и связей между ними. Первый принцип базируется на аксиоме параллельности за­ дач и алгоритмов: всякая сложная задача может быть пред­ ставлена в виде связанных между собой простых подзадач и для любой сложной задачи может быть предложен параллельный алгоритм, допускающий ее эффективное решение. Аксиома па­ раллельности, таким образом, обеспечивает достижение высокой производительности за счет параллельной работы большого чи­ сла обрабатывающих устройств или элементов. Второй принцип базируется на аксиоме переменности логиче­ ской структуры: процесс решения сложной задачи может быть представлен некоторой структурной моделью, включающей в себя подзадачи и связи между ними. Это означает, что для каждой сложной задачи можно предложить соответствующую структуру из обрабатывающих элементов, связанных между со­ бой определенным образом. Третий принцип базируется на аксиоме конструктивной одно­ родности элементов и связей: все простые задачи получаются пу­ тем деления сложной задачи на части, а поэтому все эти про­ стые задачи примерно одинаковы по объему вычислений и свя­ заны между собой одинаковыми схемами обмена. Это означает, что система для решения сложной задачи может быть постро­ ена из одинаковых обрабатывающих элементов, связанных ме­ жду собой одинаковым образом. 98
Таким образом, при соблюдении трех принципов вычисли­ тельная система может быть представлена как совокупность не­ ограниченного числа одинаковых обрабатывающих устройств, однотипно связанных между собой. Эта совокупность перед ре­ шением задачи настраивается соответствующим образом. Такая однородная вычислительная система должна решать задачи не­ ограниченной сложности и объема при высокой надежности и готовности, что обеспечивается избыточностью обрабатывающих устройств, унифицированностью связей между ними и легкостью перестройки системы. В рассмотренных выше комплексах и системах в той или иной степени используются указанные выше три принципа: по­ чти везде возможна параллельная обработка задач; во многих случаях, в первую очередь в МПВК, возможна реконфигурация и иногда прямая настройка системы на решение определенной задачи; наблюдается стремление унифицировать обрабатываю­ щие средства, т. е. создавать по возможности однородные си­ стемы. Описываемый подход к созданию вычислительных систем в виде однородных перестраиваемых структур отличается тем, что используются все три принципа, что, по мнению авторов, и должно обеспечить максимальный эффект. Хотя эти идеи были выдвинуты более двадцати лет назад, достаточно ак­ тивная их реализация началась сравнительно недавно. Это и понятно, так как создание однородных систем из большого числа ЭВМ или процессоров второго и даже третьего поколения было вовсе не простой задачей: слишком громозд­ кими получались такие системы. Ясно, что эффективная реализация возможна лишь при весьма эффективной элементной базе. С развитием микропроцес­ соров и микро-ЭВМ на их основе такая база создана, и стала возможной реали­ зация этих идей. В качестве иллюстрации можно рассмотреть систему МИНИМАКС [5]. Эта система относится к классу однородных и имеет программируемую макроструктуру. Число элементарных машин (ЭМ) в системе не фиксировано и может определяться классом решаемых задач. Структурную единицу системы составляет ЭМ, которая включает в себя вычислительный модуль (ВМ) и мо­ дуль межмашинной связи (ММС). Состав каждой ЭМ также достаточно про­ извольный — может выбираться из числа типовых спецификаций семейств АСВТ или СМ ЭВМ. В качестве ВМ используются ЭВМ, построенные на основе процессо­ ров М-6000, М-7000, СМ ЭВМ. Модули МС, предназначенные для организации взаимодействия ЭМ, выполнены как автономные уст­ ройства, обеспечивают передачу данных, адресов и управляющей информации между соседними ВМ. Рис. 3.10. Связи между ЭМ в системе МИНИМАКС 99
Рис. 3.11. Однородная вычис­ лительная среда Из рис. 3.10 видно, что каждая элементарная машина связана с четырьмя соседними и взаимодействуют они с по­ мощью двух типов связи: 1 и 2, обеспечивающих полудуп­ лексную работу. Связи типа / используются для пересылки данных между ОЗУ передающего ВМ и одного или нескольких принимающих ВМ, передачи адресов между передающими и принимающими ВМ и обмена логическими переменными между элементарными машинами. Связи типа 2 являются вспомогательными: они используются для программирования соединений между элементарными ма­ шинами по линиям связи типа /, а также для передачи управляющей информа­ ции, обеспечивающей использование общих ресурсов — периферийных устройств, файлов, программ и др. Связи типа 3 между вычислительным модулем и моду­ лем машинной связи в пределах одной элементарной машины — дуплексные и используются для обмена информацией с периферийными устройствами. Важным аспектом работы однородной системы является программирование ее структуры — настройка, которая осуществляется с помощью специальных ре­ гистров настройки, входящих в состав модулей машинной связи. Содержимое этих регистров может быть изменено либо собственным вычислительным моду­ лем, либо вычислительным модулем любой другой элементарной машины. Система МИНИМАКС — общего назначения и может работать в автомати­ зированных системах управления технологическими процессами. Развитием однородных вычислительных систем являются однородные вы­ числительные среды, которые представляют собой в общем случае я-мерную решетчатую структуру. В частном случае это двухмерная структура из квад­ ратных клеток, заполняющих плоскость. Каждая клетка в двухмерной струк­ туре соединяется с четырьмя соседними. Между двумя соседними клетками про­ ходят два канала настройки и один канал передачи рабочей информации (рис. 3.11). Каждый элемент однородной вычислительной среды состоит из коммутационных и функциональных компонентов. Функциональный компонент реализует полную систему логических функций, например: ИЛИ—НЕ — И*ь*г) = =Х\\/Х2 или И—НЕ — }(хи х2)=х1х2. Коммутационные и функциональные компоненты позволяют путем соответствующей настройки при достаточном их числе реализовать любую структуру. Пока еще нет достаточного опыта, который позволил бы оценить перспек­ тивность этих идей, однако можно отметить, что реализация однородных си­ стем — непростая проблема, а эффективность таких систем не является безус­ ловной. Надо иметь в виду, что связи между отдельными элементами достаточно сложны, аппаратные затраты на реализацию связей велики, причем чем эле­ ментарнее функции вычислительного модуля, тем больший удельный вес при­ обретают затраты на связи. Кроме того, программирование связей для на­ стройки системы является достаточно сложной задачей. Вместе с тем не вызы­ вает сомнения, что однородные вычислительные системы представляют значи­ тельный интерес и, по-видимому, будут активно развиваться. 3.5. ФУНКЦИОНАЛЬНО РАСПРЕДЕЛЕННЫЕ СИСТЕМЫ На вычислительные системы общего назначения, используе­ мые для научно-технических расчетов и моделирования, в систе­ мах автоматизированного проектирования и управления произ­ водством, возлагается выполнение широкого спектра задач. При этом вычислительная система должна реализовать обширный набор функций над различными типами и структурами данных: обработку целочисленных значений, действительных чисел, графимо
ческой информации и изображений, текстов, матричную обра­ ботку, трансляцию программ, доступ к данным, организованным в наборы или базы, и т. д. Кроме того, для управления вычисли­ тельными процессами и функционированием необходимо реализо­ вать специфические функции управляющих программ операцион­ ной системы, управления виртуальной памятью, средствами ввода — вывода и передачи данных, а также контроль и диагно­ стику системы и др. В ЭВМ первого и второго поколений все эти функции реали­ зовались одним процессором и интерпретировались им в виде арифметических и логических операций. Такое же положение со­ хранилось в основном и в ЭВМ третьего поколения, в которых лишь простейшие операции ввода — вывода снимались с цент­ рального процессора и передавались специализированным уст­ ройствам— каналам или процессорам ввода — вывода. Высокопроизводительные системы общего назначения созда­ ются на основе многопроцессорных комплексов. Использование в таких системах однотипных процессоров, аналогичных процес­ сорам ЭВМ общего назначения, оказывается неэкономичным, поскольку в каждом процессоре в каждый момент времени ис­ пользуется лишь часть ресурсов, обеспечивающих обработку данных одного типа. Наиболее экономичный способ построения многопроцессорной системы общего назначения — использование специализированных процессоров, ориентированных на реализа­ цию определенных функций: обработки скалярных величин, тек­ стов, матричной обработки, трансляции программ, управления данными и др. При этом значительно сокращаются затраты обо­ рудования в процессоре и повышается его производительность. Кроме того, совокупность таких процессоров предоставляет не­ обходимый для решения задач набор функций, который можно изменять, по-разному комплектуя систему и приспосабливая ее к рабочей нагрузке. Многопроцессорные вычислительные системы, построенные на основе разнотипных процессоров, ориентированных на реализацию определенных функций, называются функционально распре­ деленными вычислительными системами (ФРВС). Это неодно­ родные системы и строятся они как проблемно-ориентирован­ ные— путем включения в их состав набора процессоров, соот­ ветствующего потребностям обрабатываемых задач. Структура и функционирование. Принцип структурной орга­ низации ФРВС представлен на рис. 3.12. Система состоит из со­ вокупности процессоров, имеющих индивидуальную память, и основной памяти. Ядро системы обеспечивает информационное сопряжение всех устройств. Ядро может быть реализовано в виде системной шины (магистрали), коммутационного поля или коммутатора основной памяти. В первых двух случаях каж­ дый процессор может обмениваться данными с любыми другими процессорами и основной памятью. При использовании комму­ татора основной памяти обмен данными производится только 101
Рис. 3.12. Функционально распределенная вычислительная система через память. В представленной структуре управляющий процес­ сор реализует супервизорные функции — управление ресурсами и задачами, обрабатывающий процессор — обработку числовых и символьных данных, матричный процессор — матричную и век­ торную обработку, языковой процессор — трансляцию программ, процессоры баз данных — доступ к наборам данных и управле­ ние базами данных, процессор ввода — вывода обслуживает устройства ввода — вывода и телекоммуникационный процессор обеспечивает передачу данных по каналам связи. Состав про­ цессоров в конкретной системе зависит от класса решаемых за­ дач. Так, в системе могут использоваться два обрабатывающих процессора или несколько телекоммуникационных. Обработка каждой задачи распределяется между процессо­ рами. При этом функции управления данными реализуются про­ цессорами, изображенными в нижней части рисунка. Разные шаги заданий, программы и ветви (блоки) программ выполня­ ются обрабатывающим, матричным и языковым процессорами. Распределение ресурсов между задачами и управление задачами производится управляющим процессором, который реализует уп­ равляющие программы операционной системы. Загрузка обору­ дования увеличивается за счет мультипрограммирования и, воз­ можно, параллельных вычислений на уровне подзадач. Специализация процессоров обеспечивается на разных уров­ нях— на уровне структуры, микропрограммном и программном. Специализация на уровне структуры достигается за счет исполь­ зования в операционной части процессора специальных реги­ стровых структур и микроопераций, эффективно реализующих заданный набор операций. Такими являются матричные процес­ соры, содержащие совокупность арифметическо-логических уст­ ройств, с помощью которых параллельно обрабатываются век102
Рис. 3.13. Система ЗУМВОЬ торы и матрицы. Специализация на микропрограммном уровне сводится к созданию с помощью микропрограмм специализиро­ ванного набора операций, ориентированного на вычисление за­ данного набора функций. При использовании ОЗУ для хранения микропрограмм специализация процессора производится путем динамического микропрограммирования — загрузки в память со­ ответствующего набора микропрограмм. В этом случае возможно оперативно изменять конфигурацию системы, загружая в струк­ турно одинаковые процессоры необходимые наборы микропро­ грамм. Функциональная специализация процессоров на про­ граммном уровне достигается за счет загрузки в процессор со­ ответствующего набора программ. В ФРВС используются, как правило, все три уровня специа­ лизации процессоров. Обрабатывающие и матричные процессоры имеют специализированную структуру: первые — для выполнения традиционных операций над логическими значениями, целыми и действительными числами и строками символов, последние — для производства векторных и матричных операций. Остальные процессоры функционально специализируются на уровне микро­ программ или программ. Реализация. Принцип функционально распределенной организации приме­ нялся уже в ЭВМ третьего поколения, где для ввода — вывода использовались каналы и процессоры ввода — вывода. Примерами являются ЭВМ серий 1ВМ 360, 1ВМ 370 и ЕС ЭВМ. Одна из первых систем, в полной мере реализующая принцип функцио­ нально распределенной организации,— система ЗУМВОЬ, созданная в 1970 г. Это неоднородная восьмипроцессорная система (рис. 3.13). Процессор-супер­ визор управляет работой всей системы, координируя остальные процессоры, со­ здавая очереди заявок к ним и распределяя процессоры между задачами. Процессор-транслятор обеспечивает перевод операторов с входного языка на внутренний язык системы (на машинный язык). Центральный процессор реали­ зует обычные функции выборки команд и также арифметические и логические 103
Рис. 3.14. Система 5у$1ет/80 операции. В системе используется виртуальная память, работа которой обеспечивается процессором управ­ ления памятью. Этот процессор об­ рабатывает заявки от других про­ цессоров на запись и чтение данных произвольной структуры. 16 Виртуаль­ ная память состоит из 2 страниц, содержащих 256 64-битных слов. Емкость основной памяти — 8 кслов (32 страницы). В дисковой памяти размещается примерно 50 тыс. стра­ ниц. Распределение емкости диско­ вой памяти, поиск и передача тре­ буемой страницы данных реализу­ ются процессором управления дисками. Управление вводом — выводом данных возложено на процессор управления каналами. К этому процессору через каналы передачи данных подключены внешние устройства. Редактирование и преобразо­ вание вводимых—выводимых данных обеспечивается процессором сопряжения, который работает в основном совместно с процессором управления ка­ налами. Процессоры сопрягаются посредством главной шины, состоящей из 111 ли­ ний, причем используются для передачи слова данных 64 линии, адреса слова — 24 линии, адреса абонента, которому направляются данные,— 5 линий. Осталь­ ные линии служат для передачи кода операции, приоритета сообщения и для синхронизации работы абонентов. При относительно низком быстродействии (длительность цикла процессоров — 320 не и оперативной памяти — 2,5 мке) система отличается высокой производительностью, составляющей 75 тыс. опе­ раторов входного языка в минуту, что примерно в 10 раз больше, чем у боль­ ших ЭВМ общего назначения. На рис. 3.14 представлена упрощенная структурная схема вычислительной системы семейства 5уз1ет/80 фирмы 1ВМ. В системе может использоваться до 8—16 процессоров, взаимодействующих через основную память и интерфейс прямого управления. Обслуживающий процессор обеспечивает работу пульта системы, планирование, контроль и диагностику. Процессор ввода — вывода об­ служивает внешние устройства и выполняет первичную обработку (редактиро­ вание) вводимых — выводимых данных. Языковой процессор предназначен для трансляции программ с языка высокого уровня на машинный язык, т. е. в си­ стему команд соответствующих процессоров. Обрабатывающий процессор вы­ полняет обычные операции центрального процессора ЭВМ. Файловый процессор управляет данными, реализуя создание, открытие и закрытие наборов данных и доступ к данным, хранимым в наборах с различной организацией. Каждый процессор имеет собственную оперативную память. Функциональная ориентация процессоров обеспечивается на микропрограммном уровне — путем загрузки в процессоры соответствующих наборов микропрограмм. Возможности системы могут расширяться за счет подключения нескольких процессоров ввода —вы­ вода, обрабатывающих процессоров, а также матричного процессора. 3.6. СИСТЕМЫ С ПЕРЕСТРАИВАЕМОЙ СТРУКТУРОЙ Универсальный способ создания высокопроизводительных и высоконадежных вычислительных систем — объединение ЭВМ (процессоров) в многомашинные (многопроцессорные) комп­ лексы, обеспечивающие 1) параллелизм процессоров управления, доступа к данным и обработки; 104
2) распределенность процессоров управления, доступа к дан­ ным и обработки между модулями системы, т. е. децентрализо­ ванное^ управления работой системы и асинхронность взаимо­ действия процессоров и модулей; 3) перестраиваемость структуры с целью адаптации системы к потребностям задач в ресурсах и повышения устойчивости к от­ казам элементов; 4) открытость, т. е. возможность развития системы за счет подключения к ней дополнительных модулей без изменения принципов функционирования имеющихся модулей; 5) модульность технических и программных средств и регу­ лярность (в пределе — однородность) структуры. Параллелизм вычислительных процессов и процессов управ­ ления создает основу для повышения производительности системы. Распределенность процессов позволяет строить высоко­ производительные системы из достаточно простых модулей, на­ пример из микро-ЭВМ с относительно небольшим быстродей­ ствием и ограниченной емкостью памяти. Перестраиваемость структуры обеспечивает, с одной стороны, высокую производи­ тельность системы за счет ее адаптации к вычислительным про­ цессам и составу обрабатываемых задач и, с другой стороны, живучесть системы при отказах элементов. Открытость системы позволяет в рамках фиксированной архитектуры создавать си­ стемы разной производительности за счет изменения числа мо­ дулей от единиц до десятков, сотен и, возможно, тысяч. Модуль­ ность технических и программных средств существенно упро­ щает разработку и производство элементов системы, за счет чего снижается ее стоимость, а также порождает регулярность структуры и, следовательно, упрощает управление системой (процессами и ресурсами) и ее эксплуатацию. В последние десятилетия ведутся интенсивные исследования в области создания параллельных распределенных открытых многомодульных систем с перестраиваемой структурой, на ос­ нове которых разработано большое число экспериментальных и рабочих систем повышенной производительности и надежности. Архитектура систем с рассматриваемыми свойствами имеет осо­ бое значение для использования микро-ЭВМ в качестве элемент­ ной базы. Возможность неограниченного объединения микроЭВМ в системы, эффективно адаптирующиеся к потребностям задач, позволила бы решить многие проблемы, в том числе обе­ спечить пользователей высокопроизводительными средствами обработки числовых данных, графической информации и изо­ бражений. Однако для создания таких систем необходимо ре­ шить комплекс проблем системного управления, представляю­ щего собой программно-аппаратурную надстройку над базовыми микро-ЭВМ. Среди этих проблем важнейшими являются: 1) структурная организация систем, обеспечивающая образо­ вание ансамблей процессоров, запоминающих устройств и кана­ лов обмена данными, соответствующих потребностям вычисли105
Рис. 3.15. Состав модуля системы с пе­ рестраиваемой струк­ турой Рис. 3.16. Фрагмент матричной структуры тельного процесса, при умеренных затратах ресурсов на их ор­ ганизацию и координацию; 2) организация вычислительных процессов, обеспечивающая их параллелизм, распределение по системе модулей и координа­ цию асинхронно выполняемых подпроцессов при умеренных из­ держках; 3) создание языков высокого уровня, описывающих алгоритмы в системно-независимой форме и сохраняющих представление о па­ раллелизме вычислительного процесса. К настоящему времени эти проблемы не решены окончательно и известные разработки вычислительных систем с перестраивае­ мой структурой лишь отчасти обладают требуемыми свойствами. Структурная организация. Вычислительные системы с пере­ страиваемой структурой строятся на основе микропроцессорных модулей. Модуль должен реализовать следующие функции: 1) об­ работку данных, сводящуюся к обработке логических значений, числовых значений, представленных в виде целых и действитель­ ных чисел, и строк символов; 2) управление вычислительным про­ цессом, обеспечивающее взаимодействие модуля с ансамблем мо­ дулей, реализующих процесс, и с системой в целом; 3) установ­ ление соединений с другими модулями и передачу данных между ними для обеспечения вычислительных процессов. С учетом ука­ занных функций модуль вычислительной системы рассматривается как совокупность трех процессоров (рис. 3.15): обрабатывающего (ОП), управляющего (УП) и коммутационного (коммуникацион­ ного) (КП). Коммутационный процессор обеспечивает обслужива­ ние нескольких (обычно двух — шести) каналов передачи данных. Физически модуль может реализоваться на основе одной микроЭВМ, выполняющей в мультипрограммном режиме функции обра­ ботки, управления процессами и передачи данных, или на осново нескольких микропроцессоров, между которыми разделяются вы­ шеперечисленные функции. 106
я, а2 а3 а4 &5 а6 а7 а8 а9аю аиап %% Я/5% Рис. 3.17. Многоуровневое коммутационное поле В вычислительных системах с перестраиваемой структурой модули объединяются в простейшие структуры, позволяющие доста­ точно легко определять пути соединений между взаимодействую­ щими модулями. Наиболее подходящими для построения рассмат­ риваемых систем являются матричные, пирамидальные и кубиче­ ские структуры. Фрагмент матричной структуры изображен на рис. 3.16. Модули, в которых выделен коммутационный процессор, соединяются посредством последнего в матрицу. Коммутационные процессоры и каналы связи образуют в совокупности коммутаци­ онное поле, обеспечивающее соединение взаимодействующих моду­ лей и передачу данных между ними. Часть модулей системы специализируется на обслуживании периферийных устройств — накопителей на магнитных дисках и лентах и устройств ввода — вывода. Управляющие и коммутационные процессоры модулей ввода — вывода обеспечивают взаимодействие внешних устройств с процессами, реализуемыми в любом из модулей системы. Другой способ структурной организации системы с перестраи­ ваемой структурой—на основе вычислительных комплексов, имею­ щих коммутационное поле, которое образовано совокупностью коммутаторов с децентрализованным управлением. Наиболее эко­ номичными являются поля с многоуровневой организацией, при­ мер которых приведен на рис. 3.17. Здесь а ь . . . , а^ — входы ком­ мутатора, к которым подсоединяются микропроцессорные модули. Штриховыми линиями показаны примеры соединения модулей через коммутатор. В таких полях нижний уровень коммутации обеспечивает соединения между соседними модулями, образую­ щими отдельные группы, следующий уровень коммутации — сое­ динения между соседними группами и т. д. Многоуровневые ком­ мутационные поля позволяют создавать соединения между лю­ быми парами процессорных модулей с помощью умеренного числа коммутационных модулей в системах с матричной, куби­ ческой и пирамидальной структурами. Однако среднее число одновременно устанавливаемых соединений в многоуровневых коммутационных полях меньше среднего числа соединений, обе­ спечиваемых матричными и аналогичными структурами, что приводит к снижению степени параллелизма вычислительных 107
процессов и, следовательно, к уменьшению производительности системы. Организация вычислительных процессов. Основные проблемы организации вычислений в системах с перестраиваемой структу­ рой связаны с обеспечением параллелизма вычислений и распре­ деленного децентрализованного управления процессами и ресур­ сами. Эти проблемы разработаны только в первом приближении, и известные способы организации параллельных вычислений в распределенных системах с децентрализованным управлением еще не достигли необходимого уровня универсальности и форма­ лизации. Параллельная обработка задач, т. е. мультипрограммный ре­ жим функционирования системы, обеспечивается достаточно про­ стыми средствами. После ввода задания в систему модуль, при­ нявший задание, посылает через коммутационное поле запрос на поиск свободного обрабатывающего модуля. Когда свободный мо­ дуль найден, ему посылается задание, определяющее имена набо­ ров данных, в которых размещаются программа, исходные данные и в которые должны быть помещены результаты вычислений. Из задания и программы модуль получает сведения о ресурсах, необ­ ходимых для выполнения задания: емкости оперативной памяти, числе процессоров и неразделяемых наборах данных. Модуль за­ крепляет за собой необходимые ресурсы, и после обеспечения за­ дания требуемыми ресурсами инициируется процесс выполнения задачи. По завершении обработки ресурсы освобождаются и в дальнейшем предоставляются очередным заданиям. Число про­ цессов, реализуемых параллельно, определяется числом модулей, входящих в состав системы, и при наличии очереди заданий про­ изводительность системы пропорциональна числу модулей. Параллельные программы строятся традиционными способами: выделением подзадач и ветвей программы, операций над векто­ рами и матрицами и организацией конвейерной обработки данных. Наиболее просто реализуются вычисления с выделением подзадач и параллельных ветвей. При возникновении ветви в ведущей про­ грамме модуль посылает запрос на поиск свободного модуля, в ко­ торый загружается программа и данные ветви, и ветвь выполня­ ется как самостоятельная задача, по завершении которой в веду­ щий модуль отсылаются результаты обработки. Параллельные вычисления по конвейерной и матричной схемам организуются за счет создания соответствующих конфигураций связей между моду­ лями — линейных (кольцевых) и матричных структур. Построение таких структур в многомодульных системах, в которых часть мо­ дулей занята выполнением ранее созданных задач, является пока нерешенной проблемой. Обычно для матричных вычислений в си­ стему встраивается в качестве специального модуля матричный процессор, обеспечивающий высокопроизводительную обработку блоков данных. В вычислительной системе с перестраиваемой структурой должно быть реализовано распределенное (децентрализованное) 108
управление ресурсами. Это означает, что в системе не должно быть выделенного модуля (даже многократно зарезервирован­ ного), на который возложена задача централизованного управле­ ния функционированием системы. Распределенное управление основано на согласованной работе всех модулей системы, каждый из которых реализует одинаковый набор правил управления, обес­ печивающий эффективное использование всех ресурсов системы. Распределенное управление повышает надежность системы, по­ скольку каждый модуль способен реализовать управление ресур­ сами и процессами, и одновременно повышает производительность системы, так как управляющие решения формируются без затрат времени на сбор информации о состоянии всех элементов системы (а за это время ситуация в системе может существенно изме­ ниться). Как в любой многопроцессорной системе, механизм управления должен исключать взаимную блокировку процессов при запросах ресурсов. Такая ситуация возникает, если процесс А располагает ресурсом а и требует для своего исполнения ресурс Ь, а процесс В располагает ресурсом Ь и дополнительно нуждается в ресурсе а. Например, процесс А располагает модулем а и требует соедине­ ния Ь с ним, а процесс В располагает соединением Ь и требует мо­ дуль а. Для предотвращения блокировок используются различные механизмы управления ресурсами: одновременное формирование запросов на все необходимые ресурсы и освобождение всех ресур­ сов, если не выделен хотя бы один из них; разделение ресурсов по типам и иерархический порядок выделения ресурсов и т. д. Кроме того, механизм управления должен принимать решения о передис­ локации программ и наборов данных между модулями, о необхо­ димости подключения к процессу дополнительных модулей или по­ следовательной реализации алгоритмически параллельных процес­ сов на одном модуле и, наконец, о распределении задач между модулями, обеспечивающем необходимое время решения и высокую производительность системы. Для управления процессами обычно предлагаются эвристические процедуры, не требующие большой емкости памяти и трудоемких вычислений. Однако эффективность большинства предлагаемых процедур к настоящему времени не оценена в достаточной степени. ГЛАВА ЧЕТВЕРТАЯ СИСТЕМЫ ТЕЛЕОБРАБОТКИ 4.1. ПРИНЦИПЫ ПОСТРОЕНИЯ Система телеобработки — совокупность технических и про­ граммных средств, предназначенная для обработки на ЭВМ дан­ ных, передаваемых по каналам связи. Типичная конфигурация си­ стемы телеобработки изображена на рис. 4.1. Абоненты системы 109
Рис. 4.1. Средства телеобработки данных (пользователи, технические объекты) подключаются к ЭВМ с по­ мощью каналов связи. Канал связи состоит из линии связи, по ко­ торой передаются сигналы, и аппаратуры передачи данных (АПД), преобразующей данные в сигналы, соответствующие типу линии связи (канала). Состав канала связи представлен на рис. 4.2, где ООД — оконечное оборудование данных, передающее и принимающее последовательности битов, составляющих данные. Абоненты взаимодействуют с ЭВМ через абонентские пункты (АП) — терминальные устройства системы телеобработки. Або­ нентский пункт содержит в своем составе АПД, обслуживающую канал связи, набор периферийных устройств (ПУ), используемых для ввода — вывода данных, и обеспечивает обмен данными между каналом связи и периферийными устройствами. В общем случае для подключения абонентов к ЭВМ используется значи­ тельное число каналов связи, которые подключаются к ЭВМ через мультиплексор передачи данных (МПД), содержащий средства для обмена данными между ЭВМ и АПД каналов связи, т. е. для ввода — вывода данных по каналам связи. Функционирование тех­ нических средств системы телеобработки — мультиплексоров, ка­ налов связи и абонентских пунктов — поддерживается программ­ ными средствами телеобработки, реализуемыми ЭВМ, абонент­ скими пунктами и, возможно, мультиплексорами передачи данных. В системах телеобработки используются различные конфигу­ рации связей между ЭВМ и абонентами, зависящие от состава и Рис. 4.2. Состав капала 110 связи
Рис. 4.3. Подключение абонентов через удаленный МПД схемы размещения абонентов, типа используемых каналов связи и интенсивности потока данных между абонентами и ЭВМ. Наи­ более широко используются выделенные каналы связи (некомму­ тируемые каналы), закрепленные за ЭВМ и соответствующими абонентами. Канал может обслуживать единственного абонента, образуя двухточечное соединение (верхний канал на рис. 4.1), или одновременно нескольких абонентов (средний канал на рис. 4.1), образуя многоточечное (многопунктовое) соединение. В последнем случае абонентские пункты разделяют между собой канал во вре­ мени, принимая адресованные им данные и снабжая передавае­ мые данные адресом источника. Для подключения абонентов могут использоваться каналы сетей связи общего применения — сетей автоматической телефонной и телеграфной связи (нижний канал на рис. 4.1). В этом случае соединение между абонентом и ЭВМ является коммутируемым и устанавливается, например, набором номера вызываемого абонента. Передача данных по высокоскоростным (5-Ю3—105 бит/с) ка­ налам связи обходится значительно дешевле, чем по совокупности низко- и среднескоростных каналов связи, имеющих пропускную способность 102—5-Ю3 бит/с. Поэтому группы удаленных абонен­ тов подключаются к ЭВМ по схеме, изображенной на рис. 4.3. Для связи используется высокоскоростной канал, к которому на уда­ ленном конце подключен удаленный мультиплексор передачи данных (УМПД). Последний соединяется низкоскоростными кана­ лами с АП и обеспечивает коллективное использование высокоско­ ростного канала многими абонентскими пунктами, работающими в режиме временного разделения (мультиплексирования) высо­ коскоростного канала. Основная цель создания систем телеобработки — обеспечить прием данных непосредственно с мест их появления и выдачу ре­ зультатов обработки к местам их использования. За счет этого существенно повышается эффективность обработки данных: отпа­ дает необходимость в промежуточных носителях данных (перфо­ ленты, перфокарты и магнитные ленты) и повышается оператив­ ность взаимодействия с ЭВМ. В результате этого повышается эф­ фективность работы системы, для которой производится обработка данных. Например, только на основе телеобработки могут стро­ иться эффективные системы управления воздушным и другими ви­ дами транспорта и системы автоматизированной продажи билетов. 111
Кроме того, телеобработка позволяет эффективно использовать мощные ЭВМ, на основе которых можно создавать большие базы данных, что, в свою очередь, снижает стоимость обработки дан­ ных, поскольку стоимость миллиона процессорных операций уменьшается с увеличением быстродействия ЭВМ. С помощью ли­ ний связи к таким ЭВМ подключается значительное число терми­ налов и, следовательно, пользователей, что обеспечивает высокий уровень загрузки ЭВМ и ее постоянство во времени. Таким обра­ зом, телеобработка расширяет сферу применения ЭВМ и позво­ ляет повысить эффективность системы обработки данных. Для создания систем телеобработки необходимы следующие технические средства: 1) каналы связи, в том числе и аппаратура передачи данных: 2) устройства сопряжения ЭВМ с АПД; 3) або­ нентские пункты; 4) удаленные мультиплексоры передачи данных. Значительная протяженность линий связи исключает возмож­ ность обмена отдельными сигналами между ЭВМ и оконечным оборудованием, во-первых, из-за технических трудностей передачи отдельных сигналов и, во-вторых, из-за помех, воздействующих на каналы связи и искажающих сигналы. Поэтому взаимодействие ЭВМ и оконечного оборудования организуется с помощью сообще­ ний — блоков данных, передаваемых в виде единого целого. Сооб­ щения имеют специальную структуру, обеспечивающую представ­ ление в них наряду с собственно данными служебной информации, необходимой для идентификации сообщения и защиты данных от искажений. Возможность взаимодействия абонентов с ЭВМ только посредством сообщений вносит определенную специфику в орга­ низацию программного обеспечения телеобработки. 4.2. КАНАЛЫ СВЯЗИ Основные характеристики канала связи (рис. 4.2) — пропуск­ ная способность и достоверность передачи данных. Пропускная способность канала оценивается предельным числом бит данных, передаваемых по каналу за единицу времени, и измеряется в бит/с (с - 1 ). Достоверность передачи данных характеризуется вероят­ ностью искажения бита, которая для каналов связи без дополни­ тельных средств защиты от ошибок составляет, как правило, 10~4—10~6. Основная причина искажений — воздействие помех на линию связи и, отчасти, наличие шумов в АПД. Помехи носят им­ пульсный характер и имеют тенденцию к группированию — обра­ зованию пачек помех, искажающих сразу группу соседних бит в пе­ редаваемых данных* Линии связи. Для передачи данных используются линии связи различных типов: проводные (воздушные), кабельные, радиоре­ лейные, волоконно-оптические и радиоканалы наземной и спутни­ ковой связи. Кабельные линии состоят из скрученных пар прово­ дов или коаксиальных кабелей. Основные характеристики линий связи — полоса частот, удельная стоимость и помехоустойчивость. Полоса частот Р = {в —/н определяет диапазон частот [/н, / в ], где 112
Рис. 4.4. Последовательность двоич­ ных сигналов /н и / в — нижняя и верхняя граница частот, эффективно передавае­ мых по линии. Полоса частот зависит от типа линии и ее протя­ женности. Проводные линии связи имеют полосу частот примерно 10 кГц, кабельные— 102 кГц, коаксиальные—10 2 МГц, радиоре­ лейные— 103 МГц и волоконно-оптические— 102 МГц. Для пере­ дачи данных используется коротковолновая радиосвязь с диапазо­ ном частот от 3 до 30 МГц. Удельная стоимость линии опреде­ ляется затратами на создание линии протяженностью 1 км. Для передачи данных на небольшие расстояния используются в основ­ ном низкочастотные проводные линии, на большие расстояния — высокочастотные линии: коаксиальные кабели, волоконно-оптиче­ ские и радиорелейные линии. Радиосвязь применяется для органи­ зации как местной, так и дальней связи. Помехоустойчивость ли­ нии зависит от мощности помех, создаваемых в линии внешней средой или возникающих из-за шумов в самой линии. Наименее помехоустойчивыми являются радиолинии, хорошей помехоустой­ чивостью обладают кабельные линии и отличной — волоконно-оп­ тические линии, не восприимчивые к электромагнитному излу­ чению. Пропускная способность канала. Пропускная способность ка­ нала зависит от полосы частот линии связи и отношения мощно­ стей сигнала и шума. Максимальная пропускная способность ка­ нала, построенного на основе линии с полосой частот Р и отно­ шением сигнал-шум Рс/Рш, составляет (бит в секунду) Р1о§ 2 (1+Р с /Р ш ). (4.1) Значение (1+Р с /Р ш ) определяет число уровней сигнала, кото­ рое может быть воспринято приемником. Так, если отношение Рс/Рш>3, то единичный сигнал может переносить четыре значе­ ния, т. е. 1о§2 (1 + 3) = 2 бита информации; При передаче данных широко используются двоичные сигналы, принимающие значения 0 и 1. Временная диаграмма последова­ тельности таких сигналов, передаваемых по линии связи, изобра­ жена на рис. 4.4, где сверху указаны значения, переносимые сиг­ налом. Минимальная длительность такта, с которым могут пере­ даваться сигналы по каналу с полосой частот Р, равна Тт\п = = 1/(2Р). Если вероятность искажения символов 0 и 1 из-за помех одинакова и равна р, то число двоичных символов, которые можно безошибочно передать по каналу в секунду, С = 2Л1+р1о&р + (1-р)1о&(1-р)]. (4.2) Это выражение определяет пропускную способность двоичного канала. Величина в квадратных скобках определяет долю двоич113
ных символов, которые передаются по каналу с частотой 2Р без искажений. Если помехи отсутствуют, вероятность искажения сим­ вола р = 0 и пропускная способность С= 2Р; если вероятность ис­ кажения р = 0,5, то пропускная способность С=0. Если по каналу передается сообщение длиной п двоичных символов, то вероят­ ность появления в нем точно / ошибок Р(п, 1) = С1пр1(1—р)п~К среднее число ошибок а = пр и среднее квадратическое отклоне­ ние о~<\/пр(1—р)Наиболее распространенный тип канала — телефонный с поло­ сой пропускания 3,1 кГц и диапазоном частот от /н = 0,3 кГц до /в = 3,4 кГц. Коммутируемый телефонный канал обеспечивает ско­ рость передачи данных С= 1200 бит/с, а некоммутируемый — до 9600 бит/с. Эффективность использования канала связи для передачи дан­ ных принято характеризовать удельной пропускной способностью В = С/Р\ т. е. пропускной способностью на 1 Гц полосы частот ка­ нала. Для коммутируемых телефонных каналов удельная пропуск­ ная способность не превышает 0,4 бит/(с-Гц), а для некоммути­ руемых составляет, как правило, 3—5 бит/(с-Гц). Стандартизованы следующие скорости передачи данных по ка­ налам связи: 200, 300, 600, 1200, 2400, 4800, 9600, 12 000, 24 000, 48 000 и 96000 бит/с. Каналы с пропускной способ­ ностью до 300 бит/с называются низкоскоростными, от 600 до 4800 бит/с — среднескоростными и с большей пропускной способ­ ностью — высокоскоростными. Способы передачи данных. Для передачи данных по каналам с различ­ ными характеристиками используются разные способы, обеспечивающие мак­ симальное использование свойств каналов для повышения скорости и досто­ верности передачи данных при умеренной стоимости аппаратуры. Данные первоначально представляются последовательностью прямоуголь­ ных импульсов (рис. 4.4). Для их передачи без искажения требуется полоса частот от нуля до бесконечности. Реальные каналы имеют конечную полосу частот, с которой необходимо согласовать передаваемые сигналы. Согласование обеспечивается, во-первых, путем модуляции — переноса сигнала в заданную полосу частот и, во-вторых, путем кодирования — преобразования данных в вид, позволяющий обнаруживать и исправлять ошибки, возникающие из-за помех в канале связи. При использовании низкочастотных проводных и кабельных линий, по­ лоса частот которых начинается примерно от нуля, сигналы можно передавать в их естественном виде — без модуляции (в первичной полосе частот). Ка­ налы, работающие без модуляции, называются телеграфными и обеспечивают передачу данных со скоростью, как правило, 50—200 бит/с. Когда канал имеет резко ограниченную полосу частот, как, например, ра­ диоканал, передача сигналов должна выполняться в этой полосе и перенос сиг­ нала в заданную полосу производится посредством модуляции по схеме, изо- Рис. 4.5. Канал с модуляцией 114
Рис. 4.6. Способы модуляции браженной на рис. 4 5. В этом слу­ чае между оконечным оборудова­ нием данных, работающим с двоич­ ными сигналами, и каналом устанав­ ливается модем — модулятор и де­ модулятор. Модулятор перемещает спектр первичного сигнала в окрест­ ность несущей частоты /0. Демодуля­ тор выполняет над сигналом обрат­ ное преобразование, формируя из модулированного сигнала импульс­ ный двоичный сигнал. Способы модуляции подразделя­ ются на аналоговые и дискретные. К аналоговым относится амплитуд­ ная, частотная и фазовая модуляция (рис. 4.6). При амплитудной (рис. 4.6, б) производится модуляция амп­ литуды несущей частоты первичным сигналом (рис. 4.6, а). При частотной моду­ ляции (рис. 4.6, в) значения 0 и 1 двоичного сигнала передаются сигналами с различной частотой — / 0 и /ь При фазовой модуляции (рис. 4.6, г) значениям сигнала 0 и 1 соответствуют сигналы частоты / 0 с разной фазой. Дискретные спо­ собы модуляции применяются для преобразования аналоговых сигналов, напри­ мер речевых, в цифровые. Для этих целей наиболее широко используются ампли­ тудно-импульсная, кодово-импульсная и времяимпульсная модуляция. Кодирование передаваемых данных производится в основном для повыше­ ния помехоустойчивости данных. Так, первичные коды символов могут быть представлены в помехозащищенной форме — с использованием кодов Хемминга, обеспечивающих обнаружение и исправление ошибок в передаваемых данных. В последнее время фукция повышения достоверности передаваемых данных воз­ лагается на оконечное оборудование данных и обеспечивается за счет введения информационной избыточности в передаваемые сообщения. Аппаратура передачи данных. Основное назначение АПД — преобразование сигналов, поступающих с оконечного оборудова­ ния, для передачи их в полосе частот канала связи и обратное преобразование сигналов, поступающих из канала. При работе с телеграфным каналом, сигналы по которому передаются без мо­ дуляции (в первичной полосе частот), указанные функции реали­ зуются устройством преобразования телеграфных сигналов, а при работе с телефонным и высокочастотным, каналом — модемом. Ос­ новные элементы модулятора и демодулятора представлены на рис. 4.7. В рассматриваемом случае передача данных в канал про­ изводится синхронно с частотой, соответствующей скорости работы канала, например с частотой 1200 Гц. Сигналы синхронизации 5 Т формируются в модуляторе тактовым генератором ТГ. По каж­ дому сигналу синхронизации 5 Г в блок модуляции БМ вводится двоичный сигнал Т, представляющий собой бит данных. Несущая частота формируется генератором ГНЧ. Модулированный сигнал поступает на полосовой фильтр ПФ, ограничивающий полосу ча­ стот сигнала в соответствии с нижней и верхней границей полосы канала. Затем сигнал с заданной полосой частот передается по ка­ налу в демодулятор, проходит через полосовой фильтр, выделяю­ щий заданную полосу частот, и поступает в блок демодуляции 115
Рис. 4.7. Модулятор и демодулятор Б ДМ, на входе которого формируются двоичные сигналы. Эти сиг­ налы используются для выделения тактовой частоты, с которой передаются данные. Тактовая частота в демодуляторе формиру­ ется синхронизируемым тактовым генератором (СТГ), фаза и ча­ стота которого автоматически подстраиваются под фазу и частоту сигналов, поступающих с БДМ. Сигналы синхронизации од посту­ пают на регенератор сигналов РС, который формирует прямо­ угольные импульсы, представляющие собой биты данных со зна­ чением 1, и, кроме того, используются аппаратурой обработки данных для синхронизации приема данных из демодулятора. Ди­ аграммы сигналов в демодуляторе представлены на рис. 4.8. Описанный канал связи называется синхронным. В нем пере­ дача и прием данных производится с постоянной тактовой часто­ той, одинаковой на входе и выходе канала. Синхронизм передаю­ щего и принимающего оборудования канала обеспечивается автоматически за счет подстройки частоты генератора тактов в де­ модуляторе. Принимаемые сигналы сдвинуты относительно пере­ даваемых по фазе на величину, определяемую временем распрост­ ранения сигнала по каналу связи. В зависимости от направления передачи данных каналы под­ разделяются на симплексные, полудуплексные и дуплексные. Сим­ плексный канал позволяет передавать данные только в одном на­ правлении — прямом или обратном — один абонент передает, а другой принимает данные. Полудуплексный канал обеспечивает поочередную передачу данных в двух направлениях поочередно. Модемы на каждом конце канала уста­ навливаются в состояние приема или передачи с помощью сигналов управле­ ния. Дуплексный канал позволяет пере­ давать данные одновременно в двух на­ правлениях. Это обеспечивается за счет использования четырехпроводной линии связи (два провода служат для пере­ дачи, а два других —для приема дан­ ных), или двух полос частот. Рис. 4.8. Сигналы в демодуляторе 116
Таблица 4.1. Характеристики модемов ЕС ЭВМ П р и м е ч а н и е . ТфК и ТфНК — телефонный коммутируемый и неком­ мутируемый канал; Д и ПД — дуплексный и полудуплексный режим. Для повышения достоверности передачи данных основной ка­ нал может снабжаться дополнительным вспомогательным каналом небольшой пропускной способности — обратным каналом. Напри­ мер, при скорости передачи 1200 бит/с обратный канал работает со скоростью 75 бит/с. Такой канал создается выделением в по­ лосе частот дополнительного канала с неширокой подполосой, ис­ пользуемой для передачи служебной информации в обратном на­ правлении. По обратному каналу передаются сигналы, подтверж­ дающие прием блоков данных. Если в принятом блоке обнару­ жена ошибка, то посылается сигнал на повторную передачу этого блока. Характеристики типичных модемов, выпускаемых в рамках ЕС ЭВМ, приведены в табл. 4.1. В состав АПД может включаться устройство защиты от оши­ бок (УЗО), обеспечивающее повышение достоверности данных пу­ тем обнаружения и исправления возникающих при передаче оши­ бок. Однако в настоящее время функции защиты от ошибок воз­ лагаются, как правило, на оконечное оборудование данных—ЭВМ, мультиплексоры передачи данных и программируемые абонентские пункты. Применяются УЗО в редких случаях — лишь при подклю­ чении к каналу связи терминального оборудования, не имеющего средств для логической обработки данных. Для работы с коммутируемыми каналами телефонной и теле­ графной сети на АПД возлагается функция установления соедине­ ния с абонентом. Эта функция может выполняться ручным или ав­ томатическим способом. При ручном способе вызова соединение в телефонной сети устанавливается с помощью телефонного аппа­ рата (рис. 4.9, а). После этого переключатели «телефон — данные» устанавливаются в положение «данные», подключая к каналу мо­ демы. Для того чтобы уменьшить время создания соединения, АПД снабжается автоматическим вызывным устройством (АВУ) (рис. 4.9, б), которое получает от оконечного оборудования данных (от ЭВМ) номер вызываемого абонента, преобразует номер в сигналы тональной частоты и принимает ответ вызываемой стороны. В про117
Рис. 4.9. Установление соединений через коммутируемый канал цессе вызова абонента принимает участие ЭВМ, мультиплексор передачи данных, АВУ и абонентский пункт, на котором устанав­ ливается автоответчик. Интерфейсы АПД. Для унификации технических средств те­ леобработки, в частности АПД, проведена стандартизация интер­ фейсов: АПД — линия (канал) связи и АПД — оконечное оборудо­ вание данных. Состав интерфейсов представлен на рис. 4.10. Ин­ терфейс (стык) С1 устанавливает логические и электрические ас­ пекты сопряжения АПД с каналами связи и для телефонных ка­ налов определяются отраслевым стандартом ОСТ4 ГО.208.004. Абонентский интерфейс С2 (ГОСТ 18145—81) между АПД и ООД определяется рекомендацией Международного консультативного комитета по телеграфии и телефонии (МККТТ) У.24, которая ус­ танавливает логические, электрические и конструктивные элементы сопряжения модемов и АВУ с ООД. Для сопряжения модемов с ООД используется 34 линии с номерами 101 — 134, а для сопряжения АВУ с ООД— 13 линий с номерами 201— 213. Интерфейс СЗ определяет под­ ключение УЗО к ООД и установ­ лен стандартом ГОСТ 18146—72. Интерфейс СЗ отличается от интер­ фейса С2 наличием цепей для па­ раллельной передачи данных по пяти — восьми линиям и отсутстви­ ем цепей синхронизации и управле­ ния вызывными устройствами. Рис. 4.10. Интерфейсы АПД 118
4.3. СОПРЯЖЕНИЕ ЭВМ С КАНАЛАМИ СВЯЗИ Основная функция средств сопряжения ЭВМ с каналами связи — обмен данными между каналом ввода—вывода ЭВМ и аппаратурой передачи данных, т. е. каналами связи. Обмен дан­ ными программируется командами ввода — вывода, выполнение которых сводится к вводу в заданную область оперативной памяти ЭВМ сообщений, поступающих по каналу связи, и выводу сооб­ щений, хранимых в оперативной памяти, в канал связи. Дополни­ тельные функции средств сопряжения ЭВМ с каналами связи — повышение достоверности передаваемых данных путем проверки принимаемых данных и перезапроса сообщений, содержащих ошибки, формирование слов, характеризующих состояние средств сопряжения (включены-выключены, заняты-свободны и др.), и контроль работоспособности средств сопряжения и каналов связи. Для сопряжения ЭВМ с каналами связи применяются следую­ щие устройства: линейные адаптеры, мультиплексоры передачи данных и связные процессоры. Линейный адаптер — устройство, обеспечивающее сопряжение ЭВМ с одним каналом передачи данных. Линейный адаптер (ЛА) подключается с одной стороны к интерфейсу ввода — вывода ЭВМ (к каналу ввода — вывода) и с другой стороны к АПД, обслужи­ вающей канал связи. Линейный адаптер реализует следующие функции: интерпретирует команды ввода — вывода в сигналы, уп­ равляющие работой АПД; преобразует последовательность слов данных, поступающих по каналу ввода — вывода ЭВМ, в после­ довательность битов, передаваемых через АПД по каналу связи, и выполняет обратное преобразование при приеме данных по ка­ налу связи; добавляет при передаче, распознает и устраняет при приеме служебные комбинации битов. В связи с тем что в систе­ мах телеобработки к ЭВМ подключается значительное число ка­ налов связи, использование для каждого канала линейного адап­ тера приводит к большим затратам оборудования. Поэтому линей­ ные адаптеры не получили широкого распространения. Мультиплексор передачи данных — устройство, обеспечиваю­ щее сопряжение ЭВМ с несколькими каналами связи. Структура МПД укрупненно представлена на рис. 4.11. Устройство сопрягает интерфейс ввода — вывода ЭВМ, например выход мультиплекс­ ного канала, с АПД, обслуживающей каналы связи. По интер­ фейсу ввода — вывода в МПД передаются команды, данные и по­ сылаются в ЭВМ байты, характеризующие состояние МПД, ли­ нейных адаптеров и каналов связи. Блок сопряжения с каналом ввода—вывода (БСК) реализует ин­ терфейсные функции, обеспечивая формирование сигналов взаимодей­ ствия с каналом через интерфейс ввода—вывода, прием и передачу байРис. 4.11. Мультиплексор передачи данных 119
тов данных, составляющих передаваемые сообщения. Блок осу­ ществляет обмен байтами данных с соответствующими адапте­ рами. Последние преобразуют выводимые байты в последователь­ ность бит, передаваемых в АПД, а при вводе данных выполняют обратное преобразование. Для расширения функциональных возможностей МПД в его состав вводится микропроцессор, позволяющий проводить про­ граммную обработку принимаемых и отправляемых сообщений. Такие МПД называются программируемыми. За счет программи­ руемое™ МПД существенно снижается нагрузка на центральный процессор, который освобождается от функций повышения досто­ верности передаваемых данных, установления соединений по ком­ мутируемым каналам связи и индикации состояний МПД, АПД и каналов связи. Микропроцессор содержит оперативную и пере­ программируемую постоянную память и включается между БСК и ЛА, так что адаптеры можно рассматривать в качестве перифе­ рийных устройств микропроцессора. Оперативная память микро­ процессора используется в качестве буферной памяти, в которой хранятся сообщения, передаваемые между ЭВМ и каналами связи. За счет этого снижается частота обмена данными между ЭВМ и МПД, что позволяет подключать к МПД высокоскоростные ка­ налы связи. Для полного отделения предварительной обработки сообщений и управления средствами передачи данных от функций централь­ ной ЭВМ используются связные процессоры. Связной процессор состоит из микро- или мини-ЭВМ, к которой в качестве перифе­ рийных устройств подключаются ЛА и АПД. Связной процессор реализует все функции управления каналами связи, а также пред­ варительную обработку сообщений и обеспечивает повышение до­ стоверности передаваемых данных. За счет этого существенно уменьшается нагрузка на центральную ЭВМ. Связной процессор подключается к каналу ввода — вывода ЭВМ через адаптер меж­ машинного обмена в качестве сателлитного процессора централь­ ной ЭВМ. Таблица 4.2. Характеристики МПД ЕС ЭВМ 120
Характеристики МПД ЕС ЭВМ представлены в табл. 4.2. Уст­ ройства могут комплектоваться различной АПД (модемами): МПД-2 и МПД-4 являются программируемыми. Удаленный муль­ типлексор (УМПД) служит для сопряжения нескольких низкоско­ ростных каналов, используемых абонентами, с высокоскоростным каналом, ведущим к ЭВМ. Удаленный МПД ЕС-8421 обеспечивает передачу сообщений 20 абонентов, связанных с ним через низко­ скоростные каналы (50—200 бит/с), по дуплексному среднескоростному (1200 бит/с) каналу. 4.4. АБОНЕНТСКИЕ ПУНКТЫ Абонентские пункты—терминалы системы телеобработки, пред­ назначенные для обмена данными между пользователями и ЭВМ через каналы связи. Состав АП представлен на рис. 4.12. Оконеч­ ными устройствами АП являются, с одной стороны, устройства ввода — вывода — дисплеи, ввод с перфолент, перфокарт немаг­ нитных лент, печать и вывод на магнитную ленту, а с другой сто­ роны, аппаратура передачи данных (модем) и при работе ^ком­ мутируемым каналом связи — вызывное устройство. Устройства ввода — вывода и АПД сопрягаются устройством обмена данными, которое обеспечивает передачу данных между АПД и каждым УВВ, а также, возможно, обмен данными между УВВ. Обмен данными сводится к формированию из битов или символов, по­ ступающих от АПД или УВВ, блоков данных и выводу блоков в виде последовательности битов или символов на заданное уст­ ройство — АПД или УВВ. Устройство обмена данными обеспечи­ вает согласование скоростей работы АПД и различных УВВ за счет буферизации символов или блоков данных, которые прини­ маются в память с одной скоростью и выводятся из нее с другой скоростью. Управление устройствами АП осуществляется устрой­ ством управления. Для включения АП, индикации и управления режимами работы служит пульт АП. Функции в АП могут быть реализованы аппаратурно (жесткая логика) или с помощью программ. При аппаратурной реализации состав функций жестко зафиксирован и не может изменяться в процессе эксплуатации АП. Программируемые АП строятся на базе микро- или мини-ЭВМ, к которой подключаются АПД и УВВ. Машина управляет рабо­ той АПД и УВВ, контролирует состояние канала связи и реали­ зует требуемые алгоритмы вза­ имодействия с системой телеоб­ работки, повышения достоверноРис. 4.12. Абонентский пункт 121
122
сти данных, формирования сообщений и обмена данными между УВВ. Гибкость программируемых АП и возможность реализации в них широкой номенклатуры функций взаимодействия с системой телеобработки и с пользователями приводит ко все большему рас­ пространению этих АП в системах телеобработки. Программируе­ мые АП можно рассматривать в качестве интеллектуальных тер­ миналов в системах телеобработки, позволяющих наряду с тради­ ционными функциями накапливать и редактировать данные и даже производить их первичную обработку. Характеристики типичных АП ЕС ЭВМ представлены в табл. 4.3. Устройства АП-6, АП-31, АП-32 и АП-50 являются программируемыми. 4.5. ПРОГРАММНЫЕ СРЕДСТВА Телеобработка данных состоит в приеме сообщений, посылае­ мых пользователями через абонентские пункты, обработке приня­ тых сообщений с помощью системных обрабатывающих или при­ кладных программ и передаче формируемых в ЭВМ сообщений заданным абонентским пунктам. Иногда при телеобработке необ­ ходимо выполнять ряд дополнительных функций: установление соединений с абонентами, связанными с ЭВМ через коммутируе­ мые каналы; активизацию и прекращение работы абонентов; ре­ дактирование принимаемых и передаваемых сообщений, например вставку даты, времени суток и порядковых номеров сообщений; об­ работку сообщений, содержащих ошибки; повторную обработку (рестарт) после отказов технических средств. Для реализации ука­ занных функций необходимы программы управления вводом — выводом данных через МПД и АПД. Телеобработка поддержива­ ется программными средствами, включаемыми в состав операци­ онной системы. Телеобработка данных организуется по схеме, представленной на рис. 4.13. Сообщения, поступающие в ЭВМ по каналам связи, накапливаются во входной очереди, затем редактируются с по­ мощью средств телеобработки и поступают в очередь к програм­ мам обработки. Прикладная программа обращается к очереди со­ общений как к набору данных с последовательной организацией и по макрокомандам (ЗЕТ, КЕАО выбирает сообщения для обра­ ботки. При этом процесс приема сообщений и процесс обработки Рис. 4.13. Обработка сообщений 123
протекают асинхронно. Формируемые прикладной программой со­ общения выводятся в очередь к каналам связи с помощью макро­ команд Р1Л, ШК1ТЕ. Затем сообщения могут вновь редактиро­ ваться, после чего поступают в выходную очередь, откуда выво­ дятся в порядке поступления в каналы связи и по ним достигают пользователей. Программные средства телеобработки создают воз­ можность обмена сообщениями между пользователями. В таком случае сообщение, минуя прикладные программы, направляется в очередь к каналу связи и после редактирования выводится по каналу к адресуемому абоненту. Описанная схема и взаимодействие прикладных программ с по­ токами вводимых — выводимых сообщений обеспечивается про­ граммами телекоммуникационного метода доступа (ТМД). В опе­ рационной системе ЕС ЭВМ используются два метода доступа к данным: базисный (БТМД) и общий (ОТМД). Базисный метод предоставляет пользователям простейшие средства работы с сооб­ щениями, передаваемыми по каналам связи. Общий метод значи­ тельно расширяет возможности базисного метода, обеспечивая ав­ томатическое управление ресурсами системы телеобработки и предоставляя пользователям гибкий язык высокого уровня для уп­ равления потоками сообщений между абонентскими пунктами (коммутация сообщений) и между абонентскими пунктами и при­ кладными программами (обработка сообщений). С помощью языка управления сообщениями можно активизировать каналы связи и управлять передачей сообщений между ЭВМ и абонент­ скими пунктами, вставлять и удалять символы управления кана­ лами связи, получать, использовать и освобождать буфера для хранения сообщений после их приема и перед отправлением, на­ правлять сообщения к абонентским пунктам и прикладным про­ граммам, проводить корректировку и специальную обработку со­ общений, содержащих ошибки. Общий метод позволяет програм­ мисту обрабатывать сообщения так же просто, как и при исполь­ зовании традиционных устройств ввода—вывода ЭВМ. Порядок телеобработки под управлением программных средств ОТМД следующий: 1. Сообщение подготавливается на абонентском пункте — на­ бирается на клавиатуре или вводится с перфорированной или маг­ нитной ленты. 2. Абонентский пункт передает сообщение по каналу связи через мультиплексор передачи данных и мультиплексный канал в основную память ЭВМ. 3. Сообщение вводится во входную очередь, проходит перво­ начальный контроль и при необходимости перекодируется во внут­ ренний код ЭВМ. При обнаружении ошибки в передающий пункт направляется сигнал об ошибке, инициирующий повторную пере­ дачу сообщения. 4. Сообщение может быть подвергнуто редактированию — уда­ лению или вставке управляющих символов, включению даты, вре­ мени и порядкового номера сообщения. 124
5. После входной обработки сообщение поступает в очередь на­ значения — либо к прикладной программе, либо к пункту назна­ чения (каналу связи). 6. Когда прикладная программа выдает макрокоманды (ЗЕТ или КЕЛб, средства ОТМД передают данные из сообщения в ра­ бочую область прикладной программы. После этого сообщение ис­ ключается из очереди. 7. Прикладная программа генерирует ответные сообщения, ко­ торые выводятся из нее по макрокоманде Р1ГГ или ШК1ТЕ и по­ ступают в выходную очередь. При этом к данным добавляется за­ головок и прочие атрибуты сообщения. 8. Выходные сообщения могут подвергаться различного рода обработке (преобразование в код передачи для пункта назначе­ ния, редактирование, фиксация в системном журнале и подсчет числа выводимых сообщений). 9. Средства ОТМД выбирают сообщение из выходной очереди (по порядку) и передают его через соответствующий канал связи в абонентский пункт. При использовании ОТМД прикладные программы практиче­ ски не зависят от специфики технических средств телеобработки— каналов связи и аппаратуры сопряжения ЭВМ с каналами. ГЛАВА ПЯТАЯ ВЫЧИСЛИТЕЛЬНЫЕ СЕТИ 5.1. СТРУКТУРА И ХАРАКТЕРИСТИКИ Для создания крупномасштабных систем обработки данных ЭВМ и вычислительные комплексы, обслуживающие отдельные предприятия и организации, объединяются с помощью средств пе­ редачи данных в вычислительные сети, обеспечивающие отрасли производства и регионы. Структура. Структура вычислительной сети представлена на рис. 5.1. Вычислительная сеть разделяется на три взаимосвязан­ ные подсети: базовую сеть передачи данных (СПД), сеть ЭВМ и терминальную сеть. Базовая СПД — совокупность средств для передачи данных между ЭВМ. Сеть передачи данных состоит из линий связи и узлов связи. Узел связи — совокупность средств коммутации и передачи данных в одном пункте. Узел связи принимает данные, поступающие по каналам связи, и передает данные в каналы, веду­ щие к абонентам. Узел связи реализуется на основе коммутацион­ ной ЭВМ и аппаратуры передачи данных. Коммутационная ЭВМ управляет приемом и передачей данных и, в частности, выбирает целесообразный путь передачи данных. Базовая СПД является 125
Рис. 5.1. Структура вычисли­ тельной сети ядром вычислительной сети, обеспечивающим физическое объединение ЭВМ и прочих устройств. Сеть ЭВМ — совокуп­ ность ЭВМ, объединенных сетью передачи данных. Сеть ЭВМ включает в себя главные и терми­ нальные ЭВМ. Главная ЭВМ (ГВМ) выполняет задания абонентов сети — пользователей. Терминальные ЭВМ (ТВМ) предназначены для сопряжения терминалов с базовой СПД. Основная функция сопряжения сводится к преобразованию дан­ ных в форму, обеспечивающую их передачу средствами базовой сети и вывод данных на терминалы. Терминальная сеть — совокупность терминалов и терминаль­ ной сети передачи данных. Терминалы — устройства, с помощью которых абоненты осуществляют ввод и вывод данных. В терми­ нальной сети могут использоваться интеллектуальные терминалы и абонентские пункты. В состав интеллектуального терминала вхо­ дит процессор, обеспечивающий локальную обработку данных — редактирование текстов, отображение данных в специальной форме, хранение данных и манипуляции с ними и т. д. Абонент­ ский пункт состоит из взаимосвязанных устройств ввода — вывода, обеспечивающих ввод данных от нескольких источников и вывод данных в различной форме — на экраны дисплеев, печатающие устройства, устройства вывода графической информации и др. Для подключения терминалов к ЭВМ используются линии связи и об­ служивающие их удаленные мультиплексоры передачи данных, в совокупности образующие терминальную сеть передачи данных. Контроль состояния вычислительной сети и управление ее функ­ ционированием обеспечивается административной системой, вклю­ чающей в себя ЭВМ, терминальное оборудование и программные средства, с помощью которых производится включение и выключе­ ние сети и ее компонентов, контролируется работоспособность сети, устанавливается режим функционирования компонентов, си­ стем и сети в целом, учитывается объем услуг, предоставляемых абонентам сетью, и т. д. Отдельные вычислительные сети могут быть связаны между собой с помощью линий связи, подключаемых к узлам межсетевой связи. В узле межсетевой связи используется ЭВМ, обеспечиваю­ щая согласование и преобразование данных при передаче их между двумя сетями. Эффект сетевой обработки данных. Основной эффект от объ­ единения ЭВМ и терминалов в вычислительную сеть — это полная 126
доступность ресурсов сети для пользователей. Пользователи, под­ ключенные к сети, имеют доступ ко всем главным ЭВМ, входящим в сеть, и, следовательно, имеют возможность использовать память этих ЭВМ для хранения данных и процессоры для их обработки. Пользователям доступно программное обеспечение, имеющееся в сети, и базы данных, размещенные в ЭВМ сети, что позволяет оперативно использовать программы и базы данных. Как правило, сети предоставляют возможность параллельной обработки данных многими ЭВМ. Возможно построение распределенных баз данных, размещенных в памяти многих ЭВМ, а за счет этого — создание сложных информационных структур. Информационные связи между пользователями позволяют коллективам пользователей ре­ шать задачи моделирования сложных систем, выполнять проект­ ные и другие работы, опирающиеся на распределенные между многими ЭВМ программное обеспечение и базы данных. Таким образом, сетевая обработка данных — качественно новая органи­ зация обработки: в значительной степени увеличивается предел сложности и скорость решения задач, требующих участия боль­ ших коллективов работников. Вычислительные сети позволяют повысить уровень загрузки ЭВМ, программного обеспечения и баз данных. Это обусловлено двумя факторами. Во-первых, вычислительная сеть обслуживает большое число пользователей, поэтому нагрузка, создаваемая всеми пользователями, в меньшей степени подвержена колеба­ ниям, чем нагрузка, создаваемая отдельным пользователем или группой. Этот эффект имеет статистическую природу и оценивается дисперсией среднего значения нагрузки, создаваемой пользовате­ лями. Так, если среднее квадратическое отклонение нагрузки, соз­ даваемой одним пользователем, равно а, то п пользователей соз­ дают суммарную нагрузку, среднее квадратическое отклонение ко­ торой равно а/л/ггу т. е. колебания нагрузки, создаваемой, напри­ мер, 100 пользователями, в 10 раз меньше, чем у создаваемой од­ ним пользователем. Следовательно, увеличивается вероятность того, что в каждый момент времени существует работа для каж­ дого компонента сети, т. е. увеличивается загрузка ресурсов сети. Второй фактор, позволяющий повысить уровень загрузки,— ста­ билизация нагрузки на сеть, когда сеть охватывает территорию, расположенную в нескольких часовых поясах. Эффект стабилиза­ ции особенно существен для эксплуатации специализированных и проблемно-ориентированных ЭВМ (ЭВМ с матричными процессо­ рами), аналого-цифровых вычислительных комплексов, информа-' ционно-справочных систем и др. Как показывает практика, за счет расширения возможностей обработки данных и лучшей загрузки ресурсов стоимость обра­ ботки данных средствами сети снижается в полтора раза и более по сравнению с обработкой данных на несвязанных ЭВМ. Характеристики. Основные характеристики -вычислительной сети — операционные возможности, время доставки сообщений, производительность и стоимость обработки данных. 127
Операционные возможности сети — перечень основных действий по обработке данных. Главные ЭВМ, входящие в состав сети, обес­ печивают пользователей всеми традиционными видами обслужи­ вания: средствами автоматизации программирования, доступом к пакетам прикладных программ, базами данных и т. д. Наряду с этим вычислительная сеть может предоставлять пользователям следующие дополнительные виды услуг: 1) удаленный ввод заданий — выполнение заданий, поступаю­ щих с любых терминалов, на любой главной ЭВМ в пакетном или диалоговом режиме; 2) передачу файлов (наборов данных) между ЭВМ сети; 3) доступ к удаленным файлам — обработку файлов, храни­ мых в удаленных ЭВМ; 4) защиту данных и ресурсов от несанкционированного до­ ступа; 5) передачу текстовых и, возможно, речевых сообщений между терминалами (пользователями); 6) выдачу справок об информационных и программных ре­ сурсах; 7) распределенные базы данных, размещаемые в нескольких ЭВМ; 8) распределенную обработку — параллельное выполнение за­ дачи несколькими ЭВМ. Как минимум в сетях реализуются первые шесть видов допол­ нительных услуг. Работа с распределенными базами данных и рас­ пределенная обработка обеспечиваются только в наиболее разви­ тых вычислительных сетях. Производительность сети представляет собой суммарную про­ изводительность главных ЭВМ. При этом обычно производитель­ ность главных ЭВМ означает номинальную производительность их процессоров. Время доставки сообщений определяется как статистическое среднее времени от момента передачи сообщения в сеть до мо­ мента получения сообщения адресатом. Цена обработки данных формируется с учетом стоимости средств, используемых для ввода — вывода, передачи, хранения и обработки данных. На основе цен рассчитывается стоимость обра­ ботки данных, которая зависит от объема используемых ресурсов вычислительной сети (количество передаваемых данных, процес­ сорное время), а также режима передачи и обработки данных. Указанные характеристики зависят от структурной и функцио­ нальной организации сети, т. е. от набора параметров, основные из которых: структура вычислительной сети (состав ЭВМ, струк­ тура базовой СПД и терминальной сети), метод передачи данных в базовой сети, способы установления соединений между взаимо­ действующими абонентами, выбора маршрутов передачи данных и т. д. Кроме того, характеристики сети зависят от нагрузки, соз­ даваемой пользователями. Нагрузка определяется числом актив­ ных терминалов (пользователей) и интенсивностью взаимодей128
ствия пользователей с сетью. Последний параметр характеризу­ ется количеством данных, вводимых — выводимых терминалом за единицу времени, и потребностью в ресурсах главных ЭВМ для обработки этих данных. 5.2. МНОГОУРОВНЕВАЯ ОРГАНИЗАЦИЯ УПРАВЛЕНИЯ Основные требования, которым должна удовлетворять органи­ зация вычислительных сетей: 1) открытость — возможность включения дополнительных главных ЭВМ, терминалов, узлов и линий связи без изменения технических и программных средств существующих компонентов; 2) гибкость — сохранение работоспособности при изменении структуры в результате выхода из строя ЭВМ, линий и узлов связи, допустимость изменения типов ЭВМ и линий связи, а также возможность работы любых главных ЭВМ с терминалами различ­ ных типов: 3) эффективность — обеспечение требуемого качества обслу­ живания пользователей при минимальных затратах. Указанные требования реализуются за счет модульного прин­ ципа организации управления процессами в сети по многоуровне­ вой схеме, в основе которой лежат понятия процесса, уровня уп­ равления, интерфейса и протокола. Процессы. Функционирование вычислительных сетей представ­ ляется в терминах процессов. Процесс — это динамический объект, реализующий собой целенаправленный акт обработки данных. Процессы подразделяются на два класса: прикладные и систем­ ные. Прикладной процесс — выполнение прикладной программы или обрабатывающей программы операционной системы ЭВМ, а также функционирование терминала, т. е. пользователя, рабо­ тающего на терминале. Системный процесс — выполнение про­ граммы (алгоритма), реализующей вспомогательную функцию, связанную с обеспечением прикладных процессов. Примеры сис­ темных процессов: активизация терминала для прикладного про­ цесса, организация связи между процессами и др. Модель процесса представлена на рис. 5.2. Процесс порожда­ ется программой или пользователем и связан с данными, посту­ пающими извне в качестве исходных и формируемыми процессом для внешнего использования. Ввод данных, необходимых про­ цессу, и вывод данных производится в форме сообщений — после­ довательностей данных, имеющих законченное смысловое значе­ ние. Ввод сообщений в процесс и вывод сообщений из процесса производится через логические (программно-организованные) точки, называемые портами. Порты подразделяются на входные и выходные. Таким образом, процесс как объект представляется со­ вокупностью портов, через которые он взаимодействует с другими процессами сети. Взаимодействие процессов сводится к обмену сообщениями, ко­ торые передаются по каналам, создаваемым средствами сети 129
Рис. 5.2. Модель процессора Рис. 5.3. Взаимодействие пре­ цессоров (рис. 5.3). Промежуток времени, в течение которого взаимодей­ ствуют процессы, называется сеансом (сессией). Важно подчерк­ нуть, что в ЭВМ и комплексах взаимодействие процессов обеспе­ чивается за счет доступа к общим для них данным (общей па­ мяти) и обмена сигналами прерывания. В вычислительных сетях единственная форма взаимодействия процессов — обмен сообще­ ниями. Это отличие связано с территориальной распределенностью процессов в вычислительных сетях, а также с тем, что для физи­ ческого сопряжения компонентов сети используются каналы связи, которые обеспечивают передачу сообщений, но не отдельных сиг­ налов. Уровни управления. Будем рассматривать вычислительную сеть как совокупность систем, связанных между собой некоторой пере­ дающей средой. В качестве систем выступают главные и терми­ нальные ЭВМ и узлы связи. Передающая среда может иметь лю­ бую физическую природу и представлять собой совокупность ли­ ний проводной связи, волоконно-оптических линий и др. В каждой из систем сети существует некоторая совокупность процессов. Про­ цессы, распределенные по разным системам, взаимодействуют через передающую среду путем обмена сообщениями. Для обеспечения открытости, гибкости и эффективности сети управление процессами организуется по многоуровневой схеме, приведенной на рис. 5.4. В каждой из систем прямоугольниками обозначены программные и аппаратурные модули, реализующие определенные функции обработки и передачи данных. Модули рас­ пределены по уровням 1—7. Уровень 1 является нижним и уро­ вень 7 — верхним. Модуль уровня п физически взаимодействует только с модулями соседних уровней (я+1) и (п—1). Модуль уровня 1 взаимодействует с передающей средой, которая может рассматриваться как объект уровня 0. Прикладные процессы при­ нято относить к высшему уровню иерархии, в данном случае к уровню 7. Физически связь между процессами обеспечивается пе­ редающей средой. Взаимодействие прикладных процессов с пере­ дающей средой организуется с использованием шести промежуточ­ ных уровней управления 1—6, которые удобно рассматривать, на­ чиная с нижнего. 130
Рис. 5.4. Многоуровневая органи­ зация вычислительной сети Уровень / — физиче­ ский — реализует управле­ ние каналом связи, чтосво^ дится к подключению и от­ ключению канала связи и формированию сигналов, представляющих переда­ ваемые данные. Из-за на­ личия помех, воздействую­ щих на канал, в передаваемые данные вносятся искажения и сни­ жается достоверность передачи: вероятность искажения при­ мерно Ю-4—10~6 ошибок на бит. Уровень 2 — канальный — обеспечивает надежную передачу данных через физический канал, организуемый на уровне /. Ве­ роятность искажения данных, гарантируемая уровнем 2, не ниже Ю~8—Ю-9 ошибок на бит. Для обеспечения надежности исполь­ зуются средства контроля принимаемых данных, позволяющие вы­ являть ошибки в поступающих данных. При обнаружении ошибки производится перезапрос данных. Уровень управления каналом обеспечивает передачу через недостаточно надежный физический канал данных с достоверностью, необходимой для нормальной работы системы. Уровень 3 — сетевой — обеспечивает передачу данных через базовую СПД (см. рис. 5.1). Управление сетью, реализуемое на этом уровне, состоит в выборе маршрута передачи данных по ли­ ниям, связывающим узлы сети. Уровни /—3 организуют базовую сеть передачи данных как си­ стему, обеспечивающую надежную передачу данных между або­ нентами сети. Уровень 4 — транспортный — реализует процедуры сопряже­ ния абонентов сети (главных и терминальных ЭВМ) с базовой СПД. На этом уровне возможно стандартное сопряжение различ­ ных систем с сетью передачи данных и тем самым организуется транспортная служба для обмена данными между сетью и систе­ мами сети. Уровень 5 — сеансовый — организует сеансы связи на период взаимодействия процессов. На этом уровне по запросам процессов создаются порты для приема и передачи сообщений и организу­ ются соединения — логические каналы. Уровень 6 — представления — осуществляет трансляцию раз­ личных языков, форматов данных и кодов для взаимодействия разнотипных ЭВМ, оснащенных специфичными операционными си­ стемами и работающих в различных кодах, между собой и с тер­ миналами разных типов. Взаимодействие процессов, базирую­ щихся на различных языках представления и обработки данных, организуется на основе стандартных форм представления заданий 131
Рис. 5.5. Взаимодействие процессоров в сети с многоуровневой организацией и наборов данных. Процедуры уровня представления интерпрети­ руют стандартные сообщения применительно к конкретным систе­ мам — ЭВМ и терминалам. Этим создается возможность взаимо­ действия, например, одной программы с терминалами разных типов. Рассмотренная многоуровневая организация обеспечивает не­ зависимость управления на уровне п от порядка функционирова­ ния нижних и верхних уровней. В частности, управление каналом (уровень 2) происходит независимо от физических аспектов функ­ ционирования канала связи, которые учитываются только на уровне /. Управление сетью базируется на использовании надеж­ ных каналов передачи данных и не зависит от способов, применяе­ мых для обеспечения надежности на уровне 2. Управление сетью реализует специфичные процессы передачи данных по сети, но транспортный уровень взаимодействует с сетью передачи данных как единой системой, обеспечивающей доставку сообщений або­ нентам сети. В конечном результате прикладной процесс создается только для выполнения определенной функции обработки данных без учета структуры сети, типа каналов связи, способа выбора маршрутов и т. д. Этим обеспечивается открытость и гибкость си­ стемы. Сказанное иллюстрируется рис. 5.5, на котором представлены средства, используемые при взаимодействии процессов Л и В, реа­ лизуемых в двух различных системах. Процессы А и В опираются на службу взаимодействия, которая для них является целостной системой, наделенной необходимыми функциями. Взаимодействие между процессами организуется средствами управления сеансами (уровень 5), которые работают на основе транспортного канала, обеспечивающего передачу сообщений в течение сеанса. Транс­ портный канал, создаваемый на уровне 4, включает в себя сеть передачи данных, которая организует связи, т. е. требуемые ка­ налы, между любыми заданными абонентами сети. Число уровней и распределение функций между ними сущест­ венно влияет на сложность программного обеспечения ЭВМ, вхо­ дящих в сеть, и на эффективность сети. Формальной процедуры 132
выбора числа уровней не существует. Выбор производится эмпи­ рическим путем на основе анализа различных вариантов органи­ зации сетей и опыта разработки и эксплуатации ранее созданных сетей. Рассмотренная семиуровневая модель, именуемая архитек­ турой ^открытых систем, принята в качестве стандарта Междуна­ родной организации по стандартизации (МОС) и используется как основа при разработке вычислительных сетей. Интерфейсы. Для реализации функций управления передачей данных используются технические и программные средства. Как правило, уровни 1 и 2 реализуются в основном техническими сред­ ствами: на уровне 1 используются электронные схемы, а на уровне 2 — программируемые контроллеры или микро-ЭВМ. На уровнях 3—6 используются программные средства, образующие сетевое программное обеспечение главной или терминальной ЭВМ. Вза­ имодействие между уровнями одной системы производится на ос­ нове соглашения — интерфейса, определяющего структуру данных и способ (алгоритм) обмена данными между соседними уровнями. Уровни управления 1 и 2 связываются между собой и с уровнем 3 посредством схемных интерфейсов —интерфейсных шин. Порядок взаимодействия между уровнями управления, реализуемыми с по­ мощью программных средств, определяется программными интер­ фейсами — совокупностью процедур ГгШ • • • , Рм№ы)> (5.1) где Л , . . . , / ^ — наименования процедур, реализуемых /-м уров­ нем управления, и Уи . . . , Цм — множества формальных парамет­ ров соответствующих процедур. Указанные процедуры инициируются программами соседнего уровня и обеспечивают реализацию функций, возложенных на /-й уровень управления. Структура сообщений. Многоуровневая организация управле­ ния процессами в сети порождает необходимость модифицировать на каждом уровне передаваемые сообщения применительно к функ­ циям, реализуемым на этом уровне. Модификация выполняется по схеме, представленной на рис. 5.6. Данные, передаваемые в форме сообщения, снабжаются заголовком и концевиком, в ко­ торых содержится информация, необходимая для обработки сооб­ щения на соответствующем уровне: указатели типа сооб­ щения, адреса отправителя, получателя, канала, порта и т. д. Заголовок и концевик на­ зываются обрамлением сооб­ щения (данных). Сообщение, сформированное на уровне п + 1 , при обработке на уровне Рис. 5.6. Структура сообщений на разных уровнях 133
п снабжается дополнительной информацией в виде заголовка Зп и концевика Кп- Это же сообщение, поступая на нижележащий уровень, в очередной раз снабжается дополнительной информа­ цией— заголовком Зп-\ и концевиком Кп-\. При передаче от низ­ ших уровней к высшим сообщение освобождается от соответствую­ щего обрамления. Таким образом, каждый уровень оперирует с соб­ ственным заголовком и концевиком, а находящаяся между ними последовательность символов рассматривается как данные более высокого уровня. За счет этого обеспечивается независимость дан­ ных, относящихся к разным уровням управления передачей сооб­ щений. Снабжение сообщений обрамлением — процедура, аналогичная вложению в конверт, используемый в почтовой связи. Все данные, необходимые для пере­ дачи сообщения, указываются на конверте. При передаче этого сообщения на нижестоящий уровень оно вкладывается в новый конверт, снабженный соот­ ветствующими данными. Поступающее в систему сообщение проходит от ниж­ них уровней к верхним (см. рис. 5.4). Средства управления нижнего уровня оперируют с данными, указанными в обрамлении, как с данными на конверте. При передаче сообщения на вышестоящий уровень сообщение «освобождается от конверта», в результате чего на следующем уровне обрабатывается очеред­ ной «конверт». Таким образом, каждый уровень управления оперирует не с са­ мими сообщениями, а только с «конвертами», в которых «упакованы» сообще­ ния. Поэтому состав сообщений, формируемых на верхних уровнях, никак не влияет на функционирование нижних уровней управления передачей. На нижнем, физическом, уровне в качестве заголовка и концевика исполь­ зуются специальные коды, например байт 01111110, который может встретиться в данных более высокого уровня. Если не принять специальных мер, то после­ довательность битов 01111110 в данных будет ошибочно воспринята аппарату­ рой передачи как заголовок сообщения. Для исключения этого используется процедура обеспечения прозрачности канала — бит-стаффинг, состоящая в сле­ дующем. После передачи кода заголовка 01111110 все данные, поступающие с уровня 2 (см. рис. 5.4), проверяются на наличие в них шести подряд сле­ дующих единиц. Если в данных встречается такая последовательность, то после пятой единицы в данные вставляется 0. При приеме данных выполняется об­ ратная процедура: нули в комбинациях 1111101 удаляются, в результате чего данные принимают прежний вид. Этим и обеспечивается прозрачность физиче­ ского канала по отношению к передаваемым данным. Протоколы. Гибкость организации и простота реализации се­ тей достигается, в частности, за счет того, что обмен сообщениями (данными) допускается только между процессами одного уровня. Это означает, что прикладной процесс может взаимодействовать только с прикладным^ процессом, а процессы управления переда­ чей сообщений на уровнях У, 2, ...—только с процессами одно­ именных уровней. Эта схема взаимодействия процессов, как и про­ цедура обрамления сообщений,— необходимое условие логической независимости уровней организации сети. Рассматриваемая схема взаимодействия процессов изобра­ жена на рис. 5.7. Прикладной процесс в системе А (уровень 7) формирует сообщения прикладному процессу в системе В, сооб­ разуясь только с логикой взаимодействия этих двух прикладных процессов, но не с организацией сети. Физически сообщения, фор­ мируемые процессом в системе 4, проходят последовательно через уровни 6, 5, ..., У, подвергаясь процедурам последовательного об134
Рис. 5.7. Сетевые протоколы интерфейсы и рамления, передаются по каналу связи и затем через уровни 7 , 2 , . . . , 6, на кото­ рых с сообщений последо­ вательно снимается обрам­ ление, поступают к про­ цессу в системе В пол­ ностью * расконвертованными. Аналогично процесс управления транспортировкой сообщений в базовую сеть СПД (уровень 4) от­ правляет собственные данные в обрамлении сообщения. Все дан­ ные, которые находятся вне обрамления, не имеют никакого смысла для этого процесса. Таким образом, процессы одного уровня в разных системах обмениваются данными в основном с по­ мощью заголовков и концевиков сообщений. Системный процесс может послать собственное сообщение другому процессу такого же уровня в установленном порядке. При этом весь текст сообщения будет относиться к одноименному процессу в другой системе. Такие сообщения называются управляющими и используются в ос­ новном на уровнях 2—5. Процедура взаимодействия процессов на основе обмена сооб­ щениями (данными) называется протоколом. Для процессов каж­ дого уровня используются протоколы П1, П2, ..., 177. Протоколы имеют следующие особенности, отличающие их от интерфейсов: 1) параллелизм взаимодействующих процессов; 2) взаимная неопределенность состояния процессов, связан­ ная с отсутствием у каждого из них полной информации о состоя­ нии другого процесса; 3) отсутствие однозначной зависимости между событиями и действиями, выполняемыми при их наступлении; 4) отсутствие полной гарантии доставки сообщений. Особенности 2 и 3 протоколов связаны с тем, что взаимодей­ ствующие процессы реализуются в разных системах — в различ­ ных, территориально далеких ЭВМ. По этой причине может немотивированно измениться состояние любого из процессов: поль­ зователь может прекратить работу, прикладная программа — пе­ рейти в состояние ожидания или завершиться из-за особой си­ туации, возникшей при ее выполнении, и т. д. К тому же при разработке протоколов учитывается тот факт, что сообщение мо­ жет не достичь адресата, в результате чего процесс, пославший сообщение, может не получить необходимой ему ответной реак­ ции. Эти факторы существенно увеличивают сложность прото­ колов. При описании протокола принято выделять его логическую и процедурную характеристики. Логическая характеристика прото135
кола — структура (формат) и содержание (семантика) сообще­ ний. Логическая характеристика задается перечислением типов сообщений и их смысла. Правила выполнения действий, предпи­ санных протоколом взаимодействия, называются процедурной ха­ рактеристикой протокола. Процедурная характеристика протокола может представляться в различной математической форме: опе­ раторными схемами алгоритмов, автоматными моделями, сетями Петри и др. Таким образом, логика организации вычислительной сети в наибольшей степени определяется протоколами, устанавливаю­ щими как тип и структуру сообщений, так и процедуры их обра­ ботки— реакцию на входящие сообщения и генерацию собствен­ ных сообщений. Число уровней управления и типы используемых протоколов определяют архитектуру вычислительной сети. Распределение функций по системам. Основные системы вы­ числительной сети — главные и терминальные ЭВМ и узлы связи. Последние включают в себя коммуникационную ЭВМ, аппара­ туру передачи данных и средства сопряжения ЭВМ с АПД — ли­ нейные адаптеры и мультиплексоры передачи данных. Кроме того, для объединения вычислительных сетей используются переходные системы — шлюзы, базирующиеся на использовании, как правило, мини-ЭВМ, называемой переходной ЭВМ. Распределение в сети функций, связанных с управлением процессами передачи и обра­ ботки данных на уровнях 1—7, представлено на рис. 5.8. В главных ЭВМ функции управления каналами (уровни /— 2) реализуются, как правило, техническими средствами — адапте­ рами и связными процессорами или программируемыми МПД. Функции уровней 3—6 реализуются средствами сетевого про­ граммного обеспечения, расширяющими возможности операцион­ ной системы. Функции уровня 7 реализуются прикладными про­ граммами ОС, а также программами, поддерживающими работу терминалов. Главные ЭВМ связаны с узлами связи с помощью одной или нескольких высокоскоростных линий связи. В качестве терминальных ЭВМ используются мини- и микроЭВМ. При этом функции управления физическим каналом реали­ зуются техническими средствами — линейными адаптерами или МПД, а функции управления информационным каналом (уро­ вень 2) возлагаются на программные средства ТВМ. На уровне 7 ТВМ выполняются программы, поддерживающие работу терми­ налов. В узлах связи реализуются функции уровней 1—3. Функции управления физическими каналами (уровень 1) выполняются с помощью аппаратурных средств, функции управления информа­ ционным каналом (уровень 2) — как правило, программно, и функции управления сетью (уровень 3) —всегда программно. Переходный узел организует систему портов, через которые осуществляется связь вычислительных сетей. При этом с одной стороны портов управление сеансами, транспортировкой данных, сетью и каналами производится с использованием протоколов 136
одной сети, а с другой стороны портов — с использованием про­ токолов другой сети. В случае, когда в сопрягаемых вычислитель­ ных сетях используются сообщения с неодинаковой структурой, с одной стороны портов ставится транслятор, преобразующий со­ общения одной структуры в сообщения другой структуры. 5.3. СПОСОБЫ И СРЕДСТВА КОММУТАЦИИ И ПЕРЕДАЧИ ДАННЫХ Базовая СПД обеспечивает связь между абонентами путем ус­ тановления соединений, проходящих через узлы и линии связи (см. рис. 5.1). Важнейшая характеристика СПД — время доставки данных, которое зависит от структуры СПД, производительности узлов связи и пропускной способности линий связи, а также от способа организации каналов связи между взаимодействующими абонентами и способа передачи данных по каналам. Коммутация каналов, сообщений и пакетов. Информационная связь между абонентами может устанавливаться тремя спосо­ бами: коммутацией каналов, сообщений и пакетов. Коммутация каналов обеспечивает выделение физического ка­ нала для прямой передачи данных между абонентами. Процесс 137
Рис. 5.9. Коммутация каналов, сообщений и пакетов коммутации канала и передачи данных между абонентами СПД, изображенной на рис. 5.9, а, представлен временной диаграммой на рис. 5.9, б. Абонент а* инициирует установление связи с або­ нентом а,). Узел связи Л, реагируя на адрес абонента а^ проключает соединение, в результате чего линия абонента а\ коммутиру­ ется с линией, соединяющей узел А с узлом В. Затем процедура проключения соединения повторяется с узлами В, С и О, в ре­ зультате чего между абонентами а\ и а^ коммутируется канал. По окончании коммутации узел В (или абонент а^) посылает сигнал обратной связи, после получения которого абонент аг- начинает передавать данные. Время передачи данных зависит от длины пе­ редаваемого сообщения, пропускной способности канала (ско­ рости передачи данных) и времени распространения сигнала по каналу. Значение 1/\ определяет время доставки сообщения. Коммутация сообщений производится путем передачи сообще­ ния, содержащего заголовок и данные, по маршруту, определяе­ мому узлами сети. В заголовке сообщения указывается адрес або­ нента а,] — получателя сообщения. Сообщение, генерируемое от­ правителем— абонентом аи принимается узлом А и хранится в памяти узла. Узел А обрабатывает заголовок сообщения и оп­ ределяет маршрут передачи сообщения, ведущий к узлу В. Узел 13»
Рис. 5.10. Разбиение сообщений на пакеты В принимает сообщение, разме­ щая его в памяти, а по оконча­ нии приема обрабатывает заго­ ловок и выводит сообщение из памяти на линию связи, ведущую к следующему узлу. Процесс приема, обработки и передачи сообщения повторяется последовательно всеми узлами на мар­ шруте от абонента щ до абонента а^ Значение С/г определяет время доставки данных при коммутации сообщений. Коммутация пакетов производится путем разбивки сообщения на пакеты — элементы сообщения, снабженные заголовком, имею­ щие фиксированную максимальную длину, и последующей пере­ дачи пакетов по маршруту, определяемому узлами сети. Передача данных при коммутации пакетов происходит так же, как и при коммутации сообщений, но данные разделяются на последова­ тельность пакетов 1, 2, ..., длина которых ограничена предель­ ным значением, например 1024 бит (рис. 5.10). Из сравнения диаграмм, представленных на рис. 5.9, видно, что время доставки одного сообщения по способу коммутации пакетов оказывается наименьшим. Исключение составляет случай, когда скоммутированный канал используется длительное время для пе­ редачи последовательности сообщений. В этом случае затраты вре­ мени на коммутацию канала разделяются между многими сообще­ ниями и способ коммутации каналов обеспечивает минимальное время доставки. В вычислительных сетях коммутация пакетов — основной спо­ соб передачи данных. Это обусловлено отчасти тем, что коммута­ ция пакетов приводит к малым задержкам при передаче данных через СПД, а также следующими обстоятельствами. Во-первых, способ коммутации каналов требует, чтобы все соединительные линии, из которых формируется канал, имели оди­ наковую пропускную способность, что крайне ужесточает требо­ вания к структуре СПД. Коммутация сообщений и пакетов позво^ляет передавать данные по линиям связи, с любой пропускной способностью. Во-вторых, представление данных пакетами создает наилуч­ шие условия для мультиплексирования потоков данных — разде­ ления времени работы канала для одновременной передачи не­ скольких потоков данных. На рис. 5.11 представлена временная диаграмма, иллюстрирующая принцип мультиплексирования по­ токов данных. На первых трех осях изображены подтоки данных (пакетов), генерируемых абонентами а ь а2, а3. Двойная нумера­ ция пакетов на рисунке означает номер абонента и номер пакета в потоке. Канал используется для обслуживания трех абонен­ тов—путем разделения во времени, т. е. поочередного предостав139
Рис. 5.11. Мультиплексирова­ ние потоков данных ления канала абонентам. Благодаря этому эффек­ тивно используются ли­ нии связи, соединяющие узлы связи и ЭВМ с СПД, и одна линия связи обес­ печивает одновременную работу многих взаимодействующих або­ нентов. Экономичность коммутации пакетов несколько снижается из-за размножения заголовков, сопровождающих каждый пакет, но эти потери окупаются за счет эффекта мультиплексирования сильно пульсирующих потоков данных, характерных для вычисли­ тельных сетей. В-третьих, малая длина пакетов позволяет выделять для про­ межуточного хранения передаваемых данных меньшую емкость памяти, чем требуется для сообщений. Кроме того, использование пакетов упрощает задачу управления потоками данных, поскольку для приема потока пакетов в узлах связи нужно резервировать меньшую память, чем для приема потока сообщений. В-четвертых, надежность передачи данных по линиям связи невелика. Типичная линия связи обеспечивает передачу данных с вероятностью искажений Ю -4 —Ю -6 ошибок на бит. Чем больше длина передаваемого сообщения, тем больше вероятность того, что оно будет искажено помехами. Пакеты, имея незначительную длину, в большей степени гарантированы от искажений, чем сооб­ щения. К тому же искажение исключается путем перезапроса данных. Пакеты значительно лучше согласуются с механизмом перезапросов, чем сообщения, и обеспечивают наилучшее исполь­ зование пропускной способности линий связи, работающих в ус­ ловиях помех. Эти обстоятельства привели к использованию коммутации па­ кетов в качестве основного способа организации каналов связи в СПД вычислительных сетей. Выбор длины пакетов производится исходя из размера сооб­ щений с учетом влияния длины пакетов на время доставки дан­ ных, пропускную способность линий связи, емкость памяти и за­ грузку ЭВМ. Наиболее широко используются пакеты длиной 1024 бит (128 байт). При такой длине все управляющие сообще­ ния и большинство сообщений, генерируемых в режиме диалого­ вой обработки, «вкладываются» в один пакет. Дейтаграммы и виртуальные каналы. В СПД с коммутацией пакетов используются два способа передачи данных между або­ нентами: дейтаграммный и виртуальный канал. Дейтаграммный способ — передача данных как отдельных, не связанных между собой пакетов. При этом пакеты, поступая в СПД, передаются ею как независимые объекты, в результате чего каждый пакет может следовать любым возможным маршру140
том и совокупность пакетов поступает к получателю в любом по­ рядке, т. е. пакет, отправленный первым, может прибыть в пункт назначения последним. При дейтаграммном способе не гаранти­ руется ни очередность поступления пакетов получателю, ни на­ дежность доставки пакетов. Передача дейтаграммным способом напоминает работу почты, когда информация пересылается как совокупность почтовых отправлений, например, пачками писем. Виртуальный канал — передача данных в виде последователь­ ностей связанных в цепочки пакетов. Основное свойство вирту­ ального канала — сохранение порядка поступления пакетов. Это означает, что отсутствие одного пакета в пункте назначения ис­ ключает возможность поступления всех последующих пакетов. Организация виртуального канала между двумя процессами рав­ носильна выделению им дуплексного канала связи, по которому данные передаются в их естественной последовательности. Вир­ туальный канал сохраняет все вышеописанные преимущества ком­ мутации пакетов в отношении скорости передачи и мультиплекси­ рования, но добавляет к ним еще одно — основное свойство ре­ ального канала — сохранять естественную последовательность данных. Дейтаграммный способ позволяет передавать данные без пред­ варительных процедур установления соединений. Виртуальный канал организуется с помощью специальных процедур установ­ ления соединения, аналогичных по цели набору номера абонента в системе телефонной связи. При этом в системе телефонной связи коммутируется соединение между абонентами, которое по окон­ чании разговора распадается на составные части, в дальнейшем используемые для установления других соединений. Таким же об­ разом создается виртуальный канал, который после организации используется для передачи данных между абонентами — процес­ сами, обеспечивая связь в двух направлениях. По окончании се­ анса связи канал ликвидируется и используемые им ресурсы воз­ вращаются для установления новых виртуальных соединений. Характеристики дейтаграммного способа передачи данных и способа, основанного на использовании виртуального канала, приведены в табл. 5.1. Вероятность потери пакетов при доставке дейтаграмм примерно 10~4. Поскольку передача данных через виртуальный канал требует слежения за номерами пакетов и про­ хождения пакетов в строгом порядке, сложность алгоритмов уп­ равления в узлах связи, реализуемых коммутационными ЭВМ, возрастает по сравнению с дейтаграммным способом передачи пакетов. Но в то же время функция сборки сообщений из от­ дельных пакетов, передаваемых в форме дейтаграмм, возлагается на транспортный уровень управления главных и терминальных ЭВМ, в результате чего сложность транспортных средств возра­ стает по сравнению с транспортировкой данных в СПД по вирту­ альному каналу. Передача данных через виртуальный канал обходится дороже, чем дейтаграммным способом. Однако большое число пользова141
Таблица 5.1. Характеристики способов передачи данных Способ Передава­ емый объект Дейтаграмм- Отдельные ный пакеты Виртуаль­ ный канал Цепочки пакетов Порядок передачи Случайный Последова­ тельный Способ защиты сети от перепол­ нения пакетами Выбрасы­ вание пакетов Запрет на передачу Управ­ ление в тран­ спортных узлах (главных и терми­ нальных ЭВМ) Надеж­ ность доставки Управ­ ление в узлах связи <1 Простое Слож­ ное 1 Слож­ ное Простое телей вычислительных сетей считают необходимым сохранение последовательности пакетов для упрощения прикладных про­ грамм. Поэтому виртуальные каналы рассматриваются как эф­ фективное средство при распределенной обработке данных и спо­ соб передачи данных на основе виртуального канала реализуется в подавляющем большинстве вычислительных сетей. Дейтаграммный способ позволяет эффективно реализовать об­ мен сообщениями между пользователями — электронную «почто­ вую службу». Кроме того, при значительном числе процессов обработки данных можно обмен данными представлять в виде однопакетных сообщений, передача которых дейтаграммным спосо­ бом снижает расходы на передачу данных и оказывается эффек­ тивной в ряде применений. Поэтому дейтаграммный способ пе­ редачи данных также применяется в вычислительных сетях. Реа­ лизация дейтаграммного способа в дополнение к виртуальным каналам лишь незначительно увеличивает сложность вычислитель­ ной сети. Поэтому во многих сетях передача данных организуется на основе и виртуального канала и дейтаграмм. Базовые средства передачи данных. К моменту создания вы­ числительных сетей наибольшее распространение получили сле­ дующие средства связи общего пользования: 1) телефонные сети, включающие в себя автоматические телефонные станции, або­ нентские и соединительные линии, узловые и междугородные те­ лефонные станции; 2) телеграфные сети, включающие в себя центры коммутации каналов и сообщений, абонентские и соедини­ тельные линии и др.; 3) интегрированные системы связи — широ­ кополосные линии связи для телефонирования, телеграфирования, передачи изображений и телевизионных программ и т. д. Средства связи общего пользования отличаются готовностью к использова­ нию (совместно со средствами обработки данных), большой про­ тяженностью и низкой стоимостью аренды. Однако им присущи следующие недостатки. Во-первых, невысокое качество связи в те142
лефонных и телеграфных сетях, а именно: высокий уровень помех в линиях и коммутационной аппаратуре и негарантированное^ времени доставки сообщений из-за влияния многих абонентов на процесс передачи данных. Во-вторых, специфика вычислительных сетей требует специальных видов услуг для передачи, которые не обеспечиваются средствами связи общего пользования. Эти недостатки систем связи общего пользования обусловили необходимость создания специализированных СПД для обслужи­ вания вычислительных сетей. Базовые СПД и средства передачи данных в терминальных сетях строятся на основе выделенных ли­ ний связи и специальных средств коммутации — узлов связи на основе ЭВМ, концентраторов и удаленных мультиплексоров. За счет этого обеспечивается высокое качество каналов связи и реа­ лизация всех способов передачи данных, необходимых для эф­ фективного функционирования вычислительных сетей. Средства связи общего пользования, в первую очередь автоматические те­ лефонные станции, применяются в основном в терминальных сетях для подключения абонентов к ЭВМ и узлам связи базовых СПД. В настоящее время интенсивно разрабатываются интегриро­ ванные системы связи, предназначенные для телефонных разго­ воров, телеграфирования, передачи изображений и телевизионных программ, а также передачи данных. В интегрированных сетях аналоговые сигналы, в частности речь, передаются в цифровой форме — в виде последовательностей байтов. Интегрированные сети реализуют все виды услуг, необходимых в сфере обработки данных, и высокое качество передачи данных, поэтому рассмат­ риваются в качестве основы для создания вычислительных сетей будущего. 5.4. АДРЕСАЦИЯ, МАРШРУТИЗАЦИЯ ПАКЕТОВ И УПРАВЛЕНИЕ ПОТОКАМИ ДАННЫХ Для организации связи между процессами необходима обще­ сетевая система адресации, устанавливающая порядок именова­ ния отправителей и получателей данных — абонентов базовой СПД, а также соединений в вычислительной сети. Организуя связь между абонентами, СПД должна по адресу получателя, указан­ ному в заголовке пакета, определять путь передачи пакета — маршрут. Эта функция реализуется алгоритмами маршрутизации, под управлением которых работают узлы связи СПД. Кроме того, в СПД должен использоваться механизм управления сетью, обес­ печивающий на низших уровнях согласование скорости передачи пакетов с пропускной способностью каналов и скоростью приема, а на высшем уровне — согласование нагрузки с пропускной спо­ собностью СПД. Система адресации, алгоритмы маршрутизации и управления СПД и вычислительной сетью в целом определяют организацию процессов передачи данных и являются частью про­ токолов информационного канала, сетевого и транспортного уровней, 143
Способы адресации. Передача данных в вычислительных сетях обеспечивается соответствующими процедурами, основные пара­ метры которых — имена объектов, между которыми производится обмен данными (программы, пользователи, наборы данных, тер­ миналы и др.). Такими объектами в первую очередь являются процессы — прикладные и системные. В каждой из систем сети — главных и терминальных ЭВМ—может использоваться собствен­ ный способ именования объектов. Имена могут иметь фиксирован­ ную или переменную длину и обозначаться специальными симво­ лами, последовательностями цифр, буквенно-цифровыми иденти­ фикаторами и др. Имена, используемые в отдельной системе сети, называются локальными (логическими). Изменение наименований в работающих системах — задача трудновыполнимая, поскольку способ наименования вкладывается в прикладное и базовое про­ граммное обеспечение систем, а в отдельных частях — в техниче­ ские средства ЭВМ. Для вычислительной сети необходима единая схема присвое­ ния имен объектам, взаимодействующим с помощью общесетевых средств. Общесетевые (глобальные) имена используются в каче­ стве адресов получателей и источников данных; на основе адре­ сов реализуется транспортировка пакетов в СПД, выбор их маршрутов в СПД, доставка пакетов к процессам в системах — получателям данных и т. п. Общесетевая адресация может выпол­ няться с помощью различных схем построения и присвоения имен. Схемы эти базируются на следующих способах адресации: иерар­ хическом кодировании, распределении адресов и отображении ад­ ресов. Иерархическое кодирование — способ построения имен (адресов) объектов путем присоединения к локальным именам имен систем, которым принадлежит объект. Имя, порождаемое путем иерархического кодирования, имеет следую­ щий вид: А.В.. .С}Д, где А — имя системы, В — имя подсистемы в системе А и К — имя объекта в подсистеме (2, входящей в ранее указанную подсистему. По такому способу строятся почтовые адреса, состоящие из названия страны, города, почтового отделения, улицы, дома и т. д., междугородные телефонные номера, в которых к номеру абонента местной телефонной сети слева добав­ ляется телефонный номер города. Распределение адресов состоит в присвоении постоянных имен (адресов) лишь отдельным процессам, которые выдают разрешение на доступ к системе, выделяя для доступа временные адреса. Например, в сети может использо­ ваться четырехзначная адресация с помощью номеров от 0001 до 9999 вклю­ чительно. Каждой системе выделяется необходимое подмножество адресов: си­ стеме А— адреса от 0001 до 0999, системе В — от 1000 до 1099, системе С — от 1100 до 1299 и т. д. Для доступа к этим системам выделяются постоянные адреса, например 0001 для системы Л, 1000 для системы В, 1100 для системы С и т. д. Когда в системе А инициируется процесс X, ему присваивается обще­ сетевой адрес, например 0750. Процесс из системы А обращается к процессу с локальным именем У, реализуемому системой В, по адресу 1000. Система В с помощью процесса 1000 выделяет процессу У неиспользуемый адрес, напри­ мер 1021, и в дальнейшем взаимодействие процессов с локальными именами X и У протекает на основе общесетевых адресов 0750 и 1021 соответственно, с которыми оперирует базовая СПД. По окончании взаимодействия эти адреса становятся свободными и в дальнейшем присваиваются другим активным про­ цессам. 144
Рис. 5.12. Идентификация соединений Отображение адресов — присвоение каждому объекту общесетевого адреса. Адреса преобразуются (отображаются) каждой системой в локальные имена. Например, если производится обращение по адресу 256 207, то сеть соответст­ вующей процедурой направляет обращение в соответствующую систему, а по­ следняя преобразует адрес 256 207 в локальное имя У адресуемого объекта. Эффективность способа адресации связана в первую очередь с затратами средств и времени на обработку адресов — преобразование логических имен в физические адреса систем и общесетевых адресов в локальные адреса (имена). Иерархическое кодирование упрощает преобразование адресов, по­ скольку сетевые и локальные имена представляются в явной форме. Однако на практике иерархическое кодирование приводит к многообразию форматов имен, что затрудняет представление имен в протоколах доступа к сети и раз­ деление имен на сетевую и локальные части. Способ распределения адресов хорошо согласуется с логикой построения вычислительных систем, поскольку в типичных случаях системы имеют единственный логический вход, по кото­ рому поступают задания, подвергаемые в дальнейшем многообразным спосо­ бам обработки. Именно этот вход и идентифицируется постоянным адресом, а связь с остальными функциями системы обеспечивается присвоением объек­ там временных адресов. Однако, поскольку адреса динамически изменяются, возникают специфические проблемы защиты от ошибок при случайном освобож­ дении адресов. Способ отображения упрощает протоколы, поскольку адреса однозначно связаны с представляемыми ими объектами, но одновременно при­ водит к необходимости использования больших таблиц адресов. В существую­ щих сетях используются разнообразные способы адресации, которые согласу­ ются с конкретными принципами построения СПД, составом адресуемых объ­ ектов, их распределением по физическим системам и т. д. Основными адресуемыми объектами являются процессы и порты, через ко­ торые процессы обмениваются данными. Порты организуются средствами уп­ равления сеансами (уровень 5 на рис. 5.4 и 5.5), и передача данных между СПД и портами обеспечивается транспортной службой (уровень 4). Для функ­ ционирования сети необходимо идентифицировать соединения, установленные между процессами и их портами через СПД. Соединения идентифицируются парами адресов портов, например по схеме, изображенной на рис. 5.12. Здесь А — адрес процесса, ввод — вывод данных в котором производится че­ рез логическое устройство ввода — вывода а, рассматриваемое в качестве ис­ точника — приемника данных. Процесс идентифицируется адресом Л.а. Анало­ гично идентифицируется процесс В, принадлежащий другой системе. Связь между процессами описывается блоками связи, хранимыми в соответствующих системах. На этапе установления виртуального соединения средства сеансовой службы организуют порты с адресами с и а1 и сопрягают порты с точками а и Ь процессов А и В. Адреса портов запоминаются в блоках связи процессов; СПД обеспечивает передачу данных, которыми процессы обмениваются через порты с и й, в узлы т и /г, к которым подключены соответствующие системы. 145
Рис. 5.13. Структура международных ад­ ресов терминалов Средства транспортной службы (ТС) пе­ редают данные между СПД, т. е. узлами подключения пг и я, и портами с и й. В настоящее время отсутствуют подробные стандарты на способы адреса­ ции абонентов СПД и процессов и их портов, связанных с СПД транспортносеансовыми службами систем. Протоколы устанавливают, как правило, только длину полей, в пределах которых размещаются соответствующие адреса. Меж­ дународным консультативным комитетом по телеграфии и телефонии разрабо­ тана рекомендация Х.121 по международной системе нумерации для СПД об­ щего пользования. Терминалы идентифицируются международными номерами из 14 цифровых знаков, структура которых представлена на рис. 5.13. Знаки, следующие за кодом страны, определяют национальный номер терминала. В СПД с коммутацией пакетов терминалы обозначаются полным международ­ ным номером, национальным номером или номером в сети. Маршрутизация пакетов. Пакеты поступают в СПД, имея в своем заголовке адрес порта назначения. Узел связи СПД, в который поступил пакет, должен по адресу порта назначения определить маршрут передачи пакета — выходную линию связи, в которую нужно передать пакет. При передаче данных по вир­ туальному каналу маршрутизация выполняется единственный раз, когда устанавливается виртуальное соединение. При передаче данных в форме дейтаграмм маршрутизация выполняется для каждого отдельного пакета. Выбор маршрутов в узлах связи СПД производится по алго­ ритму маршрутизации — правилу назначения выходной линии связи на основе данных, содержащихся в заголовке пакета, и данных, представляющих состояние узла связи и, возможно, СПД в целом. Эффективность алгоритма маршрутизации характеризу­ ется следующими показателями: 1) временем доставки пакетов; 2) нагрузкой, создаваемой на сеть потоками пакетов, поступаю­ щими в сеть и распределяемыми по линиям и узлам связи; 3) за­ тратами ресурсов в узлах связи, в первую очередь — затратами памяти и времени процессора коммутационной ЭВМ. Первые два показателя — основные при оценке эффективности. Алгоритмы маршрутизации имеют целью обеспечить непрерывное продвиже­ ние пакетов от источников к адресатам. При этом алгоритм стре­ мится выбрать наиболее подходящее направление передачи па­ кета — с минимальным временем доставки или наиболее полным использованием пропускной способности СПД. Эффективность ал­ горитмов маршрутизации уменьшается в связи со следующими факторами: 1) передачей пакета в направлении, не. приводящем к минимальному времени доставки; 2) передачей пакета в узел связи, находящийся под высокой нагрузкой; 3) созданием допол­ нительной нагрузки на сеть за счет передачи служебной информа­ ции, необходимой для выполнения алгоритма маршрутизации. Задача маршрутизации решается в следующих условиях. Сеть передачи данных имеет произвольную ячеистую структуру. Крат- щ
Рис. 5.14. Классификация алгоритмов маршрутизации чайший маршрут, обеспечивающий доставку пакета за минималь­ ное время, зависит от двух основных факторов: 1) топологии СПД и пропускной способности линий связи; 2) нагрузки на ли­ нии связи, определяемой числом пакетов, стоящих в очереди на передачу в каждом узле связи. Топология сети изменяется в ре­ зультате отказов линий и узлов связи и отчасти при развитии СПД — введении новых линий и узлов связи. Пропускная способ­ ность линий связи зависит от уровня помех и параметров аппара­ туры, обслуживающей линии. Нагрузка на линии связи — наибо­ лее динамичный фактор, изменяющийся крайне быстро и в труд­ нопрогнозируемом направлении. Следовательно, чтобы решение задачи было оптимальным, необходимо каждому узлу представ­ лять информацию о состоянии СПД в целом — всех узлов и ли­ ний связи. Информация о текущей топологии сети и пропускной способности линий может быть представлена узлам. Однако не существует способа точно предсказать состояние нагрузки в сети. Поэтому алгоритмы маршрутизации могут использовать данные о состоянии нагрузки, запаздывающие по отношению к текущему моменту времени из-за конечной скорости передачи данных и не соответствующие последующим моментам времени, в которые бу­ дет принято решение о направлении передачи пакетов. Таким об­ разом, во всех случаях алгоритмы маршрутизации работают в ус­ ловиях неопределенности текущего и будущего состояния СПД и пульсирующей нагрузки, создаваемой абонентами. Классификация алгоритмов маршрутизации производится в за­ висимости от направленности передачи пакетов и способов пред­ ставления данных о топологии и нагрузке сети и представлена на рис. 5.14. Простая маршрутизация — способ маршрутизации, не изменяющийся при изменении топологии и состояния СПД. Простая маршрутизация обеспечива­ ется разными алгоритмами, типичными из которых являются алгоритмы слу­ чайной и лавинной маршрутизации. Случайная маршрутизация — передача пакета из узла в любом, случайным образом выбранном направлении, кроме направления, по которому пакет посту­ пил в узел. Пакет, совершая «блуждания» по сети, с конечной вероятностью когда-либо достигает адресата. Очевидно, что случайная маршрутизация 147
неэффективна ни по времени доставки пакетов, ни по использованию пропускной способности сети. Лавинная маршрутизация — передача пакета из узла во всех направлениях, кроме того, по которому поступил пакет. При этом, если узел связан с п дру­ гими узлами СПД, пакет передается в я—1 направлениях, т. е. размножается. Очевидно, что хотя бы одно направление обеспечит доставку пакета за мини­ мальное время, т. е. лавинная маршрутизация гарантирует малое время до­ ставки, однако это достигается за счет резкого ухудшения использования про­ пускной способности сети из-за загрузки ее большим числом пакетов. Маршрутизация по предыдущему опыту — передача пакета в направлении, выбираемом на основе анализа потока, проходя­ щего через узел. При этом пакеты, поступая в сеть, снабжаются адресами получателя и источника и счетчиком числа пройденных узлов. Пакет, который пришел в узел со значением счетчика 1, определяет соседний узел; пакет со значением счетчика 2 опре­ деляет узел, находящийся на расстоянии двух шагов, и т. д. Эти данные позволяют установить топологию сети и на ее основе по­ строить таблицу для выбора маршрута. Постоянно анализируя число пройденных узлов, можно изменять таблицу маршрутов, если появился пакет с числом пройденных узлов, меньшим ранее зарегистрированного. Этот способ маршрутизации позволяет уз­ лам приспосабливаться к изменению топологии сети, однако про­ цесс адаптации протекает медленно и неэффективно. Метод изу­ чения пути передачи пакетов используется для построения ряда модификаций алгоритмов простой маршрутизации. Простая маршрутизация, не обеспечивая направленной пере­ дачи пакетов от источников к адресатам, имеет низкую эффек­ тивность. Основное ее достоинство — обеспечение устойчивой ра­ боты СПД при выходе из строя различных частей сети. Фиксированная маршрутизация — способ выбора направления передачи по таблице маршрутизации, устанавливающей направле­ ние передачи для каждого узла назначения. Таблицы маршрути­ зации определяют кратчайшие пути от узлов к адресатам и вво­ дятся в узлы связи, например, от управляющего центра сети. Для слабозагруженных сетей этот способ маршрутизации дает хоро­ шие результаты, но его эффективность падает по мере увеличения нагрузки на сеть. При отказе линий связи необходимо менять таблицу маршрутизации. Для этого можно, например, размещать в каждом узле связи набор таблиц маршрутизации, подготовлен­ ных на случай отказа одной из линий связи. При возникновении отказа по узлам сети рассылается управляющий пакет, содержа­ щий сведения об отказе, реагируя на который, узлы меняют таб­ лицы маршрутизации путем выбора соответствующих таблиц из хранимого набора. Очевидно, что разработать способ фиксиро­ ванной маршрутизации, обеспечивающей работоспособность сети при отказе многих линий, является чрезвычайно трудной задачей. К тому же фиксированная маршрутизация не позволяет адаптиро­ ваться к изменениям нагрузки, что в общем случае приводит к зна­ чительным задержкам пакетов в СПД. Фиксированная маршрути­ зация может строиться на основе единственного пути передачи 148
пакетов между двумя абонентами. Такой способ называется однопутевой маршрутизацией. Его недостаток — неустойчивость к от­ казам и перегрузкам. Для повышения устойчивости в таблицах маршрутизация указывается несколько возможных путей пере­ дачи пакета и вводится правило выбора целесообразного пути. Та­ кой способ называется многопутевой маршрутизацией. Адаптивная маршрутизация — способ выбора направления пе­ редачи, учитывающий изменение состояния СПД. При адаптив­ ной маршрутизации узлы СПД принимают решение о выборе маршрутов, реагируя на разного рода данные об изменении то­ пологии и нагрузки. В идеальном случае каждый узел сети для принятия решения должен располагать полной информацией о те­ кущем состоянии всех остальных узлов, о топологии сети и длине очередей к каждому направлению в каждом узле. Однако, как показали исследования, даже в этом идеальном случае задержки в СПД лишь немногим меньше, чем при фиксированной маршру­ тизации, таблицы которой определяют кратчайшие пути в сети и не изменяются при колебаниях нагрузки. Дело в том, что оп­ тимальные маршруты, формируемые на основе самой свежей ин­ формации о распределении нагрузки в сети, становятся неопти­ мальными в последующие моменты времени, когда пакеты еще не достигли адресатов. Когда, например, сильнозагруженные узлы получают информацию о том, что некоторая часть сети загру­ жена слабо, они одновременно направляют пакеты в эту часть сети, создавая в сети, быть может, худшую ситуацию, чем пред­ шествующая. Таким образом, алгоритмы адаптивной маршрути­ зации не обеспечивают оптимальности маршрутов. Однако выбор даже не оптимального, а близкого к нему маршрута приводит к значительному уменьшению времени доставки, особенно при пиковых нагрузках, а также к некоторому увеличению пропускной способности сети. Поэтому адаптивная маршрутизация получила широкое применение в вычислительных сетях и в первую оче­ редь— в сетях с большим числом узлов связи (10 и более). Алгоритмы адаптивной маршрутизации классифицируются по информации, используемой ими для принятия решений при назна­ чении маршрутов. Локальная адаптивная маршрутизация основана на исполь­ зовании информации, имеющейся в отдельном узле СПД. Эта ин­ формация включает в себя: 1) таблицу маршрутизации, опреде­ ляющую все направления передачи пакетов; 2) данные о теку­ щем состоянии выходных каналов (работают или не работают); 3) длину очередей пакетов, ожидающих передачи по выходным каналам. Информация о состояниях других узлов сети не исполь­ зуется. Таблицы маршрутизации указывают кратчайшие марш­ руты, проходящие через минимальное число узлов и обеспечи­ вающие передачу пакета в узел назначения за минимальное время. Распределенная адаптивная маршрутизация основана на ис­ пользовании информации, получаемой от соседних узлов сети. Этот способ маршрутизации может реализоваться, например, 149
следующим образом. Каждый узел сети формирует таблицы марш­ рутов ко всем узлам назначения, минимизирующие задержки в сети, причем для каждого маршрута указывается фактическое время передачи пакета в узел назначения. До начала работы сети это время оценивается исходя из топологии сети. В процессе ра­ боты сети узлы регулярно обмениваются с соседними узлами таб­ лицами задержки. После обмена каждый узел пересчитывает за­ держки с учетом поступивших данных и длины очередей в самом узле. Полученные значения используются для выбора маршру­ тов: пакет ставится в очередь к маршруту, который характеризу­ ется минимальным временем доставки. Обмен таблицами за­ держки производится периодически или когда обнаруживаются существенные изменения задержки из-за изменения очередей на передачу или состояния линий связи в результате отказа. Естест­ венно, что периодический обмен таблицами задержки значительно увеличивает загрузку сети, а асинхронный — снижает. Однако в каждом случае загрузка остается весьма существенной и к тому же сведения об изменении состояния узлов медленно распростра­ няются по сети. Так, при обмене с интервалом 2/3 с время пере­ дачи данных составляет несколько секунд, и в этот период узлы направляют пакеты по старым путям, что может создать пере­ грузку в районе вышедших из строя компонентов сети. Централизованная адаптивная маршрутизация основана на использовании информации, получаемой от центра маршрутизации. При этом каждый узел сети формирует сообщения о своем состоянии — длине очередей, работоспособ­ ности линий связи и эти сообщения передаются в центр маршрутизации. По­ следний на основе полученных данных формирует таблицы маршрутизации, рассылаемые всем узлам сети. Неизбежные временные задержки при передаче данных в центр маршрутизации, формировании и рассылке таблиц приводят к потере эффективности централизованной маршрутизации, особенно в ситуа­ циях, когда нагрузка сильно пульсирует. Поэтому централизованная маршрути­ зация по эффективности не превосходит локальную адаптивную, а кроме того, отличается специфичным недостатком — потерей управления сетью при отказе центра маршрутизации. Гибридная адаптивная маршрутизация основана на использовании таблиц, периодически рассылаемых центром маршрутизации, в сочетании с анализом длины очередей в узлах. Если таблица маршрутизации, сформированная для узла связи центром, определяет единственное направление передачи пакета, то пакет передается именно в этом направлении. Если же таблица определяет не­ сколько направлений, то узел выбирает направление в зависимости от текущих значений длины очередей — по алгоритму локальной адаптивной маршрутиза­ ции. Гибридная маршрутизация компенсирует недостатки централизованной и локальной: маршруты, формируемые центром, являются устаревшими, но соот­ ветствуют глобальному состоянию сети; локальные алгоритмы являются «бли­ зорукими», но обеспечивают своевременность решений. Управление потоками. Интенсивность передачи пакетов источ­ ником должна быть согласована с интенсивностью обработки па­ кетов получателем. Если интенсивность передачи превышает ин­ тенсивность обработки, пакеты будут накапливаться в сети, что сначала приведет к снижению пропускной способности сети, а в конце концов — к блокировке участка сети и сети в целом из-за переполнения буферной памяти, используемой в узлах для промежуточного хранения пакетов. Эту ситуацию можно исклю150
Рис. 5.15. Уровни управления потоками чить, если не допускать передачи пакетов с интенсивностью, пре­ вышающей интенсивность обработки. Согласование обеспечива­ ется за счет управления потоком пакетов между источником и получателем. Управление потоками в вычислительной сети производится на нескольких уровнях (рис. 5.15) и реализуется соответствующими протоколами. Основные функции управления потоками реализует протокол управления каналом — важнейшим элементом тракта, связывающего процессы в главных и терминальных ЭВМ. Кор­ ректность потоков в каждом из каналов, составляющих тракт, обеспечивает корректное функционирование всего тракта про­ цесс— процесс. Однако специфика функционирования узлов, СПД и ЭВМ порождает необходимость в особых элементах управле­ ния потоками на уровнях более высоких, чем канал. Управление потоком основывается на механизме квитанций — сообщений, подтверждающих прием пакетов адресатом. Для уп­ равления используются различные способы квитирования, реа­ лизуемые протоколами соответствующих уровней. Управление потоками в канале, т. е. между двумя узлами СПД, должно обеспечивать эффективное использование пропускной спо­ собности канала и предотвращать переполнение буферов, при­ водящее к блокировке передачи пакетов в канале. Основной принцип управления состоит в следующем. Передаваемый пакет сохраняется в памяти передающего узла, ожидая прихода квитан­ ции о правильном приеме пакета узлом-получателем. По прибы­ тии квитанции пакет уничтожается и дальнейшая его передача обеспечивается узлом-получателем. Если пакет в процессе пере­ дачи по каналу был искажен помехами, передача должна быть повторена одним из двух способов: посылкой в узел-источник сиг­ нала перезапроса пакета (отрицательной квитанции) или с по­ мощью механизма тайм-аута. Тайм-аут—промежуток времени, от­ водимый для получения сигнала, подтверждающего выполнение соответствующего действия. Если в течение тайм-аута подтверж­ дение в узел-источник не поступило, пакет передается вновь. Способ повторной передачи пакетов на основе тайм-аута явля­ ется наиболее удобным и надежным по следующей причине. 151
Положительные квитанции (подтверждения) и отрицательные кви­ танции (перезапросы) могут быть потеряны (искажены) в канале, и, следовательно, работоспособность информационного канала, для управления которым используется механизм отрицательных квитанций, должна поддерживаться механизмом тайм-аута. Ис­ пользование тайм-аута приводит к следующему нежелательному явлению: если квитанция-подтверждение потеряна в канале или поступила слишком поздно, узел-источник по истечении тайм-аута повторно передает пакет, в результате чего в узле-получателе об­ разуется копия пакета. Это явление исключается за счет введения в пакеты переменного бита, значение которого устанавливается для последовательно передаваемых пакетов в 0, 1,0, 1,0,... При­ нимающий узел контролирует значения переменного бита: чере­ дующиеся значения свидетельствуют о корректном процессе пере­ дачи; появление подряд значений 0 или 1 свидетельствует о том, что новый пакет — копия ранее принятого. В рассматриваемом протоколе передачи пакетов по каналу предполагалось, что следующий пакет передается только после подтверждения о приеме предыдущего. В таком случае пропуск­ ная способность канала используется лишь частично и потери ее возрастают с увеличением скорости передачи и протяженности ка­ нала. Во избежание этого используется многопакетный протокол передачи, допускающий передачу совокупности пакетов, прежде чем придет квитанция, подтверждающая прием первого из них. Чтобы соотносить пакеты и квитанции, последовательность пере­ даваемых пакетов должна быть пронумерована: первому пакету присваивается номер 0, второму — 1 и т. д. Предельное число па­ кетов, передаваемых до получения квитанции, называется шири­ ной окна. Перед началом передачи в узле-источнике и узле-получателе должны быть установлены одинаковые начальные номера 0. В ре­ зультате этого первый передаваемый и первый принимаемый па­ кеты будут иметь номера 0. В момент времени I порядковый номер передаваемого пакета будет равен Л^, а номер пакета, ожидаемого в узле-получателе, — Ыг. В начальный период времени узел пере­ дает пакеты с номерами 0<Л/^<№, где №— ширина окна. Узелполучатель все прибывающие пакеты проверяет на наличие оши­ бок, и искаженные пакеты считаются потерянными. Если поступил пакет с номером Ы=ЫГ, то он будет принят в правильной последо­ вательности, о чем посылается квитанция, содержащая номер N. Если Ы>ЫГ, то принятый пакет опережает правильную последова­ тельность и, следовательно, предшествующий пакет утерян. В этом случае квитанция о приеме пакета N не высылается. Если Ы<ЫГ, то пакет N является копией предыдущего пакета, повторная пере­ дача которого произошла из-за потери квитанции. Поэтому узелполучатель посылает квитанцию, подтверждающую прием пакета Ы, а принятая копия пакета уничтожается. Узел-источник реагирует на квитанции следующим образом. При поступлении очередной квитанции с номером пакета N соот152
ветствующий пакет уничтожается и передается очередной пакет Л^ = №. Так, при подтверждении приема пакета 0 передается пакет N1=4?, при подтверждении пакета 1—пакет Ы< = №+1 и т. д. С учетом порядка работы узла-получателя получение подтверж­ дения о приеме пакета с номером Ы, большим номера предыду­ щего подтвержденного пакета, свидетельствует о приеме всей по­ следовательности пакетов до N включительно. Копии этих пакетов уничтожаются. Для каждой хранимой в узле-источнике копии па­ кета назначается тайм-аут. Если он истекает до получения квитан­ ции, пакет повторно направляется получателю и за ним направля­ ются все пакеты с последующими номерами, поскольку узел-полу­ чатель игнорирует пакеты, поступившие вслед за потерянным. Этот порядок передачи пакетов гарантирует прием пакетов в той последовательности, в которой они передавались узлом-источни­ ком. Недостаток описанного протокола — повторная передача пра­ вильно принятых пакетов, снижающая реальную пропускную спо­ собность канала. Для кодирования номеров пакетов отводится конечное число б,итов к и нумерация производится циклически: 0, 1 , . . . , 2к—1, О, 1 , . . . , 2к—1,... Ширина окна № определяет число пакетов, копии которых сохраняются после передачи в узле-источнике, и одновре­ менно число буферов, используемых в узле для хранения пакетов. Чем больше значение У/, тем эффективнее используется пропуск­ ная способность канала, но это достигается за счет увеличения в узлах емкости памяти, обеспечивающей работу канала. Ширина окна должна быть тем больше, чем больше пропускная способ­ ность и протяженность канала. Механизм квитанции используется для выполнения еще одной функции — защиты узлов от перегрузок, возникающих, когда бу­ ферная память оказывается целиком заполненной пакетами. Для исключения перегрузок узел приостанавливает выдачу квитанций, в результате чего прекращается прием пакетов по входящим в узел направлениям. Управление потоком в сети (см. рис. 5.15) — между источником и адресатом — производится таким же способом, как и управление потоком в канале, однако должно обеспечить, во-первых, устране­ ние ошибок, вносимых в узлах связи, поскольку протоколы управ­ ления каналом их не выявляют, и, во-вторых, защиту от перегру­ зок, возникающих, если узел-источник передает пакеты с интен­ сивностью, превышающей интенсивность обработки пакетов адресатом. С целью правильной доставки пакетов узел-источник хранит их копии до получения квитанций от узла-адресата. Из-за отказов или занятости ресурсов ЭВМ теряют способность прини­ мать адресованные им пакеты в течение какого-то времени. Если источник продолжает отправлять пакеты, то они накапливаются в сети и перегружают ее. В таких ситуациях узел-адресат должен уничтожать поступающие пакеты и не передавать квитанции об их получении, чем будет приостановлена передача пакетов узломисточником. 153
Управление потоком между ЭВМ и узлом СПД (см. рис. 5.15), когда к узлу подключена единственная ЭВМ, обеспечивается опи­ санными средствами управления каналом, который связывает ЭВМ с узлом. Если к узлу подключены несколько ЭВМ, для управления потоком требуются специальные методы. Обычно используется сле­ дующий. Для каждой ЭВМ выделяется определенное число буфе­ ров, в которых размещаются пакеты, поступающие в узел. Кроме того, ЭВМ присваиваются различные приоритеты на передачу па­ кетов. Приоритет определяется обычно шириной окна, отводимого в канале связи с ЭВМ: чем шире окно, тем выше приоритет ЭВМ на передачу в узел. Управление потоками на уровне ЭВМ—ЭВМ обеспечивается в основном протоколом управления каналом между ЭВМ и СПД и протоколом управления потоками в СПД. Для исключения пере­ полнения сети пакетами каждая ЭВМ, начиная диалог с другой ЭВМ, должна убедиться в готовности вызываемой ЭВМ к взаимо­ действию — приему пакетов. Такая проверка выполняется при ус­ тановлении виртуального канала и необходима при передаче дан­ ных в форме дейтаграмм. Управление потоком между процессами, реализуемыми в ЭВМ, заключается в проверке разрешения на доступ к вызываемому про­ цессу — программе, базе данных или терминалу. Рассмотренная система управления потоками, реализуемая про­ токолами соответствующих уровней, обеспечивает защиту переда­ ваемых данных от ошибок, передачу пакетов, упорядоченных в цепочки с помощью нумерации, и эффективное использование пропускной способности каналов и сети в целом. Кроме того, про­ цедуры проверки готовности адресатов — ЭВМ и процессов — к взаимодействию с источником вызова снижают нагрузку на СПД и отчасти способствуют защите узлов связи и СПД в целом от перегрузок. Защита от перегрузок. В СПД с коммутацией пакетов основ­ ные ресурсы для функционирования сети — это пропускная спо­ собность каналов и емкость буферной памяти в узлах связи. Про­ пускная способность каналов, число буферов и топология сети определяют предельную пропускную способность сети. Реальная пропускная способность сети не превышает предельной. С увели­ чением нагрузки на сеть пропускная способность увеличивается до предельного значения, но одновременно с этим возрастает время доставки пакетов. Как в любой транспортной системе, пропускная способность сети зависит от числа пакетов, находящихся в сети (рис. 5.16). С увеличением числа пакетов, передаваемых сетью, производительность сначала возрастает до максимального значе­ ния и затем начинает падать. Состояние сети, при котором из-за большого числа передаваемых пакетов резко ухудшаются харак­ теристики сети, называется перегрузкой. При числе пакетов М < Л Р в сети существуют условия для свободного продвижения пакетов к адресатам. При М>М* эти условия ухудшаются и в конце концов настолько, что сеть оказывается заблокированной 154
Рис. 5.16. Зависимость пропускной способности сети от числа передаваемых пакетов находящимися в ней пакетами и произ­ водительность сети падает до нуля. Блокировки в сети возникают из-за отсутствия свободных буферов в узлах связи. Если два узла А и В связаны между собой каналом и все буфера узла А заняты пакетами, которые должны быть переданы в узел В, а все буфера узла В — пакетами, предназначенными для узла Л, то возникает прямая блокировка: ни один пакет из узлов А и В не может быть передан в узел назначения. Косвенная блокировка возникает при кольцевой топологии сети, например когда узел А должен пере­ дать пакеты в узел В, узел В — в узел С, а узел С — в узел А. В этом случае для пакетов может не оказаться свободных буфе­ ров и передачи полностью блокируются. Исследования сетей с помощью моделирования показывают, что перегрузки возникают даже при незначительной нагрузке на сеть. Так, в сети, состоящей из 18 узлов с суммарным числом буферов около 400, максимальная производительность достигалась при на­ личии в сети 54 пакетов, т. е. 3 пакета на узел. При увеличении числа пакетов производительность сети начинает снижаться, и при 108 пакетах, т. е. 6 пакетах на один узел, возникает полная бло­ кировка передачи. Для исключения перегрузки сети необходимо не допускать чрезмерного по­ ступления пакетов в сеть. Пакеты должны ожидать своей очереди на передачу через сеть, находясь в памяти главных и терминальных ЭВМ. Наиболее про­ стой способ защиты от перегрузок — введение для узлов сети системы разре­ шений на ввод пакетов в сеть. При этом каждому узлу выделяется ограничен­ ное число разрешений, например пять, на передачу пакетов в сеть. Если узел вводит пакет в сеть, число разрешений уменьшается на единицу. Когда все разрешения исчерпаны, узел прекращает прием пакетов от ЭВМ-источника. Когда в узел поступает пакет, адресованный ЭВМ, обслуживаемой узлом, число разрешений увеличивается на единицу. Этот механизм исключает возможность переполнения сети пакетами. Поскольку потоки в узлах не сбалансиро­ ваны, число отправляемых пакетов в общем случае не совпадает с числом принимаемых), в одних узлах может оказаться избыток разрешений, а в дру­ гих — их дефицит. Поэтому узлы должны передавать избыточные разрешения другим узлам, например, с помощью специальных управляющих пакетов. Оптимальное число разрешений, предоставляемых узлу, определяется путем моделирования сети. При этом учитывается предельное допустимое число паке­ тов в сети, зависящее от топологии, числа буферов и пропускной способности каналов, а также задержка ввода пакетов в сеть и время доставки пакетов. Дополнительно к системе разрешений с целью улучшения условий функ­ ционирования вводятся приоритеты для транзитных пакетов. Транзитные па­ кеты передаются узлом в первую очередь, что приводит к разгрузке сети, а па­ кеты, поступающие в узлы от ЭВМ, передаются в сеть только в том случае, когда все транзитные пакеты переданы по соответствующим направлениям. При наличии системы, защищающей от перегрузок сеть в целом, могут возникнуть локальные перегрузки — в области, охватывающей несколько со­ седних узлов. В результате этого передача пакетов в области блокируется. Чтобы восстановить работоспособность сети, можно уничтожить заблокирован155
ные пакеты при условии, что ЭВМ-источник сохраняет копии пакетов до получения их ЭВМ-адресатом. В этом случае передача уничтоженных пакетов ЭВМ-источникам производится повторно по истечении тайм-аута. Однако та­ кой способ восстановления работы после перегрузки может привести к раз­ личным нежелательным последствиям. Так, могут быть уничтожены управляю­ щие пакеты, несущие квитанции, что потребует, повторной передачи правильно доставленных пакетов. Поскольку трудно предвидеть все возможные случаи, связанные с блокировками в сети, основные функции по ликвидации блокировок возлагаются на операторов, осуществляющих административное управление сетью. 5.5. ПРОТОКОЛЫ И ИНТЕРФЕЙСЫ УПРАВЛЕНИЯ КАНАЛАМИ И СЕТЬЮ ПЕРЕДАЧИ ДАННЫХ Базовая СПД, состоящая из узлов и каналов связи, создает возможность главным и терминальным ЭВМ устанавливать между собой информационные соединения. Эти возможности реализуются с помощью средств, образующих в семиуровневой модели (см. рис. 5.4, 5.5) три нижних уровня управления: / — физическим ка­ налом; 2 — информационным каналом; 3— сетью передачи дан­ ных. В рамках архитектуры открытых систем, рекомендованной Международной организацией по стандартизации (МОС), сред­ ства для взаимодействия пользователя с СПД определяются реко­ мендацией Х25, разработанной Международным консультативным комитетом по телефонии и телеграфии (МККТТ) и применяемой в качестве стандартного протокола управления сетью (уровень 3). Протокол Х25 базируется на средствах информационного канала, определяемых протоколом НОЬС *, который устанавливает в ос­ новном способ исключения искажения пакетов и их последователь­ ностей, передаваемых по физическому каналу, подверженному воз­ действию помех. Организация работы физических каналов регламентируется не­ сколькими стандартами МККТТ. Стандарт У24 определяет поря­ док передачи данных через выделенный телефонный (аналоговый) канал. Процедуры, определяемые стандартом У24, расширены стандартом Х21-бис на подключение абонентов через телефонный канал к цифровым сетям коммутации. Стандарт Х21-бис позво­ ляет устанавливать соединение через коммутируемые каналы для доступа к цифровым сетям. Порядок передачи данных через циф­ ровые каналы определяется стандартом Х21. Стандарт Х21 наи­ более широко используется в вычислительных сетях и рассматри­ вается в качестве интерфейса, определяющего порядок сопряже­ ния абонента с цифровым каналом передачи данных. Схема организации управления передачей данных в СПД изо­ бражена на рис. 5.17. На ней представлены две ЭВМ, сопряжение которых с остальными системами обеспечивается средствами уров­ ней 1—3, и два узла связи, в которых выделены средства управ­ ления передачей данных по сети. Управление каналами реалшу1 Н^Ыеуе1 Оа1а Ыпк Соп1го1 Ргоседиге — процедура высокоуровнего уп­ равления каналом передачи данных. 156
Рис. 5.17. Управление передачей данных ется, как правило, техническими средствами уровня /. Сопряже­ ние с техническими средствами определяется интерфейсом Х21. Взаимодействие уровней управления 2 и 3 с одноименными уров­ нями управления других систем обеспечивается протоколами НОЬС и Х25 соответственно. При этом протокол НОЬС можно рас­ сматривать как нижний уровень управления, реализуемого прото­ колом Х25. Интерфейс Х21. Интерфейс Х21 определяет сопряжение между оконечным оборудованием данных и аппаратурой передачи данных по синхронному (циф­ ровому) каналу передачи данных (рис. 5.18). В качестве ООД может высту­ пать устройство сопряжения главной, терминальной или коммутационной ЭВМ с АПД по линиям связи. Через устройство сопряжения производится ввод — вывод данных. Состав и функция линий интерфейса определяются стандартом Х24, их электрические характеристики — стандартами Х26 и Х27, а разъем — стандартом МОС 4903. Интерфейс состоит из восьми соединительных линий. Отдельную группу составляют следующие четыре линии: О и 6а — заземления, 5 — синхронизация элементов сигнала (моментов передачи битов) и В — синхронизации байтов. Последняя не является обязательной; Остальные четыре линии Г, /?, С и / предназначены для передачи данных и сигналов управления: Т — передачи би­ тов данных в АПД; /? — приема битов данных из АПД; С — управления АПД со стороны ООД; / — индикации установления соединения и прекращения связи. Взаимодействие через интерфейс Х21 сводится к трем основным процеду­ рам: установлению соединения по инициативе ООД или АПД; передаче данных; разъединению. Протокол канального уровня НОЬС. Этот протокол (рис. 5.17) обеспечивает передачу последовательности пакетов через физиче- Рис. 5.18. Интерфейс Х21 157
Рис. 5.19. Структура кадра 1-ШЬС окий канал, искажения в котором вызывают ошибки в передавае­ мых данных, потерю, дублирование пакетов и нарушения порядка прибытия пакетов к адресату. Протокол вводит совокупность средств, позволяющих организовать надежный канал передачи па­ кетов, вероятность искажения бита в котором не выше 10~8— Ю-9. ^Единица данных, передаваемая как целое через информацион­ ный канал, организуемый средствами управления уровня 2, на­ зывается кадром. Структура кадра, используемая протоколом НЭЬС, установлена стандартом МОС 3309 и представлена на рис. 5.19. Кадр рассматривается как последовательность байтов (октет), начало и конец которой отмечаются флагами — двоич­ ными кодами 01111110. Кадр несет в себе управляющую информа­ цию, данные и циклический код, используемый для контроля пере­ даваемой информации. Процедуры уровня 2 обеспечивают прозрачность канала за счет бит-стаффинга (см. § 5.2). При передаче данных формиру­ ется циклический код, который включается в кадр. При приеме кадра вновь вычисляется контрольный циклический код. Если кон­ трольный циклический код имеет требуемое значение, принятый кадр считается корректным. В противном случае фиксируется ис­ кажение принятого кадра. При искажении флагов, разделяющих последовательно передаваемые кадры, два кадра сливаются в один искаженный кадр. Процедура формирования циклических кодов при передаче и приеме гарантирует обнаружение искажения этого типа. Для выполнения функций, возлагаемых на информационный канал, ис­ пользуются кадры 22 типов (табл. 5.2). Тип кадра указывается кодом в байте управления (см. рис. 5.19): информационный — значением 0 в бите 1; супервизорный — значениями битов 1—4; ненумерованный — значениями битов 1—4 и 6—8. 158
Таблица 5.2. Типы кадров Наименование Тип 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Информационный Супервизорные Готовность к приему Неготовность к приему Отказ Селективный отказ Ненумерованные Установить режим нормальных ответов Установить расширенный режим нормальных ответов Установить режим асинхронных ответов Установить расширенный режим асинхронных ответов Установить сбалансированный асинхронный режим Установить сбалансированный асинхронный расширенный режим Разъединить Установить режим инициализации Запрос режима инициализации Запрос передачи Сброс Информационный Обмен идентификаторами Подтверждение Режим без разъединения Запрос разъединения Отказ от кадра Примечание. Функция к/о К/О К/О К/О К/О К К К к к к к к О к к к/о К/О О О 0 к/о К — команда; О — ответ; К/О — команда или ответ. В байте управления информационного кадра указываются номера УУ(5) = = 0, 1, ..., 7 и М(#)=0, 1, ..., 7 передаваемого и принимаемого кадров; в супервизорных кадрах указывается только номер М(#) принимаемого кадра. Бит 5 поля управления называется битом запроса в командах и битом окончания в ответах. Когда станция получает команду с битом запроса Р = 1 , она обя­ зана сформировать ответ с битом окончания / 7 = 1 . Информационные кадры слу­ жат для передачи пакетов, представляемых в поле данных. Супервизорные кадры используются для восстановления кадров, потерянных из-за искажения информации в канале, а также для управления потоками кадров. Ненумерован­ ные кадры предназначены для установления соединений и разъединения, за­ вершения соответствующих режимов передачи пакетов и для передачи инфор­ мации о результатах выполнения этих действий. Используются два режима нумерации кадров: нормальный — с нумерацией кадров по модулю 8 и расширенный — с нумерацией кадров по модулю 128. В первом режиме номера кадров принимают значения 0, 1, ..., 7 и представ­ ляются в полях # ( 5 ) и N(1%) байта управления (рис. 5.19). Во втором ре­ жиме поле управления кадра состоит из двух байт и номера кадров могут принимать значения от 0 до 127. Расширенная нумерация применяется в про­ тяженных каналах связи, в которых может находиться большое число переда­ ваемых кадров. Передача данных организуется следующим образом. Первичная станция устанавливает режим работы канала посылкой команды «Установить ре­ жим...»—кадра типа 6—11, содержащего адрес вторичной станции. После посылки кадра станция запускает тайм-аут, по истечении которого команда бу­ дет повторена, если не поступит ответ от вторичной станции. Вторичная стан­ ция при неготовности к работе отвечает кадром «Режим разъединения» либо посылает ответ о готовности «Подтверждение». При установке режима номера 159
передаваемого и принимаемого кадров N(5) и N(1%) обеих станций полагаются равными нулю. Прием кадра «Подтверждение» завершает процедуру установки режима и инициализации канала. Вторичная станция передает данные в виде информационных кадров. Пере­ даваемые кадры снабжаются порядковыми номерами N(5), последовательно увеличиваемыми на единицу. Копии кадров сохраняются во вторичной станции до получения подтверждения в приеме кадров. При нормальном режиме нуме­ рации без подтверждений могут быть переданы не более 7 кадров. Первич­ ная станция проверяет корректность принятых кадров по циклическому коду и сравнивает номер принятого кадра N(5) с ожидаемым. Если кадр не иска­ жен и последовательность кадров не нарушена, он поступает на следующий, третий уровень обработки, номер ожидаемого кадра увеличивается на единицу и выдается команда «Готовность к приему», содержащая номер М(/?) сле­ дующего ожидаемого кадра. Эта команда воспринимается вторичной станцией как подтверждение в приеме информационных кадров с номерами до М(/?). Поток кадров может быть приостановлен первичной станцией путем передачи кадра «Неготовность к приему». Передача может быть продолжена посылкой кадра «Готовность к приему». Протокол НОЬС обеспечивает четыре способа восстановления информационных кадров. Основной способ — использование таймаута. Когда супервизорные кадры подтверждают прием информа­ ционных кадров, таймер перезапускается на величину тайм-аута. Номер N(1^), полученный вторичной станцией, подтверждает прием всех кадров с номерами, меньшими N(7?). Если тайм-аут за­ кончился, то вторичная станция начинает повторную передачу кад­ ров, прием которых неподтвержден. Для повышения эффективно­ сти использования канала предусмотрена посылка отрицательных квитанций — супервизорных кадров «Отказ» и «Селективный от­ каз». Если принятый кадр искажен из-за ошибки, обнаруженной с помощью циклического суммирования, первичная станция, не дожидаясь окончания тайм-аута, посылает отрицательную квитан­ цию «Отказ», содержащую номер ожидаемого кадра N(1?), и ждет поступления информационного кадра с этим номером. При этом все поступающие кадры с большими номерами игнорируются при­ нимающей станцией. Эффективность использования канала еще более повышается за счет селективной браковки. В этом случае станция, ожидающая кадр N(7?) и получившая кадр Л?(7?) + 1, принимает его и последующие кадры, извещая передающую стан­ цию супервизорным кадром «Селективный отказ» о потере кадра N(1?). В ответ на команду «Селективный отказ» передающая стан­ ция повторно передает потерянный кадр. Отрицательные квитан­ ции «Отказ» и «Селективный отказ» не исключают необходимость в тайм-ауте, поскольку квитанции могут быть потеряны в канале. Четвертый способ восстановления кадров, основанный на исполь­ зовании бита запроса — окончания Р/Р, здесь не рассматривается. Для разъединения связи между станциями используется команда «Разъединить», подтверждаемая ответом «Подтверж­ дение». Кроме описанных кадров, протокол НОЬС использует следующие ненуме­ рованные кадры. Кадр «Ненумерованный информационный» используется для передачи данных, защищаемых только циклическим кодом и не восстанавли­ ваемых при потере кадра. Кадры этого типа применяются, например, при пере­ даче изображений, когда потеря кадра, несущего в себе строку изображения, 160
не оказывает существенного влияния на конечный результат. Кадр «Устано­ вить режим инициализации» обеспечивает повторную инициализацию канала, произведенную ранее командой «Установить режим...». В отличие от последней кадр «Установить режим инициализации» запускает специальные процедуры, реализованные в конкретных вариантах станций. Кадр «Запрос режима ини­ циализации» посылается вторичной станцией для запроса от первичной станции команды «Установить режим инициализации». Команда и ответ «Обмен иден­ тификаторами» используется для обмена между станциями информацией о реа­ лизованных в них технических возможностях. Команда «Сброс» используется для повторной инициализации передачи потока данных. Вторичная станция за­ прашивает разрешение на разъединение с помощью кадра «Запрос разъедине­ ния». Реагируя на этот кадр, первичная станция ликвидирует соединение в уста­ новленном порядке. Станция, находящаяся в режиме разъединения, не может устанавливать соединение, передавать и принимать информацию и отвечает на поступающие команды кадром «Режим разъединения». В сетях передачи данных могут использоваться иные протоколы информа­ ционного канала, отличающиеся структурой кадра и составом процедур управ­ ления взаимодействием станций и передачей данных. Для разделения данных на кадры используются различные схемы. В процедуре НЭЬС кадр выделяется флагами 01111110, отмечающими начало и конец кадра. Эта схема построения кадра предполагает использование бит-стаффинга для обеспечения прозрачно­ сти канала. Другая схема построения кадра — указание в заголовке кадра длины поля данных. В этом случае приемник воспринимает п байтов, следую­ щих за заголовком, как данные, вложенные в кадр. В протоколе двоичной син­ хронной связи В5С кадр формируется парами специальных знаков начала и окончания кадра. При передаче данных станция анализирует последовательность символов и, если встречается пара символов, тождественных окончанию кадра, разделяет эти символы, вставляя между ними первый из них. При приеме кадра выполняется обратное преобразование данных. Протокол Х25. Этот протокол определяет процедуры сетевого уровня управления передачей пакетов (см. рис. 5.17), обеспечи­ вающие организацию виртуальных каналов между абонентами и передачу по каналам последовательностей пакетов. Управление потоками пакетов организуется с помощью специальной проце­ дуры, называемой окном. Для восстановления работоспособности виртуального канала используются средства сброса и повторного старта передачи пакетов. Протокол Х25 позволяет организовать взаимодействие между сетевыми службами систем через совокупность логических кана­ лов. Максимальное допустимое число каналов определяется дли­ ной номера канала и составляет 15 групп по 255 каналов в каж­ дой. Логический канал идентифицируется 12-битовым номером, 4 разряда которого представляют номер группы и 8 разрядов — номер канала в группе. Диапазон логических каналов, используе­ мых системами сети, определяется администрацией сети. Логиче­ ские каналы используются для организации постоянных виртуаль­ ных каналов и временных, коммутируемых виртуальных каналов— виртуальных соединений. На рис. 5.20 приведен пример организации логических каналов в вычислительной сети, состоящей из трех главных и терминаль­ ных ЭВМ — систем А, В и С — и двух узлов связи. Пять этих си­ стем объединены в сеть пятью информационными каналами, каж­ дый из которых состоит из физического канала и средств управ­ ления физическим и информационным каналом (уровни / и 2). На 161
Рис. 5.20. Логические каналы основе информационных каналов созданы логические каналы (а ь 2), (#2, Ь\)9 (Ь2у С\), связывающие между собой процессы а,и а>2, Ьи Ь2 и си с2, реализуемые в системах А, В и С соответственно. При этом информационный канал может использоваться для орга­ низации нескольких логических каналов — постоянных виртуаль­ ных каналов или виртуальных соединений. Виртуальные каналы создаются для передачи пакетов и разъ­ единяются в соответствии с процедурами, определенными прото­ колом Х25. Указанные и дополнительные процедуры реализуются с использованием пакетов, перечисленных в табл. 5.3. Пакеты с 162
Рис. 5.21. Установление соединения, передача данных и разъединение имеют различные форматы, определяющие порядок разме­ щения информации в последо­ вательности байтов, образую­ щих пакет. Виртуальное соединение между двумя абонентами-про­ цессами в главных и терми­ нальных ЭВМ организуется следующим образом (рис. 5.21). Вызывающий абонент передает в сеть по свободному логическому каналу пакет «Запрос соединения», содер­ жащий адрес вызываемого абонента. Вызываемый або­ нент может не принять запрос на соединение. В этом случае он передает пакет «Запрос разъединения», в котором в ка­ честве причины разъединения может быть указано «Номер занят». После этого вызывае­ мый абонент не может использовать логический канал для полу­ чения пакета «Подтверждение разъединения». Если сеть не может установить соединение с вызываемым абонентом, вызывающему абоненту посылается пакет «Указание разъединения», содержащий причину разъединения: нереализуемый вызов, номер занят, нераз­ решенный вызов, перегрузка сети и т. д. Если вызываемый абонент принимает запрос на соединение, он передает пакет «Согласие на соединение», после чего сеть посылает вызывающему абоненту па­ кет «Подтверждение соединения». Этим заканчивается фаза уста­ новления соединения между абонентами. Начиная устанавливать соединение, вызывающий абонент запускает таймер. Если в тече­ ние тайм-аута не поступил пакет «Подтверждение соединения», абонент передает пакет «Запрос разъединения», после чего проце­ дура установления соединения может повторяться. После установления соединения начинается фаза передачи па­ кетов данных. Протокол Х25 допускает использование следующих максимальных значений длины поля данных: 16, 32, 64, 128, 256, 512 и 1024 байт. Предпочтительной является длина 128 байт. Для ликвидации и сброса всех постоянных и временных вир­ туальных соединений, установленных с абонентом, используется процедура рестарта, инициируемая абонентом с помощью пакета «Запрос рестарта» и сетью с помощью пакета «Указание ре­ старта». При этом ликвидируются соединения, относящиеся ко всем
логическим каналам абонента, и стираются все пакеты, переда­ ваемые через эти соединения. Для восстановления потерянных па­ кетов используются средства более высокого уровня иерархии. Для передачи срочных данных используются ненумеруемые пакеты «Прерывание от сети» и «Прерывание от абонента», несу­ щие в себе один байт данных о причине прерывания. Эти пакеты доставляются получателю независимо от состояния передачи ну­ мерованных пакетов — даже тогда, когда пакеты данных не при­ нимаются. Получение этих пакетов подтверждается соответствую­ щими пакетами-квитанциями. При использовании однонаправлен­ ных логических каналов абонент может запросить повторную передачу пакета с помощью пакета «Отказ», несущего в себе номер пакета N(7?), начиная с которого нужно провести повторную передачу. По окончании передачи постоянные виртуальные каналы за­ крываются и происходит разъединение в порядке, определенном на рис. 5.21. Затраты ресурсов, стоимость сетевого обслуживания. Организация вир­ туальных каналов между абонентами, соединений между узлами сети и пере­ дачи данных обеспечивается за счет ресурсов коммутационных ЭВМ, входящих в состав узлов связи, и ЭВМ, выполняющих процедуры управления передачей данных на канальном, сетевом, транспортном и сеансовом уровнях (уровнях 2—5). Основные ресурсы для передачи данных — это емкость памяти, исполь­ зуемой для организации буферов, в которых хранятся пакеты данных, и про­ цессор, реализующий процедуры передачи кадров, пакетов, обработки цепочек пакетов и установления соединения. Емкость памяти и быстродействие процес­ сора зависят от интенсивности потоков, обслуживаемых главной или терми­ нальной ЭВМ и узлами связи. Потребная емкость памяти узла определяется максимальным числом обслуживаемых каналов, размерами окон, выделяемых для управления потоками в каналах, и длиной пакетов, передаваемых в сети. Потребное быстродействие процессора зависит от сложности вычислений, по­ рождаемых процедурами уровней 2—5 управления передачей данных. Пред­ ставление о сложности вычислений дает табл. 5.4, в которой приведено ориен­ тировочное число процессорных операций, выполняемых при реализации соот­ ветствующих процедур. Оплата услуг при пользовании сетью передачи данных производится на основе следующих тарифов (в условных единицах): Плата за подключение: через телефонную сеть непосредственное Арендная плата за год: при подключении через телефонную сеть при непосредственном подключении и скорости передачи, бит/с: 300 1 200 2 400 4 800 9 600 48 000 Плата за пользование: 1 час виртуального соединения передача 1000 64-байтных сегментов 25 150 , 20 300 575 600 750 800 3000 6 4 Плата за виртуальное соединение и передачу данных значительно снижается в ночное время и выходные дни. 164
Таблица 5.4. Основные процедуры передачи данных Уровень управления 5 4 3 2 1 Процедура Установление соединения Обработка сообщения (це­ почки пакетов) Передача пакета Передача кадра Передача знака (байта) Число про­ цессорных операций 10 000 5000 500 100 2 5.6. ТРАНСПОРТНАЯ СЛУЖБА Взаимодействие процессов (программ и терминалов), проис­ ходящих в главных и терминальных ЭВМ, обеспечивается сетью передачи данных, которая включает в себя (рис. 5.22): базовую СПД, осуществляющую с помощью узлов связи маршрутизацию пакетов, и каналы связи и средства управления ими, подключаю­ щие ЭВМ к узлам связи. Сеть организует виртуальные каналы и соединения между ЭВМ, а также доставку пакетов. В отношении ЭВМ сеть является единой системой, реализующей фиксирован­ ный набор функций, определенные сетевым протоколом, например протоколом Х25. Эти функции, во-первых, по сравнению с возла­ гаемыми на вычислительную сеть функциями (удаленный ввод за­ даний, терминальный доступ к процессам, передача файлов и др.) и, во-вторых, недостаточны для надежного взаимодействия ЭВМ, поскольку не обеспечивают проверку доступности при организации взаимодействия процес­ сов, преобразование дан­ ных в пакеты, сохранение работоспособности вычис­ лительной сети при унич­ тожении пакетов из-за от­ казов оборудования и пе­ регрузок и т. д. По этим причинам в вычислительных сетях для взаимодействия про­ цессов и одновременно с этим взаимодействия ЭВМ с СПД создается транспортная служба, на­ значение которой — оргаРис. 5.22. Транспортная сеть А—Р — главные и терминаль­ ные ЭВМ; ТМ — транспорт­ ный модуль 165
Рис. 5.23. Транспортный интерфейс низация единого для всей вычислительной сети интерфейса между процессами. Транспортная служба устраняет разрыв между услу­ гами, необходимыми для эффективного функционирования процес­ сов и ЭВМ, и возможностями, реализованными в СПД. Транспорт­ ная служба — распределенная между многими ЭВМ система, со­ стоящая из транспортных модулей, связывающих ЭВМ с СПД. Транспортные модули реализуют функции уровня 4 — управление передачей данных между процессами через СПД. Формы пред­ ставления данных, передаваемых между взаимодействующими про­ цессами, и процедуры, реализуемые транспортной службой, опре­ деляются транспортным протоколом (протоколом передачи дан­ ных). Транспортная сеть (рис. 5.23) включает в себя транспортную службу и СПД, которые в совокупности обеспечивают единый спо­ соб взаимодействия всех процессов и ЭВМ, подключенных к сети. Транспортная сеть вводит транспортный интерфейс — правило вза­ имодействия процессов. Транспортный интерфейс базируется на общесетевой системе адресации процессов и портов и устанавли­ вает форму представления данных, передаваемых между процес­ сами, и набор процедур (функций) для организации соединений между процессами и обмена данными по установленным соедине­ ниям. Транспортный интерфейс определяется транспортным про­ токолом, в соответствии с которым строятся транспортные модули и организуется взаимодействие процессов в вычислительной сети. Транспортный протокол. Функция транспортного протокола двояка. С одной стороны, транспортный протокол определяет сред­ ства, необходимые для взаимодействия процессов, — транспорт­ ный интерфейс. С другой стороны, этот протокол организует соп­ ряжение процессов и, следовательно, ЭВМ с сетью, построенной по правилам, определяемым сетевым протоколом Х25. В этой части транспортный протокол в дополнение к средствам, представляе­ мым сетью, обеспечивает функционирование процессов при сбоях и отказах СПД, приводящих к потере пакетов и самопроизволь­ ному разъединению виртуальных каналов. В таких ситуациях транспортный протокол должен обеспечивать восстановление нор­ мального режима функционирования. Кроме того, данные между процессами передаются в форме сообщений, которые являются для процессов целостными объектами, не связываемыми с пакетным способом передачи данных. С учетом этого транспортный протокол 166
должен предусматривать расчленение сообщений, формируемых процессами, на пакеты и сборку из пакетов принимаемых сообще­ ний. Транспортный протокол, занимая более высокий уровень, чем сетевой протокол, избавляет процессы от необходимости ориенти­ роваться на специфику функционирования СПД. Наряду с этими функциями транспортный протокол должен предоставлять возмож­ ность вводить приоритеты для некоторых видов обслуживания, за­ секречивать передаваемые данные путем их шифрования и т. д. Основные функции транспортного протокола — создание соеди­ нений между портами процессов и передача сообщений через уста­ новленные соединения. Создание системы портов, необходимых для взаимодействия совокупности процессов, обеспечивающих решение прикладной задачи, является функцией управления сеансами (сес­ сиями), относящейся к уровню 5. В вычислительных сетях, функ­ ционирование которых не требует организации связи сложной кон­ фигурации между многими процессами, создание портов может быть возложено на транспортные модули, которые в этом случае реализуют функции и четвертого и пятого уровней управления про­ цессами обработки данных в ЭВМ. Структура сообщений. Данные между процессами передаются через транспортный интерфейс в форме сообщений — последова­ тельности байтов, ограничиваемой сверху достаточно большим значением, например 8 кбит. Сообщение идентифицируется адре­ сом порта местного процесса, передающего сообщение, адресом порта удаленного процесса, которому посылается сообщение, по­ рядковым номером сообщения в сеансе связи и характеризуется длиной в байтах. Эти сведения указываются в заголовке сообще­ ния, формируемом и обрабатываемом транспортными службами вычислительной сети. Средства управления передачей данных транспортного уровня расчленяют сообщения на пакеты, которые вводятся в СПД по­ следовательно и передаются по сети под управлением средств се­ тевого уровня. Принимая последовательность пакетов, удаленная транспортная служба собирает сообщения из полей данных, пере­ носимых в пакетах, и поставляет их в адресуемый порт в виде, совпадающем с видом отправленных сообщений. Процедуры транспортного интерфейса. Состав процедур, реализуемых транспортным протоколом для обеспечения транспортного интерфейса, пред­ ставлен в табл. 5.5. В отношении использования процедур оба взаимодействую­ щих процесса — местный и удаленный — равноправны, т. е. каждый из них мо­ жет инициировать установление соединения, передачу и прием сообщений, разъединение и т. д. Указанные процедуры реализуются транспортными моду­ лями систем — главных и терминальных ЭВМ и инициируются процессами с помощью операторов обращения к процедурам. Выполнение процедуры-опе­ ратора можно рассматривать как команду, интерпретируемую транспортной службой и исполняемую транспортной сетью. Когда удаленный процесс в каче­ стве реакции на команду инициирует соответствующую процедуру транспорт­ ного интерфейса, действие удаленного процесса, определяемое этой процеду­ рой, можно рассматривать как ответ. Команды и ответы на них связаны с выполнением соответствующих про­ цедур, а реализация последних предполагает формирование сообщений и пере­ дачу их между транспортными модулями через СПД. Таким образом, функ167
Таблица 5.5. Процедуры транспортного интерфейса Наименование Класс Установление соединения и разъединение Ожидание Подготовка к установлению соединения Соединение Согласие Установление соединения Согласие на установление соединения Отказ в установлении соедине­ ния Отмена ожидания Разъединение 1 Неуправляемый разрыв соеди­ нения Отказ Отмена Разъединение Разрыв Передача данных Передача Прием Отмена передачи Отмена приема Синхронизация Функция Прерывание Прием прерывания Рестарт Выдача сообщения для удален­ ного процесса Готовность к приему сооб­ щения Отмена процедуры передачи Отмена готовности к приему Передача прерывания Готовность к приему прерывания Повторный старт Дейтаграммная служба Передача дейтаграммы Прием дейтаграммы Передача дейтаграммы Готовность к приему граммы Переключение Переключение Изменение адреса местного процесса дейта­ ционирование транспортных модулей вычислительной сети сводится к форми­ рованию сообщений, представлению их в пакетной форме для отправки в СПД, сборке сообщений из поступающих пакетов и интерпретации поступающих команд и сообщений-ответов в соответствии с процедурной характеристикой протокола. В результате' этого транспортная служба сети реализует проце­ дуры транспортного интерфейса, перечисленные в табл. 5.5. Функционирование транспортной службы. Основные функции транспортной службы представлены в табл. 5.5 как классы про­ цедур, обеспечивающих реализацию соответствующих функций. В вычислительной сети должны существовать процессы, гото­ вые взаимодействовать с процессами, создаваемыми пользовате­ лями. Готовность процесса к установлению соединения порожда­ ется процедурой «Ожидание». В момент инициализации любой ЭВМ в ней должен быть активизирован по крайней мере один 168
процесс, ожидающий установления соединения. Такого рода про­ цессы порождаются командой «Ожидание», в ответ на которую местная транспортная служба создает порт, связываемый с этим процессом. Активизируемый процесс, например терминал, формирует команду «Соединение», содержащую адрес процесса, с которым необходимо установить соединение. Этот адрес, являясь обще­ сетевым, будет интерпретирован в адрес транспортного модуля, т. е. ЭВМ, и, если адресуемый процесс находится в состоянии ожидания, транспортная служба организует соединение между процессами по схеме, представленной на рис. 5.23. Процесс, на­ ходящийся в состоянии ожидания, реагирует на попытку со сто­ роны другого процесса установить соединение ответами «Согла­ сие» или «Отказ». При выдаче ответа «Согласие» оба процесса обмениваются сообщениями, необходимыми для построения бло­ ков связи, идентифицирующих устанавливаемое соединение. Блоки связи формируются в транспортных модулях на каж­ дом конце соединения и содержат в себе следующие параметры соединения: 1) адрес порта местной транспортной службы; 2) адрес местного процесса; 3) адрес порта удаленной тран­ спортной службы; 4) адрес удаленного процесса; 5) состояние связи (установлена, разъединена, разорвана); 6) параметры услуг, обеспечиваемых связью; 7) емкость передающего и при­ нимающего буферов, используемых для хранения сообщений; 8) очередные номера N(8)—передаваемого и N(7?)—принимае­ мого сообщения; 9) максимальные номера М(8)—передавае­ мого и М(/?)—принимаемого сообщения. Фрагменты блоков связи изображены на рис. 5.12. Соединение установлено, когда в местном и удаленном транспортных модулях созданы блоки связи, идентифицирующие соединение. При организации соеди­ нения номера сообщений N(5) и Ы(К) устанавливаются в 0, а мак­ симальные иомера М(8) и М(Я) должны быть равны по край­ ней мере 1. Передача сообщений организуется на основе системы креди­ тов— разрешений на прием определенного числа сообщений. Кредит характеризуется максимальным номером принимаемого сообщения М(/?), и значение М(Я)—М(/?) определяет число со­ общений, которое может принять транспортная служба. Кредиты передаются с командой «Прием», формируемой процессом на противоположном конце соединения. Эта команда переносит в удаленный модуль максимальный номер сообщения М(8), ко­ торый может быть принят удаленным транспортным модулем. Доставка сообщений производится процедурой «Передача». Чи­ сло реализуемых процедур «Передача» определяется имеющимся кредитом — наибольшим номером передаваемого сообщения М(8). Процедуры «Отмена передачи» и «Отмена приема» ан­ нулируют выполнение процедур «Передача» и «Прием». Про­ цедура «Отмена приема» изымает кредиты на передачу сообще­ ний, 169
Для посылки срочных сообщений, которые должны достав­ ляться без учета текущих очередей на передачу сообщений, используется процедура «Прерывание». Как правило, данные о прерывании содержат только код причины, для передачи ко­ торого требуется один байт. Передача байта прерывания иници­ ируется командой «Прерывание», которая порождает на сетевом уровне пакет «Прерывание», переносимый протоколом Х25 через сеть вне зависимости от состояния передачи других пакетов. Для подготовки к приему таких пакетов удаленный процесс в период установления соединения должен инициировать процедуру «Прием прерывания». В результате сбоев в работе оборудования и ошибок при передаче сообщений транспортные модули могут выйти из син­ хронизма, что проявляется в нарушении последовательности номеров сообщений. В этом случае передача сообщений пре­ кращается и выполняется процедура «Сброс», приводящая к уничтожению очередей сообщений и передаче пакета «Запрос сброса» в виртуальный канал. Этим пакетом удаленный процесс извещается о сбросе средств взаимодействия. Транспортные модули уничтожают блоки связи и начинают повторно выпол­ нять действия по установлению нового соединения. Дейтаграммная служба строится таким образом, чтобы обе­ спечить передачу сообщений произвольной длины в виде после­ довательности пакетов, каждый из которых выступает в роли независимого сообщения, идентифицируемого всеми необходимыми атрибутами. Транспортная служба собирает из поступающих дейтаграммных пакетов законченные сообщения. При построении сети на основе протокола Х25 сборка сообщений реализуется автома­ тически. При передаче дейтаграмм транспортная служба может подтверждать доставку или информировать отправителя о невоз­ можности доставки дейтаграммы. Процедура «Переключение» предназначена для оповещения транспортной службы об изменении связи между процессом и портом транспортной службы. При этом в транспортную службу передается адрес нового процесса, который должен с этого мо­ мента взаимодействовать с удаленным процессом через ранее установленное соединение, и формируется пакет, необходимый для модификации блока связи. Необходимость в переключении возникает, когда удаленный процесс обслуживался, например, процессом ввода заданий, по завершении которого инициируется прикладной процесс, выполняющий необходимую пользователю прикладную задачу. Связь между процессами закрывается процедурами «Разъ­ единение» и «Разрыв». Первая закрывает соединение упорядо­ ченным образом: в ответ на запрос «Разъединение» удаленный процесс посылает команду «Разъединение» после передачи по­ следнего сообщения; по получении команды «Разъединение» со­ единение в сети передачи данных и блоки связи аннулируются. Процедура «Разрыв» инициируется процессом при нарушении 170
связи в местном транспортном модуле и порождает немедленное прекращение связи. При этом удаленному процессу посылается диагностическая информация о причине прекращения связи, все выданные в транспортную службу и недоставленные сообщения стираются и виртуальное соединение ликвидируется. 5.7. ПРОТОКОЛЫ ВЫСОКОГО УРОВНЯ Транспортная сеть делает возможным доступ к средствам передачи данных для любых процессов, связанных с програм­ мами и терминалами, сосредоточенными в одной ЭВМ или рас­ пределенными по различным ЭВМ вычислительной сети. На ос­ нове процедур транспортного интерфейса строятся протоколы взаимодействия процессов, позволяющие реализовать такие при­ кладные функции, как доступ терминалов к процессам, удален­ ный ввод заданий, передачу файлов, распределенную обработку, электронную почту и др. Эти функции реализуются за счет взаимодействия минимум двух процессов, выполняемых одной или разными ЭВМ вычислительной сети, и соответствующих про­ токолов: виртуального терминала, удаленного ввода заданий, передачи файлов и др. Указанные протоколы, базирующиеся на использовании транспортного интерфейса, называются протоко­ лами высокого уровня. Протоколы высокого уровня устанавливают стандартные для вычислительной сети способы (процедуры) выполнения приклад­ ных функций. Необходимость стандартизации способов вызвана неоднородностью вычислительной сети — разнотипностью ЭВМ, операционных систем и терминалов. Реализация соответствую­ щих протоколов в отношении организации и логического под­ ключения портов к процессам возлагается на средства сеансо­ вого уровня управления, а в отношении сопряжения разнородных процессов — на средства представительского уровня — службу представления данных. Важнейшая функция службы представ­ ления данных — сделать возможным сопряжение разнотипных терминалов с программами, т. е. порожденными ими процессами. В качестве терминалов — источников данных могут выступать клавиатуры, устройства ввода с перфоленты, перфокарты и маг­ нитной ленты и другие, а в качестве терминалов — устройств вы­ вода— символьные дисплеи с различными размерами экранов, алфавитами и способами отображения данных (символьный, строчный, страничный), графические дисплеи, печатающие уст­ ройства с разным алфавитом и длиной строк и прочие. При всем многообразии типов ЭВМ, операционных систем и программ должно быть возможным взаимодействие каждой программы с терминалами любого типа. Аналогичные проблемы возникают при вводе заданий в ЭВМ, оснащенные различными операцион­ ными системами, каждая из которых работает со специфичным языком управления заданиями; при перемещении файлов между различными ЭВМ, функционирующими под управлением разных 171
Рис. 5.24. Организация взаимодействия процессов операционных систем; при распределенной обработке данных, выполняемой несколькими программами, находящимися в раз­ ных ЭВМ сети. Служба представления данных (уровень 6) обеспечивает стандартные способы взаимодействия процессов при решении задач в вычислительной сети и образует единый интерфейс для операционных систем и прикладных программ (рис. 5.24). Эти функции реализуются программными интерпретаторами и транс­ ляторами, которые преобразуют данные и процедуры, соответ­ ствующие протоколам взаимодействия процессов, в форму, опре­ деляемую спецификой операционных систем и ЭВМ, используе­ мых для организации процессов. Протокол виртуального терминала. Проблема сопряжения процессов с разнотипными терминалами может решаться на основе концепции виртуального терминала — гипотетического терминала, обобщающего в себе свойства заданного класса тер­ миналов. Виртуальный терминал определяется путем описания структуры данных (порождаемых и отображаемых терминалом), алфавита и его управляющих символов и порядка обмена управ­ ляющей информацией и данными. Прикладные программы раз­ рабатываются с ориентацией на виртуальные терминалы и со­ прягаются с реальными терминалами в соответствии с рис. 5.25. Интерфейс между программой и терминалом определяется про­ токолом виртуального терминала ПВТ, в соответствии с кото­ рым интерпретируются операторы ввода — вывода, входящие в текст программы. Сообщения, передаваемые от программы в транспортную сеть, интерпретируются средствами терминальной системы в структуры данных, коды символов, команды и ответы, соответствующие типу реального терминала, обслуживаемого тер­ минальной ЭВМ. Для организации взаимодействия реальных терминалов с другими компонентами вычислительной сети — программами и 172
Рис. 5 25. Сопряжение программы с терминалом терминалами — МККТТ реко­ мендует схему, приведенную на рис. 5.26. Виртуальный тер­ минал взаимодействует с си­ стемами вычислительной сети в соответствии с интерфейсом Х25, определяющим порядок передачи данных через сеть с коммутацией пакетов. Процедуры взаимодействия с сетью, преобразования пакетов в символы и об­ ратно, а также управления реальным терминалом реализуются терминальной или главной ЭВМ, к которой подключен реальный терминал. Основные функции виртуального терминала обеспечиваются пакетным адаптером данных (ПАД), один из способов построения которого определен рекомендацией ХЗ МККТТ. Пакетный адаптер данных (средство сборки — разборки пакетов) является посред­ ником между посимвольным терминалом, вводящим и выводя­ щим данные в виде последовательности символов, и сетью пере­ дачи данных. На адаптер возлагаются следующие основные функции: 1) сборка символов в пакеты, предназначенные для передачи в сеть; 2) разборка полей данных пакетов на символы; 3) управление установлением соединения между терминалом и системами СПД и разъединением; 4) генерация управляющих сигналов для посимвольного терминала; 5) передача символов с необходимыми стартстопными сигналами в терминал и прием символов из терминала; 6) распознавание и интерпретация сиг­ налов прерывания и разрыва, формируемых терминалом. Ука­ занные функции реализуются в нескольких модификациях, вы­ бор которых определяется 18 параметрами. Значение парамет­ ров, настраивающих пакетный адаптер на один из возможных режимов функционирования, могут устанавливаться, читаться и изменяться каждым из двух взаимодействующих процессов — местным и удаленным терминалом. Связь между пакетным адаптером данных и терминалом организуется в соответствии с рекомендацией Х28 МККТТ, опре­ деляющей интерфейс и протокол связи «терминал — виртуаль- Рис. 5.26. Подключение реального терминала к сети 173
ный терминал» (рис. 5.26). Рекомендация Л28 определяет: 1) способы соединения терминалов с пакетными адаптерами; 2) порядок инициализации взаимодействия терминала с пакет­ ным адаптером; 3) процедуры обмена управляющей информа­ цией между пакетным адаптером и терминалом; 4) процедуры обмена данными. Терминал может подключаться к пакетному адаптеру через выделенные или коммутируемые линии связи теле­ фонной сети или СПД общего пользования. Инициализация вза­ имодействия терминала и пакетного адаптера включает в себя: 1) установление соединения между терминалом и адаптером—ин­ формационное подключение терминала к адаптеру; 2) установле­ ние параметров обслуживания терминала, в частности скорости передачи данных и кода, с которыми работает терминал; 3) иден­ тификацию установленного соединения, посредством которой фик­ сируется готовность терминала и адаптера к совместному функ­ ционированию. Обмен управляющей информацией сводится к приему команд от терминала и формированию адаптером ответов на поступаю­ щие команды. Команды отмечают необходимость установления соединения с терминалом, и разъединения, а также установления и изменения параметров функционирования адаптера. Ответы, формируемые адаптером, характеризуют состояние взаимодей­ ствующих абонентов (свободен, занят, соединение невыполнимо и др.) и параметры, с которыми работает адаптер. Команды и от­ веты определяют язык, посредством которого пользователь обща­ ется с вычислительной сетью через терминал. Порядок сквозного взаимодействия между адаптерами или адаптером и системой обработки данных, сводящегося к обмену управляющей информацией и данными, определяется рекоменда­ цией Х29 МККТТ (рис. 5.26). Протокол Х29 вводит интерфейс «виртуальный терминал — виртуальный терминал» как совокуп­ ность команд и ответов, необходимых для взаимодействия або­ нентов с помощью средств, установленных сетевым протоко­ лом Х25. В основе взаимодействия пользователя с вычислительной сетью лежит работа с данными, вводимыми и выводимыми через реальный терминал. При вводе данных часть символов, формируемых терминалом, например клавиату­ рой дисплея, относится к собственно данным, а другая часть — к управляющим символам, воздействующим на данные и вызывающим соответствующие мани­ пуляции над данными — редактирование, стирание, передачу и др. При этом часть управляющих символов обрабатывается местными средствами, поддержи­ вающими работу терминала, а другая часть интерпретируется удаленной систе­ мой, например главной ЭВМ. Доступные пользователю данные (рис. 5.26) пред­ ставляются виртуальным терминалом. Функции пакетного адаптера распро­ страняются только на эти данные, и, следовательно, пользователь может ма­ нипулировать с тем объемом данных, который хранится в памяти виртуального терминала. Точно так же удаленная система — программа или терминал — мо­ дифицирует данные в рамках возможностей виртуального терминала. Данные, связанные с виртуальным терминалом, представляются в форме, в которой выделяется следующая иерархия элементов: символы, строки, стра­ ницы и файлы. Файл — наиболее крупный элемент данных, представляющий собой совокупность страниц. Страница характеризуется числом строк и дли174
ной строки, определяющей число символов в строке. Структура данных, ото­ бражаемых средствами виртуального терминала, может ограничиваться стро­ кой, страницей и файлом. Когда виртуальный терминал оперирует только со строкой, пользователь может корректировать данные в пределах одной строки и завершение строки, отмечаемое символом «Перевод строки», приводит к от­ сылке строки удаленному процессу. При работе со страницей пользователь ма­ нипулирует с совокупностью строк и инициирует их пересылку с помощью спе­ циальной команды «Передать» или пересылка выполняется автоматически по заполнении всех строк в странице. При большой емкости памяти пользова­ телю может быть предоставлена возможность работы с одним или многими файлами. В этом случае пересылка файлов между местной и удаленной си­ стемами производится по протоколу перемещения файлов. Таким образом, пользователь взаимодействует с данными на двух уров­ нях: нижнем — уровне структуры данных, отображаемом местным процессом в рамках средств виртуального терминала, и верхнем — уровне структуры данных, связанной с удаленным процессом. В свою очередь удаленный процесс формирует и посылает данные для вывода на терминал. Виртуальный терминал представляет поступающие дан­ ные в форме, пригодной для вывода их на конкретный терминал. При этом процедуры виртуального терминала преобразуют длинные строки в последова­ тельность коротких строк путем вставки знаков «Перевод строки» и «Возврат каретки» в последовательности передаваемых символов, а также большие стра­ ницы — в страницы малого формата. Передача файлов. Работа с файлами осуществляется одним из двух способов. Во-первых, пользователь может инициировать в удаленной системе соответствующий процесс (программу) со­ здания, корректировки, чтения, записи и копирования файла и в рамках возможностей этой программы выполнять необходимые действия над данными. При этом между терминалом пользова­ теля и обрабатывающей программой удаленной системы пере­ сылаются сообщения, число которых определяет стоимость вы­ полненной работы. Во-вторых, пользователь может перемещать файл — текст программы или набор данных — в свою систему и производить корректировку файла, не обращаясь к средствам передачи данных. Такой способ работы с файлами иногда более экономичен, чем первый. При обработке данных одна программа может применяться для обработки многих файлов, размещенных в разных системах, и один файл может подвергаться разной об­ работке по программам, находящимся в нескольких главных ЭВМ. В таких ситуациях передача файлов между системами упрощает организацию обработки данных и снижает затраты на обработку за счет сокращения числа виртуальных соединений и пакетов, пе­ редаваемых между системами. Для доступа к файлам и их компонентам служат программы управления данными, входящие в состав операционных систем ЭВМ. Поэтому для передачи файлов необходим специальный протокол, устанавливающий единый для сети способ взаимодей­ ствия процессов, участвующих в передаче файла: процесса — источника файла, процесса — получателя файла и процесса, управляющего передачей файла. Эти процессы могут разме­ щаться в трех различных системах или в двух, если файл и пользователь находятся в одной локальной системе. При пере­ даче файла возникают два потока данных: поток управляющей 175
Рис. 5.27. Организация удален­ ного ввода заданий информации, используемой процедурами передачи фай­ лов, и поток данных, со­ ставляющих файл. При пе­ редаче больших файлов достаточно велика вероятность ошибок, компенсация которых пу­ тем повторной передачи данных приводит к чрезмерно большим затратам. Поэтому протокол передачи файла использует контроль­ ные точки — для компенсации ошибок за счет повторения пере­ дачи от последних контрольных точек. Удаленный ввод заданий. Задание на выполнение работы формируется пользователем и состоит из последовательности шагов (пунктов), каждый из которых определяет программу, а также используемые наборы данных. Обработка заданий про­ изводится специальной программой, реализующей протокол уда­ ленного ввода заданий. Протокол устанавливает язык для за­ писи шагов задания, сообщения, посылаемые пользователю от программы удаленного ввода заданий, и процедуры обработки. В простейшем случае удаленный ввод заданий реализуется по схеме, изображенной на рис. 5.27. Пользователь взаимодей­ ствует с сетью через терминал, подключенный к терминальной ЭВМ, и работает с главной ЭВМ. Вводя команды с терминала, пользователь устанавливает соединение с процессом ПУВЗ, реа­ лизующим протокол удаленного ввода заданий. Соединение об­ служивается процессами ПВТ, выполняющими протокол вир­ туального терминала. Пользователь запрашивает необходимые функции протокола удаленного ввода заданий, которые выполня­ ются главной ЭВМ. Протокол включает в себя следующие ос­ новные функции: инициирование и завершение сеанса связи; управление данными — создание и исключение файлов; редакти­ рование— вставку, удаление и замену строк, добавление в файл строк из другого файла; управление обработкой задания — ини­ циализацию задания, прерывание и продолжение обработки; по­ лучение информации о состоянии заданий, файлов и библиотеки пользователя. Данные могут вводиться с терминала, оформ­ ляться в файлы и сохраняться в библиотеке пользователя, а также вызываться из библиотеки пользователя. Пользователь имеет возможность создавать задания, хранить их в библиотеке и инициировать выполнение ранее сформированных многошаго­ вых заданий. Во время сеанса связи процесс удаленного ввода заданий формирует сообщения, свидетельствующие о реакции системы на вводимые команды и данные. Эти сообщения под­ тверждают выполнение команд и корректность данных или из­ вещают об ошибках в диалоге, которые выделяются соответ­ ствующими программными средствами, связанными с процес­ сом удаленного ввода заданий. 176
Рис. 5.28. Иерархия подзадач Распределенная обработка. Для решения особо сложных за­ дач может потребоваться не­ сколько ЭВМ, которые должны реализовать отдельные части за­ дачи — подзадачи — на основе программ, размещаемых в соот­ ветствующих ЭВМ. За счет этого можно значительно расширить сложность решаемых задач и уменьшить время решения. Способ обработки данных, основанный на представлении задачи совокупностью взаимосвязанных и па­ раллельно выполняемых несколькими ЭВМ подзадач, называется распределенной обработкой. При распределенной обработке образуется иерархия подза­ дач, пример которой приведен на рис. 5.28. Задача Л, порядок решения которой определяется одноименной программой, вклю­ чает в себя две подзадачи В\ и В2, которые реализуются само­ стоятельными программами, инициируемыми операторами про­ граммы А. В свою очередь подзадачи В\, В 2 разделяются на под­ задачи более низкого уровня иерархии С ь С2 и Сз, С4 и т. д. Задача А инициирует подзадачи В\ и 5 2 , которые на соответ­ ствующих этапах выполнения инициируют подзадачи более низ­ ких уровней, в результате чего создается возможность для параллельного выполнения нескольких подзадач. Каждая из под­ задач по завершении выполнения информирует об этом под­ задачу более высокого уровня и прекращает свое существование до повторного инициирования вышестоящей подзадачей. При этом процесс уровня В существует, пока не завершатся связан­ ные с ним процессы уровней С и В. Задача А будет закончена только по завершении подзадач В\ и В2. На некотором этапе решения задачи А между подзадачами существуют взаимосвязи, представленные на рис. 5.29. Процесс А порождает процессы В\ и В2, реализуемые в ЭВМ2 и ЭВМ4 соответственно; процессы В{ и Б 2 порождают подчиненные им процессы С ь С2 и С3, С4 и т. д. Для организации распределенной обработки необходимо уп­ равлять взаимодействием группы распределенных процессов. Эта функция возлагается на уровень управления сессией (сеансами), который или выделяется в самостоятельный уровень, или вклю- Рис. 5.29. Распределенная обработка задачи А 177
чается в расширенную транспортную службу. Управление сес­ сией создает порты для процессов и соединения между ними, контролирует всю совокупность двухпунктовых соединений и восстанавливает функционирование при возникновении ошибки. Если при выполнении подзадачи возникает ошибка, производится рестарт подзадачи таким образом, чтобы исключить необходи­ мость повторного выполнения уже завершенных этапов обра­ ботки задачи. Распределенная обработка — наиболее сложный режим вы­ полнения задач, предполагающий наличие развитых операцион­ ных систем, и сложных процедур управления сеансами. Распре­ деленная обработка существенно расширяет класс задач, решае­ мых вычислительной сетью, но для этого требуется также существенное расширение функциональных возможностей опера­ ционных систем главных ЭВМ. Электронная почта. Связь администрации вычислительной сети с пользователями и обмен информацией между пользовате­ лями обеспечивается почтовой службой, реализуемой на основе протокола передачи сообщений. Сообщения могут рассылаться как циркулярные, относящиеся ко всем пользователям сети, или как адресуемые конкретным пользователям. Сообщение может быть отправлено в любое время, но принято адресатом только в момент инициирования сеанса работы. Пользователь, начиная взаимодействие с вычислительной сетью, подключается к сред­ ствам удаленного ввода заданий и при этом идентифицирует себя, посылая в сеть свое имя и пароль. В этот момент, если поль­ зователь не запретил прием сообщений, все сообщения админи­ страции и других пользователей, хранимые в памяти терминаль­ ной ЭВМ, передаются на его терминал. Если терминальная ЭВМ не реализует протокол почтовой службы, то сообщения могут быть переданы пользователю только в течение сеанса работы, например в момент завершения обработки задания. До начала сеанса и в период выполнения задания пользователь недоступен для почтовой службы и посылаемые ему сообщения должны храниться в памяти ЭВМ до тех пор, пока не будут затребованы. Протоколы обработки графической информации. В дополнение к тради­ ционным средствам обработки числовых и символьных данных функции вы­ числительных сетей могут быть расширены для передачи и вывода графиче­ ской информации. Графическая информация вводится в вычислительную сеть с графических дисплеев, оснащенных световым пером, специальных устройств для снятия графической информации с чертежей или формируется програм­ мами, представляющими результаты обработки данных в виде графиков, схем и чертежей. Для вывода графической информации используются графические дисплеи и графопостроители. Способ представления и передачи графической ин­ формации в вычислительной сети определяется с помощью протоколов передачи графической информации и управления графопостроителями. Протокол передачи графической информации определяет способ управления графическими дисплеями при диалоговом режиме взаимодействия пользовате­ лей со средствами обработки данных. Для подключения к сети графических дис­ плеев разного типа используется протокол виртуального графического дисплея, устанавливающий язык представления графической информации и не завися­ щий от способов аппаратурной реализации дисплеев. Наиболее широко исполь178
Рис. 5.30. Сопряжение графического дисплея с программами зуются графические дисплеи растрового типа, в которых изображение синтези­ руется из строк, как в телевизионном кадре. При этом на экране отобража­ ется файл, состоящий из последова­ тельностей битов для дисплеев с двумя уровнями яркости или ^-битных символов для дисплеев с 2к уровнями яркости и цветных дисплеев. Файл обновляется всякий раз, когда пользователь выпол­ няет операцию конструирования изображения с использованием клавиатуры дисплея, светового пера и программных средств или когда программа изменяет изображение, воспроизведенное на экране. Даже при незначительном изменении изображения возникает необходимость в передаче большого объема данных (105—106 бит для 2000-строчных дисплеев) между программой обработки изобра­ жений и памятью дисплея. Чтобы избежать этого, изображение разделяют на сегменты и между дисплеем и программой передают только те сегменты, которые затронуты при изменении изображения. Таким образом, при обмене инфор­ мацией между программой и дисплеем сегмент выступает в качестве элемента данных. Кроме того, протокол передачи графической информации вводит совокуп­ ность команд, необходимых для эффективного конструирования изображений. За счет использования аппаратно-независимого протокола программы обра­ ботки графической информации становятся функционально-ориентированными и сопряжение дисплеев с программами производится по схеме, представленной на рис. 5.30. Для обслуживания конкретного дисплея терминальная ЭВМ, к ко­ торой он подключен, оснащается программным адаптером, функционирующим в соответствии с протоколом передачи графической информации и преобразую­ щим команды и фрагменты файла изображения в форму, соответствующую спе­ цифике дисплея. Аналогичным образом решается задача сопряжения графопостроителей с программными средствами обработки графической информации. Для того чтобы прикладные программы не зависели от типа графопостроителей, вво­ дится протокол управления графопостроителем — язык для управления процес­ сами вывода графической информации, состоящий из совокупности команд. Команды формируются прикладными программами и передаются в процесс, уп­ равляющий графопостроителем. Процесс, т. е. соответствующая программа, пре­ образует команды протокола в форму, соответствующую конкретному графопо­ строителю, обслуживаемому процессом. 5.8. АДМИНИСТРАТИВНОЕ УПРАВЛЕНИЕ Для управления вычислительной сетью создается служба административного управления. Эта служба по своим функциям лежит выше прикладного уровня, но реализуется совокупностью специальных системных процессов, относимых к прикладному уровню 7. Административное управление реализуется операто­ рами сети, функции которых распространяются на отдельные со­ ставляющие сети (например, на главные ЭВМ), области сети, включающие в себя близлежащие ЭВМ, узлы и каналы связи, а также на вычислительную сеть в целом. Работа операторов сети поддерживается ЭВМ и терминальным оборудованием, че­ рез которое вводятся команды управления, управляющая инфор­ мация и отображается информация о состоянии сети и ее компо­ нентов, необходимая для контроля процессов функционирования сети и для принятия управленческих решений. Для управления 179
сетью специально выделяются административные ЭВМ, к кото­ рым подключаются терминалы операторов сети. Часть функций административного управления возлагается на главные, терми­ нальные и связные ЭВМ и реализуется соответствующими си­ стемными программами. Места размещения операторов и соот­ ветствующей аппаратуры называются центрами административ­ ного управления. Функции. Административная служба вычислительной сети реализует следующие основные функции: 1) обслуживание опе­ раторов; 2) управление конфигурацией; 3) организацию техниче­ ского обслуживания; 4) управление режимами функционирования; 5) учет использования ресурсов и сбор статистики. Обслуживание операторов сети состоит в обеспечении доступа их к средствам административного управления. Каждое из средств реализуется соответствующими программами, размещенными в ЭВМ центров административного управления и отчасти в осталь­ ных ЭВМ сети. С помощью специальных команд операторы могут выполнять следующие действия: включать и отключать сеть; под­ ключать и отключать системы и компоненты сети; получать ин­ формацию о состоянии сети и ее компонентов; контролировать ра­ ботоспособность и диагностировать неисправность сети и ее ком­ понентов; собирать статистику о работе сети. Эти команды ини­ циируют соответствующие системные программы, реализуемые в административных ЭВМ сети. Системные программы могут всту­ пать во взаимодействие с системными программами, размещен­ ными в других центрах административного управления или ЭВМ сети. Для этого используются стандартные средства установления соединений и передачи данных между процессами. Управление конфигурацией сети сводится к подключению и отключению компонентов сети — каналов и узлов связи, а также рабочих ЭВМ (главных, терминальных и переходных). Компо­ нент подключается с использованием средств, содержащихся в нем, например с помощью программы начальной загрузки и активизации сетевых процессов в ЭВМ. Если компонент не имеет собственных средств для хранения программ или микропрограмм, перед активизацией необходимые программные средства пере­ даются из других пунктов сети. При активизации вводятся таб­ лицы определения систем сети, устанавливающие общесетевые адреса и значения параметров функционирования (таблицы маршрутизации, размеры окон, число разрешений на передачу пакетов и др.)- Параметры в дальнейшем могут изменяться по командам операторов, оптимизирующих работу вычислительной сети. Так, операторы сети имеют возможность изменять таблицы маршрутизации при превышении допустимого уровня загрузки каналов, уровня помех в каналах, отключении и отказах каналов и узлов связи и т. п. При отключении компонентов сети формиру­ ются предупреждения, по которым принимаются меры для сохра­ нения данных о прерываемых работах для завершения работ. Операторы контролируют состояние сети путем запроса у си180
Рис. 5.31. Эхо-контроль каналов и систем стем сети данных об именах и адресах активизированных в них процессов; таблиц определения, содержащих сведения о значе­ ниях параметров, с которыми работают системы; данных о сес­ сиях, логических каналах, наличии разрешений и т. д.; данных о загрузке ресурсов систем — каналов связи, процессоров, па­ мяти и др. Техническое обслуживание сети сводится к наблюдению за ее состоянием, контролю работоспособности компонентов и по­ иску неисправностей. Операторы сети имеют возможность про­ верять активность компонентов сети, инициировать тесты кана­ лов, узлов связи и ЭВМ (их транспортных и прочих модулей), получать эксплуатационную статистику о числе отказов и ре­ стартов в каналах, узлах связи, терминальных и главных ЭВМ. Способ тестирования и поиска неисправностей зависит от типа средств, реализующих сетевые функции. Наиболее широко применяется способ эхо-контроля, основанный на передаче специальных пакетов, возвращаемых тестируемым элементом в систему — источник пакетов (рис. 5.31). Программа контроля сети, размещаемая в центре административного управления (ЦАУ), проверяет работоспособность элементов сети (уровней 1—4) путем посылки контрольных пакетов, адресованных требуе­ мым элементам сети — оконечному оборудованию каналов, сред­ ствам управления в узлах связи, уровневым средствам управле­ ния ЭВМ. Элементы в ответ на контрольные пакеты формируют эхо-пакеты, получение которых центром административного управления свидетельствует о работоспособности тракта контро­ лируемого элемента. Получаемая в процессе контроля информа­ ция позволяет диагностировать отказавший элемент. Этот же способ используется в главных ЭВМ для контроля каналов пере­ дачи данных, связывающих ЭВМ с СПД. Управление функционированием сети направлено на оптими­ зацию работы сети за счет выбора параметров, наилучшим обра­ зом соответствующих текущей конфигурации сети, нагрузке и требованиям к качеству обслуживания пользователей. Исходя из текущего состояния сети операторы назначают параметры, опре181
деляющие режим работы каналов, таблицы маршрутизации в уз­ лах связи, число разрешений на передачу пакетов для ЭВМ сети и др. Оптимизация может достигаться за счет передислокации программ и файлов данных между главными ЭВМ. Для учета использования ресурсов сети главные ЭВМ и, воз­ можно, узлы связи и терминальные ЭВМ оснащаются програм­ мными мониторами — измерительными системами. Мониторы ре­ гистрируют виды и объем связных услуг, а также процессор­ ное время и емкость памяти, предоставляемые пользователю в каждом сеансе взаимодействия с сетью. Файлы измерительных данных периодически и перед завершением рабочих периодов передаются из ЭВМ в ЦАУ, где обрабатываются для оценки объемов предоставленных ресурсов и начисления платы за их использование, а также для учета использования ресурсов вы­ числительной сети. На основе получаемых данных решаются за­ дачи развития вычислительной сети: увеличения числа термина­ лов и контингента пользователей, числа и мощности ЭВМ, про­ пускной способности СПД и т. д. Организация. Для взаимодействия ЦАУ между собой и с прочими систе­ мами сети используются общие для сети протоколы. В рабочих системах на каждом уровне встроены средства, реализующие необходимые процедуры адми­ нистративного управления: предоставление данных о состоянии уровня управ­ ления, прием значений параметров, влияющих на функционирование средств, эхо-контроль и др. На прикладном уровне в рабочих системах выполняются процессы административного управления, которые могут взаимодействовать с ЦАУ, используя всю совокупность услуг, предоставляемых транспортным ин­ терфейсом. На эти процессы возлагается, в частности, регистрация объемов ре­ сурсов, выделяемых главными ЭВМ и средствами связи для обслуживания при­ кладных процессов пользователей, а также обслуживание операторов локальной системы. В вычислительных сетях с малым числом узлов административное управле­ ние осуществляется из единственного центра. В крупномасштабных сетях функ­ ции управления распределяются между несколькими пунктами административ­ ного управления. Среди пунктов выделяется ЦАУ, в который передается инфор­ мация о состоянии вычислительной сети в целом. 5.9. ЗАЩИТА ДАННЫХ И ИДЕНТИФИКАЦИЯ ПОЛЬЗОВАТЕЛЕЙ В вычислительных сетях сосредоточивается информация, исключительное право на пользование которой принадлежит определенным лицам или группам лиц, действующим в порядке личной инициативы или в соответствии с должностными обязан­ ностями. Такая информация должна быть защищена от всех видов постороннего вмешательства: чтения лицами, не имею­ щими права доступа к информации, и преднамеренного измене­ ния информации. К тому же в вычислительных сетях должны приниматься меры по защите ресурсов сети от их несанкциони­ рованного использования — доступа к сети пользователей, не имеющих на это права. Физическая защита системы и данных может осуществляться только в отношении рабочих ЭВМ и узлов связи и оказывается невозможной для средств передачи, имею­ щих большую протяженность. По этой причине в вычислитель182
ных сетях должны использоваться средства, обеспечивающие секретность данных и исключающие несанкционированный до­ ступ к ним. Для обеспечения секретности данных используются методы криптографии — преобразования данных из общепринятой формы в кодированную (шифрования) и обратного преобразования (де­ шифрования) на основе правил, известных только взаимодей­ ствующим пользователям. Криптография применяется для за­ щиты передаваемых данных, а также данных, хранимых на сменных томах — пакетах дисков, гибких дисках и лентах. Для защиты вычислительной сети от несанкционированного доступа применяется идентификация пользователей (сообщений), позво­ ляющая устанавливать конкретного пользователя, работающего за терминалом и отправляющего сообщения. Шифрование данных. Шифрование данных производится по алгоритму, оп­ ределяющему порядок преобразования исходного текста в шифрованный текст, а дешифрование — по алгоритму, реализующему обратное преобразование. К криптографическим средствам предъявляются требования сохранения секрет­ ности, даже когда известна сущность алгоритмов шифрования — дешифрования. Секретность обеспечивается введением в алгоритмы ключей — последовательно­ стей символов. Зашифрованный текст превращается в исходный только в том случае, если в каждом из процессов использовался один и тот же ключ. Область значений ключа выбирается столь большой, что практически исключается воз­ можность идентификации ключа путем перебора его значений. Идентификация пользователей. Право доступа к определенным информа­ ционным ресурсам — программам и наборам данных — и вычислительной сети в целом предоставляется ограниченному контингенту лиц, и система должна идентифицировать пользователей, работающих за терминалами. Идентификация пользователей чаще всего производится с помощью паролей. Пароль — совокуп­ ность символов, известных подключенному абоненту, вводится абонентом в на­ чале сеанса взаимодействия с сетью. Сеть определяет подлинность пароля и тем самым пользователя. Для идентификации пользователей могут использо­ ваться физические ключи, например карточки с магнитной полоской, на которой записывается персональный идентификатор пользователя. Для уменьшения риска злоупотреблений карточки используются совместно с каким-либо другим спо­ собом идентификации пользователя, например с коротким паролем. Для защиты средств идентификации пользователей от неправомочных вме­ шательств пароли передаются и сравниваются только в зашифрованном виде и таблицы паролей хранятся также в зашифрованном виде, что исключает воз­ можность прочтения паролей без знания ключей. 5.10. РЕАЛИЗАЦИЯ Проектирование вычислительных сетей, объединяющих ЭВМ на основе принципа коммутации пакетов, началось во второй половине 60-х годов. Первая вычислительная сеть АКРА была спроектирована в 1967 г. Агентством перспективных исследова­ тельских работ, объединяющим университеты и исследователь­ ские организации США. Первая очередь сети АКРА, содержа­ щая четыре узла связи, вступила в строй в 1969 г. В этот период многие ведомства начали разрабатывать сети передачи данных с коммутацией пакетов и вычислительные сети на основе этих СПД: Международное общество дальней космической связи — сеть 51ТА; фирма «Тимшаер» (США)—сеть ТУМЫЕТ; универ183
ситеты и исследовательские организации Франции — сеть СУСЦШЕ5; министерство связи Франции — сеть ТКАМ5РАС; исследовательские центры Западной Европы — сеть ЕШ; корпо­ рация связи в США — сеть Ре1епе1 и т. д. Создаваемые в этот период вычислительные сети значительно различались по своей архитектуре и протоколам, но в любой из них использовались два важнейших принципа организации: уни­ фицированный в рамках сети способ передачи данных между або­ нентами и многоуровневое управление. К середине 70-х годов начала ощущаться потребность в стан­ дартизации интерфейса ЭВМ — СПД. Исходя из этого была раз­ работана и принята в 1976 г. рекомендация Х25 МККТТ, уста­ навливающая протокол передачи данных в сетях с коммутацией пакетов, который принят в качестве стандарта для всех сетей, создаваемых в последнее время. Для создания протоколов высо­ ких уровней Международной организацией по стандартизации разработана в 1978 г. эталонная архитектура открытых систем, на основе которых проектируются новые вычислительные сети. В настоящее время созданы десятки ведомственных вычисли­ тельных сетей и сетей общего пользования. Ниже приводится краткое описание сетей АКРА, 5ЫА, ОЕСпе1 и Академии наук Латвийской ССР, в которых представлены наиболее характерные принципы построения вычислительных сетей. Сеть АРРА. Это первая и в настоящее время наиболее мощная и развет­ вленная вычислительная сеть. К апрелю 1979 г. сеть включала в себя 23 глав­ ных ЭВМ, к июню 1974 г. — 62 главных ЭВМ и к марту 1977 г.— 111 главных и терминальных ЭВМ с суммарной производительностью около 1010 операций в секунду. Базовая СПД охватывает территорию США и распространяется на Гавай­ ские острова, Норвегию и Англию. Для передачи данных в сети используются дуплексные синхронные каналы с пропускной способностью 50 кбит/с. Кроме того, в Калифорнии существуют две линии с пропускной способностью 230,4 кбит/с. Для связи США с Гавайями и Норвегией используются спутнико­ вые каналы (50 и 7,2 кбит/с), а Норвегии с Англией — канал 9,6 кбит/с. В ка­ честве коммутационных применяются мини-ЭВМ ЭОР-516 фирмы «Хонивелл» (США) с оперативной памятью до 32 кбайт и быстродействием примерно 500 тыс. операций в секунду над 16-разрядными словами. Узел связи обеспечи­ вает обработку потока данных с интенсивностью до 850 кбит/с. С учетом по­ терь на управление передачей пакетов по каналу (причина потерь — наличие служебных пакетов и простой каналов из-за ограниченного быстродействия ком­ мутационных ЭВМ) фактическая пропускная способность каналов составляет 37—38,5 кбит/с, т. е. примерно 40 пакетов в секунду при номинальной 50 кбит/с. Фактическая пропускная способность сети превосходит 6 млн. пакетов в день, а с учетом взаимодействия ЭВМ, подключенных к одному и тому же узлу связи,— 10 млн. пакетов в день. Среднее время передачи пакета по сети равно 0,1 с, а максимальное — 0,5 с. Передача данных в сети производится пакетами, которые максимально мо­ гут содержать 1008 бит данных. Почти 50 % передаваемых пакетов являются служебными — командами и ответами, и средняя длина пакета составляет 218 бит. Для восстановления искаженных и потерянных пакетов в сети исполь­ зуется механизм квитанций, а также тайм-аута, продолжительность которого для канала, связывающего два узла сети, составляет 250 мс. Каналы связи в сети работают очень надежно: в среднем одна ошибка на 12 880 переданных паке­ тов. Коэффициент готовности коммутационных ЭВМ равен 0,9836, т. е. ЭВМ 184
Рис. 5.32. Протоколы сети АКРА находится в состоянии восстановления в среднем 1,64 % времени. Наихудший коэффициент готовности коммутационной ЭВМ составил 0,9087. Коммутация пакетов в сети передачи данных производится на основе таб­ лиц маршрутизации, устанавливающих основные (кратчайшие) пути к адреса­ там с помощью алгоритма локальной адаптивной маршрутизации. Через 640 мс каждый узел формирует маршрутные сообщения, направляемые всем смежным узлам и содержащие зарегистрированные значения задержки пакетов. На ос­ нове этих данных узлы выбирают направления передачи, которым соответствуют минимальные задержки. Главные ЭВМ подключаются к узлам СПД с помощью асинхронных дуп­ лексных каналов (100 кбит/с) и обмениваются с сетью сообщениями, предель­ ная допустимая длина которых 8063 бита. Узел связи, в который поступает сообщение от ЭВМ, разделяет его на пакеты. Сообщение максимальной длины разделяется на 8 пакетов — 7 пакетов по 1008 бит и один пакет в 1007 бит. Узел связи, получающий пакеты, собирает их в сообщение, которое передается как целое адресату — главной ЭВМ. Терминалы подключаются к главным ЭВМ или сопрягаются с СПД через специальный узел связи — терминальный узел, который выполняет одновременно функции коммутационной и терминальной ЭВМ. В терминальных узлах используется в основном мини-ЭВМ БОР-316 с емкостью оперативной памяти 56 кбайт. К этой ЭВМ можно подключать до 63 терминалов, и она обслуживает поток данных с интенсивностью до 700 кбит/с. Для предотвращения перегрузок СПД каждый узел связи имеет право при­ нимать не более четырех сообщений. После приема четырех сообщений узел связи блокирует доступ к сети для всех подключенных к нему ЭВМ — до тех пор, пока не будет получена квитанция о приеме сообщения узлом-адресатом. Вычислительная сеть АКРА имеет трехуровневую организацию программ­ ного управления (рис. 5.32). Протокол главная ЭВМ — узел связи определяет форматы передаваемых сообщений и процедуры доступа к СПД. Протокол ГВМ — ГВМ определяет процедуры установления, восстановления и разъедине­ ния виртуальных каналов, а также процедуры управления потоками сообщений между ЭВМ. Протоколы высшего уровня являются функционально-ориентиро­ ванными и обеспечивают реализацию прикладных функций. В сети АКРА с ис­ пользованием специальных терминалов реализован протокол передачи речевых сообщений в цифровой форме. Сети 8 ^ . В 1974 г. фирма 1ВМ разработала сетевую архи­ тектуру систем ЗЫА (рис. 5.33) [13]. Оконечные абоненты сети — пользователи терминалов, прикладные программы и различные устройства — называются логическими элементами (ЛЭ). Логи­ ческий элемент можно рассматривать как вход, при помощи ко­ торого абоненты получают доступ к службам сети и другим або185
Рис. 5.33. Сеть 5ЫА нентам путем установления сессий (сеансов). Сессии между логическими элементами (ЛЭ—ЛЭ) устанавливаются с исполь­ зованием пунктов управления системными службами (ПУСС). Логические элементы и пункты управления размещаются в физи­ ческих элементах (ФЭ), в качестве которых выступают ЭВМ, абонентские пункты и терминалы. Физические элементы явля­ ются узлами сети, объединяемыми в соответствующую сетевую конфигурацию с помощью каналов передачи данных. Сеть может состоять из одной или нескольких областей. Область включает в себя ПУСС, ФЭ, ЛЭ и каналы передачи данных, управляемые от пункта. Несколько ПУСС могут управлять несколькими физи­ ческими элементами и каналами одновременно, а логическими элементами последовательно. Поэтому области сети могут пере­ крываться. В областях выделяются подзоны. Подзона содержит узел подзоны и связанные с ним периферийные узлы, к которым относятся конечные пункты передачи данных. В основу архитектуры сети 5ИА положен принцип минимиза­ ции зависимости логической (функциональной) конфигурации сети от ее физической конфигурации. Этот принцип проявляется, например, в том, что абоненты идентифицируют компоненты и службы сети логическими именами, не связанными с диапазо­ нами глобальных адресов и службами маршрутизации. Службы преобразования имен обеспечивают преобразование локальных идентификаторов в уникальные для всей сети глобальные иден­ тификаторы. Сетевые программные средства ориентированы на возможность создания нового прикладного программного обеспе­ чения на их основе, а также использование старых программ без каких-либо переделок. Это достигается за счет того, что сетевое 186
программное обеспечение исключает необходимость учета в при­ кладных программах специфики сетевой обработки. Сети ОЕСпе*. Фирма ОЕС (США), специализирующаяся на производстве мини-ЭВМ, особую известность среди которых в последнее время получили ЭВМ РОР-11 и УАХ, для объедине­ ния мини-ЭВМ в вычислительные сети различной мощности и назначения разработала три варианта сетей: ОЕСпеЫ (1976 г.), ОЕСпеМ1 (1978 г.) и ЭЕСпеМН (1980 г.). На каждую ЭВМ возлагаются функции главных и терминаль­ ных ЭВМ и одновременно с этим функции узла связи: прием, маршрутизация и передача сообщений, циркулирующих между узлами сети. Каждая ЭВМ оснащается техническими и про­ граммными средствами связи (рис. 5.34), выделенными на ри­ сунке штриховкой. Для передачи данных между ЭВМ исполь­ зуются в основном телефонные линии с пропускной способностью 9600 бит/с. Для связи близкорасположенных ЭВМ применяется коаксиальный кабель с пропускной способностью 1 Мбит/с при длине соединения до 2 км и 56 кбит/с — до 6 км. Каналы связи подключаются к ЭВМ через устройства сопря­ жения (адаптеры) и модемы по схеме, представленной на рис. 5.35. Простейшие адаптеры серий ОЫ1, ЭУП и 0(^11 обе­ спечивают сопряжение между общей шиной и модемом: управ­ ляют модемом на основе управляющего слова, загружаемого процессором в адаптер, и преобразуют двухбайтные данные, передаваемые по общей шине, в последова­ тельный код и обратно. При таких адаптерах все функции управления ин­ формационным каналом реализуются процессором, Рис. 5.35. Подключение кана­ лов связи в сети БЕСпе* 1Й7
что приводит к значительным затратам ресурсов процессора. Для разгрузки процессора используются адаптеры, реализующие про­ токолы управления информационным каналом, например адап­ теры Э й Р И и ОМС11. Кроме того, для подключения каналов связи применяются связные процессоры, обеспечивающие обслужи­ вание 8—16 каналов в мультиплексном режиме, буферизацию и частичную обработку пакетов. Сеть ОЕСпе! ориентируется на произвольную конфигурацию связей между ЭВМ. Для экономии средств связи ЭВМ могут объединяться по многоточечной схеме, при которой к одному каналу (коаксиальному кабелю или выделенной телефонной ли­ нии) подключается несколько ЭВМ (на рис. 5.34 обведены штриховой линией), причем одна ЭВМ является главной, а остальные подчиненными. Главная ЭВМ выдает разрешение остальным ЭВМ на передачу данных. Прием данных произво­ дится по способу селекции: каждая из ЭВМ принимает данные, адресованные ей, и игнорирует данные, адресованные другим абонентам. В первых вариантах сетей ОЕСпеН и ОЕСпеЬН связи между парами взаимодействующих ЭВМ устанавливались непосредст­ венно от узла к узлу через канал связи, т. е. две ЭВМ могли взаимодействовать только при наличии между ними прямой связи. Для построения сетей на основе этого принципа требуется большое число модемов и каналов, суммарная стоимость кото­ рых возрастает почти в степенной зависимости от числа узлов связи. Поэтому сети имели небольшое число узлов — как пра­ вило, 3—8. Сеть ОЕСпеЫП построена по принципу коммутации пакетов. Типичный пакет содержит 290 байт: 256 байт данных и служеб­ ные байты, относящиеся к протоколам различных уровней. Па­ кеты передаются по принципу адаптивной маршрутизации с ис­ пользованием таблиц маршрутизации, хранящихся в памяти узлов. Программные средства сетевого обеспечения выбирают для пакетов наиболее короткие маршруты. Таблицы обновля­ ются при изменении состояния каналов —выходе их из строя или значительном снижении надежности передачи данных. Про­ граммное обеспечение позволяет оператору оценивать общую эффективность сети и оптимизировать потоки данных путем из­ менения таблиц маршрутизации. Оператор может при помощи тестов проверять работоспособность систем сети, каналов связи и устройств сопряжения ЭВМ с каналами. Программное обеспечение ОЕСпе1 реализует следующие при­ кладные и системные функции: 1) взаимодействие двух программ, выполняемых в одном или разных узлах связи; 2) удаленный доступ к файлам, сводящийся к передаче фай­ лов между узлами, открытию файлов, добавлению данных в файлы и удалению данных из них, подчинению файлов про­ грамме, находящейся в удаленном узле; 188
Рис. 5.36. Уровни управления в сети ОЕСпе! Штриховые линии — связи по управлению 3) передачу сообщений между терми­ налами; 4) удаленный ввод заданий — для выполнения в удаленном узле команд, посылаемых с терминала; 5) управление сетью — генерацию операционной системы, измерение ха­ рактеристик и контроль функционирова­ ния узлов сети; 6) загрузку программ от удаленных узлов; 7) тестирование элементов сети. Управление в узлах сети строится по восьмиуровневой схеме (рис. 5.36), при­ чем уровни нумеруются начиная с верх­ него. Прикладной уровень / включает в себя прикладные программы и сервис, обеспечивающий доступ к сети. Уровень управления сетью 2 реализует функции установления и поддержания операций, выполняемых сетью. Уровень использо­ вания сети 3 включает в себя сетевые функции уровней / и 2, в том числе уда­ ленный ввод заданий и доступ к файлам. На уровнях 4 и 5 взаимодействуют про­ цессы, (программы), выполняемые в разных узлах. Транспортный уровень 6 управляет обменом данными между узлами. На уровне 7 реализуется протокол информационного канала, обеспечиваю­ щий безошибочную передачу данных. Уровень физического ка­ нала 8 включает в себя программные средства управления уст­ ройствами сопряжения и аппаратурой передачи данных, а также сами устройства сопряжения и модемы. Экспериментальная вычислительная сеть АН Латвийской ССР. Сеть состоит из рабочих, терминальных и коммуникацион­ ных систем (рис. 5.37) [19]. Основные вычислительные ресурсы обеспечивают ЭВМ ЕС-1045 и ЕС-1033, работающими под уп­ равлением операционной системы ОС 6.1 и системных программ СРВ, КРОС, КАМА, ПОИСК и ДИСПЕТЧЕР, к которым до­ бавлены программные средства сетевого метода доступа. Си­ стема СРВ организует ввод, редактирование, поиск данных, от­ ладку и выполнение программ в режиме диалога. Система КРОС осуществляет планирование вычислительных работ с целью повышения производительности ЭВМ. Системы КАМА и ПОИСК обеспечивают работу с базами данных. Система ДИСПЕТЧЕР служит для хранения заданий и результатов их выполнения, передачи результатов пользователям в режимах не189
Рис. 5.37. Экспериментальная вычислительная сеть АН Латвийской ССР медленного и отсроченного вывода, а также для хранения файлов пользователей. Коммуникационные системы выполняют функции коммутации пакетов на основе виртуальных каналов. Эти си­ стемы строятся на базе ЭВМ СМ-4, к которым подключены сете­ вые (СА) и сетевые микропроцессорные (СМ А) адаптеры, обеспечивающие сопряжение ЭВМ с модемами линий связи. Терминальные системы построены на основе ЭВМ «Электро­ ника-100/25», СМ-4 и «Искра-226», оснащенных программными средствами для подготовки заданий, ведения библиотек тестов и взаимодействия с сетью. Терминальные системы подключаются к каналам связи через адаптеры СА, СМА и модемы. Экспериментальная вычислительная сеть строится на основе семиуровневой архитектуры открытых систем, рекомендуемой МОС. Передача данных в сети организована по протоколу Х25. Управление передачей данных между ЭВМ осуществляется на основе транспортного протокола МОС.
ГЛАВА ШЕСТАЯ ЛОКАЛЬНЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СЕТИ 6.1. ПРИНЦИПЫ ПОСТРОЕНИЯ Локальной называется вычислительная сеть, системы которой расположены на небольшом расстоянии друг от друга. Как пра­ вило, локальные вычислительные сети (ЛВС) объединяют в себе ЭВМ и другие устройства вычислительной техники, расположен­ ные в одном помещении, здании или группе зданий на расстоя­ нии не более чем 1—2 км друг от друга. При таких расстояниях наиболее эффективное средство связи между системами, объ­ единяемыми в сеть, — последовательный интерфейс (см. рис. 1.7). В последовательных интерфейсах в качестве передающей среды используются скрученные пары проводов, коаксиальные и воло­ конно-оптические кабели, которые на расстояниях 103 м обеспечи­ вают высокую пропускную способность канала передачи данных от 0,5 до 100 Мбит/с. При столь высокой пропускной способно­ сти в большинстве случаев достаточно иметь единственный ка­ нал— моноканал, обслуживающий все системы ЛВС в режиме мультиплексирования. На основе моноканала строятся две ос­ новные конфигурации сети (рис. 6.1)—магистральная (шинная) и кольцевая. В сетях с магистральной структурой данные, пере­ даваемые любой системой А—Д равнодоступны для остальных систем сети, т. е. передача данных ведется в широковещательном режиме. В сетях с кольцевой структурой данные передаются в одном направлении, указанном на рисунке стрелкой, в сосед­ нюю систему сети, через которую они транслируются в следую­ щую систему, и т. д. В ЛВС могут использоваться и другие конфигурации связей между системами — звездообразная и произвольная. При звездообразной конфигурации в качестве центрального узла может выступать ЭВМ или узел связи, осуществляющий ком­ мутацию данных между системами сети. Произвольная конфигу­ рация обычно представляет собой объединение нескольких маги­ стральных или кольцевых подсетей. При произвольной конфигу­ рации для объединения систем сети могут использоваться узлы связи, осуществляющие коммутацию сообщений, как и в гло­ бальных сетях. Звездообразная и произвольная конфигурация с узлами связи используются значительно реже, чем магистраль­ ные и кольцевые, и в дальнейшем не рассматриваются. Простота структуры ЛВС, обусловленная однотипностью си­ стем в отношении порядка использования моноканала и просто­ той конфигурации связей между системами, а также высокая пропускная способность канала существенно упрощает организа­ цию сети. Во-первых, отпадает необходимость в маршрутизации сообщений (пакетов), поскольку в структурах с моноканалом 191
Рис. 6.1. Магистральная (а) и кольцевая (б) структура ЛВС маршруты однозначно определены; следовательно, отсутствует необходимость в сетевом уровне управления — уровне 3. Во-вто­ рых, при высокой пропускной способности канала нет надобно­ сти в процедурах, обеспечивающих эффективное использование ресурсов канала, а также в различных форматах сообщений. Даже при использовании одного формата информационная из­ быточность сообщений существенно не сказывается на эффектив­ ности сети. В связи с этим достаточно несложны технические и программные средства, что позволяет использовать ЛВС для со­ пряжения мини- и микро-ЭВМ. Естественно, что в состав ЛВС могут включаться и ЭВМ общего назначения. Как и в глобальных сетях, организация ЛВС базируется на принципе многоуровневого управления процессами с вытекаю­ щей из этого иерархией протоколов и интерфейсов. Уровни и протоколы ЛВС обычно интерпретируются в терминах стандарт­ ной семиуровневой архитектуры открытых систем (см. рис. 5.4). Применительно к специфике средств передачи данных, исполь­ зуемых в ЛВС с моноканалом, в рамках уровней управления вводятся подуровни и соответствующие им протоколы. Типичная иерархия уровней управления и протоколов ЛВС представлена на рис. 6.2. Протокол управления физическим каналом (УФК) определяет форму представления и порядок передачи данных через физический канал. Управление физическим каналом сво­ дится к выделению начала и конца кадра, несущего в себе пере­ даваемые данные, формированию и приему сигналов определен­ ной физической природы со скоростью, соответствующей про- Рис. 6.2. Уровни управления и протоколы ЛВС 192
пускной способности канала и, возможно, скорости формирования и анализа специальных кодовых последовательностей, характе­ ризующих состояние канала. Протокол УФК вводит интерфейс, устанавливающий стандартный для всех систем порядок взаимо­ действия с каналом. На рисунке уровень 2 разделен на два подуровня: 2.1— уп­ равление доступом к каналу; 2.2 — управление информационным каналом. Порядок функционирования этих подуровней регламен­ тируется одноименными протоколами УДК и УИК. Протокол УДК устанавливает процедуру передачи данных через канал, коллективно используемый системами, и процедуру селекции данных, передаваемых по каналу. Протокол УИК устанавливает порядок обеспечения достоверности данных при передаче через физический канал, подверженный воздействию помех: формиру­ ются проверочные коды при передаче данных, а также в пункте приема (проверка корректности принимаемых данных), и при обнаружении искажения передача данных повторяется. В боль­ шинстве ЛВС отсутствует необходимость в сетевом уровне уп­ равления, поэтому на рисунке этот уровень не выделен. Необхо­ димость в этом уровне появляется при комплексировании не­ скольких ЛВС, содержащих моноканалы. Однако и в этом случае функции сетевого уровня оказываются, как правило, до­ статочно простыми. На транспортном уровне протокол управления передачей (УП) обеспечивает единый транспортный интерфейс для процессов вы­ сокого уровня. Транспортный уровень ликвидирует различия между потребностями процессов в обмене данными и ограничен­ ными возможностями информационного канала, организуемого нижними уровнями управления. За счет этого при программиро­ вании прикладных процессов нет необходимости учитывать специфику функционирования моноканала. Протоколы высокого уровня — управления сеансами (УС), представлением данных (УПД) и прикладными процессами (УПП) — по своим функциям аналогичны соответствующим про­ токолам глобальных сетей. В ЛВС на представительском уровне реализуется доступ терминалов к процессам, программ к уда­ ленным файлам, передача файлов, удаленный ввод заданий, об­ мен графической информацией и др. При использовании моноканала сложность процедур управле­ ния на физическом, канальном и транспортном уровне невелика. Поэтому эти уровни управления удается эффективно реализо­ вать в основном техническими средствами — специальным кон­ троллером, называемым сетевым адаптером (станцией) ЛВС. Адаптер сопрягает внутреннюю магистраль или интерфейс ввода — вывода ЭВМ или другой системы сети с последователь­ ным интерфейсом. По существу адаптер в совокупности с физи­ ческим каналом образует информационный моноканал (рис. 6.3), к которому подключаются системы сети, выступающие в этом случае в качестве абонентов моноканала. Сетевые адаптеры реа193
лизуют, во-первых, сетевые функции — управление физическим каналом, информационным каналом и передачей и, во-вторых, ин­ терфейсные функции — подключение адаптера к интерфейсу си­ стемы, как правило параллельному. Локальные вычислительные сети используются для комплексирования в основном микро- и мини-ЭВМ. На рис. 6.4, а пред­ ставлена типичная конфигурация ЛВС, предназначенной для расширения возможностей персональных ЭВМ (ПЭВМ). Здесь используются простейшие персональные ЭВМ, состоящие из микро-ЭВМ и дисплея. Вычислительные возможности персональ­ ных ЭВМ расширяются путем подключения их к НМД и систем­ ным устройствам вывода — АЦПУ и графопостроителям (/77), используемым в режиме коллективного доступа. За счет этого каждый пользователь имеет возможность работать с большими наборами данных, размещаемыми вне персональных ЭВМ, и высокоскоростными устройствами вывода. На рис. 6.4, б представлена более мощная сеть, состоящая из персональных ЭВМ, оснащенных дисплеем, накопителем на гиб­ ких магнитных дисках (НГМД) и печатающим устройством, и мини-ЭВМ, предоставляющих пользователям значительные вы­ числительные возможности и базы данных, размещаемые 194
в НМД. Стоимость средств подключения к сети (сетевого про­ граммного обеспечения систем и адаптеров) оказывается значи­ тельно ниже стоимости ресурсов, предоставляемых пользовате­ лям от сети. Эти;./ обусловлена эффективность ЛВС. Кроме того, объединение ЭВМ в сеть позволяет решать более сложные задачи и создает качественно новые условия для параллельной обработки данных коллективами пользователей ЛВС. Отказы в отдельных системах не приводят к отказу сети в целом. Поэтому ЛВС об­ ладают более высокой надежностью, чем системы обработки дан­ ных такой же мощности, построенные на основе единственной ЭВМ с подключенным к ней терминальным оборудованием. Область применения ЛВС чрезвычайно обширна: системы автоматизации проектирования и технологической подготовки про­ изводства, управления производством и технологическими ком­ плексами, конторские системы, бортовые системы управления и др. Системы автоматизации проектирования и технологической подготовки производства, а также конторские (системы управле­ ния снабжением, сбытом, складами, распределением транспорта, системы перечисления платежей и др.) обеспечивают высокую информативность за счет концентрации данных в едином ком­ плексе и оперативного доступа к данным и средствам их об­ работки. Локальные сети являются эффективным способом построения сложных систем управления производственными участками, цехами и предприятиями. В таких системах для управления станками с ЧПУ, промышленными роботами, автоматическими транспортными и складскими средствами используются, как правило, микро-ЭВМ. Системы управления производственными подразделениями связываются с системами автоматизации про­ ектирования, технологической подготовки производства и адми­ нистративного управления производством, образуя интегрирован­ ные производственные комплексы, решающие всю совокупность задач подготовки высокоавтоматизированного производства и управления им. В бортовых системах управления использование моноканала для сопряжения датчиков, устройств отображения и ЭВМ, решающих локальные задачи управления и контроля, по­ зволяет значительно уменьшить число соединений и координиро­ вать работу многих подсистем, в результате чего снижается стоимость системы управления и повышается качество управления судами, самолетами и другими объектами. 6.2. МОНОКАНАЛЫ Моноканал ЛВС состоит из канала передачи данных и сете­ вых адаптеров, сопрягающих ЭВМ с каналом (см. рис. 6.3). Каналы передачи данных. Канал передачи данных состоит из кабеля, по которому передаются сигналы, являющиеся носите­ лями двоичных значений 0 и 1, последовательно передаваемых по каналу. 195
Таблица 6.1. Характеристики кабелей 180 м 600 м 1900 м Стои­ мость (в услов­ ных еди­ ницах) 1 0,3 0,1 1—6 Отличная 2 0,35 0,15 1-3 Удовлетвори­ тельная 3,5 0,5 0,15 3-11 Отличная 7 12 15 1,8 2,5 5,0 0,6 1,0 0,8 0,4 0,7 0,8 То же » Хорошая 2056 6027 518 1512 2,1 3,5 Отличная То же 2,1 » Скорость передачи данных. Мбит/с, на расстояние Тип кабеля Помехоустой­ чивость ш Экранированные пары: с индивидуальной экранировкой пары с общей экраниров­ кой пар Экранированные пары, 100 Ом, с индивиду­ альной экранировкой пары Коаксиальный кабель: 75 Ом; 6,35 мм 75 Ом; 12,7 мм 93 Ом Волоконно-оптическая линия: с плавным профилем показа­ теля преломления и полосой про­ пускания 200 МГц 600 МГц со ступенчатым профилем показа­ т е л я преломления 196 49 207 615 20 Для связи между системами ЛВС используются три типа кабелей: экранированные пары проводов, коаксиальные кабели и волоконно-оптические линии (табл. 6.1). Как видно из таб­ лицы, пропускная способность кабеля уменьшается примерно пропорционально его длине, т. е. с увеличением длины кабеля в 10 раз пропускная способность уменьшается примерно во столько же раз. Помехоустойчивость канала также уменьшается с увеличением его длины. При отсутствии источников сильных электромагнитных помех уровень помехоустойчивости пар и коаксиальных кабелей при длине 102 м не ниже 10~8—10~9 искажений на бит передаваемых данных. Волоконно-оптические линии нечувствительны к электромагнитным помехам и не яв­ ляются источниками электромагнитного излучения. Экранирован­ ные пары применяются в каналах с пропускной способностью до 1 Мбит/с, а коаксиальные кабели —в каналах с пропускной способностью 1—10 Мбит/с. Волоконно-оптические линии исполь­ зуются для создания каналов со сверхвысокой пропускной спо­ собностью—10—100 Мбит/с, а также в бортовых и производ­ ственных системах, работающих в условиях сильных электромаг­ нитных помех. 196
Рис. 6.5. Подключение адаптеров к магистральному каналу Схемы подключения сетевых адаптеров к каналу на основе экранированных пар и коаксиального кабеля приведены на рис. 6.5, а и б соответственно. На концах сегментов витой пары и коаксиального кабеля устанавливаются схемы согласования, состоящие из резисторов. Подключение адаптеров производится через механический разъем, от которого отводится к адаптеру сегмент кабеля ограниченной длины — обычно до 10—20 м. Волоконно-оптический канал (рис. 6.6) строится из сегмен­ тов, соединяющих соседние адаптеры (системы). Для передачи данных в каждом направлении используется самостоятельная линия. Сегмент линии состоит из передатчика Пд, формирую­ щего электрические сигналы с требуемыми временными и элек­ трическими параметрами, светодиода Сд, преобразующего элек­ трические сигналы в световые, волоконно-оптической линии, по которой передаются световые сигналы, фотодиода Фд, восприни­ мающего световые сигналы и преобразующего их в электриче­ ские, и приемника Пр, формирующего сигналы с заданными временными и электрическими параметрами. Адаптеры подклю­ чаются к приемникам и передатчикам и транслируют электриче­ ские сигналы в следующие сегменты волоконно-оптического ка­ нала. Волоконно-оптические линии сопрягаются с приемопере­ датчиками, фото- и светодиодами через оптические разъемы ОР. К сигналам, используемым для передачи данных по каналу, предъявляются следующие основные требования: помехозащищенность, обеспечение синхрони­ зации приема и передачи данных, максимальной пропускной способности ка­ нала и минимальных затрат оборудования в передатчиках, приемниках и ка­ нале. Помехозащищенность сигнала проявляется в возможности выделения дан­ ных, переносимых сигналом, при наличии помех. Синхронизация обеспечивает различимость битов, передаваемых по каналу. Это означает, что каждый бит представляется сигналом в таком виде, что возможно лишь однозначное его восприятие приемниками, т. е. сигнал, относящийся к одному биту, не может быть пропущен или интерпретирован в виде двух и более бит данных. Для увеличения пропускной способности и уменьшения затрат оборудования стре­ мятся использовать сигналы минимальной длительности и по возможности более простой формы. Рис. 6.6. Волоконно-оптический канал 197
Рис. 6.7. Сигналы в каналах ЛВС На рис, 6.7 представлены при­ меры сигналов, используемых для передачи данных в каналах ЛВС. Синхронизация процессов приема и передачи данных наиболее просто реализуется при использовании в мо­ ноканале четырехпроводной линии связи. Одна пара проводов служит для передачи синхросигналов, сле­ дующих с периодом т, а другая — для передачи единичных значений сигналов (рис. 6.7, а). Наличие на одной линии сигнала 1 при отсутст­ вии сигнала на другой воспринима­ ется приемником как 0. Наличие на каждой линии сигнала 1 восприни­ мается как 1. Другой порядок ис­ пользования линий в моноканале ил­ люстрируется рис. 6.7,6. Здесь одна линия используется для передачи сигналов 1, а другая — для передачи сигналов 0. Наличие в одном такте т двух сигналов 1 свидетельствует об ошибке в моноканале. В четырехпроводных моноканалах, как правило, используются в качестве передающей среды витые пары с общим или разделенным экраном. Для уменьшения затрат оборудования в передающей среде каналы строятся по однолинейной схеме — на основе одной витой пары, коаксиального кабеля или волоконно-оптической линии. При использовании электрических сигналов передача единичных и нулевых значений битов может прозводиться разнополярным сигналами. На рис. 6.7, в значение 1 передается импульсом положительной полярности, а значение 0 — импульсом отрицательной полярности. При этом биты данных представляются отдельными сигналами, которые синхронизируют процесс передачи данных. Для передачи данных по однолинейному моноканалу однополярными сигналами используется самосинхронизирующийся, так называе­ мый манчестерский код, идеализированная форма сигналов которого изобра­ жена на рис. 6.7, г. Значение 1 представляется переключением сигнала, напри­ мер из 0 в 1, и тогда значение 0 — переключением сигнала из 1 в 0. Момент переключения сигнала отмечает середину такта, а направление переключения определяет значение передаваемого бита. В момент первого переключения сиг­ нала приемник запускает систему синхронизации, которая разрешает прием сигнала в промежутке времени [т—б, т+б], б<т/2, следующем за моментом по­ ступления предыдущего сигнала. Сигнал, поступивший в этом промежутке вре­ мени, несет значение бита 0 или 1 и одновременно используется как очередной сигнал синхронизации. На основе его выделяется следующий промежуток вре­ мени [т—б, т+б], в течение которого приемник готов принять очередной бит данных. Организация моноканалов. Наиболее существенные аспекты организации моноканала: 1) конфигурация ЛВС; 2) способ до­ ступа к каналу; 3) протоколы управления физическим и информа­ ционным каналом. Эффективность организации моноканала харак­ теризуется следующими основными показателями: 1) затратами оборудования в адаптере, зависящими от конфигурации ЛВС и протоколов канального уровня; 2) пропускной способности; 3) средней задержкой передачи данных; 4) надежностью, свя­ занной в первую очередь с сохранением работоспособности моно198
Рис. 6.8. Формирование сигнала о столкновении канала при отказах отдельных адаптеров и систем сети. Значимость показателей эф­ фективности зависит от области примене­ ния сети: в сетях персональных ЭВМ наи­ более значимым может быть показатель за­ трат оборудования, а в производственных и бортовых системах — надежность моно­ канала. Моноканалы ЛВС строятся из соображений надежности в ос­ новном по принципу распределенного управления доступом к ка­ налу, поскольку при централизованном управлении выход из строя контроллера канала является катастрофическим для сети в целом. При распределенном управлении все станции, подклю­ ченные к каналу, функционируют одинаковым образом, получая информацию о занятости и освобождении канала только исходя из состояния физического канала. В этом случае для каждой станции канал является равнодоступным средством передачи дан­ ных, порядок доступа к которому определяется соответствующим протоколом. Прием данных производится путем селекции — выде­ ления из множества данных тех, которые адресованы конкретной системе. Различают три основных способа доступа к моноканалу: сво­ бодный, управляемый и комбинированный доступ. При свобод­ ном (случайном) доступе каждая система захватывает канал для передачи данных в произвольный момент времени. Если две или более системы одновременно передают данные в канал, за счет интерференции сигналов данные искажаются и подлежат повтор­ ной передаче, момент которой назначается по специальному алго­ ритму. Управляемый (детерминированный) доступ основан на поочередном предоставлении системам разрешения на передачу данных. Комбинированный доступ основан на использовании свободного и управляемого доступа к каналу на разных фазах работы систем. В ЛВС с магистральной структурой наиболее широко используется свободный, а с кольцевой структурой — управляемый доступ. Свободный доступ с проверкой столкновений (СДПС). Этот способ наиболее широко применяется в магистральных структу­ рах. Система захватывает канал и начинает передачу в любой момент времени. Поскольку централизованное управление отсут­ ствует, две и более системы могут вести передачу пакетов одно­ временно. В этом случае происходит столкновение — интерферен­ ция пакетов, передаваемых одновременно, в результате чего все передаваемые пакеты искажаются. Столкновения обнаруживаются путем приема каждой системой передаваемого ею пакета (рис. 6.8). При этом биты, передаваемые в канал, сравниваются с би­ тами, принимаемыми из канала. Если регистрируется несовпаде­ ние переданного и принятого бита, это свидетельствует о столк199
новении пакетов в канале. При обнаружении столкновения си­ стема прекращает передачу пакета и повторяет передачу через некоторое время. Для того чтобы уменьшить вероятность повтор­ ных столкновений, каждая система начинает повторную передачу через случайный промежуток времени с достаточно большим средним значением т. Задержка передачи формируется как слу­ чайная величина, равномерно распределенная в интервале [0, тШах], где Ттах —максимальная задержка повторной передачи. Из-за столкновений реальная пропускная способность моно­ канала оказывается меньше номинальной пропускной способности физического канала. В целях упрощения математических выраже­ ний пропускные способности оценивают числом пакетов, переда­ ваемых за время Г, достаточное для передачи одного пакета по физическому каналу. Время передачи одного пакета по физиче­ скому каналу Т называют окном. Окно Т=Ь/У, где Ь — длина па­ кета (точнее, кадра), бит, и V — пропускная способность физиче­ ского канала, бит/с. С учетом сказанного пропускная способность моноканала 5 характеризуется средним числом пакетов, передава­ емых в одном окне. Очевидно, что 5 ^ 1 . Пропускная способность моноканала при СДПС оценивается следующим образом. Столкновения исключаются, если в течение периода 27\ называемого периодом уязвимости, передается только один пакет (рис. 6.9). Если в течение периода уязвимости будет передаваться еще один пакет, который начинается либо в первом окне, либо во втором, происходит столкновение. Для наиболее простой оценки предположим, что поток запросов на передачу создается бес­ конечным числом систем, работающих независимо друг от друга и в результате этого порождающих пуассоновский поток запросов с суммарной интенсивностью О запросов на одно окно. Вероятность передачи пакета без столкновения опре­ деляется вероятностью поступления в период уязвимости только одного пакета и равна ц=е~20. Следовательно, только #-я часть пакетов будет передана без искажений и интенсивность потока неискаженных пакетов 8 = Ое-20. (6.1) Значение 5 характеризует пропускную способность моноканала, зависи­ мость которой от интенсивности потока запросов О представлена на рис. 6.10 кривой СДПС. Максимум пропускной способности достигается при 0=0,5 за­ просов на окно и составляет 5 = 1/(2е) » 0,184 пакета на окно. (6.2) Таким образом, СДПС позволяет использовать для передачи данных не бо­ лее 18,4 % пропускной способности канала. Рис. 6.9. Период уязвимости СДПС пакета при Рис. 6.10. Скорость передачи пакетов 200
При конечном числе систем М пропускная способность моноканала 5 = С(1-С/М)М-1. (6.3) При М->оо эта зависимость принимает вид (6.1). Задержка пакетов зависит от числа попыток передачи пакета, от задержки повторной передачи и является случайной величиной. Отношение д=3/0 харак­ теризует долю пакетов, передаваемых без искажений, т. е. вероятность передачи без столкновений. Число попыток до успешной передачи — геометрически рас­ пределенная случайная величина рп—(\—<7)п~1<7, я = 1 , 2, . . . Величина рп — вероятность передачи пакета с п-к попытки. Среднее число попыток п = 1/(у = С/5 (6.4) и средняя задержка пакета при передаче через моноканал г* и = Лт + Г = — т + Г, (6.5) о где х — средняя задержка повторной передачи. Обычно значение т представляют в нормированном виде — в числе окон длительностью Т. В таком случае нормированная средняя задержка пакета, оп­ ределяемая числом окон, •> {/„ = — - т н + 1 , (6.6) О где т н — нормированная задержка повторной передачи. Обратим внимание на зависимость интенсивности запросов О от задержки передачи: чем меньше т н , тем больше интенсивность запросов О, поскольку каждая система с уменьшением т и начинает чаще обращаться к каналу. Если попытаться уменьшить задержку, интенсивность запросов возрастет и скорость передачи пакетов 5 будет отставать от скорости запросов на передачу данных. Это приведет к тяжелым последствиям: возрастет число пакетов, ожидающих передачи, увеличится задержка передачи пакетов, а скорость передачи будет уменьшаться до весьма малых значений, в результате чего система потеряет устойчивость. Чтобы избежать этого, необходимо ограничивать интенсивность потока запросов (чтобы она не превышала 0,5 пакета на окно), за счет увели­ чения задержки на повторную передачу пакета. Более детально устойчивость систем со свободным доступом обсуждается ниже. Таким образом, СДПС приводит к значительной потере про­ пускной способности канала. Однако этот способ прост в реали­ зации, поскольку обнаружение столкновений и формирование слу­ чайной задержки на повторную передачу обеспечивается весьма простыми средствами. Простота реализации приводит к повыше­ нию надежности адаптеров, а следовательно, и моноканала в це­ лом. Существенный недостаток способа — возможность потери устойчивости из-за пульсаций потока запросов на передачу пакетов. Устойчивость моноканала со свободным доступом. При свобод­ ном доступе к каналу зависимость числа пакетов, ожидающих передачи, от скорости передачи пакетов по каналу и средней за­ держки повторной передачи имеет вид, представленный на рис. 6.11. Скорость передачи пакетов ограничена предельным зна­ чением (для СДПС — значением 0,184 пакета на окно). При фик­ сированной задержке повторной передачи увеличение интенсив201
Рис. 6.11. Число палетов в очереди иа передачу Рис. 6.12. Задержка пере­ дачи пакетов при ССДПС ности поступления пакетов приводит к увеличению пропускной способности канала. При этом число пакетов га, ожидающих передачи, в том числе и повторной, оказывается незначительным и задержка доставки пакетов также невелика. Однако если в не­ который момент времени скорость поступления пакетов превысит предельную пропускную способность, канал переходит в режим, при котором число пакетов га, ожидающих передачи, и, следова­ тельно, задержка передачи пакетов принимает большие значения. В этом режиме из-за большого числа пакетов, ожидающих пере­ дачи, увеличивается вероятность столкновений и с ростом га про­ пускная способность моноканала падает. Основываясь на представленной зависимости га = / ( 5 , т н ), оце­ ним эффект от пульсации потока запросов на передачу пакетов. Пусть к каналу подключено М систем, из которых пакеты на передачу поступают с интенсивностью 5 *. При этом каждая си­ стема порождает новый пакет с вероятностью о=3*/М. Нагрузку на канал в произвольный момент времени I будем характеризо­ вать вектором [га(Т), 5(7)], где т(1)—число пакетов (систем), ожидающих повторной передачи, и 5(7)—скорость поступления новых пакетов, которую будем характеризовать числом пакетов, поступающих для передачи в течение окна. Нагрузка на канал [га(/), 5(0] = И , (М — т)а\ где (М — га) а — число новых паке­ тов, порождаемых (М — га) системами, каждая из которых в те­ чение окна может получить пакет с вероятностью а. С увеличе­ нием числа пакетов га, ожидающих передачи, скорость поступле202
кйя новых пакетов 8(() линейно уменьшается, поскольку число систем конечно. Линия т = М — 5/а, изображенная на рис. 6.11 штрихами, называется линией нагрузки канала. Если в момент времени / скорость поступления новых пакетов $ ( / ) ^ 5 * , то на­ грузка канала [т(1), 5(/)]=[0, 5*/а] = [0, М]. Если же скорость поступления пакетов упала до нуля, то нагрузка [ т ( / ) , 5(/)] = [Л4, 0]. Пульсация потока пакетов, поступающих в моноканал для передачи, может интерпретироваться перемещением точки ( т , 5) по линии нагрузки. Точка пересечения линии нагрузки с кри­ вой т=1(3, тн) называется рабочей точкой канала. При задержке тн = 5 возникает две рабочие точки Л5 и В*>. Считается, что канал устойчив, если линия нагрузки пересе­ кает кривую т = / ( 5 , тн) хотя бы в одной точке, и неустойчив, если они не соприкасаются. Устойчивый режим характеризуется тем, что увеличение числа пакетов, ожидающих передачи, сопро­ вождается увеличением пропускной способности канала, за счет чего очередь будет «рассасываться». При неустойчивом режиме увеличение числа пакетов в очереди на передачу сопровождается снижением пропускной способности канала, в результате чего канал переходит в нерабочее состояние, при котором все М си­ стем хранят пакеты для передачи и из-за столкновений ни один пакет не может быть передан. Из этого состояния сеть может быть выведена только путем внешнего вмешательства. Из рис. 6.11 видно, что устойчивость канала обеспечивается за счет согласования интенсивности потока пакетов 5 *, генери­ руемого системами, с предельной пропускной способностью ка­ нала, а также за счет выбора времени задержки повторной пере­ дачи. Интенсивность потока пакетов 5 * должна быть меньше предельной пропускной способности канала, и чем она меньше, тем меньше вероятность потери устойчивости при пульсации на­ грузки. Среднюю задержку на повторную передачу следует уве­ личивать, в результате чего снизится интенсивность повторных передач пакетов при столкновениях. Синхронный свободный доступ с проверкой столкновений (ССДПС). Способ ССДПС применяется в основном в магистраль­ ных структурах. Для уменьшения периода уязвимости работа си­ стем синхронизируется — все системы начинают передачу в один и тот же момент времени. Период синхронизации равен длитель­ ности окна Г, используемого для передачи одного пакета. В ре­ зультате синхронизации период уязвимости уменьшается до од­ ного окна. Если две и более системы начинают передавать пакеты в одном окне, происходит столкновение пакетов, свидетельствую­ щее о невозможности передачи пакетов в текущем окне. После этого каждая система случайным образом вырабатывает задержку Тн=1, ..., Ттах. Система повторно передает пакет в окне, следую­ щем через (тн—1) окон за текущим. Если вновь происходит столкновение пакетов, передача задерживается на тн окон и про­ цесс продолжается до выполнения передачи без столкновения. 203
Для ССДПС скорость передачи пакетов По моноканалу при бесконечном числе систем 5 = бе"0, (6.7) а при числе систем М 8 = 6(\-С1М)м-1. (6.8) Зависимость (6.7) представлена на рис. 6.10 кривой ССДПС. Максималь­ ная скорость передачи пакетов достигается при 0 = 1 запрос на окно и со­ ставляет 5 = 1/е « 0,368 пакета на окно. (6.9) Таким образом, при ССДПС пропускная способность моноканала увеличи­ вается в 2 раза по сравнению с СДПС, но составляет менее 37 % пропускной способности физического канала. Средняя задержка передачи пакета определя­ ется по формулам (6.4), (6.5), причем нормированная средняя задержка повтор­ ной передачи т н =т т ах/2. Зависимость задержки от скорости передачи пакетов по моноканалу представлена на рис. 6.12. При ССДПС существенно повышается по сравнению с СДПС пропускная способность моноканала, но требуются генератор син­ хронизирующих сигналов и линии для их передачи, в результате чего увеличиваются затраты оборудования и снижается надеж­ ность моноканала. Свободный доступ с проверкой несущей (СДПН). Система, имеющая пакет для передачи, перед тем как начать передачу, проверяет состояние моноканала — наличие в нем сигналов, ис­ пользуемых для передачи данных (сигналы несущей частоты, по­ тенциальные или импульсные). Операция проверки состояния ка­ нала называется проверкой несущей. Если канал свободен, адап­ тер системы начинает передачу пакета. Если канал занят, пере­ дача откладывается на время со средним значением, например, Г/2, где Т — время передачи пакета по моноканалу. За счет про­ верки несущей вероятность столкновений существенно умень­ шается (поскольку происходят они только в том случае, если две системы начинают передачу практически одновременно). В резуль­ тате этого увеличивается степень использования пропускной спо­ собности канала, т. е. скорость передачи данных. Скорость передачи данных при СДПН оценивается следующим образом. Предположим, что для всех пар систем сети время распространения сигнала одинаково и равно а. Это время влияет на вероятность столкновения пакетов. Если одна система начинает передачу в момент времени 1У а другая система в момент времени *+6, где 6<а, происходит столкновение пакетов, поскольку в течение времени а после начала передачи занятый канал воспринимается лю­ бой системой как свободный. Вероятность того, что ни одна система не начнет передачу в течение интервала а, равна е~~а0, где а=а/Т — нормированное время распространения сигнала по моноканалу. Скорость передачи по моноканалу Се~а0 5= -. С(1+2а) + е- аС (6.10) При а->0 Нт5 = а-*0 204 0+1 (6.11) * 1;
Зависимость (6.10) для а = 0 и а=0,02 представлена на рис. 6.10. При ма­ лом времени распространения сигнала по каналу ( а < Г ) с увеличением ин­ тенсивности потока запросов на передачу пакетов О скорость передачи пакетов по моноканалу возрастает, приближаясь к пропускной способности физического канала. Нормированная средняя задержка при передаче пакета ^н = (1 + а) + (0/5 — 1 ) ( 2 а + 1 + т н ). (6.12) Проверка^ несущей реализуется достаточно простой схемой, встраиваемой в сетевой адаптер, и приводит к существенному повышению пропускной способности моноканала. Однако СДПН не исключает возможности столкновения пакетов из-за конечно­ сти времени распространения сигналов а, в течение которого две или более системы могут начать передачу пакетов. Последствия столкновения пакетов ликвидируются двумя способами. Во-пер­ вых, в адаптеры систем можно встраивать схемы проверки столк­ новений. В этом случае доступ к каналу осуществляется с про­ веркой несущей и столкновений (СДПНС). Во-вторых, для лик­ видации последствий столкновений можно использовать механизм квитанций и перезапроса. При этом передающая система не конт­ ролирует столкновения и возможно искажение пакетов. Принима­ ющая система проверяет поступивший пакет с помощью контроль­ ного суммирования и передаваемой с пакетом проверочной после­ довательности. Если ошибки в пакете не обнаружены, передающей системе направляется квитанция о приеме пакета. При отсутствии квитанции по истечении тайм-аута передающая система вновь направляет пакет адресату. Эстафетный доступ. В магистральных структурах эстафетный доступ реализуется по схеме, приведенной на рис. 6.13. Сетевые адаптеры систем, подключенные к моноканалу, связаны кольцевой цепью, по которой между адаптерами передается эстафета — сигнал, разрешающий доступ к моноканалу. Если в адаптере пакет на передачу отсутствует, этот адаптер передает эста­ фету следующему адаптеру. Если адаптер хранит пакет для пере­ дачи, то по прибытии эстафеты адаптер начинает передачу пакета в канал и по окончании передачи пересылает эстафету следую­ щему адаптеру. При эстафетном доступе почти полностью исполь­ зуется пропускная способность канала. Время доставки пакета не превышает ЫТ, где М - ч и с л о активных систем в сети и Г —время передачи пакета (кадра) по каналу. Все системы находятся в одинаковых условиях и получают право на передачу с частотой не ниже 1/(МГ). Рис. 6.13. Эстафетный доступ к каналу в ЛВС с магистральной структурой 205
Рис. 6.14. Структура кадра В кольцевых структурах эстафетный доступ к каналу реали­ зуется с использованием эстафеты — маркёра, последовательно передаваемого по кольцу от одной системы к другой. В качестве маркёра используется специально выделенный для этого разряд пакета — бит в последовательности начала кадра ПНК (рис. 6.14). Если система находится в состоянии готовности к передаче пакета и приходит маркёр, она изымает его из кольца и направ­ ляет в канал кадр, пример структуры которого приведен на рис. 6.14. Кадр поступает в следующую систему сети, которая ретранслирует его к очередной системе, и т. д. Каждая система сравнивает свой собственный адрес с адресом получателя, ука­ занным в кадре. Если адреса совпадают, система принимает пакет в свою память и одновременно транслирует его дальше. Факт приема пакета системой отмечается установкой в 1 специального бита приема, выделяемого для этой цели в последовательности конца кадра ПКК. Передающая система находится в состоянии передачи до возвращения в нее отправленного кадра. Принимая ранее переданный кадр, передающая система сравнивает его с хранимым в памяти текстом, анализирует значение бита при­ ема и, установив правильность передачи и факт приема кадра, посылает маркёр следующей системе, которая по получении мар­ кёра имеет право на передачу своего кадра. Если в системе отсут­ ствуют данные для передачи, она передает маркёр следующей системе сети. Таким образом, маркёр последовательно переда­ ется между системами кольца, поочередно предоставляя им право на передачу данных. При начальном запуске ЛВС необходимо сформировать мар­ кёр. Функция формирования маркёра может быть возложена на одну главную систему или на несколько систем сети. В результате помех, воздействующих на канал, и отказов систем маркёр может быть потерян. Факт потери устанавливается главной системой с помощью тайм-аута, длительность которого равна максималь­ ной продолжительности передачи маркёра по кольцу. Если мар­ кёр потерян, главная система генерирует его повторно в авто­ матическом режиме или под управлением оператора. Управление информационным каналом. Информационный ка­ нал ЛВС строится на основе физического канала, дополняя последний средствами обеспечения достоверности данных, переда­ ваемых в форме пакетов между узлами ЛВС. Порядок функцио­ нирования информационного канала задается протоколом управ­ ления, который относится ко второму подуровню уровня 2 (см. рис. 6.2) и определяет формат пакетов, средства контроля дан­ ных и исправления ошибок, вносимых в данные при передаче 206
пакета по каналу. В ЛВС используется дейтаграммный способ передачи данных, т. е. каждый пакет рассматривается как незави­ симый объект, передаваемый между узлами сети. Пропускная спо­ собность моноканала, как правило, превышает потребную для сети, и поэтому нет необходимости в уменьшении размеров служебных полей. В связи с этим в ЛВС обычно используется единственный формат пакета с фиксированным размещением полей, что упро­ щает процедуры и средства формирования и приема пакетов (кад­ ров). Структура кадра представлена на рис. 6.14. Последователь­ ность начала кадра состоит, как правило, из 2—16 битов, исполь­ зуемых в качестве флага начала пакета и поля управления досту­ пом к моноканалу. Поле данных в различных ЛВС имеет разную длину — обычно от 4 до 128, а в отдельных сетях до 512 байт. Корректность данных, содержащихся в пакете, может контроли­ роваться разными способами: по четности байтов или с исполь­ зованием 16- и 32-разрядных циклических сумм. В последователь­ ности конца кадра выделяются поля для кода циклической суммы, признака доставки пакета, признака продолжения сооб­ щения в следующем пакете и др. Система, принимающая пакет, проверяет его корректность с помощью средств контроля достоверности данных. При обнару­ жении ошибки в пакете данных производится повторная передача пакета в порядке, определяемом протоколом управления информа­ ционным каналом, например с использованием квитанции и таймаута. В кольцевых сетях пакет возвращается отправителю с отмет­ кой о приеме, т. е. несет в себе квитанцию об успешном приеме. Если отметка о приеме отсутствует, система повторно пере­ дает пакет и выполняет это действие заданное число раз, опре­ деленное протоколом. Если попытки доставить пакет оказываются безуспешными, фиксируется неработоспособность (недоступность) адресата и взаимодействие прекращается. В магистральных сетях прием подтверждается квитанцией. При отсутствии квитанции производится повторная передача пакета по истечении тайм-аута. 6.3. АДАПТЕРЫ Сетевые адаптеры обеспечивают сопряжение узлов ЛВС с моно­ каналом и реализуют протоколы канального уровня: управления физическим каналом, доступом к каналу и информационным ка­ налом. Структура адаптера представлена на рис. 6.15. Приемо­ передатчик согласует логические сигналы, формируемые в адап­ тере, с физическими сигналами в моноканале — уровнями сигна­ лов в витых парах, биполярными сигналами в коаксиальном кабеле и световыми сигналами в волоконно-оптической линии и тем самым реализует управление физическим каналом. Блок управ­ ления доступом выполняет протокол доступа к моноканалу, вза­ имодействуя с ним через приемопередатчик. Блок управления передачей обеспечивает вывод на приемопередатчик последова­ тельности битов, соответствующих пакету. Блок управления при207
Рис. 6.15. Сетевой адаптер Рис. 6.16. Развязка элементов ЛВС по питанию и заземлению 1-----^208 Рис. 6.17. Приемопередатчик ЛВС с магистральной структурой
емом анализирует пакеты, передаваемые через моноканал, и вы­ деляет пакеты, адресованные узлу, обслуживаемому адаптером. Блоки управления передачей и приемом либо имеют собственную буферную память для хранения пакетов, либо используют память ЭВМ. Четыре указанных блока образуют сетевую часть адаптера, которая связывается с ЭВМ с помощью блока сопряжения через соответствующий интерфейс ввода — вывода. Приемопередатчики. Способ построения приемопередатчиков оказывает значительное влияние на характеристики сети, и в пер­ вую очередь на надежность. При использовании в моноканале витой пары и коаксиального кабеля надежность канала (вероят­ ность искажения передаваемых сигналов и устойчивость к отка­ зам узлов сети) существенно зависит от организации электропи­ тания и заземления приемопередатчиков. Радикальный способ развязки элементов сети по питанию — установка в соответствую­ щих цепях развязывающих элементов — трансформаторов или оптронов (пар из светодиода и фотодиода), разрывающих элек­ трические связи между источниками и приемниками сигналов. В магистральных ЛВС развязывающие элементы устанавлива­ ются между приемопередатчиком и остальной частью адаптера (рис. 6.16, а), а в кольцевых сетях — в конце каждого сегмента кабеля, соединяющего соседние адаптеры (рис. 6.16,6). Пример приемопередатчика для сети с магистральной струк­ турой приведен на рис. 6.17. В качестве передающей среды ис­ пользуется коаксиальный кабель, к которому подключаются уси­ лители передатчика и приемника. Для выявления столкновений пакетов используется схема сравнения, на выходе которой при несовпадении сигналов, поступающих на передатчик и с прием­ ника, формируется сигнал о столкновении. Для электрической развязки приемопередатчика и остальной аппаратуры адаптера используются оптроны. В данной схеме приемопередатчик имеет собственный источник питания, изолированный от земли. Нулевая шина (земля) приемопередатчика соединяется с экраном кабеля, что существенно снижает помехи, возникающие на протяженной шине. Приемопередатчики магистральных сетей должны иметь высокое сопротивление по отношению к каналу, чтобы изменение числа систем (адаптеров), подключаемых к каналу, не вызывало значительного изменения нагрузки. Пример приемопередатчика для сети с кольцевой структурой приведен на рис. 6.18. Сегмент канала, выполненный из экрани­ рованной скрученной пары, соединяет передатчик одного адаптера с приемником следующего адаптера через развязывающий эле­ мент. На выходе приемника формируются логические сигналы, представляющие принимаемые биты. Кроме того, сигналы, посту­ пающие на приемник, используются для выработки сигналов син­ хронизации, обеспечивающих тактирование схем адаптера. Посту­ пившие в адаптер сигналы должны ретранслироваться в следую­ щий адаптер сети. Для обработки поступающей информации (установки бита приема в единицу) в цепь ретрансляции введена 209
Рис. 6.18. Приемопередатчик ЛВС с кольцевой структурой схема задержки битов. Обычно задержка соответствует 2—4 бит. Селектор служит для управления работой передатчика, через ко­ торый на разных этапах работы адаптера могут ретранслиро­ ваться поступающие на вход адаптера данные или выводиться биты передаваемого кадра. В кольцевой сети каждый адаптер, т. е. его приемопередатчик, должен обеспечивать трансляцию сигна­ лов даже при выключении ЭВМ, обслуживаемой адаптером. Поэтому в сети имеется специальный источник питания, к кото­ рому подключаются только приемопередатчики сетевых адап­ теров. Отказ любого приемопередатчика в кольцевой сети нарушает работоспособность всей сети. Для обеспечения надежности сети принимаются специальные меры: устанавливаются обходные реле, замыкающие вход приемника на выход передатчика при отключе­ нии и отказе ЭВМ и адаптера, или кольцо дублируется, т. е. каж­ дый адаптер снабжается двумя приемопередатчиками и для со­ единения систем используются два кабеля (моноканала). Управление доступом и информационным каналом. Как пра­ вило, в сетевом адаптере реализуются функции, обеспечивающие доступ к каналу, прием и передачу пакета, вычисление и проверку контрольных сумм, а функции, связанные с управлением информа­ ционным каналом, возлагаются на программные средства ЭВМ, обслуживаемой адаптером. Блок сопряжения с интерфейсом ЭВМ обеспечивает передачу данных и сигналов прерывания между ЭВМ и адаптером. Наиболее существенное влияние на организацию адаптеров оказывает способ обмена данными между адаптером и ЭВМ. Могут использоваться два способа: без буферизации и с буфери­ зацией пакетов. По первому способу пакет, подлежащий пере­ даче, размещается в оперативной памяти ЭВМ, откуда он пере­ сылается в адаптер в виде последовательности слов. Адаптер пре­ образует каждое поступившее слово в последовательность битов. После передачи битов слова в моноканал адаптер через интер­ фейс ЭВМ обращается к оперативной памяти ЭВМ за следующим словом. При приеме пакета в адаптере из поступающих битов формируются слова, которые последовательно отсылаются в за21р
Рис. 6.19. Управление приемом и передачей в адаптере ЛВС данную область оперативной памяти ЭВМ в темпе формирования слов. По второму способу в адаптере организуются буферные запоминающие устройства для хранения передаваемых и прини­ маемых пакетов. Передаваемый пакет сначала выводится из опе­ ративной памяти ЭВМ и в буфер адаптера, откуда он передается в моноканал. При приеме в буфере накапливается пакет, который по окончании приема передается через интерфейс ЭВМ в задан­ ную область оперативной памяти ЭВМ. Выбор способа обмена данными между адаптером и ЭВМ за­ висит от соотношения пропускной способности интерфейса ЭВМ и моноканала. Если пропускная способность интерфейса меньше, адаптер должен иметь буферную память. В противном случае необходимость в буферизации пакетов отсутствует. Определим в общих чертах структуру управления передачей и приемом кадров (рис. 6.19). При этом предполагается, что кадр имеет структуру, изображенную на рис. 6.14. 211
Управление передачей кадров реализуется следующим обра^ зом. Из ЭВМ в блок сопряжения с интерфейсом перед началом передачи кадра заносится адрес начала области оперативной памяти (в которой хранится пакет), а также длина пакета в би­ тах. Блок сопряжения считывает из оперативной памяти первое слово пакета, которое передается в буфер вывода и затем в пре­ образователь параллельного кода в последовательный, содержа­ щий регистр для хранения одного слова. После освобождения буфера вывода в него передается из оперативной памяти очеред­ ное слово. Передача кадра начинается с посылки в передатчик последовательности начала кадра, формируемой специальным генератором. Вслед за ней через схему бит-стаффинга, обеспечи­ вающую прозрачность физического канала, выводится последо­ вательность битов, составляющих пакет. При этом преобразова­ тель параллельного кода в последовательный по окончании пере­ дачи хранимого в нем слова загружается очередным словом из буфера вывода, а в последний вводится новое слово пакета, счи­ тываемое из оперативной памяти. Процесс продолжается до тех пор, пока не будет передано заданное число битов, что отме­ чается сигналом хь формируемым счетчиком длины. При передаче данных определяется контрольная сумма, которая передается вслед за данными, после чего на передатчиках выводится последовательность конца кадра, формируемая генератором пкк. Готовность адаптера к приему кадра обеспечивается переда­ чей адреса оперативной памяти, выделенной для размещения при­ нимаемого пакета из ЭВМ в блок сопряжения. Сигналы с прием­ ника обрабатываются блоком управления следующим образом. Распознаватель последовательности начала кадра формирует сигнал Х\, отмечающий начало пакета, передаваемого в кадре. Последующие биты, поступающие из приемника, обрабатываются схемой удаления бит-стаффинга и поступают на распознаватель адреса, сравнивающий адрес получателя с собственным адресом адаптера. Совпадение адресов отмечается сигналом л:3, опреде­ ляющим принадлежность передаваемого кадра данному адаптеру. Принимаемые биты поступают на преобразователь последователь­ ного кода в параллельный. Сформированное преобразователем слово передается в буфер вывода, из которого оно записывается в соответствующую ячейку оперативной памяти. Биты, составляю­ щие пакет, формируются на счетчике длины и обрабатываются генератором контрольной суммы. Счетчик фиксирует длину приня­ того пакета и формирует сигнал Х\, если длина пакета превосхо­ дит предельную допустимую. При обнаружении ошибки в пакете генератор контрольной суммы вырабатывает сигнал х$. Прием кадра и передача содержащегося в нем пакета в оперативную память заканчивается при поступлении последовательности конца кадра, что отмечается сигналом х2- Сигнал д:4, формируемый счет­ чиком длины, используется для прекращения приема пакета, имеющего недопустимую длину. 212
Блок сопряжения с интерфейсом ЭВМ По окончании передачи и приема кадра передает в ЭВМ слово состояния адаптера, содер­ жащее необходимую информацию о ходе передачи и приема кадра. 6.4. РАСШИРЕНИЕ И КОМПЛЕКСИРОВАНИЕ Расширение ЛВС направлено на увеличение протяженности сети и числа узлов, объединяемых сетью, что достигается увеличением длины моноканала. Комплексирование сетей — информационное объединение нескольких сетей че­ рез средства передачи данных. Способы расширения. В ЛВС с магистральной структурой вводится ог­ раничение на предельную длину кабеля и число подключаемых к магистрали систем (приемопередатчиков), за счет чего достигается требуемая пропускная способность магистрали при умеренных затратах оборудования в приемопе­ редатчике. Для увеличения протяженности магистрали используются ретранс­ ляторы (повторители) (рис. 6.20, а), обеспечивающие восстановление электри­ ческих и временных параметров сигналов. При этом нагрузка на любой пе­ редатчик ограничивается сегментом кабеля и подключенными к нему прием­ никами, в том числе приемником ретранслятора. Приемники остальных сег­ ментов кабеля являются нагрузкой только для ретранслятора. Возможности расширения сети с помощью ретрансляторов ограничиваются пропускной спо­ собностью канала и временем распространения сигнала между наиболее удален­ ными станциями ЛВС, предельное допустимое значение которого определяется протоколами управления физическим каналом и доступом к каналу. Предель­ ные размеры сети ограничены максимальным допустимым числом ретранслято­ ров и расстоянием между наиболее удаленными станциями. Для связи сегментов канала могут использоваться ретрансляторы длинной линии (рис.2 6.20,6), с помощью которых возможна передача сигналов на рас­ стояния 10 —103 м. В ЛВС с кольцевой структурой электрические ограничения на число узлов, объединяемых в кольцо, отсутствуют и ограничивается лишь предельная длина сегмента, соединяющего соседние узлы. Вместе с тем при увеличении числа уз­ лов в кольцевой сети возрастает задержка передачи пакетов и увеличивается время доставки пакетов. Для исключения этого эффекта расширение кольцевых ЛВС производится на основе многоканальной структуры сетей. Способы комплексирования. Для расширения кольцевых ЛВС используются двух- и трехуровневые кольцевые структуры (рис. 6.21). В этом случае сеть Рис. 6.20. Расширение магистральной ЛВС с помощью ретрансляторов 213
^ис. 6.21. Двух- и трехуров­ невая кольцевая структура ЛВС строится из нескольких кольцевых подсетей, в каждой из которых передача дан­ ных происходит в обычном порядке. Для объединения подсетей используется дополнительное кольцо, содержащее коммутационные узлы /СУ, через которые кольца нижнего уровня подсоединяются к кольцевому каналу более высокого уровня. Коммутационные узлы принимают пакеты, адресованные узлам других колец, и направляют их в соответствующие коммутационные узлы для передачи адресату. Коммутация пакетов производится по таблицам маршрутизации, хра­ нимым в памяти коммутационных узлов. За счет иерархических кольцевых структур можно существенно увеличить число станций, входящих в сеть, при­ чем средняя задержка незначительно увеличивается. К тому же при преобразо­ вании кольцевой структуры в оптимальную двух- или трехкольцевую повы­ шается надежность сети. Комплектование моноканальных сетей в сеть более высокого уровня мо­ жет производиться с помощью межканальных станций МКС (рис. 6.22), соеди­ няющих два канала. Межканальная станция выполняет функции, аналогичные функциям узла связи в сетях передачи данных. Она селектирует передаваемые Рис. 6.22. Многоканальная ЛВС 214
по моноканалу пакеты, выделяя из них те, которые адресованы абонентам, под­ ключенным к выходному каналу станции, принимает выделенные пакеты, хра­ нит их в буферной памяти и передает в выходной канал, связывающий МКС с адресатами. При этом необходимость в коммутации пакетов отсутствует, по­ скольку МКС имеет только одно выходное направление. Межканальная стан­ ция, связывающая два моноканала одного типа, называется мостом. Если со­ прягаемые сети находятся на значительном расстоянии, для связи между ними можно использовать линию передачи данных. В этом случае сопряжение сетей производится с помощью двух МКС, связанных линией передачи данных,— длинного моста. Межканальная станция длинного моста преобразует протокол мо­ ноканала в протокол передачи данных, например, НОЬС, и обратно. Многоканальная сеть может быть однородной, включающей в себя моно­ каналы одного типа, а также неоднородной и объединять сети с магистральной и кольцевой структурой и разными протоколами управления физическим кана­ лом, доступом к каналу и информационным каналом. В последнем случае, кроме селекции и управления каналами, необходимо преобразование протоколов ин­ формационных каналов. Для этих целей используется интерфейсная система, иначе называемая шлюзом. Интерфейсная система строится на базе микро-ЭВМ, реализующей функции преобразования протоколов. К микро-ЭВМ подключа­ ются адаптеры для сопряжения ЭВМ с моноканалами. С помощью интерфейс­ ной системы возможно сопряжение ЛВС и СПД с использованием протокола Х25, т. е. объединение локальных и глобальных вычислительных сетей. 6.5. РЕАЛИЗАЦИЯ Разработка ЛВС началась в 70-х годах. К настоящему вре­ мени создано большое число вариантов ЛВС, отличающихся типом передающей среды, пропускной способностью моноканала, структурой и назначением. Типичные области применения ЛВС — системы административного управления (учрежденческие), авто­ матизации проектирования и технологической подготовки произ­ водства, автоматизации научных исследований, промышленные системы (системы управления технологическими процессами и производством) и бортовые. К последним предъявляются требо­ вания повышенной надежности при работе в условиях сильных электромагнитных помех и, возможно, в широком диапазоне тем­ ператур окружающей среды. Ниже описываются три реализации ЛВС, наиболее ярко пред­ ставляющие основные аспекты организации сетей. Сеть Е1Ьегпе1. Эта сеть разработана в середине 70-х годов фирмой «Ксерокс» (США), и ее архитектура используется в каче­ стве типовой фирмами БЕС и «Интел», производящими мини- и микро-ЭВМ. Основное назначение сети — системы администра­ тивного управления. Сеть имеет магистральную структуру. В качестве передающей среды используется коаксиальный кабель, передача данных по которому выполняется со скоростью 10 Мбит/с. Сеть может объ­ единять до 1024 систем при максимальном расстоянии между ними 2,5 км. Структура сети представлена на рис. 6.23. В простейшем ва­ рианте (рис. 6.23, а) сеть состоит из сегмента (длиной до 500 м) коаксиального кабеля, к которому может подключаться до 100 приемопередатчиков, обслуживающих системы. Кабель при215
Рис. 6.23. Варианты ЛВС емопередатчика состоит из четырех витых пар для передачи, приема данных, передачи сигналов столкновения и питания. Мак­ симальная длина кабеля приемопередатчика 50 м. В варианте на рис. 6.23, б сегменты объединяются в магистраль с помощью ре­ трансляторов, подключаемых к приемопередатчикам. Между лю­ быми двумя системами не может быть более двух ретрансляторов. Пример сложной конфигурации представлен на рис. 6.23,6. Для связи удаленных сегментов используется ретранслятор длинной линии, предельная длина которой может достигать 1 км. При лю­ бой конфигурации расстояние между системами не должно пре­ вышать 2,5 км. Сеть имеет трехуровневую организацию. Верхний уровень — прикладной —объединяет функции и средства обработки данных ?1б
Рис. 6.24. Формат кадра ЛВС ЕШегпе! и ввода—вывода сообщений. Канальный и физический уровни обеспечивают до­ ступ к моноканалу и передачу по нему сообщений. Функции двух нижних уров­ ней реализуются приемопередатчиком и сетевым адаптером, который в этой сети называется абонентской станцией. При­ емопередатчик установлен непосредст­ венно на коаксиальном кабеле и служит для формирования сиг­ налов, приема сигналов из канала и выявления столкновений. С помощью кабеля к приемопередатчику подсоединяется плата контроллера — абонентской станции, которая реализует доступ к моноканалу, передачу и прием сообщений, а также сопряже­ ние с интерфейсом ЭВМ — шиной ввода—вывода. ЭВМ выполняет прикладные функции, функции управления передачей данных между взаимодействующими процессами (абонентами), а также часть функций по управлению информационным каналом. Передаваемые по каналу данные представляются в манчестер­ ском коде. Для исключения потерь первых битов кадра передача предваряется последовательностью из 64 бит: 1010101010101010 . . . 10101011 Последовательность 1010...10 — это серия сигналов с часто­ той 5 МГц. Код 11, завершающий последовательность, отмечает момент начала кадра. Приемник включается в работу при обна­ ружении последовательности 1010...10 и после поступления кода 11 начинает прием битов кадра. После исчезновения сигналов в канале кадр считается принятым и начинается его обработка. Способ доступа к каналу — свободный с проверкой несущей и столкновений. Контроллер проверяет наличие сигналов в канале и после исчезновения несущей начинает передачу кадра в канал с задержкой 9,8 мкс. Задержка создает межкадровый интервал, в течение которого аппаратура контроллеров восстанавливает свое исходное состояние и может принимать очередной кадр. В том случае, если при передаче приемопередатчик выявляет столкно­ вение, контроллер прекращает передачу кадра и «подкрепляет» столкновение, передавая в канал помеху в виде последователь­ ности из 32—48 бит. При этом системе разрешается сделать еще 15 попыток передачи кадра. Если все 16 попыток оказались не­ удачными, выдается сигнал об ошибке. Формат кадра сети «ЕШегпеЬ представлен на рис. 6.24. Ад­ реса разделяются на три типа: физические, групповые и широко­ вещательные. Физический — адрес, однозначно определяющий си­ стему сети. Групповой адрес определяет группу систем. Широко­ вещательный адрес относится ко всем системам сети. Тип адреса кодируется в первом бите адреса приемника: 0 — физический, 1 — групповой или широковещательный адрес. Последний коди217
Таблица 6.2. Структура пакета сети Номер бита Назначение Номер бита Назначение 1 2 Метка начала пакета Эстафета (метка „сво­ боден-занят") Метка монитора Адрес приемника 12—19 20—35 Адрес источника Данные 36—37 38 Метка приемника Бит четности 3 4—11 руется единицами во всех 48 разрядах поля адреса приемника. Источник идентифицируется своим физическим адресом, представ­ ляемым во втором поле кадра. Поле типа кадра идентифицирует команды и ответы. Контроль правильности передаваемых данных осуществляется с помощью 32-разрядного циклического кода. Сеть СатЬпй^е Кт& (Кембриджское кольцо). Сеть разработана в Кемб­ риджском университете в 1979 г. Аппаратура выпускается под названием Ро1упе1. Сеть имеет кольцевую структуру. Сетевые адаптеры соединяются кабе­ лем, состоящим из двух пар скрученных экранированных проводов. Обе пары используются для передачи сигналов. Значение 1 передается сигналами сразу по двум парам, значение 0 — сигналом по одной паре. Эти же пары использу­ ются для питания: цепи разных пар имеют различные потенциалы. Расстояние между соседними адаптерами не должно превышать 100 м, чтобы скорость пе­ редачи данных по моноканалу была не менее 10 Мбит/с при достаточно про­ стых приемопередатчиках. Данные передаются по кольцу в виде пакетов из 38 бит. Структура пакета определена в табл. 6.2. Пакет может быть свободным или заполненным. Сво­ бодный пакет отмечается единичным значением во втором бите 2. При прохож­ дении через адаптер, хранящий данные для передачи, свободный пакет запол­ няется данными и передается как занятый по кольцу от источника к прием­ нику. Адаптер, которому адресован пакет, отмечает (метка приемника) «пакет принят», «пакет отвергнут», «приемник занят». Пакет возвращается источнику, где сравнивается с переданным оригиналом, и при условии приема адресатом очищается от данных и возвращается в кольцо как свободный. Реагируя на метки «пакет отвергнут» и «приемник занят», адаптер-источник повторяет пере­ дачу пакета. Отсутствие метки приемника в битах 36—37 воспринимается адап­ тером-источником как метка «нет реакции приемника». Для устранения некоторых ошибок функционирования сети используется станция-монитор. Монитор отмечает каждый проходящий пакет установкой бита 3 в единицу. Если поступает пакет с меткой монитора, равной 1, значит, си­ стема-источник по какой-то причине не освободила пакет. В этом случае очи­ стку пакета выполняет монитор. При запуске сети монитор генерирует набор свободных пакетов, число которых фиксированно и зависит от протяженности кольца. При этом учитывается, что каждый адаптер по кольцу вносит за­ держку 2 бита и задержка кабеля составляет 4 бита на каждые 100 м длины. В сети СК реализована передача данных в режиме сеанса связи, преду­ сматривающая передачу серии взаимосвязанных пакетов, длина которой опреде­ ляется при генерации сети. Для установления сеанса связи источник формирует и передает пакет, несущий заголовок сеанса. В заголовке указывается число пакетов, передаваемых в одном блоке. Если приемник готов принять блок дан­ ных, он возвращает источнику пакет с заголовком сеанса и меткой «пакет принят»; в ответ источник передает адресату последовательность пакетов, обра­ зующих блок данных. Блок снабжается контрольной суммой длиной 16 бит. Кроме того, в сети СК имеется узел управления именованием, содержащий мик­ ропроцессор. Узел выполняет преобразование логических имен в физические адреса станций и обратное преобразование, благодаря чему абоненты сети мо218
Рис. 6.25. Формат кадра ЛВС (проект 802) гут пользоваться произвольной системой именования, не связанной с физическими адресами узлов. Проект 802 стандарта ЛВС. Институт инженеров по электро­ технике и радиоэлектронике (ШЕЕ) в США подготовил в 1981 г. проект стандарта локальных сетей. Проект охватывает только два нижних уровня сетевых средств — управление физическим и информационным каналом, включая управление доступом к ка­ налу, и устанавливает протоколы уровней 1, 2.1 и 2.2 (см. рис. 6.2). В основу управления информационным каналом положен про­ токол НГОЬС — стандартный протокол второго уровня, используе­ мый в сетях передачи данных с коммутацией пакетов. Формат кадра, определяемый проектом 802, представлен на рис. 6.25. Кадр обрамлен флаговыми комбинациями 01111110, используе­ мыми на уровне управления физическим каналом. Адреса назна­ чения и источника кодируются одним (как и на рисунке) или не­ сколькими байтами (до семи). Первый разряд байта адреса назы­ вается битом расширения адреса. Когда его значение равно 1, байт адреса является последним. Если бит расширения равен 0, адрес продолжается в следующем байте кадра. Например, двух­ байтовый адрес назначения имеет следующую структуру: о ио в в в в в в 1 в в в в в в в, а двухбайтовый адрес источника — С С1Я 5 5 5 5 5 5 1 5 5 5 5 5 5 5, где В и 5 — биты адреса, принимающие значение 0 или 1. Второй бит адреса источника Ь/О — идентификатор типа ад­ реса: /,/О = 0 обозначает индивидуальный адрес, а Ь/0=1 — групповой адрес. Групповой адрес относится к совокупности си­ стем. Единицы во всех битах адреса назначения определяют гло­ бальный адрес, относящийся ко всем абонентам сети. Бит С/Я адреса источника используется для обозначения команд и ответов: С//? = 0 —команда; С//?= 1 —ответ. Адрес источника может быть только индивидуальным. Байт управления используется для обо­ значения типа кадра. 219
Применяются три типа кадров: / — информационный, С — уп­ равляющий, {]—ненумерованный. Тип кадра определяется зна­ чением одного или двух первых битов поля управления. Инфор­ мационные кадры служат для передачи нумерованных кадров и несут в поле управления следующие данные: N(5)—порядковый номер передаваемого кадра по модулю 8; N(11)—порядковый номер следующего принимаемого кадра по модулю 8; Р/Р— бит запроса — ответа. Кадр команды с битом запроса Р/Р=1 исполь­ зуется для обращения к системе-адресату с целью получения кадра ответа, который должен идентифицироваться битом Р/Р= = 0. Управляющие кадры С предназначены для передачи подтвер­ ждений о приеме кадров, запросов на повторную передачу инфор­ мационных кадров и на временное прекращение передачи кад­ ров /. В кадрах С поле СС указывает функцию управления, опре­ деляемую кадром. Ненумерованные кадры V используются для реализации дополнительных функций управления передачей дан­ ных и для передачи ненумерованных пакетов данных. Область данных может содержать любое целое число байтов, а в управ­ ляющих и ненумерованных кадрах может отсутствовать. Код цик­ лической суммы КЦС служит для проверки корректности кадра. Допускается использование 16- и 32-разрядных циклических сумм. Состав команд и ответов, переносимых кадрами разных типов, перечислен в табл. 6.3. Кадр «Запрос» используется для повторной передачи кадров типа /, начиная от кадра с номером М(/?). Команда «Идентификация станции» слу­ жит для получения данных о типе системы, предельном размере принимаемого кадра и др. С помощью ответа «Отказ» система, выдавшая команду, извеща­ ется о переходе отвечающей системы в состояние, которое не может быть ис­ правлено посредством повторной передачи. Проект 802 определяет два способа доступа к моноканалу: свободный до­ ступ с проверкой несущей и столкновений и эстафетный доступ. Способ СДПНС реализуется так же, как в сети ЕШегпе*. Эстафетный доступ распространяется как на кольцевую, так и на магистральную структуру моноканала. В каждом случае эстафета передается последовательно от системы к системе. При этом в магистральной структуре организуется логическое кольцо за счет того, что Таблица 6.3. Состав команд и ответов Тип кадра I Данные Данные С Готов к приему Не готов к приему Запрос Готов к приему Не готов к приему Повторная передача Ненумерованные данные Ненумерованное подтвержде­ ние Режим разъединения Отказ V 220 Ответ Команда Разъединение Асинхронный сбалансирован­ ный режим Идентификация станции Идентификация станции
смстема передает эстафету следующей системе в кадре управления, получает ответ о приеме кадра и переходит в состояние ожидания приема данных, в ко­ тором пребывает до получения эстафеты. Для поддержания работы кольца используются специальные процедуры контроля использования моноканала, из­ менения структуры кольца при отказе станций и создания кольца. Проект 802 предусматривает четыре стандартные скорости передачи дан­ ных: 1, 5, 10 и 20 Мбит/с. В качестве передающей среды допускается исполь­ зование экранированных скрученных пар, коаксиального или волоконно-оптиче­ ского кабеля. ГЛАВА СЕДЬМАЯ ОСНОВЫ ТЕОРИИ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ 7.1. ПРЕДМЕТ И ЗАДАЧИ Теория вычислительных систем — инженерная дисциплина, объ­ единяющая методы решения задач проектирования и эксплуата­ ции ЭВМ, вычислительных комплексов, систем и сетей. Предмет теории. Предметом исследования в теории вычисли­ тельных систем являются вычислительные системы в аспектах их производительности, надежности и стоимости. В системе выделя­ ются следующие составляющие: 1) технические средства, определяемые конфигурацией си­ стемы— составом устройств и структурой связей между ними; 2) режим обработки, определяющий порядок функционирова­ ния системы; 3) рабочая нагрузка, характеризующая класс обрабатывае­ мых задач и порядок их поступления в систему. Когда ЭВМ, вычислительный комплекс, система или сеть ис­ следуется в целом, как органическое единство составляющих во взаимодействии с окружающей средой, и при этом проявляются общесистемные свойства и характеристики, говорят, что исследо­ вание проводится на системном уровне. Представление исследуе­ мых объектов (ЭВМ, комплексы, системы и сети) на системном уровне — наиболее характерная черта теории вычислительных систем. Предметом исследования может быть функционирование про­ цессора, внешнего запоминающего устройства и канала ввода — вывода, обмен данными между уровнями памяти, планирование, обработка, системный ввод — вывод и др. При этом свойства эле­ ментов и подсистем изучаются применительно к целям исследо­ вания всей системы, например к оценке производительности, и рассматриваются как части системы, функционирующие во вза­ имодействии с остальными частями. Задачи анализа. Анализ вычислительных систем — определение свойств, присущих системе или классу систем. Типичная задача анализа — оценка производительности и надежности систем с за­ данной конфигурацией, режимом функционирования и рабочей 221
нагрузкой. Другие примеры задач: определение (оценка) вероят­ ности конфликта при доступе к общей шине, распределения дли­ тельности занятости процессора, загрузки канала ввода — вывода. В общем случае задача анализа формулируется следующим образом. Исходя из цели исследования назначается набор харак­ теристик У= {уи • • •, Ум} исследуемого объекта (вычислительная система, ее элемент, подсистема, некоторый процесс и др.) и точ­ ность А = {6ь... ,8м}, с которой они должны быть определены. Требуется найти способ оценки характеристик У объекта с задан­ ной точностью А и на основе этого способа определить характе­ ристики. При анализе систем в процессе эксплуатации оценка характе­ ристик У производится, как правило, измерением параметров функционирования с обработкой измерительных данных. В этом случае используется методика, устанавливающая состав измеряе­ мых параметров, периодичность и длительность измерений, а также измерительные средства и средства обработки данных. В целях сокращения затрат на анализ стремятся измерять по воз­ можности меньшее число наиболее просто измеримых параметров Х={хи • • •, #ет}, а требуемый набор характеристик определять кос­ венным методом — вычислением с использованием зависимостей Ут = Ц)т(Х), т=1, ..., М. Эти зависимости либо имеют статистиче­ скую природу, либо создаются на основе фундаментальных зако­ номерностей теории вычислительных систем. При анализе проектируемых систем для оценки характеристик У необходимо располагать моделью 5^, устанавливающей зависи­ мость У=Р(Х) характеристик от параметров системы X, опреде­ ляющих ее конфигурацию, режим функционирования, рабочую нагрузку. В этом случае решение задачи сводится к проведению на модели экспериментов, позволяющих дать ответы на интересу­ ющие вопросы. Точность оценки характеристик проектируемой системы зависит от адекватности модели и погрешности измере­ ния параметров X. Задачи идентификации. При эксплуатации вычислительных си­ стем возникает необходимость в повышении их эффективности путем подбора конфигурации и режима функционирования, соот­ ветствующих классу решаемых задач и требованиям к качеству обслуживания пользователей. В связи с ростом нагрузки на си­ стему и переходом на новую технологию обработки данных может потребоваться изменение конфигурации системы, использование более совершенных операционных систем и реализуемых ими режимов обработки. В этих случаях следует оценить возможный эффект, для чего необходимы модели производительности и на­ дежности системы. Построение модели системы на основе априор­ ных сведений об ее организации и данных измерений называется идентификацией системы. Порядок идентификации вычислительной системы иллюстри­ руется рис. 7.1. В соответствии с природой исследуемых явлений для их представления предлагается функциональная модель, опи222
Рис. 7.1. Схема идентификации вычислительной системы сывающая явления с точ­ ностью до значений пара­ метров функций. Процесс создания такой модели на­ зывается функциональной идентификацией системы. В качестве функциональ­ ных моделей могут исполь­ зоваться различные мате­ матические системы — диф­ ференциальные и алгебраи­ ческие уравнения, сети мас­ сового обслуживания и др., адекватно представляющие исследуемые аспекты. После того как выбрана функциональная модель, необходимо определить ее параметры. Этот процесс называется параметриче­ ской идентификацией. Для параметрической идентификации к вы­ числительной системе подключаются необходимые измерительные средства. Получаемые данные используются системой оценки параметров и характеристик для вычисления параметров X* и характеристик У* системы, а также параметров модели А={ап}. Система оценки представляет собой набор программ для обра­ ботки измерительных данных, реализующий набор методов оценки параметров и характеристик. Вычисленные значения парамет­ ров А вводятся в модель, полностью определяя ее. Значения пара­ метров X* и характеристик У* системы используются для проверки адекватности модели, т. е. оценки погрешности Д воспроизведения моделью характеристик системы. Оценка производится путем сравнения значений характеристик У=/ 7 (Х*), порождаемых мо­ делью, с зарегистрированными характеристиками У* системы. Если модель адекватна системе, то используется для прогнозиро­ вания свойств системы, что сводится к вычислению на основе мо­ дели характеристик У=Р(Х)У соответствующих новым значениям X параметров системы. Задачи синтеза. Синтез — процесс создания вычислительной системы, наилучшим образом соответствующей своему назначе­ нию. Исходными в задаче синтеза являются следующие сведения, характеризующие назначение системы: 1) функция системы (класс решаемых задач); 2) ограничения на характеристики си­ стемы, например на производительность, время ответа, надежность и др.; 3) критерий эффективности, устанавливающий способ оценки качества системы в целом. Необходимо выбрать конфигу­ рацию системы и режим обработки данных, удовлетворяющие заданным ограничениям и оптимальные по критерию эффективно­ сти. Типичная постановка задачи синтеза: спроектировать систему, 223
обеспечивающую решение заданного класса задач Ж с производи­ тельностью не менее Л задач в час, средней наработкой на отказ не менее Т0 и минимальной стоимостью. Математически задача синтеза вычислительной системы форму­ лируется следующим образом. Пусть 6=(в , ь ..., -в^)—вектор параметров, характеризующих класс задач ^ , решение которых является функцией системы; 5 = ($ь... >5Р)—вектор параметров, характеризующий конфигурацию (структуру) системы; С= = (с\, ..., Сп)—вектор параметров режима обработки; У= = (Уи • • •> Ум) — вектор характеристик системы, связанный с пара­ метрами задач 8,7 конфигурации 5 и режима обработки С зави­ симостью У=/ (0, 3, С); 5 = {$/}—множество возможных конфигураций вычислительных систем; С = {С;}— множество воз­ можных режимов обработки. Ограничения на характеристики и параметры системы га9..., г^ (У I) X) будем представлять в виде ^аб 2* а ,..., гшб2*о), где г*а,...,г*и—области допустимых значе­ ний соответствующих характеристик и параметров. Критерий эф­ фективности системы представляется заданной функцией Е = Ф(У), зависящей от характеристик системы, которые в свою оче­ редь предопределяются ее параметрами У=Р(в, 5, С). В уста­ новленных обозначениях задача синтеза вычислительной системы формулируется так: определить конфигурацию 5 и режим обра­ ботки С, максимизирующие эффективность системы тахЕ = тахФ(У) (7.1) 565, С€С при выполнении ограничений (7.2) В отличие от задачи анализа, направленной на определение характеристик системы У по заданным параметрам X, задача синтеза состоит в определении параметров конфигурации 5 и режима обработки С, соответствующих параметрам рабочей на­ грузки 0 и характеристикам системы У, заданным в виде (7.1), (7.2). Для задач синтеза характерны два следующих момента. Во-первых, предполагается наличие модели У=Р(д, 5, С), уста­ навливающей зависимость характеристик системы от ее парамет­ ров. Во-вторых, задача синтеза представляет собой оптимизацион­ ную задачу и предполагает использование метода оптимизации, соответствующего виду целевой функции (7.1) и ограничениям (7.2). Метод оптимизации должен гарантировать определение гло­ бального оптимума целевой функции 2; = Ф(У), определенной на множестве конфигураций 8 и режимов обработки С. Сложность задачи синтеза вычислительной системы обуслов­ лена числом варьируемых параметров, описывающих конфигура­ цию и режим функционирования системы, и областью варьирова­ ния параметров. При общей постановке задачи синтеза, когда 224
множества конфигураций 8 и режимов обработки С включают в себя все мыслимые варианты построения систем (одномашин­ ные и многомашинные, мультипроцессорные и сетевые) и раз­ личные способы управления задачами, данными и заданиями, сложность задачи синтеза превосходит возможности методов моделирования и оптимизации. Поэтому в общей постановке за­ дача синтеза вычислительных систем оказывается неразрешимой. Для решения задачи синтеза ее упрощают разделением на после­ довательность этапов, на каждом из которых выявляются отдель­ ные аспекты организации системы. 1. Исходя из назначения системы (класс решаемых задач, тех­ нология обработки данных, требования к производительности и условия работы) и состояния элементной базы определяется класс вычислительной системы: одномашинная система, мульти­ процессорный комплекс, локальная сеть и др. При этом ана­ лизируется эффективность систем разных классов и выбира­ ется класс, наилучшим образом удовлетворяющий назначению системы. 2. В выбранном классе систем синтезируется архитектура си­ стемы: определяется состав устройств, их функциональные воз­ можности и технические характеристики, типы интерфейсов и структура связей между устройствами, наилучшим образом соот­ ветствующие назначению системы. 3. Определяется режим обработки данных и его параметры (состав и функции системных процессов, алгоритмы распределе­ ния ресурсов между заданиями и задачами, типы и диапазоны приоритетов и др.)- Этим устанавливаются функции управляющих программ операционной системы и состав системного програм­ много обеспечения. Даже при разделении задачи синтеза на три или большее число этапов синтез, связанный с каждым этапом, не удается свести к единой математической процедуре — задаче математиче­ ского программирования. Это обусловлено двумя основными при­ чинами. Во-первых, синтез связан с разнотипными параметрами: одни являются количественными, а другие — качественными, т. е. признаками типа структуры, устройств, памяти, интерфейсов, спо­ собов управления процессами и др. Поэтому синтез сводится к за­ дачам численного математического программирования, а также к комбинаторным задачам на сочетаниях, отношениях и т. д. Объ­ единение разнотипных задач в одну задачу оптимизации оказы­ вается нерезультативным из-за разнотипности вычислительных процедур, которые должны использоваться в процессе оптимиза­ ции. Во-вторых, имеющиеся в распоряжении исследователей мо­ дели носят, как правило, локальный характер, воспроизводя свой­ ства достаточно узкого класса структурных решений и режимов функционирования. Объединение простых моделей в сложную приводит к разрывам функций, невыпуклым зависимостям, что не только затрудняет, но практически исключает возможность применения методов оптимизации. 225
По этим причинам при синтезе систем стремятся по возмож­ ности уменьшать размерность задач путем разделения задачи син­ теза на последовательность этапов, сводящихся к чисто комби­ наторным задачам или задачам численной оптимизации. При этом проектирование системы ведется сверху вниз — от наиболее общих решений, связанных с системой в целом, к частным решениям, относящимся к отдельным подсистемам и их частям. При решении многих задач синтеза приходится использовать весьма простые мо­ дели функционирования системы и ее составляющих, приближенно представляющие зависимости между характеристиками и парамет­ рами. В этих условиях выбор проектных решений производится на основе опыта и интуиции разработчиков. Таким образом, син­ тез вычислительных систем сводится к решению значительного числа взаимосвязанных задач выбора способов организации и определения параметров проектируемой системы в различных ас­ пектах ее организации и в отношении к различным подсистемам и элементам. При этом используются как формальные, так и эв­ ристические методы, причем на долю последних приходится зна­ чительное число проектных задач, выходящих за рамки возможно­ стей известных методов теории вычислительных систем. 7.2. МОДЕЛИ И МЕТОДЫ Специфика предмета и задач теории вычислительных систем порождает особый класс моделей, используемых для представле­ ния порядка функционирования систем и их составляющих с целью прогнозирования производительности, надежности и дру­ гих характеристик, а также совокупность методов решения задач анализа, идентификации и синтеза, опирающихся на соответ­ ствующие модели. Задачи анализа производительности и надеж­ ности, а также задачи синтеза систем с заданной производитель­ ностью и надежностью — наиболее массовые задачи проектирова­ ния и эксплуатации вычислительных систем. Поэтому в теории вычислительных систем наибольшее внимание уделяется моделям производительности и надежности и методам обеспечения требуе­ мой производительности и надежности при проектировании и экс­ плуатации систем различного назначения. Принципы построения и свойства моделей. Модель — физиче­ ская или абстрактная система, адекватно представляющая объект исследования. В теории вычислительных систем используются преимущественно абстрактные модели — описания объекта иссле­ дования на некотором языке. Абстрактность модели проявляется в том, что компонентами модели являются не физические эле­ менты, а понятия, в качестве которых наиболее широко исполь­ зуются математические. Абстрактная модель, представленная на языке математических отношений, называется математической мо­ делью. Математическая модель имеет форму функциональной за­ висимости У=Р(Х), где У={у\,. ..,ум} и Х={х\,... ^ ^ — соот­ ветственно характеристики и параметры моделируемой системы и 226
Р — функция, воспроизводимая моделью. Построение модели сво­ дится к выявлению функции Г и представлению ее в форме, при­ годной для вычисления значений У = Р(Х). Модель позволяет оце­ нивать характеристики У для заданных параметров X и выбирать значения параметров, обеспечивающие требуемые характеристики, с использованием процедур оптимизации. Модель создается исходя из цели исследования, устанавливаю­ щей: 1) состав воспроизводимых характеристик У={у\, - - • ,Ум}\ 2) состав параметров Х={хи... ,хм}, изменение которых дол­ жно влиять на характеристики У; 3) область изменения параметров Хп6*/г*, /г=1, ..., Л/,— об­ ласть определения модели. 4) точность — предельная допустимая погрешность оценки ха­ рактеристик У на основе модели. Состав характеристик У определяется в зависимости от ис­ следуемых свойств системы — производительности, надежности и других и должен гарантировать полноту отображения этих свойств. Состав параметров X должен охватывать все существен­ ные аспекты организации системы, изучение влияния которых на качество функционирования составляет цель исследования, про­ изводимого с помощью модели. Область определения модели ха­ рактеризует диапазон исследуемых вариантов организации систем. Чем обширнее состав характеристик и параметров, а также об­ ласть определения модели, тем универсальнее модель в отношении задач, которые можно решать с ее использованием. Предельные допустимые погрешности оценки характеристик и точность зада­ ния параметров определяют требования к точности модели. Так, если изменения характеристик в пределах 10 % несущественны для выбора того или другого варианта построения системы, то точность определения характеристик должна составлять ± 5 % . В большинстве случаев параметры, в первую очередь параметры рабочей нагрузки, могут быть заданы лишь приближенно, с от­ носительной погрешностью 10—25%. В таких случаях нет смысла предъявлять высокие требования к точности воспроизведения мо­ делью характеристик системы и погрешности их оценки на уровне 5—15 % вполне приемлемы. Модель, удовлетворяющая вышеперечисленным требованиям по составу характеристик и параметров и точности воспроизведе­ ния характеристик во всей области определения, называется адекватной системе. Свойство адекватности модели является отно­ сительным, связанным с целью исследования. Больше всего аде­ кватность проявляется в точности воспроизведения характеристик системы моделью. Существенное влияние на адекватность оказы­ вает область определения модели. Практически любая модель обеспечивает высокую точность воспроизведения характеристик в пределх малой окрестности точки Х={хи... ,хм}, но только вы­ сококачественные модели гарантируют точность характеристик в широком диапазоне параметров X. Чем шире область определе227
ния модели, тем меньше шансов, что некоторая модель окажется адекватной системе. Другое свойство модели — сложность. Сложность модели при­ нято характеризовать двумя показателями: размерностью и слож­ ностью вычислений, связанных с определением характеристик. Размерность модели — число величин, представляющих в модели параметры и характеристики. Так, если модель РА служит для вычисления двух характеристик, зависящих от 5 параметров, а модель Рв— двух характеристик, зависящих от 10 параметров, то размерность модели РА равна 7, а модели Рв—12 и модель Рв рассматривается как более сложная. Сложность вычислений, выполняемых при расчете характеристик У=Р(Х), оценивается числом операций, приходящихся на одну реализацию оператора Р. Обычно сложность вычислений связывается с затратами ресурсов ЭВМ и характеризуется числом процессорных операций и емко­ стью памяти для хранения информации, относящейся к модели. Сложность вычислений — монотонно возрастающая функция раз­ мерности модели. Поэтому более сложной модели присущи одно­ временно большая размерность и сложность вычислений. Сложность модели определяется сложностью моделируемой си­ стемы и назначением модели (состав характеристик и параметров, воспроизводимых в модели), размером области определения и точ­ ностью модели. Чем сложнее система, т. е. чем больше число входящих в нее элементов и процессов, из которых слагается функционирование системы, тем сложнее модель. Увеличение числа воспроизводимых характеристик и параметров, области определения и точности оценки характеристик приводят к увели­ чению сложности модели. Вероятностный подход к моделированию процессов. Произво­ дительность и надежность вычислительных систем связаны с вре­ менными аспектами функционирования. При оценке производи­ тельности первостепенное значение имеет продолжительность вы­ числительных процессов. При оценке надежности исследуется про­ должительность пребывания системы в различных состояниях, которые меняются из-за отказов оборудования и последующего восстановления работоспособности. Для вычислительных систем, рассматриваемых на системном уровне, типично наличие случай­ ных факторов, влияющих на характер протекания процессов. Так, продолжительность процессорной обработки, число и порядок об­ ращений к периферийным устройствам зависят от исходных дан­ ных, которые порождаются вне системы и носят для нее случай­ ный характер. Случайными являются поток отказов и время вос­ становления отказавших элементов. В связи с этим при оценке функционирования вычислительных систем используется вероят­ ностный подход, предполагающий, что на процессы воздействуют случайные факторы и свойства процессов проявляются статистиче­ ски, на множестве их реализаций. Процесы, происходящие в вычислительных системах, представ­ ляются в моделях как непрерывные или дискретные случайные 228
процессы. При исследовании вычислительных систем чаще всего приходится иметь дело с дискретными случайными процессами, определенными на конечном множестве состояний, причем про­ цессы рассматриваются или в непрерывном, или в дискретном времени. Вероятностный подход к описанию функционирования вычис­ лительных систем приводит к использованию аппарата теории вероятностей и математической статистики в качестве математи­ ческой базы методов исследования. Случайные величины, соответствующие параметрам, характе­ ристикам и другим элементам моделей, могут представляться на разных уровнях, среди которых наиболее широко используются следующие четыре: 1) статистическая выборка аи...ап, опреде­ ляющая случайную величину набором значений, имевших место в некоторой реализации случайного процесса; 2) закон рас­ пределения случайной величины; 3) математическое ожидание и дисперсия; 4) математическое ожидание. На первом уровне случайная величина определяется наиболее полно, с наиболь­ шей подробностью, а на последнем уровне — наименее де­ тально. Марковские модели. Основополагающими в теории вычисли­ тельных систем являются модели и аппарат теории марковских процессов. Марковским называется случайный процесс, состояние которого в очередной момент времени / + 6 зависит только от те­ кущего состояния в момент времени I. Это означает, что поведение марковского процесса в будущем определяется текущим состоя­ нием процесса и не зависит от предыстории процесса — состояний, в которых пребывал процесс до момента I. В классе марковских процессов выделяют процессы с дискрет­ ными состояниями, называемые марковскими цепями. Когда мно­ жество состояний процесса 5 = {5Ь ..., 5^} конечно, марковскую цепь называют конечной. Конечная марковская цепь может быть определена в непрерывном или дискретном времени. В первом случае переходы процесса из одного состояния в другое связыва­ ются с произвольными моментами времени 10у 1и ^2, . . . и цепь на­ зывают непрерывной; во втором — только в фиксированные мо­ менты времени, обозначаемые порядковыми номерами / = 0, 1, 2, ..., и цепь называется дискретной. Дискретная марковская цепь определяется: 1) множеством состояний 5 = { 5 Ь ..., 8К}; 2) матрицей вероятностей переходов (переходных вероятно­ стной) (7.3) 229
характеризующей вероятности перехода процесса с текущим со­ стоянием 5г- в следующее состояние 5/, 3) вектором начальных вероятностей (начальным распределе­ нием) я0 = {Р1(0), ..., РкЩ, определяющим вероятности Рг(0) того, что в начальный момент времени ^=0 процесс находится в со­ стоянии 5г. Марковская цепь изображается в виде графа, вершины кото­ рого соответствуют состояниям цепи и дуги — переходам между состояниями. Дуги (/, /), связывающие вершины 5* и 5^, отлича­ ются вероятностями переходов рг> На рис. 7.2 представлен граф марковской цепи с множеством состояний 5={5 Ь . . . , 55}, матри­ цей вероятностей переходов и вектором начальных вероятностей яо = {1, 0, 0, 0, 0}. Марковская цепь порождает множество реализаций случай­ ного процесса / ( 0 , который представляется последовательностью состояний / ( О ^ / о , /ь /2, • ., / ( 0 6 5, соответствующих моментам времени / = 0, 1, 2, . . . Начальное состояние /о=5г определяется вектором начальных вероятностей я 0 . Следующее состояние / 1 = ^ определяется 1-й строкой матрицы вероятностей переходов Р: про­ цесс / ( 0 переходит в состояние /1=5^- с вероятностью рц. Затем процесс переходит в состояние /2 = 5&, определяемое вероятностями р]к, соответствующими состоянию 5^-, и т. д. В результате п шагов процесс попадает в состояния 5 Ь ..., 8К с вероятностями я п = = {Р1(гг), • • •> Рк{п)) соответственно. Марковские цепи классифицируются в зависимости от возмож­ ности перехода из одних состояний в другие. Основными явля­ ются два класса: поглощающие и эргодические цепи. Поглощающая марковская цепь содержит поглощающее со­ стояние, достигнув которого, процесс уже никогда его не поки­ дает, т. е. по сути прекращается. Поглощающее состояние будем обозначать 50. Вероятность перехода Роо=1> и, следовательно, все остальные вероятности Ро^ = 0, / = 1 , ..., К. Матрица вероятностей переходов поглощающей цепи имеет следующий вид: 50 51 1 0 Рю Рп - Рко Ркх «О - Р = [р*/1 = «1 8 230 К • • . . 5 К 0 • Р1К - - Ркк • (7.4)
Рис. 7.2. Граф марковской цепи Рис. 7.3. Граф непрерыв­ ной марковской цепи Из какого бы состояния ни начался процесс, при п-+оо с ве­ роятностью 1 он окажется в поглощающем состоянии 50. Основ­ ная характеристика случайного процесса, порождаемого погло­ щающей марковской цепью,— число пребываний процесса в со­ стояниях 5 Ь ..., 5я до момента поглощения. Число пребываний в каждом из состояний 5г-, 1=1, ..., К и на множестве невозврат­ ных состояний {5Ь ..., 5К} — случайные величины, характеризуе­ мые средними значениями, дисперсиями и распределениями. Для определения указанных характеристик используются методы алге­ браической теории марковских цепей [14]. Поглощающие марковские цепи широко используются в качестве времен­ ных моделей программ и вычислительных процессов. При моделировании про­ граммы состояния цепи отождествляются с блоками программы, а матрица пе­ реходных вероятностей определяет порядок переходов между блоками, завися­ щий от структуры программы и распределения исходных данных, значения ко­ торых влияют на развитие вычислительного процесса. В результате представле­ ния программы поглощающей цепью удается вычислить число обращений к бло­ кам программы и время выполнения программы, оцениваемое средними значе­ ниями, дисперсиями и при необходимости — распределениями. Аналогично вы­ числительный процесс, сводящийся к последовательности обращений к ресур­ сам системы в порядке, определяемом программой, можно представить погло­ щающей марковской цепью, состояния которой соответствуют использованию ре­ сурсов системы — процессора и периферийных устройств, а переходные вероят­ ности отображают порядок обращения к различным ресурсам. За счет этого вычислительный процесс представляется в компактной форме, удобной для ана­ лиза характеристик процесса. Эргодическая марковская цепь представляет собой множество состояний, связанных матрицей переходных вероятностей таким образом, что из какого бы состояния процесс ни исходил, после некоторого числа шагов он может оказаться в любом состоянии. Это означает, что в любое состояние эргодической цепи можно перейти из любого другого состояния за сколько-то шагов. По этой причине состояния эргодической цепи называются эргодическими (возвратными). Процесс, порождаемый эргодической цепью, начавшись в некотором состоянии, никогда не завершается, а по­ следовательно переходит из одного состояния в другое, попадая в различные состояния с разной частотой, зависящей от переход231
ных вероятностей. Поэтому основная характеристика эргодйческой цепи — вероятности пребывания процесса в состояниях 5,, / = 1 , ..., К,— относительные частоты попадания процесса в со­ стояния 5^- и одновременно доля времени, которую процесс прово­ дит в каждом из состояний. В качестве дополнительных характе­ ристик эргодических цепей используются математическое ожида­ ние и дисперсия времени (числа шагов) первого попадания в состояние 5^- из состояния 5; и предельная корреляция числа по­ паданий в состояния 5г- и 5^. Эти характеристики определяются методами алгебраической теории марковских цепей [8]. Эргодические цепи широко используются в качестве моделей надежности систем. При этом состояния системы, различающиеся составом исправного и отказавшего оборудования, трактуются как состояния эргодической цепи, переходы между которыми связаны с отказами и восстановлением устройств и реконфигурацией свя­ зей между ними, проводимой для сохранения работоспособности системы. Оценки характеристик эргодической цепи дают представ­ ление о надежности поведения системы в целом. Кроме того, эрго­ дические цепи широко используются в качестве базовых моделей взаимодействия устройств с задачами, поступающими на обра­ ботку. Марковский процесс с дискретными состояниями 5 Ь ..., 8к, переходы между которыми разрешаются в любой момент времени, называется непрерывной мар­ ковской цепью. Однородная непрерывная марковская цепь, поведение которой в любой момент времени подчиняется одному и тому же закону, задается мат­ рицей интенсивностей переходов С} = [дц], I, / = 1 , ..., К. Интенсивность перехо­ дов определяется следующим образом: ци = \\т д*->о М цц = пт —'— д/-*о М , где ра(М)—вероятность перехода процесса из состояния 5* в состояние 5* за время Д^. Это означает, что если процесс находится в состоянии $*, то вероятность перехода в течение промежутка времени А/ в состояние 5^ отличное от 5г-, равна —<7ггА^. Аналогично вероятность перехода процесса в течение проме­ жутка времени А^ из состояния $г в состояние 5,- равна 9<;ДЛ Интенсивность переходов должна удовлетворять условию К 2 # / = 0, *= 1 К. (7.5) На рис. 7.3 представлен граф непрерывной марковской цепи с тремя состоя­ ниями 5 Ь 52, 53. Дуги графа нагружены интенсивностями переходов. Графу со­ ответствует следующая матрица интенсивностей переходов: (7.6) 232
При построении матрицы значения да, *'=1, ..., К, в соответствии с (7.5) определяются следующим образом: Яи = — Е Щ(}'Ф0 Основная характеристика непрерывной марковской цепи — стационарное (финальное) распределение вероятностей состояний а = { а ь ..., ак), где а ь ..., а к — вероятности пребывания процесса в состояниях 51, ..., $я соответственно. Распределение задается вероятностным решением системы линейных уравнений (7.7) а<2 = 0, которая в развернутой форме имеет следующий вид: , К. (7.8) /=1 Решение системы, составленной из (К—1) уравнений (7.8) и нормирующего уравнения а{ + .. . + я к = 1, определяет значения вероятностей а—{аи ..., ак). Уравнения (7.7), (7.8) называются уравнениями равновесия. Они легко состав­ ляются по графу марковской цепи с учетом того, что в каждом состоянии входящий поток должен равняться исходящему потоку. Так, для цепи на рис. 7.3 имеем Интенсивность Интенсивность исходящего потока входящего потока Состояние X «1 \ха2 Ял1 + \ьа3 ах + Ха2 (\х + 'к)а2 \ха3 С учетом равенства интенсивности входящего и исходящего потока ( ца2 = (112 +к) а,; А.01 + [\а3 = (|л + X) а2\ —— ах + ла2 = ца3. Полученная система является системой уравнений равновесия для цепи, изображенной на рис. 7.3 и заданной матрицей (7.6). В соответствии с марковским свойством вся предыстория процесса сказы­ вается на его поведении в будущем только через текущее состояние, которое и определяет дальнейший ход процесса. Таким образом, нет необходимости знать, как долго процесс находится в текущем состоянии. Отсюда следует, что рас­ пределение остающегося времени пребывания процесса в состоянии 5г- должно зависеть только от самого состояния, а не от времени пребывания в нем. Этим свойством обладает только одно распределение — экспоненциальное, функция плотности вероятности которого имеет следующий вид: /?(?) = 1/техр (—?/т), где т — параметр распределения, определяющий математическое ожидание случайпой величины /. Таким образом, непременное свойство непрерывного марков233
ского процесса — экспоненциальность распределения времени пребывания про­ цесса в каждом из состояний. Если снять указанное ограничение на время пребывания процесса в со­ стояниях 5 Ь ..., 5/с, т. е. допустить произвольное распределение времени пре­ бывания, то процесс становится полумарковским. Полумарковский процесс ве­ дет себя относительно моментов изменения состояний как обычная дискретная марковская цепь, и принято говорить, что в эти моменты времени имеет место вложенная марковская цепь. Характеристики полумарковского процесса опре­ деляются значительно сложнее, чем для марковского процесса, поскольку ве­ роятности состояний связаны с параметрами процесса системой дифференциаль­ ных уравнений в частных производных. Поэтому вычисление стационарных ве­ роятностей состояний в общем случае выливаются в сложную математическую задачу. Модели массового обслуживания. Для построения моделей производительности вычислительных систем широко используется аппарат теории массового обслуживания. В ней изучаются си­ стемы, на вход которых поступает поток заявок (требований), приходящихся в общем случае в случайные моменты времени. По­ ступившая заявка обслуживается в системе путем предоставления ей некоторых ресурсов на какое-то время и, будучи обслуженной, покидает систему. Определение времени пребывания заявок в си­ стеме составляет сущность теории массового обслуживания. Наи­ более характерный момент функционирования систем массового обслуживания — наличие очередей, в которых поступившие заявки ждут момента освобождения ресурсов, занятых обслуживанием других, например ранее поступивших заявок. ЭВМ можно рас­ сматривать как систему массового обслуживания, на вход кото­ рой поступают задания, обслуживаемые путем предоставления им процессорного времени и времени остальных устройств ЭВМ. Ана­ лиз ЭВМ как системы массового обслуживания позволяет опре­ делить число заданий, находящихся в ЭВМ на различных стадиях обслуживания, время ожидания заданий в очередях, время пре­ бывания заданий в ЭВМ и другие характеристики процесса об­ работки заданий, функционирования ЭВМ и ее устройств. Система массового обслуживания (рис. 7.4) состоит из вхо­ дящего потока заявок а, очереди (3, дисциплины обслуживания Д определяющей порядок выбора заявок из очереди, и обслуживаю­ щего прибора П или К одинаковых обслуживающих приборов (каналов) Пи ..., Пк. Система, содержащая только один прибор (канал), называется одноканальной, а несколько приборов,— многоканальной. Функционирование системы состоит в поста­ новке поступающих заявок в очередь на обслуживание, выборе из очереди заявки, подлежащей первоочередному обслуживанию, и предоставлении прибора заявке на определенное время. По окончании обслуживания заявка покидает систему. На выходе системы образуется выходной поток заявок. Таким образом, система массового обслуживания характери­ зуется следующим набором параметров: 1) распределением длительности интервалов между заявками входящего потока р(а); 234
Рис. 7.4. Одноканальная (а) и многоканальная (б) система массового обслу­ живания 2) дисциплиной обслуживания заявок О; 3) числом обслуживающих приборов (каналов) К; 4) распределением длительности обслуживания заявок при­ борами (каналами) р(Ь). Указанный набор параметров полностью определяет порядок функционирования системы. Процесс функционирования количе­ ственно оценивается следующим набором основных характери­ стик: 1) загрузкой — средним по времени числом приборов (кана­ лов), занятых обслуживанием (для одноканальной системы за­ грузка определяет долю времени, в течение которой прибор занят обслуживанием, т. е. не простаивает); 2) длиной очереди — числом заявок, ожидающих обслужи­ вания; 3) числом заявок, находящихся в системе (в очереди и на об­ служивании приборами); 4) временем ожидания заявки — от момента поступления за­ явки в систему до начала обслуживания; 5) временем пребывания заявки в системе — от момента по­ ступления заявки до окончания ее обслуживания, т. е. до выхода из системы. Наряду с основными характеристиками для оценки функцио­ нирования системы используются дополнительные характери­ стики: длительность простоя, непрерывной занятости приборов и др. Все указанные характеристики, кроме загрузки,— случайные величины, представляемые соответствующими распределениями: распределением длины очереди, числа заявок в системе, времени ожидания и т. д. На более низком уровне детализации случайные величины характеризуются средними значениями и дисперсиями или только средними. Зависимости характеристик системы от ее пара­ метров — предмет исследования элементарной теории массового обслуживания. В теории массового обслуживания изучаются и более сложные объекты — сети. Сеть массового обслуживания — совокупность взаимосвязанных систем массового обслуживания. Пример сети 235
Рис. 7.5. Граф сети массового обслужива­ ния представлен на рис. 7.5. Здесь 5 0 — узел — источник заявок, *5Ь ..., 5 4 — системы массового обслуживания и 5 5 — узел, пред­ ставляющий выход из сети. Дуги показывают направления дви­ жения заявок по сети. Если из вершины выходит единственная дуга, то все заявки, обслуженные соответствующей системой, на­ правляются по этой дуге. Если из вершины выходит несколько дуг, то каждая заявка направляется по одной выходящей дуге, выбор которой производится в соответствии с вероятностями пе­ редачи заявок рцу ры,..., ри из узла 5/ в узлы 5^, 5&,..., 5; соот­ ветственно, причем рц+Ргк + .. .+Ри=1. Сеть функционирует следующим образом. Заявка от источника 5 0 поступает на обслуживание в систему, определенную дугой, вы­ ходящей из источника. После обслуживания в этой системе заявка поступает в следующую систему и циркулирует по сети, последо­ вательно обслуживаясь в различных системах, до тех пор, пока не покинет сеть по дуге, ведущей к выходу. В сети заявка либо стоит в очереди к одной из систем, либо обслуживается прибором системы. Сеть массового обслуживания задается следующим набором параметров: 1) параметрами источника заявок; 2) структурой, определяющей конфигурацию связей и вероят­ ности передачи заявок между узлами сети; 3) параметрами систем массового обслуживания 5*, *=1, ... ..., N— дисциплиной обслуживания А , числом каналов Кг и рас­ пределением длительности обслуживания заявок р(Ь/). Функционирование сети массового обслуживания определяется совокупностью узловых и сетевых характеристик. Узловые харак­ теристики оценивают функционирование каждой системы массо­ вого обслуживания и включают в себя характеристики потока за­ явок, поступающего на вход узла, и весь набор характеристик, присущий системам массового обслуживания. Сетевые характери­ стики оценивают функционирование сети в целом и включают в себя: 1) загрузку — среднее по времени число заявок, обслуживае­ мых сетью, и одновременно среднее число приборов (каналов), занятых обслуживанием; 2) число заявок, ожидающих обслуживания в сети; 3) число заявок, находящихся в сети (в состоянии ожидания и обслуживания); 4) суммарное время ожидания заявки в сети; 5) суммарное время пребывания заявки в сети. 236
Теория массового обслуживания предлагает способы расчета характеристик сетей различных типов, а также способы выбора параметров сетей, обеспечивающих заданные характеристики функционирования. Для воспроизведения в моделях различных способов организации процессов функциональные возможности сетей массового обслуживания расширяются пу­ тем включения в сети специальных узлов. Так, для отображения эффектов, свя­ занных с использованием запоминающих устройств, в сетевые модели включа­ ются узлы, моделирующие работу запоминающих устройств,— узлы памяти. Па­ мять характеризуется емкостью, которая распределяется между заявками. Об­ служивание заявки, поступившей па вход узла памяти, сводится к выделению затребованного числа ячеек памяти. Если в памяти, отсутствует область требуе­ мого размера, заявка ставится в очередь и ожидает момента освобождения па­ мяти, предоставленной ранее поступившим заявкам. Возможности сети могут расширяться за счет использования специальных узлов, управляющих маршру­ тами заявок: направляющих заявку одновременно по нескольким маршрутам; синхронизирующих движение заявок; изменяющих атрибуты заявок и т. д. Сети, воспроизводящие процессы массового обслуживания в форме взаимодействия систем массового обслуживания и дополнительных узлов, моделирующих работу памяти (накопителей), источников и приемников заявок и процессы маршрутиза­ ции заявок, называются стохастическими сетями. Стохастические сети включают в себя сети массового обслуживания как один из вариантов организации про­ цессов массового обслуживания. В отличие от систем массового обслуживания, стохастические сети, в том числе и сети массового обслуживания, воспроизводят процессы многоэтапного обслуживания, когда обслуживание заявки производится за счет последователь­ ного обращения к ресурсам, в том числе и многократного. Характерное свой­ ство сети — ее структурное подобие реальной системе. Состав узлов сети и кон­ фигурация связей между ними соответствует составу устройств и порядку их взаимодействия в реальной системе. За счет этого значительно упрощается про­ цесс построения сетевых моделей и обеспечивается адекватность процессов функ­ ционирования сетей и моделируемых ими систем. Статистические модели. В тех случаях, когда причинно-след­ ственные отношения в исследуемом объекте трудно охарактери­ зовать из-за их многообразия, сложности и невыясненной природы процессов или когда эти отношения несущественны, а желательно представить свойства объекта в достаточно компактной форме, используются статистические методы для математического выра­ жения зависимостей между характеристиками и параметрами объекта. Статистические методы — совокупность способов сбора, анализа и интерпретации данных о некотором объекте или сово­ купности объектов с целью получения теоретических или практи­ ческих выводов. Сущность статистических методов состоит в следующем. На основе эмпирических представлений о свойствах исследуемого объекта и в соответствии с целью исследования определяется со­ став признаков, характеризующих объект, и тип статистической модели (математические выражения, структуры). Признаки, по­ средством которых описывается объект,— величины, соответ­ ствующие параметрам х\, ..., хм и характеристикам уи ..., Ум объекта. Наблюдением (измерения, регистрация) собираются ста­ тистические данные, образующие выборку следующего вида: 237
Номер наблюдения Х\ 4 . . Х^ Ух . . . у^ 1 Х\ . . . Хн у\ . . . ум ^ *1 . . . Хм у\ . . . УМ . . . Хм . . . Ум г(п) Х\ Лп) (п) (п) У\ где *!<'), ..., дт^Л ^1(г), ..., #м(/) — значения признаков при 1-м на­ блюдении. На основе этой выборки строится статистическая модель за­ данного типа, устанавливающая количественную взаимосвязь при­ знаков. Математическая статистика предлагает обширный набор моде­ лей и методов установления статистических закономерностей, при­ сущих исследуемым объектам. Наиболее широкое применение при исследовании вычислительных систем получил регрессионный анализ. Регрессионный анализ состоит в построении функций у% = и{хи • ••> *#)> связывающих характеристики (зависимые переменные) с параметрами (незави­ симыми переменными), на основе статистической выборки, содержащей стати­ стически независимые данные. Статистическая независимость данных состоит в том, что значения признаков разных наблюдений статистической выборки не должны зависеть друг от друга. Чтобы проявились статистические зависимости, число наблюдений должно превосходить число признаков в 6—8 раз. Выборка должна быть однородной, т. е. относиться к объектам одного класса. Зависимость характеристики от параметров Х\, ..., Хя представляется в виде линейного полинома У = Ь0 + Ь1х1+ . . . +Ьмхн, (7.9) а при необходимости — в виде полинома более высокого порядка У = Ь0 + Ь1х1+ . • • +ЬШХ{ХЫ+ . . . +Ьмхм + Ь12х1х2 + Ь13х1х3+ Ь . . . +&ш*1*2*3+ • • • + \А . . . + • • • Параметры Ь называются коэффициентами регрессии. Если число признаков N=1, то (7.9) называют уравнением парной регрессии, если N^2,— уравнением множественной регрессии. Переменная у рассматривается как случайная вели­ чина, которая распределена в окрестности среднего значения у, зависящего от Хи т. е. считается, что переменные х$ влияют лишь на среднее значение у. Ко­ эффициенты регрессии оцениваются по методу наименьших квадратов миними­ зацией дисперсии отклонения уравнения регрессии от наблюдаемых значений уи\ 1=1, ..., п. При построении регрессионной модели основными являются два момента: 1) выбор числа независимых признаков х\, ..., Хя\ 2) выбор формы полинома, посредством которого представляется зависимость у=}(х\, ..., Хя). Процедуры оценки качества и совершенствования моделей реализованы в пакетах приклад­ ных программ статистического анализа, используемых при исследованиях. 238
Регрессионные модели обладают следующими особенностями. Во-первых, они применимы для прогноза значений у только при аргументах хи ..., Хи, принадлежащих области определения переменных, для которой построено урав­ нение регрессии. Во-вторых, уравнения регрессии принципиально необратимы, т. е. недопустимо путем тождественных преобразований из уравнения # = = !(хи •.., Хп) строить уравнение Х]=<р(хи ..., хиУ у), поскольку это две со­ вершенно различные регрессии, каждая из которых должна строиться самосто­ ятельно. Дополнительно отметим, что регрессионные модели не раскрывают ме­ ханизм взаимосвязи характеристик и параметров и фиксируют лишь количест­ венную взаимосвязь величин. Регрессионные и другие статистические модели наиболее широко использу­ ются для описания рабочей нагрузки, создаваемой прикладными задачами, а также системными процессами (управление заданиями, задачами, данными, ввод — вывод и др.). Применение статистических методов для этого класса объектов объясняется тем, что хотя рабочая нагрузка, как правило, хорошо наблюдаема, однако по своей природе — это чрезвычайно сложный объект. В нем совмещены свойства прикладных задач, технология обработки данных, организа­ ция операционной системы и даже конфигурация ЭВМ, для которой разра­ батывается программное обеспечение. Поэтому рабочую нагрузку приходится рассматривать как черный ящик и описывать количественные взаимосвязи ста­ тистическими методами. Регрессионные модели применяются также для компакт­ ного представления и анализа зависимостей, воспроизводимых на имитационных моделях. Аналитические методы. Аналитические методы исследования вычислительных систем сводятся к построению математических моделей, которые представляют физические свойства как матема­ тические объекты и отношения между ними, выражаемые посред­ ством математических операций. При использовании аналитиче­ ских методов оператор Р, устанавливающий зависимость У= = Р(Х) между характеристиками и параметрами объекта, пред­ ставляется совокупностью математических выражений (фор­ мул) — алгебраических, дифференциального и интегрального ис­ числения и др. Модели, построенные этими методами, называются аналитическими моделями. В таких моделях зависимость между характеристиками и параметрами может быть представлена в яв­ ной аналитической форме — в виде выражений ут=1т(хи ..., ЛГЛГ), решенных относительно искомых величин, или в неявной форме — в виде уравнений Ф(У, ^ 0 = 0 , связывающих характеристики и па­ раметры. При построении аналитических моделей свойства объектов описываются исходя из свойств составляющих — физических эле­ ментов или элементарных процессов. Для этого используется под­ ходящий математический аналог и с помощью соответствующего математического аппарата строятся выражения, которые связы­ вают показатели, характеризующие элементы. Последовательным применением математических правил совокупность выражений, моделирующих свойства элементов, сводится к форме, представ­ ляющей зависимость У=Р(Х) между характеристиками и пара­ метрами всей системы. Как правило, свойства элементов и систем удается представить в аналитической форме, если принимаются определенные допуще­ ния о свойствах и поведении описываемых объектов: независимость одних факторов от других, линейность некоторых зависимостей, 239
мгновенность переходов между состояниями и т. д. Если допуще­ ния соответствуют реальности, модель хорошо воспроизводит за­ висимость между характеристиками и параметрами. Однако во многих случаях допущения приводят к существенным отличиям модели от реального объекта, вследствие чего моделируемая зави­ симость существенно отличается от реальной и характеристики представляются на модели с большой погрешностью. Так, пред­ положение о том, что процессы обладают марковским свойством, может оказаться ошибочным, что приводит к большим погреш­ ностям марковских моделей и даже к неверным оценкам. Основ­ ные аналитические методы теории массового обслуживания бази­ руются на предположении, что интервалы времени между заявками входящих потоков и длительности обслуживания распределены по экспоненциальному закону. Когда это предположение выполня­ ется, аналитические методы позволяют точно оценивать характе­ ристики системы. Если же потоки и длительности существенно от­ личаются от предполагаемых, моделируемые характеристики мо­ гут сколь угодно отличаться от реальных. Таким образом, аналитические модели, базируясь на допуще­ ниях о свойствах объектов, применимы для исследования только тех систем, в отношении которых справедливы принятые допуще­ ния. Многие системы из-за специфики своей организации недо­ ступны для исследования аналитическими методами. Ценность аналитических методов и моделей для теории и прак­ тики обусловлена следующими причинами. Во-первых, зависимо­ сти, полученные аналитическими методами, являются строго дока­ занными и их достоверность не вызывает сомнений, конечно с уче­ том принятых при выводе допущений. Поэтому аналитические зависимости используются в качестве своеобразных эталонов, с которыми сопоставляются результаты, получаемые другими ме­ тодами. Некоторые аналитические зависимости носят абсолютно общий характер и используются в качестве законов, отображаю­ щих фундаментальные свойства вычислительных систем. Во-вто­ рых, аналитические модели имеют большую познавательную цен­ ность. Аналитические зависимости определяют характеристики для всей области значений параметров и несут в себе информа­ цию о поведении соответствующих систем при любых сочетаниях параметров. На основе аналитических моделей легко определя­ ются экстремальные и предельные значения характеристик и оцениваются эффекты от изменения параметров. В-третьих, анали­ тические модели характеризуются наименьшей сложностью вычис­ лений. Это свойство чрезвычайно важно при решении задач син­ теза, поскольку оптимизация связана с многократными вычисле­ ниями характеристик при различных значениях параметров. Аналитические методы и модели раскрывают фундаменталь­ ные свойства вычислительных систем и составляют ядро теории вычислительных систем. Имитационные методы. Имитационные методы основаны на представлении порядка функционирования системы в виде алго240
Рис. 7.6. Агрегат как элемент модели Рис. 7.7. Агрегатная модель ритма, который называется имитационной (алгоритмической) мо­ делью. Программа содержит процедуры, регистрирующие состоя­ ния имитационной модели и обрабатывающие зарегистрированные данные для оценки требуемых характеристик процессов и моде­ лируемой системы. При построении имитационных моделей широко используется агрегатный подход. Для моделирования заданного класса систем создается набор агрегатов Ф ь ..., Фф— элементов модели. Агре­ гаты могут соответствовать элементам систем, например процес­ сорам, оперативным запоминающим устройствам, каналам ввода—вывода, каналам передачи данных и другим, воспроизводя определенные аспекты их функционирования. В качестве агрега­ тов могут выступать математические объекты, с помощью кото­ рых генерируются и преобразуются необходимые процессы. Так, для моделирования систем на основе сетей массового обслужи­ вания в качестве агрегатов представляются источники потоков заявок, системы массового обслуживания, узлы, управляющие распределением заявок по нескольким направлениям, и т. д. По существу агрегат — описание функции некоторого объекта в ас­ пектах, соответствующих цели моделирования — оценке произво­ дительности, надежности и т. д. Функции агрегатов Ф ь ..., Фд представляются в параметрической форме, т. е. в записи функций используются параметры, характеризующие конкретный объект. Так, параметром процессора является производительность (быст­ родействие), оперативной памяти — емкость, системы массового обслуживания — дисциплина обслуживания, число каналов и рас­ пределение длительности обслуживания. Функция агрегата Ф^, <7=1, ..., (2, представляется в алгоритмической форме — в виде процедуры Фд=(аи ..., а&, Ьи ..., 6/, си ..., ст)9 где параметры #ь ..., о>к— определяют состояние входов элемента, 6 Ь ..., 6/ — режим его функционирования и си ..., ст — состояние выходов элемента. Сколь ни была бы сложна функция агрегата Ф9, в мо­ дели агрегат выглядит как элемент (рис. 7.6), настраиваемый на заданный режим функционирования множеством параметров Вя = = {&ь ..., &/} и преобразующий входные воздействия Ая = 241
= {а ь ..., ак} в выходные состояния Ся = {си ..., ст} в соответствии с функцией агрегата Фд и значениями параметров Вд. Множество агрегатов разного типа {Ф ь ..., Ф^} составляет базис имитацион­ ных моделей заданного класса систем. Имитационная модель собирается из агрегатов путем соедине­ ния выходов агрегатов с входами других агрегатов (рис. 7.7). На рисунке агрегаты обозначены Ф© , где со — тип и г— порядковый номер агрегата в модели. Агрегаты Фа и ФсР — генераторы, фор­ мирующие воздействия в соответствии с параметрами Вх и В2. Состав агрегатов, структура связей между ними и наборы пара­ метров агрегатов Ви ..., Б 6 определяют модель. Процесс модели­ рования состоит в реализации процедур Ф а \ . . . , Фб6) в необходи­ мом порядке. При этом значения, формируемые на выходах агрегатов, переносятся на входы связанных с ними агрегатов, в ре­ зультате чего вычисляются значения г{ и г2. Путем обработки данных, наблюдаемых в характерных точках модели (на выходах элементов), получают оценки качества функционирования любого из агрегатов и системы в целом. Имитационные модели воспроизводят процесс функционирова­ ния и свойства исследуемых систем исходя из априорно известных свойств элементов системы — за счет объединения моделей эле­ ментов в структуру, соответствующую исследуемой системе, и имитации функционирования элементов в их взаимодействии. Исследование вычислительных систем имитационными мето­ дами состоит из нескольких этапов. 1. Определение принципов построения модели. Цель этого этапа — сформировать общий замысел модели (состав характери­ стик и параметров, подлежащих отображению, область определе­ ния модели, требования к точности результатов моделирования, тип математической модели, программные и технические средства для описания и реализации модели). На этом этапе выдвигаются гипотезы о свойствах моделируемой системы, принимаются допу­ щения для использования соответствующих математических мето­ дов и конкретизируются эксперименты, проводимые на модели. 2. Разработка модели. Цель этого этапа — создание про­ граммы моделирования для ЭВМ. При этом общий замысел мо­ дели преобразуется в конкретное алгоритмическое описание. Этап завершается проверкой работоспособности и адекватности модели. 3. Моделирование на ЭВМ. Цель этого этапа — получение с помощью модели данных о поведении исследуемой системы, об­ работка полученных данных, а при синтезе системы — выбор па­ раметров, оптимизирующих заданные характеристики системы и удовлетворяющих заданным ограничениям. Важнейшее свойство метода имитационного моделирования — универсальность, проявляющаяся в следующем. Во-первых, метод имитации позволяет исследовать системы любой степени сложно­ сти. Усложнение объекта исследования приводит к увеличению объема данных, вводимых в модель, и времени моделирования на 242
ЭВМ, но при этом принципы построения моделей остаются неиз­ менными. Во-вторых, метод имитации не ограничивает уровень детализации в моделях. С помощью алгоритмов можно воспроиз­ водить любые, сколь угодно своеобразные взаимосвязи между эле­ ментами системы и процессы функционирования. Более детальное представление организации и функционирования системы сказы­ вается только на объеме алгоритмического описания модели (про­ граммы) и затратах времени на моделирование. Особенности ор­ ганизации и функционирования, препятствующие использованию аналитических методов, легко воспроизводятся в имитационных моделях. В-третьих, имитационная модель является неограничен­ ным источником данных о поведении исследуемой системы — но­ вые эксперименты на модели позволяют получать дополнительные данные о системе. За счет этого гарантируется детальная оценка характеристик функционирования как системы в целом, так и ее составляющих. Как правило, увеличивая длительность экспери­ ментов на моделях или число экспериментов, т. е. время модели­ рования, можно добиться высокой точности результатов модели­ рования. Недостатки имитационных методов — большие затраты вре­ мени на моделирование и частный характер получаемых результа­ тов. В имитационной модели процесс функционирования системы воспроизводится во всех существенных для исследования деталях за счет последовательного выполнения на ЭВМ операций над ве­ личинами. Число операций, обеспечивающее воспроизведение представленных интервалов функционирования системы, оказыва­ ется значительным и при моделировании систем умеренной слож­ ности составляет 108—1012 операций на одну реализацию модели. Поэтому при моделировании на ЭВМ, имеющей быстродействие миллион операций в секунду, для одного прогона модели требу­ ются минуты и часы процессорного времени. При этом модель по­ зволяет оценить характеристики системы только в одной точке, соответствующей значениям параметров X, введенных в модель перед началом моделирования. Чтобы определить зависимость между характеристиками и параметрами, необходимы многократ­ ные прогоны модели, в результате которых значения У определя­ ются для многих наборов параметров. Возможности методов оп­ тимизации параметров на имитационных моделях ограничиваются большими затратами времени на моделирование системы в одной точке. Несмотря на указанные недостатки, методы имитационного моделирования в силу их универсальности широко используются при теоретических исследованиях и проектировании вычислитель­ ных систем. Имитационные модели позволяют исследователю и разработчику формировать представления о свойствах системы и, познавая систему через ее модель, принимать обоснованные про­ ектные решения. Экспериментальные методы. Экспериментальные методы осно­ вываются на получении данных о функционировании вычисли243
тельных систем в реальных или специально созданных условиях с целью оценки качества функционирования и выявления зависи­ мостей, характеризующих свойства систем и их составляющих. Типичные задачи, решаемые экспериментальными методами,— оценка производительности и надежности системы, определение состава и количественных показателей системной нагрузки в за­ висимости от прикладной нагрузки и т. д. Экспериментальные исследования выполняются в следующем порядке: 1. Формулируется цель исследования. 2. Выбирается или разрабатывается методика исследования, которая устанавливает модель исследуемого объекта; способ и средства измерения; способ и средства обработки измерительных данных, а также интерпретации результатов измерений и обра­ ботки. 3. Проводятся измерения процесса функционирования объекта в реальных или специально создаваемых условиях. 4. Измерительные данные обрабатываются и соответствующим образом интерпретируются. Экспериментальные методы обеспечивают получение наиболее достоверных данных о вычислительных системах, в чем их пре­ имущество по сравнению с аналитическими и имитационными методами, основанными на использовании моделей. Во многих слу­ чаях экспериментальные методы являются единственным источни­ ком информации о функционировании и свойствах вычислитель­ ных систем. Например, количественная оценка параметров рабо­ чей нагрузки систем общего назначения производится в основном экспериментальными методами. Особенно велико значение экспе­ риментальных методов при решении задач эксплуатации, так как совершенствование конфигурации и режима функционирования систем немыслимо без использования измерительных данных, представляющих конкретные условия работы системы. Недостатки экспериментальных методов — большие затраты труда и времени на проведение экспериментальных исследований, а также частный характер получаемых результатов, распространение которых на системы с другой конфигурацией и режимом функционирования требует достаточно сложной работы. 7.3. ПРИНЦИПЫ АНАЛИЗА ПРОИЗВОДИТЕЛЬНОСТИ Производительность вычислительных систем общего назначе­ ния оценивается в зависимости от области применения номиналь­ ной, комплексной, системной производительностью и производи­ тельностью на рабочей нагрузке (см. § 1.3). Номинальная про­ изводительность характеризует только быстродействие, или производительность устройств, входящих в состав системы. Комп­ лексная производительность учитывает не только быстродействие устройств, но и структуру системы — ее влияние на быстродей­ ствие совместно функционирующих устройств. Системная произ244
водительность учитывает как вышеназванные факторы — быстро­ действие устройств и структуру связей между ними, так и влияние операционной системы. Производительность на рабочей нагрузке (кратко — производительность) отображает все факторы, влияю­ щие на системную производительность, и, кроме того, свойства рабочей нагрузки — задач, решаемых вычислительной системой. С производительностью тесно связана такая характеристика ка­ чества обслуживания пользователей, как время ответа, т. е. время пребывания задач в системе. Поэтому при оценке производитель­ ности определяется не только количество работы, выполняемое системой в единицу времени, но и время ответа для всего множе­ ства задач и отдельных классов задач. Производительность вычислительной системы проявляется, с одной стороны, в скорости обработки задач, а с другой — в сте­ пени использования ресурсов системы. Чем больше загружены ресурсы, тем выше производительность системы, и недогрузка ре­ сурсов свидетельствует о наличии резервов для повышения произ­ водительности. Поэтому при анализе производительности системы оцениваются не только показатели производительности, но и по­ казатели, характеризующие использование ресурсов. Производительность вычислительной системы связана с про­ должительностью процессов обработки задач, которая зависит от трех факторов: 1) рабочей нагрузки; 2) конфигурации системы; 3) режима обработки задач. Эти три фактора в совокупности определяют порядок развития вычислительных процессов во вре­ мени, и первая задача анализа производительности сводится к по­ иску компактных и информативных форм представления вычисли­ тельных процессов. Эти формы создают концептуальную (поня­ тийную) основу для оценки функционирования вычислительных систем в процессе эксплуатации и при исследовании с помощью моделей производительности. Вторая задача анализа — создание моделей, позволяющих прогнозировать производительность систем для различной конфигурации, режимов обработки и, возможно, разной рабочей нагрузки. Способы описания процессов функционирования. Примени­ тельно к задачам анализа производительности функционирование вычислительной системы рассматривается как совокупность про­ цессов, связанных с использованием ресурсов системы. К ресур­ сам Я = {Я\У ..., /?^+р} относятся устройства Яь • •, Яи, разделяе­ мые между процессами во времени, а также устройства памяти (память) /?лч-1> ..., ЯN+р, разделяемые во времени и по емкости. Процесс характеризуется тройкой параметров: / = < ^ , Л, Т>, где I — момент начала процесса; А — атрибуты, устанавливающие имя источника процесса (пользователя, программы и т.п.), и фак­ торы, влияющие на режим обработки (имя класса, приоритет и др.); Т — трасса процесса. Трасса характеризует порядок использования ресурсов и представляется последовательностью событий Т = ={5 Ь ..., 8к}> связанных с изменением состояния процесса. Собы­ тие 5& характеризуется моментом его возникновения 1ъ, именем 245
Рис. 7.8. Профиль вычислительного процесса ресурса, с которым связано событие, и параметрами, определяю­ щими использование ресурса (занятие или освобождение, тип опе­ рации, выполняемой устройством, емкость выделяемой памяти и т. д.). В трассе фиксируется весь объем данных, отображающих взаимодействие процесса с ресурсами и позволяющих установить порядок обращения к ресурсам и объем их использования. Трасса представляет процесс наиболее полно. Однако у этой характери­ стики существенный недостаток — большой объем данных. Так, обычно на одну реализацию вычислительного процесса прихо­ дится 103—106 обращений к периферийным устройствам, что со­ ставляет 103—106 смен состояний процесса или 105—107 байт данных. Более компактная форма представления процесса — профиль процесса (рис. 7.8). Для построения профиля выделяются фазы процесса: ввод, ожидание во входной очереди, ожидание памяти и т. д. Реализация процесса представляется в виде последователь­ ности фаз, продолжительность пребывания в которых характери­ зуется значениями х\ (время использования устройств) и т-г (время ожидания). Сумма этих значений составляет время пре­ бывания задания в системе. Профиль процесса дает наглядное представление о продолжительности каждой фазы и соотношении длительности фаз. Для повышения информативности профиль снабжается данными о числе обращений к устройствам, а также о емкости используемой памяти, в том числе о минимальной, сред­ ней и максимальной требуемой емкости. Таким образом, профиль определяет время п , ..., т^ использования устройств Яи • ••> Яи и число обращений п ь ..., п^ к каждому из устройств, а также по­ требность в памяти. Профиль процесса отображает свойства программы и одновре­ менно режима обработки. Свойства программы проявляются в объеме использования ресурсов — времени использования уст­ ройств и емкости памяти. Режим обработки сказывается на вре­ мени ожидания. В однопрограммном режиме состояние ожидания отсутствует. С увеличением уровня мультипрограммирования время ожидания возрастает, особенно для низкоприоритетных процессов. На время ожидания влияет уровень загрузки системы, который возрастает с интенсивностью поступления заданий на об­ работку и приводит к увеличению времени пребывания заданий в очередях. 246
Процессы в вычислительных системах разделяются на два класса: прикладные и системные. Прикладной процесс связан с актом обслуживания пользователя и представляет собой неко­ торую единицу работы — выполнение задания. Прикладные про­ цессы поддерживаются системными процессами, порождаемыми управляющими программами операционной системы. К системным относятся процессы системного ввода — вывода и супервизорные. Системные процессы, как и прикладные, потребляют ресурсы си­ стемы — оперативную и внешнюю память, процессорное время, каналы ввода—вывода и НМД. Объем использования ресурсов зависит от режима обработки (уровень мультипрограммирования, число инициированных процессов системного ввода — вывода и т. д.), а также от параметров заданий (число шагов и описаний наборов данных, число обращений к наборам данных и т. д.). Пу­ тем измерений определяется загрузка ресурсов со стороны систем­ ных процессов. Потребность системных процессов в ресурсах обычно выражается в виде уравнений регрессии, аргументами ко­ торых являются параметры прикладных процессов. Способы описания загрузки ресурсов. Производительность си­ стемы непосредственно связана с загрузкой устройств. Загрузка устройства — время, в течение которого устройство занято рабо­ той, т. е. не простаивает. Если ть ..., Хк — длительность рабочих интервалов и Т — время работы системы, то загрузка устройства на отрезке времени Т Р= ^-2>*^1- (7-Ю) Л /г=1 Если номинальное быстродействие устройства равно V опера­ ций в секунду, то фактическое быстродействие с учетом простоев устройства из-за недогрузки составляет рУ операций в секунду. Если д — среднее число операций, выполняемых устройством при обработке одного задания, то производительность системы, исчис­ ляемая в обрабатываемых за секунду заданиях, Л = рУ/#. (7.11) Следовательно, загрузка устройства характеризует производи­ тельность системы с точностью до коэффициента пропорциональ­ ности. При анализе производительности большую роль играет не только значение, но и структура загрузки — составляющие, из ко­ торых складывается значение р. Типичная структура представлена на рис. 7.9. В данном случае выделено три класса процессов (ви­ дов нагрузки): системные процессы, пакетная и оперативная об­ работка. Два последних относятся к прикладным процессам. Ука­ занные классы процессов создают загрузку р с , рп и р0 соответ­ ственно. Эти значения характеризуют время работы устройства, 247
Рис. 7.9. Структура загрузки устройства используемое для реализации соответ­ ствующих функций. Сумма р = р с + Рп+ + р0 равна загрузке устройства, а значение т] = 1—р характеризует простой. Простой г] обусловлен двумя факторами. Во-первых, для компенсации пульсаций нагрузки, свя­ занной с оперативной обработкой данных, выделяется резерв, за счет чего обеспечи­ вается приемлемое время ответа при пиковых нагрузках. Во-вто­ рых, возможна нехватка других ресурсов, из-за чего рассматри­ ваемое устройство не может быть загружено полностью в рамках данной конфигурации, режима функционирования системы и те­ кущей нагрузки. Структуру загрузки можно представить более детально, если, например, в составе системных процессов выделить ввод — вывод, пакетную обработку разделить на несколько классов задач и т.д. Структура загрузки всех ресурсов системы дает представление о распределении ресурсов между процессами и о резервах для увеличения производительности и улучшения качества обслужива­ ния пользователей. Сумма (7.12) называется загрузкой вычислительной системы. Если система функционирует в однопрограммном режиме, при­ чем не простаивает из-за отсутствия нагрузки, Р = 1 . Если Р > 1 , то производительность системы в этом режиме в Р раз выше, чем в однопрограммном. Таким образом, загрузка системы характери­ зует производительность системы по отношению к производитель­ ности однопрограммного режима. Эффективный способ повышения производительности вычислительных си­ стем — мультипрограммирование, позволяющее совместить во времени работу многих устройств, в результате чего увеличивается загрузка каждого устрой­ ства, а следовательно, загрузка и производительность системы. Для анализа степени совмещения, а также для выбора конфигурации и режима обработки используется профиль загрузки системы (диаграммы Ганта). Профиль загрузки системы строится следующим образом. Пусть зп — со­ стояние устройства: 5П = 0, если устройство не загружено (простаивает), и 5„ = 1, если устройство занято работой. Состояние системы будем характеризо­ вать вектором 5 = (&'!, ..., 5^), составляющие которого--состояния мустройств /?ь ..., Ял-. Система, содержащая N устройств, может пребывать в 2 состоя­ ниях (0, ..., О, 0), (0, ..., 0, 1), (0, . . , 1, 0), ..., (1, -.., 1). Первое из них соответствует простою и последнее — одновременной работе всех устройств. Со­ стояние системы будем нумеровать числами, представляющими десятичные зна­ чения двоичных наборов 51 . . . 5^: 5 0 = (0, ..., 0, 0), 51= (0, ..., 0, 1), . . . . . . , 5 М = ( 1 , ..., 1, О, гдеМ = 2 " - 1 . Пусть за время Т система находилась в состояниях 5 0 , ..., 5 м на протя­ жении интервалов т0, .. ., Тм соответственно. Значение гт = т7П/Т, т = 0, ..., М, характеризует долю времени, в течение которого система находилась в состоя пни 246
•Ь'т, а также вероятность этого состояния. Распределение вероятностей состоя­ ний системы наиболее наглядно представляется в графической форме, на пример для трех устройств (рис. 7.10, а). Каждому устройству Яи Яг, Яг соот­ ветствует ось длиной 1. Оси разделяются на отрезки длиной г0, . • •> г7, соответ­ ствующие интервалам времени, на протяжении которых система пребывает в со­ стояниях 5 0 , ..., 5 7 . Отрезки гш выделяются жирной линией, если в состоянии 8т устройство Яп, /г= 1, 2, 3, загружено работой. Для устройства Я\ такими являются отрезки г4, ..., г7, а для устройства Яг — отрезки ги г3, г$ и г7. По­ лученная таким способом диаграмма называется профилем загрузки системы. Из профиля загрузки видна степень совмещения работы разных устройств во времени. В данном случае очевидно, что возможна совместная работа уст­ ройств /?1 и /?г и одиночная работа устройства Яг, а работа устройства Я\ в основном совмещается с работой остальных устройств. Суммарная длина от­ резков, выделенных на осях Яи Яг, Яз, характеризует соответственно загрузку Рь р2, Рз устройств. Наглядность профиля загрузки возрастает, если состояния 5 т и соответст­ вующие им отрезки гт размещать в порядке, определяемом кодом Грея. При этом уменьшается число разрывов между отрезками, выделенными жирными линиями. Так, трехразрядный код Грея порождает последовательность кодов 000, 001, 011, 010, ПО, 111, 101, 100, которой соответствует последовательность состояний г0, ги г3, г2, гб, г7} г5, г4. Профиль загрузки системы, построенный на основе кода Грея и эквивалентный рассмотренному выше, изображен на рис. 7.10,6. Данный профиль содержит только один разрыв между отрезками за­ нятости, в то время как предыдущий — четыре разрыва. Профиль загрузки системы, отображающий каждое из 2Н состояний, где N — число устройств, называется полным. Сложность полного профиля растет как показательная функция числа устройств ЛЛ При Л ^ 5 число отрезков Го, ..., гм оказывается большим и профили теряют наглядность. Поэтому для отображения загрузки устройств часто используются неполные профили, в ко­ торых представляются лишь наиболее существенные состояния. Модели производительности. При проектировании, а также при совершенствовании конфигурации и режимов функционирования систем, находящихся в эксплуатации, возникает необходимость оценивать производительность различных вариантов. Для этого используются модели производительности вычислительных систем, позволяющие к тому же оценивать характеристики процессов и использования ресурсов. Характеристики необходимы для выявле­ ния факторов, влияющих на производительность, а также узких мест и недоиспользованных ресурсов, т. е. в конечном итоге — для выбора подходящего варианта. Имитационные модели производительности систем общего на­ значения состоят из трех основных блоков (рис. 7.11): рабочей на­ грузки, планирования работ и выполнения задач. Модель рабочей нагрузки создает потоки заданий, формируемых пользователями на входе системы, и определяет параметры заданий. Модель 249
Рис. 7.11. Состав модели производительности настраивается на конкретный тип нагрузки набором параметров В\. Модель планирования работ воспроизводит обеспечение зада­ ний ресурсами. Модель настраивается на конкретный режим обра­ ботки набором параметров В2 (число разделов или инициаторов, распределение классов задач между инициаторами и т. д.). Зада­ ния, обеспеченные на фазе планирования ресурсами, образуют за­ дачи, обработка которых воспроизводится моделью выполнения задач. Набор параметров Вг характеризует структуру системы и быстродействие устройств, влияющие на продолжительность вы­ полнения задач. Состояние процессов в общем случае влияет на состояние процессов планирования и порядок поступления задач в систему: данные о состоянии последующих фаз обработки пере­ даются в предыдущие фазы (штриховая линия на рисунке). Для разных целей необходимы различные модели производи­ тельности, отличающиеся составом воспроизводимых параметров и точностью воспроизведения характеристик. Наиболее сложны модели, которые предназначены для выбора режима обработки, согласованного с рабочей нагрузкой и обес­ печивающего заданное качество обслуживания — максимальную пропускную способность при заданных ограничениях на время от­ вета. В таких моделях приходится детально воспроизводить кон­ фигурацию системы, состав рабочей нагрузки и параметры опе­ рационной системы, посредством которых она настраивается на заданный режим обработки. Точность оценки характеристик должна быть высокой. Повышаются требования к информатив­ ности: из модели должны выводиться подробные данные о про­ филе процессов и загрузке ресурсов, в том числе о структуре за­ грузки. Для выбора конфигурации при совершенствовании эксплуати­ руемых систем и проектировании новых используются более простые модели, воспроизводящие рабочую нагрузку и режим об­ работки лишь в общих чертах. Основное внимание уделяется моде­ лированию фазы выполнения задач, влияние которой на произво­ дительность наиболее велико. В этом случае оценка производи­ тельности с погрешностью 20—25 % вполне приемлема. Более того, при выборе конфигурации модель считается адекватной си­ стеме, если воспроизводит хотя бы тенденцию изменения произ­ водительности, т. е. прирост или снижение ее при изменении кон­ фигурации системы. 250
Состав процессов, воспроизводимых моделью, и точность их воспроизведения существенно зависит от априорных данных о мо­ делируемой системе, которыми располагает исследователь. Мо­ дель рабочей нагрузки не может воспроизвести свойства нагрузки, о которых мы не имеем четкого представления. То же самое можно сказать и о воспроизводимости процессов управления об­ работкой и процессов выполнения задач. Состав данных о рабочей нагрузке и функционировании системы предопределяет вос­ производимые в модели закономерности и точность оценок. Недо­ статочность данных о моделируемой системе является более суще­ ственным препятствием при построении моделей, чем ограничен­ ные возможности методов моделирования и математических моделей. Модели производительности могут строиться как имитацион­ ные, аналитические или статистические. Из-за существенного раз­ личия этих классов моделей по точности и затратам на реализа­ цию могут использоваться различные методы при построении элементов модели производительности: рабочей нагрузки, фаз планирования работ и выполнения задач. Такие модели произво­ дительности называются гибридными. В типичной гибридной мо­ дели рабочая нагрузка и планирование воспроизводятся имита­ ционными, а выполнение задач — аналитическими методами. 7.4. МЕТОДЫ И СРЕДСТВА ИЗМЕРЕНИЙ И ОЦЕНКИ ФУНКЦИОНИРОВАНИЯ Измерения являются источником наиболее достоверных дан­ ных о функционировании вычислительных систем и проводятся в следующих целях: 1) для учета выполненных работ; 2) для оценки функционирования; 3) для иден­ тификации ВЫЧИСЛИТеЛЬНОЙ СИСТеМЫ — Рабочая построения моделей. Измерения могут нагрузка быть направлены на исследование как системы в целом, так и отдельных под­ систем. Схема измерений представлена на рис. 7.12. Объектом измерений является вычислительная система, функционирую­ щая, как правило, в рабочем режиме. К системе подключаются измерительные средства — мониторы, реагирующие на изменение состояний системы и измеряю­ щие параметры состояний (моменты из­ менения состояний, продолжительность пребывания в них и др.). Измерительные данные поступают от мониторов в архив Рис. 7.12. Организация измерений функционирования и оценки 251
Рис. 7.13. Классификация мониторов на протяжении заданного промежутка времени, накапливаются и затем обрабатываются. Функционирование вычислительной системы проявляется в из­ менении состояний процессов и ресурсов. Состояния отобража­ ются в управляющих таблицах, которые формируются управляю­ щими программами операционной системы, и в первую очередь супервизором. Состояния процессов и ресурсов изменяются в мо­ менты выполнения специальных команд — обращения к суперви­ зору и привилегированных, с помощью которых супервизор управ­ ляет процессами и ресурсами, а также при поступлении сигналов прерывания, извещающих супервизор о моментах окончания опе­ раций ввода — вывода, особых ситуациях в системе и сигналах на ее входах. Наряду с этим состояния устройств отображаются со­ ответствующими электрическими сигналами. Мониторы строятся с использованием различных методов из­ мерений и средств и классифицируются в зависимости от этого (рис. 7.13). Трассировочный и выборочный методы измерений. Трассиро­ вочный метод измерений основан на регистрации событий, соот­ ветствующих моментам изменения состояний вычислительной си­ стемы. К таким событиям, в частности, относятся начало и конец ввода задания, шага задания, этапа процессорной обработки, обращения к внешней памяти и т. д. События регистрируются мо­ нитором в виде событийного набора данных Т (рис. 7.14), состоя­ щего из последовательности записей 5 Ь 52, ..., соответствующих последовательности событий. В записи регистрируется момент возникновения события, имена процесса и ресурса, с которыми оно связано, и параметры события, например емкость занимаемого 252
Рис. 7.14. Состав измерительных данных или освобождаемого блока памяти, число передавае­ мых байтов данных и т. д. Событийный набор данных, создаваемый монитором, содержит информацию о процессах Л, /г, . . . и од­ новременно о ресурсах. На рисунке изображена диа­ грамма использования уст­ ройства /?г, представляю­ щая его состояния (0 — свободно и 1 — занято), и диаграмма ис­ пользования памяти М^ характеризующая суммарную емкость, занятую процессами. Мониторы, измеряющие процесс функцио­ нирования системы трассировочным методом, называются трасси­ ровочными. Выборочный метод измерений основан на регистрации состоя­ ний вычислительной системы в заданные моменты времени, как правило через промежутки длительностью б. В моменты 1 = пЬ, я = 0, 1, 2, ..., выборочный монитор регистрирует состояние си­ стемы, фиксируя в соответствующих записях данные из управляю­ щих таблиц, или значения электрических сигналов, характеризую­ щих состояния устройств системы. Полученные данные позволяют с погрешностью не более 26 оценивать продолжительность пре­ бывания процессов и ресурсов в различных состояниях и вероят­ ности состояний. Последние определяются значениями рг = п{/п, где Пг — число выборок, при которых было зарегистрировано со­ стояние г, и п — длительность процесса измерений, определяемая числом выборок. Трассировочные мониторы измеряют отдельные процессы, на­ пример обработку одного задания, более точно, чем выборочные. Однако, если функционирование системы оценивается статистиче­ скими методами, выборочный монитор обеспечивает такую же точность, как и трассировочный, правда при большей продолжи­ тельности измерений. Основное достоинство выборочных мони­ торов — возможность измерений сколь угодно быстрых процессов при ограниченном быстродействии. Универсальные и специализированные мониторы. В зависимо­ сти от регистрируемого состава событий (состояний) мониторы подразделяются на универсальные и специализированные. Универсальный монитор регистрирует все события (состоя­ ния) или подавляющее большинство их, благодаря чему событий­ ный набор данных достаточен для построения трасс процессов и использования ресурсов. Объем измерительных данных чрезвы­ чайно велик и составляет 105—107 байт на один процесс. Поэтому в мониторы встраиваются средства настройки, позволяющие реги253
стрировать часть событий, соответствующих целям исследований. Универсальные мониторы используются в основном периодически для оценки, например, конкретных системных или прикладных процессов. Специализированный монитор регистрирует определенную часть событий (состояний), соответствующих конкретной цели из­ мерений, что приводит к умеренному объему измерительных дан­ ных и снижает сложность их обработки. Специализированные мо­ ниторы широко применяются для учета выполненных работ и оценки загрузки ресурсов. Благодаря умеренному потоку данных специализированные мониторы используются как постоянно дей­ ствующие измерительные средства для оценки функционирования систем в течение всего рабочего периода. Программные мониторы. Мониторы, реализованные в виде программы, выполняемой вычислительной системой, называются программными. Программные мониторы трассировочного типа реагируют на определенный класс событий за счет «перехвата» обращений к су­ первизору, сигналов прерывания и других сигналов, что приводит к передаче управления программным блокам монитора. Приняв управление, монитор выбирает из управляющих таблиц суперви­ зора, программ управления заданиями и данными необходимую информацию, формирует запись, соответствующую событию, и по­ мещает ее в заданную область памяти. Затем передает управле­ ние в точку, перед обращением к которой произошел переход к мо­ нитору. Таким образом, монитор включается в работу в момент возникновения событий, соответствующих смене состояний. Программные мониторы выборочного типа включаются в ра­ боту по таймеру, отмечающему интервалы времени б, через кото­ рые производится опрос состояний вычислительной системы. Как и мониторы трассировочного типа, они получают необходимые данные о состоянии системы из управляющих таблиц и заносят сформированные данные в заданную область памяти. В зависимости от местоположения и от статуса программные мониторы подразделяются на встроенные и автономные (см. рис. 7.13). Встроенный программный монитор — совокупность программ­ ных блоков, входящих в состав управляющих программ опера­ ционной системы. Встроенный монитор создается совместно с опе­ рационной системой и является ее частью. За счет этого обраще­ ние к блокам монитора реализуется короткими цепочками команд и минимизируются затраты процессорного времени на выполнение измерительных процедур. Встроенные программные мониторы, как правило, имеют статус управляющих программ операционной системы. В операционные системы встраиваются специализиро­ ванные измерительные средства для учета выполненных работ, контроля использования ресурсов и получения данных о сбоях и отказах системы. Такого рода измерительные средства дают мини­ мальные сведения о функционировании вычислительной системы. 254
Для расширения измерительных возможностей используются автономные программные мониторы — измерительные программы, выполняемые системой в основном как прикладной процесс. Ав­ тономные мониторы загружаются в оперативную память как прикладные программы. Монитор программно связывается с су­ первизором, за счет чего в момент возникновения событий мони­ тору передается управление. Монитор выбирает необходимые дан­ ные из управляющих таблиц, обрабатывает их, формирует запись в наборе измерительных данных и возвращает управление супер­ визору. Автономные мониторы, как правило, универсальны и по­ зволяют регистрировать широкую номенклатуру событий при трассировочном и состояний при выборочном методе измерений. Специализированные автономные мониторы используются для контроля за функционированием отдельных подсистем вычисли­ тельной системы, например процессов ввода — вывода, работы внешних запоминающих устройств и др. В отличие от встроенных автономные мониторы используются для оценки функционирова­ ния системы лишь периодически. Основное достоинство программного способа построения мо­ ниторов— возможность получения сколь угодно детальной инфор­ мации. Недостатки — зависимость программных мониторов от типа ЭВМ и операционной системы, а также влияние монитора на вре­ менные аспекты функционирования системы. Программные мони­ торы создаются для ЭВМ и операционных систем конкретных типов. Поэтому постановка на ЭВМ новой операционной системы или расширение операционной системы требует модификации из­ мерительных средств. Поскольку программы монитора реализу­ ются совместно с прикладными и системными программами, об­ работка заданий при измерениях растягивается во времени. Встроенные программные мониторы характеризуются незначи­ тельной ресурсоемкостью и порождаемая ими нагрузка на про­ цессор невелика. Автономные программные мониторы имеют зна­ чительную ресурсоемкость, которая может составлять 10—15% процессорного времени. Выборочные мониторы позволяют сни­ жать нагрузку на ресурсы за счет увеличения периода регистра­ ции, однако при этом для получения представительного объема данных приходится увеличивать продолжительность измерений. Аппаратные мониторы. Аппаратный монитор — комплекс технических и, возможно, программных средств, предназначенных для измерения процессов функционирования вычислительных систем. Принцип измерений с помощью ап­ паратного монитора иллюстрируется рис. 7.15. Монитор получает информацию о состоянии системы посредством электрических сигналов, характеризующих состояние отдельных устройств и блоков. Для измерений выявляются точки под­ ключения монитора к системе, в которых присутствуют сигналы, представляю­ щие состояние устройств. В качестве точек подключения наиболее часто исполь­ зуются выходы триггеров и линии интерфейсов. Точки подключения связыва­ ются с монитором при помощи зондов. Зонд состоит из усилителя, обеспечи­ вающего передачу сигнала по длинной линии и имеющего высокое входное сопротивление, и линии, соединяющей усилитель с входом монитора. Сигналы с зондов обрабатываются селектором — схемой, формирующей на основе вход­ ных сигналов сигналы состояний (событий) 5 Ь . .., 5 М , которые должны обра­ батываться монитором. 255
Рис. 7.15. Измерения с помощью аппаратного монитора Сигналы 5 Ь ..., 5м с селектора поступают в измерительный блок, в кото­ ром выполняются типичные измерительные процедуры: определяется время по­ ступления сигнала, длительность промежутка между двумя событиями, отме­ чаемыми соответствующими сигналами, и число событий. Результаты измерений вводятся в микро-ЭВМ по сигналам прерывания или по таймеру. Микро-ЭВМ обрабатывает поступающие измерительные данные, записывает их на некото­ рый носитель (например, на магнитную ленту) и оперативные оценки функцио­ нирования отображает на терминале. Оперативные оценки используются для контроля за ходом процесса изменений и функционированием вычислительной системы. Зарегистрированные на носителе измерительные данные в дальнейшем подвергаются обработке с помощью ЭВМ монитора или другой ЭВМ, в том числе исследуемой. В зависимости от назначения и способа построения аппаратные мониторы подразделяются на автономные, встроенные, с жесткой и программируемой ло­ гикой (см. рис. 7.13). Автономный аппаратный монитор — переносное устройство для измерений различных вычислительных систем. Встроенный аппаратный мо­ нитор — устройство или блок, конструктивно встроенный в вычислительную си­ стему. Аппаратные мониторы с жесткой логикой предназначены для получения фиксированного набора оценок функционирования, который вычисляется с по­ мощью схемных средств или программ, хранимых в постоянной памяти. Мо­ ниторы с жесткой логикой наиболее широко используются для контроля за использованием ресурсов системы, оцениваемым с помощью коэффициентов за­ грузки. Аппаратные мониторы с программируемой логикой имеют в своем со­ ставе ЭВМ, путем программирования которой можно получать различные дан­ ные о функционировании исследуемой системы. В таких мониторах возможна перестройка функций селектора событий и состояний и функций измерительного блока в зависимости от состава входных сигналов и цели измерений. Пропускная способность аппаратного монитора, определяемая затратами времени на измерение и регистрацию состояний, ограничивается быстродействием используемых в мониторе средств обработки и хранения измерительных дан­ ных. Если частота изменения состояний в системе не превосходит пропускной способности монитора, используется трассировочный метод измерений. В про­ тивном случае измерения проводятся по выборочному методу, который не на­ лагает ограничений на скорость процессов в измеряемой системе. Основные достоинства аппаратных мониторов — системная независимость и независимость процесса функционирования системы от процедуры измерений. Системная независимость обусловлена тем, что аппаратные мониторы прямо не связаны с программными средствами и поэтому могут использоваться для из­ мерений функционирования любых ЭВМ, работающих в различных режимах под управлением любых операционных систем. Аппаратные мониторы не используют ресурсов исследуемой системы, и поэтому процесс измерений не влияет на 256
функционирование системы. Недостаток аппаратного способа измерений — су­ щественные ограничения на состав информации о функционировании системы, доступный для монитора. Монитор может получать только ту информацию, ко­ торая отображается в устройствах в виде сигналов, и ему недоступна информа­ ция, формируемая программами и отображаемая в памяти системы. Поэтому аппаратные мониторы не могут регистрировать атрибуты заданий (имена поль­ зователей и программ), состояние очередей и другую информацию. Наиболее доступна для регистрации информация, связанная с использованием ресурсов: загрузка устройств, интенсивность обращения к устройствам, частота различ­ ных операций, интенсивность потоков данных, передаваемых через интерфейсы, и др. Гибридные мониторы. Для использования преимуществ программного и ап­ паратного способа измерений создаются гибридные мониторы, в которых ис­ пользуются программные средства для получения данных о состояниях си­ стемы и аппаратные средства для регистрации измерительных данных, поступаю­ щих от программных средств. В структурном отношении гибридный монитор состоит из программной и ап­ паратной части. Программная часть — совокупность программных блоков, фик­ сирующих изменение состояний прикладных и системных процессов. Програм­ мные блоки формируют данные для аппаратной части монитора, которые выводятся через соответствующий канал (интерфейс) ввода — вывода. Аппарат­ ный монитор подключается к каналу и, получая данные от измерительных про­ грамм, обрабатывает их собственными средствами. За счет такой организации измерительных средств обеспечивается доступ к информации, формируемой на программном уровне, и существенно снижаются затраты ресурсов системы на измерения, поскольку измерительные программы занимают небольшую область памяти и выполняются с незначительными затратами процессорного времени. Аппаратный монитор имеет статус периферийного устройства и работает в ос­ новном автономно, используя собственную память, процессор и средства ввода — вывода. Организация оценки функционирования. Оценка функциони­ рования вычислительных систем сводится к обработке измери­ тельных данных, зарегистрированных программными и аппарат­ ными мониторами, с целью определения системных характеристик (производительность, время ответа и надежность), показателей . использования ресурсов, характеристик рабочей нагрузки, а также с целью идентификации системы. Наиболее широко используется двухэтапный способ оценки функционирования (см. рис. 7.12). На первом этапе собираются и накапливаются в архиве измеритель­ ные данные. На втором этапе данные обрабатываются. Про­ граммные средства хранения, доступа к данным и оценки функ­ ционирования совместно с положенными в их основу концепту­ альными и математическими моделями функционирования и ме­ тодами измерений образуют систему оценки функционирования (рис. 7.16). Средства хранения создают наборы измерительных данных. Как правило, измерительные данные, формируемые монитором, представляют собой событийные наборы, в которых записи соот­ ветствуют отдельным событиям. С целью экономии памяти, ис­ пользуемой для хранения данных, событийные наборы перед записью в архив преобразуются в наборы с объектной структурой, в которых записи соответствуют таким объектам, как задание. Объектные наборы, как и событийные, имеют последовательную организацию с упорядоченными во времени записями об объек257
Рис. 7.16. Состав системы оценки функ­ ционирования тах. Преобразование событийных наборов в объектные выполняется программами конвертирования, каждая из которых соответствует монитору определенного типа. Оценка функционирования си­ стемы в большинстве случаев про­ изводится на основе некоторого подмножества хранимых в архиве измерительных данных, относя­ щихся к определенным периодам работы системы или к определен­ ным классам заданий. Селективная выборка данных из архива выпол­ няется программными средствами выборки, которые затем формируют наборы данных об определенных классах объектов (временные ин­ тервалы, группы пользователей, продолжительность пребываний за­ даний в системе и др.). Сформиро­ ванные наборы данных обрабаты­ ваются программами оценки системных характеристик, загрузки ресурсов, рабочей нагрузки и т. д. Результаты оценки представ­ ляются в виде выходных документов. Для оценки характеристик используются как специально разрабатываемые программы, так и пакеты программ общего применения, например программ ста­ тистического анализа. 7.5. МОДЕЛИ РАБОЧЕЙ И СИСТЕМНОЙ НАГРУЗКИ Эффективность вычислительной системы существенно зависит от степени согласованности конфигурации и режима функциони­ рования системы с нагрузкой, создаваемой прикладными зада­ чами и операционной системой. Поэтому для решения задач си­ стемной и технической эксплуатации и при проектировании си­ стем необходимо располагать сведениями о потребностях задач в ресурсах системы. Для получения этих сведений существует два способа: 1) анализ программ, в процессе которого оценивается потреб­ ность в памяти, процессорном времени и других ресурсах в рас­ чете на одну реализацию каждой программы; 2) измерения процесса функционирования ЭВМ и обработки измерительных данных. Анализ программ с целью определения создаваемой ими на­ грузки— достаточно сложный процесс, требующий детальных 258
Рис. 7.17. Граф программы сведений, во-первых, о структуре программы и, во-вторых, о рас­ пределении значений исходных величин, влияющих на порядок выполнения программы. Поэтому оценка нагрузки путем анализа программ производится только для специализированных систем, реализующих небольшое число относительно несложных про­ грамм. Оценка нагрузки на основе измерительных данных — наиболее широко используемый способ анализа нагрузки систем общего назначения и проблемно-ориентированных. При этом проводятся измерения процесса функционирования ЭВМ в течение предста­ вительного промежутка времени, охватывающего выполнение 1— 2 тыс. заданий. Полученные данные обрабатываются примени­ тельно к выбранной модели нагрузки, в результате чего оцени­ ваются параметры нагрузки, воспроизводимые моделью. Марковская модель программы. Для определения нагрузки, создаваемой программой в отношении устройств системы, исполь­ зуется марковская модель программы. Как правило, модель пред­ ставляет собой граф, в вершинах которого, соответствующих опе­ раторам программы, отмечены объемы ресурсов, используемых при выполнении оператора, а на дугах — вероятности переходов к следующим операторам. Пример графа программы приведен на рис. 7.17. Вершины графа обозначены номерами 0, 1, ..., К, /С+1. Вершина 0 — начальная, а вершина /С+1 — конечная. Если #1, ..., # ^ — устройства вычислительной системы, то каждой из вершин к=1, ..., К ставится в соответствие вектор (-би, ..., О^л), определяющий потребность оператора к в ресурсах устройств. Значения Ь\и, ..., в ш могут задаваться в виде объемных характе­ ристик ресурса (число процессорных операций, вводимых и выво­ димых символов или записей, обращений к внешним запоминаю­ щим устройствам и т. д.) или в виде временных характеристик (время использования процессора, устройств ввода — вывода и других устройств системы). Если из оператора выходит единствен­ ная дуга, то переход по ней происходит с вероятностью 1. Если из оператора к выходит несколько дуг {к, /), (к, т ) , ..., (к, до), то выбор направления перехода рассматривается как случайное со­ бытие, характеризуемое вероятностями исходов ры, рш, ..., Рит 259
причем рн1 + Ркт + . • .+Рлш= 1. Вероятности определяются путем анализа операторов переходов и циклов, влияющих на пути вы­ числительного процесса. Так, если вероятность выполнения усло­ вия в операторе перехода равна 0,25, то двум путям развития вы­ числительного процесса соответствуют вероятности 0,25 и 0,75. Если цикл повторяется в среднем 100 раз, то вероятность выхода из цикла равна 0,01, а возврата в начало цикла — 0,99. На основе графа программы строится поглощающая марков­ ская цепь, определяющая порядок выполнения программы. При этом операторам 1, ..., К программы ставятся в соответствие не­ возвратные состояния 5 Ь ..., 5К марковской цепи, а конечной вер­ шине графа (/С+1)—поглощающее состояние 50. Расчетом ха­ рактеристик поглощающей марковской цепи определяется среднее число попадании процесса (пи ..., пк) в состояния 5 Ь ..., 5к и дисперсия числа попаданий аД ..., ок2- На основе полученных значений и заданных (вч*, • • •, Фм) потребностей операторов в ре­ сурсах определяются средние значения потребности программы в ресурсах: Значения 9ь ..., 0^ характеризуют использование ресурсов в объемных или временных единицах при одной реализации про­ граммы. Если потребности операторов в ресурсах определены во временных единицах, то значение О = Е0П характеризует среднее время выполнения программы. Марковская модель хорошо воспроизводит ресурсные свойства программ. Погрешности оценок связаны в первую очередь с ошиб­ ками в определении вероятностей переходов р^-, обусловлен­ ными приближенностью априорных сведений о распределении значений исходных данных. Оценка рабочей нагрузки по измерительным данным. Ра­ бочая нагрузка вычислительных систем общего назначения оце­ нивается на основе измерений процесса функционирования. Для оценки рабочей нагрузки выбирается учетная единица работ: при пакетной обработке — задание, а при оперативной — взаимо­ действие пользователя с системой, называемое транзакцией. На основе измерительных данных, полученных с помощью мони­ тора, формируется объектный набор данных, каждая запись которого характеризует одну учетную единицу работы, на­ пример отдельное задание. В зависимости от типа монитора состав данных в записи может быть различным. Так, запись может содержать трассу процесса выполнения работы либо ме­ нее детальные сведения, соответствующие некоторой модели процесса. Эти данные используются для оценки рабочей на­ грузки — определения ее состава и параметров. 260
Рис. 7.18. Модель цент­ рального обслуживания Рис. 7.19. Распределение параметра заданий для неоднородной нагрузки Для повышения достоверности оценки необходима обширная статистика — объемом 1—2 тыс. заданий. Чтобы описать рабо­ чую нагрузку в компактной форме, следует, во-первых, процесс выполнения каждого задания характеризовать небольшим числом параметров и, во-вторых, множество заданий представ­ лять ограниченным числом классов заданий, характеризуя свой­ ства каждого класса среднестатистическим заданием. Для ком­ пактного описания процессов выполнения заданий наиболее ши­ роко используется модель центрального обслуживания. Модель центрального обслуживания. В модели централь­ ного обслуживания процесс выполнения программы представля­ ется поглощающей марковской цепью с множеством состояний 50, 5 Ь ..., 5^, где 50 — поглощающее состояние и 5 Ь ..., 5^— невозвратные состояния, соответствующие этапам выполнения процесса на устройствах /?1,...,/?# (процессор и периферийные), причем состояние 51 отождествляется с этапом процессорной об­ работки. Матрица вероятностей переходов для марковской цепи (7.13) и распределение вероятностей начальных состояний яо= (0, 1, 0, ..., 0). Граф марковской цепи представлен на рис. 7.18. Процесс начинается этапом процессорной обработки, которому соответствует состояние 5ь По окончании этого этапа с вероят­ ностью /?2, ..., Рн процесс переходит в состояние 52, ..., 5^, соот­ ветствующие работе периферийных устройств /?2, • • • ,#^, т. е. вводу—выводу. По окончании этапа ввода—вывода следует очередной этап процессорной обработки, затем переход к очеред261
ному этапу ввода — вывода. Процесс продолжается до тех пор, пока с вероятностью ро не перейдет в поглощающее состояние, в котором и заканчивается. Параметры р0, р2, ..., Ри цепи (7.13) рассчитываются по сред­ нему числу обращений я2*, ..., п^ к периферийным устройст­ вам /?2, ..., /?лг (при одной реализации процесса) следующим образом. Из рис. 7.13 видно, что среднее число этапов процес­ сорной обработки _ ы 1=2 С учетом этого р0=\/п\; рс = пУп*\, 1 = 2 , . . . , ЛЛ (7.14) Продолжительность пребывания процесса в состояниях 5 Ь . . . ..., 5^ характеризуется распределениями длительности этапов процессорной обработки р(х\) и этапов ввода—вывода р(т2), ... ..., р(тлг) или средней длительностью ть ..., Тлг и средними квадратическими отклонениями о\, ..., Ок, оцениваемыми по резуль­ татам измерений. Когда на основе измерительных данных полу­ чены средние значения времени работы т} ь ...,т}^ на устройствах /?ь ..., /?^, средняя длительность этапов процессорной обработки и ввода — вывода Х1 = ,дч/гц, 1=1, ..., N. Модель центрального обслуживания базируется на следу­ ющих допущениях: 1) процесс однороден во времени, т. е. этапы ввода—вывода, выполняемые разными устройствами, рас­ пределены равномерно во времени и продолжительность этапов подчиняется одному и тому же закону на протяжении всего процесса; 2) процесс обладает марковским свойством, т. е. следующее состояние процесса зависит только от текущего состо­ яния и не связано с предысторией процесса. Матрица вероятностей переходов (7.13) порождает случайный процесс со следующими характеристиками. Среднее число этапов П\, ..., Пн, дисперсии 0[П]), ..., й[пк] и распределения р(п\), ..., р(пн) числа попаданий пи ..., Пх процесса в состояния 5 Ь ..., 5 я равны Л1 = 1/р0; т = р1/р0, И [я,] = (1 - Р0)/Р1; 1 = 2, . . . , #;" й [я,] = Р1 (р, + р0)/р20; р Ы = Ро(1-Ро)п'-1» р(т) = Ро\ ?!Л^М Я 1 = 1 , 2, . . . ; я I ', я, (7.15) = о. 1.2 Ь 1—(1 — Р о ) 0 — Р д -! и одноименные характеристики числа попаданий п процесса во все невозврат­ ные состояния, т. е. числа этапов, составляющих процесс,— п = (2 — р0)1р0; р (п) = ро (1 - Ро)п> О [п] = 4( 1 — р0)1р0; п = 3, 5, 7, . . . (7.16) Таким образом, если модель центрального обслуживания при262
менима для представления реальных процессов, то сведения о числе обращений п2>.. .,Пх к периферийным устройствам /?2>- • • .. .Дк и длительности процессорной обработки €ч и ввода—вы­ вода #2, ..., Ф# достаточны для определения параметров марков­ ского процесса. Более детально можно представить процессы, за­ даваясь дисперсиями длительности этапов Д*[т1], ..., /)*[т^] или их распределениями р*(т1), . . . , р*(т#). Однородное и неоднородное представление рабочей нагрузки. Рабочую нагрузку, зафиксированную при измерении процесса функционирования системы в достаточном интервале времени, можно представить среднестатистическим заданием, параметры которого — среднее число обращений яг*, ..., пя* к перифе­ рийным устройствам /?2,- • -Лг и длительность процессорной об­ работки и ввода—вывода # ь . . ./в^ — определяются как стати­ стические средние на множестве выполненных заданий. Пред­ ставление рабочей нагрузки заданием одного типа со средне­ статистическими параметрами называется однородным. В подавляющем большинстве случаев рабочая нагрузка состоит из неоднородных заданий, существенно различающихся по объему используемых ресурсов — в десятки и даже сотни раз. Различия в ресурсоемкости учитываются при обработке данных путем разбиения заданий на классы, каждый из кото­ рых объединяет задания с примерно одинаковыми свойствами, но существенно отличными от свойств заданий других классов. Классификация заданий используется для создания мульти­ программных смесей, позволяющих равномерно загружать ре­ сурсы и за счет этого повышать производительность системы, а также при назначении заданиям приоритетов, с помощью кото­ рых обеспечивается необходимое время ответа, например малое время для коротких заданий. Представление о неоднородности нагрузки дает распределе­ ние (гистограмма) параметров, таких, как суммарное время вы­ полнения заданий, число обращений щ * к периферийным устрой­ ствам Ни 1 = 2, ...Ы, и время использования заданием О* устрой­ ства 7?г. Обычно распределение параметров заданий имеет вид, изображенный на рис. 7.19. Представленное распределение явля­ ется многомодальным, и его можно трактовать как смесь рас­ пределений, соответствующих различным классам заданий в ра­ бочей нагрузке. В данном случае можно предполагать сущест­ вование четырех классов заданий со значениями параметра х, близкими к модам распределения х\, ..., х*. Представление рабочей нагрузки в виде совокупности клас­ сов называется неоднородным. При нем класс характеризуется долей заданий, относящихся к этому классу, и среднестатисти­ ческими свойствами задания, определяющими потребность зада­ ния в ресурсах системы (память, процессорное время и объем ввода—вывода). Необходимость неоднородного представления рабочей на­ грузки связана, во-первых, с организацией рациональных режи263
мов обработки, т. е. с высокой производительностью системы и требуемым качеством обслуживания пользователей. Во-вторых, неоднородное представление позволяет более точно идентифи­ цировать нагрузку, например, моделями центрального обслужи­ вания и создавать более информативные модели производитель­ ности вычислительных систем. Классификация рабочей нагрузки. Наиболее существенный момент классификации — выбор признаков, в качестве которых при классификации рабочей нагрузки выступают параметры, ха­ рактеризующие потребность заданий в ресурсах системы. Набор признаков должен быть достаточным для разделения на классы объектов с различными свойствами (существенными для клас­ сификации) и вместе с тем по возможности минимальным, чтобы упростить процесс классификации. При классификации зада­ ний, выполняемых в режиме пакетной обработки, стремятся оптимизировать мультипрограммную смесь путем составления ее из заданий разных классов, создающих в совокупности оди­ наковую нагрузку на все ресурсы. Поэтому в качестве призна­ ков классификации используются емкость занимаемой оператив­ ной памяти и интенсивность обращений к периферийным устройствам — в расчете на один миллион процессорных опера­ ций. При классификации заданий, выполняемых в режиме оперативной обработки, стремятся обеспечить в первую очередь наилучшее время ответа для работ разной продолжительности и поэтому в качестве признаков применяется объем используе­ мых ресурсов. Существенными для классификации являются параметры с большими коэффициентами вариации (отношением сред­ него квадратического отклонения к математическому ожида­ нию), а параметры, коэффициенты вариации которых, опреде­ ленные на множестве классифицируемых объектов, близки к нулю, исключаются из состава признаков. Если несколько параметров коррелированы (парные коэффициента корреляции не меньше 0,7), в качестве признака классификации исполь­ зуется только один из них. Для классификации рабочей нагрузки наиболее широко ис­ пользуются три метода: 1) параметрическая классификация; 2) классификация по ядру нагрузки; 3) автоматическая клас­ сификация — кластер-анализ. Параметрическая классификация основана на так называе­ мых решающих правилах, которые устанавливают области значений параметров, соответствующие каждому классу. На­ пример, могут использоваться следующие решающие правила: Класс А В С Г> Е 264 Емкость памяти, кбайт X< *< 128 < х ^ 128 < х < х> 128 128 512 512 512 Интенсивность ввода—вывода, с - 1 2<10 г > 10 г<5 г> 5 Любая
Рис. 7.20. Диаграммы Кивиата для разных заданий Рис. 7.21. Классификация задач Согласно этим правилам задание с параметрами х = 200 и 2=12,5 будет отнесено к классу И. Решающие правила наз­ начаются исходя из целевых требований к классификации и состава ресурсов системы. Часто границы классов назначаются на основе многомодальных распределителей значений призна­ ков. При этом в качестве границ принимаются средние точки между соседними модами распределения. Например для рас­ пределения на рис. 7.19 могут использоваться следующие пра­ вила распределения на классы: лг^аг, а1<х^.а2; а2<х^.а3; х>а2>. Классификация по ядру нагрузки сводится к выделению подмножества заданий, создающих основную нагрузку на систему, например 90 % нагрузки. Ядро нагрузки выделяется следующим образом. Для заданий одного наименования опреде­ ляется число реализаций и средние показатели нагрузки, по ко­ торым вычисляется суммарная нагрузка, создаваемая всеми реализациями задания. Задания упорядочиваются по убыванию суммарной нагрузки на ресурсы системы. Первые Н заданий, создающие в сумме 90 %-ную нагрузку, рассматриваются в ка­ честве ее ядра. Как правило, ядро состоит из небольшого числа заданий, обычно 10—20, и вполне обозримо. Путем анализа па­ раметров заданий, входящих в ядро, назначаются классы, каждый из которых состоит из небольшого числа заданий, обычно 1—3. Для выделенных классов устанавливаются граничные значе­ ния параметров, на основе которых строятся решающие правила для параметрической классификации заданий, не вошедших в ядро. Во многих случа5<х последние просто объединяются в один дополнительный класс. При классификации удобно представлять свойства объек­ тов в виде диаграммы Кивиата (рис. 7.20). Диаграмма состоит из совокупности осей 1, 2, 3, ..., на которых в определенном масштабе в направлении от центра отмечаются значения пара265
метров объекта. Затем точки на осях соединяются прямыми ли­ ниями, образующими некоторую фигуру (образ объекта). Исполь­ зование диаграмм Кивиата основано на способности человека распознавать сходство и различие геометрических фигур. Если диаграммы, соответствующие заданиям, имеют сходную конфигу­ рацию, задания можно объединить в один класс. Различие конфи­ гураций свидетельствует о несходстве заданий и является основа­ нием для отнесения заданий к разным классам. Методы автоматической классификации — кластер-анализа — основаны на использовании вычислительных процедур, оценива­ ющих расстояния между классифицируемыми объектами и объе­ диняющих близлежащие объекты в компактные множества, назы­ ваемые кластерами (классами). При классификации объектов по п признакам каждый объект рассматривается как точка в м-мерном пространстве с координатами, определяемыми признаками классификации. На рис. 7.21 приведена типичная картина образо­ вания кластеров. Здесь х\ и Х2 — значения признаков классифика­ ции, А{ — объект с признаками (хц, *2/) и Си Сг, С$ — кластеры, образованные подмножествами классифицируемых объектов. Число кластеров, выявляемых в процессе автоматической клас­ сификации, зависит от числа признаков классификации, их диспер­ сий и свойств объектов. Чем больше число признаков и их диспер­ сии, тем больше вероятность существования значительного числа кластеров. В силу автоматизма, присущего всем методам кластер-ана­ лиза, классификация ведется вне прямой связи с ее целями. Про­ цесс классификации управляется путем выбора признаков, их масштабирования и задания значений управляющих параметров, используемых процедурами классификации для оценки компакт­ ности подмножеств. При классификации десятков или несколь­ ких сотен объектов затраты машинного времени умеренны, а боль­ шего числа объектов — весьма значительны. Классификация позволяет представить множество заданий, со­ ставляющих рабочую нагрузку, небольшим числом классов зада­ ний, обычно 3—10 классами. За счет этого описание рабочей на­ грузки становится весьма компактным и в то же время сохраня­ ется возможность дифференцировать системные характеристики, характеристики процессов и использования ресурсов по отноше­ нию к разнотипным заданиям, связанным с различными группами пользователей. Системная нагрузка. Выполнение прикладных процессов под­ держивается системными процессами. Нагрузка, создаваемая системными процессами, оказывается достаточно большой и составляет десятки процентов для процессора и внешней памяти. Поэтому системная нагрузка учитывается при анализе производи­ тельности систем, а также в моделях производительности, исполь­ зуемых для выбора конфигурации и режимов функционирования. В отличие от рабочей нагрузки, для которой потребность в ресурсах связывается с отдельными заданиями, системная на266
грузка представляется как единое целое, относящееся ко всем выполняемым работам. Системная нагрузка регистрируется мони­ торами как одна из системных характеристик, оцениваемая, на­ пример, коэффициентом загрузки процессора со стороны систем­ ных процессов. Для определения объема используемых ресур­ сов необходимо системную нагрузку распределить между всеми заданиями. Аналогично для прогнозирования системной нагрузки при изменении рабочей нагрузки необходимо установить зависи­ мость между ними. Поэтому системную нагрузку стремятся вы­ разить как функцию параметров рабочей нагрузки. Наиболее широко используется представление системной на­ грузки в виде уравнений регрессии. В качестве параметров на­ грузки используются емкость памяти, выделяемая для размещения операционный системы, число процессорных операций или коэф­ фициент загрузки процессора системными процессами и аналогич­ ные параметры каналов ввода—вывода. Системная загрузка процессора и каналов ввода—вывода наиболее существенно за­ висит от следующих параметров заданий: числа шагов и числа операторов языка управления, указанных в задании. При измере­ ниях регистрируются параметры системной нагрузки и одновре­ менно указанные параметры заданий. Затем измерительные дан­ ные обрабатываются с помощью программ регрессионного ана­ лиза с целью получения уравнений регрессии. ГЛАВА ВОСЬМАЯ ПРОЕКТИРОВАНИЕ И ЭКСПЛУАТАЦИЯ 8.1. ОРГАНИЗАЦИЯ ПРОЕКТИРОВАНИЯ Проектирование вычислительных систем 1 — создание ком­ плекта конструкторской и программной документации, необходи­ мой для производства и эксплуатации. Цель проектирования, назначение проектируемой системы, ис­ ходные данные и технические требования устанавливаются техни­ ческим заданием. В технических требованиях задаются: функции системы и, возможно, характеристики рабочей нагрузки; состав и характеристики источников и приемников данных (устройств ввода—вывода), а также их территориальное размещение; харак­ теристики системы — производительность, емкость памяти, на­ дежность, стоимость, массогабаритные и энергетические; необходи1 Термин «вычислительная система» используется здесь, как и в главах 1, 7, для обозначения совокупности технических и программных средств обра­ ботки данных и охватывает ЭВМ, вычислительные комплексы, системы и сети разного назначения. 267
мые режимы функционирования системы (режимы обработки дан­ ных); условия эксплуатации и другие факторы, существенные для систем того или иного назначения. В зависимости от предвари­ тельной проработки принципов построения технические требова­ ния к системе могут задаваться с разной степенью детализации. Функции, возлагаемые на систему, задаются описанием состава задач, для решения которых предназначена система, и при наличии более подробных данных — характеристиками задач, определя­ ющими потребности задач в памяти, процессорной обработке и средствах ввода—вывода. Кроме того, могут быть заданы архитек­ тура системы (ЭВМ, комплекса, сети), технические и програм­ мные средства, стадии проектирования. Стадии проектирования установлены ГОСТ 2.103—68: техни­ ческое предложение, эскизный проект, технический проект, ра­ бочая конструкторская документация. Техническое предложение — совокупность конструкторских документов, содержащих техниче­ ское и экономическое обоснование проекта как результат анализа различных вариантов построения системы и патентных исследова­ ний. Техническое предложение является основанием для раз­ работки эскизного проекта. Эскизный проект — совокупность кон­ структорских документов, дающих общее представление о струк­ туре и принципе функционирования проектируемой системы и определяющих основные ее параметры. Эскизный проект является основанием для разработки технического проекта или рабочей до­ кументации. Технический проект — совокупность конструкторских документов, содержащих окончательное техническое решение и дающих полное представление о проектируемой системе. На основе технического проекта создается комплект рабочей конструк­ торской документации, предназначенный для изготовления и испы­ тания опытного образца, а также для производства систем. Вычислительные системы — сложные системы с иерархической организацией структуры и процессов функционирования. Принято выделять следующие основные уровни представления структуры и функций: системотехнический, схемотехнический и конструктор­ ский. На системотехническом уровне структура технических средств определяется с точностью до устройств и интерфейсов. Состав программного обеспечения задается перечнем программ, лингвис­ тического и информационного обеспечения системы (языки программирования, управление данными и заданиями, базы и типы наборов данных). Функционирование системы определяется в терминах процессов, реализация которых связана с использова­ нием памяти, устройств, программ и наборов данных. На схемо­ техническом уровне определяется структура устройств в форме структурных, функциональных и принципиальных электрических схем, детально 'представляющих организацию отдельных подсис­ тем и устройств системы. Функционирование устройств описыва­ ется в виде микропрограмм, временных диаграмм, автоматов, бу­ левых функций и электрических процессов. На конструкторском 268
уровне вычислительная система описывается как совокупность конструктивных единиц — шкафов, секций и типовых элементов замены, связанных между собой кабельными, проводными и пе­ чатными соединениями. Многоуровневое представление структуры и функционирования позволяет описать вычислительную систему с необходимой полнотой и одновременно в наиболее компактной, лаконичной форме. Вычислительные системы проектируются по схеме «сверху вниз» — от верхних уровней представления структуры и функцио­ нирования к нижним, т. е. сначала на системотехническом уровне и затем на схемотехническом и конструкторском. В связи с этим выделяются этапы системотехнического, схемотехнического и кон­ структорского проектирования вычислительных систем. По завер­ шении системотехнического проектирования разрабатывается па­ раллельно со схемотехническим и конструкторским проектирова­ нием программное обеспечение. Порядок разработки и состав программной документации определяется стандартами Единой системы программной документации (ЕСПД). 8.2. СИСТЕМОТЕХНИЧЕСКОЕ ПРОЕКТИРОВАНИЕ Цель системотехнического проектирования — определить сле­ дующие аспекты построения вычислительной системы: 1) структуру (конфигурацию)—состав технических средств (ЭВМ, устройства, каналы передачи данных) и связи между ними (система интерфейсов); 2) режим функционирования — способы взаимодействия поль­ зователей с системой и организацию вычислительных процессов (ввод, хранение, обработка и вывод данных); 3) состав лингвистического, информационного и программного обеспечения и порядок взаимодействия программ; 4) характеристики — производительность, время ответа, на­ дежность, стоимость и др. Структура, режим функционирования, состав лингвистиче­ ского, информационного и программного обеспечения должны быть оптимально согласованы с назначением системы, определя­ емым техническим заданием, и в конечном итоге обеспечивать требуемые характеристики системы. Современное состояние теории вычислительных систем не поз­ воляет решать все задачи системотехнического проектирования формальными методами, устанавливающими последовательность действий для получения оптимального результата. Поэтому су­ щественная роль отводится эвристическим методам решения, осно­ ванным на опыте и интуиции проектировщиков. На практике системотехническое проектирование сводится к решению трех ос­ новных задач: выбора и разработки базовой структуры, обеспече­ ния требуемой производительности и надежности. Первая за­ дача— главная, так как при ее решении учитывается назначение системы и требования к производительности и надежности. 269
Задачи обеспечения требуемой производительности и надежности направлены па оптимизацию параметров структуры системы и тех­ нических характеристик устройств и интерфейсов в рамках базо­ вой структуры. При решении этих задач широко используются модели и методы теории вычислительных систем и теории надеж­ ности. Выбор и разработка базовой структуры. Существует широкая номенклатура систем обработки данных: системы централизован­ ной обработки на основе одной или многих несвязанных ЭВМ, обеспеченных при необходимости средствами теледоступа; много­ машинные и многопроцессорные комплексы; глобальные (регио­ нальные) и локальные вычислительные сети. Перечисленные системы существенно различаются по производительности и на­ дежности, объему хранимых данных и сложности реализуемых алгоритмов, а также в отношении расширения функциональных возможностей, увеличения производительности и надежности. Если в техническом задании не определен тип вычислительной системы, то первая задача системотехнического проектирования — выбор типа системы, наилучшим образом удовлетворяющего ее назначению. Основные факторы, влияющие на выбор типа сис­ темы, — рабочая нагрузка, режим взаимодействия пользователей с системой, требования к надежности и состояние производствен­ но-технической базы, на основе которой предполагается создавать систему. Рабочая нагрузка определяет потребность задач (пользовате­ лей) в ресурсах памяти, процессорной обработки и ввода — вы­ вода данных. На основе данных о рабочей нагрузке можно при­ ближенно оценить минимальную необходимую емкость оператив­ ной и внешней памяти и тип внешних запоминающих устройств, минимальную необходимую производительность процессоров и пропускную способность подсистемы ввода — вывода. Режим вза­ имодействия пользователей с системой — пакетная обработка, «запрос — ответ», диалоговый режим и обработка в реальном вре­ мени— влияет на уровень загрузки ресурсов системы, состав и число устройств ввода — вывода данных. При пакетной обработке загрузка процессоров, памяти и системных устройств ввода — вывода оказывается наибольшей и составляет примерно 75—90%. При обработке данных в режиме «запрос — ответ», диалоговом режиме и реальном времени для уменьшения времени ответа соз­ дается запас производительности устройств обработки и ввода— вывода, а также запас емкости памяти, чтобы сохранить необ­ ходимое качество обслуживания при пульсациях нагрузки. За счет этого загрузка основных устройств и памяти системы состав­ ляет обычно не более 50—70 %. Таким образом, исходя из сведений о рабочей нагрузке и до­ стижимого уровня загрузки устройств определяется примерная по­ требность в емкости памяти, производительности процессоров и в средствах ввода — вывода. Кроме того, тип данных, обработка которых возлагается на систему, предопределяет тип операций 270
Рис. 8.1. Варианты базовой струк­ туры вычислительных систем над ними: целочисленной арифметики, с плавающей за­ пятой, десятичной арифме­ тики над полями переменной длины, обработки текстов, матриц и т. д. Эти факторы влияют на выбор типа процес­ соров и ЭВМ. При выборе базовой струк­ туры наиболее сложный мо­ мент— анализ .состояния про­ изводственно-технической ба­ зы и возможности использова­ ния в проектируемой системе серийно выпускаемых техниче­ ских средств (ЭВМ, процес­ соры, внешние запоминающие устройства, устройства ввода—вы­ вода, аппаратура передачи данных и сопряжения каналов с ЭВМ) и существующего программного обеспечения. При проектировании вычислительных систем, за исключением принципиально новых, стремятся в максимальной степени использовать серийно выпу­ скаемые устройства и существующее программное обеспечение, ориентируясь на средства ЕС ЭВМ, СМ ЭВМ или совместное при­ менение этих средств. В результате оценки потребностей в ресурсах и анализа со­ стояния производственно-технической базы выбирается и обосно­ вывается базовая структура проектируемой системы. При этом различные варианты построения систем (рис. 8.1) сравниваются по степени соответствия заданной рабочей нагрузке, требованиям к производительности и надежности с учетом состояния произ­ водственно-технической базы. В рамках выбранного варианта детализируются существенные моменты структурной организации и функционирования вычислительной системы: для многомашин­ ных комплексов выбираются способы комплексирования ЭВМ, разделения рабочей нагрузки между ЭВМ и управления процес­ сами, для многопроцессорных комплексов — способ доступа к об­ щей памяти и периферийным устройствам, для вычислительных сетей — способ передачи данных и состав функций. В результате исследований, проводимых на стадиях технического предложения и эскизного проекта, формируется базовая структура вычислитель­ ной системы, обеспечивающая необходимую производительность процессорной обработки, надежность, а также режимы обслужи­ вания пользователей. Обеспечение требуемой производительности. Производитель­ ность вычислительной системы зависит от следующих основных факторов: 1) структуры системы; 2) режима функционирования; 271
3) характеристик рабочей нагрузки. Кроме того, на производи­ тельность существенно влияет надежность системы, поскольку в результате отказов часть ресурсов или вся система теряет рабо­ тоспособность на время восстановления системы. Обеспечение требуемой производительности в процессе систе­ мотехнического проектирования сводится к оценке производитель­ ности исследуемых вариантов построения системы, а также к оп­ тимизации структуры и режима функционирования для достиже­ ния заданной производительности при минимальной стоимости системы. Основным инструментом при исследовании производительно­ сти являются модели производительности вычислительных систем. Создаваемые модели базируются на эмпирических представлениях о процессе функционирования проектируемой системы и, естест­ венно, не могут превосходить их по сложности. Структура проек­ тируемой системы достаточно полно и точно задается выбранной базовой структурой и воспроизводится в модели с любой необхо­ димой степенью подробности. Однако формирование представле­ ний о рабочей нагрузке (создаваемой потоками обрабатываемых задач) и системной нагрузке (порождаемой операционной систе­ мой при заданном режиме обработки задач и составе рабочей на­ грузки) вызывает существенные трудности, обусловленные сле­ дующими причинами. Сведения о рабочей и системной нагрузке проектируемых си­ стем, за исключением специализированных систем с ограничен­ ным и фиксированным набором функций, обычно получают путем измерения нагрузки систем, находящихся в эксплуатации и обра­ батывающих задачи подобного типа. Но даже при наличии пред­ ставительной статистики о работе существующих систем перенос имеющихся данных на систему с другой структурой и операцион­ ной системой приводит к значительным погрешностям в прогно­ зировании нагрузки, что связано со следующими обстоятельст­ вами. Во-первых, при различии структуры и характеристик могут измениться принципы обработки данных и режим взаимодействия пользователей с проектируемой системой и, как следствие, харак­ теристики рабочей нагрузки. Так, использование в проектируемой системе оперативной памяти большой емкости может привести к изменению структуры программ и перемещению в оперативную память значительной части операционной системы и данных, в ре­ зультате чего уменьшится интенсивность обращений к внешней памяти. Использование во внешней памяти проектируемой системы накопителей большой емкости изменяет порядок размещения на­ боров данных по накопителям и интенсивность обращения к ним. Увеличение числа терминалов приводит к уменьшению объема ввода — вывода данных через системные устройства и т. д. Во-вторых, существенно влияет на рабочую и системную на­ грузку различие операционных систем в проектируемой и суще­ ствующих вычислительных системах, так как каждая операцион­ ная система специфично использует ресурсы оперативной памяти, 272
процессоры и внешнюю память, создавая присущую ей систем­ ную нагрузку. В-третьих, наличие средств телеобработки, возможность рас­ пределенной обработки в рамках вычислительной сети, организа­ ция данных в виде баз и другие подобные аспекты организации проектируемой системы, отсутствующие в существующих систе­ мах, влияют на процессы обработки данных и, следовательно, на характеристики нагрузки. Таким образом, чем больше отличие проектируемой системы от существующих, тем меньше вероятность корректного воспроизве­ дения рабочей и системной нагрузки в моделях производительно­ сти. Модели производительности строятся с учетом уровня досто­ верности данных о рабочей и системной нагрузке, которыми рас­ полагают проектировщики. При невысокой достоверности данных используются наиболее простые модели и приближенные методы расчета их характеристик. С помощью моделей оцениваются сле­ дующие характеристики системы: 1) загрузка ресурсов и при необходимости профиль загрузки; 2) профили процессов, определяющие время пребывания зада­ ний на разных стадиях их выполнения и в очередях; 3) производительность. Модели должны воспроизводить следующее: 1) состав и технические характеристики основных устройств системы — процессоров, оперативной памяти, внешних запомина­ ющих устройств и, возможно, каналов ввода — вывода и передачи данных; 2) основные параметры режима функционирования — уровень мультипрограммирования и системную нагрузку; 3) параметры нагрузки в однородном представлении или в виде нескольких классов задач, обрабатываемых, например, в пакетном режиме, двух-трех классов задач, обрабатываемых в оперативном режиме. На стадиях технического предложения и эскизного проектиро­ вания, когда основное внимание уделяется выбору структуры си­ стемы и самых существенных параметров режима функциониро­ вания, погрешность оценки характеристик моделируемой системы на уровне 25—50 % считается вполне удовлетворительной. По­ этому для оценки характеристик проектируемых систем исполь­ зуются наиболее простые аналитические методы и несложные имитационные модели. При этом параметры структуры, режима функционирования и нагрузки воспроизводятся в моделях на уровне средних и редко на уровне средних и дисперсий. При этом, как правило, используется комплекс моделей производитель­ ности: общая модель производительности системы в целом и частные модели, воспроизводящие функционирование отдельных подсистем — общей памяти с многоканальным доступом, монока­ нала, виртуальной памяти и др. Частные модели позволяют оце­ нить характеристики отдельных процессов, существенно влияю273
щйх на производительность системы, например вероятность бло­ кировки обращений при доступе к общим модулям оперативной памяти и внешним устройствам, задержку передачи данных через общую шину, частоту страничных сбоев в виртуальной памяти и т. п. Характеристики, полученные с помощью частных моделей, вводятся в общую модель производительности в качестве парамет­ ров, представляющих свойства процессов более низких уровней (по сравнению с уровнями процессов, воспроизводимых общей моделью). Оптимизация проектируемой системы по производительности сводится к согласованию структуры системы и технических харак­ теристик устройств с режимом функционирования системы и ра­ бочей нагрузкой. Согласование означает в основном выявление и устранение узких мест в системе. Узкое место — это ресурс (устройство или память), нехватка которого приводит к недоис­ пользованию остальных ресурсов системы. Устраняется узкое место путем изменения числа или характеристик соответствующих устройств. Если улучшить характеристики этого ресурса невоз­ можно, изменяют структуру и режим функционирования системы. Например, невозможность увеличения производительности процес­ сора может потребовать многомашинной организации системы, в частности использования сателлитной ЭВМ. При этом с по­ мощью моделей производительности оценивается эффективность различных вариантов построения системы и выбирается вариант, в наибольшей степени соответствующий назначению проектируе­ мой системы. В результате исследования производительности на стадиях технического предложения и эскизного проекта базовая струк­ тура проектируемой системы конкретизируется до значений пара­ метров, определяющих число и технические характеристики устройств, пропускную способность интерфейсов и каналов связи. Модели производительности необходимы при эскизном и тех­ ническом проектировании программного обеспечения для оценки эффективности различных вариантов организации вычислительных процессов. Здесь требуются более детальные модели, чем при раз­ работке базовой структуры системы. В моделях необходимо вос­ производить процессы планирования и выполнения работ, реали­ зуемые управляющими программами операционной системы, и рабочую нагрузку в неоднородном представлении — в виде сово­ купности классов заданий, обрабатываемых в разных режимах, имеющих приоритеты и использующих различный состав и объем ресурсов. Наиболее подходящими для этой цели являются гиб­ ридные модели, в которых рабочая нагрузка и процессы пла­ нирования воспроизводятся, имитационными, а процессы выполне­ ния задач — аналитическими методами. Имитационные методы позволяют моделировать сколь угодно сложную организацию пла­ нирования и выполнения задач и используются для построения моделей производительности, детально отображающих все ас­ пекты функционирования проектируемой системы. 274
Обеспечение надежности. Требования к надежности опреде­ ляются назначением вычислительной системы и задаются, как правило, минимальным допустимым коэффициентом готовности, характеризующим долю времени, в течение которого система со­ храняет работоспособность. В общем случае коэффициент готов­ ности Кг=Т/(Т + Тв), где Т — средняя наработка на отказ и Тв — среднее время восстановления. Для систем повышенной надежно­ сти, которые должны функционировать непрерывно, требование к надежности может характеризоваться предельным допустимым числом часов простоя системы в заданный период времени, на­ пример 2 часа за 10 лет работы. В тех случаях, когда некоторые группы отказов приводят к прекращению обслуживания отдель­ ных пользователей при сохранении работоспособности остальных, требования к надежности задаются раздельно для подсистем вы­ числительной системы, обслуживающих часть рабочей нагрузки, и для ядра системы. Обеспечение надежности системы охватывает все стадии про­ ектирования, производства и эксплуатации системы. Совокупность мероприятий, направленных на повышение надежности системы, оформляется в виде программы обеспечения надежности, в кото­ рой предусматриваются необходимые мероприятия, гарантирую­ щие надежность технических и программных средств. На стадии технического предложения и эскизного проекта оце­ нивается надежность базовой структуры вычислительной системы. Вычисленные показатели сравниваются с требуемыми, и опреде­ ляется способ повышения надежности системы. Надежность можно увеличить за счет использования высоконадежных элемен­ тов, облегчения режима работы элементов и совершенствования технологии изготовления и сборки системы. Другой подход к по­ вышению надежности — обеспечение отказоустойчивости системы за счет резервирования. Резервировать можно технические сред­ ства на уровне логических элементов, устройств и ЭВМ или про­ граммные средства путем повторной реализации функций на ос­ нове одного и того же или разных алгоритмов и создания допол­ нительных программ для выявления и исправления ошибок. При резервировании технических средств в систему вводится аппара­ турный резерв, при резервировании программных средств — вре­ менной резерв. Резервирование технических средств может выпол­ няться различными способами — статическим, динамическим и гибридным. При статическом резервировании отказы блокируются автоматически, без изменения структуры и режима функциониро­ вания системы. Наиболее распространено тройное статическое резервирование — с использованием схемы голосования (мажори­ тарной логики), которая формирует результат, соответствующий совпадающим результатам двух из трех модулей, вследствие чего отказ одного модуля не нарушает работоспособность системы. При динамическом резервировании модули оснащаются средст­ вами, контролирующими их работоспособность, и при обнаруже­ нии отказа производится реконфигурация системы для подключе275
ния резервного модуля или перераспределения функций между исправными модулями системы. Гибридное резервирование осно­ вано на совместном использовании принципов статического и динамического резервирования. Эффективность вариантов повышения надежности оценивается с помощью моделей надежности, создаваемых на основе аппарата теории надежности. Определяются показатели надежности, и при­ рост надежности сопоставляется с затратами на введение резерва в систему. Путем сравнения вариантов выбирается наиболее ра­ циональный. Значительные трудности возникают при разделении требований к надежности между частями системы — ее подсисте­ мами и устройствами. Чтобы обеспечить заданную надежность при минимальных затратах, необходимо установить соотношение между надежностью и затратами на ее обеспечение для каждого типа устройств и подсистем. Оценка затрат производится на ос­ нове опыта предыдущих разработок, причем, естественно, с рядом допущений. По этой причине устанавливать требования к надеж­ ности подсистем приходится в условиях существенной неопределен­ ности. Для вычислительных систем характерны сбои в работе, вы­ званные электромагнитными помехами, пульсацией питания и дру­ гими причинами. Действие этих факторов обычно кратковременно. Для обеспечения работоспособности в условиях сбоев в систему встраиваются средства, позволяющие обнаружить ошибки и запу­ скать процедуру восстановления (например, повторение действий). Если процедура восстановления работоспособности выполнена успешно, то причиной ошибки считается сбой и система продол­ жает функционировать в естественном режиме. В противном слу­ чае отказ считается катастрофическим. В программе обеспечения надежности системы важная роль отводится повышению ремонтопригодности, позволяющей снижать затраты времени и средств на восстановление работоспособности системы. Для повышения ремонтопригодности существует множе­ ство способов, реализуемых на всех стадиях проектирования, про­ изводства и эксплуатации системы: встраивание в систему эффек­ тивных средств контроля и диагностики, унификация конструкций и рациональная их компоновка и др. 8.3. ЭКСПЛУАТАЦИЯ Эксплуатация вычислительной системы (ЭВМ, комплекса или сети) состоит из технического и системотехнического обслужива­ ния системы и использования ее по прямому назначению — для обработки данных. Техническое обслуживание (техническая эксплуатация) —обе­ спечение работоспособности системы путем создания требуемых условий эксплуатации (режим электропитания, температурный и др.) и проведения профилактических и ремонтно-восстановительных работ. Основной показатель качества технического обслужи276
вания — коэффициент готовности системы (компонентов), харак­ теризующий долю времени, в течение которого система (компо­ ненты) работоспособна. Увеличение коэффициента готовности системы достигается путем сокращения простоев оборудования из-за профилактических и ремонтно-восстановительных работ. На эффективность технического обслуживания наиболее сущест­ венно влияют следующие факторы: 1) условия эксплуатации системы (стабильность электропита­ ния, температура, чистота среды и др.); 2) надежность и ремонтопригодность системы, степень совер­ шенства средств контроля и диагностики; 3) режим обслуживания и квалификация обслуживающего персонала; 4) полнота данных о сбоях и отказах технических средств. Для повышения эффективности технического обслуживания в системах предусматриваются средства накопления данных об ошибках, сбоях и отказах. Данные накапливаются путем реги­ страции состояния системы в момент ошибки, обнаруживаемой встроенными средствами контроля или программами. Регистра­ ция данных производится операционной системой в специальном системном журнале — области накопителя на магнитных дисках. Данные из системного журнала периодически или при необходи­ мости выводятся на печать и используются обслуживающим пер­ соналом для выявления источников ошибок, сбоев и отказов с целью проведения профилактических и ремонтно-восстанови­ тельных работ. Системотехническое обслуживание (системотехническая экс­ плуатация) — обеспечение эффективности использования системы, направленное на снижение стоимости обработки данных, повыше­ ние производительности системы, качества обслуживания пользо­ вателей и др. Основные задачи системотехнического обслуживания: 1) выбор и адаптация операционных систем, в том числе об­ щесистемного программного обеспечения; 2) настройка операционной системы на рабочую нагрузку — организация и выбор параметров функционирования системы, обеспечивающих требуемое качество обслуживания пользовате­ лей и максимальную производительность; 3) совершенствование конфигурации системы — состава уст­ ройства и связей между ними. Все задачи системотехнической эксплуатации сводятся к вза­ имному согласованию конфигурации, режима функционирования системы и рабочей нагрузки для обеспечения требуемого каче­ ства обслуживания пользователей — организации необходимых режимов обработки данных, увеличения производительности, уменьшения времени ответа и стоимости обработки данных. Выбор операционной системы производится исходя из конфи­ гурации вычислительной системы (производительность процессо­ ров, емкость оперативной памяти, состав внешней памяти и 277
средств ввода — вывода), потребности в режимах обработки дан­ ных (сосредоточенная, телекоммуникационная, сетевая, пакет­ ная, диалоговая и т. д.) и основных свойств рабочей нагрузки (состав и характеристики решаемых системой задач). Операци­ онная система адаптируется к конфигурации вычислительной си­ стемы и потребностям пользователей путем генерации варианта, который должен содержать необходимые средства управления устройствами и памятью, способы доступа к данным и обеспечи­ вать требуемые режимы обработки данных. При этом оператив­ ная и внешняя память разделяется на области, предоставляемые системному и прикладному программному обеспечению. В состав общесистемного программного обеспечения включаются необхо­ димые средства автоматизации программирования, отработки символьной и графической информации, управления базами дан­ ных, телеобработки и т. д. Полученный вариант операционной системы определяет воз­ можные режимы функционирования вычислительной системы и обработки данных с точностью до значений параметров, устанав­ ливающих уровень мультипрограммирования, величину кванта процессорного времени, число системных процессов ввода — вы­ вода и другие показатели, которые задаются и изменяются в про­ цессе эксплуатации вычислительной системы путем настройки операционной системы на действующую рабочую нагрузку. При генерации операционной системы рабочая нагрузка мо­ жет быть предсказана лишь приблизительно. К тому же она ме­ няется во времени. Поэтому настройка операционной системы на реальную рабочую нагрузку проводится на работающей вычисли­ тельной системе и повторяется неоднократно. Цель настройки — повысить производительность системы и обеспечить требуемую оперативность обработки — необходимое время ответа. Настройка сводится к назначению параметров операционной системы: уровня мультипрограммирования, кванта процессорного времени, разме­ ров буферов, алгоритмов планирования заданий и задач, алго­ ритмов управления памятью и устройствами т. д. Необходимая для настройки операционной системы информа­ ция собирается при эксплуатации вычислительной системы с по­ мощью системы оценки функционирования, содержащей мони­ торы и средства обработки измерительных данных. Функциони­ рование вычислительной системы оценивается совокупностью сле­ дующих характеристик: 1) ресурсоемкости выполненных работ, рабочей и системной нагрузки; 2) загрузки ресурсов системы и структурной загрузки; 3) общесистемных — производительности, времени ответа и профилей процессов. Путем анализа зарегистрированных характеристик выявля­ ются перегруженные и недоиспользуемые ресурсы системы и уз­ кие места, негативно влияющие на производительность и время ответа. С помощью настроечных параметров операционной си278
стемы можно изменить уровень и структуру загрузки ресурсов, профили процессов и, следовательно, производительность и время ответа. Эффект, достигаемый за счет изменения настроечных па­ раметров, прогнозируется либо эвристически, на основе априор­ ных представлений о степени влияния параметров на характери­ стики системы, либо с помощью моделей производительности. Существенное влияние на производительность и время ответа оказывает способ размещения информации в памяти системы. Так, интенсивность обращения к внешней памяти сильно зависит от того, какие модули операционной системы объявляются рези­ дентными и размещаются в оперативной памяти. Время доступа к накопителям на магнитных дисках существенно зависит от по­ рядка размещения наборов данных по накопителям и в пределах каждого накопителя. С помощью мониторов определяется интен­ сивность обращений к каждому из накопителей (тому данных) и набору данных, а также распределение интенсивности обращений по цилиндрам накопителей. За счет перераспределения данных по томам обеспечивается равномерная загрузка внешних запоми­ нающих устройств и, следовательно, уменьшается время доступа к внешней памяти. За счет перемещения наборов данных в пре­ делах каждого тома уменьшается время доступа к накопителям [1, 18]. Систематическое проведение работ по измерению и анализу функционирования вычислительной системы и настройке опера­ ционной системы позволяет оптимизировать значения настроеч­ ных параметров. В таком случае дальнейшая настройка не мо­ жет дать существенных улучшений и для повышения производи­ тельности необходимо совершенствовать конфигурацию системы: увеличивать число устройств или использовать устройства с бо­ лее высокими характеристиками. Совершенствование конфигурации вычислительной системы проводится аналогично настройке операционной системы. С по­ мощью измерений получаются необходимые данные о функциони­ ровании вычислительной системы и, в частности, данные о за­ грузке устройств. Если загрузка отдельных устройств или групп относительных устройств близка к предельной и настройка опе­ рационной системы не способна изменить загрузку, необходимо увеличивать число соответствующих устройств, например накопи­ телей на магнитных дисках, каналов связи, или применять уст­ ройства с лучшими характеристиками. Для того чтобы оценить эффект, получаемый за счет совершенствования конфигурации системы, используются модели производительности, с помощью которых прогнозируются характеристики системы и выявляется оптимальный вариант развития конфигурации. Изменение конфи­ гурации влечет необходимость проведения работ по настройке операционной системы на новую конфигурацию и рабочую на­ грузку. Возможности эволюционного развития конфигурации и совер­ шенствования режима обработки для удовлетворения меняющихся 279
требований могут оказаться исчерпанными. Тогда возникает не­ обходимость в качественных изменениях — полной замене ЭВМ на более производительную или предпочтительную по другим ха­ рактеристикам. Данная задача в практике систематической экс­ плуатации называется задачей выбора. В строгой постановке задача выбора является сложной много­ параметрической и многокритериальной задачей оптимизации, методы решения которой далеки от завершенности. Практически задача решается в условиях выбора из некоторого числа промышленно освоенных или планируемых к выпуску систем. Ос­ нову выбора составляют ресурсные оценки и опыт использования имеющихся средств. Для выбора должны быть получены следующие данные: 1) об использовании имеющихся ресурсов задачами различ­ ных классов; 2) об использовании ресурсов для обеспечения различных ре­ жимов обработки (пакетного, оперативного). Прогноз изменений объема и состава нагрузки, режимов обра­ ботки и требований к обслуживанию должен основываться на со­ ответствующих организационных и технико-экономических пред­ посылках. Сложность прогнозирования состоит в том, что для получения надежного прогноза необходимо располагать данными о ресурсо­ емкое™ различных классов задач и их влиянии на показатели использования ЭВМ. Для получения таких данных необходим анализ всего процесса использования ЭВМ в конкретной сфере применения. Прогноз потребностей в вычислительных ресурсах связывается с планово-экономическими данными, например с пла­ нируемым изменением объема выпускаемой продукции или объема проектных и других работ. Результаты прогнозирования должны определять требуемую интенсивность обслуживания для основных типов ресурсов (процессора и устройств ввода — вывода) по каж­ дому классу задач и режиму обработки. Вторым этапом выбора является сопоставление прогнозируе­ мых потребностей в ресурсах с характеристиками потенциально возможных конфигураций. Первоначально выбирается производи­ тельность процессора, которая должна быть достаточной для об­ работки потока задач. Оценка производительности получается суммированием интенсивности обслуживания по различным клас­ сам задач для пакетного и оперативного режима и операционной системы. На основе полученной оценки выбирается номинальная производительность процессора. Выбор конфигурации системы ввода — вывода состоит в опре­ делении состава периферийных устройств, включая канальное оборудование, достаточного для прогнозируемой нагрузки. Необ­ ходимо, чтобы пропускная способность системы ввода — вывода, главным образом дисковой памяти, соответствовала прогнозируе­ мой интенсивности ввода — вывода с учетом ограничений на время ответа для оперативного режима. 280
СПИСОК ЛИТЕРАТУРЫ 1. Авен О. И., Гурин Н. Н., Коган Я. А. Оценка качества и оптимизация вы­ числительных систем. М.: Наука, 1982. 2. Боккер П. Передача данных (Техника связи в системах телеобработки данных): Пер. с нем. М.: Радио и связь, 1981. Т. 1, 2. 3. Вейцман К. Распределенные системы мини- и микро-ЭВМ: Пер. с англ. М.: Финансы и статистика, 1982. 4. Вычислительные сети и сетевые протоколы/Д. Дэвис, Д. Барбер, У. Прайс, С. Соломонидес: Пер. с англ. М.: Мир, 1982. 5. Головкин Б. А. Параллельные вычислительные системы. М., Наука, 1980. 6. Дроздов Е. А., Комарницкий В. А., Пятибратов А. П. Электронные вы­ числительные машины Единой системы.— 2-е изд. М.: Машиностроение, 1981. 7. Каган Б. М. Электронные вычислительные машины и системы: Учебное пособие.— 2-е изд., перераб. и доп. М.: Энергоатомиздат, 1985. 8. Кемени Дж., Снелл Дж. Конечные цепи Маркова: Пер. с англ. М.: Наука, 1970. 9. Клейнрок Л. Вычислительные системы с очередями: Пер. с англ. М.: Мир, 1979. 10. Клейнрок Л. Теория массового обслуживания: Пер. с англ. М.: Машино­ строение, 1979. 11. Мультипроцессорные системы и параллельные вычисления: Пер. с англ./ Под ред. Ф. Г. Энслоу. М.: Мир, 1976. 12. Основы теории вычислительных систем: Учебное пособие/Под ред. С. А. Майорова. М.: Высшая школа, 1978. 13. Позин И. Л., Щербо В. К. Телеобработка данных в автоматизирован­ ных системах. М.: Статистика, 1976. 14. Поспелов Д. А. Введение в теорию вычислительных систем. М.: Сов. ра­ дио, 1972. 15. Прангишвили И. В., Подлазов В. С, Стецюра Г. Г. Локальные микропро­ цессорные вычислительные сети. М.: Наука, 1984. 16. Праневичус Г. И. Модели и методы исследования вычислительных сис­ тем. Вильнюс: Мокслас, 1982. 17. Сипсер Р. Архитектура связи в распределенных системах: Пер. с англ. М.: Мир, 1981. Т. 1, 2. 18. Феррари Д. Оценка производительности вычислительных систем: Пер. с англ. М.: Мир, 1981. 19. Якубайтис Э. А. Информационно-вычислительные сети. М.: Финансы и статистика, 1984.
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ Адаптер 6, 48 — данных пакетный 173 — канал—канал 49 — линейный 119 — межпроцессорной связи 75 — сетевой 190, 193 Адекватность модели 227 Алгоритм маршрутизации 146 Аппаратура передачи данных ПО Архитектура открытых систем 133 База данных 18 Банк данных 18 Бит-стаффинг 134 Время восстановления 28 — выполнения 26 — доставки 128 — ожидания 26 — ответа 26 Гибкость системы 82 Граф 13 Дейтаграмма 140 Демодулятор 115 Достоверность данных 112 Заголовок сообщения 133 Загрузка 22 Идентификация 222 — параметрическая 223 — пользователей 183 — функциональная 223 Интенсивность отказов 27 Интерфейс 12 — параллельный 12 — последовательный 12 — программный 133 — связной 12 — транспортный 166 Кадр 158 Канал связи ПО — виртуальный 141 282 — выделенный 111 — дуплексный 116 — некоммутируемый 111 — полудуплексный 116 — симплексный 116 — синхронный 116 Квитанция 151 Классификация задач 264 Комплекс вычислительный 7 —косвенносвязанный 46 — многомашинный 6, 46 — многопроцессорный 6, 50 — прямосвязанный 48 — с многовходовыми ОЗУ 55 — с общей шиной 52 — с перекрестной коммутацией 53 Кодирование иерархическое 144 Коммутация каналов 137 — пакетов 139 — сообщений 138 Конфигурация системы 13 Концевик сообщения 133 Коэффициент готовности 28 — мультипрограммирования 31 Криптография 183 Линия связи 110 Маршрут 143, 146 Маршрутизация 146 — адаптивная 149 гибридная 150 локальная 149 распределенная 149 централизованная 150 — лавинная 148 — по предыдущему опыту 148 — простая 147 — случайная 147 — фиксированная 148 Модель 226 — абстрактная 226 — агрегатная 241 — гибридная 251 — марковская 229 — математическая 226
— статистическая 237 — центрального обслуживания 261 Модем 115 Модулятор 115 Модуляция 115 — амплитудная 115 — частотная 115 Монитор 251 — автономный 255, 256 — аппаратный 255, 256 — встроенный 254 — выборочный 253 — гибридный 257 — программный 254 — с жесткой логикой 256 — с программируемой логикой 256 — специализированный 254 — трассировочный 253 — универсальный 253 Моноканал 191 Мост 215 Мультиплексор передачи данных ПО, 119 удаленный 191 Мультипрограммирование 29 Набор данных 18 Нагрузка рабочая 20, 258 Нагрузка системная 266 Надежность 27 Наработка на отказ 27 Насыщение системы 30 Обеспечение программное 5 прикладное 18 системное 17 Обработка — конвейерная 33 — оперативная 31 — пакетная 31 — параллельная 35 —распределенная 177 Окно 152, 200 Операционная система 16 Открытость системы 129, 133 Отображение адресов 145 Оценка функционирования 257 Память 15 Параллелизм 35 Параметр системы 21 Перегрузка 154 Порт 129 Префикс 62 Программа — прикладная 18 — системная обрабатывающая 17 — управляющая 16 Производительность 21 — комплексная 22 — на рабочей нагрузке 23 — номинальная 21 — системная 23 Прозрачность канала 134 Пропускная способность 112 Протокол 135 — виртуального терминала 172 — высокого уровня 171 — обработки графической информа­ ции 178 — передачи графической информации 178 — передачи файла 175 — транспортный 166 — удаленного ввода заданий 176 — управления графопостроителем 179 Процесс 18, 129 — прикладной 18, 129 — системный 19, 129 Профиль загрузки 248 Профиль процесса 246 Пункт абонентский 110 Распределение адресов 144 Режим 28, 29 — диалоговый 32 — запрос—ответ 32 — коллективного доступа 33 — мультипрограммный 29 — обработки 28 — пакетный 31 — реального времени 34 Сеанс 130 Селекция данных 199 Сеть вычислительная 9 локальная И, 191 — передачи данных 9, 125 базовая 125, 165 — терминальная 9, 126 — ЭВМ 9, 126 Система административная 126 — вычислительная 7 ассоциативная 94 конвейерная 44 матричная 88 МКМД 45 МКОД 44 ОКМД 44 ОКОД 42 с перестраиваемой структурой 104 функционально распределенная 101 — массового обслуживания 234 — обработки данных 5 одномашинная 5 —распределенная 11 — связи интегрированная 143 — телеобработки 8, 109 — централизованная 11 Сложность модели 228 283
Служба транспортная 165 Соединение — виртуальное 161 — двухточечное 111 — многоточечное 111 Сообщение 129 Средства технические 5 — программные 5 Стоимость системы 28 Столкновение 199 Структура 13 — кольцевая 191 —магистральная 191 Супервизор 16 Схема 13 Уровень мультипрограммирования 29 Устройство 15 — автоматическое вызывное 117 Тайм-аут 151 Трасса 19 ЭВМ — административная 180 — главная 126 — коммутационная 125 — переходная 136 — связная 125 — терминальная 126 Эффективность 20, 129 Узел связи 125 межсетевой 126 Управление данными 17, 18 — заданиями 17 — сетью 17 Форма ярусно-параллельная 35 Характеристика 20 Цепь — марковская 229 — непрерывная 229 — поглощающая 230 — эргодическая 231 Шлюз 136, 215
ОГЛАВЛЕНИЕ Предисловие , ГЛАВА ПЕРВАЯ. СИСТЕМЫ ОБРАБОТКИ ДАННЫХ 1.1. 1.2. 1.3. 1.4. Способы построения и классификация Состав и функционирование Характеристики и параметры Режимы обработки данных ГЛАВА ВТОРАЯ. ВЫЧИСЛИТЕЛЬНЫЕ КОМПЛЕКСЫ 2.1. 2.2. 2.3. 2.4. 2.5. 2.6. 2.7. Параллельная обработка информации Многомашинные комплексы Многопроцессорные комплексы Особенности организации вычислительных процессов Комплексы на основе микро-ЭВМ и микропроцессоров . . . . Реализация комплексов Сравнение многомашинных и многопроцессорных комплексов . . ГЛАВА ТРЕТЬЯ. ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ 3.1. 3.2. 3.3. 3.4. 3.5. 3.6. Системы с конвейерной обработкой информации Матричные системы Ассоциативные системы Однородные системы и среды Функционально распределенные системы Системы с перестраиваемой структурой ГЛАВА ЧЕТВЕРТАЯ. СИСТЕМЫ ТЕЛЕОБРАБОТКИ 4.1. 4.2. 4.3. 4.4. 4.5. ГЛАВА Принципы построения Каналы связи Сопряжение ЭВМ с каналами связи Абонентские пункты Программные средства ПЯТАЯ. ВЫЧИСЛИТЕЛЬНЫЕ СЕТИ 5.1. Структура и характеристики 5.2. Многоуровневая организация управления 5.3. Способы и средства коммутации и передачи данных 5.4. Адресация, маршрутизация пакетов и управление потоками данных 5.5. Протоколы и интерфейсы управления каналами и сетью передачи данных 5.6. Транспортная служба 5.7. Протоколы высокого уровня 3 5 — 13 20 28 34 — 46 50 57 64 68 79 83 — 88 94 98 100 104 109 — 112 119 121 123 125 — 129 137 143 156 165 171 285
5 8 Административное управление 5 9 Зп'цита данных и идентификация пользователей 5.10. Реализация ГЛАВА ШЕСТАЯ. ЛОКАЛЬНЫЕ 6.1. 6 2. 6.3. 6.4. 65 ВЫЧИСЛИТЕЛЬНЫЕ СЕТИ 191 Принципы построения Моноканалы Адаптеры Расширение и комплексироваппе Реализация ГЛАВА СЕДЬМАЯ. 7 1. 7 2. 73 7.4. 7.5. . 179 182 . . 183 ОСНОВЫ ТЕОРИИ ВЫЧИСЛИТЕЛЬНЫХ — 195 207 213 215 СИСТЕМ Предмет и задачи Модели и методы . . . Принципы анализа производительности Методы п средства измерений и оценки функционирования Модели рабочей и системной нагрузки . 221 — 226 244 . . . 251 258 ГЛАВА ВОСЬМАЯ. ПРОЕКТИРОВАНИЕ И ЭКСПЛУАТАЦИЯ 267 8.1. Организация проектирования 8.2. Системотехническое проектирование 8.3. Эксплуатация Предметный указатель Список литературы — 269 276 281 284
УЧЕБНИК АЛЕКСАНДР МАКСИМОВИЧ ЛАРИОНОВ СЕРГЕЙ АЛЕКСАНДРОВИЧ МАЙОРОВ ГЕННАДИЙ ИВАНОВИЧ НОВИКОВ ВЫЧИСЛИТЕЛЬНЫЕ КОМПЛЕКСЫ, СИСТЕМЫ И СЕТИ Редактор С. С. Полигнотова Художественный редактор Д. Р. Стеванович Технический редактор А. Г. Рябкина Корректор Н. Б. Чухутина ИБ № 1321 Сдано в набор 25.11.86. Подписано в печать 19.03.87. М-23530. Формат бОХЭО'Ае. Бумага ти­ пографская № 2. Гарнитура литературная. Высокая печать. Усл. печ. л. 18. Усл. кр.-отт. 18. Уч.-изд. л. 20,73. Тираж 35 000 экз. Заказ № 2985. Цена 1 р. Ленинградское отделение Энергоатомиздата. 191065, Ленинград, Марсово поле, 1. Ленинградская типография № 4 ордена Трудового Красного Знамени Ленинградского объ­ единения «Техническая книга» им. Евгении Соколовой Союзполиграфпрома при Государ­ ственном комитете СССР по делам издательств, полиграфии и книжной торговли. 191126, Ленинград, Социалистическая ул., 14.