Текст
                    Этот файл был взят с сайта
http://all-ebooks.com
Данный файл представлен исключительно в
ознакомительных целях. После ознакомления с
содержанием данного файла Вам следует его
незамедлительно удалить. Сохраняя данный файл
вы несете ответственность в соответствии с
законодательством.
Любое коммерческое и иное использование кроме
предварительного ознакомления запрещено.
Публикация данного документа не преследует за
собой никакой коммерческой выгоды.
Эта книга способствует профессиональному росту
читателей и является рекламой бумажных изданий.
Все авторские права принадлежат их уважаемым владельцам.
Если Вы являетесь автором данной книги и её распространение
ущемляет Ваши авторские права или если Вы хотите
внести изменения в данный документ или опубликовать
новую книгу свяжитесь с нами по email.


АРХИТЕКТУРА КОМПЬЮТЕРНЫХ СИСТЕМ и СЕТЕЙ Под редакцией профессора В.И. Лойко Допущено Министерством сельского хозяйства Российской Федерации в качестве учебного пособия для студентов высших сельскохозяйственных учебных заведений по специальности 351400 “Прикладная информатика (по областям)” Москва “Финансы и статистика” 2003
УДК 004.72(075.8) ББК 32.973.202я73 А87 АВТОРЫ: Т.П. Барановская, В.И. Лойко, М.И. Семенов, А.И. Трубилин РЕЦЕНЗЕНТЫ: кафедра вычислительной техники и автоматизированных систем управления Кубанского государственного технологического университета (заведующий кафедрой - доктор технических наук, профессор В.И. Ключко); Т.П. Бурда, кандидат экономических наук, профессор кафедры экономической кибернетики Кубанского государственного аграрного университета А87 Архитектура компьютерных систем и сетей: Учеб, пособие/ Т.П. Барановская, В.И. Лойко, М.И. Семенов, А.И. Трубилин; Под ред. ] .И. Лойко. - М.: Финансы и статистика, 2003. - ISBN 5-279-02606-9 Освещены теоретические и практические вопросы современных нетра- диционных архитектур вычислительных систем, позволяющих эффективнее и производительнее реализовывать информационные процессы обработки и накопления данных. При рассмотрении компьютерных сетей основной ак- цент сделан на объяснении сути процесса обмена данными, подкрепленном теоретическим и справочным материалом. Для студентов специальностей 351400 «Прикладная информатика (по областям)», 351500 «Математическое обеспечение и администрирование ин- формационных систем» и 220400 «Программное обеспечение вычислитель- ной техники и автоматизированных систем», а также для преподавателей и слушателей системы повышения квалификации. 2404000000 -143 010(01)-2003 339 - 2003 УДК 004.72(075.8) ББК 32.973.202я73 © Коллектив авторов, 2003
Оглавление Предисловие............................................7 Введение...............................................9 Г л а в а 1. КОМПЬЮТЕРНЫЕ СИСТЕМЫ, УПРАВЛЕНИЕ И ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ..................11. к 1.1. Основные понятия систем.................. 11 1.1.1. Понятие «системы»...................11 1.1.2. Управление в системах...............12 1.1.3. Базовая информационная технология...16 1.2. Классификация компьютеров по областям применения...................................21 1.3. Общие требования, предъявляемые к современным компьютерам..................................36 1.4. Оценка производительности вычислительных систем.......................................40 л Вопросы для самопроверки......................52 Г л а в а 2. НЕТРАДИЦИОННЫЕ АРХИТЕКТУРЫ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ................................53 2.1. Числовая и нечисловая обработка..........53 •э* 2.2. Ограничения фон-неймановской архитектуры.57 2.3. Принцип параллельной обработки данных....58 2.4. Принцип конвейерной обработки данных.....61 3
2.4.1. Последовательные конвейеры.......62 2.4.2. Векторные конвейеры..............64 2.5. Классификация архитектур вычислительных систем.....................................66 2.6. Мультипроцессорные системы............71 2.6.1. Классификация систем параллельной обработки данных........................71 2.6.2. МПС с общей памятью..............76 2.6.3. МПС с локальной памятью и многомашинные системы.................80 2.7. Базовые архитектуры суперкомпьютеров...84 2.7.1. Суперкомпьютеры с параллельной обработкой..................................84 2.7.2. Суперкомпьютеры с конвейерной обработкой..............................86 2.8. Ассоциативный процессор...............92 2.9. Концепция ВС с управлением потоком данных.98 2.10. Закон Амдала и его следствия........100 Вопросы для самопроверки..................101 Г л а в а 3. ВВЕДЕНИЕ В ТЕОРИЮ МАССОВОГО ОБСЛУЖИВАНИЯ И УПРАВЛЕНИЯ РЕСУРСАМИ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ.....................102 3.1. Основные понятия.....................102 3.1.1. Марковский случайный процесс....102 3.1.2. Потоки событий..................103 3.1.3. Уравнения Колмогорова......... 105 3.2. Схема гибели и размножения...........108 3.3. Формула Литтла...................... ПО 4
3.4. Простейшие системы массового обслуживания и их характеристики.........................112 3.4.1. Многоканальные СМО с отказами......112 3.4.2. Одноканальная СМО с неограниченной очередью.................................116 3.4.3. Многоканальная СМО с неограниченной очередью.................................119 3.5. Управление ресурсами вычислительных систем ... 121 3.5.1. Управление ресурсами однопроцессорных систем оперативной обработки данных.......121 3.5.2. Управление ресурсами МПС при обработке задач....................................131 3.5.3. Управление ресурсами МПС в оперативном режиме...................................135 Вопросы для самопроверки....................144 л а в а 4. КОМПЬЮТЕРНЫЕ СЕТИ.........................146 4.1. Базовые топологии локальных компьютерных сетей.........................................147 4.2. Топология глобальной вычислительной сети.153 4.3. Сетевые протоколы и уровни...............155 4.4. Физический и канальный уровни............157 4.4.1. Модуляция и демодуляция............158 4.4.2. Емкость канала связи...............161 4.4.3. Кодирование информации.............164 4.4.4. Уплотнение информационных потоков..167 4.5. Протоколы канального уровня..............171 4.5.1. Схема организации фаз коммуникаций.172 4.5.2. Виды протоколов....................174 4.5.3. Анализ производительности протоколов .... 176 5
4.5.4. Определение скорости передачи полезной информации и оптимальной длины кадра ... 179 4.5.5. Методы случайного доступа к сети..180 4.6. Сетевой уровень модели OSI..............200 4.6.1. Методы коммутации в компьютерных сетях .. 200 4.6.2. Управление потоком в сети.........206 4.6.3. Выбор кратчайших путей............212 4.7. Глобальная сеть Интернет................216 4.7.1. Структура Интернета...............217 4.7.2. Передача информации в Интернете...220 4.7.3. Краткая характеристика ресурсов Интернета................................223 4.7.4. Удаленный доступ к ресурсам сети..228 4.7.5. Коммерческое применение Интернета.229 * Вопросы для самопроверки.....................239 Приложение. Характеристики многопроцессорных компьютеров...........................................242 Литература............................................252 Предметный указатель..................................253
Предисловие Широчайшее распространение персональных компьютеров может создать у читателя впечатление, что других компьютер- ных систем не существует или, по крайней мере, они отживают свой век. Это, конечно же, не так. Интеллектуальные запросы человечества растут быстрее увеличения производительности и расширения возможностей компьютерной техники, что стимули- рует исследования и разработки новых вычислительных архитек- тур, новых подходов к организации вычислений в ЭВМ, исполь- зующих нетрадиционные методы и их реализацию. « Учебное пособие «Архитектура компьютерных систем и се- тей» предназначено для студентов специальностей 351400 «При- кладная информатика (по областям)» и 351500 «Математическое обеспечение и администрирование информационных систем». Тематика пособия соответствует государственным образователь- ным стандартам указанных специальностей в части вычислитель- ных систем и сетей. Книга состоит из четырех глав, посвященных изложению ос- новных теоретических и прикладных вопросов компьютерных систем и сетей. В главе 1 раскрываются основные понятия систем управле- ния и место в них информационных технологий. В свою очередь, на основе архитектур ЭВМ и компьютерных сетей описываются процессы обработки данных и обмена ими в информационных технологиях. Этому важному моменту здесь уделяется особое внимание. В этой же главе дается классификация компьютеров по областям применения и приведены основные параметры ком- пьютеров. В главе 2 представлены современные классификация и спосо- бы оценки компьютерных систем, рассмотрены мультипроцессор- ные системы. Изложены принципы параллельной и конвейерной обработки данных, приведены современные нетрадиционные архитектуры ЭВМ, включая ассоциативные и потоковые процес- соры. В анализе их производительности используется аппарат тео- рии массового обслуживания, поэтому главу 3 авторы начали с введения в теорию массового обслуживания, где дана необходи- 7
мая база для последующих теоретических исследований. Основ- ная же часть этой главы посвящена обоснованию методов управ- ления производительностью мультипроцессорных систем; изла- гаются также основы теории управления ресурсами вычислитель- ных систем. В главе 4 (самой большой по объему) рассматриваются тео- ретические и прикладные вопросы компьютерных сетей, вклю- чая глобальную сеть Интернет.Здесь даны топологий локальных и глобальных компьютерных сетей, рассмотрены достоинства и недостатки тех и других, раскрыты понятия сетевых техноло- гий «файл-серверная» и «клиент-серверная». Теория компьютер- ных сетей, изложенная в этой главе, опирается на эталонную базовую модель взаимодействия открытых систем. В главе при- ведены теоретические обоснования протоколов взаимодействия в сетях на трех нижних уровнях модели - физическом, каналь- ном и сетевом, что является основой понимания того, как рабо- тают компьютерные сети. В разделе, посвященном сети Интер- нет, даны ее топология, организация адресов, перечислены и охарактеризованы ресурсы Интернета, уделено внимание ком- мерческому использованию этой действительно глобальной сети. Часть материала книги, необязательного при первом чтении, набрана уменьшенным шрифтом. Он может быть пропущен без нарушения целостности и последовательности изложения. В приложение вынесен материал учебного пособия, посвящен- ный кратким характеристикам современных ЭВМ различной ар- хитектуры, выпускаемых ведущими компьютерными фирмами мира. Каждая глава завершается вопросами для проверки усвоения учебного материала. В учебном пособии на принципиальном уровне раскрыты общие подходы, на которых основано построение современных компьютерных систем и сетей. Для овладения практическими навыками работы в рамках конкретных вопросов архитектурно- го и алгоритмического содержания курса студенты выполняют в соответствии с учебной программой дисциплины лабораторный практикум и курсовой проект.
Введение Вычислительные системы различной архитектуры являются аппаратной частью информационной технологии, достигшей к концу XX в. глобального характера и содержания. Мультипро- цессорные системы, к которым относятся также компьютерные сети, позволяют за счет изменения их архитектуры оптимизиро- вать параметры основных процессов информационной техноло- гии: обработка, накопление, передача данных и представление знаний. * Под технологией в широком смысле понимают науку о про- изводстве материальных благ, включающую три аспекта; инфор- мационный, инструментальный и социальный [12]. Информаци- онный аспект включает описание принципов и методов производ- ства; инструментальный - орудия труда, с помощью которых реализуется производство; социальный - кадры и их организацию. В более узком промышленном смысле технологию рассматрива- ют как последовательность действий над предметом труда в це- лях получения конечного продукта. Например, технология полу- чения стали из железной руды или технология производства сли- вочного масла из молока. Понятие «информационная технология» возникло в последние десятилетия XX в. в процессе становления информатики. Особен- ность информационной технологии состоит в том, что в ней и предметом, и продуктом труда является информация, а орудия- ми труда - средства вычислительной техники и связи. Информа- ционная технология как наука о производстве информации воз- никла именно потому, что информация стала рассматриваться как вполне реальный производственный ресурс наряду с други- ми материальными ресурсами. Причем производство информа- ции и знаний оказывает решающее влияние на модификацию и создание новых промышленных технологий. Потребность в передаче и обмене информацией человечество испытывало уже на ранних стадиях своего развития. Если снача- ла для ускорения передачи информации использовались костры, курьеры, потом - почта, семафорный телеграф и прочие, то с по- явлением электрического телеграфа и телефона принципиально изменились возможности передачи информации. 11зобретение ра- 9
дио и телевидения, а затем компьютера, цифровых систем связи и вычислительных сетей, создание в 1978 г. первого персональ- ного компьютера и совершенно невероятное и исключительно быстрое его распространение и развитие именно в качестве инст- рументального средства накопления, преобразования и переда- чи информации позволили новым, автоматизированным инфор- мационным технологиям внедриться практически во* все области человеческой деятельности. В основе автоматизированных информационных технологий лежат следующие технические достижения: • создание средств накопления больших объемов информа- ции на машинных носителях, таких как магнитные и оптические диски. • создание различных средств связи (таких, как радио- и теле- визионная связь, телекс, телефакс, цифровые системы связи, компьютерные сети, космическая связь), позволяющих воспри- нимать, использовать и передавать информацию практически в любой точке земного шара; • создание компьютера (особенно персонального компьюте- ра), позволяющего по определенным алгоритмам обрабатывать и отображать информацию, накапливать и генерировать знания. Наиболее полно достоинства информационной технологии проявляются при ее использовании в автоматизированных сис- темах управления (АСУ). Объектом рассмотрения в этой книге являются средства ин- формационной технологии, т.е. орудия труда ее реализации. Ап- паратно-программные средства входят в состав всех основных информационных процессов.
Глава 1 КОМПЬЮТЕРНЫЕ СИСТЕМЫ, УПРАВЛЕНИЕ И ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ 1.1. Основные понятия систем г 1.1.1. Понятие «системы» По-гречески система (systema) - это целое, составленное из частей. Другими словами, система - есть совокупность элемен- тов, взаимосвязанных между собой и тем самым образующих определенную целостность. Количество элементов, из которых состоит система, может быть любым, важно, чтобы они были между собой связаны. При- меры систем: техническое устройство, состоящее из узлов и дета- лей; живой организм, состоящий из клеток; коллектив людей; предприятие; государство и т.д. Лекционная аудитория с лекто- ром и студентами - система; каждый студент - тоже система; обо- рудование аудитории - система; отдельный стол - тоже система. А вот ножка стола - уже не система. Но это с точки зрения мак- ропредставлений. Если же рассматривать ножку стола на уровне микропредставлений, то это тоже система, образуемая совокуп- ностью молекул и атомов. Из этих примеров ясно, что системы очень разнообразны, но все они имеют ряд общих свойств и понятий. Элемент системы - часть ее, выполняющая определенную функцию (лектор читает лекцию, студенты слушают и конспек- тируют и т.д.). Элемент системы может быть сложным, состоя- щим из взаимосвязанных частей, т.е. тоже представлять собой систему. Такой сложный элемент часто называют подсистемой. Организация системы - внутренняя упорядоченность и со- гласованность взаимодействия ее элементов. Организация сис- 11
темы проявляется, например, в ограничении разнообразия со- стояний элементов в рамках системы (во время лекции не игра- ют в волейбол). Структура системы - совокупность внутренних устойчивых связей между ее элементами, определяющая основные свойства системы. Например, в иерархической структуре отдельные эле- менты образуют соподчиненные уровни и внутренние связи орга- низуются между этими уровнями. Целостность системы - принципиальная несводимость ее свойств к сумме свойств ее элементов. В то же время свойства каждого элемента зависят от его места и функции в системе. Так, если вернуться к примеру с лекцией, то, рассматривая отдельно свойства лектора, студентов, предметов оборудования аудитории и т.д., нельзя однозначно определить свойства системы, где эти элементы будут совместно использоваться. 1.1.2. Управление в системах Совокупность объекта управления (ОУ), управляющего орга- на (УО) и исполнительного органа (ИО) образует систему управ- ления (рис. 1.1), в которой выделяются две подсистемы: управля- ющая (УО и ИО) и управляемая (ОУ) [10]. В процессе функционирования этой системы управляющий орган получает информацию 7осо текущем состоянии объекта уп- равления и информацию 7вх о том, в каком состоянии должен на- ходиться ОУ. Отклонения ОУ от заданного состояния происхо- дят под воздействием внешних возмущений (V). Результатом срав- нения информации /вх и 1ос в УО является возникновение управляющей информации I, которая воздействует на ИО. На основе информации I исполнительный орган вырабатывает уп- равляющее воздействие (U), которое ликвидирует отклонение в объекте управления. Наиболее сложным звеном в системе управления считается УО. Здесь степень сложности определяется числом выполняемых функций, т.е. УО должен уметь производить максимально разно- образные действия. Это естественно, так как на любое состояние объекта управления У О должен отреагировать соответствующим образом, своевременно обработав поступившую в него инфор- мацию /ос и выработав управляющую информацию I. 12
Система управления Управляющая подсистема УО ИО ОУ Управляемая подсистема Внешняя среда Рис. 1.1. Укрупненная структурная схема системы управления: УО - управляющий орган; ИО - исполнительный орган; ОУ - объект управления; 1т - входная информация; I - управляющая информация; U - управляющее воздействие; I - информация о текущем состоянии; V - внешнее возмущение Как видно из рис. 1.1, для функционирования структурной схемы управления необходима информация. На рисунке изобра- жены три ее потока: /вх, 1ос и I. Информация 7вх сообщает управ- ляющему органу о множестве возможных состояний ОУ и УО, а также о том, в каком из состояний должен находиться ОУ при заданных внешних условиях. Информация 1ж выполняет функ- ции обратной связи. Понятие обратная связь является фундамен- тальным в теории управления. В общем случае под обратной свя- зью понимают передачу воздействия с выхода какой-либо систе- мы обратно на ее вход. В системах управления обратная связь является информационной, и с ее помощью в управляющую под- систему поступает информация о текущем состоянии управляе- мой подсистемы. Третий информационный поток I - это инфор- мация, возникшая в результате обработки в УО информации 7вх и Z и управляющая работой ИО. 13
Очень важной компонентой 7 является информация о цели управления, ибо управление бессмысленно, коль скоро оно не на- правлено на достижение определенной цели. Если управление наилучшим образом соответствует поставленной цели, то такое управление называется оптимальным. Критерием оптимальнос- ти управления считается некоторая количественно измеряемая величина, отражающая цель управления. Математическая запись критерия оптимальности носит название целевой функции. При оптимальном управлении значение целевой функции достигает экстремума (максимума или минимума в зависимости от крите- рия оптимальности). Ярко выраженный целевой информационный характер управ- ления подтверждается его кибернетическим определением: управ- ление есть процесс целенаправленной переработки информации. В зависимости от того, в какой системе (простой, сложной, большой) производится управление, различают системы авто- матического управления (САУ) и автоматизированные системы управления (АСУ). Автоматическое управление осуществляется, как правило, в простых системах, когда заранее известны описание ОУ и алго- ритм управления им. По принципу управления системы автома- тического управления могут быть разомкнутыми и замкнутыми. В разомкнутых системах измеряется возмущение, отклоняющее объект от заданного состояния, и вырабатывается воздействие, компенсирующее возникшее возмущение. Такая система не спо- собна длительное время управлять неустойчивым объектом. В замкнутых системах (рис. 1.2) реализуется идея обратной связи, благодаря которой информация об отклонении управляемого объекта от заданного состояния позволяет выработать воздей- ствие, возвращающее объект в это состояние. Благодаря тому, что поведение объекта и алгоритм управле- ния строго заданы, системы автоматического управления могут работать автономно, без участия человека (хотя, конечно, их со- здание и наблюдение за их функционированием невозможны без человека). Как правило, САУ используются в технических системах и в качестве УО применяется компьютер, который с помощью про- граммы (для него это 1в) выдает результат обработки информа- ции, обычно физический сигнал - сигнал управления (7,), кото- рый через преобразователь Пр1 приводит в действие ИО, возвра- 14
Рис. 1.2. Упрощенная структурная схема замкнутой САУ: П , Пр2 - преобразователи; остальные обозначения см. к рис. 1.1 щающий ОУ в заданное программой компьютера состояние. Со- стояние ОУ, меняющееся под воздействием внешних возмущений К, определяет значение сигнала обратной связи (7ос), которое че- рез преобразователь Пр2 поступает в компьютер УО. Преобразо- ватели необходимы для изменения уровней или природы прохо- дящих через них сигналов, так как элементы системы могут быть различны по своей физической сути. С ростом и усложнением производства ОУ приобретают ха- рактер сложных и больших систем, включающих многочислен- ные элементы и подсистемы, связи между которыми не всегда ясны, а критерии функционирования не обладают достаточной четкостью. В этих условиях использовать результаты теории ав- томатического управления в полной мере не удается, и в контур управления, помимо человека-оператора ЭВМ, действующего по заданным алгоритмам, включается лицо, принимающее решения (ЛПР). Наличие ЛПР в контуре управления является отличитель- ной чертой АСУ (рис. 1.3). Автоматизированное \ правление при- меняется в том случае, когда нет возможности реализовывать автоматическое управление. 15
Рис. 1.3. Структурная схема АСУ: ПО - программное обеспечение; / - информационный поток на входе; /вых - то же на выходе; остальные обозначения см. к рис. 1.1 Как видно из рис. 1.3, ЛПР, получив информацию обратной связи I , осведомляющую его о состоянии ОУ, обращается к ЭВМ (поток Iв), имеющей определенное программное обеспечение (ПО) и вырабатывающей рекомендации к принятию решения (по- ток I ). На основе анализа предложенных ЭВМ альтернатив ЛПР принимает решение, которое в виде I поступает в ИО, пере- водя его в необходимое состояние. Например, министр, руково- дитель предприятия (это ЛПР), получив информацию о состоя- нии производства (это ОУ), после обработки всей нужной инфор- мации на* ЭВМ и просчета наборов вариантов поведения в сложившейся ситуаций принимает решение, которое реализует- ся администрацией (это ИО) в управляемой системе. 1.1.3. Базовая информационная технология При производстве информационного продукта исходный ин- формационный ресурс в соответствии с поставленной задачей подвергается различным упорядоченным преобразованиям. Ди- намика этих преобразований отображается в протекающих при 16
этом информационных процессах. Таким образом, информаци- онный процесс представляет собой преобразование информации. В результате она может изменить и содержание, и форму пред- ставления как в пространстве, так и во времени. Фазы преобразования информации в информационной тех- нологии (ИТ) достаточно многочисленны, и простое их перечис- ление может привести к потере ощущения целостности техноло- гической системы («за деревьями не увидеть леса»). Однако если провести структуризацию технологии, выделив такие крупные структуры, как процессы и процедуры, то концептуальная модель базовой ИТ может быть представлена на рис. 1.4 [10]. На этой схеме в левой части показаны блоки информацион- ? ных процессов, в правой - блоки процедур. Блок в виде прямоу- гольника изображает процесс или процедуру, в которых преоб- ладают ручные операции. Овальная форма блоков соответствует автоматическим операциям, выполняемым с помощью техничес- ких средств (ЭВМ и средства передачи данных). В верхней части схемы информационные процессы и процедуры осуществляют преобразование информации, имеющей воспринимаемую чело- веком форму представления, т.е. ярко выраженное смысловое со- держание. Синтаксический (морфологический) аспект информа- ции [10] находится здесь на втором плане. В этом случае говорят о преобразовании собственно информации. В нижней части схе- мы производится преобразование данных, т.е. информации, пред- ставленной в машинном виде. И на этом уровне представления преобладает синтаксический аспект информации. Технология переработки информации начинается с формиро- вания информационного ресурса, который после определенных целенаправленных преобразований должен превратиться в ин- формационный продукт. Формирование информационного ре- сурса (получение исходной информации) начинается с процесса сбора информации, которая должна в информационном плане отразить предметную область, т.е. объект управления или иссле- дования (его характеристики, параметры, состояние и т.п л. Со- бранная информация для ее оценки (по полноте, непротиворечи- вости, достоверности и т.д.) и последующих преобразований дол- жна быть соответствующим образом подготовлена (осмыслена и структурирована, например, в виде таблиц). После подготовки информация может быть передана для дальнейшего преобразо- вания традиционными способами (с помощью телефона, почты,
Сбор Информация Данные Представление знаний Процесс । Процедура Телефон Подготовка Ввод Обработка Обмен Накопление Т радиционная передача Курьер Передача Хранение Актуализация Получение знаний Генерация знаний Преобразование Рис. 1.4. Концептуальная модель базовой информационной технологии Почта Отображение Организация сети 18
курьера и т.п.), а может быть сразу преобразована в машинные данные (ввод). Процессы сбора, подготовки и ввода в ИТ орга- низационно-экономических систем по своей реализации являют- ся в основном ручными (кроме процесса подготовки, который частично может быть автоматизированным). Процесс ввода пре- образует информацию в данные, имеющие форму цифровых ко- дов, реализуемых на физическом уровне с помощью различных физических представлений (электрических, магнитных, оптичес- ких, механических и т.д.). Следующие за вводом информационные процессы уже произ- водят преобразование данных в соответствии с поставленной зада- чей. Эти процессы протекают в ЭВМ (или организуются ЭВМ) под управлением различных программ, которые позволяют так органи- зовать данные, что после вывода из ЭВМ результат обработки пред- ставляет собой наполненную смыслом информацию о результате решения поставленной задачи. При преобразованиях данных мож- но выделить четыре основных информационных процесса и соот- ветствующие им процедуры. Это процессы обработки, обмена, на- копления данных и представление знаний. Процесс обработки данных связан с преобразованием значе- ний и структур данных, в том числе в форму, удобную для чело- веческого восприятия, т.е. с отображением. Отображенные дан- ные - это уже информация. Процедуры преобразования данных осуществляются по определенным алгоритмам и реализуются в ЭВМ с помощью набора машинных операций. Процедуры ото- бражения переводят данные из цифровых кодов в изображение (текстовое или графическое) или звук. Информационный процесс обмена перемещает данные в ходе осуществления ИТ. На рис. 1.4 видно, что обмен связан взаим- ными потоками данных со всеми информационными процесса- ми на уровне переработки данных. При обмене данными можно выделить два основных типа процедур. Это процедуры передачи данных по каналам связи и сетевые процедуры, позволяющие создать организацию вычислительной сети. Процедуры передачи данных реализуются с помощью операций кодирования-декоди- рования, модуляции-демодуляции, согласования и усиления сиг- налов. Процедуры организации сети содержат в себе в качестве основных операции по коммутации и маршрстизадии потоков данных (трафика) в вычислительной сети. Процесс обмена по- зволяет, с одной стороны, передавать данные ме кд;. источником 19
и получателем информации, а с другой - объединять информа- цию из многих источников. Процесс накопления дает возможность так преобразовать ин- формацию в форме данных, что удается ее длительное время хра- нить, постоянно обновляя, и при необходимости оперативно из- влекать в заданном объеме и по заданным признакам. Процеду- ры процесса накопления, таким образом, состоят в организации хранения и актуализации данных. Хранение предполагает создание такой структуры расположе- ния данных в памяти ЭВМ, которая позволила бы быстро и без избыточности накапливать данные по заданным признакам и не менее быстро осуществлять их поиск. В настоящее время ЭВМ имеет два основных вида запомина- ющих устройств: оперативные (электронные) и внешние (на маг- нитных и оптических дисках). Их физическая природа и устрой- ство различны, поэтому различаются и возможности по органи- зации структур хранения данных. В итоге можно выделить операции по организации хранения и поиска данных в оператив- ной и внешней памяти ЭВМ. В процессе накопления данных важной процедурой является их актуализация. Под актуализацией понимается поддержание хранимых данных на уровне, соответствующем информационным потребностям решаемых задач в системе, где организована ИТ. Актуализация данных осуществляется с помощью операций до- бавления новых данных к уже хранимым, корректировки (изме- нения значений или элементов структур) данных и их уничтоже- ния, если данные устарели и уже не могут быть использованы при решении функциональных задач системы. Наконец, информационный процесс представления знаний включен 6 базовую ИТ как один из основных информационных процессов, поскольку высшим продуктом ИТ является знание. Формирование знания как высшего информационного продукта до недавнего времени было (а в основе своей остается и сейчас) прерогативой человека. Однако оказать человеку помощь при решении неформализуемых или трудно формализуемых задач может автоматизированный процесс представления знаний. В этом процессе объединяются процедуры формализации знаний, их накопления в формализованном виде и формальной генера- ции (вывода) новых знаний на основе накопленных в соответствии с поставленной задачей. Вывод нового знания - это эквивалент 20
решения задачи, которую не удается представить в формальном виде. Таким образом, процесс представления знаний - это процесс, состоящий из процедур получения формализованных знаний и процедур генерации (вывода) новых знаний из полученных. К сожалению, практическая реализация процесса представ- ления знаний с помощью ЭВМ еще не нашла достаточно широ- кого применения в ИТ. Это связано как с продолжающимися по- исками форм представления знаний в теории искусственного ин- теллекта, так и практическими трудностями при создании баз знаний. Тем не менее развитие теории искусственного интеллек- та продолжается, и в новом веке процесс представления знаний займет ключевое место в информационных технологиях. В зависимости от решаемых информационной технологией задач удельный вес и взаимосвязь информационных процессов различны. Современные, или новые архитектуры вычислительных сис- тем, отличающиеся от традиционной (фон Неймана), призваны решать усложняющиеся задачи ИТ, связанные с обработкой, ото- бражением, накоплением данных, обменом данными, формали- зацией и генерацией знаний. 1.2. Классификация компьютеров по областям применения По областям применения компьютеров предложена следую- щая классификация [16]: • персональные компьютеры и рабочие станции; • х-терминалы; • серверы; • мейнфреймы; • кластерные архитектуры. Персональные компьютеры и рабочие станции. Персональные компьютеры (ПК) появились в результате эволюции мини-ком- пьютеров при переходе элементной базы машин с малой и сред- ней степенью интеграции на большие и сверхбольшие интеграль- ные схемы. ПК, благодаря своей низкой стоимости, очень быст- ро завоевали хорошие позиции на компьютерном рынке и создали предпосылки для разработки новых программных средств, ори- ентированных на конечного пользователя. Это прежде всего «дру- 21
жественные пользовательские интерфейсы», а также проблемно- ориентированные среды и инструментальные средства для авто- матизации разработки прикладных программ. Мини-компыотеры стали прародителями и другого направле- ния развития современных систем - 32-разрядных машин. Созда- ние RISC-процессоров и микросхем памяти емкостью более 1 Мбит привело к окончательному оформлению настольных сис- тем высокой производительности, которые сегодня известны как рабочие станции. Первоначальная ориентация рабочих станций на профессиональных пользователей (в отличие от ПК, которые вначале ориентировались на самого широкого потребителя-не- профессионала) привела к тому, что рабочие станции стали хорошо сбалансированными системами, в которых высокое быс- тродействие сочетается с большим объемом оперативной и внеш- ней памяти, высокопроизводительными внутренними магистра- лями, высококачественной и быстродействующей графической подсистемой и разнообразными устройствами ввода/вывода. Эти свойства выгодно отличают рабочие станции среднего и высоко- го класса от ПК и сегодня. Даже наиболее мощные IBM РС-со- вместимые ПК не в состоянии удовлетворить возрастающие по- требности систем обработки из-за наличия в их архитектуре ряда «узких мест». Тем не менее быстрый рост производительности ПК на базе новейших микропроцессоров Intel в сочетании с резким сниже- нием цен на эти изделия и развитием технологии локальных шин (VESA и PCI), позволяющей устранить многие «узкие места» в архитектуре ПК, делают современные персональные компьюте- ры весьма привлекательной альтернативой рабочим станциям. В свою очередь производители рабочих станций создали изделия • так называемого начального уровня, которые по стоимостным характеристикам близки к высокопроизводительным ПК, но все еще сохраняют лидерство по производительности и возможнос- тям наращивания. Насколько успешно удастся ПК на базе про- цессоров Pentium конкурировать с рабочими станциями UNIX, покажет будущее, но уже в настоящее время появилось понятие «персональная рабочая станция», которое объединяет оба направ- ления. Современный рынок персональных рабочих станций опреде- лить не просто. По сути он представляет собой совокупность ар- хитектурных платформ персональных компьютеров и рабочих 22
станций, которые появились в настоящее время, поскольку по- ставщики компьютерного оборудования уделяют все большее внимание рынку продуктов для коммерции и бизнеса. Этот ры- нок традиционно считался вотчиной мини-компьютеров и мейн- фреймов, которые поддерживали работу настольных терминалов с ограниченным интеллектом. В прошлом персональные компь- ютеры не были достаточно мощными и не располагали соответ- ствующими функциональными возможностями, чтобы служить адекватной заменой подключенных к главной машине термина- лов. С другой стороны, рабочие станции на платформе UNIX были очень сильны в научном, техническом и инженерном секто- рах и почти так же неудобны, как и ПК, чтобы выполнять серьез- '* ные офисные приложения. С тех пор ситуация изменилась корён- ным образом. Персональные компьютеры в настоящее время располагают достаточной производительностью, а рабочие станции на базе UNIX имеют программное обеспечение, способное выполнять большинство функций, которые стали ассоциироваться с поня- тием «персональная рабочая станция». Вероятно, оба эти направ- ления могут рассматриваться в качестве сетевого ресурса для си- стем масштаба предприятия. В результате описанных изменений практически ушли со сце- ны старомодные мини-компьютеры с их патентованной архитек- турой и использованием присоединяемых к главной машине тер- миналов. По мере продолжения процесса разукрупнения (downsizing) и увеличения производительности платформы Intel наиболее мощные ПК (но все же чаще открытые системы на базе UNIX) стали использоваться в качестве серверов, постепенно за- меняя мини-компьютеры. Среди других факторов, способствующих этому процессу, можно выделить следующие. • Применение ПК стало более разнообразным. Помимо обыч- ных для этого класса систем текстовых процессоров, даже сред- ний пользователь ПК может теперь работать сразу с нескольки- ми прикладными пакетами, включая электронные таблицы, базы данных и высококачественную графику. • Адаптация графических пользовательских интерцейсов существенно увеличила требования пользователей Г К • соотно- шению производительность - стоимость И хс-* оболочка MS Windows может работать на моделях ПК ?Sf?b.X „ 2 Мбайта- 23
ми оперативной памяти, реальные пользователи хотели бы реа- лизовать все преимущества подобных систем, включая возмож- ность комбинирования и эффективного использования различ- ных пакетов. Широкое распространение систем мультимедиа прямо зави- сит от возможности использования высокопроизводительных ПК и рабочих станций с адекватными аудио- и графическими сред- ствами и объемами оперативной и внешней памяти. Чрезмерно высокая стоимость мейнфреймов и даже систем среднего класса помогла сместить многие разработки в область распределенных систем и систем клиент-сервер, которые многим представляются вполне оправданной по экономическим сообра- жениям альтернативой. Эти системы базируются непосредствен- но на высоконадежных и мощных рабочих станциях и серверах. . Вначале представлялось, что необходимость сосредоточения высокой мощности на каждом рабочем месте приведет к перехо- ду многих потребителей ПК на UNIX-станции. Это определялось отчасти тем, что RISC-процессоры, использовавшиеся в рабочих станциях на базе UNIX, были намного более производительны- ми по сравнению с CISC-процессорами, применявшимися в ПК, а отчасти мощностью системы UNIX по сравнению с MS-DOS и даже OS/2. Изготовители рабочих станций быстро отреагировали на по- требность в низкостоимостных моделях для рынка коммерчес- ких приложений. Потребность в высокой мощности на рабочем столе, объединенная с желанием поставщиков UNIX-систем про- давать как можно больше своих изделий, привела такие компа- нии, как Sun Microsystems и Hewlett Packard, на рынок рабочих станций для коммерческих приложений. И хотя значительная ' часть систем этих фирм все еще ориентирована на технические приложения, наблюдается беспрецедентный рост продаж их про- дукции для работы с коммерческими приложениями, требующи- ми все большей мощности для реализации сложных сетевых при- кладных систем, включая системы мультимедиа. Это привело к временному отступлению изготовителей ПК на базе микропроцессоров Intel. Острая конкуренция со стороны производителей UNIX-систем и потребности в повышении про- изводительности огромной уже инсталлированной базы ПК зас- тавили компанию Intel форсировать разработку высокопроизво- дительных процессоров семейства Pentium. Процессоры Pentium, 24
при разработке которого были использованы многие подходы, применявшиеся ранее только в RISC-процессорах, а также исполь- зование других технологических усовершенствований, таких как архитектура локальной шины, позволили снабдить ПК достаточ- ной мощностью, чтобы составить конкуренцию рабочим стан- циям во многих направлениях рынка коммерческих приложений. Правда, для многих других приложений, в частности в области сложного графического моделирования, ПК все еще сильно от- стают. Х-терминалы. Они представляют собой комбинацию бездис- ковых рабочих станций и стандартных ASCII-терминалов. Пер- вые часто применялись в качестве дорогих дисплеев и в этом слу- чае не полностью использовали локальную вычислительную 3 мощь. Одновременно многие пользователи ASCII-терминалов хотели улучшить их характеристики, чтобы получить возмож- ность работы в многооконной системе и с использованием гра- фики. Совсем недавно, как только стали доступными очень мощ- ные графические рабочие станции, появилась тенденция приме- нения «подчиненных» Х-терминалов, в которых рабочая станция выступает в качестве локального сервера. На компьютерном рынке Х-терминалы занимают промежу- точное положение между персональными компьютерами и рабо- чими станциями. Поставщики Х-терминалов заявляют, что их изделия более эффективны в стоимостном выражении, чем рабо- чие станции высокого ценового класса, и предлагают повышен- ный уровень производительности по сравнению с персональны- ми компьютерами. Быстрое снижение цен, прогнозируемое иног- да в секторе Х-терминалов, в настоящее время идет, очевидно, благодаря обострившейся конкуренции в этом секторе рынка. Многие компании начали активно конкурировать за перерасп- ределение рынка, а быстрый рост объемных поставок создал пред- посылки для формирования такого рынка. В настоящее время у же достигнута цена в 1000 долл. США для Х-терминалов начально- го уровня, что делает эту технологию доступной для широкого круга пользователей. Как правило, стоимость Х-терминалов составляет около по- ловины стоимости сравнимой по конфигурации бездиск вой ма- шины и примерно четверть стоимости полностью оснад-еиной рабочей станции. Что такое Х-терминал? 25
Типовой Х-терминал включает следующие элементы: • Экран высокого разрешения - обычно размером от 14 до 21 дюйма по диагонали. • Микропроцессор на базе Motorola 68ххх или RISC-процес- сор типа Intel i960, MIPS R3000 или AMD29000. • Отдельный графический сопроцессор в дополнение к основ- ному процессору, поддерживающий двухпроцессорную архитек- туру, которая обеспечивает более быстрое рисование на экране и его прокручивание. • Базовые системные программы, на которых работает систе- ма X-Windows и выполняются сетевые протоколы. • Программное обеспечение сервера XII. • Переменный объем локальной памяти (от 2 до 8 Мбайт) для дисплея, сетевого интерфейса, поддерживающего TCP/IP и дру- гие сетевые протоколы. Порты для подключения клавиатуры и мыши. Х-терминалы отличаются от ПК и рабочих станций не только тем, что не вы- полняют функции обычной локальной обработки. Работа Х-тер- миналов зависит от главной (хост) системы, к которой они под- ключены посредством сети. Для того чтобы Х-терминал мог ра- ботать, пользователи должны инсталлировать программное обеспечение многооконного сервера XII на главном процессо- ре, выполняющем прикладную задачу (наиболее известная вер- сия XII Release 5). Х-терминалы отличаются также от стандарт- ных алфавитно-цифровых ASCII и традиционных графических дисплейных терминалов тем, что они могут быть подключены к любой главной системе, которая поддерживает стандарт X- Windows. Более того, локальная вычислительная мощь Х-терми- нала обычно используется для обработки отображения, а не об- работки приложений (называемых клиентами), которые выпол- няются удаленно на главном компьютере (сервере). Вывод такого удаленного приложения просто отображается на экране Х-тер- минала. Минимальный объем требуемой для работы памяти Х-тер- минала составляет 1 Мбайт, но чаще 2 Мбайта. В зависимости от функциональных возможностей изделия оперативная память мо- жет расширяться до 32 Мбайтов и более. Оснащенный стандартной системой X-Windows Х-терминал может отображать на одном и том же экране множество прило- жений одновременно. Каждое приложение может выполняться в 26
своем окне, а пользователь может изменять размеры окон, их рас- положение и манипулировать ими в любом месте экрана. X-Windows - результат совместной работы Массачусетского технологического института (MIT) и корпорации DEC. Система X-Windows (известная также под именем X) в настоящее время является открытым де-факто стандартом для доступа к множе- ству одновременно выполняющихся приложений с возможнос- тями многооконного режима и графикой высокого разрешения на интеллектуальных терминалах, персональных компьютерах, рабочих станциях и Х-терминалах. Она стала стандартом для обеспечения интероперабельности (переносимости) продуктов многих поставщиков и для организации доступа к множеству приложений. В настоящее время X-Windows является стандартом для разработки пользовательского интерфейса. Более 90 % по- ставщиков UNIX-рабочих станций и многие поставщики персо- нальных компьютеров адаптировали систему X-Windows и при- меняют в качестве стандарта. Серверы. Прикладные многопользовательские коммерческие и бизнес-системы, включающие системы управления базами дан- ных и обработки транзакций, крупные издательские системы, сетевые приложения и системы обслуживания коммуникаций, разработка программного обеспечения и обработка изображе- ний все более настойчиво требуют перехода к модели вычисле- ний клиент-сервер и распределенной обработке. В распределен- ной модели клиент-сервер часть работы выполняет сервер, а часть - пользовательский компьютер (в общем случае клиентс- кая и пользовательская части могут работать и на одном ком- пьютере). Существует несколько типов серверов, ориентированных на разные применения: файл-сервер, сервер базы данных, принт-сер- вер, вычислительный сервер, сервер приложений. Таким образом, тип сервера определяется видом ресурса, которым он владеет (файловая система, база данных, принтеры, процессоры или при- кладные пакеты программ). С другой стороны, есть классификация серверов, определяе- мая масштабом сети, в которой они используются: сервер рабочей группы, сервер отдела или сервер масштаба предприятия (корпо- ративный сервер). Эта классификация весьма условна. Например, размер группы может меняться в диапазоне от нескольких человек до нескольких сотен человек, а сервер отдела может обслуживать 27
от 20 до 150 пользователей. Очевидно, в зависимости от числа пользователей и характера решаемых ими задач требования к со- ставу оборудования и программного обеспечения сервера, к его надежности и производительности сильно варьируются. Файловые серверы небольших рабочих групп (не более 20-30 человек) проще всего реализуются на платформе персональных компьютеров и программном обеспечении Novell NetWare. Файл- сервер в данном случае выполняет роль центрального хранили- ща данных. Серверы прикладных систем и высокопроизводитель- ные машины для среды клиент-сервер значительно отличаются требованиями к аппаратным и программным средствам. Типичными для небольших файл-серверов являются: процес- сор Pentium 133 или более быстродействующий, 32-Мбайт ОЗУ, 2 Гбайта дискового пространства и один адаптер Ethernet lOBaseT, имеющий быстродействие 10 Мбит/с. В состав таких серверов часто включаются флоппи-дисковод и дисковод ком- пакт-дисков. Графика для большинства серверов несущественна, поэтому достаточно иметь обычный монохромный монитор с разрешением VGA. Скорость процессора для серверов с интен- сивным вводом/выводом некритична. Они должны быть оснаще- ны достаточно мощными блоками питания для возможности установки дополнительных плат расширения и дисковых нако- пителей. Желательно применение устройства бесперебойного пи- тания. Оперативная память обычно имеет объем не менее 32 Мбайтов, что позволит операционной системе (например, NetWаге) использовать большие дисковые кэши и увеличить про- изводительность сервера. Как правило, для работы с многозадач- ными операционными системами такие серверы оснащаются интерфейсом SCSI (или Fast SCSI). Распределение данных по не- скольким жестким дискам может значительно повысить произ- водительность . При наличии одного сегмента сети и 10-20 рабочих станций пиковая пропускная способность сервера ограничивается макси- мальной пропускной способностью сети. В этом случае замена процессоров или дисковых подсистем более мощными не увели- чивает производительность, так как узким местом является сама сеть. Поэтому важно использовать хорошую плату сетевого ин- терфейса. Несмотря на то что влияние более быстродействующего про- цессора явно на производительности не сказывается, оно замет- 28
но снижает коэффициент использования центрального процес- сора (ЦП). Во многих серверах этого класса используются про- цессоры Pentium с тактовой частотой 60 и 90 МГц, microSPARC- II и PowerPC. Аналогично процессорам влияние типа системной шины (EISA со скоростью 33 Мбит/с или PCI со скоростью 132 Мбит/с) также минимально при таком режиме использования. Однако для файл-серверов общего доступа, с которыми од- новременно могут работать несколько десятков, а то и сотен че- ловек, простой однопроцессорной платформы и программного обеспечения Novell может оказаться недостаточно. В этом случае устанавливают мощные многопроцессорные серверы с возможностями наращивания оперативной памяти до несколь- ких гигабайт, дискового пространства - до сотен гигабайт, с быстродействующими интерфейсами дискового обмена (типа Fast SCSI-2, Fast&Wide SCSI-2 и Fiber Channel) и несколькими сете- выми интерфейсами. Эти серверы используют операционную си- стему UNIX, сетевые протоколы TCP/IP и NFS. На базе много- процессорных UNIX-серверов обычно строятся также серверы баз данных крупных информационных систем, так как на них ложит- ся основная нагрузка по обработке информационных запросов. Подобного рода серверы получили название суперсерверов. По уровню общесистемной производительности, функцио- нальным возможностям отдельных компонентов, отказоустойчи- вости, а также в поддержке многопроцессорной обработки, сис- темного администрирования и дисковых массивов большой ем- кости суперсерверы вышли в настоящее время на один уровень с мейнфреймами и мощными мини-компьютерами. Современные суперсерверы характеризуются: • наличием двух и более центральных процессоров RISC либо Pentium; • многоуровневой шинной архитектурой, в которой запатен- тованная высокоскоростная системная шина связывает между собой несколько процессоров и оперативную память, а также множество стандартных шин ввода/вывода, размещенных в том же корпусе; • поддержкой технологии дисковых массивов RAID; • поддержкой режима симметричной многопроцессорной об- работки, которая позволяет распределять задания по нескольким центральным процессорам, или режима асимметричной много- процессорной обработки, которая допускает выделение процес- соров для выполнения конкретных задач. 29
Как правило, суперсерверы работают под управлением опе- рационных систем UNIX, а в последнее время - и Windows NT, 2000 (на Digital 2100 Server Model A500MP), которые обеспечива- ют многопотоковую многопроцессорную и многозадачную об- работку. Суперсерверы должны иметь достаточные возможности на- ращивания дискового пространства и вычислительной мощнос- ти, средства обеспечения надежности хранения данных и защиты от несанкционированного доступа. Кроме того, в условиях быс- тро растущей пользовательской организации важным условием является возможность наращивания и расширения уже существу- ющей системы. Мейнфреймы. Мейнфрейм - это синоним понятия «большая универсальная ЭВМ». Мейнфреймы до сегодняшнего дня оста- ются наиболее мощными (не считая суперкомпьютеров) вычис- лительными системами общего назначения, обеспечивающими непрерывный круглосуточный режим эксплуатации. Они могут иметь один или несколько процессоров, каждый из которых, в свою очередь, может оснащаться векторными сопроцессорами (ускорителями операций с суперкомпьютерной производитель- ностью). Мейнфреймы иногда все еще ассоциируются с больши- ми по габаритам машинами, требующими специально оборудо- ванных помещений с системами водяного охлаждения и конди- ционирования. Однако это не совсем так. Прогресс в области создания элементно-конструкторской базы позволил существенно сократить габариты основных уст- ройств. Наряду со сверхмощными мейнфреймами, требующими организации двухконтурной водяной системы охлаждения, есть и менее мощные модели, для охлаждения которых достаточно принудительной воздушной вентиляции, и модели, построенные по блочнб-модульному принципу и не требующие специальных помещений и кондиционеров. Основными поставщиками мейнфреймов являются известные компьютерные компании IBM, Amdahl, ICL, Siemens Nixdorf и некоторые другие, но ведущая роль принадлежит безусловно ком- пании IBM. Именно архитектура системы IBM/360, выпущенной в 1964 г., и ее последующие поколения стали образцом для под- ражания. В нашей стране в течение многих лет выпускались ма- шины ряда ЕС ЭВМ, являвшиеся отечественным аналогом этой системы. 30
В архитектурном плане мейнфреймы представляют собой многопроцессорные системы, содержащие один или несколько центральных и периферийных процессоров с общей памятью, связанных между собой высокоскоростными магистралями пе- редачи данных. При этом основная вычислительная нагрузка ложится на центральные процессоры, а периферийные процессо- ры (в терминологии IBM - селекторные, блок-мультиплексные, мультиплексные каналы и процессоры телеобработки) обеспечи- вают работу с широкой номенклатурой периферийных устройств. Первоначально мейнфреймы ориентировались на централи- зованную модель вычислений, работали под управлением патен- тованных операционных систем и имели ограниченные возмож- ности для объединения в единую систему оборудования различ- ных фирм-поставщиков. Однако повышенный интерес потребителей к открытым системам, построенным на базе меж- дународных стандартов и позволяющим достаточно эффективно использовать все преимущества такого подхода, заставил постав- щиков мейнфреймов существенно расширить совместимость соб- ственных операционных систем. В настоящее время они демон- стрируют свою «открытость», обеспечивая соответствие со спе- цификациями POSIX 1003.3, допуская использование протоколов межсоединений OSI и TCP/IP или предоставляя возможность ра- боты на своих компьютерах под управлением операционной сис- темы UNIX собственной разработки. Стремительный рост производительности персональных ком- пьютеров, рабочих станций и серверов создал тенденцию пере- хода с мейнфреймов на компьютеры менее дорогих классов: мини- компьютеры и многопроцессорные серверы. Эта тенденция по- лучила название «разукрупнение». Однако данный процесс в последнее время несколько замедлился. Основной причиной воз- рождения интереса к мейнфреймам эксперты считают сложность перехода к распределенной архитектуре клиент-сервер, которая оказалась выше, чем предполагалось. Кроме того, многие пользо- ватели полагают, что распределенная среда не обладает доста- точной надежностью для наиболее ответственных приложений, которой обладают мейнфреймы. Очевидно, выбор центральной машины (сервера) для постро- ения информационной системы предприятия возможен только после глубокого анализа проблем, условий и требований конк- ретного заказчика и долгосрочного прогнозирования развития этой системы. 31
Главным недостатком мейнфреймов остается относительно низкое соотношение производительность/стоимость. Однако фирмы-поставщики мейнфреймов предпринимают большие уси- лия по улучшению этого показателя. Следует также помнить, что в мире существует огромная ин- сталлированная база мейнфреймов, на которой работают десят- ки тысяч прикладных программных систем. Отказаться от года- ми наработанного программного обеспечения просто неразум- но. Существующие программные системы, с одной стороны, допускают модернизацию, обеспечив сокращение эксплуатаци- онных расходов, а с другой стороны, создают новую базу для наи- более ответственных приложений. Кластерные архитектуры. Двумя основными проблемами по- строения вычислительных систем для критически важных прило- жений, связанных с обработкой транзакций, управлением база- ми данных и обслуживанием телекоммуникаций, являются обес- печение высокой производительности и достаточно длительного функционирования систем. Наиболее эффективный способ дос- тижения заданного уровня производительности - применение па- раллельных масштабируемых архитектур. Задача обеспечения продолжительного функционирования системы имеет три состав- ляющие: надежность, готовность и удобство обслуживания. Все эти три составляющие предполагают в первую очередь борьбу с неисправностями системы, порождаемыми отказами и сбоями в ее работе. Борьба ведется по всем трем направлениям, которые взаимосвязаны и применяются совместно. Повышение надежности основано на принципе предотвраще- ния неисправностей посредством уменьшения интенсивности от- казов и сбоев за счет использования электронных схем и компо- нентов с высокой и сверхвысокой степенью интеграции, сниже- ния уровня помех, организации облегченных режимов работы схем, обеспечения тепловых режимов их работы, а также за счет совершенствования методов сборки аппаратуры. Наращивание уровня готовности предполагает подавление в определенных пре- делах влияния отказов и сбоев на работу системы с помощью средств контроля и коррекции ошибок, а также средств автома- тического восстановления вычислительного процесса после про- явления неисправности, включая аппаратурную и программную избыточность, на основе которой реализуются различные вари- анты отказоустойчивых архитектур. Повышение готовности есть 32
способ борьбы за снижение времени простоя системы. Основные эксплуатационные характеристики системы существенно зависят от удобства ее обслуживания, в частности от ремонтопригоднос- ти, контролепригодности и т.д. В последние годы в литературе по вычислительной технике все чаще употребляется термин «системы высокой готовности» (High Availability Systems). Все типы систем высокой готовности преследуют общую цель - минимизировать время простоя. Раз- личают два типа простоев компьютера: плановый и неплановый. Минимизация длительности каждого из них требует различной стратегии и технологии. Плановое время простоя обычно вклю- чает время, установленное руководством для проведения работ по модернизации системы и для ее обслуживания. Неплановое время простоя является результатом отказа системы или компо- нента. Несмотря на то что системы высокой готовности, возмож- но, в большей степени ассоциируются с минимизацией неплано- вых простоев, они оказываются также эффективными в отноше- нии уменьшения планового времени простоя. Существует несколько типов систем высокой готовности, от- личающихся своими функциональными возможностями и стоимо- стью. Здесь следует иметь в виду, что высокая готовность не да- ется бесплатно. Стоимость систем высокой готовности намного превышает стоимость обычных систем. Вероятно, поэтому наи- большее распространение в мире получили кластерные системы, которые обеспечивают достаточно высокий уровень готовности систем при относительно низких затратах. Термин «кластеризация» в компьютерной промышленности имеет много различных значений. Строгое определение могло бы звучать так: «реализация объединения машин, представляющего- ся единым целым для операционной системы, системного про- граммного обеспечения, прикладных программ и пользователей». Машины, кластеризованные вместе таким способом, могут при отказе одного процессора очень быстро перераспределить работу на другие процессоры внутри кластера. Это, возможно, наиболее важная задача многих поставщиков систем высокой готовности. Первой концепцию кластерной системы анонсировала ком- пания DEC, определив ее как группу вычислительных машин, образующих единый узел обработки информации. По существу VAX-кластер представляет собой слабосвязанную многомашин- ную систему с общей внешней памятью, обеспечивающую еди- -1864 33
ный механизм управления и администрирования. В настоящее время на смену VAX-кластерам приходят UNIX-кластеры. При этом VAX-кластеры предлагают проверенный набор решений, который устанавливает критерии для оценки подобных систем. VAX-кластер обладает следующими свойствами. • Разделение ресурсов. Компьютеры VAX в кластере могут раз- делять доступ к общим ленточным и дисковым накопителям. Все компьютеры VAX в кластере могут обращаться к отдельным фай- лам данных как к локальным. • Высокая готовность. При отказе одного из VAX-компьюте- ров задания его пользователей автоматически могут быть пере- несены на другой компьютер кластера. Если в системе имеется несколько контроллеров внешних накопителей и один из них от- казывает, другие контроллеры автоматически подхватывают его работу. • Высокая пропускная способность. Ряд прикладных систем могут пользоваться возможностью параллельного выполнения заданий на нескольких компьютерах кластера. • Удобство обслуживания системы. Общие базы данных мо- гут обслуживаться с единственного места. Прикладные програм- мы можно инсталлировать только один раз на общих дисках кла- стера и использовать всеми компьютерами кластера. • Расширяемость. Увеличение вычислительной мощности кла- стера достигается подключением к нему дополнительных VAX- компьютеров. Дополнительные накопители на магнитных дис- ках и магнитных лентах становятся доступными для всех компь- ютеров, входящих в кластер. Работа любой кластерной системы определяется двумя глав- ными компонентами: высокоскоростным механизмом связи про- цессоров между собой и системным программным обеспечени- ем, которое предоставляет клиентам прозрачный доступ к сис- темному сервису. В настоящее время широкое распространение получила так- же технология параллельных баз данных, когда множество про- цессоров раздельно пользуются единственной базой данных. Рас- пределение заданий по множеству процессорных ресурсов и па- раллельное их выполнение позволяет достичь более высокого уровня пропускной способности транзакций, поддерживать боль- шее число одновременно работающих пользователей и ускорить выполнение сложных запросов. 34
Существуют три различных типа архитектуры, которые под- держивают параллельные базы данных: • симметричная многопроцессорная архитектура с общей па- мятью (Shared Memory SMP Architecture). Эта архитектура под- держивает единую базу данных, работающую на многопроцес- сорном сервере под управлением одной операционной системы. Увеличение производительности таких систем обеспечивается наращиванием числа процессоров, устройств оперативной и внешней памяти; • архитектура с общими (разделяемыми) дисками (Shared Disk Architecture). Это типичный случай построения кластерной сис- темы. Данная архитектура поддерживает единую базу данных при работе с несколькими компьютерами, объединенными в кластер (обычно такие компьютеры называются узлами кластера), каж- дый из которых работает под управлением своей копии операци- онной системы. В таких системах все узлы разделяют доступ к общим дискам, на которых, собственно, и располагается единая база данных. Производительность таких систем может увеличи- ваться как наращиванием числа процессоров и объемов опера- тивной памяти в каждом узле кластера, так и увеличением числа самих узлов; • архитектура без разделения ресурсов (Shared Nothing Architecture). Как и в архитектуре с общими дисками, здесь под- держивается единый образ базы данных при работе с нескольки- ми компьютерами, действующими под управлением своих копий операционной системы. Однако в этой архитектуре каждый узел системы имеет собственную оперативную память и собственные диски, которые не разделяются между отдельными узлами систе- мы. Практически в таких системах разделяется только общий ком- муникационный канал между узлами системы. Производитель- ность этих систем может увеличиваться добавлением процессо- ров, наращиванием объемов оперативной и внешней (дисковой) памяти в каждом узле, а также добавлением узлов. Таким образом, среда для работы параллельной базы данных обладает двумя важными свойствами: высокой готовностью и высокой производительностью. В случае кластерной организа- ции несколько компьютеров или узлов кластера работают с еди- ной базой данных. При отказе одного из таких узлов оставшиеся могут взять на себя задания, выполнявшиеся на отказавшем, не останавливая общий процесс работы с базой данных. Поскольку 3* 35
логически в каждом узле системы есть образ базы данных, дос- туп к ней будет обеспечиваться до тех пор, пока в системе есть по крайней мере один исправный узел. Производительность систе- мы легко масштабируется, т.е. добавление дополнительных про- цессоров, объемов оперативной и дисковой памяти и новых уз- лов в системе возможно в любое время, когда это действительно требуется. Параллельные базы данных находят широкое применение в системах обработки транзакций в режиме on-line, системах под- держки принятия решений и часто используются при работе с критически важными для работы предприятий и организаций приложениями, которые эксплуатируются по 24 часа в сутки. 1.3. Общие требования, предъявляемые к современным компьютерам В настоящее время к компьютерам предъявляются следующие общие требования по их важнейшим характеристикам [16]: • отношение стоимость/производйтельность; • надежность и отказоустойчивость; • масштабируемость; • совместимость и мобильность программного обеспечения. Отношение стоимость/производительность. Появление любо- го нового направления в вычислительной технике определяется требованиями компьютерного рынка. Поэтому у разработчиков компьютеров нет одной-единственной цели. Большая универсаль- ная вычислительная машина (мейнфрейм) или суперкомпьютер стоят дорого. Для достижения поставленных целей при проекти- ровании высокопроизводительных конструкций приходится иг- норировать стоимостные характеристики. Суперкомпьютеры фирмы Cray Research и высокопроизводительные мейнфреймы компании IBM относятся именно к этой категории компьютеров. Другой крайностью может служить конструкция, где производи- тельность принесена в жертву для достижения низкой стоимос- ти. Примерами являются персональные компьютеры различных клонов IBM PC. Между этими двумя крайними направлениями находятся конструкции, в которых разработчики находят баланс между стоимостными параметрами и производительностью. Ти- пичными примерами здесь служат мини-компьютеры и рабочие станции. 36
Для сравнения различных компьютеров между собой обычно используются стандартные методики измерения производитель- ности. Эти методики позволяют разработчикам и пользователям применять полученные в результате испытаний количественные показатели для оценки тех или иных технических решений, и в конце концов именно производительность и стоимость являются теми критериями, которые определяют выбор пользователя. Надежность и отказоустойчивость. Важнейшей характеристи- кой вычислительных систем является надежность. Ее повыше- ние основано на предотвращении неисправностей посредством уменьшения интенсивности отказов и сбоев за счет применения электронных схем и компонентов с высокой и сверхвысокой сте- пенью интеграции, снижения уровня помех, созданйя облегчен- ных режимов работы схем, обеспечения тепловых режимов их работы, а также в результате совершенствования методов сбор- ки аппаратуры. Отказоустойчивость - это такое свойство вычислительной системы, которое обеспечивает ей как логической машине воз- можность продолжения действий, заданных программой, после возникновения неисправностей. Создание отказоустойчивости требует избыточного аппаратного и программного обеспечения. Предотвращение неисправностей и обеспечение отказоустойчи- вости - основные направления в проблеме надежности. Концеп- ции параллельности и отказоустойчивости вычислительных сис- тем естественным образом связаны между собой, поскольку в обоих случаях нужны дополнительные функциональные компо- ненты. Поэтом). собственно, на параллельных вычислительных системах достигается как наиболее высокая производительность, так и во многих случаях очень высокая надежность. Ресурсы из- быточности в параллельных системах могут гибко использоваться как для наращивания производительности, так и для повышения надежности. Структура многопроцессорных и многомашинных систем приспособлена к автоматической реконфигурации и обес- печивает возможность продолжения работы системы после воз- никновения неисправностей. Отметим, что понятие «надежность» включает не только ап- паратные средства, но и программное обеспечение. Главной це- лью повышения надежности систем является целостность храни- мых в них данных. Масштабируемость. Опа представляет собой возможность на- ращивания числа и мощности процессоров, объемов оператив- 37
ной и внешней памяти и других ресурсов вычислительной систе- мы. Масштабируемость должна создаваться архитектурой и кон- струкцией компьютера, а также соответствующими средствами программного обеспечения. Добавление каждого нового процессора в реально масшта- бируемой системе должно давать прогнозируемое увеличение производительности и пропускной способности при приемлемых затратах. Одной из основных задач при построении масштаби- руемых систем является минимизация стоимости расширения компьютера и упрощение планирования. В идеале добавление процессоров к системе должно приводить к линейному росту ее производительности. Однако это не всегда так. Потери произ- водительности могут возникать, например, при недостаточной пропускной способности шин из-за возрастания трафика между процессорами и основной памятью, а также между памятью и устройствами ввода/вывода. В действительности реальное уве- личение производительности трудно оценить заранее, посколь- ку оно в значительной степени зависит от динамики выполнения прикладных задач. Масштабируемость программного обеспечения затрагивает все его уровни от простых механизмов передачи сообщений до работы с такими сложными объектами, как мониторы транзак- ций и вся среда прикладной системы. В частности, программное обеспечение должно минимизировать трафик межпроцессорно- го обмена, который может препятствовать линейному росту про- изводительности системы. Аппаратные средства (процессоры, шины и устройства ввода/вывода) являются только частью мас- штабируемой архитектуры, на которой программное обеспече- ние может дать предсказуемый рост производительности. Важно понимать, что простой переход, например, на более мощный про- . цессор может привести к перегрузке других компонентов систе- мы. Это означает, что действительно масштабируемая система должна быть сбалансирована по всем параметрам. Совместимость и мобильность программного обеспечения. Концепция программной совместимости впервые широко была применена разработчиками системы IBM/360. Основная задача при проектировании всего ряда моделей этой системы заключа- лась в создании архитектуры, одинаковой с точки зрения пользо- вателя для всех моделей системы независимо от цены и произво- дительности каждой из них. Огромные преимущества такого 38
подхода, позволяющего сохранять существующий задел про- граммного обеспечения при переходе на новые (как правило, бо- лее производительные) модели, были быстро оценены произво- дителями и пользователями компьютеров. С этого момента прак- тически все фирмы-разработчики компьютерного оборудования взяли на вооружение эти принципы, создавая серии совместимых компьютеров. К сожалению, со временем даже самая передовая архитектура неизбежно устаревает и возникает потребность вне- сения радикальных изменений в архитектуру и способы органи- зации вычислительных систем. В настоящее время одним из наиболее важных факторов, оп- ределяющих современные тенденции в развитии информацион- ных технологий, является ориентация компаний-поставщиков компьютерного оборудования на рынок прикладных програм- мных средств. Это объясняется прежде всего тем, что для конеч- ного пользователя в итоге важно программное обеспечение, позволяющее решить его задачи, а не выбор той или иной аппа- ратной платформы. Переход от однородных сетей программно- совместимых компьютеров к построению неоднородных сетей, включающих компьютеры разных фирм-производителей, в кор- не изменил и точку зрения на саму сеть: из сравнительно просто- го средства обмена информацией она превратилась в средство интеграции отдельных ресурсов - мощную распределенную вы- числительную систему, каждый элемент которой (сервер или ра- бочая станция) лучше всего соответствует требованиям конкрет- ной прикладной задачи. Этот переход выдвинул ряд новых требований. Во-первых, такая вычислительная среда должна позволять гибко менять ко- личество и состав аппаратных средств и программного обеспе- чения в соответствии с меняющимися требованиями решаемых задач. Во-вторых, она должна обеспечивать возможность запус- ка одних и тех же программных систем на различных аппарат- ных платформах, т.е. создавать мобильность программного обес- печения. В-третьих, эта среда должна гарантировать возможность применения одних и тех же человеко-машинных интерфейсов на всех компьютерах, входящих в неоднородную сеть. В условиях жесткой конкуренции создателей аппаратных платформ и про- граммного обеспечения сформировалась концепция открытых систем, представляющая собой совокупность стандартов на раз- личные компоненты вычислительной среды, предназначенных для 39
обеспечения мобильности программных средств в рамках неодно- родной распределенной вычислительной системы. Одним из вариантов моделей открытой среды является мо- дель OSE (Open System Environment), предложенная комитетом IEEE POSIX. На основе этой модели Национальный институт стандартов и технологии США выпустил документ «Application Portability Profile (АРР). The U.S. Government’s Open System Environment Profile OSE/1 Version 2.0», который определяет ре- комендуемые для федеральных учреждений США спецификации в области информационных технологий, обеспечивающие мо- бильность системного и прикладного программного обеспечения. Все ведущие производители компьютеров и программного обес- печения в США в настоящее время придерживаются требований этого документа. 1.4. Оценка производительности вычислительных систем Общие замечания Основу для сравнения различных типов компьютеров между собой дают стандартные методики измерения производительно- сти [16]. В процессе развития вычислительной техники появи- лось несколько таких методик. Они позволяют разработчикам и пользователям осуществлять выбор из альтернатив на основе количественных показателей, что создает возможность постоян- ного прогресса в рассматриваемой области. Единицей измерения производительности компьютера явля- ется время: компьютер, выполняющий тот же объем работы за меньшее время, является более быстродействующим. Время вы- полнения любой программы измеряется в секундах. Часто про- >; изводительность оценивают как скорость появления некоторого числа событий в секунду, так что чем меньше время, тем больше производительность. В зависимости от того, что мы определяем, возможно исполь- зование астрономического времени, времени ответа (response time), времени выполнения (execution time) или прошедшего вре- мени (elapsed time). Задержка выполнения задания включает бук- вально все: работу процессора, обращения к диску, обращения к памяти, ввод/вывод и «накладные расходы» операционной сис- темы. Однако при работе в мультипрограммном режиме парал- 40
дельно с ожиданием ввода/вывода для одной программы процес- сор может выполнять другую, и система не обязательно будет ми- нимизировать время выполнения одной конкретной программы. Для измерения времени работы процессора на данную про- грамму используется специальный параметр - время ЦП (CPU time), которое не включает время ожидания ввода/вывода или время выполнения другой программы. Понятно, что время отве- та, видимое пользователем, является полным временем выполне- ния программы, а не временем ЦП. Последнее может далее де- литься на время, израсходованное ЦП непосредственно на вы- полнение программы пользователя и называемое пользовательским временем ЦП, и время ЦП. затраченное операционной системой на выполнение заданий, затребованных программой, и называе- мое системным временем ЦП. В ряде случаев системное время ЦП игнорируется из-за воз- можной неточности измерений, выполняемых самой операцион- ной системой, а также из-за проблем, связанных со сравнением производительности машин с разными операционными система- ми. С другой стороны, системный код на некоторых машинах является пользовательским кодом на других, и, кроме того, практически никакая программа не может работать без некото- рой операционной системы. В итоге при измерениях производи- тельности процессора часто используется сумма пользовательс- кого и системного времени ЦП. В большинстве современных процессоров скорость протека- ния процессов взаимодействия внутренних функциональных ус- тройств определяется не естественными задержками в этих уст- ройствах, а задается единой системой синхросигналов, выраба- тываемых некоторым генератором тактовых импульсов, как правило, работающим с постоянной скоростью. Дискретные вре- менные события называются тактами синхронизации (clock ticks), просто тактами (ticks), периодами синхронизации (clock periods), циклами (cycles) или циклами синхронизации (clock cycles). Раз- работчики компьютеров обычно говорят о периоде синхрониза- ции, который определяется либо своей длительностью (например, 10 нс), либо частотой (например, 100 МГц). Длительность перио- да синхронизации есть величина, обратная к частоте синхрони- зации. Таким образом, время ЦП для некоторой программы может быть выражено двумя способами: количеством тактов синхро- 41
низации для данной программы, умноженным на длительность такта синхронизации, либо количеством тактов синхронизации для данной программы, деленным на частоту синхронизации. Важной характеристикой, часто публикуемой в отчетах по процессорам, является среднее количество тактов синхронизации на одну команду - CPI (clock cycles per instruction). При извест- ном количестве выполняемых команд в программе этот параметр позволяет быстро оценить время ЦП для данной программы. Таким образом, производительность ЦП зависит от трех па- раметров: такта (или частоты) синхронизации, среднего количе- ства тактов на команду и количества выполняемых команд. Не- возможно изменить ни один из указанных параметров изолиро- ванно от любого другого, поскольку базовые технологии, используемые для изменения каждого из этих параметров, взаи- мосвязаны: частота синхронизации определяется технологией ап- паратных средств и функциональной организацией процессора: среднее количество тактов на команду зависит от функциональ- ной организации и архитектуры системы команд; количество вы- полняемых в программе команд обусловлено архитектурой сис- темы команд и технологией компиляторов. Когда сравнивают две машины, необходимо рассматривать все три компоненты, чтобы оценить относительную производительность. В поисках стандартной единицы измерения производитель- ности компьютеров рассматривалось немало разных единиц из- мерения, вследствие чего несколько «безвредных» терминов были искусственно вырваны из соответствующего контекста и исполь- зованы для того, для чего они никогда не предназначались. В дей- ствительности единственной подходящей и надежной единицей измерения производительности компьютера, машины, системы является время выполнения реальных программ, и все предлага- емые замены этого времени в качестве единицы измерения или замены реальных программ в качестве объектов измерения на синтетические программы только вводят в заблуждение. Единица измерения производительности MIPS MIPS (миллион команд в секунду) является одной из альтер- нативных единиц измерения производительности процессора (по отношению ко времени выполнения). Есть несколько различных вариантов интерпретации определения MIPS. В общем случае MIPS - это число команд в единицу времени, т.е. для любой программы MIPS есть просто отношение количе- 42
ства команд в программе ко времени ее выполнения. Таким об- разом, производительность может быть определена как обрат- ная ко времени выполнения величина, причем более быстродей- ствующие машины при этом будут иметь более высокий рейтинг по MIPS. Положительным в оценке MIPS является то, что эту характе- ристику легко понять, особенно покупателю, и что более быст- родействующая машина характеризуется большим числом MIPS, что соответствует нашим интуитивным представлениям. Однако использование MIPS в качестве метрики для сравнения наталки- вается на три проблемы. Во-первых, MIPS зависит от набора ко- манд процессора, что затрудняет сравнение по М1Р5> компьюте- ров, имеющих разные системы команд. Во-вторых, MIPS даже на одном и том же компьютере меняется от программы к про- грамме. В-третьих. MIPS может меняться по отношению к про- изводительности в противоположную сторону. Классическим примером для последнего случая является рей- тинг по MIPS для машины, в состав которой входит сопроцессор плавающей точки. Поскольку в общем случае на каждую коман- ду с плавающей точкой требуется большее количество тактов синхронизации, чем на целочисленную команду, то программы, используя сопроцессор плавающей точки вместо соответствую- щих подпрограмм из состава программного обеспечения, выпол- няются за меньшее время, но имеют меньший рейтинг по MIPS. При отсутствии сопроцессора операции над числами с плаваю- щей точкой реализуются с помощью подпрограмм, использую- щих более простые команды целочисленной арифметики, и, как следствие, такие машины имеют более высокий рейтинг по MIPS, но выполняют настолько большее количество команд, что общее время выполнения значительно увеличивается. Подобные анома- лии наблюдаются и при использовании оптимизирующих ком- пиляторов, когда в результате оптимизации сокращается коли- чество выполняемых в программе команд, рейтинг по MIPS уменьшается, а производительность возрастает. Другое определение MIPS связано с очень популярным в про- шлом компьютером VAX 11/780 компании DEC. Именно этот ком- пьютер был принят в качестве эталона для сравнения производи- тельности различных машин. Считалось, что производительность VAX 11/780 равна 1 MIPS (один миллион команд в секунду). 43
В то время широкое распространение получил синтетический тест Dhrystone, который позволял оценивать эффективность про- цессоров и компиляторов с языка С для программ нечисловой обработки. Он представлял собой тестовую смесь, 53 % которой составляли операторы присваивания, 32 % - операторы управле- ния и 15 % - вызовы функций. Это был очень короткий тест: все- го 100 команд. Скорость выполнения программы из этих 100 команд измерялась в Dhrystone в секунду. Быстродействие VAX 11/780 на этом синтетическом тесте составляло 1757 Dhrystone в секунду. Таким образом, 1 MIPS равен 1757 Dhrystone в секунду. Следует отметить, что в настоящее время тест Dhrystone прак- тически не используется. Малый его объем позволяет разместить все команды теста в кэш-памяти первого уровня современного микропроцессора, не позволяет даже оценить эффект наличия кэш-памяти второго уровня, хотя может хорошо отражать эф- фект увеличения тактовой частоты. Третье определение MIPS связано с IBM RS/6000 MIPS. Дело в том, что ряд поставщиков и пользователей (последователей фирмы IBM) предпочитают сравнивать производительность сво- их компьютеров с производительностью современных компью- теров IBM, а не с устаревшей машиной компании DEC. Соотно- шение между VAX MIPS и RS/6000 MIPS никогда широко не пуб- ликовалось, но 1 RS/6000 MIPS примерно равен 1,6 VAX 11/780 MIPS. MFLOPS. Измерение производительности компьютеров при решении научно-технических задач, в которых существенно ис- пользуется арифметика с плавающей точкой, всегда вызывало особый интерес. Именно для таких вычислений впервые встал вопрос об измерении производительности, а по достигнутым показателям часто делались выводы об общем уровне разрабо- ток компьютеров. Обычно для научно-технических задач произ- водительность процессора оценивается в MFLOPS (миллионы чисел-результатов вычислений с плавающей точкой в секунду, или миллионы элементарных арифметических операций над числа- ми с плавающей точкой, выполненных в секунду). Как единица измерения MFLOPS предназначена для оценки производительности только операций с плавающей точкой, по- этому неприменима вне этой ограниченной области. Например, программы компиляторов имеют рейтинг по MFLOPS, близкий к нулю независимо от того, насколько быстродействующая ма- 44
шина, поскольку компиляторы редко используют арифметику с плавающей точкой. Ясно, что рейтинг MFLOPS зависит от машины и от програм- мы. Этот термин менее «безобидный», чем MIPS. Он базируется на количестве выполняемых операций, а не на количестве выпол- няемых команд. По мнению многих программистов, одна и та же программа, работающая на различных компьютерах, будет вы- полнять различное количество команд, но одно и то же количе- ство операций с плавающей точкой. Именно поэтому рейтинг MFLOPS предназначался для справедливого сравнения различ- ных машин между собой. Однако и с MFLOPS не все обстоит так безоблачно. Прежде всего это связано с тем. что наборы операций с плавающей точ- кой несовместимы на различных компьютерах. Например, в су- перкомпьютерах фирмы Cray Research отсутствует команда де- ления (имеется, правда, операция вычисления обратной величи- ны числа с плавающей точкой, а операция деления может быть реализована с помощью умножения делимого на обратную вели- чину делителя). В то же время многие современные микропро- цессоры имеют команды деления, вычисления квадратного кор- ня, синуса и косинуса. Другая осознаваемая всеми проблема заключается в том, что рейтинг по MFLOPS меняется не только на смеси целочислен- ных операций и операций с плавающей точкой, но и на смеси быстрых и медленных операций с плавающей точкой. Например, программа со 100 • операций сложения будет иметь более высо- кий рейтинг, чем программа со 100 % операций деления. Решение обеих проблем состоит в следующем: необходимо взять «каноническое» или «нормализованное» число операций с плавающей точкой из исходного текста программы и затем по- делить его на время выполнения. Далее показано, каким обра- зом авторы тестового пакета «Ливерморские циклы» вычисляют для программы количество нормализованных операций с плава- ющей точкой в соответствии с операциями, действительно нахо- дящимися в ее исходном тексте. Таким образом, рейтинг по ре- альным MFLOPS отличается от рейтинга по нормализованным MFLOPS, который часто приводится в литературе по суперком- пьютерам. 45
Соотношение между реальными и нормализованными опера- циями с плавающей точкой, используемое авторами «Ливермор- ских циклов» для вычисления рейтинга MFLOPS, следующее: Реальные операции Нормализованные операции с плавающей точкой с плавающей точкой Сложение, вычитание, сравнение, . умножение Деление, квадратный корень 4 Экспонента, синус,... 8 Наиболее часто MFLOPS как единица измерения производи- тельности используется при проведении контрольных испытаний на тестовых пакетах «Ливерморские циклы». Тесты производительности вычислительных систем Обычно при проведении испытаний используется либо малый набор из 14 Ливерморских циклов, либо большой их набор из 24 циклов. Ливерморские циклы - это набор фрагментов фортран- программ, каждый из которых взят из реальных программных систем, эксплуатируемых в Ливерморской национальной лабо- ратории им. Лоуренса (США). Пакет Ливерморских циклов используется для оценки произ- водительности вычислительных машин с середины 1960-х гг. Ли- верморские циклы считаются типичными фрагментами программ численных задач. Появление новых типов машин, в том числе векторных и параллельных, не уменьшило важности Ливерморс- ких циклов, однако изменились значения производительности и величины разброса между разными циклами. На векторной машине производительность зависит не толь- ко от элементной базы, но и от характера самого алгоритма, т е от коэффициента векторизуемости. Среди Ливерморских циклсе ' коэффициент векторизуемости колеблется от 0 до 100 %, что еше раз подтверждает их эффективность для оценки производитель- ности векторных архитектур. На параллельной машине производительность существенно зависит от соответствия между структурой аппаратных связей вычислительных элементов и структурой вычислений в алгорит- ме. Важно, чтобы тестовый пакет содержал алгоритмы различ- ных структур. В Ливерморских циклах встречаются последова- тельные, сеточные, конвейерные, волновые вычислительные ал- горитмы, что подтверждает их пригодность и для параллельных машин. Однако обобщение результатов измерения произволи- 46
тельности, полученных для одной параллельной машины, на дру- гие параллельные машины или хотя бы некоторый подкласс та- ких машин может дать неверный результат, ибо структуры аппа- ратных связей в этих машинах гораздо более разнообразны, чем, скажем, в векторных машинах. LINPACK - это пакет фортран-программ для решения систем линейных алгебраических уравнений. Цель создания LINPACK - отнюдь не измерение производительности. Алгоритмы линейной алгебры весьма широко используются в самых разных задачах, и поэтому измерение производительности на LINPACK представ- ляют интерес для многих пользователей. Сведения о производи- тельности различных машин на пакете LINPACK публикуются сотрудником Аргоннской национальной лаборатории (США) Дж. Донгаррой и периодически обновляются. В основе алгоритмов одного из вариантов LINPACK лежит метод декомпозиции. Исходная матрица размером 100 х 100 эле- ментов (в последнем варианте - размером 1000 х 1000) сначала представляется в виде произведения двух матриц стандартной структуры, над которыми затем выполняется собственно алго- ритм поиска решения. Подпрограммы, входящие в LINPACK, структурированы. В стандартном варианте LINPACK выделен внутренний уровень базовых подпрограмм, каждая из которых выполняет элементарную операцию над векторами. Набор базовых подпрограмм называется BLAS (Basic Linear Algebra Subprograms). В набор BLAS входят две простые подпрограммы SAXPY (умножение вектора на скаляр и сложение векторов) и SDOT (скалярное произведение векторов). Все операции выпол- няются над числами с плавающей точкой, представленными с двойной точностью. Результат измеряется в MFLOPS. Использование результатов работы тестового пакета LINPACK с двойной точностью как основы для демонстрации рейтинга по MFLOPS стало общепринятой практикой в компь- ютерной промышленности. При этом следует помнить, что в слу- чае использования исходной матрицы размером 100 х 100 она пол- ностью может размещаться в кэш-памяти емкостью, например, 1 Мбайт. Если при проведении испытаний используется матрица размером 1000 х 1000, то емкости такого кэша уже недостаточно, и некоторые обращения к памяти будут ускоряться благодаря на- личию такого кэша, другие же будут приводить к промахам и потребуют большего времени на обработку обращений к памя- 47
ти. Для многопроцессорных систем также имеются параллельные версии UNPACK и такие системы часто показывают линейное увеличение производительности с ростом числа процессоров. Однако, как и любая другая единица измерения, рейтинг по MFLOPS для отдельной программы не может быть обобщен на все случаи Жизни, чтобы представлять единственную единицу измерения производительности компьютера, хотя очень соблаз- нительно характеризовать машину единственным рейтингом по MIPS или MFLOPS без указания программы. SPECint92, SPECfp92. Важность создания пакетов тестов, ба- зирующихся на реальных прикладных программах широкого кру- га пользователей и обеспечивающих эффективную оценку про- изводительности процессоров, была осознана большинством крупнейших производителей компьютерного оборудования, ко- торые в 1988 г. учредили бесприбыльную корпорацию SPEC (Standard Performance Evaluation Corporation). Основной целью этой организации является разработка и поддержка стандарти- зованного набора специально подобранных тестовых программ для оценки производительности новейших поколений высокопро- изводительных компьютеров. Членом SPEC может стать любая организация, уплатившая вступительный взнос. Главными видами деятельности SPEC являются разработка и публикация наборов тестов, предназначенных для измерения про- изводительности компьютеров. Перед публикацией объектные коды этих наборов вместе с исходными текстами и инструмен- тальными средствами интенсивно проверяются на возможность импортирования на разные платформы. Они доступны для ши- рокого круга пользователей за плату, покрывающую расходы на разработку и административные издержки. Специальное лицен- зионное соглашение регулирует вопросы выполнения тестирова- ' ния и публикации результатов в соответствии с документацией на каждый тестовый набор. Корпорация публикует ежеквартальный отчет «The SPEC Newsletter» о новостях SPEC и результатах тестирования, пред- ставляющий собой централизованный источник информации о результатах тестирования на соответствующих тестах. Основным результатом работы корпорации являются набо- ры тестов. Эти наборы разрабатываются ею с использованием кодов, поступающих из разных источников. SPEC работает над импортированием этих кодов на разные платформы, а также со- здает инструментальные средства для формирования из кодов. 48
выбранных в качестве тестов, осмысленных рабочих нагрузок. Поэтому тесты SPEC отличаются от свободно распространяемых программ. И хотя они могут существовать под похожими или теми же самыми именами, время их выполнения в общем случае будет отличаться. Известны два базовых набора тестов SPEC, ориентирован- ных на интенсивные расчеты и измеряющих производительность процессора, системы памяти, а также эффективность генерации кода компилятором. Как правило, эти тесты ориентированы на операционную систему UNIX, но они также импортированы и на другие платформы. Процент времени, расходуемого на рабо- ту операционной системы и функции ввода/вывода, в4общем слу- чае ничтожно мал. Набор тестов CINT92. измеряющий производительность про- цессора при обработке целых чисел, состоит из шести программ, написанных на языке Си и выбранных из различных прикладных областей: теория цепей, интерпретатор языка Лисп, разработка логических схем, упаковка текстовых файлов, электронные таб- лицы и компиляция программ. Набор тестов CFP92, измеряющий производительность про- цессора при обработке чисел с плавающей точкой, состоит из 14 программ, также выбранных из различных прикладных облас- тей: разработка аналоговых схем, моделирование методом Мон- те-Карло, квантовая химия, оптика, робототехника, квантовая физика, астрофизика, прогноз погоды и другие научные и инже- нерные задачи. Две программы из этого набора написаны на язы- ке Си, а остальные 12 - на Фортране. В пяти программах исполь- зуется одинарная, а в остальных - двойная точность. Результаты прогона каждого индивидуального теста из этих двух наборов выражаются отношением времени выполнения од- ной копии теста на исследуемой машине ко времени ее выполне- ния на эталонной машине. В качестве эталонной машины исполь- зуется VAX 11/780. SPEC публикует результаты прогона каждо- го отдельного теста, а также две составные оценки: SPECint92 - среднее геометрическое 6 результатов индивидуальных тестов из набора CINT92, и SPECfp92 - среднее геометрическое 14 резуль- татов индивидуальных тестов из набора CFP92. Следует отметить, что результаты тестирования на наборах CINT92 и CFT92 сильно зависят от качества применяемых опти- мизирующих компиляторов. Для более точного выяснения воз- д-1864 49
можностей аппаратных средств с середины 1994 г. SPEC ввел две дополнительные составные оценки: SPECbase_int92 и SPECbase_fp92, которые накладывает определенные ограничения на используемые поставщиками компьютеров при проведении испытаний компиляторы. ТРС-А, ТРС-В, ТРС-С. По мере расширения использования компьютеров при обработке транзакций в сфере бизнеса все бо- лее важной становится возможность справедливого сравнения систем между собой. С этой целью в 1988 г. создан Совет по оценке производительности обработки транзакций (ТРС - Transaction Processing Performance Council), который представляет собой бес- прибыльную организацию. Любая компания или организация может стать членом ТРС после уплаты соответствующего взноса. Членами ТРС являются практически все крупнейшие производители аппаратных плат- форм и программного обеспечения для автоматизации коммер- ческой деятельности. К настоящему времени в ТРС созданы три тестовых пакета для обеспечения объективного сравнения раз- личных систем обработки транзакций и планируется создать но- вые оценочные тесты. В компьютерной индустрии термин транзакция (transaction) может означать почти любой вид взаимодействия или обмена ин- формацией. Однако в мире бизнеса «транзакция» имеет вполне определенный смысл: коммерческий обмен товарами, услугами или деньгами. С конца XX в. практически все бизнес-транзакции выполня- ются с помощью компьютеров. Наиболее характерными примера- ми систем обработки транзакций являются системы управления учетом, системы резервирования авиабилетов и банковские систе- мы. Таким образом, необходимость стандартов и тестовых паке- тов для оценки таких систем все больше усиливается. До 1988 г. отсутствовало общее соглашение относительно методики оценки систем обработки транзакций. Широко исполь- зовались два тестовых пакета: Дебет/Кредит и TPI. Однако эти пакеты не позволяли осуществлять адекватную оценку систем: они не имели полных, основательных спецификаций; не давали объек- тивных, проверяемых результатов; не содержали полного описа- ния конфигурации системы, ее стоимости и методологии тести- 50
рования; не обеспечивали объективного, беспристрастного срав- нения одной системы с другой. Для решения этих проблем и была создана организация ТРС, основной задачей которой является точное определение тесто- вых пакетов для оценки систем обработки транзакций и баз дан- ных, а также для распространения объективных, проверяемых данных в промышленности. ТРС публикует спецификации тестовых пакетов, которые ре- гулируют вопросы, связанные с работой тестов. Эти специфика- ции гарантируют, что покупатели имеют объективные значения данных для сравнения производительности различных вычисли- тельных систем. Хотя реализация спецификаций оценочных тес- тов оставлена на усмотрение индивидуальных спонсоров тестов, сами спонсоры, объявляя результаты тестирования ТРС, долж- ны представить в Совет детальные отчеты, документирующие соответствие всем спецификациям. Эти отчеты, в частности, вклю- чают конфигурацию системы, методику калькуляции цены, ди- аграммы значений производительности и документацию, пока- зывающую, что тест соответствует требованиям атомарности, согласованности, изолированности и долговечности (ACID - atomicity, consistency, isolation and durability), которые гаранти- руют, что все транзакции из оценочного теста обрабатываются должным образом. Работой ТРС руководит Совет Полного Состава (Full Council), который принимает все решения; каждая компания-участник имеет один голос, а для того чтобы провести какое-либо реше- ние, требуется две трети голосов. Управляющий Комитет (Steering Committee), состоящий из пяти представителей и избираемый ежегодно, надзирает за работой администрации ТРС, поддержи- вает и обеспечивает все направления и рекомендации для членов Совета Полного Состава и Управляющего Комитета. В составе ТРС имеются два типа подкомитетов: постоянные подкомитеты, которые управляют администрацией ТРС, осуще- ствляют связи с общественностью и обеспечивают выпуск доку- ментации, и технические подкомитеты, которые формируются для разработки предложений по оценочным тестам и распускаются после того как их работа по разработке завершена. 4* 51
Вопросы для самопроверки 1. Как определяют понятие «система» и каковы ее свойства? 2. Как классифицируют системы по различным признакам? 3. Какой вид имеет укрупненная структурная схема системы управления? 4. Почему самым сложным элементом системы управления является управляющий орган? 5. Что такое обратная связь? 6. В чем заключается особенность автоматизированных сис- тем управления? 7. В чем суть базовой информационной технологии? 8. Как классифицируют компьютеры по областям примене- ния? 9. Каковы общие требования, предъявляемые к современным компьютерам? 10. Каковы достоинства и недостатки существующих методов оценки производительности вычислительных систем?
Глава 2 НЕТРАДИЦИОННЫЕ АРХИТЕКТУРЫ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ Термин «архитектура системы» [11,16] часто употребляется как в узком, так и в широком смысле этого слова. В узком смысле под архитектурой применительно к вычислительным системам понимают архитектуру набора команд. Она служит границей между аппаратурой и программным обеспечением и представля- ет ту часть системы, которая видна программисту или разработ- чику компиляторов. Следует отметить, что это наиболее частое употребление данного термина. В широком смысле архитектура охватывает понятие организации системы, включающее такие высокоуровневые аспекты разработки компьютера, как система памяти и процессоров, структура системной шины, организация ввода-вывода и т.п. Архитектура вычислительной системы предполагает много- уровневую организацию. Первый уровень определяет, какие фун- кции по обработке данных выполняются системой в целом, а ка- кие возлагаются на внешнюю среду (пользователи, операторы, администраторы баз данных и т.д.). 2.1. Числовая и нечисловая обработка Известно, что компьютеры были созданы для удовлетворе- ния нужд крупных учреждений при реализации большого объе- ма вычислений, для которых существенными были точность и время выполнения. Как правило, эти вычисления представляют собой длинные цепочки итераций и требуют сохранения высо- кой точности (примерами таких вычислений могут служить ре- шение линейных и дифференциальных уравнений, преобразова- ние Лапласа, операции с матрицами, векторами и т.д.). Такие вычисления характерны для числовой обработки. 53
По мере распространения компьютеров и создания, в частно- сти, персональных ЭВМ возникли другие области их примене- ния, отличные от вычислений. Так появилась необходимость в обработке экономической информации, в создании информаци- онных систем для различных организаций, автоматизации работ в учреждениях и т.д. Все эти применения требуют различных баз данных, которые могут хранить миллионы и миллиарды отдель- ных записей. В отличие от числовой обработки, в данном случае не требуются высокая точность и большой объем вычислений. Обычно достаточно выполнить одно сложение или умножение (например, при вычислении налога). Однако объем обрабатыва- емых данных велик (например, нужно вычислить налог с каждо- го вида товара или с каждого клиента), поэтому и базы данных, содержащие требуемую информацию, чрезвычайно велики. Кроме того, нужно предварительно найти соответствующую запись, обработать ее и определить форму вывода обработанных данных. Для этого требуются такие операции, как поиск и сорти- ровка. Процесс, который только что описан, характеризует не- числовую обработку данных. Легко убедиться в том, что на не- числовую обработку в настоящее время тратится машинного вре- мени значительно больше, чем на числовую [8]. Данные - это цифровые и графические сведения об объектах окружающего мира. В понятие «данные» при числовой и нечис- ловой обработке вкладывается различное содержание. При чис- ловой обработке используются такие объекты, как переменные, векторы, матрицы, многомерные массивы, константы и т.д. При нечисловой обработке объектами могут быть файлы, записи, поля, иерархии, сети, отношения и т.д. Любые данные в той или иной степени обладают некоторым содержанием. При числовой обработке мы хотим, например, вычислить Сумму элементов массива или перемножить две пере- менные. При этом содержание элементов массива мало о чем нам говорит. Для суммирования достаточно указать адрес начально- го элемента массива, а затем накапливать сумму элементов в не- котором регистре, индексируя соответствующим образом адре- са. В случае умножения двух переменных нас не особенно инте- ресует способ, каким это вычисление запрограммировано, или текущее значение перемножаемых переменных, но мы должны проследить за тем, чтобы предварительно был очищен накопи- тель и были проверены некоторые переменные, влияющие на ход выполнения программы. Даже в условном операторе мы обра- 54
щаемся к элементу данных не по содержанию, а по имени (напри- мер, элемент матрицы A(I, J)). Таким образом, при числовой об- работке содержание данных не имеет большого значения. При нечисловой обработке, наоборот, нас интересуют непос- редственные сведения об объектах (конкретный служащий или группа служащих), а не файл служащих как таковой. Мы не ин- дексируем файл служащих для выбора конкретного человека (по крайней мере, в данной программе); нас больше интересует со- держание искомой записи. Мы можем запросить сведения о слу- жащем, указав его имя или номер страхового свидетельства, либо узнать имена всех служащих моложе 35 лет, месячный оклад ко- торых составляет 3000 руб. « Различия между логическим представлением данных и их кон- кретным содержанием отразились на принципах, которые с само- го начала легли в основу организации ЭВМ (ЭВМ, работающих на других принципах, не существует, по крайней мере среди ЭВМ, выпускаемых серийно). Другими словами, способы построения запоминающих устройств и способы обращения к ним централь- ного процессора ориентированы на числовую обработку. ЭВМ классической (фон-неймановской) архитектуры состо- ит из пяти основных функциональных блоков: запоминающее устройство, устройство управления, арифметико-логическое ус- тройство (два последних устройства обычно рассматриваются вместе и называются центральным процессором), устройство вво- да и устройство вывода. Такова архитектура всех современных ЭВМ, даже если они используются для нечисловой обработки данных. В ЭВМ фон-неймановской архитектуры обращение к данным организовано так. что для выборки объекта из памяти нужно сна- чала указать начальный адрес. Иными словами, адрес элемента данных определяется указанием начального значения (начало массива или блока памяти) и смещения конкретного элемента относительно начального адреса. Эти два значения складывают- ся и их сумма обрабатывается некоторым способом, зависящим от механизма доступа. Если же данные (например, имена служащих) выбираются из файла не по адресу, а по содержимому полей (например, ВОЗ- РАСТ и ЗАРПЛАТА), то этот способ адресации отличается от способа обращения к элементам массивов. Такой способ адреса- ции называется ассоциативным обращением, или ассоциативной адресацией. 55 1
Не останавливаясь пока на принципах построения запомина- ющих устройств, реализующих этот способ адресации, отметим, что независимо от типа используемой памяти адресация по содер- жанию в программах - реальный факт. Если не учитывать первые программы по обработке файлов, в которых ассоциативный спо- соб адресации проявлялся неявно в логике обработки данных, то можно утверждать, что большинство программ использует ассо- циативный способ адресации и зависит от него. Это вполне есте- ственно как с семантической (выбор по содержанию), так и с фи- зической точки зрения (доступ к каждому элементу данных). Выше было введено понятие ассоциативной адресации. Рас- смотрим еще некоторые особенности нечисловой обработки. Как отмечалось, такой обработке обычно подвергаются чрезвычай- но большие объемы информации. В различных приложениях над этими данными можно выполнять, например, такие операции: • повысить зарплату всем служащим предприятия; • вычислить банковский процент по счетам всех клиентов: • внести изменения в список товаров, имеющихся на складе. • найти требуемый реферат из всех текстов, хранимых в библио- теке или в библиографической информационно-поисковой системе. • найти описание нужного контракта в файле, содержащем юри- дические документы; • просмотреть файлы, содержащие описания патентов, и найти патент (если он есть), аналогичный предлагаемому вновь. В качестве примеров можно привести и другие виды обработ- ки: операции с матрицами, векторами, решение систем уравне- ний. Это - примеры числовой обработки; в них присутствует стро- гая упорядоченность и повторяемость действий. Легко убедить- ся в том, что основные временные затраты как при числовой, так и при нечисловой обработке легко снизить путем распараллели- вания операций в том смысле, что сходные действия над группа- ми данных выполняются одновременно одинаковыми пронес по- рами (по одному или несколько процессоров на группу). Парал- лелизм - это естественное решение проблемы обработки больших наборов данных с повторяющейся структурой. До сих пор пыта- лись отразить ассоциативную адресацию и параллельную обра- ботку на ЭВМ классической архитектуры, в которой один про- цессор обращается к памяти по адресу. 56
2.2. Ограничения фон-неймановской архитектуры Рассмотрим ограничения этой архитектуры. Ограничения по процессору. С позиций логики все запомина- ющие устройства (ЗУ) хранят данные, подготовленные к обра- ботке. Суть обработки сводится к передаче данных через канал в ЦП с одновременной проверкой. Если данные соответствующие, их обрабатывают и результат возвращают через канал либо на устройство вывода, либо в соответствующее запоминающее уст- ройство. В фон-неймановской архитектуре для обработки больших объемов информации мы располагаем всего лишь одйим процес- сором. При этом возникает ситуация, когда миллиарды байтов (символов) информации находятся в состоянии ожидания пере- дачи через канал и обработки на устройстве весьма ограничен- ной мощности. Такая ситуация для процессора является тупико- вой. Для выхода из тупика необходимо внести на этом уровне два изменения в архитектуру: а) использовать параллельные процессоры; б) приблизить процессоры к данным, а не наоборот, чтобы устранить постоянную передачу данных по каналу. Таким образом, решениями являются: • параллелизм обработки; • распределенная логика. Ограничения по запоминающим устройствам. В ЗУ фон-ней- мановской архитектуры обращение происходит по адресу. Для числовой обработки это приемлемо. Но при нечисловой обра- ботке обращение должно осуществляться по содержанию. По- скольку для нечисловой обработки используется та же архитек- тура, что и для числовой, нужно найти способ организации ассо- циативного доступа. Таким способом является эмуляция ассоциативной адресации с помощью основного адресного дос- тупа. При этом создаются специальные таблицы (справочники) для перевода ассоциативного запроса в соответствующий адрес. Такие таблицы называются списками ссылок, или индексами. Они помогают осуществить доступ к конкретной ячейке памяти. Учи- тывая миллионы и миллиарды байтов, которые нужно обрабо- тать, легко представить себе, с какими издержками связаны спис- ки ссылок. 57
Рассмотрим граф, описывающий последовательность процес- сов большой программы (рис. 2.1), из которого видно, что вы- полнение процесса Р5 не может начаться до завершения процес- сов Р2 иРЗи,в свою очередь, выполнение процессов Р2 и РЗ не может начаться до завершения процесса Р1. Рис. 2.1. Граф процессов программы: Р1... Р6- процессы В данном случае для выполнения программы достаточно трех процессоров. Ускорение обработки на многопроцессорной системе опре- деляется отношением времени однопроцессорной обработки ко времени многопроцессорной обработки, т.е. (2-1) При автоматическом обнаружении параллельных вычислений в последовательной программе выявляют явную и скрытую па- раллельную обработку. Хотя в обоих случаях необходим анализ программы, различие между этими видами обработки состоит в том, что скрытая параллельная обработка требует некоторой процедуры преобразования последовательной программы, что- бы сделать возможным ее параллельное выполнение. При анали- зе программы строится граф потока данных. Чтобы обнаружить явную параллельность процессов, анализируются множества входных (считываемых) переменных R (Read) и выходных (запи- сываемых) переменных W (Write) каждого процесса. Два процес- са i,j (i<>j) могут выполняться параллельно при следующих ус- ловиях: 59
Rinwj=0‘, Wi(\Rj=0- (2.2) ^П»}=0, где 0 - пустое множество. Это означает, что входные данные одного процесса не долж- ны модифицироваться другим процессом, и никакие два процес- са не должны модифицировать общие переменные. Явная парал- лельная обработка может быть обнаружена среди процессов, удовлетворяющих этим условиям. Для использования скрытой параллельной обработки требуются преобразования програм- мных конструкций, таких как: • уменьшение высоты деревьев арифметических выражений; • замена операторов; • преобразование линейных рекуррентных соотношений: • преобразование блоков IF и DO к каноническому виду: • распределение циклов. Проиллюстрируем первые два преобразования на простых примерах. Уменьшение высоты дерева арифметического выражения. Рассмот- рим деревья разбора для арифметического выражения Ща+Ь)+с г?d). Дерево (рис. 2.2, а) минимальной высоты (h = 3) для первоначального выражения уменьшено (рис. 2.2, б) до высоты двух уровней (А = 2) пре- образованием первоначального выражения к виду (a+b)+(c+d) с ис- пользованием ассоциативности. Для арифметического выражения с п переменными или константами уменьшение высоты дерева позволяет достигнуть ускорения обработки порядка (?(n4og2H) при использова- нии О(п) процессоров. В примере, показанном на рис. 2.2, выражение может быть вычислено за два шага вместо трех первоначальных. 60
Замена операторов. Рассмотрим следующий блок операторов при- сваивания: X = BCD + Е; Y = AX; Z = X + FG. При использовании одного процессора этот блок может быть вычислен за шесть шагов, если один временной шаг отводится для каждой арифметической операции. Путем замены операторов мож- но получить следующий блок: X = BCD + Е; Y = А В CD + АЕ; Z = BCD + E + FG. Этот блок может быть вычислен параллельно за три шага с уско- рением обработки {' = 6/3 = 2 при использовании 5 процессоров. Приведенные примеры преобразований показывают, какое уско- рение можно получить, используя параллельную обработку и опти- мизацию выражений. 2.4. Принцип конвейерной обработки данных Конвейерная обработка улучшает использование ресурсов для заданного набора процессов, каждый из которых применяет эти ресурсы заранее предусмотренным способом. Хорошим приме- ром конвейерной организации является сборочный транспортер на производстве, когда изделие последовательно проходит все стадии вплоть до готового продукта. Преимущество этого спо- соба состоит в том. что все изделия вдоль своего пути использу- ют один и тот же набор ресурсов, и как только некоторый ресурс освобождается данным изделием, он сразу же может быть исполь- зован следующим изделием, не ожидая, пока предыдущее изде- лие достигнет конца сборочной линии. Если транспортер несет аналогичные, но не тождественные изделия, то это последователь- ный конвейер; если же все изделия одинаковы, то это векторный конвейер. 61
2.4.1. Последовательные конвейеры Разработчики компьютеров издавна прибегали к методам проектирования, известным под общим названием «совмещение операций», при котором аппаратура компьютера в любой момент времени выполняет одновременно более одной базовой опера- ции. Этот общий метод включает два понятия: параллелизм и кон- вейеризацию. При параллелизме совмещение операций достига- ется путем воспроизведения в нескольких копиях аппаратной структуры. Высокая производительность достигается за счет од- новременной работы всех элементов структур, осуществляющих решение различных частей задачи. Конвейеризация (или конвейерная обработка) в общем слу- чае основана на разделении подлежащей исполнению функции на более мелкие части, называемые ступенями, и выделении для каждой из них отдельного блока аппаратуры. Так, обработку любой машинной команды можно разделить на несколько эта- пов (несколько ступеней), организовав передачу данных от од- ного этапа к следующему. При этом конвейерную обработку мож- но использовать для совмещения этапов выполнения разных ко- манд. Производительность при этом возрастает благодаря тому, что одновременно на различных ступенях конвейера выполняет- ся несколько команд. Конвейерная обработка такого рода ши- роко применяется во всех современных быстродействующих про- цессорах. Устройство обработки команд простейшего процессора (рис. 2.3) включает четыре ступени: • выборка команд из памяти; • декодирование; • определение адреса и выборка операнда; • исполнение. Рис. 2.3. Последовательный конвейер 62
Конвейеризация увеличивает пропускную способность про- цессора (количество команд, завершающихся в единицу време- ни), но она не сокращает время выполнения отдельной команды. В действительности она даже несколько увеличивает время вы- полнения каждой команды из-за накладных расходов, связанных с хранением промежуточных результатов. Однако увеличение пропускной способности означает, что программа будет выпол- няться быстрее по сравнению с простой неконвейерной схемой. Рис. 2.4. Диаграмма работы последовательного конвейера Ускорение обработки в данном устройстве измеряется отно- шением времени Г. необходимым для последовательного выпол- нения L заданий (без конвейеризации), ко времени Т выполне- ния той же обработки на конвейере. Обозначим через Г время обработки на z-й ступени, а через t - соответствующее время для самой медленной ступени (j € i). Тогда, если L заданий (команд) проходят через конвейер с п ступенями (для рис. 2.3 и 2.4 - четы- ре ступени), эффективность конвейера и определяется следующим выражением: В частности, для * п n-L t; = t; U --. ' 7 n + L-\ (2.3) 63
Как видно, первый результат на выходе конвейера появляется спустя время ^раз = X 4, называемое временем разгона конвейера, а /=1 последующие - с интервалами г. Конвейеризация эффективна только тогда, когда загрузка конвейера близка к полной, а скорость подачи новых команд и операндов соответствует максимальной производительности кон- вейера. Если произойдет задержка, то параллельно будет выпол- няться меньше операций, и суммарная производительность сни- зится. Такие задержки могут возникать в результате появления конфликтных ситуаций. Конфликты снижают реальную производительность конвей- ера, которая могла бы быть достигнута в идеальном случае. Су- ществуют три класса конфликтов. 1. Структурные конфликты, которые возникают из-за конф- ликтов по ресурсам, когда аппаратные средства не могут поддер- живать все возможные комбинации команд в режиме одновре- менного выполнения с совмещением. 2. Конфликты по данным, возникающие, когда выполнение одной команды зависит от результата выполнения предыдущей команды. 3. Конфликты по управлению, которые возникают при конвей- еризации команд переходов и других команд, изменяющих зна- чение счетчика команд. Конфликты в конвейере приводят к необходимости приоста- новки выполнения команд (pipeline stall). Обычно если в простей- ших конвейерах приостанавливается какая-либо команда, то все следующие за ней команды также приостанавливаются. Коман- ды, предшествующие приостановленной, могут продолжать вы- полняться, но во время приостановки не выбирается ни одна но- вая команда. 2.4.2. Векторные конвейеры В векторных машинах создается множество функциональных элементов, каждый из которых выполняет определенную опера- цию с парой операндов, принадлежащих двум разным векторам. Эти пары подаются на функциональное устройство (включаю- щее множество одинаковых функциональных элементов) одно- временно, и со всеми парами элементов векторов проводят одно- » 64
временно функциональные преобразования. Для предваритель- ной подготовки преобразуемых векторов используются вектор- ные регистры, на которые собираются подлежащие обработке векторы. Типичное использование векторного конвейера - это процесс, вырабатывающий по двум исходным векторам А и В результиру- ющий вектор С для арифметической операции С = А + В. В этом случае на конвейер поступает множество одинаковых команд. Векторная команда в этом примере реализуется с помощью специального управляющего вектора. Если п-й разряд управля- ющего вектора установлен в 1. то операция Сп = Ап + Вп выполня- ется и С записывается в результирующий вектор. Как видно из ? примера, по мере вычисления адресов пары операндов могут не- прерывно вводиться в арифметическое устройство. В такой кон- вейерной архитектуре требуются регистры или управляющие векторы, хранящие необходимую информацию до тех пор, пока можно начать выполнение команды. Подготовка данных для век- торной обработки может потребовать выполнения нескольких операций загрузки регистров. Необходимое для этого время на- зывают временем подготовки ts. Время от момента декодирова- ния векторной команды до появления на выходе конвейера пер- вого элемента результирующего вектора называют временем раз- гона конвейера Если длина обрабатываемого векторного поля равна /, а время обработки на самой медленной ступени равно tb, то общее время выполнения на конвейере векторной команды со- ставляет t - t + tf +(Z - 1) t.. vp s J x z b Для того чтобы выполнить ту же обработку на последователь- ном конвейере, потребовалось бы использовать его Z раз. По срав- нению с векторными конвейерами выборка операндов на после- довательных конвейерах реализуется менее эффективно. Эквива- лентом оценки t в последовательном конвейере является величина / =tf+(l-l)t., sq fs 1 7 bs7 где t. t и tb- соответственно время обработки на последовательном кон- вейере, время его разгона и время обработки на самой мед- ленной его ступени. -1864 65
Сравнивая t и t . получаем * vp S(f J fS + lf + О 4 - fs 0 если справедливо соотношение l> 1+0 + t.-tj- v 5 J JS' ' bs b' Приведенные характеристики показывают, в каких случаях векторный конвейер имеет преимущества по сравнению с после- довательным. В работе [8] установлено, что знаменатель, как правило, составляет 1/10 числителя, что соответствует значению /> 10. 2.5. Классификация архитектур вычислительных систем Многопроцессорные системы (МПС), ориентированные на достижение сверхбольших скоростей работы, содержат десятки или сотни сравнительно простых процессоров с упрощенными блоками управления. Отказ от универсальности применения та- ких вычислительных систем (ВС) и специализация их на опреде- ленном круге задач, допускающих эффективное распараллелива- ние вычислений, позволяют строить их с регулярной структурой связей между процессорами. Наиболее удачной считается классификация Флина, которая строится по признаку одинарности или множественности пото- ков команд и данных. Однопроцессорная ЭВМ. Структура обыкновенной однопро- . цессорной ЭВМ (рис. 2.5) содержит одинарный поток команд и одинарный поток данных (структура ОКОД, или SISD). Матричная МПС - это структура типа ОКМД (или SIMD). Система содержит некоторое число одинаковых сравнительно простых быстродействующих процессоров, соединенных между собой и с памятью данных регулярным образом так, что образу- ется сетка (матрица), в узлах которой размещаются процессоры (рис. 2.6). В системе образуется несколько потоков данных и один общий поток команд. Здесь возникает сложная задача распарал- леливания алгоритмов решаемых задач для обеспечения загруз- ки процессоров. 66
ПК Рис. 2.5. Структура SISD: ПК - память команд; CPU - процессор; ПД - память данных ПК Поток команд ПД Рис. 2.6. Структура SIMD (обозначения см. к рис. 2.5)
К SIMD принадлежит обширный класс новых архитектур. Основная структура машин этого класса состоит из одного (цен- трального) контроллера, управляющего рядом одинаковых про- цессоров. Если эти процессоры организованы так, что при вы- полнении заданных вычислений, инициированных контроллером, они работают параллельно, то система называется матричным процессором. Если соединить каждый процессор непосредствен- но с его памятью и работать в режиме поиска по всему массиву, то получим ассоциативный процессор. Параллельная обработка является общим признаком всех машин класса SIMD. Для созда- ния архитектуры SIMD требуются соединения двух типов: • между самими процессорными элементами; • между процессорными элементами и запоминающими уст- ройствами. Для соединительных сетей, обеспечивающих связи между про- цессорными элементами, в литературе установилось название маршрутные (routing), а для сетей, связывающих процессорные элементы с запоминающими устройствами, - название выравни- вающие (alignment). В зависимости от возможностей контроллера и процессорных элементов, числа процессоров, организации режима поиска и характеристик маршрутных и выравнивающих сетей архитекту- ры класса SIMD подразделяются на четыре типа: • матричные процессоры; • ассоциативные процессоры; • процессорные ансамбли; • конвейерные процессоры. Матричные процессоры используются для решения векторных и матричных (сеточных) задач и в общем случае для реализации алгоритмов, соответствующих характеристикам архитектуры SIMD. К этим задачам относятся в основном задачи числовой об- работки. Для решения нечисловых задач используются ассоциа- тивные процессоры. Процессорные ансамбли применимы как для числовой, так и нечисловой обработки. Конвейерные и векторные процессоры могут быть отнесены к архитектуре SIMD, но их мож- но причислить также и к другим типам архитектур. Конвейерная МПС - это структура типа МКОД (или MISD) (рис. 2.7). Система имеет регулярную структуру в виде цепочки последовательно соединенных процессоров или специальных вычислительных блоков (СВБ), так что информация на выходе 68
одного процессора является входной информацией для следую- щего в конвейерной цепочке. Процессоры СВБ образуют конвей- ер, на вход которого одинарный поток данных доставляет операн- ды из памяти. Каждый процессор обрабатывает свою часть зада- чи, передавая результаты соответствующему процессору, который использует их в качестве исходных данных. Таким образом, ре- шение задач для некоторых исходных данных развертывается последовательно в конвейерной цепочке. Это обеспечивает под- ведение к каждому процессору СВБ своего потока команд, т.е. имеет место множественный поток команд. Рис. 2.7. Структура типа MISD (обозначения см. к рис. 2.5) Общий случай МПС - это структура типа МКМД (или MIMD). На рис. 2.8 представлен общий случай структуры МПС, в кото- рой существуют несколько потоков данных и несколько потоков команд. К классу MIMD могут быть отнесены, хотя и не всегда одно- значно, следующие конфигурации: а) мультипроцессорные системы; б) системы с мультиобработкой; в) многомашинные системы; г) компьютерные сети. В каждой из перечисленных систем есть ряд процессоров. Однако, в отличие от параллельных матричных систем, число 69
ПК g Б Рис. 2.8. Структура типа MIMD (обозначения см. к рис. 2.5) процессоров здесь невелико. Более того, вместо процессорных элементов матрицы здесь используется дублирование на уровне систем или подсистем компьютеров. Конфигурация г) предпола- гает гибкое взаимодействие вычислительных систем, входящих в сеть, а в конфигурациях б и в несколько процессоров одновре- менно выполняют различные фрагменты большой задачи. Одно- временность означает здесь распределение функций, т.е. каждый процессор или подсистема выполняет над каждым из поступаю- щих заданий определенную операцию (некоторое подобие кон- вейера). В качестве примера можно привести систему обработки данных, состоящую из процессора сортировки, процессора слия- ния и процессора ввода-вывода и замещения страниц. Каждая из 70
этих подсистем выполняет одни и те же специальные функции для всех поступающих заданий. Здесь используется термин мульти- обработка в широком смысле для обозначения функционально распределенной одновременной обработки. Мультипроцессорные системы определяются формальным образом как системы, имеющие два процессора или более с об- щим управлением. Это определение можно обобщить, включив также совместное использование ресурсов и взаимодействие меж- ду отдельными компонентами системы. Мультипроцессорная система в целом управляется одной операционной системой, и взаимодействие между процессорами возможно на самом низком уровне (вплоть до отдельных единиц данных). В следующем раз- , деле мультипроцессорная организация рассмотрена подробнее. 2.6. Мультипроцессорные системы 2.6.1. Классификация систем параллельной обработки данных На протяжении всей истории развития вычислительной тех- ники делались попытки построить общую классификацию, под которую подпадали бы все возможные направления развития компьютерных архитектур. Ни одна из таких классификаций не могла охватить все разнообразие разрабатываемых архитектур- ных решений и не выдерживала испытания временем. Тем не ме- нее в научный оборот попали и широко используются термины, которые полезно знать не только разработчикам, но и пользова- телям компьютеров [16]. Любая вычислительная система (будь то супер-ЭВМ или пер- сональный компьютер) достигает своей наивысшей производи- тельности благодаря использованию высокоскоростных элемен- тов и параллельному выполнению большого числа операций. Именно возможность параллельной работы различных устройств системы (работы с перекрытием) является базой ускорения ос- новных операций. Параллельные ЭВМ, как указывалось, часто подразделяются по классификации Флинна на машины типа SIMD (Single Instruction Multiple Data - с одним потоком команд при множе- ственном потоке данных) и MIMD (Multiple Instruction Multiple 71
Data - с множественным потоком команд при множественном потоке данных). Как и любая другая, данная классификация не- совершенна: существуют машины, прямо в нее не попадающие, имеются также важные признаки, которые в этой классификации не учтены. В частности, к машинам типа SIMD часто относят век- торные процессоры, хотя их высокая производительность зависит от другой формы параллелизма - конвейерной органи- зации машины. Многопроцессорные векторные системы (типа Cray Y-MP) состоят из нескольких векторных процессоров и по- этому могут быть названы MSIMD (Multiple SIMD). Классификация Флинна не делает различия по другим важ- ным для вычислительных моделей характеристикам, например по уровню «зернистости» параллельных вычислений и методам син- хронизации. Можно выделить четыре основных типа архитектуры систем параллельной обработки. 1. Конвейерная и векторная обработка. Основу конвейерной обработки составляет раздельное выполнение некоторой опера- ции в несколько этапов (за несколько ступеней) с передачей дан- ных одного этапа следующему. Производительность при этом возрастает благодаря тому, что одновременно на различных сту- пенях конвейера выполняется несколько операций. Конвейери- зация эффективна только тогда, когда загрузка конвейера близ- ка к полной, а скорость подачи новых операндов соответствует максимальной производительности конвейера. Если происходит задержка, то параллельно будет выполняться меньше операций и суммарная производительность снизится. Векторные операции обеспечивают идеальную возможность полной загрузки вычис- лительного конвейера. • При выполнении векторной команды одна и та же операция применяется ко всем элементам вектора (или чаще всего к соот- ветствующим элементам пары векторов). Для настройки конвей- ера на выполнение конкретной операции может потребоваться некоторое установочное время, однако затем операнды могут поступать в конвейер с максимальной скоростью, допускаемой возможностями памяти. При этом не возникает пауз ни в связи с выборкой новой команды, ни в связи с определением ветви вы- числений при условном переходе. Таким образом, главный прин- цип вычислений на векторной машине состоит в выполнении не- которой элементарной операции или их комбинации, которые 72
должны повторно применяться к некоторому блоку данных. Та- ким операциям в исходной программе соответствуют небольшие компактные циклы. 2. Машины типа SIMD. Машины типа SIMD состоят из боль- шого числа идентичных процессорных элементов, имеющих соб- ственную память. Все процессорные элементы в такой машине выполняют одну и ту же программу. Очевидно, что такая маши- на, составленная из большого числа процессоров, может обеспе- чить очень высокую производительность только на тех задачах, при решении которых все процессоры могут делать одну и ту же работу. Модель вычислений для машины SIMD очень похожа на модель вычислений для векторного процессора: одийочная опе- рация выполняется над большим блоком данных. В отличие от ограниченного конвейерного функционирова- ния векторного процессора, матричный процессор (синоним для большинства SIMD-машин) может быть значительно более гиб- ким. Обрабатывающие элементы таких процессоров - это уни- версальные программируемые ЭВМ, так что задача, решаемая параллельно, может быть достаточно сложной и содержать ветв- ления. Обычное проявление этой вычислительной модели в ис- ходной программе примерно такое же, как и в случае векторных операций: циклы на элементах массива, в которых значения, вырабатываемые на одной итерации цикла, не используются на другой итерации цикла. Модели вычислений на векторных и матричных ЭВМ настоль- ко схожи, что эти ЭВМ часто обсуждаются как эквивалентные. 3. Машины типа MIMD. Термин «мультипроцессор» покры- вает большинство машин типа MIMD (подобно тому, как тер- мин «матричный процессор» применяется к машинам типа SIMD) и часто используется в качестве синонима для машин типа MIMD. В мультипроцессорной системе каждый процессорный элемент (ПЭ) выполняет свою программу сравнительно независимо от других процессорных элементов. ПЭ, конечно, должны как-то связываться между собой, что делает необходимым более под- робную классификацию машин типа MIMD. В мультипроцессо- рах с общей памятью (сильносвязанных мультипроцессорах) есть память данных и команд, доступная всем ПЭ. С общей памятью ПЭ связываются с помощью общей шины или сети обмена. В про- тивоположность этому варианту в слабосвязанных многопроцес- сорных системах (машинах с локальной памятью) вся память де- 73
лится между процессорными элементами и каждый блок памяти доступен только связанному с ним процессору. Сеть обмена свя- зывает ПЭ один с другим. Базовой моделью вычислений на MIMD-мультипроцессоре является совокупность независимых процессов, эпизодически обращающихся к разделяемым данным. Существует много вари- антов этой модели. На одном конце спектра - модель распреде- ленных вычислений, в которой программа делится на довольно большое число параллельных задач, состоящих из множества подпрограмм, на другом конце - модель потоковых вычислений, в которых каждая операция в программе может рассматриваться как отдельный процесс. Она ждет своих входных данных (опе- рандов), которые должны быть переданы ей другими процесса- ми. По их поступлении операция выполняется и полученное зна- чение передается тем процессам, которые в нем нуждаются. В потоковых моделях вычислений с большим и средним уровнем гранулярности процессы содержат большое число операций и выполняются в потоковой манере. 4. Многопроцессорные машины с SIMD-процессорами. Многие современные супер-ЭВМ представляют собой многопроцессор- ные системы, в которых используются векторные процессоры или процессоры типа SIMD. Такие машины относятся к машинам класса MSIMD. Языки программирования и соответствующие компиляторы для машин типа MSIMD обычно обеспечивают языковые конст- рукции, которые позволяют программисту описывать «крупно- зернистый» параллелизм. В пределах каждой задачи компилятор автоматически векторизует подходящие циклы. Машины типа MSIMD, как можно себе представить, дают возможность исполь- зовать лучший из этих двух принципов декомпозиции: вектор- ные операции («мелкозернистый» параллелизм) для тех частей программы, которые подходят для этого, и гибкие возможности MIMD-архитектуры для других частей программы. Многопроцессорные системы за годы развития вычислитель- ной техники претерпели ряд этапов своего развития. Историчес- ки первой стала осваиваться технология SIMD. Однако в настоя- щее время наметился устойчивый интерес к архитектурам MIMD. Этот интерес главным образом определяется двумя факторами. • Архитектура MIMD дает большую гибкость: при наличии адекватной поддержки со стороны аппаратных средств и про- 74
граммного обеспечения MIMD может работать как однопользо- вательская система, обеспечивая высокопроизводительную обра- ботку данных для одной прикладной задачи, как многопрограм- мная машина, выполняющая множество задач параллельно, и как некоторая комбинация этих возможностей. • Архитектура MIMD может использовать все преимущества современной микропроцессорной технологии на основе строго- го учета соотношения стоимость/производительность. В действи- тельности практически все современные многопроцессорные си- стемы строятся на тех же микропроцессорах, которые можно най- ти в персональных компьютерах, рабочих станциях и небольших однопроцессорных серверах. * Одной из отличительных особенностей многопроцессорной вычислительной системы является сеть обмена, с помощью кото- рой процессоры соединяются между собой или с памятью. Мо- дель обмена настолько важна для многопроцессорной системы, что многие характеристики производительности и другие оцен- ки выражаются отношением времени обработки ко времени об- мена, соответствующим решаемым задачам. Существуют две глав- ные модели межпроцессорного обмена: одна основана на пере- даче сообщений, другая - на использовании общей памяти. В многопроцессорной системе с общей памятью один процессор осуществляет запись в конкретную ячейку, а другой производит считывание из этой ячейки памяти. Чтобы обеспечить согласо- ванность данных и синхронизацию процессов, обмен часто реа- лизуют по принципу взаимно исключающего доступа к общей памяти методом «почтового ящика». В архитектурах с локальной памятью непосредственное раз- деление памяти невозможно. Вместо этого процессоры получа- ют доступ к совместно используемым данным посредством пере- дачи сообщений по сети обмена. Эффективность схемы комму- никаций зависит от протоколов обмена, основных сетей обмена и пропускной способности памяти и каналов обмена. Часто, и притом необоснованно, в машинах с общей памя- тью и векторных машинах затраты на обмен не учитываются, так как проблемы обмена в значительной степени скрыты от програм- миста. Однако сопутствующие расходы на обмен в этих машинах имеются и определяются конфликтами шин, памяти и процессо- ров. Чем больше процессоров добавляется в систему, тем больше процессов соперничают при использовании одних и тех же дан- 75
ных и шины, что приводит к состоянию насыщения. Модель сис- темы с общей памятью очень удобна для программирования и иногда рассматривается как высокоуровневое средство оценки влияния обмена на работу системы, даже если основная система в действительности реализована с применением локальной па- мяти и принципа передачи сообщений. В сетях с коммутацией каналов и в сетях с коммутацией паке- тов по мере возрастания требований к обмену следует учитывать возможность перегрузки сети. Здесь межпроцессорный обмен связывает сетевые ресурсы: каналы, процессоры, буферы сооб- щений. Объем передаваемой информации может быть сокращен за счет тщательной функциональной декомпозиции задачи и скру- пулезного диспетчирования выполняемых функций. Таким образом, существующие MIMD-машины распадаются на два основных класса в зависимости от числа объединяемых процессоров, которое определяет и способ организации памяти, и методику их межсоединений. 2.6.2. МПС с общей памятью К машинам первой группы с общей (разделяемой) основной памятью относятся системы (рис. 2.9). объединяющие до несколь- ких десятков (обычно менее 32) процессоров. Сравнительно не- большое количество процессоров в таких машинах позволяет иметь одну централизованную общую память и объединить про- цессоры и память с помощью одной шины. При наличии у про- цессоров кэш-памяти достаточного объема высокопроизводи- тельная шина и общая память могут удовлетворить обращения к памяти, поступающие от нескольких процессоров. Поскольку . имеется единственная память с одним и тем же временем досту- па, эти машины иногда называются UMA (Uniform Memory Access). Такой способ организации со сравнительно небольшой разделяемой памятью в настоящее время является наиболее по- пулярным. Требования, предъявляемые современными процессорами к полосе пропускания памяти, можно существенно сократить пу- тем использования больших многоуровневых кэшей. Тогда если эти требования снижаются, несколько процессоров смогут раз- делять доступ к одной и той же памяти. Начиная с 1980 г., эта идея, подкрепленная широким распространением микропроцес- 76
/ или несколько уровней или несколько уровней или несколько уровней или несколько уровней кэш-памяти кэш-памяти кэш-памяти кэш-памяти Основная память Подсистема ввода-вывода Рис. 2.9. Типовая архитектора мультипроцессорной системы с обшей памятью соров, стимулировала усилия многих разработчиков на создание небольших мультипроцессоров, в которых несколько процессо- ров разделяют одну физическую память, соединенную с ними с помощью разделяемой шины. Из-за малого размера процессоров и заметного сокращения требуемой полосы пропускания шины, достигнутого за счет возможности реализации достаточно боль- шой кэш-памяти, такие машины стали исключительно эффектив- ными по стоимости. В первых разработках подобного рода ма- шин удавалось разместить весь процессор и кэш на одной плате, вставляемой затем в заднюю панель, с помощью которой реали- зовывалась шинная архитектура. Современные конструкции по- зволяют разместить до четырех процессоров на одной плате. На рис. 2.9 показана схема именно такой машины. В этой машине кэши могут содержать как разделяемые, так и частные данные. Частные данные - это те, которые используют- ся одним процессором, в то время как разделяемые данные обра- батываются многими процессорами, по существу обеспечивая обмен между ними. Когда кэшируется элемент частных данных, их значение переносится в кэш для сокращения среднего времени доступа, а также требуемой полосы пропускания. Поскольку ни- какой другой процессор не использует эти данные, рассматрива- емый процесс идентичен процессу для однопроцессорной маши- 77
ны с кэш-памятью. Если кэшируются разделяемые данные, то разделяемое значение реплицируется и может содержаться в не- скольких кэшах. Кроме сокращения задержки доступа и требуе- мой полосы пропускания, такая репликация данных способству- ет также общему сокращению количества обменов. Однако кэ- ширование разделяемых данных вызывает новую проблему: когерентность кэш-памяти. Проблема, о которой идет речь, возникает из-за того, что зна- чение элемента данных в памяти, хранящееся в двух разных про- цессорах, доступно этим процессорам только через их индивиду- альные кэши. Проблема когерентности памяти для мультипроцессоров и устройств ввода-вывода имеет много аспектов. Обычно в малых мультипроцессорах используется аппаратный механизм, называ- емый протоколом и позволяющий решить эту проблему. Такие протоколы называются протоколами когерентности кэш-памя- ти. Существуют два класса таких протоколов: • протоколы на основе справочника (directory based). Инфор- мация о состоянии блока физической памяти содержится только в одном месте, называемом справочником (физически справоч- ник может быть распределен по узлам системы); • протоколы наблюдения (snooping). Каждый кэш, который со- держит копию данных некоторого блока физической памяти, име- ет также соответствующую копию служебной информации о его состоянии. Централизованная система записей отсутствует. Обыч- но кэши расположены на общей (разделяемой) шине и контролле- ры всех кэшей наблюдают за шиной (просматривают ее) для выяс- нения, не содержат ли они копию соответствующего блока. В мультипроцессорных системах, использующих микропро- цессоры с кэш-памятью, подсоединенные к централизованной общей памяти, протоколы наблюдения приобрели популярность, поскольку для опроса состояния кэшей они могут использовать заранее существующее физическое соединение - шину памяти. Неформально проблема когерентности памяти состоит в не- обходимости гарантировать, что любое считывание элемента данных возвращает последнее по времени записанное в него зна- чение. Это определение не совсем корректно, поскольку невоз- можно требовать, чтобы операция считывания мгновенно виде- ла значение, записанное в этот элемент данных некоторым дру- гим процессором. Если, например, операция записи на одном 78
процессоре предшествует операции чтения той же ячейки на дру- гом процессоре в пределах очень короткого интервала времени, то невозможно гарантировать, что чтение вернет записанное зна- чение данных, поскольку в этот момент времени записываемые данные могут даже не покинуть процессор. Вопрос о том, когда точно записываемое значение должно быть доступно процессо- ру, выполняющему чтение, определяется выбранной моделью согласованного (непротиворечивого) состояния памяти и связан с реализацией синхронизации параллельных вычислений. Поэто- му с целью упрощения предположим, что мы требуем только, чтобы записанное операцией записи значение было доступно операции чтения, возникшей немного позже записи, ц что опера- .. ции записи данного процессора всегда видны в порядке их вы- полнения. С этим простым определением согласованного состояния па- мяти мы можем гарантировать когерентность путем обеспечения двух свойств: операция чтения ячейки памяти одним процессором, которая следует за операцией записи в ту же ячейку памяти другим про- цессором, получит записанное значение, если операции чтения и записи достаточно разделены во времени; операции записи в одну и ту же ячейку памяти выполняются строго последовательно (иногда говорят, что они сериализова- ны): это означает, что две подряд идущие операции записи в одну и ту же ячейку памяти будут наблюдаться другими процессора- ми именно в том порядке, в котором они появляются в програм- ме процессора, выполняющего эти операции записи. Первое свойство, очевидно, связано с определением когерент- ного (согласованного) состояния памяти: если бы процессор все- гда считывал только старое значение данных, мы сказали бы, что память некогеррентна. Необходимость строго последовательного выполнения опе- раций записи является более тонким и очень важным свойством. Представим себе, что строго последовательное выполнение опе- раций записи не соблюдается. Тогда процессор Р1 может запи- сать данные в ячейку, а затем в эту ячейку поместит запись про- цессор Р2. Строго последовательное выполнение операций запи- си гарантирует два важных следствия для операций записи. Во-первых, оно гарантирует, что каждый процессор в машине в некоторый момент времени будет наблюдать запись, выполняе- 79
мую процессором Р2. Если последовательность операций записи не соблюдается, то может возникнуть ситуация, когда какой-ни- будь процессор будет наблюдать сначала операцию записи про- цессора Р2, а затем операцию записи процессора Р1, и будет хра- нить это записанное Р1 значение неограниченно долго. Более тонкая проблема возникает с поддержанием разумной модели порядка выполнения программ и когерентности памяти для пользователя: представьте, что третий процессор РЗ постоянно читает ту же самую ячейку памяти, в которую записывают процес- соры Р1 и Р2; он должен «наблюдать» сначала значение, записан- ное Р1, а затем значение, записанное Р2. Возможно, он никогда не сможет «увидеть» значение, записанное Р1, поскольку запись от Р2 возникла раньше чтения. Если он даже «видит» значение, запи- санное Р1, он должен «видеть» значение, записанное Р2, при пос- ледующем чтении. Подобным образом любой другой процессор, который может «наблюдать» за значениями, записываемыми как Р1, так и Р2, должен «видеть» идентичное поведение. Простейший способ добиться таких свойств заключается в строгом соблюде- нии порядка операций записи, чтобы все записи в одну и ту же ячейку могли «наблюдаться» в том же самом порядке. Это свой- ство называется последовательным выполнением (сериализацией) операций записи (write serialization). Вопрос о том, когда процес- сор должен «увидеть» значение, записанное другим процессором, достаточно сложен .и имеет заметное воздействие на производи- тельность, особенно в больших машинах. 2.6.3. МПС с локальной памятью и многомашинные системы Вторуютруппу машин составляют крупномасштабные систе- мы с распределенной памятью (рис. 2.10). Для того чтобы под- держивать большое количество процессоров, приходится распре- делять основную память между ними, в противном случае просто может не хватить полосы пропускания памяти для удов- летворения запросов, поступающих от очень большого числа про- цессоров. Естественно, при таком подходе также требуется реа- лизовать связь процессоров между собой. На рис. 2.10 показана структура такой системы. С ростом числа процессоров просто невозможно обойти необ- ходимость реализации модели распределенной памяти с высоко- 80
п Процессор кэш-память кэш-памят Процессор Процессор кэш-память Процессор кэш-памят Локаль- ная память Подсистема ввода- вывода Локаль- ная память Подсистема ввода- вывода Локаль- ная память Подсистема ввода- вывода Локаль- ная память Подсистема ввода- вывода Высокоскоростная сеть Локаль- ная память Подсистема ввода- вывода Локаль- ная память Подсистема ввода- вывода Локаль- ная память Подсистема ввода- вывода Локаль- ная память Подсистема ввода- вывода Процессор кэш-памят Процессор кэш-память кэш-памят Процессор кэш-памят Процессор Рис. 2.10. Типовая архитектура мультипроцессорной системы с распределенной памятью
скоростной сетью для связи процессоров. Вследствие быстрого роста производительности процессоров и связанного с этим ужес- точения требований к увеличению полосы пропускания памяти масштаб систем (т.е. число процессоров в системе), для которых необходима организация распределенной памяти, уменьшается, так же как и уменьшается число процессоров, которые удается под- держивать на одной разделяемой шине и общей памяти. Распределение памяти между отдельными узлами системы имеет два главных преимущества. Во-первых, это эффективный по стоимости способ увеличения полосы пропускания памяти, поскольку большинство обращений может выполняться парал- лельно к локальной памяти в каждом узле. Во-вторых, это умень- шает задержку обращения (время доступа) к локальной памяти. Эти два преимущества еще больше сокращают количество про- цессоров, для которых архитектура с распределенной памятью целесообразна. Обычно устройства ввода/вывода. так же как и память, рас- пределяются по узлам, и в действительности узлы могут состоять из небольшого числа (2-8) процессоров, соединенных между со- бой другим способом. Хотя такая кластеризация нескольких про- цессоров с памятью и сетевой интерфейс могут быть достаточно полезными с точки зрения эффективности в стоимостном выра- жении, это не очень существенно для понимания того, как такая машина работает, поэтому пока остановимся на системах с од- ним процессором на узел. Основное различие в архитектуре, ко- торое следует выделить в машинах с распределенной памятью, заключается в том, как осуществляется связь и какова логичес- кая модель памяти. Существуют два способа построения крупномасштабных си- стем с распределенной памятью. Простейший заключается в том, чтобы исключить аппаратные механизмы, обеспечивающие ко- герентность кэш-памяти, и сосредоточить внимание на создании масштабируемой системы памяти. Несколько компаний разра- ботали такого типа машины. Наиболее известным примером яв- ляется компьютер T3D компании Cray Research. В нем память распределяется между узлами (процессорными элементами) и все узлы соединяются между собой посредством того или иного типа сети. Доступ к памяти может быть локальным или удаленным. Специальные контроллеры, размещаемые в узлах сети, могут на основе анализа адреса обращения принять решение о том, нахо- 82
дятся ли требуемые данные в локальной памяти данного узла или размещаются в памяти удаленного узла. В последнем случае кон- троллеру удаленной памяти посылается сообщение для обраще- ния к требуемым данным. Чтобы обойти проблемы когерентности, разделяемые (общие) данные не кэшируются. Конечно, с помощью программного обес- печения можно реализовать некоторую схему кэширования этих данных путем их копирования из общего адресного пространства в локальную память конкретного узла. В этом случае когерент- ностью памяти также будет управлять программное обеспечение. Преимуществом такого подхода является практически минималь- ная необходимая поддержка со стороны аппаратуры, $отя нали- чие, например, таких возможностей, как блочное (групповое) ко- пирование данных было бы весьма полезным. Недостатком дан- ной организации является то, что механизмы программной поддержки когерентности подобного рода кэш-памяти компиля- тором весьма ограничены. Существующая в настоящее время методика в основном подходит для программ с хорошо структу- рированным параллелизмом на уровне программного цикла. Машины с архитектурой, подобной Cray T3D, называют процессорами (машинами) с массовым параллелизмом (МРР- Massively Parallel Processor). К ним предъявляются взаимно исклю- чающие требования. Чем больше объем устройства, тем большее число процессоров можно расположить в нем, тем длиннее кана- лы передачи управления и данных, а значит, и меньше тактовая частота. Наблюдаемое возрастание нормы массивности для боль- ших машин до 512 и даже 64К процессоров обусловлено не ростом размеров машины, а повышением степени интеграции схем, по- зволившей за последние годы резко повысить плотность размеще- ния элементов в устройствах. Топология сети обмена между про- цессорами в такого рода системах может быть различной. Для построения крупномасштабных систем альтернативой рассмотренному в предыдущем разделе протоколу наблюдения может служить протокол на основе справочника, который отсле- живает состояние кэшей. Такой подход предполагает, что логи- чески единый справочник хранит состояние каждого блока па- мяти, который может кэшироваться. В справочнике обычно со- держится информация о том, в каких кэшах имеются копии данного блока, модифицировался ли данный блок и т.д. В суще- ствующих реализациях этого направления справочник размеща- 83 «
ется рядом с памятью. Имеются также протоколы, в которых часть информации размещается в кэш-памяти. Положительной сторо- ной хранения всей информации в едином справочнике является простота протокола, связанная с тем, что вся необходимая ин- формация сосредоточена в одном месте. Недостатком такого рода справочников является его размер, который пропорционален общему объему памяти, а не размеру кэш-памяти. Это не состав- ляет проблемы для машин, состоящих, например, из нескольких сотен процессоров, поскольку связанные с реализацией такого справочника «накладные расходы» можно преодолеть. Но для машин большего размера необходима методика, позволяющая эффективно масштабировать структуру справочника. 2.7. Базовые архитектуры суперкомпьютеров 2.7.1. Суперкомпьютеры с параллельной обработкой Система Illiac 4. Эта система создана по совместному проекту Иллинойского университета и корпорации «Borroughs». В конст- рукции системы Illiac 4 нашли отражение идеи системы Solomon с некоторыми небольшими изменениями. 256 процессорных элемен- тов (ПЭ) системы Illiac 4 были подразделены на четыре квадранта по 64 ПЭ, причем каждый квадрант должен был управляться соб- ственным устройством управления (УУ). Весь комплекс из четы- рех квадрантов должен был управляться универсальным компью- тером (УК). Фактически был построен лишь один квадрант [4], [8]. Матричная система Illiac 4 (рис. 2.11) работает как специали- зированная приставка к универсальному компьютеру Borroughs 6500, который осуществляет интерфейс с пользователями, вычис- лительной сетью и архивной лазерной памятью. В системе В 6500, с которой связаны пользователи, содержатся основная операци- онная система, компиляторы, служебные и прикладные програм- мы, подсистема ввода-вывода. Программы пользователей ком- пилируются в код ассемблера матричной системы и пересылают- ся с необходимыми данными в ПЭ. Программы ПЭ выполняются параллельно по всей матрице. Работа матрицы осуществляется под воздействием УУ, а резуль- таты передаются пользователям через компьютер В 6500. 84
Рис. 2.11. Схема системы Illiac 4 Составляющие квадрант 64 ПЭ физически разбиваются на восемь групп по восемь ПЭ в каждой. Каждая группа связана с файловыми дисками двумя 64-разрядными каналами, так что общее число каналов по всей матрице равно 16. Этим объясняет- ся параллельная связь шириной 1024 бит. Емкость диска эквива- лентна 30 полным загрузкам процессорной матрицы Illiac 4. Система Illiac 4 является высокопроизводительной и ее связь с универсальным компьютером осуществляется быстрее, чем в обычном последовательном канале интерфейса. МРР-процессор фирмы Goodyear. Подобные процессоры (рис. 2.12) называют машинами с массовым параллелизмом (Massively Parallel Processor) [8]. Он был создан фирмой Goodyear Aerospace по контракту с NASA для обработки изображений, полученных со спутников. Весь блок массива состоит из 128 х 128 ПЭ с четырьмя избы- точными столбцами, введенными для увеличения надежности. Общий массив делится на 33 подмассива по 128 х 4 ПЭ. Каждая группа снабжена каналом включения-выключения, ведущим к управляющему устройству массива УУМ. 85
160 Мбайт/с Входной регистр УУПД-БМ 128 бит Выходной интерфейс Блок массива 128 бит 2 0) Выходной интерфейс 128x128 1Г160 Мбайт/с Переключатель Внешнее управление Устройство управления массивом Выходной регистр БМ-УУПД Устройство управления программами и данными (УУПД) 0,8 Мбайт/с О о Периферийные О устройства 6 Мбайт/с Внешний компьютер О----------- Рис, 2.12. Структура массивного параллельного процессора МРР Производительность процессора может составлять 109—10’° операций ц.секунду. Это возможно из-за большого числа ПЭ. 2.7.2.Суперкомпьютеры с конвейерной обработкой Суперкомпьютер Сгау-1 (рис. 2.13). Всего у него 12 функцио- нальных устройств [4, 8]. Они разделены на группы в зависимос- ти от типа выполняемых ими операций и адресуемых регистров. Сюда входят вычисление адресов, логические, скалярные и век- торные операции над целыми числами, операции с плавающей запятой над скалярами и векторами. Большинство простых опе- 86
рации центрального процессора выполняется за один такт, кото рый составляет 12,5 нс. Основные регистры Сгау-1 показаны на рис. 2.13. Векторные регистры V7 V6 V5___ V4 УЗ V2 F8c Скалярные регистры I АЧ 1 I ((Ah)+jkm) Ха (АО) А» Ак (Ah)+jkm) Командные буферы Векторное управление воо Буфер адресных регистров Управление^ обменом Адресные регистры | Сдвиг -| Логин. Сложение Вектор 00 И | Обратная |Умножение Сложение Плава- ющая запятая -I У1 Vk Vi Сдвиг Адреса [Умножение Сложение Адреса । Управление । 2 Исполнение Рис. 2.13. Функциональные блоки и регистры машины Сгау-1 ТОО /ДО) БУфер J скалярных регистров огич. Сложение Be ное лен VI Ai Ак 87
Производительность однопроцессорной машины Сгау-1 со- ставляет примерно 100-106 операций в секунду (100 Мфлоп/с). В более новых и более мощных моделях машин системы Cray, вы- пускаемых фирмой Silicon Grafics, использовались от 2 до 8 про- цессоров и производительность составляла от 1 до 2,5 Гфлопс. С 1998 г. фирма Silicon Grafics (SGI) приступила к выпуску векторной масштабируемой (т.е. с изменяемой конфигурацией) суперЭВМ серии Cray SV1. В суперкомпьютере используются векторные процессоры, пиковая производительность которых достигает 4 Гфлоп/с. Для заключенного в один корпус узла она составляет 32 Гфлоп/с. Общее число процессоров системы может быть больше 1000. Согласно планам, объявленным компанией, вслед за первым поколением Cray SV1 появится векторный масштабируемый су- перкомпьютер второго поколения, пиковая производительность которого составит десятки терафлопс. Суперкомпьютер Cray SV1. Рынок многопроцессорных век- торных (векторно-параллельных) суперкомпьютеров достаточно узок. На этом поле «играют» только избранные - прежде всего это американская компания SGI, производящая компьютеры с маркой Cray, и японские NEC и Fujitsu [17]. Все прогнозы об ухо- де компьютеров этой архитектуры с рынка пока не оправдались. Векторные процессоры NEC SX-5 и Cray SV1 по-прежнему зна- чительно опережают по производительности вычислений с пла- вающей запятой самые быстродействующие микропроцессоры. Cray SV1, последнее поколение векторных систем SGI/Cray, можно считать наследником мини-суперкомпьютеров Cray J90, представленных в 1994 г. Внешнйй вид суперЭВМ Cray SV1 представлен на рис. 2.14, а общая архитектура - на рис. 2.15. Ее анализ стоит начать с глав- ного достоинства SV1 - ее центрального процессора. Базовые процессоры SV1 имеют по два векторных конвейера, каждый из которых может выполнять две операции с плавающей запятой за один такт. При тактовой частоте в 250 МГц это дает производи- тельность 1 Гфлоп/с, что в пять раз выше, чем у 100-мегагерцево- го Cray J90, но по-прежнему уступает RISC-микропроцессорам. В 1999 г. появилась версия Cray SV 1 с 300-мегагерцевым процес- сором с производительностью уже 1,2 Гфлоп/с, но и это ниже, чем у некоторых RISC-микропроцессоров. 88
89
Однако из обычных процессоров Cray SV1 можно сконфигу- рировать так называемые многопоточные процессоры путем объединения 4 стандартных 2 конвейерных процессоров в один. При этом все векторные регистры отдельных процессоров ста- новятся общими, число конвейеров - равным 8, а пиковая произ- водительность - 4/4,8 Гфлоп/с для процессоров на 250/300 МГц соответственно. Вот это уже превышает возможности RISC-микропроцессо- ров, не перешагнувших границу 2 Гфлоп/с. Многопоточные про- цессоры побеждают по производительности также и Cray Т90 (1,8 Гфлоп/с), хотя сильно отстают от японских конкурентов - NEC SX-5 (8 Гфлоп/с) и Fujitsu VPP5000 (9,6 Гфлоп/с). Оценка производительности процессора SV1 на тестах LINPACK (536 Мфлоп/с при N = 100, 996 Мфлоп/с при N = 1000) подтверждает это соотношение. Не стоит забывать и об отношении стоимость/ производительность, которое для Cray SV 1 очень хорошее. Известно, что одним из основных преимуществ векторно-па- раллельных суперкомпьютеров перед многопроцессорными сис- темами на базе серийных RISC-микропроцессоров является го- раздо более высокая пропускная способность памяти. Резкое по- вышение производительности центрального процессора при сохранении пропускной способности оперативной памяти в Cray SV 1 делает эту характеристику потенциально узким местом. Длина строки кэша равна 8 байт, что эквивалентно одному элементу векторного регистра. Если в Cray J90 восемь вектор- ных регистров по 64 элемента в каждом, т.е. всего 512 элементов, то емкость векторного кэша SV1 - уже 32К элементов. Однако для оптимизации использования векторного кэша существующие векторные* приложения для компьютеров Cray предыдущих по- колений должны быть переработаны. На каждой процессорной плате размещается по 4 процессо- ра, которые разделяют общий интерфейс к оперативной памяти. На процессорной плате есть также интерфейс к каналу ввода/вы- вода GigaRing с пропускной способностью 1 Гбайт/с. Шкаф SV1 содержит систему с симметрично-многопроцессорной архитек- турой, основанной на коммутаторе 8x8 с конструктивом backplane. Его 8 портов используются для подсоединения 8 про- цессорных плат, а другие 8 портов - для подсоединения опера- тивной памяти. Соответственно SMP-система SV1 может масш- 90
табироваться до 32 двухконвейерных центральных процессоров. Общее число каналов GigaRing на систему может при этом дос- тигать 8. При конфигурировании многопоточных центральных процес- соров каждый такой 8-конвейерный процессор объединяет в себе 4 двухконвейерных - по одному из 4 разных процессорных плат (см. рис. 2.15). Поэтому многопоточный ЦП обменивается дан- ными с ОП сразу через 4 интерфейса ОП, и ПС ОП для такого ЦП составляет 25,6 Гбайт/с. В обычном шкафу SV1 можно сконфигурировать до 6 много- поточных процессоров плюс 8 обычных 2-конвейерных. Возмож- ность создания различных смешанных конфигураций, отличаю- щихся числом процессоров разных типов, позволяет*точно под- строить конфигурацию SV1 под конкретные особенности задач пользователя. Однако суммарная пиковая производительность SV1 при такой переконфигурации не меняется (до 32/38 Гфлоп/с при 250/300 МГц соответственно). Оперативная память SV1 построена по технологии DRAM и имеет емкость от 2 до 32 Гбайт. Она может включать 256, 512 и 1024 банка; соответственно максимальный уровень расслоения (чередования адресов) оперативной памяти, используемого для повышения ее пропускной способности, равен 1024. Кроме SMP-систем SV1, Silicon Graphics (SGI) предлагает так- же кластеры на их основе. Основным «строительным блоком» кластера являются 4-узловые системы. До 8 таких блоков можно объединить, доведя общее число процессоров до 1024 (192 мно- гопоточных). Это позволяет иметь суперкомпьютерную систему с емкостью оперативной памятью свыше 1 Тбайт и производи- тельностью свыше 1 Тфлоп/с (отметим, что самые мощные мас- сивно-параллельные системы, в том числе от самой SGI, этот ру- беж превзошли еще раньше). Такие высокие характеристики мас- штабирования векторных многопроцессорных систем - одна из наиболее привлекательных черт Cray SV 1, на что указывает и сама аббревиатура SV (Scalable Vector). Топология кластера может быть различной, но SGI предпо- лагает, что для «маленьких» конфигураций будут чаще исполь- зоваться соединения «точка-точка», а для больших - двухмерный тор. Cray SV1 использует воздушное охлаждение, но в кластер- ных конфигурациях возможно и водяное охлаждение. Стоимость минимальной конфигурации SV1-1A (восемь 2- конвейерных центральных процессоров) составляет 500 тыс. долл. 91
США, а такой же, но с возможностью расширения SV1-1 -1 млн. долл. США. Очевидно, что соотношение стоимость/производи- тельность для таких систем выглядит весьма привлекательно. 2.8. Ассоциативный процессор Отсутствие ассоциативных возможностей в фон-неймановс- кой архитектуре приводит к семантическому разрыву между ас- социативной моделью обращения пользователя и обращением по адресу на физическом уровне. Другими словами, необходимы дополнительные средства (т.е. система ссылок - индексов) для определения местонахождения искомых данных [8]. Рассмотрим пример из реальной жизни. Предположим, что в не- котором кинотеатре нужно «присматриваться к зрителям». Для это- го кассир должен вписать в план зрительного зала (который пред- ставляет собой ряды квадратов, соответствующие местам) имя вла- дельца билета (а не только лица, приобретшего билет). При такой системе учета в кинотеатре появится возможность в случае острой необходимости обнаружить требуемого человека во время просмот- ра фильма. Достаточно обратиться к администратору, сообщить ему имя нужного человека и в ответ получить номер ряда и места, на ко- тором сидит разыскиваемый зритель. Если это так, то можно (даже в темноте) добраться до указанного места и привлечь внимание нуж- ного зрителя. А что делать, если зритель поменялся с соседом или сел на другое свободное место? Если некоторые зрители опоздали к на- чалу сеанса и сели на первые попавшиеся свободные места? Инфор- мация, которой располагает администратор, окажется неверной, что приведет к ошибкам поиска. Если же у нас была бы система ассоциа- тивного доступа, мы просто объявили бы по радио имя разыскивае- мого зрителя. Может случиться, что в зале находятся несколько человек с нуж- ным именем (либо один или даже никого); аналогичная ситуация мо- жет иметь место и при поиске ячеек памяти, содержимое которых соот- ветствует поисковому признаку. Следовательно, нужно уметь обраба- тывать множественные отклики (многозначный ответ) системы. Приведенный пример хорошо поясняет принцип работы ас- социативной памяти, но с точки зрения затрат на реализацию эта аналогия не годится. Установка системы с громкоговорителем стоит, вероятно, не больше чем годовой оклад администратора. 92
А ассоциативная память стоит гораздо больше, чем адресуемая. Тем не менее в обоих случаях устранение ссылок и средств их поддержания значительно упрощает систему. Таким образом, в ассоциативной памяти параллельный по- иск идет сразу по большой группе ячеек и в итоге поисковому признаку может удовлетворять содержимое нескольких ячеек. Возможности выполнения различных видов поиска и разнообра- зие структур ассоциативной памяти объясняют, почему для обо- значения этого устройства существует так много синонимов: память с параллельным поиском, запоминающее устройство с мно- гозначным ответом, память с распределенной логикой, логико-за- поминающее устройство и т.д. Очевидно, что параллельный по- иск и другие свойства данной системы делают ее «интеллекту- альной» по сравнению с адресной памятью. Базовая структура пословно организованного ассоциативного процессора. Чтобы понять основное различие между ассоциатив- ным доступом и доступом по адресу, попробуем при адресном доступе найти нужную информацию, отказавшись от словаря ссы- лок. В простейшем случае придется просмотреть всю память, т.е. ассоциативность в этом случае обеспечивается полным перебо- ром. Для выполнения этой работы за приемлемое время ее обяза- тельно нужно распараллелить. Мы можем эмулировать этот про- цесс на машине фон-неймановской архитектуры с помощью цик- ла, обращаясь последовательно к ячейкам памяти и сравнивая их содержимое. Не будь ограничений по времени, можно было бы обойтись без ассоциативной памяти. Если в примере с кинотеат- ром строго придерживаться инструкции и всякий раз обращать- ся к таблице поиска, то не останется времени смотреть фильм. Этот пример объясняет, почему в современных системах обра- ботки данных все операции по обновлению информации осуще- ствляются ночью, а днем пользуются неизменными данными: иначе времени на обработку совсем не оставалось бы. Итак, параллельность, одновременность в работе - неотъем- лемое свойство ассоциативной памяти, что можно пояснить сле- дующим образом: • число элементов памяти большое (в примере с кинотеат- ром - много мест); • поиск идет по всем элементам сразу (в примере - путем объявления по радио). 93
Ассоциативным процессором (АП) называют ассоциативное запоминающее устройство, дополненное логикой и микропрог- раммным управлением [8]. На рис. 2.16 изображена структура пословно организованно- го АП. В основе архитектур таких процессоров лежит паралле- лизм на уровне слов, и в большинстве конфигураций обработка слов выполняется последовательно по разрядам. Множество слов образует ассоциативный массив, или ассоциативное запоминаю- щее устройство (АЗУ) пословно организованного ассоциативно- го процессора. Соответственно имеется по одному процессорно- му элементу (ПЭ) на каждое слово, так что весь разрядный срез может обрабатываться параллельно. Рис. 2.16. Базовая структура пословно организованного ассоциативного процессора Базовая структура пословно организованного АП содержит следующие подсистемы: • массив ассоциативной памяти; 94
• регистр компаранда (компаранд - признак, по которому ведется поиск в АЗУ; он записывается в регистр компарандов, затем пересылается в регистр маски); • регистр маски (выделяет указанный признак, остальные маскирует); • регистры хранения ответов; • регистры (буфер) ввода-вывода АЗУ; • маска (буфер) вывода слов (последовательно по словам выводит содержимое АЗУ); • соединительная сеть (используется для логической комби- нации полей в данной физической среде); • контроллер (управляет рассмотренными подсистемами). Массив ассоциативной памяти. Этот массив содержит тп х п- разрядных слов. При нечисловой обработке такая запоминаю- щая матрица размером тп х п - удобная среда для отображения двумерных логических структур, таких как матрицы, файлы и от- ношения. Каждая строка матрицы, каждая запись файла или каж- дый кортеж отношения соответствует слову ассоциативного мас- сива. Хотя в таких структурах и допускается переполнение с пе- реносом в следующие слова, типичная характеристика этих систем состоит в том, что каждое слово массива предназначается для одной строки, записи или кортежа соответствующих структур. Это объясняется несколькими причинами. Одной из них являют- ся физические ограничения реализации, связанные с длиной слов. Начиная с некоторой длины слова, в аппаратуре возникает про- блема шумов. Другая причина состоит в том, что периферийная аппаратура поиска массива ассоциативной памяти может выпол- нять одновременно лишь один поиск, если не вводить дорогос- тоящее дублирующее оборудование. Другая характеристика этих процессоров состоит в том, что поскольку операции выполняются в них пословно и поразрядно, они требуют высокой скорости чтения и записи. Это, в свою оче- редь, обусловливает выбор в качестве памяти статических запо- минающих устройств вместо более медленных, хотя и более ем- ких динамических. С этим типом памяти совместимы слова дли- ной 256, 1024 и даже 4096 бит (одна ячейка машины баз данных RAP.3 содержит основную память емкостью 2 Мбайта; ячейка в данном случае соответствует отдельному слову АП). При гори- зонтальных размерах такого порядка требуется вертикальный размер (или параллелизм по словам), соответствующий карди- нальному числу (т.е. числу записей файла или кортежей отноше- 95
ния) хранимой в них структуры. Чтобы выполнить соединение двух отношений, каждое из которых содержит 100000 кортежей, потребовалось бы 218 АП, имеющих АЗУ емкостью по 200000 слов. Но до сих пор ни разу не строились и даже не предлагались машины такого размера [8]. Регистр компаранда. В массиве АЗУ могут выполняться раз- личные комбинации операций поиска. Это означает, что можно сравнивать некоторое внешнее значение со всеми словами, хра- нимыми в АЗУ; можно сравнивать одно с другим два поля во всех словах; наконец, можно сравнивать некоторое поле выбранного слова с полями всех других слов. Но во всех этих случаях компа- ранд должен быть сначала введен в регистр компаранда, чтобы выполнить массовое сравнение (или сравнение типа SIMD), в котором одно значение сравнивается параллельно со множеством значений. При параллельном сравнении двух полей во всех сло- вах имеет место параллелизм другого типа, и самый эффектив- ный способ этого сравнения состоит в выполнении логической операции или операции вычитания между двумя полями в каж- дом слове, так что конечный результат является искомым резуль- татом сравнения. Таким образом, хотя данные, т.е. компаранды, в каждом слове различны, операция выполняется параллельно по словам и последовательно - по разрядным срезам. Длина регист- ра компаранда соответствует длине слова АЗУ. В типичном ре- жиме сравнения позиции разрядов компаранда, маски и слов АЗУ взаимно соответствуют. В общем случае в таком соответствии нет необходимости, поскольку можно направить некоторое поле компаранда для сравнения с полем, расположенным в другой об- ласти АЗУ. Регистр маски. Регистр маски можно рассматривать как про»- стой фильтр или селектор разрядов регистра компаранда. С по- мощью регистра маски указывается поле регистра компаранда, которое служит действительным компарандом. Все разряды, не входящие в указанный компаранд, маскируются (т.е. соответству- ющие разряды регистра маски устанавливаются в 0), в то время как разряды, соответствующие полю компаранда, устанавлива- ются в 1. ' Регистры хранения ответов. Обычно каждый регистр хране- ния ответов представляет собой множество триггеров, образую- щее одноразрядный двоичный вектор вдоль всего массива АЗУ. Один из этих регистров называется регистром меток {тегов) или 96
отклика и служит для индикации либо хранения результатов опе- раций над массивом. Выделенное слово АЗУ, т.е. слово, отмечен- ное единицей в регистре меток, обычно индицирует успешное окончание поиска или хранит результат логической операции (например, перенос в текущем шаге операции сложения). Второй регистр памяти ответов используется как временная рабочая об- ласть (или сверхоперативная память) при обработке данных или реализации логических функций. Третий регистр памяти ответов служит для выбора слов. Он указывает для каждого слова АЗУ, участвует ли оно в подлежащей выполнению операции. Если, например, в массиве АЗУ хранятся файлы А и В и мы хотим вы- полнить некоторую операцию над одним из этих файлов, то не- обходимо запретить обработку всех слов другого файла путем установки в 0 всех разрядов регистра выбора слов, соответству- ющих второму файлу. Регистры (или буфер) ввода-вывода АЗУ. Эти регистры игра- ют роль буфера при передаче данных в АЗУ или из него. Мани- пулирование данными может относиться к одному слову или рас- пространяться на весь массив. Последнее происходит обычно при загрузке и разгрузке АЗУ. В этом случае самое важное - выпол- нить эту операцию как можно быстрее. В самом деле, поскольку объем АЗУ относительно небольшой по сравнению с объемом подлежащих обработке данных, такие операции потребуется вы- полнять очень часто, и при этом массив АЗУ не должен долго бездействовать в ожидании ввода и вывода данных. Поэтому ис- пользуются специальные интерфейсы ввода-вывода, такие как диски с фиксированными головками и барабаны, в которых каж- дая головка (т.е. тракт) предназначается для одного слова АЗУ. Если массив АЗУ’ состоит из 256 слов, такой интерфейс обеспечи- вает параллельный канал шириной 256 бит, имеющий полосу пропускания, в 256/8 = 32 раза большую, чем полоса стандартно- го последовательного (по байтам) канала ввода-вывода. Маска (буфер) вывода слов. Этот буфер используется для последовательного по словам вывода содержимого АЗУ. Возмож- ность маскирования позволяет выбирать отдельные поля по тому же принципу, что и в регистре маски. Соединительная сеть. В рассматриваемом классе ассоциатив- ных процессоров соединительная сеть используется для логичес- ких комбинаций полей в данной физической среде, чтобы можно было выполнить требуемые операции. Иначе говоря, соедини- 7- 1X64 97 /
тельная сеть эмулирует на двумерном массиве АЗУ более слож- ные виды межпроцессорных соединений. Например, при обра- ботке изображений или геометрических фигур возможна работа с сеточными структурами, где необходимо соединение каждого элементами с четырьмя ближайшими соседями. Может потребо- ваться также сеть «идеальной тасовки» для сортировки, вычис- ления полиномов и т.д. Контроллер. Массив АЗУ и все уже рассмотренные схемы уп- равляются контроллером. Запрос пользователя транслируется в основной машине в базовые операции АП и посылается в кон- троллер. Контроллер имеет память для программ, реализующих базовые операции, и различные регистры, логику управления шиной, механизмы прерываний и арифметико-логическое устрой- ство для вычисления адресов и сдвига информации. Каждая кон- кретная система имеет собственную конструкцию контроллера. 2.9. Концепция ВС с управлением потоком данных Существуют трудности, связанные с решением проблемы ав- томатизации параллельного программирования, необходимой в целях эффективного использования для широкого круга задач мат- ричных ВС. Поэтому актуальны исследования новых методов по- строения высокопроизводительных ВС, в числе которых имеются ВС с управлением потоком данных, или потоковые ВС [4]. В таких системах данных предполагается наличие большого числа специализированных операционных блоков для определен- ных видов операций (сложения, умножения и т.п., отдельных для разных тиров данных). Данные снабжаются указателями типа данных (тегами), на основании которых по мере готовности дан- ных к обработке они загружаются в соответствующие свободные операционные блоки. При достаточном количестве операцион- ных блоков может быть достигнут высокий уровень распаралле- ливания вычислительного процесса. Во всех традиционных машинах и ВС порядок выполнения операций над данными при решении задачи строго детермини- рован, он однозначно определяется последовательностью команд программы. Принципиальное отличие потоковых машин состоит в том, что команды выполняются не в порядке следования команд в тек- 98
сте программы, а по мере готовности их операндов. Как только будут вычислены операнды команды, она готова захватывать свободное операционное устройство и выполнять предписанную ей операцию. В этом случае последовательность, в которой вы- полняются команды, уже не является детерминированной. Идея процессора, управляемого потоком данных, отображе- на на рис. 2.17. Ячейки команд КК Команда ОК ОУ ОУ Блок ОУ ОУ Рис. 2.17. Процессор с управлением потоком данных: КК - командный коммутатор; ОК - операционный коммутатор; ОУ - операционное устройство «Потоковая программа» размещается в массиве ячеек команд. Команда наряду с кодом операции содержит поля, куда заносят- ся готовые операнды, и поле, содержащее адреса команд, в кото- рые должен быть направлен в качестве операнда результат опе- рации. Кроме того, каждой команде поставлен в соответствие двухразрядный тег (располагаемый в управляющем устройстве), разряды которого устанавливаются в «1» при занесении в тело команды соответствующих операндов. В состоянии тега «11» (оба операнда готовы) инициируется запрос к операционному комму- татору (ОК) на передачу готовой команды в соответствующее 1* 99 и
коду операции операционное устройство. Результат выполнения команды над ее непосредственно адресуемыми операндами на- правляется через командный коммутатор (КК) согласно указан- ным в команде адресам в ячейки команд и помещается в их поля операндов. Далее указанная процедура циклически повторяется, причем управление этим процессом полностью децентрализова- но и не нуждается в счетчике команд. 2.10. Закон Амдала и его следствия Предположим, что в программе доля операций, которые нуж- но выполнять последовательно, равна f, где 0 < / < 1 (при этом доля понимается не по статическому числу строк кода, а по числу операций в процессе выполнения). Крайние случаи в зна- чениях f соответствуют полностью параллельным (/=0) и полно- стью последовательным (/=1) программам. Чтобы оценить, какое ускорение S может быть получено на компьютере из р про- цессоров при данном значении /, можно воспользоваться зако- ном Амдала [17]: 5<l/(/+(l-/)Zp). Если 9/10 программы исполняется параллельно, а 1/10 по-пре- жнему последовательно, то ускорение более чем в 10 раз полу- чить в принципе невозможно вне зависимости от качества реали- зации параллельной части кода и числа используемых процессо- ров (ясно, что 10 получается только в том случае, когда время исполнения параллельной части равно 0). Посмотрим на проблему с другой стороны: а какую же часть кода надо ускорить (а значит, и предварительно исследовать), чтобы получить заданное ускорение? Ответ можно найти в след- ствии из закона Амдала: чтобы ускорить выполнение програм- мы в q раз, необходимо ускорить не менее чем в q раз не менее чем (1-1/#)-ю часть программы. Следовательно, если есть жела- ние ускорить программу в 100 раз по сравнению с ее последова- тельным вариантом, то необходимо получить не меньшее уско- рение не менее чем на 99% кода, что почти всегда составляет зна- чительную часть программы! 100
Отсюда первый вывод: прежде чем основательно переделы- вать код для перехода на параллельный компьютер (а любой су- перкомпьютер, в частности, является таковым), надо основатель- но подумать. Если после оценки заложенного в программу алго- ритма выяснилось, что доля последовательных операций велика, то на значительное ускорение рассчитывать явно не приходится и нужно думать о замене отдельных компонент алгоритма. Словом, заставить параллельную вычислительную систему или супер-ЭВМ работать с максимальной эффективность на кон- кретной программе - задача не из простых, поскольку необходи- мо тщательное согласование структуры программ и алгоритмов с особенностями архитектуры параллельных вычислительных систем. Вопросы для самопроверки 1. В чем отличие числовой и нечисловой обработки данных? 2. В чем состоят ограничения фон-неймановской архитектуры? 3. В чем суть параллельной обработки данных? 4. Что такое конвейерная обработка данных? 5. Приведите примеры последовательных конвейеров. 6. Что такое «время разгона» конвейера? 7. В чем суть организации векторных конвейеров? 8. Что собой представляет классификация архитектур вычис- лительных систем? 9. Расскажите о мультипроцессорных системах с общей памятью. 10. Расскажите о мультипроцессорных системах с локальной памятью. 11. Перечислите базовые архитектуры суперкомпьютеров. 12. Расскажите об архитектуре современных векторных супер- компьютеров. 13. Что такое ассоциативная память и ассоциативный про- цессор? 14. Изложите концепцию вычислительных систем с управле- нием потоком данных. 15. Сформулируйте закон Амдала и поясните его следствия.
-------- Глава 3 -------- ВВЕДЕНИЕ В ТЕОРИЮ МАССОВОГО ОБСЛУЖИВАНИЯ И УПРАВЛЕНИЯ РЕСУРСАМИ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ 3.1. Основные понятия 3.1.1. Марковский случайный процесс Случайный процесс, протекающий в системе, называется мар- ковским, если для любого момента времени Zo вероятностные ха- рактеристики процесса в будущем зависят только от его состоя- ния в данный момент z и не зависят от того, когда и как система пришла в это состояние [3, 9, 14]. Пусть в настоящий момент Zo система находится в определен- ном состоянии 50 (рис. 3.1). f<f0 Прошлое Будущее *0 (S0) Настоящее Рис. 3.1. К понятию марковского случайного процесса Мы наблюдаем процесс со стороны и в момент Zo знаем состо- яние системы 50 и всю предысторию процесса, все, что было при t<t0. Нас интересует будущее (/>Z0). В точности предсказать его мы не можем, так как процесс случайный. Но мы можем найти 102
1 некоторые вероятностные характеристики процесса в будущем, например, вероятность того, что через некоторое время t систе- ма S' окажется в состоянии S, или сохранит состояние So, и т.д. Таким образом, если процесс марковский, то предсказывать мож- но, только учитывая настоящее состояние системы So и забыв о его предыстории. Само состояние So зависит от прошлого, но как только оно достигнуто, о прошлом можно забыть. Иначе форму- лируя, в марковском процессе «будущее зависит от прошлого только через настоящее». На практике марковские процессы в чистом виде обычно не встречаются, но нередко приходится иметь дело с процессами, для которых влиянием предыстории можно пренебречь. При их изучении можно с успехом применять марковские модели. В исследовании операций большое значение имеют так назы- ваемые марковские процессы с дискретным состоянием и непре- рывным временем. Процесс с непрерывным временем - это такой, у которого моменты возможных переходов из состояния в состо- яние не фиксированы заранее, а неопределенны, случайны, т.е. переход может осуществиться, в принципе, в любой момент. 3.1.2. Потоки событий Потоком сооытий называется последовательность однород- ных событий, следующих одно за другим в какие-то случайные моменты времени. Например, поток вызовов на телефонной стан- ции, поток сбоев ЭВМ. Поток событий можно наглядно изобразить рядом точек на оси времени Ot, причем положение их случайно (рис. 3.2). о Af- случайная величина Рис. 3.2. Поток событий Важной характеристикой потока событий является его интен- сивность X - среднее число событий, приходящееся на единицу времени. Интенсивность может быть как постоянной, так и пере- менной, зависящей от времени t. 103
Поток событий называется простейшим (или стационарным пуассоновским), если он обладает сразу тремя свойствами: ста- ционарен, ординарен и без последействия. Название простейший связано с тем, что процессы, связанные с такими потоками, име- ют наиболее простое математическое описание. Для простейшего потока с интенсивностью Л, интервал Т меж- ду событиями имеет так называемое показательное распределе- ние (рис. 3.3) [3], [9], [14]: Р(г) = 1-е“Х/ с плотностью f(t) = (t > 0). (3-1) Рис. 3.3. Показательное распределение Величина Л, в формуле (3.1) называется параметром показа- тельного закона. Если интервал Т между событиями Т< 1А, (3-2) то такой интервал называют коротким. Для простейшего потока характерно, что короткие интерва- лы между событиями более вероятны, чем длинные; около 63 % промежутков времени между событиями имеют длину меньше средней, равной 1/Х. Таким образом, предположение о действии 104
на ВС простейшего потока заявок создает более тяжелые усло- вия для ее работы, чем при других потоках, что юзволяет счи- тать результаты анализа ВС для простейших потоков заявок бо- лее надежными. В расчетах, связанных с потоками событий, очень удобно пользоваться понятием элемента вероятности. Рассмотрим на оси Ot простейший поток с интенсивностью X и произвольно распо- ложенный элементарный участок времени dt. Элементом вероят- ности называется вероятность попадания на этот участок хотя бы одного события потока: т.е. для простейшего потока элемент вероятности равен интенсив- ности потока, умноженной на длину элементарного участка. Эле- мент вероятности из-за отсутствия последействия совершенно не зависит от того, сколько событий и когда появлялись ранее. 3.1.3. Уравнения Колмогорова Пусть техническое устройство 5 состоит из двух узлов, каж- дый из которых в случайный момент времени может выйти из строя, после чего мгновенно начинается ремонт узла, тоже про- должающийся заранее неизвестное, случайное время. Возможные состояния системы можно перечислить: S' - оба узла исправны; S'. - первый узел ремонтируется, второй исправен; S, - второй узел ремонтируется, первый исправен; S3- оба узла ремонтируются. Переходы системы из состояния в состояние происходят прак- тически мгновенно, в случайные моменты выхода из строя того или другого узла или окончания ремонта. При анализе случайных процессов с дискретными состояния- ми удобно пользоваться графом состояний, в котором состояния системы изображаются окружностями, а возможные переходы из состояния в состояние - соединяющими их стрелками (рис. 3.4). Стрелка, направленная из S'obS'1, означает переход в момент отказа первого узла; стрелка, направленная обратно, из S'J в 50 - переход в момент окончания ремонта этого узла. Остальные стрелки объясняются аналогично. 105
Рис. 3.4. Граф состояний: X, ц - интенсивности потоков случайных событий Через ц. обозначена интенсивность ремонта /-го узла. Вероятностью /-го состояния называется вероятность P.(t) того, что в момент t система будет находиться в состоянии S.. Очевидно, что для любого момента сумма всех вероятностей со- стояний равна единице: (3.4) Имея в своем распоряжении размеченный граф состояний, можно найти все вероятности состояний Р.(/) как функции време- ни. Для этого составляются и решаются уравнения Колмогорова - особого вида дифференциальные уравнения, в которых неизвес- тными функциями являются вероятности состояний. Составим эти уравнения для заданной системы. Рассмотрим одну из вероятностей состояний, например PQ(t). Это вероятность того, что в момент t система будет в состоянии So. Придадим t малое приращение At и найдем PQ(t + Д/) - вероятность того, что в момент (t + Д/) система будет в состоянии £0. Произойти это может тремя способами: либо в момент t сис- тема уже была в состоянии So, а за время Д/ не вышла из него; либо в момент t система была в состоянии а за время Д? пере- шла из него в 50; либо в момент t система была в состоянии S2, а за время Д/ перешла из него в 50. 106
Рассмотрим первый вариант. Вероятность того, что в момент t система была в состоянии So, равна P0(t). Эту величину нужно умножить на вероятность того, что, будучи в момент t в состоя- нии So, система за время Д/ не перейдет из него в другое состоя- ние. Суммарный поток событий, выводящий систему из состоя- ния S будет простейший, с интенсивностью (X, + Х2). Значит, вероятность того, что за время Д/ система выйдет из состояния 50, равна (Х,+ Х2)ДГ; вероятность того, что не выйдет: (1-(Х+ХЭД0- Отсюда вероятность первого варианта равна Р (?)х Вероятность второго варианта равна (р, Д^Р (/)), третьего (ц2Д?Р2(0). Складывая вероятности всех вариантов, получим Р0(г+Дг)= Р0(г)[1-(Х, +Х2)Д/]+ ц,ДгР,(0+ |12ДгР2(г). (3.5) Раскроем квадратные скобки, перенесем Ро(/) в левую часть и разделим обе части на Д?: Р0(/ + Дг)-Р0(/) Дг = ~^о(О(^1 +^2) + ^>(0'Р2- (3.6) Устремив Дг к нулю, получим dP ~~ = Р{-pi +Р2-р.2 _fb ЧМ +^г)- (3-?) at Таким образом, мы получили первое уравнение Колмогоро- ва. Аналогично составляются и следующие уравнения. Сформулируем теперь общее правило составления уравнений Колмогорова. В левой части каждого из них стоит производная вероятности данного состояния; в правой части - сумма произ- ведений вероятностей всех состояний, из которых идут стрелки в данное состояние по времени, на интенсивности соответствую- щих потоков событий минус суммарная интенсивность всех по- токов, выводящих систему из данного состояния, умноженная на вероятность данного состояния. Пользуясь этим правилом, получим уравнения Колмогорова для рассмотренной системы S: 107
dlj dt - Д 'Hl + ^2 *H2 ~^b '(^1 + ^2)> (3-8) Чтобы решить эти уравнения и найти вероятности состояний, необходимо задать начальные условия. Правомерен вопрос: что будет происходить с вероятностями состояний при I, стремящемся к бесконечности? Будут ли P.(t) стремиться к каким-то пределам? Если эти пределы существуют и не зависят от начального состояния системы, то они называют- ся финальными вероятностями состояний. Если вероятности Р.(/) постоянны, то их производные равны нулю. Значит, чтобы найти финальные вероятности, нужно все левые части в уравнениях Колмогорова положить равными нулю и решить полученную систему уже не дифференциальных, а ли- нейных алгебраических уравнений. Для рассматриваемой систе- мы они будут выглядеть следующим образом: (3-9) Для решения этой системы необходимо воспользоваться нор- мировочным условием Р+Р +Р +Р = 1 3.2. Схема гибели и размножения % Особенность графа состояний для схемы гибели и размноже- ния (рис. 3.5) состоит в том, что все состояния системы можно вытянуть в одну цепочку, в которой каждое из средних состоя- ний (Sp S2,...,Sn,) связано прямой и обратной стрелкой с каждым из соседних состояний - правым и левым, а крайние состояния 108
S) — только с одним соседним состоянием. Термин схема ги- бели и размножения ведет начало от биологических задач, где по добным образом описывается изменение численности популяции. Рис. 3.5. Схема гибели и размножения Пользуясь графом рис. 3.5, составим и решим алгебраичес- кие уравнения для финальных вероятностей состояний. для первого узла (3.10) Для второго узла или 1) ЛИ.- с учетом (3.10) получим для второго узла Из соотношения 1 выразим Р через Ро: Р[ = • Ml (3.1 Г) Из соотношения 2 с учетом (3.11) получим Х2 _ М ‘ ^2 М2 Ml М2 (3.12) Очевидно, для третьего узла 3) Р2 X = Р3 • М2. 109
Тогда для вероятности Р, с учетом (3.12): Р1И2ИЗ (3.13) И вообще, для любого к (от 1 до п) М/с ’ Н/г—1 ’ • • • ’ Н1 (3.14) Таким образом, все вероятности состояний выражены через Ро. Подставив эти выражения в нормировочное условие (3.4) и вынеся Ро за скобку, получим: k Mi Ц1М2 М& ' Мл—1' • • •' Ml J (3.15) Полученные формулы очень полезны при решении простей- ших задач теории массового обслуживания. 3.3. Формула Литтла Теперь выведем одну важную формулу, связывающую сред- нее число заявок L , находящихся в системе массового обслу- живания, и среднее время пребывания заявки в системе fPctlcr Рассмотрим любую СМО и связанные с ней два потока событий: Х(0 - число заявок, прибывших в СМО до момента в У(0 - число заявок, покинувших СМО до момента I. И та, и другая функции являются случайными и меняются скачком (увеличиваются на единицу в моменты приходов и ухо- дов заявок) (рис. 3.6): обе линии - ступенчатые, верхняя - X(t), нижняя - Y(t). Очевидно, что для любого момента t их разность Z(ty=X(t)~ Y(f) есть не что иное, как число заявок, находящихся в СМО. Когда линии X(t) и Y(t) сливаются, в системе нет заявок. Рассмотрим очень большой промежуток времени Т и вычис- лим для него среднее число заявок, находящихся в СМО. Оно будет равно интегралу от функции Z(t) на этом промежутке, де- ленному на длину интервала Т: 110
Х(О 4 ио Рис. 3.6, К выводу формулы Литтла: * Y(t} - число заявок, прибывших (покинувших) СМО до момента t СИСТ р f Z(f)dt. 1 о (3.16) Интеграл J Z(t)dt представляет собой не что иное, как пло- 0 щадь фигуры, заштрихованной на рис. 3.6 и состоящей из прямо- угольников высотой, равной единице, и основанием t.. Поэтому можно считать, что J Z(t)dt = О i (3.17) где сумма распространяется на все заявки, пришедшие за время Т. Разделим правую и левую часть (3.17) на длину интервала Т, получим с учетом (3.16) (3-18) Разделим и умножим правую часть (3.18) на интенсивность X: СИСТ ~ (3.19) 111
Но величина Тк есть не что иное, как среднее число заявок. i л пришедших за время Т. Если разделим сумму всех времен ь г на среднее число заявок, то получим среднее время пребывания заявки в системе W . Итак, смет 7 сист /v ггсист> откуда W "СИСТ ^СИСТ* (3.20) Это и есть замечательная формула Литтла: для любой СМ О, при любом характере потока заявок, любом распределении вре- мени обслуживания, любой дисциплине обслуживания среднее время пребывания заявки в системе равно среднему числу заявок в системе, деленному на интенсивность потока заявок. Точно таким же образом выводим вторую формулу Литтла, связывающую среднее время пребывания заявки в очереди И/оч и среднее число заявок в очереди Лоч: W -—I ггоч ьоч- (3.21) 3.4. Простейшие системы массового обслуживания и их характеристики . Все потоки событий, переводящие СМО из состояния в со- - стояние, будем считать простейшими. Поток обслуживании - поток заявок, обслуживаемых одним непрерывно занятым кана- лом. В этом потоке интервал между событиями, как и всегда в простейшем потоке, имеет показательное распределение. 3.4.1. Многоканальные СМО с отказами Рассмотрим одну из первых по времени «классических» задач теории массового обслуживания; эта задача возникла из практи- ческих нужд телефонии и была решена в начале нашего века лат- 112
ским математиком Эрлангом. Задача ставится так: имеется н ка налов, на которые поступает оток заявок с интенсивностью < Поток обслуживания одним каналом имеет интенсивность ц (ве- личина; обратная среднему времени обслуживания /об). Найти финальные вероятности состояний СМО, а также характеристи- ки ее эффективности: А - абсолютную пропускную способность, т.е. среднее число заявок, обслуживаемых в единицу времени; Q - относительную пропускную способность, т.е. среднюю долю пришедших заявок, обслуживаемых системой; Ротк - вероятность отказа, т.е. того, что заявка покинет СМО необслуженной; к - среднее число занятых каналов. * Состояние 5 системы массового обслуживания будем нуме- ровать по числу заявок, находящихся в системе (в данном случае оно совпадает с числом занятых каналов): S - в СМО нет ни одной заявки; S - в СМО находится одна заявка (один канал занят, осталь- ные свободны); 5 - в СМО находится к заявок {к каналов заняты, остальные свободны) S - в СМО находятся п заявок (все п каналов заняты). Рис. 3.7. Граф состояний многоканальной СМО с отказами: S. .,Sn - состояния СМО; к - интенсивность потока; ц - поток обслуживания; к - среднее число занятых каналов; п - число каналов Разметим граф состояний (рис. 3.7) - проставим у стрелок интенсивности потоков событий. Интенсивности потоков X все одинаковы, что естественно, так как на СМО действует один и тот же внешний поток заявок на обслуживание. Интенсишн'сти g-1864 113
же потоков обслуживания увеличиваются с каждым занятым ка- налом. А теперь, зная все интенсивности, воспользуемся уже го- товыми формулами для финальных вероятностей в системе гибе- ли-размножения. Получим: где! обозначает факториал. Члены разложения М и’р” будут представлять собой ко- эффициенты при Ров выражениях для Р}, Pv...Pj (3.23) Заметим, что в формулы (3.22), (3.23) интенсивности X и ц вхо- дят не по отдельности, а только в виде отношения Х/ц. Обозначим * -=р (3.24) И и будем называть величину р приведенной интенсивностью по- тока заявок. Ее смысл - среднее число заявок, приходящее за сред- нее время обслуживания одной заявки. Пользуясь этим обозна- чением, перепишем формулы (3.22), (3.23) в виде: 114
(3.25) Формулы (3.25) для финальных вероятностей состояний на- зываются формулами Эрланга - в честь создателя теории массо- вого обслуживания. По финальным вероятностям можно вычислить характерис- тики эффективности СМО. Сначала найдем Рот - вероятность того, что пришедшая заявка получит отказ. Для этого нужно, чтобы все п каналов были заняты, значит, (3.26) Отсюда находим относительную пропускную способность - вероятность того, что заявка будет обслужена: С = 1-Ротк=1-£1-Р0. (3-27) п\ Абсолютную пропускную способность получим, умножая ин- тенсивность потока заявок X на Q\ (3.28) Таким образом, найдена интенсивность потока обслуженных системой заявок. Так как каждый занятый канал в единицу вре- мени обслуживает в среднем ц заявок, среднее число занятых ка- налов равно (3.29) 8* 115
3.4.2. Одноканальная СМО с неограниченной очередью На практике довольно часто встречаются одноканальные СМО с очередью (врач, обслуживающий пациентов; телефон-ав- томат с одной будкой; ЭВМ, выполняющая заказы пользовате- лей). Пусть имеется одноканальная СМО с очередью, на кото- рую не наложено никаких ограничений (ни по длине очереди, ни по времени ожидания). На эту СМО поступает поток заявок с интенсивностью X; поток обслуживаний имеет интенсивность |1, обратную среднему времени обслуживания заявки гоб. Требуется найти финальные вероятности состояний СМО, а также характе- ристики ее эффективности: £сист - среднее число заявок в системе; ^сист ~ среднее время пребывания заявки в системе; Ьоч - среднее число заявок в очереди; И^оч - среднее время пребывания заявки в очереди; Лан “ вероятность того, что канал занят (степень загрузки ка- нала). Что касается абсолютной пропускной способности А и отно- сительной Q, то вычислять их нет надобности: в силу того, что очередь не ограничена, каждая заявка раньше или позже будет обслужена, поэтому А =Х,. по той же причине Q= 1. Решение. Состояния системы будем нумеровать по числу зая- вок, находящихся в СМО: S() - канал свободен; 5, - канал занят, очереди нет; S2 - канал занят, одна заявка стоит в очереди и т.д. Теоретически число состояний ничем не ограничено (рис. 3.8). Рис. 3.8. Граф состояний одноканальной СМО с неограниченной очередью: So,Sk~ заявки на обслуживание; X- интенсивность потока заявок; ц - интенсивность потока обслуживаний 116
Это - схема гибели и размножения, но с бесконечным числом состояний. По всем стрелкам поток заявок с интенсивностью X переводит систему слева направо, а справа налево - поток обслу- живании с интенсивностью ц. Если X > ц, то канал с заявками не справляется, очередь растет до бесконечности. Если X < ц, то за- дача вполне разрешима. Воспользуемся формулами для финаль- ных вероятностей из схемы гибели и размножения и для беско- нечного числа состояний. Подсчитаем финальные вероятности: Р0 = (1+р+р2+...+р* + ...).’ (3.30) Ряд в формуле (3.30) представляет собой геометрическую про- ? грессию. При р<1 ряд сходится; при р > 1 ряд расходится. Теперь предположим, что условие сходимости выполнено и р<1. Сум- мируя прогрессию в (3.30), получаем 1 + р+р2+ ...= откуда Pq = 1 - р. (3.31) Вероятности Рр Р2,..., Рк,... найдутся по формулам: откуда с учетом (3.31) найдем окончательно: fj=p (l-p), /’2=р2(1-р),...,/’4=р*(1-р). (3.32) Как видно, вероятности Ро, Рр.. образуют геометрическую прогрессию со знаменателем р. Как ни странно, максимальная из них р - вероятность того, что канал будет вообще свободен. Как бы ни была загружена система с очередью, если только она вооб- ще справляется с потоком заявок, самое вероятное число заявок в системе будет равно нулю. Найдем среднее число Есист заявок в СМО. Случайная величи- на Z- число заявок в системе, имеет возможные значения 0,1,2,..., к,... с вероятностями Р, Р,..., Рк. Ее математическое ожидание со ^сист = 0 • 7() +1 • Pj + 2 • Р2 +... + А: • +... = к Р^. (3.33)
Подставим в (3.33) выражение для рк из (3.32): 00 00 Д'ИСТ = S ’ Р (l~P)=P’(l~p)’S^’P 1- k-l к=1 Произведение k-р*1 есть не что иное, как производная по р от выражения рА; значит, 00 /7 /7 00 4ист =р(1-р)-£—р =р(1-р)-— -• £р*. А=1«Р к=\ (334) Но сумма в (3.34) есть не что иное, как сумма бесконечно убы- вающей геометрической прогрессии с первым членом р и знаме- нателем р; эта сумма равна Подставляя это выражение в (3.34), получим: ее производная ------- (1-Р) сист ~ (3.35) Теперь применим формулу Литтла и найдем среднее время пребывания заявки в системе: "™ст = 2 О - Р)' (3-36) Найдем среднее число заявок в очереди Ьоч. Будем рассуждать так: число заявок в очереди равно числу заявок в системе минус число заявок, находящихся под обслуживанием. Значит (по пра- вилу сложения математических ожиданий), среднее число заявок в очереди Ьоч равно среднему числу заявок в системе L минус сред- нее число заявок под обслуживанием. Число заявок под обслужи- ванием может быть либо нулем (канал свободен), либо единицей (канал занят). Математическое ожидание такой случайной вели- чины равно вероятности того, что канал занят (Рзан). Очевидно, Р равно 1 минус вероятность того, что канал свободен: И JT1 ^зан Д ~ Р- (3.37) Следовательно, среднее число заявок под обслуживанием равно Дэб Р» (3.38) 118
ОТСЮДа Гоч ~ ^сист Р 1 Р’ 1-р * окончательно (3.39) 1-р По формуле Литтла найдем среднее время пребывания заяв- ки в очереди: (340) Таким образом, все характеристики эффективности/ЗМО най- дены. 3.4.3. Многоканальная СМО с неограниченной очередью Аналогично одноканальной СМО решается задача о много- канальной СМО с неограниченной очередью. Нумерация кана- лов - опять по числу заявок, находящихся в очереди: 5 - все каналы свободны; Sj - один канал занят, очереди нет; S. - занято два канала; X S - занято п каналов; 5 - заняты все п каналов, одна заявка стоит в очереди; 5л+г - заняты все п каналов, г заявок стоит в очереди; без очереди с очередью Рис. 3.9. Граф состояний многоканальной СМО с неограниченной очередью: обозначения см. к рис. 3.8 119
Граф состояний (рис. 3.9) есть схема гибели и размножения, но с бесконечным числом состояний. Естественное условие су- ществования финальных вероятностей - — < 1. Если — > 1, оче- п " р редь растет до бесконечности. Предположим, что условие — < 1 п выполнено и финальные вероятности существуют. Применяя фор- мулы для схемы гибели и размножения, найдем эти финальные вероятности. В выражении для Ро будет стоять ряд членов, содер- жащих факториалы, плюс сумма бесконечно убывающей геомет- рической прогрессии со знаменателем —. Суммируя ее, найдем п Л 2 п и+1 ft=(1+p+p_+...+p_+_p_______)-1 1! 2! п\ nl-(n-p) <Р = р р р =р! р р =р! р Л 1? ро>-,рк k]’po^pn (3.4!) _ Р"+1 _ Р”+Г л и! и'-и! Теперь найдем характеристики эффективности СМО. Из них т _ _ легче всего находится среднее число занятых каналов К ~ ~ ~ Р (это вообще справедливо для любой СМО с неограниченной оче- редью). Найдем среднее число заявок в системе Lciict и среднее чис- ло заявок в очереди L . Из них легче вычислить второе по фор- • со 04 * муле Гоч = % г Рп+г; выполняя соответствующие преобразования по образцу одноканальной СМО с неограниченной очередью, по- лучим: И+1 Р £оч=—(3.42) пп\- (1 — р/п) Прибавляя к нему среднее число заявок под обслуживанием (оно же - среднее число занятых каналов) к = р, получаем: (3.43) 120
Деля выражение для L игт и L на X, по формуле Литтла полу- чим средние времена пребывания заявки в очереди и в системе 04 и W - 04 11 спет сист • 3.5. Управление ресурсами вычислительных систем 3.5.1. Управление ресурсами однопроцессорных систем оперативной обработки данных Алгоритм SPT. В системах оперативной обработки в качестве основного критерия эффективности используется среднее время обслуживания заявок. Нетрудно видеть, что в случае, когда вре- мена решения задач априори известны, минимальное среднее вре- мя ответа дает алгоритм SPT (shortest-processing-task-first), назна- чающий задачи на решение в порядке убывания времени реше- ния t., т.е. Z] < z, < ... < tL. При этом время ответа и. для задачи z. есть и. - 'Llгде Lz- время ожидания, t. - собственно время реше- 1 i г • | L i ния и среднее время ответа есть и* = — £ £ z.. Покажем, что и* действительно минимальное значение сред- него времени обслуживания. Для того чтобы доказать, что и* дей- ствительно минимально среди и для всех перестановок, достаточ- но показать, что применение к произвольной перестановке (ааД любой парной транспозиции, меняющей местами эле- менты аЛ. и а,, где za, < zaA и 1>к, может лишь уменьшить исходное значение и, соответствующее перестановке (<хр...,аД, где а. - но- мер задачи, назначаемой на решение z-й по порядку, i=l,L. Дей- ствительно, пусть задачи с номерами и 0Lf поменялись местами. Тогда для полученной перестановки среднее время обслужива- ния 121
Нетрудно видеть, что u = C + ta (Z-£+1)+ZK (Z-/+1)>апотомУ так как 1>к,ъ. ta< tv.k. Следовательно, перемещение вперед зада- чи с меньшим временем решения приводит к уменьшению сред- него времени обслуживания. В перестановке (1,...,L) при условии, что <...< ltL, нельзя сделать ни одной такой улучшающей транс- позиции, а потому и* есть минимальное среднее время обслужи- вания и алгоритм SPT дает оптимальное решение рассматривае- мой задачи. Алгоритм RR. В реальных системах оперативной обработки априорная информация о временах решения задач, как правило, отсутствует. Чтобы воспользоваться принципами планирования на основе алгоритма SPT, в систему вводятся средства, обеспечи- вающие выявление коротких и длинных работ непосредственно в ходе вычислительного процесса. 122
Простейшее правило планирования работ, обеспечивающее выполнение указанного требования, задается алгоритмом цик- лического обслуживания, или, иначе, алгоритмом RR (Round- Robin), схема которого показана на рис. 3.10. Рис. 3.10. Циклическое обслуживание заданий Заявки на выполнение работ поступают с интенсивностью X в очередь О, откуда они выбираются и исполняются процессором Пр. Для обслуживания отдельной заявки отводится постоянный квант времени q, достаточный для выполнения нескольких тысяч операций. Если работа была выполнена за время q, она покидает систему. В противном случае она вновь поступает в конец очере- ди и ожидает предоставления ей очередного кванта процессор- ного времени. Оценим среднее время ожидания и пребывания работ в систе- ме с циклическим планированием. Воспользуемся для этого ап- паратом теории массового обслуживания. Для упрощения пос- ледующих выкладок предположим, что длительность кванта - не постоянная величина, а случайная, распределенная по экспонен- циальному закону с тем же средним значением q. Примем также, что на вход системы поступает простейший поток с интенсивно- стью X работ в единицу времени, и с вероятностями о или (1-а) работа не будет или соответственно будет завершена в текущем кванте. Из последнего предположения следует, что вероятность того, что работа будет выполнена точно за к квантов (не завер- шена за первые к-1 квантов и завершена в /<-м варианте), описы- вается геометрическим распределением Р= оА1(1-а), X = 1,2,... 123
со средним Таким образом, если известны средняя трудоемкость работ 0 и длительность q кванта, то среднее количество п квантов, с од- ной стороны, равно G/q, а с другой - полученному выше выраже- нию, т.е. откуда с = 1- — Я Определим среднее время ответа для работы J, требующей ровно т единиц времени обработки. Пусть т - наименьшее це- лое, при котором > т (т.е. т - число квантов, достаточное для обслуживания заявки). Рассмотрим состояние системы на момент поступления работы J. При поступлении работы J в системе в среднем находится W\ других работ. Значение Nx определяется как среднее число заявок в системе с бесприоритетным обслуживанием, на вход которой заявки поступают с интенсив- ностью Л= Z + Xo + Хо2+...+ Хо"+...= Х/(1-о) (с учетом интенсивности поступления заявок на дообслуживание в последующих тактах) и обслуживаются по экспоненциальному закону со средним q. Для определения W\ требуется найти рас- пределение вероятностей {Рк} того, что в очереди будет ровно к заявок. Тогда W = YkP.. 1 К Для определения рк составим систему алгебраических уравне- ний Колмогорова с помощью графа переходов (рис. 3.11). На этом рисунке S'. - состояние системы с i заявками в очереди (одна из них обслуживается). Тогда система уравнений имеет вид pi ~ ~ (М + Л)Л + l^i+i > pq =-ЛРо+Ц^1- 124
Рис. 3.11. Граф состояний (переходов): Л - интенсивность поступления заявок; ц - интенсивность обслуживания заявок; 5 - состояния системы Кроме того, требуется соблюдение условия нормировки f Рассмотрим установившийся режим, т.е. считаем, что t— Тогда вместо дифференциальных уравнений получаем алгебраи- ческие АР , - (ц+Л) Р + цР.+1= 0, i ~ 1,2,... Из второго уравнения выразим Р через Ро: Р, = Л/ц • Ро; подставим это значение в первое уравнение с /=1. Тогда (Л + р)Л „Л2 Ч' '2-------=> г2---------—/q. И ц Делаем индуктивное предположение: Рк = Р . Тогда из го уравнения получаем 125
откуда жение. Р , что подтверждает индуктивное предполо- Поэтому в соответствии с условием нормировки получим Ро=1-Р=>/1 =(1-р)р\ где р = На основании полученного выражения = 1кРк = £*(1-р)р‘ =р( 1-р) Ё V'1 = ^-4 = Л к=1 к=1 к=1 (1-р)2 1-р С учетом допущения об экспоненциальное™ распределения кванта q время дообслуживания работы J не зависит от этого момента и в среднем равно q. Таким образом, работа будет ожи- дать W единиц времени до получения первого кванта. За время W и первый квант выполнения работы J в систему поступит X новых работ. Кроме того, работ из их общего числа Wt вер- нутся обратно в очередь на довыполнение. Поэтому в следую- щем цикле работа J застанет в системе W2 работ: W= X W.q + \q + G W,. I 1 Подставляя в последнее выражение ранее полученное значе- ние Wv получаем _ Xgp + Xq-’kqp + op _^+ор_ р-ра + ра_ р НОШ" . IIJIII „ , — ~ Г П. 1 — р 1 — р 1— р В общем случае аналогично получаем W = X W.tq + Xq + g W.A = p/f 1-рЛ 126
Среднее время ожидания для работы J, время выполнения которой составляет тп квантов, равно = <fLWi = W^p/(l-p). /=1 Здесь среднее время ожидания <оп1 определяется как время, не- обходимое для обслуживания всех W. работ, стоящих впереди работы J в каждом из т циклов обслуживания. Среднее время ответа для работы J Um = +mq = tnq/(\-p), где р =Л^/(1-о) = kq/(q/ty = А0 - загрузка системы. Из выражения для времени ожидания coni видно, что время ожидания обслуживания возрастает с увеличением трудоемкос- ти т = mq задачи. В то же время при обслуживании задач в поряд- ке поступления без прерываний среднее время ожидания со не за- висит от трудоемкости и составляет Л р' ехле ло2 со = 6——— =----=------, ’ 1-р' 1—ле i-ле где р'= = 20. 6 - средняя трудоемкость. Сравним (о и C0m (0 zngp 0р' tnqAQ 620 _ 20 1-2 0~ 1-20~ 1-20 (wi<?-0). Из последнего выражения видно, что время ожидания длин- ных задач (mq>Q) больше, чем при обслуживании в порядке по- ступления, а время ожидания коротких задач (mq<6) - меньше времени ожидания в режиме без прерываний. Алгоритм FB. Для обеспечения еще более быстрой реакции системы на короткие работы в системах оперативной обработки используются алгоритмы многоуровневого циклического плани- рования. Одним из таких алгоритмов является алгоритм FB (foreground-background). Принцип его работы можно проиллюс- трировать схемой на рис. 3.12. 127
Очередь ON Рис. 3.12. Многоуровневая циклическая обработка заданий Заявки на выполнение работ поступают в очередь Ог Рабо- ты, стоящие в очереди О}, получают квант процессорного време- ни q. Если за это время работа была выполнена, то она покидает систему. В противном случае заявка на работу переносится в оче- редь О2, откуда она может быть занесена в очереди ОуОА,...,Оп. Очереди обслуживаются в следующем порядке. Если имеется хотя бы одна заявка в очереди О{, то эта заявка непременно обслужи- вается. Заявки из очереди О2 обслуживаются при условии, что нет заявок в очереди Ov Аналогично заявки из очереди О обслужи- ваются только в том случае, если все очереди О,,..., От} пусты. Заявка, достигшая последней очереди Оп, остается в ней до пол- ного завершения работы. Применяются модификации алгоритма FB, различающиеся по величине квантов времени, предоставляемых заявкам из раз- ных очередей. Возможно планирование на основе постоянной вели' чпы кванта или с использованием квантов переменной дли- тел чти, которая возрастает по мере увеличения номера оче- ред . i щна из таких модификаций - алгоритм планирования FB с уч. >м приоритетов работ. Работы, поступающие в систему, разделяются в зависимости от приоритетов 1, ..., п на л потоков 128
X.,X. Приоритеты задач относительны, т.е. поступление в си- стему заявки более высокого приоритета не прерывает процесс обработки менее приоритетных заявок, но при освобождении ресурса более приоритетные заявки будут назначены в первую очередь. Работы с высшим приоритетом поступают в очередь О}, а работы с низким приоритетом - в очередь Оп. Работам, выби- раемым на обслуживание из разных очередей, выделяются кван- ты времени различной длительности, причем заявкам из очереди О выделяется больший по продолжительности квант времени, чем заявкам из очереди От . т - 2,п. Приоритеты работам могут назначаться исходя из трудоем- кости последних. Если трудоемкости работ известны хотя бы приближенно, то работам с большой трудоемкостью присваива- ются низкие приоритеты и они сразу же поступают в очереди со- ответствующего приоритета, в которых получают большие кван- ты времени. В результате этого трудоемкие работы не будут за- держивать процесс выполнения менее трудоемких работ. Если трудоемкость работы была занижена, т.е. ее приоритет оказался завышен, то после окончания выделенного для нее кванта време- ни работа переместится в очередь следующего, более низкого приоритета. Алгоритм планирования с учетом приоритетов очень эффек- тивен для систем с ограниченной емкостью оперативной памяти, не позволяющей разместить в ней программы всех работ, выпол- няемых системой. В таком случае в оперативной памяти разме- щается только небольшая часть программ, а остальные програм- мы хранятся во внешней памяти - на магнитном диске. Все про- граммы циклически обслуживаются предоставлением им кванта процессорного времени, поэтому они вызываются в оперативную память поочередно, а, получив квант обслуживания^ удаляются из нее во внешнюю память. Процесс циклического завершения программ в оперативной памяти называется свопингом. Если си- стема работает со свопингом и все без исключения работы по- ступают в первую очередь, причем всем очередям выделяются одинаковые кванты времени, то затраты ресурсов системы на сво- пинг крайне большие. Для уменьшения непроизводительных зат- рат целесообразно трудоемкие работы сразу же размещать в оче- редях с низкими приоритетами и выделять им большие по дли- тельности кванты времени. —1864 129
Например, операционная система для малых ЭВМ ОСРВ обеспе- чивает две процедуры разделения времени - циклическое планирова- ние и вытеснение на диск.. Процедура циклического планирования через заданный интервал времени циклически перемещает указатель задач в таблице задач системы STD (system task directory) и объявля- ет значимое событие, в результате обработки которого происходит перепланирование задач. Планировщик выбирает для выполнения первую задачу из STD. Обычно интервал времени циклического пла- нирования устанавливается равным 0,1 с. Процедура вытеснения на диск перемещает временно на диск часть задач из основной памяти, освобождая тем самым место для более приоритетных задач. Необходимые условия для вытес- нения задачи: • задача должна быть установлена как вытесняемая; • на диске есть более приоритетная задача, для которой нет места в основной памяти; • задача не имеет незавершенных запросов ввода-вывода (кро- ме запроса ввода с терминала). При выполнении процедур вытеснения на диск записывают- ся область занимаемой задачей основной памяти и информация о текущем состоянии задачи, необходимая для продолжения ее работы. Разделение ресурсов задачами базируется на периоди- ческом уменьшении приоритетов задач, находящихся в основной памяти, и как только приоритет задачи в основной памяти ста- новится меньше приоритета задачи на диске, выполняется про- цедура вытеснения. Приоритетность программ для систем со свопингом может назначаться в соответствии с алгоритмом Корбато. Здесь апри- орно принимается следующее предположение: программы с боль- шей длиной - более трудоемкие. Исходя из этого предположения, приоритеты программам присваиваются на основе формулы где [х] - целая часть Х\ Ln - длина программы в байтах; L - число байтов, передаваемых между оперативной и внешней памя- тью за время q, равное минимальной длительности кванта. 130
Отношение L/L определяет число квантов времени, необхо- димых для загрузки программы в оперативную память и для вы- вода ее из оперативной памяти. Работа с приоритетом р заносит- ся в очередь О . Очередям с номерами р = 1, п выделяются кванты времени длительности где q - квант времени, выделяемый для работ из очереди Ог Таким образом, очередям О.О2, О3, О4,... соответствуют кван- ты времени q, 2q, 4q, 8q,... Увеличение кванта времени на выпол- нение работ с большой трудоемкостью способствует сокращению числа прерываний работы процессора и числа пересылок про- грамм между оперативной и внешней памятью. 3.5.2. Управление ресурсами МПС при обработке задач Обработка пакетов задач с прерываниями. Алгоритм Макно- тона. Рассмотрим систему с п идентичными процессорами, на которой необходимо решить L независимых задач; каждая зада- ча решается одним процессором в течение времени t., i = 1,..., L. Требуется найти алгоритм, который для каждого данного паке- та (набора) строил бы расписание решения задач на процессорах системы, обеспечивающее минимально возможное время реше- ния. При этом достигается максимально возможная производи- тельность системы. Например, в случае 2-процессорной системы и набора задач с временами (3, 3, 2, 2, 2) возможны различные варианты назначения задач на решение. Приведем некоторые из них (рис. 3.13). Очевидно, что наилучший в смысле минимизации общего вре- мени решения задач - вариант в, для которого время Т решения пакета задач совпадает с соответствующим оптимальным значе- нием То и в данном случае равно величине 0 = max {max t? 1/п X/.}. Величина 0 является нижней границей для оптимального зна- чения Т. Действительно, длина Т любого расписания не может 131
I a 0 5 10 T 15 6 2 1 0 e Рис. 3.13. Варианты расписаний решения задач быть меньше ни max t. - максимального из времен решения задач пакета П, ни величины (1/п ILt), дающей длину расписания в том случае, когда до момента завершения решения последней из за- дач пакета ни один процессор не простаивает, т.е. все процессо- ры имеют 100 % загруженности. В общем случае даже при п = 2 задача поиска оптимального значения Т при условии решения задач является NP-трудной, т.е. все известные алгоритмы ее решения имеют трудоемкость, экс- поненциалвно зависящую от L. Однако если допустить возмож- ность прерывания решения задач пакета до завершения их об- служивания, то могут быть предложены полиномиально-трудо- емкие алгоритмы, приводящие к расписанию оптимальной длины То. При этом считается, что после прерывания решение задачи может быть возобновлено с точки прерывания на любом процес- соре, не обязательно на том, на котором она первоначально ре- шалась. Число прерываний должно быть по возможности мень- шим, так как с каждым актом прерывания связаны потери ма- шинного времени на загрузку-выгрузку задач из оперативной памяти. 132
Рассмотрим предложенный Макнотоном в 1959 г. алгоритм построения оптимального по длине расписания с не более чем п-1 прерываниями. Алгоритм Макнотона заключается в предварительном упо- рядочении задач по убыванию времени решения и назначении задач последовательно по порядку номеров одну за другой на процессоры системы справа налево от уровня 0. Пример Пусть число процессоров и задач соответственно п—2 и L=4, времена решения задач: 5. 4. 3, 2. Тогда 0 = max {5,1/2 • (5+4+3+2)} = 7. Получено расписание в соответствии с алгоритмом Макно- тона (рис. 3.14). Рис. 3.14. Расписание по алгоритму Макнотона В данном случае число прерываний равно единице. Покажем, что н-1 (максимальное число прерываний для рас- писания, полученного в соответствии с алгоритмом Макнотона) является достижимой границей числа прерываний. Для доказательства этого построим такой пример пакета за- дач, для которого алгоритм Макнотона дает расписание с чис- лом прерываний /г-1. Пусть L=n+1 и t. — п, i=l, п+1. Тогда 0 = max {п, 1/п х (/г+1) • п = п+1, а расписание, получае- мое в соответствии с алгоритмом Макнотона, имеет вид, пока- занный на рис. 3.15. Число прерываний в этом случае, как видно, равно п-1, что и требовалось доказать. Покажем теперь, что любое оптимальное расписание для этого пакета задач также имеет не менее п-1 пре- рываний. Очевидно, что в любом оптимальном расписании ни один процессор не простаивает на интервале [0, /г+1]. Предполо- жим, что существует некоторое оптимальное расписание с чис- лом прерываний, меньшим п-1. Тогда по крайней мере 2 процес- сора (предположим для определенности, Рк и Р) обслуживают 133
Рис. 3.15. Расписание по алгоритму Макнотона заявки без прерываний. Очевидно, эти процессоры обслуживают некоторые задачи Z.k и Za в интервале [0, п] без прерываний (если выполнение этих задач начинается позже момента времени t - О, значит, до этого момента на этих процессорах решались некото- рые другие задачи, обработка которых прерывается в моменты начала решения задач Zik и Z.f Найдутся моменты времени t, t', такие, что n<t < f < п+1, ив интервале [Z, t'] хотя бы один процес- сор простаивает, а потому рассматриваемое решение не может быть оптимальным. Так как мы пришли к противоречию, делаем вывод о том, что предположение о числе прерываний, меньшем п-1, в оптималь- ном расписании ложно. Обработка пакетов независимых задач без прерываний. Рас- смотрим систему, содержащую п идентичных процессоров, на ко- торой необходимо решить без прерываний набор из L независи- мых задач с временами решения t., i-1,... ,L. Получение расписа- ния с минимальным временем решения и в этом случае является NP-трудной задачей. Один из наиболее эффективных и нетрудо- емких алгоритмов организации вычислений в этом случае - ал- Горитм LPT (longest-processing task first - самая длинная задача решается первой), являющийся частным случаем алгоритма кри- тического пути для независимых задач. Суть этого алгоритма заключается в назначении задач в порядке убывания времени ре- шения на освобождающиеся процессоры. Сотрудником фирмы Bell Laboratories, США, Грэхемом в 1967 г. был получен следую- щий результат. Теорема При использовании алгоритма LPT для распределения любо- го пакета П= {Z.} независимых задач без прерываний в системе с п идентичными процессорами справедливо утверждение: 134
т< (4/з-1/з«)т;, где Т - время решения пакета П при распределении задач алгоритмом LPT; Т - длина соответствующего оптимального расписания. 1 / Очевидно, То > - X h- ni=\ Приведенная оценка является наилучшей. 3.5.3. Управление ресурсами МПС в оперативном режиме < Для увеличения производительности в состав ВС может вво- диться несколько процессоров, способных функционировать па- раллельно во времени и независимо один от другого и наряду с тем взаимодействовать между собой и с другим оборудованием системы. ВС, содержащие несколько процессоров, связанных меж- ду собой и с общим для них комплектом внешних устройств, на- зываются мультипроцессорными системами (МПС). Производительность МПС увеличивается по сравнению с однопроцессорной системой в результате того, что мультипро- цессорная организация создает возможность для одновременной обработки нескольких задач или параллельной обработки раз- личных частей одной задачи. В ряде случаев требуется обеспечить непрерывность функци- онирования системы во времени. Это означает, что отказ в лю- бом устройстве ВС, в том числе и в процессоре, не должен приво- дить к катастрофическим последствиям, т.е. система должна со- хранять работоспособность и после отказа. В таком случае все устройства ВС должны быть по крайней мере задублированы, и система должна содержать не менее двух процессоров, т.е. стро- иться как МПС. Наиболее существен в структурной организации МПС спо- соб связи между процессорами и памятью системы. В этом аспек- те МПС разделяются на имеющие память общую (полнодоступ- ную) и индивидуальную (раздельную). МПС с общей памятью. В них каждый из процессоров имеет доступ к любому модулю памяти, которые могут функциониро- вать независимо один от другого, и в каждый момент времени мо- гут выполняться одновременные обращения для записи или чте- ния слова информации, число которых определяется числом мо- 135
дулей. Конфликтные ситуации (обращение к одному и тому же модулю памяти) разрешаются коммутатором, начинающим обслу- живать первым устройство с наибольшим приоритетом, например процессор с наименьшим номером. Каждый из процессоров мо- жет инициировать работу любого канала ввода/вывода. Структура МПС с общей памятью наиболее универсальна: любая информация, хранимая в памяти системы, в равной степе- ни доступна любому процессору и каналу ввода/вывода. Отри- цательное свойство МПС с общей памятью - большие затраты оборудования в коммутаторах (эти затраты пропорциональны произведению числа устройств, подключенных к памяти, и чис- ла модулей памяти). Будем рассматривать МПС с общей памятью, в которой раз- мещаются все программы и данные, используемые в процессе функ- ционирования системы. Такая организация типична для управля- ющих систем, жесткие ограничения на время реакции которых ис- ключают возможность размещения информации во внешней памяти. Будем считать, что в МПС используются одинаковые про- цессоры, т.е. МПС - однородная система. Наличие общей опера- тивной памяти, в которой размещается вся необходимая инфор- мация, и однородность системы позволяют выполнять любую про- грамму на любом процессоре, т.е. любой процессор может принять на обслуживание любую заявку. Режим работы МПС, при кото- ром каждый из процессоров может обслуживать любую заявку, называется режимом разделения нагрузки. При этом режиме каж- дый из N процессоров принимает на обслуживание N-ю часть зая- вок, т.е. /V-ю часть общей нагрузки. Модель МПС с общей памятью. Процесс обслуживания зая- вок в режиме разделения нагрузки можно рассматривать как про- у ,цесс функционирования одной многоканальной системы массо- вого обслуживания (рис. 3.16) с интенсивностью X входящего потока, общей очередью О, заявки из которой выбираются в по- рядке поступления их в систему, и средней длительностью обслу- живания заявки каждым из процессоров Прр..., ПрЛ,, равной 13. Заявка, поступающая в систему, содержащую N процессоров, при наличии хотя бы одного свободного процессора немедленно при- нимается последним на обслуживание. Если все процессоры за- няты обслуживанием ранее полученных заявок, поступающая за- явка размещается в очереди. Определим характеристики МПС на основе модели рис. 3.16. 136
Рис. 3.16. МПС с общей памятью: Пр1,..., Прл - процессоры Пусть в МПС поступает М потоков с интенсивностями X.,..., Хм. Обслуживание заявок сводится к выполнению соответствую- щих программ, средние трудоемкости которых равны 0р ...,0 операций в расчете на один прогон программы. Примем, что об- служивание заявок выполняется на основе дисциплины FIFO. В таком случае можно считать, что система обслуживает однород- ный поток заявок, поступающих с интенсивностью Л/ Л = 1—1 (3.45) Для обслуживания любой заявки из суммарного потока тре- буется в среднем м 0 = £(VA)0z i ~1 (3.46) процессорных операций. Примем, что заявка, поступившая на обслуживание, захваты- вает процессор до полного завершения обслуживания. В таком 137
случае средняя длительность обслуживания заявки процессором с быстродействием В равна О = 0/Z? и интенсивность обслужива- ния заявок одним процессором ц = 1/0. Параметры системы П, N и О = GIB должны отвечать условию существования стационарного режима, при котором в очереди пребывает конечное число заявок и, следовательно, конечны вре- мена ожидания и пребывания заявок. На каждый из процессоров поступает N-я доля заявок, следовательно, отдельный процессор обслуживает поток с интенсивностью K1N. Загрузка процессора р = (Л INJ& = Л = Л/цЕ, (3-47) где р^. =Лр. - суммарная интенсивность обслуживания заявок ^процессор- ной системой. Стационарный режим существует, если р < 1. Следовательно, параметры МПС должны отвечать соотношению 10/(TVB)< 1. Характеристики системы можно получить в явной аналити- ческой форме, если принять предположение о том, что входящий поток заявок - пуассоновский и длительность обслуживания рас- пределена по экспоненциальному закону со средним О. В теории массового обслуживания доказывается, что при ука- занных предположениях вероятность пребывания в системе Л=0, 1,2,... заявок, обслуживаемых процессорами и стоящих в очереди, вероятность того, что в системе нет ни одной заявки, т.е. все N процессоров простаивают; R - суммарная загрузка TV-каналь- ной системы, равная R = Л/р, = ЛЛ/Лр. = Лр. (3.50) 138
Суммарная загрузка R в отношении TV-канальной системы массового обслуживания определяет среднее число каналов, ко- ставить в виде при 0<п < N; (3-51) при п > N, (3-52) где р = A/(NjU) - загрузка процессора //-процессорной системы. Р 2 4 6 8 л Рис. 3.17. Характер изменения вероятностей в 4-процессорной системе в зависимости от суммарной загрузки R: п - число заявок 139
Распределение числа заявок в системе (рис. 3.17) носит уни- модальный характер, причем с увеличением загрузки максималь- ное значение Рп сдвигается в сторону больших N. Распределение (3.51) содержит всю информацию, необходимую для определения характеристик МПС. Среднюю длину очереди заявок, ожидаю- щих обслуживания в N-процессорной системе, находим исходя из (3.51) как математическое ожидание случайной величины i=n~N>0, равной числу заявок в очереди: 00 00 NN к .и NN м £ / I = 2 = S <^0 р"+' = Ро рл Z Ф' = 1=1 2=1 7V • " l~i ЛгЛ'-1 Л’+l W P О ---------------770 (A' l)!(l p>2 (3.53) где Po определяется no (3.52). Среднее число заявок, пребывающих в системе: т = I + R, (3.54) где I - среднее число заявок, находящихся в очереди и определяемое по (3.53); R - суммарная загрузка МПС, определяемая из формулы (3.50). Для систем без потерь заявок среднее время ожидания и среднее время пребывания заявок в системе равны соответственно w=//A и и=т!К. Подставляя в эти соотношения выражения (3.53) и (3.54), получим: NN~xpN w =---------- р0; (W !(1 - Р Г и = w+O = vv+ 1/jl, или, С использованием (3.50), (3.55) (3.56) p(N-l)KN-A)2 Р° (3.57) 140
Одна из важных характеристик системы - вероятность нену- левого ожидания заявок Рт (w>0), т.е. вероятность того, что в момент поступления очередной заявки все N процессоров заня- ты обслуживанием. Эта вероятность 00 Pr (W>O)= Pr(n>N) = Z Р„ =Р0 п=Х N^_ ™ п_ N^_ р W! ,,Г„₽ “ №(1-р) 0 (3.58) Из сравнения (3.55) и (3.58) вытекает следующее выражение для среднего времени ожидания заявок: w = Pr (и >0)/[^(1-р)]. (3-59) В свою очередь, вероятность нулевого ожидания заявок, т.е. вероятность того, что з момент поступления заявки хотя бы один процессор свободен, равна Р( и’ = 0) = l-P/w > 0). МПС с индивидуальной памятью. В таких МПС каждый из процессоров обращается в основном к своему модулю памяти. Для обмена данными между подсистемами «процессор - модуль памяти» в процессорах предусмотрены блоки обмена, обеспечи- вающие передачу сегментов информации между общей памятью и модулем памяти. При этом блок обмена может работать как селекторный канал: операция обмена инициируется процессором и передача данных выполняется с параллельной работой после- днего. Принцип индивидуальной памяти позволяет исключить коммутаторы в интенсивно используемом канале «процессор - модуль памяти», вследствие чего увеличивается номинальное быстродействие процессоров и уменьшаются затраты оборудо- вания по сравнению с общей памятью. Отрицательным послед- ствием разделения памяти между процессорами является потеря ресурсов быстродействия в процессе обмена информацией меж- ду модулями памяти и общей памятью системы. Потери возника- ют, во-первых, из-за возможных приостановок работы процес- соров для ожидания моментов окончания обмена данными с об- щей памятью и, во-вторых, из-за дополнительной загрузки модулей памяти операциями обмена. 141
Если класс задач, решение которых возлагается на МПС, та- ков, что работа каждого процессора связана с использованием в основном ограниченного подмножества данных и обращение к остальным данным происходит сравнительно редко, то индиви- дуализация памяти приводит к экономии оборудования и обес- печивает высокое номинальное быстродействие процессоров в системе. В противном случае, когда каждый из процессоров по- чти равновероятно обращается к любому сегменту данных, МПС должна строиться по схеме с общей памятью, исключающей не- обходимость в обмене информацией между модулями памяти. В МПС с индивидуальной памятью множество программ об- служивания и связанных с ними данных Р-{Рр...,Рм} разделяет- ся на подмножества бр..., QN> Qi= (Л»»—£ Р , N)> раз- мещаемые в памяти соответствующих процессоров Пр(,..., ПрЛ,. В результате этого каждый из процессоров ориентируется на об- служивание заявок определенных типов, а именно тех, програм- мы обслуживания которых размещены в памяти процессора. Ре- жим работы МПС, при котором каждый из процессоров обслу- живает заявки определенных типов и не может обслуживать заявки других типов, называется режимом разделения функций. Рис. 3.18. МПС с индивидуальной памятью: Пр(,..., ПрЛ,- процессоры 142
Модель МПС с индивидуальной памятью. В наиболее простом случае процессоры обмениваются информацией с общей памя- тью или количество информации, передаваемой при обменах, может быть столь незначительно, что допустимо пренебречь вли- янием процессов обмена на процесс обслуживания заявок. В таком случае можно считать, что процессоры функционируют не- зависимо и работу TV-процессорной системы в режиме разделе- ния функций можно рассматривать как процесс функционирова- ния Nодноканальных систем массового обслуживания (рис. 3.18). Каждая из систем массового обслуживания состоит из потока заявок, поступающих с интенсивностью X., очереди О. и процес- сора Пр.. J Для этой модели характеристики обслуживания заявок каж- дого типа могут быть вычислены в предположении, что входя- щие потоки - пуассоновские, при произвольном распределении длительностей обслуживания и различных дисциплинах обслу- живания заявок. В частности, при экспоненциальном распреде- лении длительности обслуживания и дисциплине FIFO среднее время ожидания заявок в системе с номером i = 1,..., TV и загруз- кой р = 1 равно. w,. ^ру/а-р,)»,-, среднее время пребывания заявок щ = Wi + = [1 /(1 - pz )]9Z, (3.60) (3-61) среднее число заявок в очереди 4 - wi ~ Pi /0 ~Pi) и среднее число заявок в системе Щ = Ц- -Хг- = р, /(1 -рг ). МПС как целый объект обслуживает суммарный поток зая- вок, поступающий на вход системы с интенсивностью Заявка из суммарного потока с вероятностью Х7Л будет ожи- дать обслуживания в среднем W. единиц времени. С учетом этого среднее время ожидания заявки из суммарного потока определя- ется выражением 143
W=Y,()4/X)wl. l-l (3.62) Аналогично среднее время пребывания заявки в системе lZ = f(Xi/A>//. f=l (3.63) Рассмотрим случай, когда каждый из процессоров обслужи- вает точно N-ю часть суммарного потока заявок и средняя дли- тельность обслуживания одинакова для всех процессоров и рав- на гЗ. В таком случае 1, =... = 1^ = Л/л и pj =... = pv = р. При равно- мерном распределении нагрузки из (3.62) и (3.60), а также из (3.63) и (3.61) следует, что средние времена ожидания и пребывания за- явок равны соответственно lF=[p/(l-p)P; t/ = [l/(l-p)]3. (3.64) (3.65) Рассмотренные в этой главе вопросы управления ресурсами вычислительных систем позволяют оптимизировать их произво- дительность и эффективность обработки информации. Вопросы для самопроверки 1. Что такое марковский случайный процесс? 2. Что называют потоками случайных событий? 3. Какие функциональные зависимости описывают уравнения Колмогорова? 4. Нарисуйте граф схемы «гибели и размножения». 5. Напишите и объясните формулу Литтла. 6. В чем состоит задача Эрланга? Нарисуйте граф СМО по задаче Эрланга. 7. Нарисуйте и объясните граф одноканальной СМО с не- ограниченной очередью. 144
8. Нарисуйте и объясните граф многоканальной СМО с не- ограниченной очередью. 9. Что используется в системах оперативной обработки в ка- честве критерия эффективности? 10. Как назначаются задачи на решение в алгоритме SPT? 11. В чем суть алгоритма RR? 12. В чем суть алгоритма FB? 13. В чем заключается алгоритм Макнотона? 14. Как вычисляется оптимальное время 0 решения задач в алгоритме Макнотона? 15. Чем алгоритм Макнотона отличается от алгоритма LPT? 16. Как строятся мультипроцессорные системы с общей па- мятью? 17. Как строятся мультипроцессорные системы с индивиду- альной памятью? 18. Какие преимущества имеет структура МПС с общей памя- тью перед МПС с индивидуальной памятью? 10-1864
---- Глава 4 ----- КОМПЬЮТЕРНЫЕ СЕТИ Распределенные вычислительные сети (ВС) создаются с целью объединения информационных ресурсов нескольких компьюте- ров (под словом «несколько» понимается от двух до миллионов компьютеров). Ресурсы компьютера - это прежде всего память, в которой хранится информация, и производительность процессо- ра (процессоров), определяющая скорость обработки данных. Поэтому в распределенных системах общая память и производи- тельность системы как бы распределены между входящими в нее ЭВМ. Совместное использование общйх ресурсов сети породило такие понятия и методы как распределенные базы и банки данных, распределенная обработка данных. В концептуальном плане вычислительные сети, как и отдельные компьютеры, явля- ются средством осуществления информационных технологий и процессов. Вычислительные сети принято подразделять на два класса: локальные вычислительные сети (ЛВС) и глобальные вычисли- тельные сети (ГВС) [10]. Под локальной вычислительной сетью понимают распределен- ную ВС, в которой передача данных между компьютерами не тре- бует специальных устройств, а достаточно электрического соеди- нения компьютеров с помощью кабелей и разъемов. Так как элек- трический сигнал ослабевает (уменьшается его мощность) при передаче по кабелю, причем тем сильнее, чем протяженнее ка- бель, то, естественно, длина проводов, соединяющих компьюте- ры, ограничена. Поэтому ЛВС объединяют компьютеры, лока- лизованные на весьма ограниченном пространстве. Обычно дли- на кабеля, по которому передаются данные между компьютерами, не должна превышать в лучшем случае 1 км. Указанные ограни- чения обусловили расположение компьютеров ЛВС в одном здании или в рядом стоящих зданиях. Обычно службы управле- ния предприятий так и расположены, что и определило широкое использование в них для реализации процессов обмена именно ЛВС. 146
ГВС объединяют ресурсы компьютеров, расположенных на значительном удалении, таком, что простым кабельным соеди- нением не обойтись и приходится добавлять в межкомпьютер- ные соединения специальные устройства, позволяющие передать данные без искажения и по назначению. Эти устройства комму- тируют (соединяют, переключают) между собой компьютеры сети и в зависимости от ее конфигурации могут быть как пассивными коммутаторами, соединяющими кабели, так и достаточно мощ- ными ЭВМ, выполняющими логические функции' выбора крат- чайших маршрутов передачи данных. В ГВС, помимо кабельных линий, применяют и другие среды передачи данных. Большие расстояния, на которые передаются данные в глобальных сетях, требуют особого внимания к процедуре передачи цифровой ин- формации, с тем чтобы посланные в сети данные дошли до ком- пьютера-получателя в полном и неискаженном виде. В ГВС ком- пьютеры отдалены один от другого на расстоянии не менее 1 км и объединяют ресурсные возможности компьютеров в рамках района (округа) города или сельской местности, региона, стра- ны и т.д. Отдельные ЛВС и ГВС могут объединяться, и тогда возни- кает сложная сеть, которую называют распределенной сетью. Таким образом, в общем виде вычислительные сети представ- ляют собой систему компьютеров, объединенных линиями связи и специальными устройствами, позволяющими передавать без искажения и переключать между компьютерами потоки данных. Линии связи вместе с устройствами передачи и приема данных называют каналами связи, а устройства, производящие переклю- чения потоков данных в сети, можно определить одним общим названием - узлы коммутации. 4.1. Базовые топологии локальных компьютерных сетей Термин топология сетей характеризует физическое располо- жение компьютеров, узлов коммутации и каналов связи в сети. Проблема синтеза структуры (топологии) сети является од- ной из важнейших, но до конца не решенной, в связи с чем при решении задач определения числа и взаимосвязи компонентов сети используются приближенные, эмпирические методы. 10* 147
Все сети строятся на основе трех базовых топологий [1]: • звезда (star), • кольцо (ring), • шина (bus). Топология звезда характерна тем, что в ней все узлы соедине- ны с одним центральным узлом (рис. 4.1). Подобная структура экономична и удобна в отношении организации управления взаимодействия компьютеров (абонен- тов). Звездообразную сеть легко расширить, поскольку для до- бавления нового компьютера нужен только один новый канал связи. Существенным недостатком звездообразной топологии является низкая надежность: при отказе центрального узла вы- ходит из строя вся сеть. В топологии кольцо компьютеры подключаются к повторите- лям (репитерам) сигналов, связанных в однонаправленное коль- цо (рис. 4.2). Рис. 4.1. Звездообразная топология сети 148
Рис. 4.2. Кольцевая топология сети По методу доступа к каналу связи (среде передачи данных) различают два основных типа кольцевых сетей: маркерное и так- тированное кольца. В маркерных кольцевых сетях по кольцу передается специаль- ный управляющий маркер (метка), разрешающий передачу сооб- щений из компьютера, который им «владеет». Если компьютер получил маркер и у него есть сообщение для передачи, то он «зах- ватывает» маркер и передает сообщение в кольцо. Данные про- ходят через все повторители, пока не окажутся на том повтори- теле, к которому подключен компьютер с адресом, указанным в данных. Получив подтверждение, передающий компьютер созда- ет новый маркер и возвращает его в сеть. При отсутствии у ком- пьютера сообщения для передачи он пропускает движущийся по кольцу маркер. В тактированном кольце по сети непрерывно вращается зам- кнутая последовательность тактов - специально закодированных интервалов фиксированной длины. В каждом такте имеется бит- 149
указатель занятости. Свободные такты могут заполняться пере- даваемыми сообщениями по мере необходимости либо за каж- дым узлом могут закрепляться определенные такты. Достоинством кольцевых сетей считаются равенство компью- теров по доступу к сети и высокая расширяемость. К недостат- кам можно отнести выход из строя всей сета при выходе из строя одного повторителя и остановку работы сети при изменении ее конфигурации. В топологии шина, широко применяемой в локальных сетях, все компьютеры подключены к единому каналу связи с помощью трансиверов (приемо-передатчиков) (рис. 4.3). Терминатор Рис. 4.3. Шинная топология сети Канал оканчивается с двух сторон пассивными терминатора- ми, поглощающими передаваемые сигналы. Данные от передаю- щего компьютера направляются всем компьютерам сети, однако • воспринимаются только тем компьютером, адрес которого ука- зан в передаваемом сообщении. Причем в каждый момент толь- ко один компьютер может веста передачу. Шина - пассивная топология. Это означает, что компьютеры только «слушают» передаваемые по сети данные, но не переме- щают их от отправителя к получателю. Поэтому если один ком- пьютер выйдет из строя, это не скажется на работе остальных, что является достоинством шинной топологии. В активных топологиях компьютеры регенерируют сигналы и передают их по сети (как повторители компьютеров в кольце- вой топологии). Другие достоинства «шины» - высокая расши- ряемость и экономичность в организации каналов связи. 150
сл Рис. 4.4. Топология «звезда-шина»
152 Рис. 4.5. Топология «звезда-кольцо»
К недостаткам шинной организации сети относится уменьшение пропускной способности сети при значительных трафиках (тра- фик - это объем передаваемых данных). В настоящее время часто используются топологии, комбини- рующие базовые: звезда - шина, звезда - кольцо. Топология «звезда - шина» чаще всего выглядит как объеди- нение с помощью магистральной «шины» нескольких звездооб- разных сетей (рис. 4.4). При топологии «звезда - кольцо» несколько звездообразных сетей соединяются своими центральными узлами коммутации в кольцо (рис. 4.5). 4.2. Топология глобальной вычислительной сети Расширение ЛВС как базовых, так и комбинированных топо- логий, из-за удлинения линий связи приводит к необходимости их расчленения и создания распределенных сетей, в которых ком- понентами служат не отдельные компьютеры, а отдельные локаль- ные сети, иногда называемыми сегментами [10]. Узлами комму- тации таких сетей являются активные концентраторы (К) и мос- ты - устройства, коммутирующие линии связи (в том числе разного типа) и одновременно усиливающие проходящие через них сигналы. Мосты, кроме того, еще и управляют потоками дан- ных между сегментами сети. При соединении компьютеров или сетей (локальных или распределенных), удаленных на большие расстояния, используются каналы связи и устройства коммута- ции, называемые маршрутизаторами (М). Маршрутизаторы вза- имодействуют один с другим и соединяются между собой кана- лами связи, образуя распределенный магистральный канал связи. Для согласования параметров данных (форматов, уровней сигналов, протоколов и т.п.), передаваемых по магистральному каналу связи, между маршрутизаторами и терминальными ком- понентами включаются устройства сопряжения (УС). При под- ключении к магистральному каналу вычислительных сетей или устройств (например, мэйнфреймов), которые невозможно согла- совать с помощью стандартных устройств сопряжения, исполь- зуются стандартные средства, называемые шлюзами (Ш). Терми- нальными абонентами называют отдельные компьютеры, локаль- 153
К другой ГВС Рис. 4.6. Типовая топология глобальной информационно-вычислительной сети (ГВС): К - концентратор; УС - устройство сопряжения; М - маршрутизатор; Ш - шлюз; Мст - мост
ные или распределенные сети, подключенные через У С к магист- ральному каналу. Таким образом, возникает ГВС. Такие сети могут объединяться между собой путем соединения через марш- рутизаторы магистральных каналов, что в конечном итоге при- водит к созданию мировой (действительно глобальной) инфор- мационно-вычислительной сети. Типовая топология описанной ГВС приведена на рис. 4.6. 4.3. Сетевые протоколы и уровни Увеличение разнообразия различных архитектур связи побу- дило Международную организацию по стандартизации (ISO) на- править значительные усилия на разработку стандарта архитек- туры связи, который позволил бы системам открыто связывать- ся между собой [14]. В 1983 г. эти усилия увенчались успехом и была предложена эталонная модель взаимодействия открытых систем (OSI). Она состоит из семи уровней (рис. 4.7). Три нижних уровня представляют сетевые услуги. Протоколы, реализующие эти уровни, должны быть предусмотрены в каждом узле сети. Четыре верхних уровня предоставляют услуги самим- оконечным пользователям и таким образом связаны с ними, а не с сетью. Уровень канала передачи данных и находящийся под ним физический уровень обеспечивают канал безошибочной переда- чи между двумя узлами в сети. Функция физического уровня зак- лючается в гарантии того, что символы, поступающие в физичес- кую среду передачи на одном конце канала, достигнут другого конца. При использовании этой нижестоящей услуги по транс- портировке символов задача протокола канала состоит в обес- печении надежной передачи блоков данных по каналу. Функция сетевого уровня состоит в том, чтобы установить ка- нал для передачи данных по сети от узла передачи до узла назна- чения. Этот уровень предусматривает также управление потоком или перегрузками в целях предотвращения переполнения сетевых ресурсов, которое может привести к прекращению работы. Транспортный уровень обеспечивает надежный, последова- тельный обмен данными между двумя оконечными пользовате- лями. Для этой цели на транспортном уровне используется услу- га сетевого уровня. Он также управляет потоком, чтобы гаран- тировать правильный прием блоков данных. 155
Существование сеанса между двумя пользователями означает необходимость установления и прекращения сеанса, что делается на уровне сеанса. Этот уровень при необходимости управляет пе- реговорами, чтобы гарантировать правильный обмен данными. Уровень представления управляет и преобразует синтаксис блоков данных, которыми обмениваются оконечные пользова- тели, а протоколы прикладного уровня придают соответствую- щий смысл обмениваемой информации. В сети с коммутацией пакетов блоками данных, передаваемых по сетевому маршруту от одного конца к другому, являются паке- ты. Блоки, или кадры данных, передаваемые по каналу связи через сеть, состоят из пакетов плюс управляющая информация в виде заголовков и окончаний, добавляемых к пакету непосредственно перед его отправлением из узла. В каждом принимающем узле уп- равляющая информация отделяется от остальной части пакета, а затем вновь добавляется, когда этот узел, в свою очередь, переда- ет пакет по каналу в следующий соседний узел. Этот принцип до- бавления управляющей информации к данным в архитектуре ВОС расширен и включает возможность добавления управляющей ин- формации на каждом уровне архитектуры (рис. 4.7). з Оконечный пользователь Оконечный пользователь Приложение Приложение Представление Представление Сеанс Сеанс Т ранспорт Промежуточный узел Т ранспорт Сеть Сеть Сеть Канал Канал Канал Физический уровень Физический уровень Физический уровень Физическая среда Рис. 4.7. Семиуровневая архитектура ВОС 156
На каждом уровне блок данных принимается от вышестоя- щего уровня, к данным добавляется управляющая информация, и он передается нижестоящему уровню. Конкретный уровень не просматривает блок данных, который он получает от вышестоя- щего уровня. Следовательно, уровни самостоятельны и изолиро- ваны один от другого. На рис. 4.8 показан пример конкретной многоуровневой ар- хитектуры связи. Между источником и получателем информации включен промежуточный узел. Пакет, поступающий по физичес- кой среде, связывающей исходящий узел с промежуточным, на- правляется на сетевой уровень этого узла, где определяется сле- дующая часть пути Уровни в архитектуре в Прикладной уровень Уровень представления Уровень сеанса Транспортный уровень Сетевой уровень Уровень канала передачи данных составе маршрута через сеть. Рис. 4.8. Блоки данных, применяемые в структуре сети ВОС 4.4. Физическии и канальный уровни Современные системы связи способны передавать сообщения в любой форме: телеграфные, телефонные, телевизионные, мас- сивы данных, печатные материалы, фотографии и др. [10]. 157
В эталонной модели открытых систем процедуры передачи данных действуют на физическом и канальном уровнях. В соответствии со спецификой передаваемых сообщений орга- низуется канал, представляющий собой комплекс технических средств, обеспечивающих передачу сигналов от источника к по- требителю. К основным параметрам, характеризующим канал связи, относятся ширина полосы пропускания, допустимый ди- намический диапазон изменений амплитуды сигнала, а также уровень помех. Передача больших информационных потоков на значитель- ные расстояния осуществляется с помощью кабельных, радиоре- лейных и спутниковых линий связи. В ближайшие годы можно ожидать широкого применения связи по волоконно-оптическим кабелям. Рассмотрим основные принципы передачи информации с по- мощью электрических сигналов. Эти принципы, многие из кото- рых носят фундаментальный характер, прочно вошли в практи- ку не только систем электросвязи, но и вычислительной техники и, конечно, информационных технологий. 4.4.1. Модуляция и демодуляция Сообщение для передачи с помощью средств электросвязи (так у нас принято называть то, что на Западе называют telecom- munication) должно быть предварительно преобразовано в сиг- нал, под которым понимается изменяющаяся физическая вели- чина, адекватная сообщению. Процесс преобразования сообще- ния в сигнал называется кодированием. По физическим законам излучение электромагнитных волн ... эффективно, если размеры излучателя соизмеримы с длиной из- лучаемой волны, поэтому передача сигналов по радиоканалам, кабелям, микроволновым линиям производится на высоких час- тотах (т.е. на весьма коротких волнах). Сигнал передается на «не- сущей» частоте. Процесс изменения параметров несущей часто- ты в соответствии с сигналом, передаваемым на ней, называют модуляцией. Модуляция - основной процесс или функция пере- датчика. Гармонический (синусоидальный) несущий сигнал имеет три информационных параметра, которые можно модулировать: ам- плитуду, частоту и фазу: 158
Рис. 4.9. Фазовые диаграммы 2-кратной (а),* 4-кратной (б) и 8-кратной (в) фазовой манипуляции и = U cos(cO(/+^o), где U — амплитуда гармонического колебания; (оо - частота несущей; ф0 - начальная фаза. Соответственно при передаче сигналов используют амплитуд- ную, частотную и фазовую модуляцию, которая в случае диск- ретных сигналов называется манипуляцией. Наиболее помехоустойчивой, т. е. невосприимчивой к поме- хам, оказывается фазовая модуляция или манипуляция (ФМн), что объясняется «амплитудным» характером воздействующих помех. Такой параметр, как фаза несущего сигнала, менее дру- гих параметров подвергается губительному воздействию помех. Фазоманипулированный сигнал представляет собой отрезок гар- монического колебания с изменяющейся на 180° фазой. В вектор- ной форме это можно изобразить так, как показано на рис. 4.9, а. При векторном изображении сигналов помехи также можно рассматривать как случайные векторы со случайными амплиту- дой и фазой. Такое геометрическое представление сигналов и помех позволяет легко понять, почему ФМн-сигнал с двумя зна- чениями фазы оказывается наиболее помехоустойчивым. Дело в том, что приемник при приеме сигналов решает задачу: в какой из областей решения находится сигнал (верхней или нижней, см. рис. 4.9, а). В том случае, когда область принятия решения состо- ит только из двух частей, вероятность ошибки наименьшая. Од- 159
нако, если 2ФМн сигнал переносит один сигнал, то 4ФМн пере- носит сразу два сигнала (рис. 4.9, б), 8ФМн - четыре сигнала (рис. 4.9, в). Прохождение сигналов по каналу связи всегда сопровождает- ся искажениями и воздействием помех. Поэтому основной функ- цией приемника является распознание в принимаемых колебани- ях переданного сигнала. Такую операцию приемник производит в процессе демодуляции, т.е. в процессе выделения передаваемого сигнала, после чего он преобразовывается в сообщение (рис. 4.10). Источник Получатель Рис. 4.10. Передача информации по каналу связи Каналом передачи информации (каналом связи) называют со- вокупность технических средств, обеспечивающую передачу элек- трических сигналов от одного пункта к другому. Непременной составной частью любого канала является линия связи - провод- ная, кабельная, радио, микроволновая, оптическая, спутниковая. В современных цифровых системах связи основные функции передатчика и приемника выполняет устройство, называемое модемом. Он представляет собой совокупность передатчика и приемника в одном корпусе для осуществления проводной дуп- лексной связи. Если терминал находится на значительном расстоянии от компьютера, например в соседнем здании или дру- гом городе, либо связь пользователя с компьютером осуществ- ляется через обычную телефонную сеть, необходимы приемопе- редатчики на оконечных пунктах линии, и их функции выполня- ет модем. Выпускаемые в настоящее время модемы различны по конст- рукции, но, как правило, состоят из интерфейсной части для со- единения с компьютером, кодера и декодера, модулятора и демо- дулятора. Часто в состав модема входят шифрующее и дешифру- ющее устройства, обеспечивающие секретность передаваемой 160
информации. Есть также способы, обеспечивающие скрытность передачи. В зависимости от типа модема он производит ампли- тудную, частотную или фазовую модуляцию. В целях уплотне- ния полосы канала чаще всего используют многократную фазо- вую манипуляцию (см. рис. 4.9). Типовые скорости передачи у модемов 2400, 4800, 9600, 14400, 19200, 28800, 33600, 57600 бит/с. 4.4.2. Емкость канала связи Скорость передачи информации, а ее предельно допустимое значение для данного канала называют его емкостью, относится к фундаментальным понятиям теории связи. Она служит одной из главных характеристик канала передачи информации. Оценка скорости передачи информации и предельных возможностей ка- нала связи представляет большой практический и теоретический интерес. Рассматривая процесс передачи информации в общих чертах, можно предположить, что основными факторами, ограничива- ющими скорость передачи информации, считаются полоса про- пускания F и уровень помех. Существует фундаментальная теорема о «выборках», которая доказывает, что сигнал, не содержащий в своем спектре частот выше F, может представляться 2F независимыми значениями в секунду, и совокупность значений, отстоящих одно от другого на Т секунд, определяет непрерывный сигнал полностью. Заме- тим, что «выборкой» является отсчет амплитуды сигнала в опре- деленный момент (на рис. 4.11, а можно увидеть эти выборки). Термин «выборки» взят от английского samples, теорему о выборках называют также теоремой отсчетов. Она позволяет на интервале Т заменить непрерывный сигнал с ограниченным спек- тром последовательностью его дискретных значений, причем их нужно не бесконечное число, а вполне определенное, равное 2FT. Уровень шумов (помех) не позволяет точно определить амплиту- ду сигнала и в этом смысле вносит некоторую неопределенность в значение отсчетов сигнала. Максимально возможная скорость передачи информации по каналу связи при фиксированных ограничениях называется ем- костью канала, обозначается через С и имеет размерность бит/с. 11—1864 161
4 S(0 4S(0 Рис. 4.11. Представление непрерывного сигнала в виде дискретных отсчетов (выборок): а - отсчеты сигнала, взятые через интервал 1/(2Т); б - отсчеты сигнала, квантованные по амплитуде Рассмотрим соотношение для емкости канала связи, являю- щееся фундаментальным соотношением в теории связи. Оно по- зволяет понять некоторые принципиальные зависимости при пе- редаче информации вообще. Напомним, что количество инфор- мации I, снимающее неопределенность о состоянии объекта с L равновероятными состояниями, оценивается величиной I != log L. Основание логарифма здесь не имеет значения. Если основа- ние равно двум, то единицей измерения количества информации оказывается бит. Определим количество различных сообщений, которое можно составить из п элементов, принимающих любые из т различных фиксированных состояний. Из ансамбля п элементов, каждый из которых может находиться в одном из т фиксированных состоя- ний, можно составить тп различных комбинаций, т.е. L~mn. Тогда I - logw” = wlogw. При полосе F наибольшее число отсчетов сигнала равно 2F в единицу времени или 2FT за время Т, т.е. п = 2FT. 162
Если бы шума не существовало, то число дискретных уров- ней сигнала было бы бесконечным. При наличии шума определя- ется степень различимости отдельных уровней амплитуды сигна- ла. Так как мощность является усредненной характеристикой ам- плитуды, число различимых уровней сигнала по мощности равно (Р+Рш)/Рт), а по амплитуде - соответственно т = Тогда емкость канала 2FT log2 = F log2 Итак, емкость канала ограничивается двумя величинами: шириной полосы канала и шумом. Приведенное соотношение известно как формула Хартли-Шеннона и считается основным в теории информации. Полоса частот и мощность сигнала входят в формулу таким образом, что для С = const при сужении полосы необходимо уве- личивать мощность сигнала и наоборот. Емкость канала называют максимальной величиной скорости. Чтобы достигнуть такой скорости передачи, информация долж- на быть закодирована наиболее эффективным образом. Утверж- дение, что такое кодирование возможно, является важнейшим результатом созданной Шенноном теории информации. Шеннон доказал принципиальную возможность такого эффективного ко- дирования, не определив, однако, конкретных путей его реализа- ции. (Отметим, что на практике инженеры часто говорят о емко- сти канала, подразумевая под этим реальную, а не потенциаль- ную скорость передачи.) Эффективность систем связи характеризуется параметром, равным скорости передачи информации R на единицу ширины полосы F, т.е. R/F. Для иллюстрации существующих возможнос- тей по созданию эффективных систем связи на рис. 4.12 приведе- ны графики зависимости эффективности передачи информации при различных видах Л/-ичной дискретной амплитудной, частот- ной и фазовой модуляции (кроме бинарной модуляции, исполь- зуется также модуляция с 4, 8, 16 и даже с 32 положениями моду- лируемого параметра) от отношения энергии одного бита к спек- тральной плотности мощности шума (Eo/No). Для сравнения нанесена также граница Шеннона. 163 11
Рис. 4.12. Эффективность цифровых систем связи: 1 - граница Шеннона; 2 - Л/-ичная ФМ; 3 - Л/-ичная AM; 4 - Af-ичная ЧМ * Сравнение кривых показывает, в частности, что при неизмен- ном отношении сигнал-шум наиболее популярный вид модуляции 4ФМн в три раза хуже потенциально достижимого. Из сравнения кривых можно сделать более общие выводы: наиболее эффектив- ; нои оказывается передача с фазовой дискретной модуляцией; со- временные методы кодирования и модуляции еще весьма далеки от совершенства. 4.4.3. Кодирование информации Кодированием называется сопоставление алфавитов, а прави- ло, по которому оно выполняется, - кодом. Иными словами, коди- рование можно определить как представление сообщений в фор- ме, удобной для передачи по данному каналу. Электрический ток 164
в телефонных проводах - это кодированная речь, а звуковые вол- ны речи - это кодированные колебания голосовых связок. В рассматриваемом здесь конкретном случае кодирование есть представление по определенным правилам дискретных сообще- ний в некоторые комбинации, составленные из определенного числа элементов - символов. Эти элементы называются элемен- тами кода, а число различных элементов, из которых слагаются комбинации, - основанием кода. Элементы кода образуют кодо- вые комбинации. Например, если составляют комбинации из раз- личных сочетаний 0 и 1, то это код с основанием два, или двоич- ный код. Если все комбинации имеют одинаковое число знаков, код называется равномерным. Широко известный лсод Морзе - • неравномерный код. Правило кодирования обычно выражается кодовой таблицей, в которой каждому символу сообщения ста- вится в соответствие определенная кодовая комбинация. Кодовое представление дискретных значений сигнала осуще- ствляется с помощью цифр, но не обязательно десятичных. Напом- ним, что в десятичной системе, называя число, указывают, сколь- ко единиц от нуля до девяти имеется в разряде единиц, в разряде десятков, сотен, тысяч и т.д. То же происходит в любой другой системе счисления с другим основанием. В десятичной системе пользуются десятью цифрами: 0, 1,2, 3, 4, 5, 6, 7, 8, 9. В двоичной системе счисления используют только две цифры: 0 и 1. Если пронумеровать все буквы алфавита и необходимые спе- циальные символы и выразить каждую цифру в двоичной систе- ме счисления, получится натуральный двоичный код данного ал- фавита. Очевидно, число разрядов в двоичной системе больше, чем в десятичной, так как основание системы счисления меньше. Число кодовых комбинаций определяется числом дискретных значений сигнала. Например, если в языке 32 буквы (или буквы и знака), то для передачи сообщений на этом языке необходимо иметь 32 различные кодовые комбинации. В десятичной системе это означало бы передачу 32 цифр от 0 до 31. В двоичной системе необходимо составить отличающиеся одно от другого 32 кодо- вые комбинации, и так как 32 = 25, эти комбинации должны быть из 5 элементов, например 01010, 11111, 11001 и т. д. Число воз- можных кодовых комбинаций для представления 32 букв колос- сально: 32! Один из этих вариантов есть натуральный пятизнач- ный двоичный код, используемый для передачи букв латинского и русского алфавитов. При цифровом кодировании речевых сиг- 165
налов исходят из практического наблюдения: искажения сигнала невелики, если его изменения представлять 128 амплитудными значениями, т. е. для его передачи необходимо 128 кодовых ком- бинаций. Для двоичного кода из соотношения 2" = 128 определя- ем, что длина кодовой комбинации п = 7. Таким образом, для передачи речевых сигналов нужен код с 7-элементными кодовы- ми комбинациями. Обычно речевой сигнал по спектру ограничен частотой 4000 Гц. В этом случае речь в цифровой форме необходимо передавать со скоростью (вспомним теорему о выборках!) 4000 -2-7= = 56 Кбит/с. Заметим, что обычно в комбинацию добавляют один служебный символ и тогда комбинация становится 8-элементной, а необходимая скорость передачи увеличивается до 64 Кбит/с. Остановимся также на принципах помехоустойчивого коди- рования, играющего чрезвычайно важную роль в развитии средств передачи информации. Отметим, что теория помехоус- тойчивого кодирования является достаточно сложной, и приво- димые рассуждения носят весьма упрощенный характер. Основным условием обнаружения и исправления ошибок в принимаемых кодовых комбинациях является избыточность. Поясним это на примере. Условимся, что необходимо передавать только четыре сообще- ния: А, Б, В и Г. Можно составить четыре 2-элементные комбинации для передачи этих сообщений: А Б В Г 00 01 10 11 Пусть помехи воздействуют на комбинацию таким образом, что .. изменяют только один из ее элементов. Если помехе подверглась ком- бинация 00 и она вследствие этого превратилась в комбинацию 01, то мы не обнаружим ошибку, а будем просто считать, что вместо А передатчик послал Б. И так будет со всеми 4 комбинациями. Теперь введем избыточность. Используем для передачи А, Б, В, Г 3-элементные кодовые комбинации, которых, кстати, может быть все- го 8. Выберем из 8 возможных комбинаций 000,001,010,100,110,011, 101, 111 (других комбинаций быть не может) только 4, но так, чтобы они максимально отличались одна от другой: 000,011,101,110. Пусть в результате действия помехи изменится один из элементов в любой из выбранных комбинаций. Такая комбинация не будет иден- тичной ни одной из указанных комбинаций, и сразу станет ясно, что 166
она ошибочна. Таким образом, для передачи сообщений А, Б, В, Г код 00, 01, 10, 11 годится, но он не помехоустойчив, код же ООО, ОН, 101,110 является помехоустойчивым. При этом следует оговориться, что он помехоустойчив только к таким помехам, которые могут при- вести лишь к однократной ошибке в комбинации. При двукратной ошибке код не помехоустойчив. Для защиты от таких помех ансамб- ля А, Б, В и Г пришлось бы допустить еще большую избыточность, используя 4-элементные кодовые комбинации, т. е. выбрав 4 комби- нации из 16 возможных. Таким образом, обнаружить ошибку невозможно, если лю- бой принятый символ служит сообщением. Ошибки можно об- наружить только в том случае, если на возможные сообщения наложены некоторые ограничения. Одним из основных достоинств передачи информации в циф- ровой форме является возможность использования кодирован- ных сигналов и оптимального в заданных условиях способа их приема. Важно, что при цифровой передачу все типы сигналов, такие как речь, музыка, телевидение, данные, могут объединять- ся в один общий поток информации, передача которого форма- лизована. Кроме того, уплотнение при одновременном участии компьютера позволяет эффективнее использовать спектр и вре- мя, защитить канал от несанкционированного доступа, объеди- нить процесс передачи цифровой информации и цифровую ком- мутацию каналов и сообщений. 4.4.4. Уплотнение информационных потоков На практике часто требуется одновременная передача инфор- мации от многих источников по одному каналу ко многим полу- чателям, т. е. многоканальная передача. Следует сказать, что со- временные системы передачи информации практически всегда многоканальные [10]. Способ объединения отдельных сообщений в один групповой сигнал с последующим разделением сообщений на индивидуаль- ные называется уплотнением, или мультиплексированием. К клас- сическим методам уплотнения относятся частотное, временное и кодовое. Современная техника связи позволяет организовывать широ- кополосные каналы, поэтому целесообразно использовать мето- ды, позволяющие передавать наибольшее число телеграфных, 167
телефонных, телевизионных и других сообщений на одной несу- щей или в отведенном интервале частот. Сущность методов мультиплексирования состоит в том, что сообщения от нескольких источников определенным образом ком- бинируются в групповой сигнал и принимаются с помощью одно- го приемопередатчика. Поскольку современная система связи обычно является многоканальной, необходимой частью любой системы передачи информации служит мультиплексор (рис. 4.13). Мульти- Модем плексор Высоко- скоростной канал Модем Мульти- | плексор Рис. 4.13. Цифровая система связи Наиболее известен способ частотного мультиплексирования, когда в полосе пропускания канала размещается множество ка- налов, разделенных с помощью фильтрации по частоте (рис. 4.14, а). Каждый частотный канал представлен своим спектром. Его временная структура может быть различной - это может быть последовательность импульсов или телефонное сообщение. Со- ответствующая настройка разделительных фильтров приемника позволяет разделить принимаемый групповой сигнал на отдель- ные. При временном мультиплексировании в условном временном интервале размещают последовательно отрезки сообщений, на- пример кодовые последовательности каждого частного канала *. «(рис. 4.14, бу Если при частотном мультиплексировании сообще- ния от разных абонентов передаются одновременно по общему каналу, при временном мультиплексировании передача осуще- ствляется строго по очереди, т.е. полоса пропускания канала пре- доставляется полностью на определенный интервал времени каж- дому абоненту. На практике обычно группы каналов объединя- ются в супергруппы и при каждом иерархическом объединении может применяться разный способ модуляции несущей. Аналоговый сигнал, например в телефонном канале, преоб- разуется в цифровой с помощью импульсно-кодовой модуляции (ИКМ) и передается в каналах с временным мультиплексирова- ла
нием. Передача организуется так: выборки каждого непрерыв- ного сигнала сдвигаются на интервал, достаточный для переда- чи соответствующей кодовой комбинации. Рис. 4.14. Частотное («) и временное (б) уплотнение При передаче п непрерывных сигналов в стандартном интер- вале времени размещают п кодовых комбинаций, по одной на каждую выборку каждого сигнала. При этом полоса частот груп- пового сигнала увеличивается примерно в п раз. Так, 24-каналь- ная система для передачи речи работает со скоростью 1544 Кбит/с (скорость одного канала 64 Кбит/с). Международный консультативный комитет по телефонии и телеграфии (МККТТ) разработал стандарты образования мно- гоканальных сообщений при временном мультиплексировании. Прежде всего предложен 8-разрядный равномерный код для ука- зания значений уровней квантования сигнала и закон квантова- ния, названный «А=87,6». На рис. 4.11 использован линейный закон квантования, когда интервалы квантования одинаковы. Закон квантования А=87,6 является нелинейным, он лучше учи- тывает природу восприятия человеком речевых сигналов. Часто- 169
та дискретизации телефонного сообщения принята равной 8 кГц. При этом скорость передачи одного телефонного сообщения ока- зывается равной 64 Кбит/с. Так как принципиальной основой многоканальной цифровой системы передачи информации является временная шкала, опре- деляющая расстановку информационных и служебных сигналов, соединение цифровых систем различной емкости в единую сеть возможно лишь при условии кратного соответствия временных шкал различных систем и стандартизации групповых сигналов и способов синхронизации. С этой целью разрабатывается иерар- хия (соподчиненность) цифровых систем. Под уровнем цифровой системы понимается число каналов или скорость передачи. Иерархия предусматривает возможность об- разования цифровыми системами низшего порядка системы бо- лее высокого порядка. На одном уровне объединяется фиксиро- ванное число цифровых сигналов системы более низкого уровня для образования суммарного цифрового сигнала более высоко- го уровня. Например, первый уровень соответствует многоканальной передаче 30 телефонных сообщений в цифровой форме. Для это- го необходима суммарная скорость передачи 2048 Кбит/с. Вто- рой уровень образован из 4 систем первого уровня с учетом не- обходимой служебной информации. Он имеет суммарную ско- рость 8448 Кбит/с. Система второго уровня способна передавать 120 телефонных каналов или один видеотелефонный. Третий и четвертый уровни по рекомендации МККТТ соответствуют ско- ростям 34,368 и 139,264 Мбит/с. Некоторые фирмы или страны работают по своим стандар- там. В табл. 4.1 приведены сведения об иерархии уровней цифро- ’ вых систем (скоростей передачи). Иерархия скоростей цифровых систем является важной эксп- луатационной характеристикой. Она предусматривает адаптив- ность систем к любым цифровым каналам (от обычных телефон- ных до волоконно-оптических) и всем информационным сигна- лам (от речевых до сигналов цветного телевидения). Существует много причин, вызывающих необходимость стан- дартизации скоростей передачи цифровой информации. К ним относят требования потребителей каналов к универсальности передающей аппаратуры по отношению к различным источни- кам информации, к необходимости планирования развития се- 170
тей передачи данных с учетом старой и новой аппаратуры при гармоническом сочетании систем, к надежности и гибкости сети передачи данных. Благодаря соблюдению стандартов иерархии можно осуществлять передачу цифровой информации по комби- нированным системам с использованием кабельных, радио, спут- никовых, волоконно-оптических и других каналов. Таблица 4.1 Иерархия цифровых систем Уровень иерархии Скорость передачи* МККТТ США, Канада * Япония 9 1 2,048/30 1,544/24 1,544/24 2 8,448/120 6,312/96 6,312/96 34,368/480 44,736/672 32,064/480 4 139,264/1920 274,176/4032 97,728/1440 5 565,148/7680 * 397,2/5760 ♦Числитель - Мбит/с; знаменатель - число каналов. 4.5. Протоколы канального уровня В последнее время международным стандартом становится протокол ВУК (высокоуровневое управление каналом передачи данных, HDLC) [14]. Стандартный формат кадра ВУК изобра- жен на рис. 4.15. Ф Адрес • Контроль и управление Информация (пакет) Проверочное поле ► ф (флаг) 8 8 16 (флаг) 01111110 разрядов разрядов разрядов 01111110 Рис. 4.15. Формат кадра ВУК В начале и в конце кадра для установления и поддержания синхронизации применяется 8-разрядная последовательность 01111110, называемая флагом, или меткой. Поскольку в начале и в конце кадра применяются флаги, в установке структуры инфор- 171
мационного поля нет необходимости. Пакет, поступающий от вышестоящего сетевого уровня, может занимать любое желаемое число разрядов. Проверочное поле занимает 16 разрядов, поля адреса, контроля и управления - по 8 разрядов. Протокол канального уровня реализует следующие функции. • Реализация соединения между концами каналов. • Организация передачи данных по каналу. • Разъединение каналов. Следуя концепции многоуровневой архитектуры, ISO стан- дартизировала применение на каждом уровне архитектуры че- тырех основных примитивов услуг, чтобы предусмотреть взаи- модействие между пользователями услуг на одном уровне и по- ставщиками услуг на нижестоящем уровне. Эти примитивы являются основными элементами определения обмена между пользователями услуг. К ним относятся следующие: • запрос (request); • признак (indication); • ответ (response); • подтверждение (confirm). При работе примитивов два соседних уровня взаимодейству- ют между собой. Нижние являются поставщиками услуг, верхние - потребителями. 4.5.1. Схема организации фаз коммуникаций Как видно из рис. 4.16, запрос подается пользователем услу- ги данного (N+1 )-го уровня системы А, чтобы обратиться к про- - 's цедуре протокола поставщика услуги нижестоящего TV-го уровня [14]. Это приводит к посылке сообщения TV-го уровня БДП-TV в систему В (БДП - блок данных протокола). Получение блока БДП-TV в системе В вызывает затем появление примитива при- знак, выпускаемого поставщиком услуги на этом уровне. Прими- тив ответ выпускается поставщиком услуги на уровне (TV+1) в системе В в ответ на признак; он является директивой протоколу уровня TV завершить процедуру обращения примитива признак. Протокол на уровне TV генерирует БДП, который передается по сети и повторяется на уровне TV системы А, что вызывает, в свою очередь, посылку примитива подтверждение, который выпуска- 172
Взаимодействие уровней Система А Уровень Уровень сети канала Действия протоколов Путь передачи блока данных Взаимодействие уровней Система В Уровень Уровень канала сети Время Установ- ление < соединения Передача данных Разъеди- нение Рис. 4.16. Применение примитивов протокола ВУК: УАБР - установка асинхронного балансного режима; НП - ненумерованное подтверждение 173
ется поставщиком услуги в системе А. В результате процедура, начатая запросом в точке доступа к услуге между уровнями N и (У+1) в системе А, в этой же точке завершается. В качестве конкретного применения этих примитивов рас- смотрим уровень канала передачи данных. Его задачей является предоставление обслуживания сетевому уровню. Услуги делятся на три фазы: установление соединения, передачу и разъединение. На рис. 4.16 предполагается, что рассматриваемый канал пе- редачи данных в данный момент не используется в сети для пере- дачи. Поэтому перед началом передачи должно быть установлено логическое соединение. Для этого система А выпускает прими- тив СОЕДИНЕНИЕ.запрос в свой уровень канала передачи дан- ных, являющийся поставщиком услуги. После приема и соответ- ствующей обработки этого примитива в систему В передается блок установки асинхронного балансного режима (УАБР), кото- рый приводит в действие объект уровня канала и выдается при- митив СОЕДИНЕНИЕ.признак. В знак согласия на запрос об установлении связи объект уровня сети отвечает примитивом СОЕДИНЕНИЕ.ответ. Это вызывает посылку со стороны про- токола канала системы В объекту уровня канала системы А бло- ка ненумерованного подтверждения НП. В системе А выдается примитив СОЕДИНЕНИЕ.подтверждение, указывающий на за- вершение процесса установления подтверждения. Теперь на обо- их концах канала сетевой уровень может начать передачу дан- ных. Она будет происходить аналогично процедуре, рассмотрен- ной в начале этого абзаца. 4.5.2. Виды протоколов Различают три вида протоколов канального уровня [14]: • с остановками и ожиданием; • с А-возвращениями (с непрерывной передачей); • с выборочной или селективной передачей. Протокол с остановками и ожиданием. При этой процедуре одновременно может передаваться только один кадр. После это- го передающая сторона ждет подтверждения. Если поступит от- рицательное подтверждение или произойдет просрочка времени 174
ожидания ответа, кадр передается повторно. Пакет сбрасывает- ся из накопителя передающей стороны лишь после получения положительного подтверждения. Связь с остановками и ожида- нием между двумя пунктами показана на рис. 4.17. Станция А — Кадр Время Станция В Время распространения сигнала L Время Получение кадра 81 Кадр А2 Рис. 4.17. Протокол с остановками и ожиданием f Кадр 81 s (несет подтверждение) Получение кадра В1 Введем следующие обозначения: t - минимальное время, которое требуется для передачи кадра; /п - период передачи кадров; ts - длительность подтверждающего кадра; tT - период передачи сигнала. Т огда t=2t + L + t. п р 0 s-7 tT = ts + tn. Этот протокол подходит для полудуплексной передачи, при которой передача сторон чередуется. Протокол с N-возвращениями, или непрерывная передача. Здесь кадры передаются непрерывно без ожидания подтверждения (ПТВ). При получении отрицательного («-» на рис. 4.18) под- тверждения или истечения установленного времени ожидания неподтвержденный кадр и все последующие кадры передаются вновь. Пример такой передачи представлен на рис. 4.18. 175
a Ожидание Рис. 4.18. Протокол с ^возвращениями: А1, ..., А7 - пакеты Время Этот протокол более производительный и предполагает ис- пользование дуплексной связи. Протокол с выборочным повторением. В этом случае повтор- ная передача требуется только для кадра, о котором поступило отрицательное подтверждение или для которого истекло установ- ленное время ожидания. Однако на приемном конце требуется накопитель с перестроениями, так как в этом случае кадры могут повторно передаваться и приниматься не по порядку. Из-за увеличения стоимости реализации протокол выбороч- ного повторения не нашел коммерческой реализации. 4.5.3. Анализ производительности протоколов Протокол с остановками и ожиданием. Рассмотрим следую- щую систему (рис. 4.19). Рис. 4.19. Передача кадра при анализе производительности протокола с остановками и ожиданием 176
Предположим, что вероятность ошибочного приема в пункте В равна Р. Тогда очевидно, что при отсутствии ограничений на число повторных передач среднее время правильной передачи 1=1 (4.1) Это выражение показывает, что для z-ro повторения кадр дол- жен быть доставлен с ошибкой i раз. Вероятность правильного приема при z-м повторении равна (1-Р). В случае насыщения величина tv представляет собой среднее время между правильно переданными кадрами. Максимальная производительность в доставленных пакетах является обратной величиной t, или V7 (4.2) где параметр а = tJ/tk > 1 вводится, чтобы связать производительность с дли- ной кадра данных. Если теперь принять X равной практической интенсивности поступления кадров в передатчик, получим нормированную про- изводительность для протокола с остановками и ожиданием в виде (4.3) Протокол с N-возвращениями (рис. 4.20). Поскольку по схеме с TV-возвращениями кадры могут передаваться непрерывно один за другим, минимальное время между передачами равно tk, т.е. времени передачи кадра. Соответственно увеличивается макси- мальная производительность. Среднее время передачи кадра (4.4) ! 2-1864 177
Рис. 4.20. Анализ системы с TV-возвращениями: а - безошибочная передача; б - случай появления ошибки (сбоя) Максимально возможная производительность max (4.5) Нормированная производительность для любой интенсивно- ч , сти поступления кадров ограничивается значением Р = (4.6) Пример Пусть а = 4, Р = 0,01. Тогда для протокола с остановками и ожиданием нормированная производительность ограничивает- ся значением 0,99/4, причем соответствующая граница для схемы с N-возвращениями находится около 0,99/(1 + 0,01 • 3) - 0,96, т.е. схема с TV-возвращениями превосходит схему с остановками и 178
ожиданием в 4 раза. При а< 1 предпочтительнее стратегия непре- рывной передачи. 4.5.4. Определение скорости передачи полезной информации и оптимальной длины кадра Проведенный простой анализ производительности дает так- же оценку наиболее предпочтительной длины пакетов (инфор- мационного поля в кадре данных), применяемых в сети. В боль- шинстве сетей она выбирается равной около 1000 бит. Обозначим длину пакета в кадре, выражаемую числом разря- дов, через /, а число остальных разрядов, используемых в других полях, через I' (рис. 4.21) [14]. Служебные символы Пакет Рис. 4.21. Пакет Пусть передающая станция А находится в состоянии насыще- ния и передает Хтах кадров/с. Средняя скорость данных, бит/с, поступающих на принимающую станцию В, на основании выве- денных в предыдущем пункте формул равна max (4.7) Принимая tk = (/ + Г)/С, где С - пропускная способность кана- ла, бит/с, для нормированной скорости поступления данных по- лучим (4.8) Это выражение ясно показывает влияние на скорость переда- чи данных длины пакета /, длины управляющего поля I и вероят- ности ошибки. Длительность перерыва описывается нормирован- ным параметром а. 179
Пусть Рв - вероятность искажения бита. Тогда вероятность ошибки в кадре определяется равенством р=(/+/')/>в при а=1. (4.9) Подставим полученное выражение в (4.8) и продифференци- руем dvldl. В результате оптимальная длина пакета (4-Ю) и не зависит от а. 4.5.5. Методы случайного доступа к сети Двумя основными способами доступа к общей среде переда- чи являются управляемый доступ с применением опроса и слу- чайный доступ. В свою очередь, существуют различные типы стра- тегий случайного доступа. Методы случайного доступа полностью децентрализованы. Пользователь может передавать сообщения когда угодно, лишь с незначительными ограничениями, зависящими от метода до- ступа. Из-за случайности моментов времени, в которые пользовате- ли могут решить начать передачу, независимо от метода не ис- ключена возможность того, что два или несколько пользовате- лей могут выйти на связь в пересекающиеся промежутки време- ни. Это приводит к столкновениям (коллизиям), которые сначала должны быть распознаны, а затем разрешены. При увеличении нагрузки возрастает и вероятность коллизий, что приводит к воз- можной неустойчивости работы рассматриваемых механизмов. В результате производительность ограничивается некоторым максимальным значением, меньшим пропускной способности канала, и это значение в каждом случае зависит от первоначаль- ного механизма доступа и алгоритма разрешения коллизий. Методы Алоха. Сначала методы случайного доступа были предложены для случаев, когда многие пользователи пытаются довольно редко передать пачки сообщений или когда между со- бой связывается небольшое число ЭВМ. Но применительно к про- изводственным процессам, которые требуют строгого управле- 180
ния задержкой доступа, более предпочтителен управляемый дос- туп. Рассмотрим два простейших типа стратегии случайного до- ступа: чистую Алоху и синхронную Алоху [14]. Чистая Алоха. Эта схема сначала была применена для досту- па к общему каналу сотрудниками Гавайского университета в начале 1970-х годов. По данной схеме пользователь, желающий передать сообщение, делает это когда угодно. В результате мо- гут наложиться во времени два или несколько сообщений, выз- вав столкновение (коллизию). Распознавание коллизий и сообщение о них пострадавшим пользователям в первоначальной системе Алоха направлялись по радио на центральный пункт. Также это могло осуществляться с помощью положительных подтверждений в сочетании с переры- вом. При обнаружении столкновения пострадавшие станции пред- принимают попытки повторной передачи потерянного сообще- ния, но они должны распределять время попыток случайным образом, следуя некоторому алгоритму, уменьшающему возмож- ность возникновения нового конфликта. Стратегия доступа типа Чистая Алоха позволяет добиться производительности самое большее 1/2е ~ 0,18 пропускной спо- собности канала. Введем сначала некоторые определения. За до- ступ к каналу состязаются N станций. Станция передает в сред- нем X пакетов в секунду (интенсивность обращений к сети). Ве- личина Нт представляет собой пропускную способность канала (ц) в передаваемых пакетах в секунду. Рассмотрим частный слу- чай, при котором все передаваемые сообщения (пакеты) имеют среднюю длину, соответствующую т единицам времени переда- чи. Будем считать, что интенсивность нагрузки 5 (эквивалентно р-нормированной по ц нагрузке) характеризует использование канала вновь поступающими пакетами. Тогда S s р = Нкт. Величина Нт, которая обозначается ц, представляет собой пропускную способность канала в передаваемых пакетах в секун- ду. Таким образом, АХ/ц = NXm - относительное использование канала, или производительность, нормированная относительно каждого компьютера, одинакова. Общая интенсивность пакетов, передаваемых в канал, включая вновь генерируемые и передава- емые повторно, имеет некоторое значение X' > X (из-за коллизий 181
от каждого компьютера будет передаваться больше сообщений из-за необходимости возобновлять поток). Тогда фактическая интенсивность нагрузки, или использование канала, является па- раметром G = N'K'm. Рассмотрим типичное сообщение длительностью т, показан- ное на рис. 4.22. Время Рис. 4.22. Столкновение двух сообщений Оно подвергается столкновению с другим сообщением, если эти два сообщения будут наложены одно на другое в любой точ- ке. Легко заметить, что, передвигая пунктирное сообщение во вре- мени, столкновение может произойти в промежутке времени про- должительностью 2т. Вероятность того, что в промежутке 2т не произойдет столкновения, равна e'2NXm ~e~2G. Отношение S/G представляет долю сообщений из числа пере- даваемых в канал, которые проходят успешно. Это число долж- но быть равно вероятности отсутствия столкновений. Таким об- разом, уравнение производительности для «Чистой Алохи»: S=Ge'2G. (4.11) Здесь S - нормированная производительность (средняя ско- рость поступления пакетов, деленная на максимальную произво- дительность 11т), a G - нормированная пропущенная нагрузка. Таким образом, S - независимая переменная, a G - ее функция. График зависимости G от S имеет вид кривой (рис. 4.23). Отметим, что S имеет максимум S = 0,5е'1~ 0,18 при G - 0,5. Судя по формуле (4.11) или кривой при малой поступающей на- грузке S, столкновения происходят редко и G ~ S. Когда S начи- нает расти, приближаясь к максимальному значению 0,18, число 182
G 0,5- 0,1 0,2 0,3 Рис. 4.23. Характеристика производительности схемы «Чистая Алоха»: G - нормированная пропущенная нагрузка; S - нормированная производительность столкновений быстро увеличивается, что ведет, в свою очередь, к росту вероятности столкновения. Система теряет устойчивость, S падает, a G увеличивается до больших значений. Синхронная Алоха. Максимально возможная производитель- ность схемы Чистая Алоха может быть удвоена с помощью про- стого приема разметки шкалы времени и разрешения пользова- телям начинать попытки передачи сообщений только в начале каждого временного интервала т (равного длительности сооб- щения). Эта схема требует, чтобы работа всех пользователей си- стемы была синхронизирована во времени. Пример работы та- кой системы показан на рис. 4.24; здесь одно сообщение переда- но успешно, а с другим произошло столкновение. Поскольку сообщения могут быть переданы только в разме- ченные промежутки времени, столкновения происходят, лишь когда одна или несколько попыток передачи совершаются в том же промежутке. Вероятность успешной передачи задается в виде е*с, а произ- водительность для схемы Синхронная Алоха имеет вид, показан- ный на рис. 4.25. 183
Успешная передача Столкновение Канальные интервалы Рис. 4.24. Передача при схеме Синхронная Алоха S = GeG. Нормированная производительность 5 достигает максималь- ного значения 1/е ~ 0,368 при G = 1. Зависимость пропущенной нагрузки от производительности для схемы Синхронная Алоха показана на рис. 4.25, где она сравнивается с соответствующей зависимостью для схемы Чистая Алоха. Рис. 4.25. Характеристика производительности; Синхронная Алоха 184
Из приведенной характеристики видно, что ввиду двух воз- можных значений G при заданной производительности S для этой системы доступа также характерна неустойчивость. Случайный доступ типа МДПН/ОС (CSMA/CD). Протокол МДПН/ОС основан на методе Чистая Алоха и позволяет улуч- шить ее характеристики. Метод МДПН/ОС входит в протокол сети Ethernet и принят как один из стандартных методов в ло- кальных сетях. Реализация локальных сетей по образцу сети Ethernet распространена весьма широко. Основная концепция протокола МДПН/ОС очень проста [14]. Все станции прослушивают передачу по линии. Станция, желаю- щая передать сообщение, выходит на связь только после обнару- жения свободного состояния канала. Эта процедура называется проверкой несущей, а стратегия, основанная на такой проверке, - схемой многостанционного доступа с проверкой несущей (МДПН). Очевидно, столкновения все же могут возникнуть, по- скольку станции физически разнесены одна от другой, и две или несколько станций могут обнаружить свободное состояние ка- нала и начать передачу, что и вызовет столкновение. Если стан- ции обнаруживают столкновение (обнаружение столкновения - ОС), они передают всем остальным станциям специальный сиг- нал о помехе и отменяют свои передачи. Возможность проверки несущей позволяет увеличить производительность канала по срав- нению со схемой Чистая Алоха, а обнаружение столкновения с прекращением передачи вместо его завершения дает еще боль- шее повышение производительности. Предложен и проанализирован ряд методов МДПН. Они раз- личаются тем, как происходит управление передачей, если канал оказался занятым. Например, в схеме с /’-настойчивостью стан- ция, обнаружившая занятый канал, осуществляет передачу после того, как канал станет свободным, с вероятностью Р. С вероят- ностью (1-р) передача откладывается на промежуток времени т распространения сигнала. При схеме с 1-настойчивостью стан- ция осуществляет попытку передачи, как только канал окажется свободным. При ненастойчивой схеме станция переносит пере- дачу на другое время в соответствии с предписанным распреде- лением задержек передачи, проверяет несущую в это время и про- должает процесс. Эти схемы применимы прежде всего в локальных сетях или в более крупных сетях, работающих со сравнительно небольшими скоростями передачи. 185
Протокол МДПН/ОС, работающий по правилу 1-настойчи- вости с добавлением возможности обнаружения столкновений в целях дальнейшего улучшения характеристик, принят в качестве протокола в схеме Ethernet. Если обнаруживается столкновение и передача прекращается, попытка повторной передачи прини- мается через случайный промежуток времени, как и в схемах Ало- ха. Этот случайный промежуток времени удваивается каждый раз после обнаружения нового столкновения до некоторой макси- мальной величины, при которой станция выходит из строя, и из- вещает вышестоящие уровни о нарушении связи. Удвоение про- межутка называется процедурой двоичного замедления и может улучшить характеристику системы. Проведем анализ системы с дискретным временем, чтобы выявить характеристики задержек протокола МДПН/ОС. Рассмотрим шинную структуру (рис. 4.26). Двусторонний тракт Рис. 4.26. Модель МДПН/ОС: А, В-рабочие станции о Станции подключаются через пассивные ответвления к дву- сторонней шине (см. рис. 4.26). Сосредоточим внимание на двух наиболее удаленных станциях (А и В). Рассчитаем среднее время, необходимое для успешного запуска сообщения в шину. Обрат- ная величина такого времени и будет максимальной производи- тельностью. Назовем время до успешного завершения передачи сообщения виртуальным временем передачи t. Это время имеет три составляющие (рис. 4.27). Оно включает время т, требуемое для передачи сообщения, время т, необходимое для проверки за- вершения передачи, и время, кратное 2т, для разрешения столк- новений, если они обнаруживаются. 186
Пусть возникло столкновение между сигналами, передавае- мыми станциями Л и В. В худшем случае обнаружение столкно- вения займет на станциях А и В время 2т, с, после чего передача будет немедленно выключена. Это показано на рис. 4.28: станция А начинает передачу в некоторый момент времени. Перед тем как сообщение станции А поступит на станцию В, последняя решает начать передачу. Станция В проверяет канал, находит его сво- бодным и начинает собственную передачу. Это очевидное столк- новение, которое обнаружится только через т, с. Интервал столкновения Время до обнаружения столкновения _ I 2Т ; t ___- _ Время проверки Рис. 4.27. Расчет виртуального времени передачи МДПН/ОС: т - время на проверку завершения передачи; т - время передачи сообщения, tv - общее время передачи сообщения Общее время до обнаружения столкновения составит 2т еди- ниц времени, что и показано на рис. 4.27. Если произошло столкновение, предположим, что для его разрешения потребуется 2tJ единиц времени. J представляет со- бой среднее число повторных передач, после того как произош- ло столкновение. Оно сравнимо с параметром E—GIS-i, который был введен при изучении системы Алоха. Тогда виртуальное вре- мя передачи имеет вид tv = т + т + 2т/ = т[1 + а(1 + 2/)], а = т/т. Далее найдем величину J. Она зависит от стратегии повтор- ной передачи. 187
А В Рис. 4.28. Наихудший случай обнаружения столкновения: А,В-рабочие станции Время Предположим, что длительность интервала столкновения (см. рис. 4.27) описывается геометрическим распределением единиц 2т с параметром г). В частности, интервал равен одной единице (2т) с вероятностью и, двум единицам с вероятностью и(1-в) и т.д. Таким образом, и является вероятностью успеха в конце интервала, а (1—V) - вероятностью столкновения. Среднее число повторных передач J=l/,u, а именно: = 1/и. (4-12) к~\ Это рассуждение переносит тяжесть нахождения J на в. Найдем вероятность в. Пусть в возможных передачах участвуют п станций (и » 1). Пусть вероятность того, что одна станция намеревается переда- вать в промежутке времени 2т, с, равна Р. Тогда вероятность того, что передает одна станция (и эта передача успешна), о = пР {1-Р)п~1- (4-13) Используя величину Р-1/п и учитывая, как предполагалось, что п » 1, в пределе получим, что о = (1-1/н)"-1 —> е‘ п— max v / * (4.14) Таким образом, величина в, которую нужно подставить в (4.12), равна е~х. И равенство (4.11) принимает вид 188
tv = m [1 +«(1 +2e)], fa =т/т. (4.11 *) Заметим, что эта модель повторной передачи напоминает схе- му Синхронная Алоха и фактически приводит к величине е~х ее производительности. Максимальная производительность Хтах в числе сообщений за единицу времени равна l/tv. Обозначая через X среднее число со- общений, передаваемых по каналу за единицу времени от всех пользователей, и нормируя его относительно пропускной способ- ности \!т (в сообщениях за единицу времени), из (4.11*) находим р ^Xw Пусть в качестве примера д=0,1. Это значит, что длительность сообщений в десять раз больше времени распространения сигна- ла из конца в конец. Для этого значения а имеем р < 0,6. Очевидно, это существенное улучшение по сравнению с эф- фективностью 0,18 для схемы Чистая Алоха и 0,368 для схемы Синхронная Алоха. Если значение а уменьшить еще больше (пу- тем сокращения длины кабеля или уменьшения пропускной спо- собности в бит/с в целях увеличения т), соответственно увели- чится ртах, приближаясь к максимально возможному значению, равному 1. Кроме проверки двух сигналов - обнаружения столкновения и проверки несущей, блоки доступа к каналу передают символы в коаксиальный кабель и принимают их из кабеля. Блок кодиро- вания передаваемых данных физического уровня кодирует сим- волы в двоичные сигналы с помощью манчестерского кода. При- мер такого кода показан на рис. 4.29. При этой схеме половина символьного интервала применяет- ся для передачи логического дополнения к разряду этого интер- вала, в течение второй половины передается исходное значение этого разряда. Таким образом, единицы передаются положитель- ным переходом сигнала, а нули - отрицательным переходом (см. рис. 4.29). Функции кодирования/декодирования манчестерско- го кода выполняются передающим блоком кодирования и при- емным блоком декодирования физического уровня. Эти блоки Л 189
также генерируют и удаляют 64-разрядные серии, называемые преамбулами, которые предшествуют фактически передаваемому кадру и применяются для синхронизации. Процедура кодирования, определенная стандартом для коль- ца с передачей метки, предусматривает применение дифференци- ального манчестерского кода. Этот метод отличается от примене- ния описанного выше манчестерского кода. Поток данных О Сигналы * Рис. 4.30. Дифференциальный манчестерский код В дифференциальном манчестерском коде для переноса дво- ичной информации применяются две полярности и переходы про- исходят в середине двоичного интервала. Однако в случае разря- 190
да 1 первая половина двоичного интервала несет ту же поляр- ность, что и вторая половина предыдущего интервала. В случае же разряда 0 переход происходит как в начале, так и в середине двоичного интервала. Пример на рис. 4.30 показывает, что при этой процедуре возникают две возможности в зависимости от полярности в конце интервала, предшествующего первому интер- валу. Спецификации ETHERNET. Ethernet - самая популярная в настоящее время сетевая архитектура. Она использует узкополос- ную передачу со скоростью 10 Мбит/с, топологию «шина», а для регулирования трафика в основном сегменте кабеля - CSMA/CD (МДПН/ОС) [1]. Среда (кабель) Ethernet является пассивной, т.е. получает питание от компьютера. Следовательно, она прекратит работу из-за физического повреждения или неправильного под- ключения терминатора. Сеть Ethernet имеет следующие характеристики. • Традиционная топология - линейная шина. • Другие топологии - звезда-шина. • Тип передачи - узкополосная. • Метод доступа - CSMA/CD. Формат кадра. Ethernet разбивает данные на пакеты (кад- ры), формат которых отличается от формата пакетов, исполь- зуемого в других сетях. Кадры представляют собой блоки ин- формации, передаваемые как единое целое. Кадр Ethernet мо- жет иметь длину от 64 до 1518 байт, но сама структура кадра Ethernet использует по крайней мере 18 байт, поэтому размер блока данных в Ethernet - от 46 до 1500 байт. Каждый кадр со- держит управляющую информацию и имеет общую с другими кадрами организацию. Например, передаваемый по сети кадр Ethernet II (рис. 4.31) используется для протокола TCP/IP. Кадр состоит из частей (полей), которые описаны ниже. Поле кадра Преамбула Местоназначение и источник Тип Циклический избыточный код (CRC) Описание Отмечает начало кадра Указывает адрес источника и адрес приемника Используется для идентификации протокола сетевого уровня Поле информации для проверки ошибок 191
Данные CRC Преамбула Источник Приемник Тип Рис. 4.31. Кадр данных Ethernet II Сети Ethernet используют различные варианты кабелей и то- пологий. Далее будут представлены варианты, основанные на спецификации IEEE. Стандарты IEEE на 10 Мбит/с. Рассмотрим четыре тополо- гии Ethernet со скоростью передачи данных 10 Мбит/с: • стандарт lOBaseT • стандарт 10Base2 • стандарт 10Base5 • стандарт lOBaseFL Стандарт lOBaseT. В 1990 г. IEEE опубликовал специфика- цию 802.3 для построения сети Ethernet на основе витой пары. lOBaseT (f0 - скорость передачи, Мбит/с; Base - узкополосная; Т - витая пара) - сеть Ethernet, которая для соединения компью- теров обычно использует неэкранированную витую пару (UTP). Тем не менее и экранированная витая пара (STP) также может применяться в топологии lOBaseT без изменения каких-либо ее параметров. Большинство сетей этого типа строится в виде звезды, но по системе передачи сигналов представляет собой шину, как и дру- гие конфигурации Ethernet. Обычно концентратор сети lOBaseT выступает как многопортовый репитер и часто располагается в 192
распределительной стойке здания. Каждый компьютер подклю- чается к другому концу кабеля, соединенного с концентратором (рис. 4.32), и использует две пары проводов: одну для приема, другую для передачи. Максимальная длина сегмента lOBaseT - 100 м. Минималь- ная длина кабеля - 2,5 м. ЛВС lOBaseT может обслуживать до 1024 компьютеров. Активный концентратор 100 м Рис. 4.32. Использование активного концентратора для увеличения длины кабеля На рис. 4.33 показано, как сеть lOBaseT реализует преимуще- ства топологии «звезда». Кабель UTP обеспечивает скорость пе- редачи данных 10 Мбит/с. Изменение конфигурации производит- ся на коммутационных панелях простым переключением шнура из одного гнезда в другое. Эти изменения не затрагивают другие сетевые устройства. Стандарт 10Base2. В соответствии со спецификацией IEEE 802.3 эта топология называется 10Base2 (2 - передача на расстоя- ние, примерно в два раза превышающее 100 м). п-1864 193
194 •J __L_ Распределительные I стойки и полки Коммутационные панели Рис. 4.33. Использование коммутационных панелей для упрощения изменений в конфигурации сети
Сеть такого типа ориентирована на тонкий коаксиальный кабель, или тонкий Ethernet, с максимальной длиной сегмента 185 м. Минимальная длина кабеля 0,5 м. Кроме того, существует ограничение на максимальное количество компьютеров, которое может быть размещено на 185-метровом сегменте кабеля, - 30 штук. Компоненты кабеля «Тонкий» Ethernet: • BNC - баррел-коннекторы; • BNC Т - коннекторы; • BNC - терминаторы. Сети на «тонком» Ethernet обычно имеют топологию «шина». Стандарты IEEE для «тонкого» Ethernet не предусматривают ис- пользование кабеля трансивера между Т-коннекторбм и компь- ютером. Вместо этого Т-коннектор располагают непосредствен- но на плате сетевого адаптера. BNC баррел-коннектор, соединяя сегменты кабеля, позволя- ет увеличить его общую длину. Например, если нужен кабель длиной 30 м, а есть сегменты тонкого кабеля по 20 м и 5 м, то соединяют двумя баррел-коннекторами эти сегменты, чтобы по- лучить кабель нужной длины. Однако использование баррел-кон- некторов желательно свести к минимуму, поскольку они ухудша- ют качество сигнала. Сеть на «тонком» Ethernet - экономичный способ реализа- ции сетей для небольших отделений и рабочих групп. Использу- емый в такого типа сетях кабель: • относительно недорогой, • прост в установке, • легко конфигурируется. По спецификации IEEE 802.3 сеть на «тонком» Ethernet мо- жет поддерживать до 30 узлов (компьютеров и репитеров) на один кабельный сегмент. Правило 5-4-3 для 10 Base2. Сеть на «тонком» Ethernet может состоять максимум из 5 сегментов кабеля, соединенных 4 репите- рами, но только к 3 сегментам могут быть подключены рабочие станции. Таким образом, 2 сегмента остаются зарезервирован- ными для дэепитеров, их называют межрепитерными связями. Такая конфигурация известна как правило 5-4-3. На рис. 4.34 показаны 5 магистральных сегментов и 4 репите- ра. К магистральным сегментам 1, 2, 5 подключены компьюте- ры. Магистральные сегменты 3,4 предназначены только для. уве- личения общей длины сети. 13* 195
196 ( \S—1 \ Магистральный сегмент 1 ~~~• -х. Магистральный сегмент 5 > Репитер 2 Г" ’ ИБиЛ Дрду^ДДДЩМдДДИдиИВ^^^^^ Магистральный сегмент 2 --^Репитер 1 Магистральный сегмент 3 Ь>ивй^^Й1 nbt~Z~ ’^к^Репитер 3 Репитер 4 *4. Магистральной сегмент 4 1^2 Рис. 4.34. Правило 5-4-3 для «тонкого» Ethernet
Поскольку для сетей на «тонком» Ethernet ограничения слиш- ком жесткие, большие предприятия, чтобы соединить сегменты и увеличить общую длину сети до 925 м, используют репитеры. Стандарт 10 Base 5. В соответствии со спецификацией IEEE эта топология называется 10Base5. Известно и другое ее назва- ние - стандартный Ethernet. Сети на толстом коаксиальном кабеле («толстый» Ethernet) обычно используют топологию «шина». «Толстый» Ethernet мо- жет поддерживать до 100 узлов на магистральный сегмент. Ма- гистраль - главный кабель, к которому присоединяются транси- веры с подключенными к ним рабочими станциями и репитера- ми. Сегмент «толстого» Ethernet может иметь длину 500 м при общей длине сети 2500 м. Расстояния и допуски для «толстого» Ethernet больше, чем для «тонкого» Ethernet. Компоненты кабельной системы. • Трансиверы. Они, обеспечивая связь между компьютером и главным кабелем ЛВС, совмещены с «зубом вампира», соединен- ным с кабелем. • Кабели трансиверов. Кабель трансивера (ответвляющийся кабель) соединяет трансивер с платой сетевого адаптера (рис. 4.35). Рис. 4.35. «Толстый» Ethernet с подключенным трансивером 197
• DIX-коннектор, или AUI-коннектор, располагаемый на ка- беле трансивера. • Коннекторы TV-серии (в том числе баррел-коннекторы) и тер- минаторы TV-серии. Компоненты «толстого» Ethernet работают так же, как ком- поненты тонкого Ethernet. Правило 5-4-3 для 10 Base5 - «толстого» Ethernet. Сеть на «тол- стом» Ethernet может состоять максимум из 5 магистральных сег- ментов, соединенных репитерами, но только к 3 сегментам при этом могут быть подключены компьютеры (рис. 4.36). При вы- числении общей длины кабеля «толстый» Ethernet длина кабеля трансивера не учитывается, т.е. в расчет принимают только дли- ну сегмента кабеля «толстый» Ethernet. Минимальное расстояние между соседними подключениями - 2,5 м. В это расстояние не входит длина кабеля трансивера. «Тол- стый» Ethernet был разработан для построения ЛВС в. рамках большого отдела-или всего здания. Комбинирование «толстого» и «тонкого» Ethernet. Обычно в крупных сетях используют толстый и тонкий Ethernet. Толстый Ethernet хорошо подходит в качестве магистрали, а для ответв- ляющихся сегментов применяют тонкий Ethernet. Трансивер со- единяется с кабелем «Толстый Ethernet», AUI-коннектор кабеля трансивера включается в репитер. Ответвляющиеся сегменты тон- кого Ethernet соединяются с репитером, а к ним уже подключа- ются компьютеры. Стандарт 10 Base FL. Он представляет собой сеть Ethernet, в которой компьютеры и репитеры соединены оптоволоконным кабелем. Основная причина популярности lOBaseFL - возможность прокладывать кабель между репитерами на большие расстояния (например, между зданиями). Максимальная длина сегмента lOBaseFL - 2000 м. Стандарты IEEE на 100 Мбит/с. Новые стандарты Ethernet позволяют превысить скорость передачи в 10 Мбит/с. Эти новые возможности разрабатываются для таких приложений, порожда- ющих интенсивный трафик, как: • CAD (системы автоматического проектирования); • САМ (системы автоматического производства); • видео; • отображение и хранение документов. 198
661 Рис. 4.36. Правило 5-4-3 для «толстого» Ethernet: 1,2, 3,4 и 5 - сегменты ЛВС
Известны два стандарта Ethernet, которые могут удовлетво- рить возросшим требованиям: • lOOBaseVG-AnyLAN Ethernet; • lOOBaseX Ethernet (Fast Ethernet). И Fast Ethernet, и lOOBaseVG-AnyLAN работают примерно в 5-10 раз быстрее, чем стандартный Ethernet. Кроме того, они со- вместимы с существующей кабельной системой 1 OBaseT. Это оз- начает, что перейти от нее к этим стандартам достаточно просто и быстро. 4.6. Сетевой уровень модели OSI 4.6.1. Методы коммутации в компьютерных сетях Магистральный канал передачи данных состоит из отдельных линий связи и уздов коммутации, которые обеспечивают соеди- нение территориально удаленных абонентов между собой. Уста- новление соединения (физического или виртуального) осуществ- ляется с помощью того или иного метода коммутации. В зависи- мости от методов установления соединения и способов передачи данных от одного узла к другому различают сети с коммутацией каналов, коммутацией сообщений и коммутацией пакетов [10]. Сети с коммутацией каналов. В сетях с коммутацией каналов между вызывающей и вызываемой оконечными установками в течение всего времени передачи имеется сквозное соединение (рис. 4.37). Соединительный тракт состоит из ряда участков, которые в процессе установления соединения включаются последователь- но один за,другим. Он является «прозрачным» в отношении ко- дов и методов управления. Время распространения сигнала дан- ных по соединительному тракту постоянное. В сеансе связи различают три фазы: установление соединения, передачу данных и разъединение соединения (рис. 4.38). Процессом установления соединения управляет источник, который посылает сигнал вызова, получает ответный сигнал (при- глашение к набору номера) и вслед за этим передает адресную информацию (знаки набора номера). Коммутационный узел об- рабатывает эту информацию, занимает один из каналов в пучке, ведущем к следующему коммутационному узлу, и передает пос- 200
Коммутатор 201 • < Рис. 4.37. Сеть с коммутацией каналов *
Вызов Знаки набора Данные Знак отбоя Приглашение к набору Извещение о соединении Подтверж- дение отбоя Установление соединения Пере- 1 Разъединение дача * соединения данных1 ‘ Рис. 4.38. Фазы сеанса связи леднему знаки набора, необходимые для дальнейшего установ- ления соединения. Таким образом, постепенно, по участкам, вплоть до вызываемого абонента образуется соединительный тракт. После завершения этого процесса от сети на вызывающую и вызываемую оконечные установки поступают сигналы, изве- щающие о том, что соединение готово к передаче данных. В течение фазы передачи данных управление осуществляется оконечной установкой. В ней принимается решение о мерах, ко- торые необходимо принять для обнаружения и исправления оши- бок передачи. Разъединение может быть начато любой из двух связанных между собой оконечных установок с помощью сигнала отбоя. По этому сигналу все коммутационные узлы, участвующие в обра- зовании соединительного тракта, отключают соединения. Среди сетей передачи данных с коммутацией каналов различают два типа: синхронные и асинхронные сети. В асинхронных сетях общая синхронизация по элементам от- сутствует и для сети не задаются единые «такты». Аппаратура передачи данных и коммутационные устройства имеют самосто- ятельные, независимые один от другого тактовые генераторы. В синхронной сети с коммутацией каналов ход во времени всех процессов передачи и коммутации определяется единым такто- вым синхросигналом. Он подводится ко всей аппаратуре и обо- 202
рудованию сети, задает для всей сети жесткий временной растр и обеспечивает синхронизм всех процессов. Сети с коммутацией сообщений. В сети с коммутацией сооб- щений между оконечными установками, обменивающимися ин- формацией, нет сквозного соединения. В коммутационных узлах сообщения заносятся в память и передаются далее по участкам переприема от узла к узлу. На рис. 4.39 показана схема сети с коммутацией сообщений. На оконечной установке, от которой необходимо передать сооб- щение, оно снабжается заголовком, содержащим адрес желаемо- го абонента, и по абонентской линии а передается на ближай- ший коммутационный узел А. Там сообщение запоминается, об- *.-• рабатывается его заголовок, определяется, в какую из исходящих линий далее его нужно направить и, наконец, передается на сле- дующий коммутационный узел В. Если линия в, по которой нужно передать сообщение далее, занята, то оно остается в запоминающем устройстве (буферном накопителе узла) до тех пор, пока не будут переданы все находя- щиеся перед ним в очереди другие сообщения. Поскольку на уча- стке в магистральном канале скорость передачи обычно выше, чем в абонентской линии а, длительность передачи по этому уча- стку на временной диаграмме (см рис. 4.39) показана более ко- роткой. Узел коммутации В, в котором сообщение обрабатыва- ется так же, как и в узле А, передает сообщение по линии с на узел С. От последнего оно передается по абонентской линии d на при- нимающий модуль абонента. Время ожидания, в течение которого сообщение хранится в узле коммутации, зависит от длины очередей на линии связи, по- этому общее время прохождения сообщения между двумя око- нечными установками в сети может быть различным. Запись со- общений в память упрощает трансформацию скоростей различ- ного оборудования данных, осуществляемую в коммутационных узлах. Использование на межузловых участках дуплексных вы- сокоскоростных линий связи позволяет более эффективно, чем в сетях с коммутацией каналов, передавать требуемый объем ин- формации и использовать ресурсы сети. Однако экономию ли- ний связи следует сопоставлять с затратами, необходимыми для запоминания и обработки сообщений в узлах коммутации. Сеть с пакетной коммутацией. Коммутация пакетов являет- ся развитием метода коммутации сообщений. Она позволяет до- 203
204 A Время Узел коммутации Оконечная установка передачи данных Рис. 4.39. Сеть с коммутацией сообщений Время передачи по линиям связи Время обработки и ожидания в узлах коммутации
биться дальнейшего увеличения пропускной способности сети, скорости и надежности передачи данных. В сети с коммутацией пакетов сообщения разделяются на отдельные части, называемые пакетами (рис. 4.40). Каждый пакет имеет, как правило, фикси- рованную длину и снабжается заголовком, указывающим адрес пункта отправления, адрес пункта назначения и номер пакета в сообщении. Максимальная длина пакета лежит в пределах от 104 до 2-104 бит. Разложение сообщения на пакеты и восстановление его после передачи осуществляются оконечным оборудованием источника и адресата. . ' * . fr е/ • I . •. • Vi Заголовок Сообщение Заголовок Рис. 4.40. Пакетирование сообщений В принимающем коммутационном узле каждый пакет прове- ряется на наличие ошибок. На пакеты, принятые без ошибок, в ответ направляется подтверждение их приема (положительная квитанция ДА). Если же в пакете обнаружены ошибки, то посы- лается запрос на его повторную передачу (отрицательная квитан- ция НЕТ). Для передачи отдельных пакетов каждого сообщения по сети могут выбираться различные пути (рис. 4.41), что обеспечивает более гибкое и оперативное приспособление к состояниям заня- тости тех или иных линий связи и узлов коммутации. При этом могут возникнуть ситуации, когда пакеты поступают в адрес по- лучателя в неверной последовательности. 205
........ Путь пакета №1 — Путь пакета № 2 Рис. 4.41. Различные пути передачи пакетов Известны два способа передачи пакетов в сети передачи дан- ных: виртуальный и датаграммный. При работе в режиме вирту- ального канала коммутационный узел пункта назначения сорти- рует поступившие на него пакеты перед их дальнейшей переда- чей на оконечную станцию. В датаграммном режиме передачи сортировка возлагается на принимающую оконечную станцию. Метод коммутации пакетов по сравнению с другими метода- ми обеспечивает наименьшую задержку при передаче данных и наибольшую пропускную способность сети. 4.6.2. Управление потоком в сети * На сетевом уровне, в отличие от канального, где управление идет между двумя точками, должно быть организовано управле- ние потоком по всему виртуальному каналу от источника до по- лучателя. При этом предполагается, что канальный уровень справляется со своими задачами и ошибок в передаче между уз- лами нет. Если в сеть поступает большое число пакетов, то заметно ра- стут задержки; производительность, измеряемая числом пакетов, доставляемых по назначению в единицу времени, начинает сни- жаться. Если поступающая нагрузка достаточно высока, может 206
даже возникнуть тупиковая ситуация, когда все накопители ока- зываются переполнены, поступление нагрузки прекращается и производительность падает до нуля. Для предотвращения возникновения тупиковых ситуаций су- ществуют специальные методы. Наиболее распространенным является метод скользящего окна [14]. Окно - это неподтвержденные пакеты, находящиеся в вирту- альном канале (рис. 4.42). Рис. 4.42. Управление с помощью скользящего окна: а - начальное состояние; б - пакет 1 подтвержден; в - следующий пакет (2) подтвержден; N - размер окна в Рассмотрим виртуальный канал (ВК), проходящий на пути от источника к получателю по сети с коммутацией пакетов М узлов с накоплением и воспроизведением информации. Он представлен в виде разомкнутой сети массового обслуживания (рис. 4.43). I Рис. 4.43. Модель массового обслуживания & для виртуального канала
Если предположить, что каждая система независима, то мож- но применить аппарат теории массового обслуживания. Разомкнутая сеть может быть отнесена к составным системам массового обслуживания. Она имеет показатели, определенные в форме произведения (т.е. вероятности состояний всей сети вы- ражаются произведениями вероятностей состояний каждой сис- темы обслуживания). Наложим на эту модель скользящее окно (рис. 4.44). ВК Рис. 4.44. Модель управления с помощью скользящего окна Имеем частный случай замкнутой сети массового обслужи- вания. Здесь источник и получатель связаны дополнительной ис- кусственной системой обслуживания, обозначенной М + 1, ин- тенсивность обслуживания которой равна X, что соответствует интенсивности входящего потока в ВК. По замкнутой системе циркулирует фиксированное число N пакетов. Отметим теперь, как эта модель замкнутой системы охватывает механизм сколь- зящего окна. Если в ВК (верхние М систем обслуживания) нахо- дятся N пакетов, нижняя система обслуживания М+1 пуста и об- служивать не может. Это моделирует состояние блокировки, ко- торое пакеты встречают при поступлении в момент исчерпанного 208
окна. В момент, когда один из N пакетов в ВК поступает к полу- чателю, он появляется в системе обслуживания М+1 и источник теперь может доставить пакеты с пуассоновской интенсивностью X. Это имеет место всегда, если в ВК находится менее N пакетов; тогда остальные накапливаются в искусственной системе обслу- живания М + 1. Теорема Нортона: в сети массового обслуживания любой уча- сток, содержащий несколько узлов, может быть заменен одним эквивалентным узлом, производительность которого зависит от состояния преобразуемого участка. Теорема устанавливает, что М последовательных систем об- служивания между точками И и П могут быть заменены одной системой обслуживания, зависящей от их состояний, без измене- ния статистических характеристик между точками И и П. На рис. 4.45 показана замкнутая сеть массового обслужива- ния с одной системой обслуживания СО, вынесенной за ее преде- лы. Предположим, что требуется найти вероятности состояний только этой системы. Теорема Нортона устанавливает, что если сеть массового обслуживания имеет решение в форме произведе- ния, то отдельная зависящая от состояния система массового об- служивания, входящая в эту сеть, может быть выделена путем короткого замыкания точек А и В, как показано на рис. 4.45, б, позволяя п пакетам циркулировать по вновь образованной замк- нутой сети. Значительно более простой эквивалентной моделью для решения этой задачи является модель, показанная на рис. 4.45, в. В ней эквивалентная система обслуживания Нортона с ин- тенсивностью обслуживания и(п), где п - состояние СО, заменяет всю сеть между точками Л и В на рис. 4.45, а. Пусть теперь общее количество пакетов равно N. Если верх- няя система обслуживания находится в состоянии п, то нижняя система будет в состоянии N-n: Вероятность Рп того, что верхняя система находится в состоянии и, равна П«(0 (4.15) где Р находится из обычного нормирующего условия для вероятностей: (4.16) 1Д-1864 209
co Рис. 4.45. Применение теоремы Нортона к сетям массового обслуживания: а - исходная сеть; б - применение теоремы Нортона; в - эквивалентная модель 210
Эквивалентная замена для рассматриваемой сети приводит к зависящей от состояния характеристике обслуживания и(и) — и + (М-1) (4.17) Производительность и(п) в случае, когда среди М показан- ных СО распределены п пакетов, всегда меньше или равна р. Она должна удовлетворять условию и(п) - рРп {система непуста}, (4.18) Производительность у ВК, управляемого с помощью окна, по- лучается усреднением интенсивностей обслуживания по всем N: У='£и(п)рп- л=1 (4.19) На основании формулы Литтла задержка Е(Т) ВК из конца в конец равна отношению среднего числа пакетов в ВК к у (4.20) Чтобы увидеть, как хорошо работает управление с помощью окна, и определить значение N, предлагаемое для соответствую- щей характеристики управления, рассмотрим область очень боль- шой нагрузки. Предположим, что X —Тогда очевидно, что как только пакет поступит к получателю и к источнику вернется под- тверждение, в ВК немедленно вводится другой пакет. Таким об- разом, в этом предельном случае ВК всегда находится в состоя- нии N, E(ri)=N и производительность у равна у = u(ri) =----—---- 1 W + (M-1) (4.21) На основании формулы Литтла непосредственно получим Е(Т) = (4.22) M^l + TV 14* 211
Из этого равенства видно, что минимальная задержка М Е(Т) = — имеет место при #= 1. Это соответствует ожиданию. При увеличении размера окна N задержка растет пропорциональ- но, а производительность сначала линейно растет с N, но затем выравнивается, приближаясь к максимальному значению ц все более и более медленно с ростом N. Объединив равенства (4.21) и (4.22), получим простое выражение для характеристики обмена между задержкой и производительностью: ц-£(7)=(Л/-1)/(1--), Х->оо. (4.23) Равенство справедливо только для целых значений N. Какое значение N должно применяться? Из (4.21) и (4.22) вид- но, что оптимальное N = Af-l. Увеличение N за пределы этой точки приводит к устойчивому росту задержки. 4.6.3. Выбор кратчайших путей Для решения этой задачи используют различные алгоритмы. Алгоритм Дейкстры. Рассмотрим сеть на рис. 4.46. Число, про- ставленное у каждой линии, указывает ее стоимость. Целью яв- ляется нахождение кратчайшего пути от узла 7, выступающего источником, ко всем остальным узлам сети. Рис. 4.46. Пример сети 212
Обозначим через Z)(v) расстояние от источника 1 до узла v. Пусть L(i, j) - заданная стоимость пути между узлами i и j. Алго- ритм состоит из двух частей: начального шага и итераций, по- вторяющихся до завершения алгоритма. В множество N будем заносить кратчайшие пути к узлам. 1. Начальный шаг Устанавливаем N = {1}. Для каждого узла v, не принадлежа- щего множеству N, устанавливаем D(y) = L(l,v) (расстояние до узлов, не соединенных с узлом 1, принимаем равным бесконеч- ности). 2. Каждый последующий шаг Находим не принадлежащий множеству N узел w, для кото- рого D(w) минимально, и включаем w в множество АЛ Затем об- новляем значения D(w) для всех остальных узлов, не принадле- жащих N, путем вычисления оператора Z)(v) min (Z>(v), D(w) + L(w, v)]. (4-24) Шаг 2 повторяется, пока в множество N не войдут все узлы. Применение этого алгоритма к сети иллюстрируется после- довательными шагами, указанными в табл. 4.2. В столбцах выде- лены минимальные значения D(w) на каждом шаге (при равных расстояниях выбор ведут случайным образом). После каждого шага соответствующий узел w добавляется к N. Затем величины D(y) обновляются. Например, после начального шага во время шага 1 к множеству N добавляется узел 4, имеющий минималь- ное значение D(4)= 1. На шаге 2 в N включается узел 5 при D(5)=2 и т.д. После шага 5 все узлы оказываются включенными в множе- ство N и алгоритм завершается. Таблица 4.2 213
По мере работы алгоритма, приводящей к результатам, по- казанным в таблице, строится дерево кратчайших путей с кор- нем в узле 1: при включении узла во множество N он соединяется с соответствующим узлом, уже принадлежащим N. Результирую- щее дерево для сети показано на рис. 4.47. Цифры в скобках у каждого узла указывают шаг, на котором этот узел был включен в дерево. С помощью дерева кратчайших путей для узла 1 можно получить таблицу маршрутов для узла 1, показывающую исхо- дящий путь, по которому нужно направлять пакеты к узлу назна- чения. Подобная таблица маршрутов может быть составлена для каждого узла, являющегося источником сообщений. а Получатель Следующий шаг 2 2 3 4 4 4 5 4 6 4 б Рис. 4.47. Применение алгоритма Дейкстры (к рис. 4.45): источник - узел Г. а - построение дерева; б - таблица маршрутов 214
Алгоритм Флойда. Он также состоит из двух частей: началь- ного шага и расчетов кратчайших расстояний, которые повторя- ются до завершения алгоритма. Здесь кратчайшее расстояние представляет собой расстояние до данного узла от узла 1, напри- мер, рассматриваемого как узел назначения. Алгоритм заканчи- вается, когда для всех узлов фиксируется их расстояние до узла 1 (узла получателя) и отмечаются следующие узлы по направлению к узлу назначения по кратчайшему пути. Построение таблицы маршрутов требует повторного или параллельного применения этого алгоритма для каждого узла назначения, что дает в резуль- тате набор меток для каждого узла, причем каждая метка дает информацию о маршруте и расстоянии до конкретного узла на- значения. Рассмотрим опять рис. 4.45. Обращаясь ко второй части ал- горитма и применяя ее в циклическом порядке для узлов 2-6, на- ходим, что алгоритм завершается после двух циклов. Эти циклы и полученные в результате метки каждого цикла приводятся в табл. 4.3 (любой другой порядок обхода узлов приводит к тому же самому окончательному результату). Таблица 4.3 Применение алгоритма Флойда к сети рис. 4.45 Цикл Метки для узлов 2 4 5 6 Начальный (•,«>) (•, °0) (•, °0) (•»«) (•,<*>) 1 (1,2) (1,5) (1,1) (4,2) (5,4) 2 (1,2) (5,3) (1,1) (4,2) (5,4) Таким образом, в цикле 1 нужно отметить, что узел 2 являет- ся «ближайшим» к своему соседу 1. Его результирующая новая стоимость равна D(y) = Z)(l) + £(1,2) = 2. Следовательно, метка, как это и указано, имеет вид (1,2). Переходя к узлу 3, приходим к необходимости выбора стоимостей между Z>(2) + £(2,3) =5 или £>(1) + £(1,3) = 5. Выбирая произвольно £>(1) + £(1,3), получим (1,5), что показано в таблице (при другом выборе получится то же самое). Аналогично получаются другие результаты. В цикле 2 узел 3 имеет теперь пять соседних узлов с конечными значения- ми D(w), между которыми нужно произвести выбор. Минималь- 215
ное значение D(w)+L(w,3) равно D(5)+L(5,3), и метка узла 3, как показано в табл. 4.3, меняется на (5,3). Другие узлы не меняют своих меток, и алгоритм завершается. Опять же дерево кратчай- ших путей с корнем в узле 1, как показано на рис. 4.46 может быть получено путем обхода меток каждого узла. В результате узел 2 соединяется с узлом 1, узел 3 - с узлом 5, узел 4 - с узлом 7, узел 5 - с узлом 4 и узел 6 - с узлом 5. Иначе, таблица маршрутов или значение следующего узла в каждом узле по направлению к узлу 1 в точности является первым числом каждой двузначной метки, что и указывалось ранее. Для получения полной таблицы маршрутов в каждом узле алгоритм должен быть повторен для каждого узла, принимаемого в качестве узла назначения. 4.7. Глобальная сеть Интернет В настоящее время существуют два созвучных термина - ин- . тернет и Интернет. Под интернет понимают технологию обмена данными, основанную на использовании протоколов TCP/IP, а под Интернет - глобальное сообщество мировых сетей, которые используют интернет для обмена данными. Сеть Интернет начи- налась, аналогично большинству современных технологий, как военная программа, направленная на повышение устойчивости системы обороны США. 2 января 1969 г. управление перспективных исследований (ARPA), являющееся одним из подразделений Министерства обороны США, начало работу над проектом связи компьютеров оборонных органи- заций. В результате была создана сеть ARPANET, в основе функцио- нирования которой лежали принципы, на которых позже был пост- . роен Интернет. ARPANET должна была, с одной стороны, обеспе- чить сохранение коммуникаций в случае ядерной атаки противника, с другой стороны - облегчить сотрудничество различных исследова- тельских учреждений. ARPANET обеспечивала связь между универ- ситетами, военными учреждениями и предприятиями оборонной про- мышленности. В случае разрушения одной или нескольких линий свя- зи система должна была уметь переключаться на другие линии. Спустя некоторое время в систему были встроены программы перемещения файлов и электронная почта. Следующим этапом в развитии Интернет было создание сети Научного фонда США (NSF). Сеть NSFNET объединяла научные 216
центры США. Основой сети стали 5 суперкомпьютеров, соединен- ных между собой высокоскоростными линиями связи. Все остальные пользователи могли подключаться к сети и использовать возможно- сти этих суперкомпьютеров. В 1987 г. создается хребет сети NSFNET, состоящий из 13 цент- ров, соединенных высокоскоростными линиями связи. Центры рас- полагались в разных частях США. Сеть NSFNET быстро заняла ме- сто ARPANET и последняя была ликвидирована в 1990 г. Таким об- разом появилась сеть Интернет в США. Одновременно были созданы национальные сети в других стра- нах. Они стали объединяться и в 1990-х годах появился Интернет в его нынешнем виде. Сейчас Интернет объединяет тысячи разных се- тей, расположенных по всему миру. К Интернету имеют* доступ де- сятки миллионов пользователей. В России Интернет появился недавно (сначала как электронная почта). Бурный рост пользователей в России начался в 1996 г. Интернет скоро станет основным средством связи. Не только ком- пьютеры, но телефоны, телевизоры, видеокамеры и другие устрой- ства будут подключаться напрямую к Интернету. Умение работать в Интернете станет обязательным условием достижения успехов прак- тически в любой области деятельности. 4.7.1. Структура Интернета Отличительной особенностью Интернета является высокая надежность. При выходе из строя части компьютеров и линий связи сеть будет продолжать функционировать. Такая надежность обеспечивается тем, что в Интернете нет единого центра управле- ния. Если выходят из строя некоторые линии связи и компьюте- ры, то сообщения могут быть переданы по другим линиям связи. Как и любая другая компьютерная сеть, Интернет состоит из множества компьютеров, соединенных между собой линиями свя- зи, и установленных на этих компьютерах программ. Интернет обеспечивает обмен информацией между всеми компьютерами, которые входят в сети, подключенные к Интернету. Тип компь- ютеров и используемая ими операционная система значения не имеют. Основные ячейки Интернета - локальные вычислительные сети (ЛВС). Если ЛВС подключена к Интернету, то и каждая ра- бочая станция этой сети также может подключиться к Интерне- 217
ту. Существуют также компьютеры, самостоятельно подключен- ные к Интернету, - хост-компьютеры. «Центральная жила» Интернета- оптоволоконный кабель с очень высокой пропускной способностью. Информацию можно переносить и с помощью спутниковых систем связи. Интернет представляет собой совокупность физически взаи- мосвязанных хост-компьютеров (рис. 4.48). Каждый подключен- ный к сети компьютер имеет свой адрес, по которому его может найти абонент из любой точки мира. Пользователи Интернета подключаются к сети через компь- ютеры специальных организаций, которые называются постав- щиками услуг Интернета (провайдерами). Провайдеры (provider) имеют множество линий для подключений пользователей и вы- сокоскоростные линии связи для подключения к остальной час- ти Интернета. Мелкие поставщики подключены к более крупным и т.д. Все организации, соединенные между собой высокоскорос- тыми линиями связи, обрабатывают базовую часть сети, или хре- бет (Бэкбон - Backbon) Интернета. Если поставщик подключен непосредственно к хребту, то скорость передачи информации будет максимальной. Однако и одиночный пользователь, и ЛВС могут подключать- ся высокоскоростной линией к хребту Интернета и стать провай- дерами. Компьютеры, подключенные к Интернету, часто называются узлами Интернета, или сайтами (site - место). Узлы, установлен- ные у провайдеров, обеспечивают доступ пользователей к Ин- тернету. Многие фирмы создают в Интернете узлы, с помощью кото- рых они распространяют информацию о своих товарах и услугах (web - узлы). Подключение к Интернету с помощью провайдера означает, что пользователь с помощью своего модема устанавливает со- единение с компьютером поставщика услуг, который связывает его с Интернетом. В настоящее время используются 4 различных варианта подключения к Интернету. • Постоянное подключение (24 часа в сутки): ЛВС подсоеди- няются с помощью выделенной линии связи, которая обеспечи- вает высокую скорость передачи информации. Используется сред- ними и крупными фирмами. Дорогой вариант. • Работа с помощью электронной почты. Дешевый метод. 218
219 Провайдер Провайдер Провайдер М Хост-компьютер Рис. 4.48. Схема соединения компьютеров в Интернете
• Коммутируемое соединение с помощью эмуляции термина- ла (персональный компьютер - удаленный терминал поставщи- ка - использует систему поставщика; сейчас этот способ приме- няют в основном профессионалы, чтобы добиться некоторых не- стандартных результатов, а раньше пользовались многие). • Коммутируемое IP-соединение. Через обычную телефонную линию модем пользователя связывается с модемом ‘провайдера. Соединение сеансовое, так что во время сеанса клиент - полноп- равный пользователь Интернета, но по окончании сеанса связь с Интернетом разрывается. 4.7.2. Передача информации в Интернете В Интернете используют 2 основных понятия: адрес и протокол. Свой уникальный адрес имеет любой компьютер, подключен- ный к Интернету. Даже при временном соединении по коммути- руемому каналу компьютеру выделяется уникальный адрес. Адрес должен: 1) иметь формат, позволяющий вести его обработку авто- матически; 2) нести некоторую информацию о своем владельце. С этой целью для каждого компьютера устанавливаются 2 ад- реса: цифровой IP-адрес (Internetwork Protocol - межсетевой про- токол) и доменный адрес. Цифровой адрес удобен для обработки на компьютере, а до- менный адрес - для восприятия пользователем. Цифровой адрес Имеет длину 32 бита. Для удобства он разде- лен на 4 блока по 8 бит, которые можно записать в десятичном виде: адрес сети (например, 192.45); адрес подсети (9); адрес компь- ютера (150) - 192.45.9.150 Доменная адресация. Числовая адресация удобна для машин- ной обработки таблиц маршрутов, но совершенно неприемлема для использования ее человеком. Запомнить наборы цифр гораз- до труднее, чем мнемонические осмысленные имена. Для облег- чения взаимодействия в сети сначала стали использовать табли- цы соответствия числовых адресов именам машин. Эти таблицы сохранились до сих пор и используются многими прикладными программами. Это файлы с именем hosts. Если речь идет о систе- ме типа Unix, то этот файл расположен в директории /etc и имеет следующий вид: 220
127.0.0.1 144.206,160.32 144.206.160.40 Имя машины localhost Polyn Apollo Синонимы localhost Polyn WWW Последний столбец в этой таблице является необязательным. Пользователь для обращения к машине может использовать как IP-адрес машины, так и ее имя или синоним (alias). Обращения, написанные далее, приводят к одному и тому же результату - инициированию сеанса telnet с машиной Apollo: telnet 144.206.160.40 или < telnet Apollo или telnet www Однако такой способ присвоения символьных имен был хо- рош до тех пор, пока Интернет был небольшим. По мере роста сети стало затруднительно держать большие списки имен на каж- дом компьютере. Для того чтобы решить эту проблему, были предложены DNS (Domain Name System). Любая DNS является прикладным процессом, который рабо- тает над стеком TCP/IP. Таким образом, базовым элементом ад- ресации является IP-адрес, а доменная адресация выполняет роль сервиса. Система доменных адресов строится по иерархическому прин- ципу. Однако иерархия эта не строгая. Фактически нет единого корня всех доменов. В 1980-е годы были определены первые до- мены верхнего уровня: gov, mil, edu, com, net. Позднее, когда сеть перешагнула национальные границы США, появились нацио- нальные домены типа uk, jp, au, ch и т.п. Для СССР также был выделен домен (su). После 1991 г., когда республики Союза стали суверенными, многие из них получили свои собственные доме- ны. Однако домен СССР остался, ибо просто так выбросить до- мен из сервера имен нельзя, на основе доменных имен строятся адреса электронной почты и доступ ко многим другим информа- ционным ресурсам Интернет. Поэтому гораздо проще оказалось ввести новый домен к существующему, чем заменить его. Таким образом, в Москве существуют организации с доменными име- нами, оканчивающимися на su (например kiae.su). Вслед за доме- 221
нами верхнего уровня следуют домены, определяющие либо ре- гионы, либо организации. Далее идут очередные уровни иерар- хии, которые могут быть закреплены либо за небольшими орга- низациями, либо за подразделениями больших организаций. Всю систему доменной организации можно представить в виде рис. 4.49. Рис. 4.49. Доменная организация адресов в Интернете Для пользователей Интернета адресами могут быть их регис- трационные номера на компьютере, подключенном к сети. За именем следует знак @, например: BaranovskayT atyana@agrU. Krasnodar. ru Наиболее популярной программой поддержки DNS является hamed, кдторая реализует Berkeley Internet Name Domain (BIND). Сетевой протокол предписывает правила работы компьюте- рам, которые подключены к сети. Стандартные протоколы зас- тавляют разные компьютеры «говорить» на одном языке. Таким образом осуществляется возможность подключения к Интернету разнотипных компьютеров, работающих под управлением раз- личных операционных систем. На нижних (2-м и 3-м) уровнях используются 2 основных про- токола: IP-протокол Интернета и TCP-протокол управления пере- дачей. 222
Так как эти 2 протокола тесно взаимосвязаны, их часто объе- диняют и говорят, что в Интернете базовым протоколом является TCP/IP. Все остальные протоколы строятся на их основе. Конечными пользователями глобальной сети являются host (хозяин)-компьютеры (или устройства), имеющие 32-битный ад- рес, разбитый на 4 байта и представленный в десятичном форма- те (256.256.256.256), так как в двоичном виде он плохо восприни- мается людьми. Именно на основе этих компьютеров и функционирует Ин- тернет. Протокол TCP разбивает информацию на порции, нумерует все порции, чтобы при получении можно было правильно собрать информацию. Каждый пакет получает заголовок TCP, Где кроме адреса получателя содержится информация об исправлении оши- бок и о последовательности передачи пакетов. Затем пакеты TCP разделяются на еще более мелкие пакеты IP. Пакеты состоят из 3 различных уровней, каждый из которых содержит: • данные приложения; • информацию TCP; • информацию IP. Перед отправкой пакета протокол TCP вычисляет конт- рольную сумму кода сообщения. При поступлении сообщения снова рассчитывается контрольная сумма его кода, и если пакет поврежден, то запрашивается повторная передача. Затем принимающая программа объединяет пакеты IP в па- кеты TCP, из которых реконструируются исходные данные. Протоколы TCP/IP обеспечивают передачу информации меж- ду компьютерами. Все остальные протоколы с их помощью реа- лизуют самые разные услуги Интернета. 4.7.3. Краткая характеристика ресурсов Интернета Информационные ресурсы Интернета - это вся совокупность информационных технологий и баз данных, которые доступны при помощи этих технологий. К их числу относятся, например: • электронная почта; • система телеконференций Usenet; • система файловых архивов FTP; • информационная сеть WWW; 223
• информационная система Gopher; • информационная система WAIS; • информационные ресурсы LISTSERV; • справочные книги Х.500; • справочная служба WHOIS; • информационные ресурсы Mailbase и TRICKLE. Главный режим доступа к информационным ресурсам Интер- нета - это on-line. Даже серверы электронной почты обменива- ются информацией между собой в интерактивном режиме по про- токолу SMPT. В отечественных условиях, несмотря на бурное развитие те- лекоммуникаций, основным средством доступа к Интернету яв- ляется электронная почта. К счастью, многие информацион- ные ресурсы сети имеют программы-роботы, которые способ- ны общаться с почтовыми клиентами по схеме, представленной на рис. 4.50. Оперативный Рис. 4.50. Схема почтового обмена с робот-программой Электронная почта - один из важнейших информационных ресурсов Интернета. Она является самым массовым средством электронных коммуникаций. Любой из пользователей Интерне- та имеет свой почтовый ящик в сети. Если учесть, что через Ин- тернет можно принять или послать сообщения еще в два десятка международных компьютерных сетей, часть из которых не име- ют on-line-сервиса вовсе, то становится понятным, что почта пре- доставляет возможности в некотором смысле даже более широ- кие, чем просто информационный сервис Интернета. Электронная почта во многом похожа на обычную почтовую службу. Корреспонденция подготавливается пользователем на своем рабочем месте либо программой подготовки почты, либо просто стандартным текстовым редактором. Обычно програм- 224
ма подготовки почты вызывает текстовый редактор, который пользователь предпочитает всем остальным программам этого типа. Затем пользователь должен вызвать программу отправки почты (программа подготовки почты вызывает программу от- правки автоматически). Стандартной программой отправки яв- ляется программа sendmail. Она работает как почтовый курьер, который доставляет обычную почту в отделение связи для даль- нейшей рассылки. В Unix-системах sendmail сама является отде- лением связи. Она сортирует почту и рассылает ее адресатам. Для пользователей персональных компьютеров, имеющих почтовые ящики на своих машинах и работающих с почтовыми серверами через коммутируемые телефонные линии, могут потребоваться • дополнительные действия. Так, например, пользователи почто- вой электронной службы Relcom должны запускать программу протокола UUCP, которая осуществляет доставку почты на по- чтовый сервер. Для работы электронной почты в Интернете разработан спе- циальный протокол Simple Mail Transfer Protocol (SMTP), кото- рый является протоколом прикладного уровня и использует транспортный протокол TCP. Однако совместно с этим прото- колом используется и Unix-Unix-CoPy (UUCP) протокол. UUCP хорошо подходит для использования телефонных линий связи. Большинство пользователей электронной почты Relcom реаль- но пользуются для доставки почты на узел именно этим протоко- лом. Разница между SMTP и UUCP заключается в том, что при использовании первого протокола sendmail пытается найти ма- шину-получателя почты и установить с ней взаимодействие в ре- жиме on-line, чтобы передать почту в ее почтовый ящик. В случае использования SMTP почта достигает почтового ящика получа- теля за считанные минуты и время получения сообщения зависит только от того, как часто получатель просматривает свой почто- вый ящик. Usenet - это система телеконференций Интернета. Она пост- роена по принципу электронных досок объявлений, когда любой пользователь может поместить свою информацию в одну из групп новостей Usenet и эта информация станет доступной другим пользователям, которые на данную группу новостей подписаны. Именно этим способом распространяется большинство сообще- ний Интернета, например списки наиболее часто задаваемых воп- росов (FAQ) или реклама программных продуктов. Но по Usenet 1 С-1864 225
можно получить и вирус, если заказывать и распаковывать все подряд, что приходит на ваш почтовый адрес. Usenet - хорошее место для объявления международных конференций и семинаров. Система файловых архивов FTP - это огромное распределен- ное хранилище всевозможной информации, накопленной за пос- ледние 10-15 лет в Интернете. Любой пользователь может при- бегнуть к услугам анонимного доступа к этому хранилищу и ско- пировать интересующие его материалы. Объем программного обеспечения в архивах FTP составляет терабайты информации, и ни один пользователь или администратор сети не может про- сто физически обозреть эту информацию. Кроме программ, в FTP-архивах можно найти стандарты Интернета - RFC, пресс- релизы, книги по различным отраслям знаний, главным образом по компьютерной проблематике, и многое другое. Практически любой архив строится как иерархия директорий. Многие архивы дублируют информацию из других архивов (так называемые «зеркала» - mirrors). Чтобы получить нужную ин- формацию, вовсе не обязательно ждать, пока информация будет передана из Австралии или Южной Африки, можно поискать «зеркало» где-нибудь ближе, например в Финляндии или Шве- ции. Для этой цели существует специальная программа Archie, которая позволяет просканировать FTP-архивы и найти тот, ко- торый устраивает пользователя по составу программного обес- печения и коммуникационным условиям. Распределенная гипертекстовая информационная система World Wide Web - это последний хит Интернета. Темпы развития этого сервиса столь стремительны, что за последний год число серверов WWW увеличилось в три раза. WWW предоставляет удобный доступ к большинству информационных архивов Ин- тернета. Особенностью системы является механизм гипертексто- вых ссылок, который позволяет просматривать материалы в по- рядке выбора этих ссылок пользователем. Многие интерфейсы данной технологии позволяют выбирать интересующий матери- ал простым нажатием кнопки «мыши» на нужном слове или поле графической картинки. Система универсальных адресов позво- ляет проадресовать практически все информационные ресурсы Интернета. Многие издательства взяли WWW на вооружение для электронных версий своих журналов. В WWW существует боль- шое число различного рода каталогов, которые позволяют ори- 226
ентироваться в сети. Кроме того, пользователи могут выполнить даже удаленные программы или смотреть фильмы по сети Ин- тернет. Такой сервис не обеспечивается другими информацион- ными системами Интернета. Gopher - это еще одна распределенная информационная сис- тема Интернета. В основу ее интерфейсов положена идея иерар- хических каталогов. Внешне Gopher выглядит как огромная фай- ловая система, которая расположена на машинах сети. Перво- начально Gopher задумывался как информационная система университета с информационными ресурсами факультетов, ка- федр, общежитий и т.п. До сих пор основные информационные ресурсы Gopher сосредоточены в университетах. Gbpher счита- ется простой системой, легкой в установке и администрировании, достаточно надежной и защищенной. Число серверов Gopher на 1994 г. превышало число серверов WWW в 1,5 раза, и до 1995 г. темпы роста установок серверов Gopher опережали все осталь- ные ресурсы Интернета. В России Gopher-серверы не так распро- странены, как во всем мире - профессионалам больше нравится World Wide Web. WAIS - это распределенная информационно-поисковая сис- тема Интернета. Родилась WAIS как перспективная разработка четырех ведущих американских компаний и первое время была коммерческим продуктом, пока не появилась свободно распрос- траняемая версия freeWAIS. В основу системы положен принцип поиска информации с использованием логических запросов, ос- нованных на применении ключевых слов. Клиент «обшаривает» все серверы WAIS на предмет наличия на них документов, удов- летворяющих запросу. WAIS широко применяется как поиско- вая машина в других информационных сервисах Интернета, на- пример в WWW и Gopher. Наиболее известным проектом, где была применена WAIS, является электронная версия энциклопе- дии «Британика». LISTSER V - это, строго говоря, не сервис Интернета, а сис- тема почтовых списков BITNET. Однако это очень популярный ресурс в глобальных компьютерных сетях, и в Интернете суще- ствуют шлюзы для доступа к нему. LISTSERV специально ори- ентирован на применение в качестве транспорта электронной почты. Доступ к нему в интерактивном режиме затруднен. В мире насчитываются многие сотни списков LISTSER V, которые орга- 227
г низованы по группам интересов. Например, существуют группы разработчиков программ ядерно-физических расчетов EGS-4 или группы любителей научной фантастики. LISTSERV сильно пе- ресекается с Usenet, однако это не мешает существованию как одной, так и другой системы. Х.500 является европейским стандартом для компьютерных справочных служб. Базы данных Х.500 содержат информацию о пользователях сети, их электронные и обычные адреса, иденти- фикаторы и реальные имена, должности и места службы. Х.500 хранит информацию не только о физических лицах, но и об орга- низациях. В последнем случае дается краткое описание основных направлений их деятельности. WHOIS - служба, аналогичная по назначению системе Х.500, но являющаяся детищем Интернета. Работа с системой WHOIS несколько отличается от работы с Х.500 в силу ее организации. WHOIS распределенная система - это значит, что запросы от- правляются по всему множеству серверов WHOIS в Интернете, если только не указан адрес конкретного сервера. МА ILBA SE - это система, во многом повторяющая уже опи- санный LISTSERV. TRICKLE - это доступ по почте к архивам RTF, который орга- низован через специальный шлюз. Этот шлюз имеет специаль- ные навигационные средства для поиска нужной информации в сети, пользователь может вести с ним своеобразный диалог по почте, выбирая нужную информацию посредством ввода специ- альных команд TRICKLE. Кроме того, существуют и другие ресурсы, к которым можно получить доступ по почте. * г 4.7.4: Удаленный доступ к ресурсам сети TELNET - это одна из самых старых информационных тех- нологий Интернета. Она входит в число стандартов, которых на- считывается три десятка на полторы тысячи рекомендуемых офи- циальных материалов сети, называемых RFC (Request For Com- ments). Под TELNET понимают триаду: • telnet-интерфейса пользователя, • telnet-процесс, • telnet-протокол. 228
Эта триада обеспечивает описание и реализацию сетевого тер- минала для доступа к ресурсам удаленного компьютера. В настоящее время существует достаточно большое число программ - от Kermit до различного рода BBS (Bulletin Board System), которые позволяют работать в режиме удаленного тер- минала, но ни одна из них не может сравниться с telnet по степе- ни проработанности деталей и концепции реализации. TELNET как протокол описан в RFC-854 (май 1983 г.). Его авторы J. Postel и J. Reynolds во введении к документу определи- ли назначение TELNET так: «Назначение TELNET-протокола - дать общее описание, на- сколько это только возможно, двунаправленного, восьмибито- вого взаимодействия, главной целью которого является обеспе- чение стандартного метода взаимодействия терминального уст- ройства и терминал-ориентированного процесса. При этом данный протокол может быть использован и для организации вза- имодействий «терминал-терминал» (связь) и «процесс-процесс» (распределенные вычисления)». TELNET строится как протокол приложения над транспорт- ным протоколом TCP. В основу TELNET положены три фунда- ментальные идеи: • концепция сетевого виртуального терминала (Network Virtual Terminal), или NTV; • принцип договорных опций (согласование параметров вза- имодействия); • симметрия связи «терминал-процесс». При установке telnet-соединения программа, работающая с реальным терминальным устройством, и процесс обслуживания этой программы используют для обмена информацией специфи- кацию представления правил функционирования терминально- го устройства. 4.7.5. Коммерческое применение Интернета До недавнего времени Интернет рассматривается исключи- тельно как глобальное средство информации. В последние 2-3 года возможности Интернета, связанные прежде всего с появле- нием сервиса WWW, создали благоприятную почву для ведения бизнеса в Интернете. Реальность такова, что любая компания или 229
бизнесмен могут рассматривать Интернет в качестве средства для реализации коммерческих целей. Организация виртуального (электронного) магазина для проведения коммерции через Ин- тернет становится все более насущной потребностью для боль- шинства фирм. Интернет открывает доселе никому неизвестные возможнос- ти ведения бизнеса. Любой деловой человек должен понять, что только тот, кто может наиболее полно и качественно использо- вать потенциал Интернета, имеет шанс значительного улучше- ния своих конкурентных позиций. Уже сейчас Интернет активно используется многими компа- ниями как оперативное средство связи. Причем речь идет как о коммутации внутри одной корпорации (допустим, между разны- ми службами или отделами), так и об обмене информацией меж- ду разными фирмами, связанными партнерскими отношениями, выступая в роли заказчика и поставщика. Подобное применение Интернета (чаще всего в этом случае речь идет об использовании электронной почты) позволяет оптимизировать информационные потоки и непосредственно ускорить и сделать более качествен- ным процесс ведения самого бизнеса. Другая активно применяе- мая модель бизнеса в Интернете связана с использованием Ин- тернета как средства массовой информации для распростране- ния сведений как о самой фирме, так и о ее продукции и услугах, или, проще говоря, для рекламы, а также в качестве инструмента маркетингового исследования. Однако наиболее перспективным вариантом ведения сетево- го бизнеса следует считать электронную коммерцию, которая подразумевает создание виртуального магазина, позволяющего организовать торговлю своей продукцией в Сети. Число компаний в мире, занимающихся электронной коммер- цией, в 1996 г. составило 111 тыс. и,. по прогнозам, достигнет к 2000 г. 435 тыс. (данные Voipe, Wetty&Co.), при этом суммарный оборот Интернета возрастет с 9,5 млрд долл. США до 196 млрд долл. США (данные Forrester Research, Inc.). Розничные прода- жи через Интернет вырастут с 500 млн долл. США в 1996 г. до 7 млрд долл, в начале нового тысячелетия. Еще более внушитель- ны цифры, касающиеся сектора расчета между компаниями: со- ответственно 600 млн долл. США и 66 млрд долл. США. Подоб- ные поразительные темпы развития не могут не затронуть рос- сийскую часть Интернета, которая также активно внедряется в 230
электронную коммерцию. О перспективах введения последней говорит хотя бы тот факт, что 25% пользователей российской части Интернета - руководители различного ранга. Виртуальный магазин по сути дела - реализованное в Интер- нете представительство путем создания Web-сервера. Основная цель организации последнего заключается в продаже товаров и услуг другим пользователям Интернет. Заглянувший на сервер посетитель может посредством гипертекстовых ссылок и исполь- зуя многочисленные мультимедийные возможности, получить в полном объеме интересующую его информацию о продукции и в конечном итоге сделать заказ. Виртуальный магазин должен иметь доменный адрес и, как и любой другой Web-ceppep, он со- стоит из целого ряда гипертекстовых страниц, зачастую с муль- тимедийными элементами. Варианты реализации виртуального магазина могут быть раз- личны. Говоря об электронной коммерции, в одних случаях мож- но подразумевать лишь сопровождение при помощи Интернета сделок и поставок’, выбор товара, заказ, в некоторых случаях - даже и оплата. Однако непосредственно поставка товара осуще- ствляется обычным путем (автомобили, компьютеры, бытовая техника и т.д.). В других случаях применение Интернета предпо- лагает возможность поставок продукта по Интернету. Речь идет о продаже информации. Торговля информационной продукцией в Интернете имеет свои особенности и поэтому должна рассмат- риваться отдельно. Виртуальные магазины во многом схожи с обыкновенными торговыми центрами, однако при этом имеют ряд неоспоримых преимуществ. Как в любом магазине, здесь обязательно должен присутствовать торговый зал, где покупатель (он же посетитель соответствующего сервера) может спокойно «походить», щелкая мышкой, с одной страницы на другую и узнать всю интересую- щую его информацию о продуктах. В случае большого ассорти- мента товаров имеет смысл «разложить их по полкам» (отдель- ным страницам), чтобы пользователям было легче ориентиро- ваться. Некто, заинтересовавшись каким-либо продуктом, должен иметь возможность узнать о последнем все его интересующее - это основной принцип, из которого следует исходить при орга- низации виртуального магазина. Некоторые из них организова- ны таким образом, что покупатель, прежде чем принять оконча- тельное решение о покупке, может осмотреть товар со всех сто- 231
рон, узнать все возможные параметры. Например, при покупке автомобиля в виртуальном магазине можно даже послушать, как у него работает мотор (не за горами время, когда без особых хло- пот можно будет даже уловить запах машинного масла). Таким образом, продавец имеет возможность наилучшим образом опи- сать и продемонстрировать качество товара, а покупатель, в свою очередь, не выходя из дома, - получить всю необходимую инфор- мацию. Выбрав в виртуальном магазине товар и узнав его стоимость, покупатель может, перейдя по ссылке на другую страницу, зака- зать его и получить на него счет. При оплате заказанного товара можно воспользоваться кредитной карточкой. Однако существу- ют определенного рода опасения, что информация о номерах и персональных кодах кредитных карточек может стать добычей хакеров. Проблема безопасности Интернета, тормозящая разви- тие всего сетевого бизнеса, уже сейчас с успехом решается при помощи различных способов и схем шифрования информации, передаваемой по Интернету. Вполне вероятно, что когда эта за- дача будет окончательно решена, мы станем свидетелями новой волны роста электронной коммерции. С целью полной реализации идеи виртуального магазина сле- дует также отдельно разместить информацию о конкретной фир- ме, что немаловажно для любого посетителя. Даже если он ниче- го не купит, он уже будет знать о фирме. Имеет смысл посвятить один из разделов сервера партнерам, как существующим, так и потенциальным, где фирма смогла бы разместить всю самую не- обходимую и оперативную информацию для налаживания каче- ственных связей. Создав подобные постоянные информационные потоки, можно рассчитывать на стабильность бизнеса. Виртуальная коммерция через Интернет при помощи новей- ; ших технологий означает для фирмы прежде всего улучшение конкурентных позиций. В любом случае на этом рынке фирма может чувствовать себя без преувеличения на равных с крупней- шими мировыми корпорациями, поскольку имеет реальную воз- можность создать электронный магазин как минимум не хуже, чем у других. Существенным моментом при этом является тот факт, что в сферу деятельности фирмы попадет территория всего земного шара. Указанные тенденции определяют высокую зна- чимость этого рынка. Другим немаловажным фактором, способным существенно и благоприятно воздействовать на конкурентное положение фирмы, 232
является оперативность. Магазин фирмы, работая 24 часа в сутки, способен, к тому же, быстро и адекватно реагировать на запросы пользователей, у которых поиск нужной информации занимает всего несколько секунд. Необходимо также отметить значимость Интернета как эффективного маркетингового инструмента. Любой посетитель, даже если он не стал покупателем, может за- полнить предложенную ему анкету. Таким образом можно без осо- бых затрат изучить потенциального покупателя, круг его интере- сов и в дальнейшем учесть полученные результаты при осуществ- лении как реального, так и виртуального бизнеса. И наконец, одним из наиболее значимых факторов следует считать относительно низкие издержки. Это касается, во-первых, процесса организации самого виртуального магазина или Web- сервера, что в принципе оказывается более дешевым, чем орга- низация простой торговой точки. При этом виртуальный мага- зин фирмы может обслуживать, по сути дела, покупателей со все- го земного шара; во-вторых, снижаются затраты на продвижение и торговлю товарами и услугами. Так, взять хотя бы расходы на обслуживающий персонал: для нормального функционирования Web-магазина необходимо существенно меньше работников, по- скольку большинство их функций (прежде всего речь идет об об- служивании клиента) берет на себя непосредственно виртуаль- ный магазин. Оптимизация контакта с поставщиками и партнерами по биз- несу также в конечном итоге положительно влияет на затраты и соответственно приводит к формированию более конкурентной цены. Ну и, конечно же, реклама. Распространяя информацию о себе, продукции и т.д., фирма привлекает все большее число се- тевых покупателей, что, помимо всего прочего, позволяет улуч- шить ее имидж и отношения с потенциальными покупателями. Все вышеперечисленное и определяет в конечном итоге высокую эффективность проведения электронной коммерции при помо- щи виртуального магазина. Уже сегодня фактически любая организация может получать прибыль от функционирования виртуального магазина. Здесь может быть продан любой продукт: от канцелярского степлера до объектов недвижимости. Безусловно, пока американские on- line магазины предлагают более широкий ассортимент, чем оте- чественные Интернет-магазины, однако и у нас их число уже до- статочно велико и выбор товаров богат. Многие крупные ком- 233
пьютерные фирмы открыли или открывают свои виртуальные ма- газины в Интернете. По Интернету можно купить компакт-диск, видеокассету, встречаются предложения о продаже недвижимос- ти, автомобилей, можно приобрести туристическую путевку. В случае если появилось желание ознакомиться или посетить ка- кой-либо виртуальный магазин, можно посоветовать прибегнуть к услугам поискового сервер-рубрикатора Yahoo и заглянуть в раздел Business Electronic Commerce по адресу: www.yahoo.corn/ Business/Electronic Commerce, где есть обширный список ссылок на фирмы, занимающиеся электронной коммерцией. Ежемесячно тысячи компаний впервые открывают двери сво- их виртуальных магазинов. Поэтому не стоит медлить с началом ведения сетевого бизнеса, а следует активно использовать Имею- щиеся возможности. Сейчас во многих регионах нашей страны в результате информационного вакуума некоторым компаниям ста- новится все труднее находить потребителя. Подобные проблемы можно решить через электронную коммерцию, где не имеет зна- чения, откуда фирма, из какой страны, из какого региона. Одна- ко сегодня наиболее ходовым товаром для российской части Ин- тернета является все-таки информация. Торговля информацией в Интернете - одна из старейших форм коммерции в нем. 30-40 % всей информации посвящено бизнесу и финансам. При рассмотрении вариантов предоставления ин- формационного сервиса по бизнесу и финансам можно выделить несколько вариантов. Во-первых, следует отметить существование каталогов и спра- вочных систем по ресурсам в Интернете. Они созданы специаль- но с целью облегчить работу пользователей в Интернете. Интер- фейс подобных систем позволяет организовать поиск данных по •’*' определенйому ключу. Однако предоставление подобного сер- виса не следует считать электронной коммерцией, поскольку пользование услугами происходит на бесплатной основе. Среди российских сервисов подобного рода можно отметить российс- кую поисковую систему Rambler, а также новый проект «Россий- ский Интернет» - рубрикатор ресурсов. Такие проекты чаще все- го позволяют получать прибыль за счет большого объема рекла- мы, размещаемого на их страницах, поскольку являются одними из самых посещаемых пользователей серверов. Другая форма информационного бизнеса связана с массовым приходом различных печатных изданий в Интернет. При этом 234
компания-издатель организует Web-сервер, на котором размеща- ет материалы печатного издания либо его электронную версию. Основная цель - увеличение числа читателей издания. Для реше- ния данной проблемы следует применять комбинированный под- ход. Один из наиболее распространенных вариантов - размеще- ние на сервере дайджеста из информации, опубликованной в пе- чатном издании, который был бы интересен, но в то же время не являлся полной версией материалов и приглашал ознакомиться с ней в печатном издании. Пользователь должен иметь возмож- ность подписаться на издание, перечислив на счет издательства его стоимость. Другой вариант заключается в подписке на электронную вер- сию издания. В этом случае после перечисления необходимой сум- мы денег на счет издательства пользователь получает определен- ные имя и пароль, которые необходимо вводить для доступа к информации. Однако следует иметь в виду, что зачастую попыт- ки ввести оплату за использование информации приводили к тому, что клиенты переставали пользоваться данной услугой (об- ращаться к соответствующему Web-серверу) и переходили к другому поставщику аналогичной информации, которая предос- тавляется на бесплатной основе. В связи с этим необходимо най- ти золотую середину: в частности, возможным вариантом явля- ется предоставление наиболее свежей и оперативной информа- ции на платной основе, в то время как архив выпусков печатного издания делается доступным для любого пользователя. Практически все российские информационные агентства име- ют свое представительство в Интернете: ИТАР-ТАСС, РИА-Но- вости, Национальная служба новостей и т. д. Многие газеты раз- мещают электронные версии своих изданий в Интернете. В пос- леднее время также стали появляться принципиально новые средства массовой информации. Первым среди них стал общедо- ступный Интернет-сервер АКДИ «Экономика и жизнь» (www. akdi.ru), который зарегистрирован в Госкомитете РФ по печати и специализируется на предоставлении информации и консуль- таций в Интернете по экономическим, финансовым, правовым вопросам. Наиболее фундаментальными электронными изданиями в Интернете являются реализованные в технологии WWW анало- ги крупных печатных изданий, другими словами, гипертексто- вые книги, энциклопедии. В качестве примера можно привести ре- 235
ализацию в виде гипертекстовой мультимедийной энциклопедии одной из старейших энциклопедий мира «Британика». Доступ к ней платный, однако предоставляется возможность недельного бесплатного пользования для ознакомления с работой системы. Другой вариант информационной коммерции в Интернете - предоставление бизнес-информации. Это могут быть котировки ценных бумаг, курсы валют, цены на биржах, оперативные ново- сти. В последнее время организуются специальные информаци- онные системы или бизнес-службы. В качестве примера из российской практики можно обратиться к проекту «ГКО-Инвест». Система позволяет в режиме реально- го времени передавать инвесторам, пользователям динамику тор- говой сессии на ММВБ по ГКО и ОФЗ. Плата за пользование подобными услугами зависит от ваших потребностей, допустим, в последнем случае, если вы хотите наблюдать за торгами с за- держкой порядка 25 секунд, то придется потратиться на 400 долл. США за программное обеспечение и еще на 250 долл. США еже- месячной платы. Создание виртуального магазина не требует особых усилий либо материальных затрат, в то же время электронная коммер- ция уже сейчас начинает активно внедряться в бизнес. Для того чтобы не остаться на обочине конкурентной гонки, каждой орга- низации и каждому бизнесмену стоит подумать о вариантах орга- низации такой новой торговой точки. Платежные средства в сетях Интернет. Постоянно расту- щая армия пользователей Интернет проводит значительное ко- личество времени, сканируя его «киберпространство» в поисках информации, нужной им для работы или учебы, либо просто раз- влекаясь.. Соответственно маркетинговый потенциал Интернета ; растет с увеличением числа пользователей WWW, с одной сторо- ны, и организаций, заинтересованных в размещении коммерчес- кой рекламы в Интернете, - с другой. Начиная со второй половины 1994 г., коммерческая реклама стала составлять заметную долю гипертекстовой информации, доступной в WWW. Однако возможности делового использова- ния глобальных цифровых коммуникаций не ограничиваются размещением рекламы, какие бы изощренные ее формы ни применялись. Товар или услуга должны быть представлены потенциальному покупателю, но у него также должна быть воз- можность их приобретения «не отходя от витрины» (в данном 236
случае - виртуальной). С того же 1994 г. возможность расчетов и платежей с использованием компьютерных сетей публичного до- ступа перешла из разряда теоретических проблем в разряд прак- тических задач. В основе всех предлагаемых сегодня систем расчетов и плате- жей с использованием Интернета лежат самые продвинутые крип- тографические технологии обеспечения конфиденциальности информации и аутентичности коммуникантов. Средства электронных расчетов в Интернете. Предложенные к настоящему времени системы (их чуть больше десятка) можно разбить на три категории. Это суррогатные расчетные средства, расширения существующих внесчетных расчетных систем, таких как чеки и пластиковые карточки, а также электронная налич- ность. Суррогатные расчетные средства. Цифровые купоны и жето- ны - суррогатные средства расчетов в сети - предлагаются сегод- ня несколькими компаниями, из которых наиболее известны First Virtual Holdings и Software Agents (знакомая более по торговой марке NetBaiik). Клиент за наличный или безналичный расчет приобретает у банка на некоторую сумму последовательности символов (для них банк гарантирует уникальность алгоритма генерации и уникальность каждого экземпляра), которыми рас- плачивается с торговцем. Торговец возвращает их в «банк» в об- мен на ту же сумму за вычетом комиссионных. При этом на «бан- ке» лежит обязанность контролировать действительность посту- пающих жетонов (проверяя их наличие в регистре исходящих) и их уникальность (проверяя отсутствие в регистре входящих). Сто- роны могут использовать криптографические средства защиты информации с открытыми ключами, чтобы избежать перехвата жетонов. Такая схема проста в реализации и эксплуатации. Однако правовой статус сделок с использованием таких суррогатов ос- тается расплывчатым, равно как и фискальные обязанности кли- ентов, приобретающих товары и услуги у торговцев, находящих- ся под другой юрисдикцией. Расширения несетевых расчетных систем. По другому пути пошла компания CyberCash, первой разработавшая технологию, позволяющую использовать пластиковые карточки для расчетов в сети. 237
Предлагаемое этой компанией программное обеспечение ис- пользует криптозащиту с открытым ключом для конфиденциаль- ной передачи данных о пластиковой карточке от покупателя к торговцу. Сетевые электронные наличные. Дэвид Чом (David Chaum), известный ученый-криптолог и бизнесмен, а также ряд его кол- лег пришли к идее электронной (или цифровой) наличности - платежного средства, которое объединит удобство электронных расчетов с конфиденциальностью наличных денег. В Интернете представлены две технологии, реализующие эту идею. Компания Mondex, возглавляемая Тимоти Джонсом (Timothy Jones), пред- лагает сетевую версию электронного кошелька, реализованную в виде аппаратно-программного комплекса. Компания DigiCash под руководством Д. Чома представила технологию сетевых элек- тронных денег ecash в чисто программном варианте. Рассмотрим это решение. В ядре технологии лежит все тот же прием криптозащиты с открытыми ключами. Эмитент электронной наличности (банк) имеет, кроме обычной пары ключей, аутентифицирующей вла- дельца, еще и последовательность пар ключей, в соответствие которым ставятся номиналы «цифровых монет». Снятие наличных со счета производится следующим образом. В ходе сеанса связи клиент и банк (точнее, их программы-пред- ставители) аутентифицируют друг друга. Затем клиент генериру- ет уникальную последовательность символов, преобразует ее путем «умножения» на случайный множитель (blin-ding factor), «закрывает» результат открытым ключом банка и отправляет «монету» в банк. Банк «раскрывает» «монету», используя свой секретный ключ, «заверяет» ее электронной подписью, соответ- ствующей црминалу «монеты», «закрывает» ее открытым клю- чом клиента и возвращает ее клиенту, одновременно списывая соответствующую сумму с его счета. Клиент, получив «монету», «открывает» ее с помощью своего секретного ключа, затем «де- лит» ее символьное представление на запомненный случайный множитель и сохраняет результат в «кошельке». Транзакция за- вершена. Теперь банк готов принять эту монету, от кого бы она ни поступила (разумеется, лишь один раз). Использование множителя blin-ding factor и составляет суть приема «слепой подписи», предложенного Чомом в дополнение к обычному методу криптозащиты с «открытыми» ключами. Бла- 238
годаря использованию «слепой подписи» банк не в состоянии накапливать информацию о плательщиках, в то же время сохра- няя возможность следить за однократным использованием каж- дой «монеты» данным клиентом и идентифицировать получате- ля каждого платежа. Чом называет такую логику взаимодействия сторон «односторонней безусловной непрослеживаемостью» пла- тежей. Покупатель не может быть идентифицирован даже при сговоре продавца с банком. В то же время покупатель при жела- нии может идентифицировать себя сам и доказать факт осуще- ствления сделки, апеллируя к банку. Такая логика призвана вос- препятствовать криминальному использованию электронной на- личности. * Для вложения наличности клиент связывается с банком и от- правляет ему полученную «монету», закрыв ее «открытым» клю- чом банка. Банк проверяет, не была ли она уже использована, заносит номер в регистр входящих и зачисляет соответствующую сумму на счет клиента. Сделка между двумя клиентами предполагает лишь передачу «монеты» от покупателя к продавцу, который может либо сразу попытаться внести ее в банк, либо принять ее на свой страх и риск без проверки. Вместе с «монетой» передается некоторая до- полнительная информация, которая сама по себе не может по- мочь идентификации плательщика, но в случае попытки дважды использовать одну и ту же монету позволяет раскрыть его лич- ность. Вопросы для самопроверки 1. В каких вычислительных системах процесс обмена данны- ми проявляется наиболее ярко? 2. Какова классификация вычислительных сетей? 3. В чем состоят отличия локальных и глобальных вычисли- тельных сетей? 4. Перечислите и поясните базовые топологии вычислитель- ных сетей. 5. Расскажите о маркерных и тактированных кольцевых се- тях. 6. Нарисуйте схемы комбинированных топологий компьютер- ных сетей. 239
7. Поясните суть однородных сетей и сетей на основе сервера. 8. Нарисуйте и поясните типовую топологию глобальной вы- числительной сети. 9. Расскажите о методах коммутации в компьютерных сетях, дайте их сравнительную оценку. 10. В чем суть базовой эталонной модели открытых систем и функций каждого из семи уровней? 11. Что такое протокол обмена данными в компьютерной сети? Какова иерархия протоколов эталонной модели открытых систем? 12. Какие функции выполняет процедура передачи данных? На каком уровне эталонной модели она реализуется? 13. В чем преимущество фазовой модуляции перед другими видами модуляции? 14. Расскажите об устройстве, назначении и характеристиках модемов. 15. Для чего выполняется операция кодирования сообщений при передаче? Объясните принципы кодирования. 16. Что такое емкость канала связи? Каким фактором она оп- ределяется? 17. Что такое уплотнение канала связи? Какие существуют виды уплотнения? 18. Какие приняты стандарты скорости передачи данных по каналам связи? 19. Сколько основных способов доступа к каналу известно? Кратко опишите их суть? 20. Что представляет собой коллизия? 21. Какой максимальной производительности позволяет до- биться стратегия доступа типа Чистой Алохи? 22. Каково максимальное значение нормированной произво- дительности S при G = 1 для Синхронной Алохи? 23. Что такое «проверка несущей»? 24. Расшифруйте аббревиатуру МДПН/ОС. 25. Что подразумевает процедура двоичного замедления? 26. Какова эффективность доступа к каналу типа МДПН/ОС по сравнению с Алохой? 27. Какая модель является международным стандартом для передачи данных? 28. Сколько уровней выделяется в модели взаимодействия открытых систем? 240
29. Что подразумевается под набором правил и форматов, определяющих взаимодействие объектов одного уровня модели OSI? 30. Какому уровню принадлежит функция маршрутизации пакетов, передаваемых через сеть? 31. Основой какого метода выбора кратчайших путей служит алгоритм Флойда? 32. Поясните алгоритм Дейкстры. 33. Что такое Интернет? 34. Какова система адресации в Интернете? 35. Какие сетевые протоколы применяются в Интернете? 36. Расскажите об услугах Интернета. ш 37. В чем особенность системы World Wile Web (WWW)? 38. Расскажите о коммерческом использовании Интернета. 39. Как производятся в Интернете финансовые расчеты? 16~1864
Приложение ХАРАКТЕРИСТИКИ МНОГОПРОЦЕССОРНЫХ КОМПЬЮТЕРОВ Ниже приведены основные характеристики наиболее извест- ных многопроцессорных компьютеров (мультипроцессорных си- стем) согласно данным [17]. IBM RS/6000 SP Производитель International Business Machines (IBM), подразделение RS/6000 Класс архитектуры Узлы Масштабируемость Коммутатор Системное ПО Средства программирования Масштабируемая массивно-параллельная вычислительная система (МРР) Имеют архитектуру рабочих станций RS/6000. Существуют несколько типов SP-узлов, которые комплектуются различными процессорами: PowerPC 604e/332MHz, POWER3/200 и 222 МГц (более ранние системы комплектовались процессорами POWER2). High-узлы на базе POWER3 включают до 8 процессоров и до 16 Гбайт памяти До 512 узлов. Возможно совмещение узлов различых типов. Узлы устанавливаются в стойки (до 16 узлов в каждой) Узлы связаны между собой высокопроизводительным коммутатором (IBM high-performance switch), который имеет многостадийную структуру и работает с коммутацией пакетов ОС AIX (устанавливается на каждом узле), система пакетной обработки LoadLeveler, параллельная файловая система GPFS, параллельная СУБД INFORMIX-OnLine XPS. Параллельные приложения исполняются под управлением Parallel Operating Environment (РОЕ) Оптимизированная реализация интерфейса MPI, библиотеки параллельных математических подпрограмм - ESSL, OSL 242
Производитель Класс Предшественники Модификации HP 9000 (Exemplar) Hewlett-Packard, подразделение высокопроизводительных систем Многопроцессорные серверы с общей памятью (SMP) SMP/NUMA-системы Convex SPP-1200, SPP-1600, SPP-2000 Есть несколько классов систем семейства HP 9000: серверы начального уровня (D,K-class), среднего уровня (N-class) и наиболее мощные системы (V- Процессоры Число процессоров Масштабируемость Системное ПО Средства программирования 64-битные с архитектурой PA-RISC 2.0 (РА-8200, РА- 8500) N-class - до 8 процессоров; V-class - до 32 процессоров. В дальнейшем ожидается увеличение до 64, а затем - до 128 SCA-конфигурации (Scalable Computing Architecture) - до 4 узлов V-class, т.е. до 128 процессоров Операционная система HP-UX (совместима на уровне двоичного кода с ОС SPP-UX компьютеров Convex SPP) HP MP I - реализация MPI1.2, оптимизированная к архитектуре Exemplar. Распараллеливающие компиляторы Fortran/C, математическая библиотека HP МЫВ. CXperf- средство анализа производительности программ Cray ТЗЕ Silicon Graphics Масштабируемая массивно-параллельная система, состоит из процессорных элементов (РЕ) Cray T3D Есть две модификации: ТЗЕ-900 и ТЗЕ-1200 Производитель Класс архитектуры Предшественники Модификации Процессорный элемент Состоит из процессора, блока памяти и устройства сопряжения с сетью. Используются процессоры Alpha 21164 (EV5) с тактовой частотой 450 МГц (ТЗЕ-900) и 600 МГц (ТЗЕ-1000), пиковая производительность которых составляет 900 и 1200 Мфлоп/с соответственно. Процессорный элемент располагает своей локальной памятью (DRAM) объемом от 256 Мбайт до 2 Гбайт Число процессоров Системы ТЗЕ масштабируются до 2048 РЕ Коммутатор Процессорные элементы связаны высокопроизводительной сетью с топологией трехмерного тора и двунаправленными каналами. Скорость обменов по сети достигает 480 Мбит/с в каждом направлении 16* 243
Системное ПО Средства программирования Cray Т90 Производитель Класс архитектуры Предшественники Модели Процессор Число процессоров Масштабируемость Память Системное ПО Cray SV1 Произвол ител ь Класс архитектуры Процессор Операционная система UNICOS/mk Поддерживается явное параллельное программирование с помощью пакета Message Passing Toolkit (MPT) - реализации интерфейсов передачи сообш ений MPI, MPI-2 и Р VM, библиотека Shmem. Для Фортран-программ возможно неявное распараллеливание в моделях CRAFT и HPF. Среда разработки включает также набор визуальных средств для анализа и отладки параллельных программ Silicon Graphics, Cray Research Многопроцессорная векторная система (несколько векторных процессоров работают на общей памяти) CRAY Y-MP С90, CRAY Х-МР Серия Т90 включает модели Т94, T916 и Т932 Системы серии Т90 базируются на векторно- конвейерном процессоре Cray Research с пиковой производительностью 2 Г флоп/с Система Т932 может включать до 32 векторных процессоров (до 4 в модели Т94, до 16 - в модели T916), обеспечивая пиковую производительность более 60 Г флоп/с Возможно объединение нескольких Т90 в МРР- системы Система Т932 содержит от 1 Гбайт до 8 Гбайт (до 1 Гбайт в модели Т94 и до 4 Гбайт в модели Т916) оперативной памяти и обеспечивает скорость обменов с памятью до 800 Мбит/с -1» Используется операционная система UNICOS Silicon Graphics Масштабируемый векторный суперкомпьютер 8-конвейерные векторные процессоры MSP (Multi- Streaming Processor) с пиковой производительностью 4,8 Гфлоп/с; каждый MSP может быть подразделен на 4 стандартных 2-конвейерных процессора с пиковой производительностью 1,2 Гфлоп/с. Тактовая частота процессоров - 250 МГц 244
Число процессоров Память Системное ПО Средства программирования Процессоры объединяются в SMP-узлы, каждый из которых может содержать 6 MSP и 8 стандартных процессоров. Система (кластер) может содержать до 32 таких узлов SMP-узел может содержать от 2 до 16 Гбайт памяти. Система может содержать до 1 Тбайт памяти. Вся память глобально адресуема (архитектура DSM) Операционная система UNICOS Поставляется векторизующий и распараллеливающий компилятор CF90. Поддерживается также явное параллельное программирование с использованием интерфейсов MPI, ОрепМР или Shmem Cray OriginlOOO Производите.! ь Класс архитектуры Процессор Модуль М асштабируемость Коммутатор Системное ПО Средства программирования Silicon Graphics Модульная система с общей памятью (cc-NUMA) 64-разрядные RISC-процессоры MIPS R10000, R12000/300МГц Основной компонент системы - модуль Origin, включающий от 2 до 8 процессоров MIPS R10000 и до 16 Гбайт оперативной памяти Поставляются системы 0rigin2000, содержащие до 256 процессоров (т.е. до 512 модулей). Вся память системы (до 256 Гбайт) глобально адресуема, аппаратно поддерживается когерентность кэшей Модули системы соединены с помощью сети CrayLink, построенной на маршрутизаторах MetaRouter Операционная система SGI IRIX Поставляется распараллеливающий компилятор Cray Fortran 90. Поддерживается стандарт ОрепМР Опух2 InfmiteReality2 Производитель Класс архитектуры Число процессоров Визуализация Системное ПО Silicon Graphics Многопроцессорная система визуализации; по аппаратной архитектуре очень похожа на Origin2000 Система может включать до 128 процессоров MIPS R10000 Графические возможности системы обеспечивают специальные устройства трех типов: геометрические (векторные) процессоры, растровые процессоры, генераторы аналоговых сигналов. Система может быть оборудована 16 независимыми каналами графического вывода (visualization pipelines). На аппаратном уровне поддерживается графический интерфейс OpenGL Операционная система SGI IRIX 245
Sun НРС 10000 (StarFire) Производитель Класс архитектуры Процессор Число процессоров Память Системное ПО Средства разработки Sun Fire 15К Производитель Класс архитектуры Процессор Число процессоров Память Системное ПО Sun Microsystems, серия Sun НРС Многопроцессорный SMP-сервер UltraSPARC II/336 МГц От 16 до 64 От 2 Гбайт до 64 Гбайт ОС Solaris, ПО распределения ресурсов Load Sharin Facility (LSF) Поставляется пакет поддержки параллельных приложений Sun НРС 2.0, включающий такие средства, как HPF, MPI, PVM, PFS (параллельная файловая система), Prism (визуальная среда разработки), S3L (библиотека математических подпрограмм) и др. Sun Microsystems Многопроцессорный SMP-сервер UltraSPARC Ш/900 МГц До 106 До 576 Гбайт Операционная систем Solaris 8 NEC SX-5 Производится ь Класс архитектуры Предшественники Узел Память Масштабируемость Коммутатор Системное ПО Средства программирования NEC, серия SX Параллельный векторный суперкомпьютер (PVP) NEC SX-4 Каждый узел системы является векторно- конвейерным SMP-суперкомпьютером, объединяющим до 16 индивидуальных векторных процессоров (каждый с пиковой векторной производительностью 8 Гфлоп/с и скалярной производительностью 500 Мфлоп/с) Объем памяти каждого узла - до 128 Гбайт, производительность обменов с памятью достигает 1 Тбайт/с Система может включать до 32 узлов, обеспечивая совокупную пиковую производительность до 4 Тфлоп/с Для связи узлов используется высокоскоростной коммутатор (IXS Internode Crossbar Switch) Операционная система SUPER-UX Поставляются компилятор языка HPF, реализация интерфейса MPI, компиляторы Фортран 77/90 с автоматической векторизацией и поддержкой OpenMP 1.1, а также интегрированная среда разработки и оптимизации Р SUITE 246
NECSX-6 Производитель Класс архитектуры Предшественники Узел Память Масштабируемость Коммутатор Системное ПО Средства программирования NEC, серия SX Параллельный векторный суперкомпьютер (PVP) NEC SX-5 Каждый узел системы является векторно- конвейерным SMP-суперкомпьютером, объединяющим от 2 до 8 индивидуальных векторных процессоров (каждый с пиковой векторной производительностью 8 Гфлоп/с и скалярной производительностью 500 Мфлоп/с) Объем памяти каждого узла - до 64 Гбайт, производительность обменов с памятью достигает 1 Тбайт/с Система может включать до 128 узлов, обеспечивая совокупную пиковую производительность • до 8 Тфлоп/s Для связи узлов используется высокоскоростной коммутатор (IX S Internode Crossbar Switch) Операционная система SUPER-UX с улучшенной поддержкой SSI (Single System Image) Поставляются компилятор языка HPF 2.0, реализация интерфейса MPI, компиляторы Фортран 77/90 с автоматической векторизацией, интегрированная среда разработки и оптимизации PSUITE, поддерживается ОрепМР 1.1 (в конце 2002 г. предполагается поддержка ОрепМР 2.0) Fujitsu Параллельный векторный суперкомпьютер (PVP) VPP300, VPP700, VPP5000 Fujitsu VPP Производитель Класс архитектуры Модификации Процессорный элемент Каждый процессорный элемент (РЕ) системы VPP700E состоит из скалярного устройства (SU), векторного устройства (VU), блока памяти и устройства сопряжения. Для VPP700: VU состоит из 7 конвейеров и обеспечивает пиковую производительность до 2,4 Гфлоп/с. Объем памяти - до 2 Гбайт. Для VPP5000: VU состоит из 4 конвейеров, пиковая производительность - 9,6 Гфлоп/с. Объем памяти — до 16 Гбайт Масштабируемость Для VPP700: система может включать от 8 до 256 РЕ суммарная пиковая производительность до 14,4 Гфлоп/с Для VPP5000: до 512 РЕ, суммарная пиковая производительность до 4,9 Тфлоп/с 247
Коммутатор В» Системное ПО Средства программирования Процессорные элементы связаны коммутатором (crossbar network), который производит двухсторонние обмены, не прерывая вычислений. Пропускная способность каналов коммутатора: для VPP700 - 615 Мбит/с, для VPP5000 - 1,6 Гбит/с Операционная Система UXP/V, основанная на UNIX System VR4 Среди средств разработки поставляются: распараллеливающий и векторизующий компилятор Fortran90/VPP, оптимизированная для VPP библиотека математических подпрограмм SSLII/VPP, библиотеки передачи сообщений MPI-2 и PVM 3.3 AlphaServer Производитель Класс архитектуры. Модификации Процессор Число процессоров Память Масштабируемость Системное ПО Средства программирования Compaq (Digital) AlphaServer GS/ES - высокопроизводительный SMP- сервер, AlphaServer SC — массивно-параллельная система, AlphaServer НРС - кластерные системы GS32O, GS160, НРС320, НРС160, GS140, GS60, ES4O, DS20 и др. Alpha 21264,21264А (тактовая частота до 731 МГц в новых моделях) До 32 (модель GS320) До 256 Гб (модель GS320) Системы НРС320 включают до 4 узлов AlphaServer ES40, т.е. до 16 процессоров. Системы AlphaServer SC могут объединять до 128 узлов AlphaServer ES40, т.е. до 512 процессоров. Также фирма Compaq предлагает разнообразные кластерные решения на базе своих серверов На платформе AlphaServer поддерживаются операционные системы Tru64 UNIX (это новое имя Digital UNIX), Open VMS и Linux. Поставляется ПО кластеризации TruCluster Software Поддерживается параллельное программирование в стандартах ОрепМР и MPI. 248
RM600 Е Производитель Класс архитектуры Модификации Процессор Число процессоров Память Масштабируемость Системное ПО QM-1 Производитель Класс архитектуры Процессор Узел Масштабируемость Память Сеть Средства программирования Siemens Computer Systems (SNI), серия RM Servers Многопроцессорная система с общей памятью (сс- NUMA) Е60, Е20 Используются процессоры MIPS R10000 (200 МГц) Процессорные платы с SMP-архитектурой объединяют до 4 процессоров. Система включает в общей сложности до 24 процессоров в модели Е60 и до 8 - в модели Е20 Обо ий объем оперативной памяти систем Е60 - до 4 Гбайт, а систем Е20 - до 2 Гбайт. Архитектура памяти системы - NUMA 4 Несколько систем RM600 Е могут объединяться в кластерную (МРР) систему - Reliant Cluster Server Операционная система Reliant UNIX Quadrics Supercomputers World Ltd. (QSW) Кластерная система UltraSPARC П/250 или 300 МГц с пиковой производительностью 500 Мфлоп/с (600 Мфлоп/с). На каждом процессоре находятся кэши данных и команд первого уровня по 16К и внешняя кэш-память объемом 1 или 2 Мбайт Каждый узел системы содержит от 1 до 4 процессоров над общей памятью, внешние устройства и коммуникационный процессор (Е1апЗ), осуществляющий доступ в память других узлов В максимальной конфигурации может быть более 4000 узлов Максимальный объем памяти для узла составляет 2 Гбайт. Скорость обменов с памятью внутри узла составляет 1,78 Гбайт/с Заявленная скорость обменов с другими узлами составляет 250 Мбайт/с одновременно в двух направлениях, а латентность сети - 2 мкс Реализованы средства параллельного программирования HPF, PVM, PARMACS, NX/2 иМР1 249
NUMA-Q 2000 Производитель Класс архитектуры Модификации Процессоры Узел Масштабируемость Системное ПО AviiON Производитель Класс архитектуры Модификации 4 ч Процессоры Узел Масштабируемость Системное ПО IBM (ранее - Sequent) Многопроцессорная система с общей памятью (cc-NUMA). Используется для организации сложных информационных систем Model E41O/E33O/E32O/E3OO/E2OO Intel Pentium III Xeon (700 МГц в модели E410) От 4 до 64 процессоров, до 64 Гбайт оперативной памяти; узел состоит из базовых плат по 4 процессора (quads), соединенных между собой коммутатором IQ- Link Возможна организация кластеров, включающих до 4 узлов Операционная система DYNIX/ptx - версия UNIX от Sequent. Внутри одной системы могут одновременно исполняться UNIX и Windows NT Data General (подразделение EMC) Многопроцессорная система с общей памятью (cc-NUMA). По аппаратной архитектуре похожа на серверы Sequent NUMA-Q. Используется для организации сложных информационных систем AV25000, AV20000, AV10000 (корпоративные серверы) Pentium II Xeon, Pentium III Xeon От 4 до 64 процессоров, до 64 Гбайт оперативной памяти. Сервер включает до 16 блоков (SBB, Scalable Building Block) на основе материнских плат SHV от Intel, в каждом из которых по 4 процессора и до 4 Гбайт памяти Возможна организация 2-серверных кластеров QuickClusters Операционная система DG/UX (версия UNIX от Data General) и Windows NT 250
WorldMark Производитель Класс архитектуры Модификации Процессоры Узел Масштабируемость Коммуникационная сеть Системное ПО NCR Массивно-параллельная система на базе SMP-узлов. Используется для построения параллельных СУБД, масштабируемых систем Data Warehousing WorldMark 5200/5150/5100М/51ООС/5100S/4800/4700 Intel Pentium II Xeon, Pentium Pro, Pentium Для WorldMark 51 OOM в качестве узла используется ' SMP-сервер 5100S - до 32 процессоров, до 4 Гбайт оперативной памяти До 128 узлов, 4096 процессоров (для WorldMark 5100М) Узлы объединяются с помощью сети BYNET V2 (120 Мбит/с) Операционная система NCR UNIX SVR4 MP-RAS. Параллельные СУБД: NCR Teradata, Oracle Parallel Server и др.
Литература 1. Автоматизированные информационные технологии в эконо- мике: Учеб, для вузов / М.И Семенов, И.Т. Трубилин, В.И. Лойко, Т.П. Барановская. - М.: Финансы и статистика, 2002. 2. Блэк Ю. Сети ЭВМ. Протоколы, стандарты, интерфейсы. - М.: Мир, 1990. 3. Вентцелъ Е.С. Исследование операций: задачи, принципы, ме- тодология.-М.: Наука, 1980. 4. Каган Б.М. Электронные вычислительные машины и системы. - М.: Энергоатомиздат, 1991. 5. Компьютерные сети: Учеб. курс/Пер. с англ. - М.: Издательс- кий отдел «Русская редакция« ТОО «Channel Trading Ltd.«, 1997. 6. Ключко В.И. Кодирование информации. Курс лекций. -Крас- нодар, КубГТУ, 1998. 7. Кравченко, А.Г. Чефранов П.П. Методы управления ресурсами вычислительных систем: Учеб, пособие / Таганрог, радиотехн. ин-т. Таганрог, 1991. 8. Нанс Б. Компьютерные сети. - М.: БИНОМ, 1996. 9. Озкарахан Э. Машины баз данных и управление базами дан- ных / Пер. с англ - М.: Мир, 1989. 10. Основы теории вычислительных систем / С.А. Майоров, Г.И. Новиков, Т.И. Алиев и др. - М.: Высшая школа, 1987. 11. Смирнов А.Д. Архитектура вычислительных систем. - М.: На- ука, 1990. 12. Советов Б.Я. Информационная технология: Учеб, для вузов по спец. «Автоматизир. системы обработки информ, и упр.». - М.: Высш, шк., 1994. 13. Советов Б.Я., Яковлев С. А. Построение сетей интегрального обслуживания. - Л.: Машиностроение, 1990. 14. Шварц М. Сети связи: протоколы, моделирование и анализ: В 2 ч./ Пер. с англ. - М.: Наука, 1992. 15. Якубайтис Э.А. Информационные сети и системы. - М.: Фи- нансы и статистика,1996. Интернет-источники 16. Шнитман В. Современные высокопроизводительные компь- ютеры. Центр Информационных Технологий, 1998. http://www.citmgu.ru. 17. Воеводин В.В. Параллельная обработка данных. Курс лекций, 2001. http://www.citforum.ru/; http://www.parallel.ru. 252
--------- Предметный указатель ... . Адресация доменная 220 Алгоритм FB 127 LPT 134 RR 123 SPT 121 Макнотона 131 Алоха синхронная 183 чистая 181 Б, В, Г Базовая эталонная модель взаи- модействия открытых систем 755 Варианты подключения к Internet 218 Выборка 161 Г ипертекст 226 Граница Шеннона 163 Классификация Флина 66 Код манчестерский 189 Кодирование информации 164 помехоустойчивое 166 Конвейеры векторные 64 последовательные 62 М •в Магазин виртуальный 230 Маршрутизатор 153 Модем 160 Модуляция 158 Мост 153 МПС 66 с локальной (распределенной) памятью 80 с общей памятью 76 Мультиплексирование 167 Д,Е П,Р Демодуляция 160 Емкость канала связи 161 И Иерархия цифровых систем 171 Интенсивность потока обслужи- вания 772 Примитивы сетевых услуг основ- ные 172 Провайдер 218 Протоколы канального уровня 172 Ресурсы Internet, информацион- ные 223 К Кадр Ethernet 192 Канал передачи информации 160 связи 160 Сайт 218 Свопинг 129 Сети с коммутацией каналов 200 с коммутацией сообщений 203 с пакетной коммутацией 203 253
Средства электронных расчетов в Internet 23 2 X, ц, ш, э Шлюз 153 Электронные наличные, сетевые 238 Топология 147 базовая 148 глобальной вычислительной сети 153 Торговля информацией 234 Уровени модели ВОС 155 Ускорение обработки 59 Е, Н, W Ethernet 191 Host-компьютер 218 Web - узлы 218 World Wide 226 - сервер 231 - магазин 233
Учебное издание Барановская Т атьяна Петровна, Лойко Валерий Иванович, Семенов Михаил Игнатьевич, Трубилин Александр Иванович АРХИТЕКТУРА КОМПЬЮТЕРНЫХ СИСТЕМ И СЕТЕЙ Заведующая редакцией Л.А. Табакова Редактор В.В. Космин Младший редактор Н.А. Федорова Художественный Ю.И. Артюхов Технический редактор В.Ю. Фотиева Корректоры Г.В. Хлопцева, Н.Б. Вторушина Компьютерная верстка О.В. Фортунатовой Художественное оформление Л.В. Безрученков ИБ№4503 Подписано в печать 28.05.2003. Формат 60x88 */]6. Гарнитура «Таймс». Печать офсетная Усл. п.л. 15,68. Уч.-изд. л. 15,56. Тираж 5000 экз. Заказ № 1864 «С» 143 Издательство «Финансы и статистика» 101000, Москва, ул. Покровка, 7 Телефоны (095) 925-47-08, 925-35-02 Факс (095) 925-09-57 E-mail: mail@finstat.ru http://www.finstat.ru 4 ГУП «Великолукская городская типография» Комитета по средствам массовой информации Псковской области, 182100, Великие Луки, ул. Полиграфистов, 78/12 Тел./факс: (811-53) 3-62-95 E-mail: VTL@MART.RU
Издательство “ФИНАНСЫ И СТАТИСТИКА” предлагает учебное пособие Б.А. Лагоша ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ В ЭКОНОМИКЕ 192 с.: ил. Исследуются методы и задачи оптимального управления в эко- номике, математический аппарат в форме теорем о достаточных усло-виях оптимальности. Из этих тео-рем выводятся вычислительные средства оптимального управле-ния, доступные для практического применения. Теория сопровож-дается иллюстрациями экономи-ческой и другой природы. Для обучающихся по специальности 061800 «Матема- тические методы в экономике». Может использоваться в’рамках специальности 351400 «Прикладная Книгу можно приобрести в киосках издательства или заказать по почте Адрес: 101000, Москва, ул.Покровка, 7 (метро “Китай-город”, выход на ул.Маросейка) Варшавка, 9 (метро “Тульская”, “Нагатинская”) Тел.: (095)925-35-02,923-18-68 Факс (095)925-09-57 E-mail: mail@f instat.ru http://www.finstat.ru
В УЧЕБНОМ ПОСОБИИ: • Изложены методы оценки современных компьютерных систем • Даны основы теории массового обслуживания и управления ресурсами • Рассмотрены параллельная и конвейерная обработка данных, ассоциативные процессоры и системы с управлением потоков данных • Описаны современные мультипроцессорные системы и архитектура суперкомпьютеров • Приведены базовые модели и протоколы компьютерных сетей, рассмотрены организация и ресурсы Интернета ISBN 5-279-02606-9 9 785279 026067
Этот файл был взят с сайта http://all-ebooks.com Данный файл представлен исключительно в ознакомительных целях. После ознакомления с содержанием данного файла Вам следует его незамедлительно удалить. Сохраняя данный файл вы несете ответственность в соответствии с законодательством. Любое коммерческое и иное использование кроме предварительного ознакомления запрещено. Публикация данного документа не преследует за собой никакой коммерческой выгоды. Эта книга способствует профессиональному росту читателей и является рекламой бумажных изданий. Все авторские права принадлежат их уважаемым владельцам. Если Вы являетесь автором данной книги и её распространение ущемляет Ваши авторские права или если Вы хотите внести изменения в данный документ или опубликовать новую книгу свяжитесь с нами по email.