Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архи_тект_Выч_систем_25_06_2012.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
4.82 Mб
Скачать

4.3 Ассоциативные системы

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

С одержание идентифицируется каким-либо признаком, например, специфичным кодом. То есть между кодом и содержанием существует связь – ассоциация (сходство), при наличии которой код вызывает содержимое ячейки памяти. По этому принципу, иллюстрируемому рисунком 4.6, системы назвали ассоциативными. Запоминающиймассив, как и в адресуемой памяти, состоит из n-го числа m-разрядных ячеек, хранящих необходимую информацию с зашифрованным в ней кодом признака этой информации. Устройством управления формируется код признака (иногда его называют компарандом) информации, хранящейся в i-й ячейке памяти, и заносится в регистр ассоциативных признаков (РгАП). Код может иметь число разрядов от 1 до m. Если код признаков используется полностью (без изменения), он поступает на схему сравнения, если его необходимо модифицировать, тогда ненужные разряды маскируются с помощью регистра маски (РгМ). Перед началом поиска информации в ассоциативной памяти все разряды регистра индикаторов адреса устанавливаются в значение 1. После этого начинается опрос первого разряда содержимого всех ячеек запоминающего массива и сравнение его с первым разрядом содержимого РгАП. Если значения сравниваемых разрядов совпадают, то значение соответствующего разряда регистра индикатора адреса остается равным 1, если не совпадают, оно сбрасывается в 0. Операция сравнения повторяется со вторым, третьим и т.д. разрядами до конца, пока не будет произведено сравнение со всеми разрядами. В результате в регистре индикаторов адреса в 1 останутся те разряды, которые соответствуют ячейкам, содержащим запрашиваемые данные. Эта информация может быть считана в последовательности, определенной устройством управления.

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

Интересен и процесс записи информации в ассоциативную память. Один из разрядов каждой ячейки запоминающего массива используется в качестве индикатора ее занятости. Например, если ячейка свободна – этот разряд имеет значение 0, если занята – 1. Следовательно, достаточно проверить один разряд во всех ячейках, чтобы определить занятые или свободные и поместить информацию в свободную ячейку.

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

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

В качестве примера ассоциативной вычислительной системы часто приводят систему STARAN, разработки США. Для хранения данных в системе используется ассоциативная память с многомерным доступом, к ней можно обратиться как поразрядно, так и пословно. Каждое слово обрабатывается своим процессорным элементом (ПЭ0-ПЭ255), имеется уникальная схема для перегруппировки данных в памяти.

Ассоциативная память представляет собой квадрат на 256 слов по 256 разрядов каждое, что составляет в общей сложности 64 Кбит данных. Матрица обеспечена 256 входами и 256 выходами, позволяющими осуществлять параллельный ввод-вывод данных от (к) любых устройств. Схема ассоциативного модуля памяти и обработки представлена на рисунке 4.7.

Число ассоциативных модулей в системе может достигать 32 и обработке подвергаться до 256 Кбайт информации. Обрабатываемые слова могут быть разбиты на поля переменной длины, над

которыми могут быть выполнены арифметические и логические операции.

У правление работой ассоциативных модулей организуется по командам программы, хранящейся в управляющей памяти. Управляющая память уникальна тем, что она состоит из шести секций:

- первая, емкостью 512 32-разрядных слов, является библиотекой подпрограмм;

- вторая и третья (512 слов) – память команд;

- четвертая (512 слов) – быстродействующий буфер данных;

- пятая, емкостью 16384 32-разрядных слова, считается основной памятью;

- шестая (10720 слов) – область памяти для прямого доступа – обеспечение работы периферийных устройств.

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

Связь оператора с системой осуществляется с помощью мини-ЭВМ типа PDP-11. С помощью этой машины осуществляется первоначальная загрузка управляющей программы в управляющую память. Реализуется управление программами обработки прерываний по ошибкам и возможность разработки, трансляции и отладки программного обеспечения – обычная работа оператора. Машина обеспечена печатающим устройством и перфоленточным устройством ввода-вывода.

Ввод и вывод информации между системой и многочисленными периферийными устройствами обеспечивается четырьмя видами интерфейса:

- прямой доступ к памяти;

- буферизованный ввод-вывод;

- параллельный ввод-вывод;

- логическое устройство внешних функций.

Интерфейс прямого доступа к памяти может быть использован и для подключения внешней памяти. Буферизованный ввод-

вывод используется для связи системы со стандартными периферийными устройствами. При этом данные передаются в форме блоков. Параллельный ввод-вывод обеспечивается 256 линиями связи, позволяющими вести обмен данными между ассоциативными модулями и любыми устройствами системы с высокими скоростями.

4.4 Однородные системы и среды

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

Однородная система, таким образом, может быть создана на базе совокупности большого числа ЭВМ, например, на базе микро-ЭВМ. В качестве иллюстрации приводят систему, названную МИНИМАКС. Эту систему, имеющую программируемую макроструктуру, отнесли к классу однородных.

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

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

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

Еще одной разновидностью этого направления систем являются, так называемые, однородные вычислительные среды, представляющие собой, в общем случае, решетчатые n-мерные структуры, а в частном случае двумерные – плоские решетки (рис. 4.9).

У злами решетки являются коммутационные и функциональные устройства, подобные ЭМ однородной системы, позволяющие определенной настройкой создать любую структуру. В частном случае двумерной структуры, каждая «клетка» соединяется с четырьмя соседними. Между двумя соседними клетками проходят два канала настройки и один канал передачи рабочей информации. Отмечаются большие затраты и сложность реализации связей между отдельными элементами среды. Не менее сложной задачей является их программирование.

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

4.5 Функционально распределенные системы

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

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

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

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

Архитектура функционально распределенной вычислительной системы в обобщенном схематическом представлении может быть проиллюстрирована рис. 4.10, при этом надо понимать, что состав

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

Описанная идея имеет реальное жизненное воплощение. Приведем лишь один интересный пример. Уже в 1970 г. была создананеоднородная восьмипроцессорная система SYMBOL (рис. 4.10). Процессор-супервизор управляет работой всей системы, координируя остальные процессоры, создавая очереди заявок к ним и распределяя их между задачами. Центральный процессор выполняет команды основной программы, арифметические и логические операции.

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

Виртуальная память состоит из 2 16 страниц, содержащих 256 64-битных слов. Емкость основной памяти небольшая – всего 8 Кслов (32 страницы). Емкость дисковой памяти – 50 тыс. страниц. ЕЕ распределением, поиском, считыванием и передачей нужной страницы занимается специализированный процессор управления дисками. Управление вводом-выводом информации реализуется процессором управления каналами, к которым подключены внешние устройства. Редактирование и преобразование вводимых данных обеспечивается процессором сопряжения. Процессор-транслятор обеспечивает перевод программы на внутренний машинный язык. Сопряжение всех устройств системы осуществляется с помощью главной шины, содержащей 111 линий связи. Распределение линий показано на рисунке 4.11. Не указанные на рисунке линии используются для передачи кода операции, указания приоритета информации и синхронизации работы пользователей. Приведенная в качестве примера система отличалась достаточно высокой производительностью – 75 тыс. операторов работающей программы.

4.6 Системы с перестраиваемой структурой

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

Работы в этом направлении, как и прежде, связаны с решением задачи повышения производительности вычислительных систем, которая может быть обеспечена:

- применением параллелизма процессов управления, доступа к данным и их обработки;

- децентрализацией управления работой системы и асинхронностью взаимодействия процессоров и других различных устройств системы;

- возможностью перестройки структуры с целью адаптации системы к потребностям задач в ресурсах и повышения устойчивости элементов к отказам;

- возможностью развития системы (открытость) за счет подключения к ней дополнительных устройств обработки данных без изменения принципов их функционирования;

- созданием систем на основе модулей технических и программных средств, обеспечивающих однородность их структуры.

Реализация такого подхода позволяет создавать высокопроизводительные системы из одинаковых «кирпичиков» - сравнительно простых конструктивных структур – модулей. В качестве

таковых могут использоваться, например, микро-ЭВМ с относительно небольшим быстродействием и ограниченным объемом памяти.

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

Структурная организация систем. Итак, в качестве структурной единицы рассматриваемых систем определен модуль. Ус-ловно, модуль можно представить в виде совокупности трех процессоров: обрабатывающего или операционного (ОП), управляющего (УП) и коммуникационного (КП). Эта совокупность процессоров должна реализовать выполнение следующих функций:

- обработку числовых и логических значений и строк символов;

- обеспечение управления вычислительным процессом и взаимодействием со всеми остальными модулями;

- установление соединений с определенными модулями и передачу данных между ними для обеспечения вычислительных процессов.

На рисунке 4.11 представлено схематическое изображение содержания модуля и его конструктивное представление. Коммутационный процессор обеспечивает соединение и передачу данных по нескольким каналам.

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

Конструктивное

На рисунке 4.12 проиллюстрирован фрагмент матричной структуры (одна плоскость).

К оммутационные процессоры и каналы образуют в совокупности коммутационное поле, обеспечивающее соединение взаимодействующих модулей и передачу между ними информации. Часть модулей работает на обслуживании, например, накопителей на магнитных дисках и других устройств ввода-вывода.

К оммутационное поле может быть организовано в виде самостоятельной структуры. Наиболее эффективными и экономичными считаются поля с многоуровневой организацией, пример такого поля иллюстрируется рисунком 4.13. На рисунке буквами а1, …, а16 обозначены входы коммутатора, к которым подключаются микропроцессорные модули. Штриховыми линиями показаны варианты возможных соединений модулей через коммутатор. Нижний уровень поля обеспечивает соединения между соседними модулями, образующими группы, следующий уровень образует соединения между группами и т.д. Однако среднее число соединений, образуемых такими коммутаторами, меньше среднего числа соединений, обеспечиваемых матричными структурами, а это снижает степень параллелизма в вычислительных системах и, следовательно, производительность всей системы.

Проблемы организации вычислительных процессов в системах с перестраиваемой структурой связаны с обеспечением па-раллельной обработки, организацией распределенного управления процессами обработки и ресурсами.

Параллельная обработка задач, то есть мультипрограммный режим работы обеспечивается достаточно простыми средствами. После ввода задания в систему, модуль, принявший задание, посылает через коммутационное поле запрос на поиск свободного обрабатывающего модуля. Если таковой найден, ему направляется задание с указанием мест размещения программы, данных и результатов работы. Из задания модуль извлекает также сведения о ресурсах, необходимых для выполнения программы, например, объеме требуемой оперативной памяти, числе требуемых процессоров для обработки данных, количестве и типах внешних уст-ройств и др. Модуль закрепляет за собой необходимые ресурсы и начинает выполнять задание. По завершении выполнения задания модуль освобождает ресурсы, которые могут быть предоставлены другим модулям. Число параллельно обрабатываемых задач определяется количеством модулей в системе. Параллельные программы строятся путем выделения подзадач и ветвей программы, операций над векторами и матрицами и организации конвейерной обработки данных. При возникновении ветви в программе модуль посылает запрос на поиск свободного модуля, в который загружается программа и ветви, и ветвь выполняется как самостоятельная задача, по завершении которой в ведущий модуль возвращаются результаты обработки. Параллельные вычисления по конвейерной и матричной схемам организуются за счет создания соответствующих конфигураций связей между модулями – линейных, кольцевых или матричных структур. Однако, для матричных вычислений обычно разрабатывают специализированные процессоры, которые встраивают в различные системы, обеспечивая таким образом высокопроизводительную обработку данных.

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

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

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

Вопросы и задания для самопроверки

    1. Как вы думаете, конвейерная обработка реализуется организационно (программно) или аппаратно?

    2. Почему вычислительная система CRAY названа конвейерной?

    3. Коков общий принцип организации матричных систем? Нарисуйте схему связей процессорных элементов системы ILLIAC-IV. Каким образом может быть организован вычислительный процесс в такой системе?

    4. Что является определяющим для поиска информации в ассоциативной памяти?

    5. Объясните принцип записи информации в ассоциативную память.

    6. В чем заключается преимущество ассоциативной памяти по сравнению с адресуемой?

    7. Какие вычислительные системы называются однородными, что определяет их однородность?

    8. Какие структуры назвали однородными вычислительными средами?

    9. Что отличает однородные вычислительные системы и однородные вычислительные среды?

    10. Чем была вызвана необходимость разработки функционально распределенных вычислительных систем?

    11. Нарисуйте примерную функционально распределенную систему.

4.13. В чем заключается идея создания систем с перестраиваемой структурой? Какова цель их создания?

    1. За счет чего можно обеспечить высокую производительность системы с перестраиваемой структурой

    2. Что лежит в основе системы с перестраиваемой структурой? За счет чего можно обеспечить перестройку структуры?

    3. Нарисуйте примерную схему многоуровневого коммутационного поля. Где и для чего можно применить такую схему?

    4. Перечислите проблемы организации вычислительных процессов в системах с перестраиваемой структурой.

Глава пятая

Современные архитектуры

5.1 Современные направления развития вычислительной техники

Давайте, вначале зададимся вопросом, «по каким вероятным направлениям может пойти развитие современных архитектур вычислительных систем?».

Большинство экспертов-специалистов в области средств вычислительной техники выделяют четыре направления предстоящеего развития:

- векторно-конвейерные суперкомпьютеры;

- симметричные мультипроцессорные системы -Symmetric MulriProcessing -SMP;

- системы с массовым параллелизмом – Massive Parallel Processing - MPP;

- кластерные системы – Cluster Systems.

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

Векторно-конвейерные суперсистемы. В третьей главе данной книги был описан первый представитель семейства Cray, появившийся в 1976 году. Название семейства отражает принципы обработки данных, заложенные в его архитектуру и форму представления данных

Во-первых, - это наличие конвейеров команд и операций, принципы, организации которых описаны ранее во второй главе. Во-вторых, данные представляют собой число не в виде единственного значения, а в виде векторов – подобно представлению двоичных или десятичных чисел:

Здесь или 1 при . Этот вектор может представлять беззнаковое целочисленное значение V в диапазоне от 0 до , где:

Таким образом, векторный процессор обрабатывает одной командой не одно единственное значение, а сразу массив (вектор) значений, то есть команда вида A = означает, что процессор выполнит попарное сложение элементов двух массивов и , и создаст третий массив A. Каждый массив (вектор) хранится в особом векторном регистре. Массивы должны иметь при этом одина-ковую размерность и одинаковую длину. Длина одновременно обрабатываемых векторов в современных векторных системах может составлять до 128 или 256 элементов. Содержание векторной опе-рации заключается в распараллеливании циклов, которые обеспечивают вычислительные работы, для чего последние подвергаются процедуре векторизации. Это реализуется автоматически при компиляции кода программы. Поэтому векторно-конвейерные компьютеры не требуют какой-либо специальной технологии программирования. Тем не менее, при написании в программе циклов требуется соблюдать некоторые правила, чтобы компилятор мог их эффективно векторизовать.

Типичными представителями этой архитектуры являются компьютеры Cray EL, Cray J90, Cray T90, NEC SX-4, NEC.

Симметричные мультипроцессорные системы (Symmetric Multi-ProcessingSMP). Следует сразу отметить, что по существу эти вычислительные системы являются системами с общим полем памяти (Shared Memory), характерным представителем которых ранее представлен комплекс Cmmp, построенный на широко известных мини-ЭВМ PDP-11/40 фирмы DEC. Вместе с тем, некоторые эксперты по компьютерным системам полагают, что истоки этого класса систем восходят к суперкомпьютерам фирмы Cray. Правда, на существо дела это влияния не оказывает. Наличие в суперкомпьютерах нескольких процессоров и общей для всех памяти потребовало обеспечения равноправного (симметричного) доступа к ней. Поэтому характерной чертой многопроцессорных систем SMP архитектуры является то, что все процессоры имеют прямой равноправный доступ к любой ячейке общей памяти.

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

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

Массивно-параллелельные системы (Massively Parallel Processing – MPP). Проблемы, присущие многопроцессорным системам с общим полем памяти устраняются в системах с массовым параллелизмом, основная идея которых заключается в образовании многопроцессорных массивов с помощью некоторой коммуникационной среды. Каждый узел массива состоит из одного или нескольких процессоров, собственной оперативной памяти, коммуникационного оборудования, подсистемы ввода-вывода, то есть имеет все для независимого функционирования. Вам это не напоминает системы с перестраиваемой структурой (подраздел 4.6). Очень похоже, правда? При этом на каждом узле может функционировать либо полноценная операционная система (как в системе RS/6000 SP2), либо ее часть, поддерживающая базовые функции ядра, а ОС работает на выделенном управляющем компьютере (как в системе Cray T3E или nCUBE2).

Процессоры имеют прямой доступ только к своей памяти. Доступ к памяти других процессоров требует введения специальных коммуникационных связей и осуществляется путем передачи данных в форме сообщений. Архитектура таких систем обладает хорошим свойством – масштабируемостью, то есть возможностью неограниченного наращивания числа процессоров системы, многократно увеличивая за счет этого ее производительность. В качестве примеров таких систем можно назвать ASCI White –8192 процессора или Blue Mountain – 6144 процессора, наконец, ASCI Red – 9632 процессора PentiumPro с оперативной памятью в 600 Гбайт и общей производительностью 3,2 миллиарда операций в секунду (TFlop/s).

Коммуникационные связи являются «узким местом» таких систем. Легко сказать: «соединить 10 000 процессоров каждый с каждым». Для этого используют различные топологии и технологии соединений. Например, в виде 3-х мерного тора или n-мерного гиперкуба. В последнее время для соединения вычислительных узлов используется иерархическая система высокоскоростных коммутаторов, дающая возможность прямого обмена данными между любыми узлами, без использования промежуточных узлов, как в системе IBM SP2.

Память, используемая вычислительным узлом (процессором) в описываемых системах, имеет трехуровневую структуру по типу:

- кэш-память процессора;

- оперативная память вычислительного узла;

- оперативная память других узлов.

При этом, при обработке данных, хранящихся в памяти другого узла, они предварительно должны быть переданы в память обрабатывающего процессора. Это осложняет разработку параллельных программ для пользователей.

Кластерные системы. Принципиальный подход к созданию кластерных систем был описан несколько ранее (см. подраздел 3.6). Привлекательность этого вида архитектуры заключается в том, что для достижения требуемой производительности можно объединять в единые вычислительные системы компьютеры самого разного типа, от персональных до суперкомпьютеров. Широкое распространение получили кластерные системы суперкомпьютерного класса из составляющих массового производства за счет выигрыша в стоимости в несколько раз. Правда, говорить об эквивалентности таких систем надо с оговоркой. Для этого случая приводят интересный пример. Суперкомпьютер Cray T3D, стоимостью несколько миллионов долларов имеет внутреннюю пропускную способность при пересылке данных 480 Мбайт/с с задержкой пересылки в 1 мкс, а кластер, в котором в качестве коммуникационной среды для пересылки данных применен Fast Ethernet, соответственно 10 Мбайт и 100 мкс. Так что погоня за снижением стоимости не всегда может привести к желаемым результатам.

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

Активно применяют кластерные технологии такие фирмы, как SUN, HP, Silicon Graphics.

5.2 Примеры современных архитектур

5.2.1 Архитектура современного процессора

Чтобы вам легче было представлять более полную и подробную картину взаимодействия многочисленных устройств компьютера, познакомьтесь с архитектурой современного процессора в том виде, в каком она исключительно редко представляется в технической, и тем более, в учебной литературе. На рисунке 5.1 показана архитектура процессора промышленного применения TMS 320

C 3x. Подобные процессоры используются в различных

управляющих автоматизированных системах. Здесь мы постарались акцентировать (обратить) ваше внимание на основные компоненты процессора, такие, как арифметико-логическое устройство (АЛУ), блок управления, процессора, систему внутренних шин и значительное количество регистров различного назначения. Внутри процессора размещена сравнительно небольшого объема кэш-память первого уровня, обеспечивающая некоторое выравнивание скоростей работы процессора и оперативной памяти. С помощью внутреннего мультиплексора процессор имеет выход на широкую общесистемную шину, через которую идет обмен командами и данными с основной оперативной памятью (ОЗУ). На рисунке – это блоки памяти RAM. Основной замысел рисунка заключается в том, чтобы показать связи взаимодействия различных составных частей процессора.

Ранее, достаточно подробно, была описана последовательность действий процессора при выполнении им команд, теперь вы сами можете в какой-то степени проанализировать его работу. Это должно вам помочь разобраться и в более сложных структурах современных вычислительных систем.

Современные вычислительные системы, как правило, представляют собой многопроцессорные системы, работающие под управлением одной операционной системы.

В совокупности управляющие программы названы Supervisor – «надсмотрщик». К ядру операционной системы обычно относят следующие программы:

- образующие задачи;

- программы, управляющие ресурсами, допускающими их параллельное и последовательное использование;

- программы, организующие службу времени на базе машинного таймера;

- программы, осуществляющие анализ прерываний с целью определения вида обработки, необходимой для задачи;

- организующие загрузку и учет наличия и состояния программ, загруженных в оперативную память;

- программы учета и распределения оперативной памяти в динамической области (в области задач) и области системных очередей;

- программы инициирования и завершения процедур ввода-вывода, а также контролирования состояния средств ввода-вывода;

- программы, управляющие страничным обменом данных между внешней памятью на магнитных дисках и оперативной памятью;

- осуществляющие управление процессами и обменом с физическими устройствами, а также контроль использо-

вания ресурсов сети, при наличии сетевой части в операционной системе, и другие операции.

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

Ниже приведен еще один пример процессора с более распространенным в литературе представлением архитектуры, - приведена на рисунке 5.2.

Американской корпорацией Sun Microsystems, занимающейся разработкой больших машин, в последнее время разработано значительное число процессоров.

Niagara I, Niagara II – 65 нм технология, с обещаемой мощностью рассеивания в 130 Вт.

Наиболее известными процессорами этой фирмы стали процессоры Ultra SPARC T1 и Ultra SPARC 64. Аббревиатура названия процессора расшифровывается ангийским словосочетанием Scalalable Processor ARChitecture, означающим возможность наращивания архитектуры процессора (возможность масштабирования). Процессоры Ultra SPARC T1 рассеивают мощность в 72 Вт, поддерживают высокое число вычислительных потоков. Каждый процессор имеет кэш-память команд – 64 кб и данных – 16 кб. Общая кэш всех ядер – 3Мб. Разработчики обещают, что вероятным преемником процессоров SPARC станет процессор Rock также 65 нм технологии, но имеющий большее число ядер, чем у Ultra SPARC T1.

Имеется семейство процессоров Pebble и Boulder, а также процессор Cell, разработанных совместно фирмами Sony, Toshiba и IBM.

А теперь попробуйте мысленно сравнить схему этого процессора с классической схемой, представленной на рисунке 3.2.

Очень наглядной и выразительной является схема конвейера процессора SPARC T1, «привязанная» к его структурной схеме (см. рис. 5.1).

Конвейер 9-ти ступенчатый, затрачивающий 9 тактов на команду. Одновременно может выполняться до 9 команд (см. рис. 5.3).

На схеме, рисунок 5.3, обозначены:

1 – блок выборки команд;

2 – декодер (дешифратор) команд;

B - буфер команд;

3 – устройство группировки и распределения команд по функциональным исполнительным устройствам процессора;

4 – устройство выполнения целочисленных операций, формирование виртуальных адресов обращения к памяти, окончательное декодирование команд для операций с плавающей точкой и обращение к регистрам с плавающей точкой;

5 – обращение к кэш-данным;

6 – функциональное устройство выполнения операций с плавающей точкой и графических операций;

7 – анализ возникших исключений;

8 – запись в регистровый файл;

9 – изъятие команд из обработки.

А теперь взгляните на рисунок 5.4, на котором представлена другая интерпретация того же самого конвейера и сравните его с рисунком 5.3. Раскраска (оттенки) цветов выбраны одинаково, именование блоков и их нумерация тоже одинаковы. А в чем заключается разница? В том, что рисунок 5.4 ближе привязывает конвейеры к структуре процессора, к его функциональным составляющим устройствам.

Давайте проследим работу конвейера.

Блок выборки и диспетчеризации – PDU (Prefetch and Dispatch Unit) – выбирает из внешнего кэша четыре и менее команды, помещает в I-кэш, где выполняется их частичная дешифрация с целью выявления команд перехода, а затем загружает в буфер команд. Максимальное количество команд в буфере достигает 12. Из буфера команд, по четыре за раз, они передаются в файловые регистры и операционные устройства, в которых и выполняются.

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

вающее строку кэш-памяти, которая должна выбираться вслед за данной. Такая схема, как отмечают авторы, обеспечила 188% переходов по условиям целочисленных операций и 94% переходов по условиям операций с плавающей точкой.

На третьей ступени конвейера блок логики группировки (блок G на рис.5.4) также выбирает группу из четырех или менее команд и направляет их в порядке следования в программе в блоки операционных устройств целочисленной группы операций и операций с плавающей запятой. Одновременно с этим, выполняется доступ к операндам целочисленных операций, помещенных в целочисленный регистровый файл. Таким образом, к концу такта ступени G одна или две целочисленные команды готовы к ступени выполнения, которая реализуется на ступени E (4 – Executive). На ступенях N1 и N2 никаких операций не выполняется, эти пропущенные такты обеспечивают задержку, необходимую для выравнивания с конвейером с плавающей запятой.

Доступ к операндам в регистровом файле с плавающей запятой выполняется на ступени R конвейера после пересылки команды в операционное устройство с плавающей запятой. Операции над ними (ступень 6) занимают до трех ступеней конвейера от X1 до X3.

На ступени N3 процессор анализирует различные условия исключений, чтобы выяснить, не требуется ли прерывание. Наконец, на ступени W (Write – запись) результаты выполнения команд сохраняются либо в регистрах, либо в кэше данных. В любой момент до этой ступени команда может быть снята с выполнения, а результаты работы аннулированы, но на этой ступени останов уже невозможен. На девятой ступени в процессоре уничтожаются «все следы» пребывания команды внутри процессора.

5.2.2 Многоядерные процессоры

Развитие компьютерных систем настоящего времени отмечено появлением действительно параллельных платформ на базе архитектур многоядерных процессоров. Такие компании, как Intel, IBM, Sun и AMD, представили микропроцессоры, имеющие несколько исполнительных ядер на одном кристалле. Что же это за «явление» многоядерный процессор? Ядро процессора представляет собой сочетание функциональных блоков, непосредственно участвующих в выполнении команд.

Комбинация транзисторов, реализующих какую-то логическую операцию, формирует логический блок, а набор логических блоков образует функциональный блок. Примерами функциональ-ных блоков в процессоре являются: арифметико-логическое уст-

ройство (АЛУ) – Arithmetic Logic Unit (ALU), блоки предварительной выборки команд из памяти, блоки управления и др. Они и

формируют микропроцессор или по-другому – центральное процессорное устройство (ЦПУ) – Central Processing Unit (CPU).

В случае многоядерных процессоров на кристалле находятся несколько ядер, но не процессоров. Схематически кристалл двухядерного процессора представлен на рисунке 5.5.

К ристалл формируется в результате выполнения многочисленных технологических процессов на полупроводниковом материале (пластине) типа германия или кремния. В результате этих процессов и создаются функциональные блоки. После упаковки в корпус кристалл превращается в процессор (микропроцессор).

На кристалле, как правило, в едином технологическом цикле создаются буферы быстродействующей памяти (кэши), обычно подразделяемые по уровням: L1, L2 и L3. Кэш L1 – самый маленький, а L3 – самый большой. А также: локальный программируемый контроллер прерываний (Advanced Programmable Interrupt Controller); интерфейсный блок, соединяющий процессор с системной шиной (находящейся вне процессора); массив регистров; исполнительные устройства (целочисленное АЛУ, блок операций с плавающей точкой); блоки организации переходов и др.

Каждое ядро процессора выполняет аппаратные потоки независимо, а общая память помогает поддерживать обмен между потоками. Количество ядер может различаться, но ядра остаются симметричными; поэтому вы видите появление новых процессоров с двумя, четырьмя, восемью и более ядрами.

Как несколько ядер обмениваются информацией и как эти ядра располагаются на кристалле? Соединение может быть шинное, кольцевое, матричное и т.д. Например, компания Intel выполняет соединения по схеме системной шины, поддерживая принципы функционирования, унаследованные от прежних времен. Ядро многоядерного процессора делает все то же, что и одноядерного, с учетом того, что у многоядерного процессора ядра должны работать согласованно.

Что происходит с приложением пользователя при использовании нескольких ядер? Чем больше ядер, тем большее количество потоков может использоваться. При этом программным обеспечением должна быть реализована какая-то методология синхронизации их работы. Необходимо понимать какие операционные системы поддерживают многоядерные процессоры и какие компиляторы (трансляторы программ на машинный язык) генерируют наилучший код для работы с таким количеством аппаратных потоков.

Чем отличается многопроцессорная система от многоядерной? Как было отмечено, многоядерный процессор – это несколько ядер в одном физическом процессоре, в то время как многопроцессорная система представляет собой несколько физических процессоров. Это означает, что многопроцессорная система может быть построена из нескольких многоядерных процессоров, установленных в нескольких сокетах (разъемах), а многоядерному процессору требуется один сокет.

5.3 Симметричные системы (SMP) - системы с общим полем памяти

Компания «Т-Платформы» выпускает симметричную вычислительную систему T – Edge SMP на базе 32-х четырехядерных процессоров 5300/E5479 Intel Xeon с производительностью 1,5 Tflops/s, ОЗУ – 1 Тбайт типа DDR2 – 667 в виде модулей с габаритными размерами 48,2 х 26,6 х 76,2 мм. (высота, ширина, длина) в стойке 6U. Накопитель на магнитном диске емкостью 16 Тбайт одновременно обслуживает 12 процессоров со скоростью передачи данных равной 35 Гбайт/с.

Система работает с операционными системами RedHat Interprise Linux, Fedora Core, SUSE Lim Enterprise Server или Open SUSE.

Фирмой Silicon Graphics разработаны компьютеры среднего класса CHALLENGE DM/L/XL коммерческого применения и POWER CHALLENGE L/XL – для обработки данных в форме с плавающей точкой на базе суперскалярных процессоров MIPS R8000 этой же фирмы. ОЗУ процессоров до 16 Гб – в 2 раза больше, чем у процессоров систем Cray T90/C90/J90, при 64-разрядной архитектуре. Отмечается бинарная совместимость для этой системы со всем семейством компьютеров SCI, включая рабочие станции Indy.

POWER CHALLENGE XL может содержать от 1 до 18 процессоров, производительностью 0,36 – 6,5 Гфлопс, память RAM – 0,064 – 16 Гб, скорость обмена данными через ввод-вывод до 1,2 Гб/с. Объем дисковой памяти до 6,3 Гб.

POWER CHALLENGEarray содержит до 144 процессоров, RAM до 128 Гб, пиковая производительность до 51,8 Гфлопс. Скорость ввода-вывода – 4 Гб/с, емкость дисков до 63 Гб.

5.4 Семейство массивно-параллельных машин (MPP)

Системы этого семейства машин разрабатывались для решения прикладных задач таких направлений, как:

- решение задач аэродинамики летательных аппаратов, в том числе явлений интерференции при групповом движении;

- расчет трехмерных нестационарных течений вязкосжимаемого газа;

- расчет течений с локальными тепловыми неоднородностями в потке;

- разработка квантовой статистики моделей поведения вещества при экстремальных условиях. Расчет баз данных по уровням, - соблюден в широком диапазоне температур и плотностей;

- расчет структурообразования биологических макромолекул.

- моделирование динамики молекул и биомолекулярных систем;

- линейная дифференциация игр, динамических задач конфликтов управления;

- решение задач механики деформируемых твердых тел, в том числе процессов разрушения.

В качестве иллюстраций примеров систем данного типа мы выбрали массивно-параллельные вычислительные системы МВС-100 и МВС – 1000. Это отечественные мультипроцессорные системы. Программирование для систем предусмотрено на языках FORTRAN, С (С++). Имеются дополнительные средства описания параллельных процессов – программные средства PVM и MPI – общепринятые для систем параллельной обработки. Системы снабжены средствами реализации многопользовательского режима и удаленного доступа.

МВС-100 называют системой второго поколения, собранной на базе типовых конструктивных модулей, содержащих 32, 64 или 128 микропроцессоров Intel 860 с производительностью в 100 Мфлоп/с. Для получения результатов вычислений двойной точности используются 64-разрядные слова. Объем ОЗУ -8-32 Мб. С внешними устройствами связь реализуется транспьютером (см. далее) с общей пропускной способностью по четырем каналам 20 Мбит/с.

Многопроцессорная вычислительная система МВС-1000. Система 3-го поколения, созданная на базе RISK-процессоров Alpha 21164 фирмы DEC – Compag (выпускаются также фирмами Intel и Samsung) с производительностью 2,4 Tflops (2,4 миллиарда операций в секунду). ОЗУ – 0,1 –2 Гбайтов. Процессоры располагаются в стойке с размерами: 550 х 650 х 2200 мм (ширина, глуби-

н а, высота), оборудованной блоками питания и вентиляторами, весом 220 кГ. Всего имеется 8 стоек, содержащих 512 узлов. Узлы представляют собой блоки, содержащие по 32, 64 или 128 (см рис. 5.7 и 5.8) процессоров. Потребляемая системой мощность - до 4 кВт.

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

Основой системы является структурная решетка 4 х 4, состоящая из 16 вычислительных модулей – транспьютерных линков.

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

Т ранспьютеры снабжены своей оперативной памятью (ОЗУ), памятью на жестком магнитном диске, емкостью 2-9 Гбайт и портами ввода-вывода.

Четыре угловых элемента соединяются по диагонали попарно (связи вделены жирными линиями). Оставшиеся 12 линков (модулей), предназначены для подсоединения внешних устройств: накопителей на магнитных дисках (НМД) и лентах (НМЛ), других устройств ввода-вывода. Максимальная длина пути в таком модуле равна 3, против 6 в исходной матрице 4 х 4. Для межпроцессорного обмена используется коммутационная сеть MYRINET (фирма Mirycom, США) с пропускной способностью канала в дуплексном режиме 2 х 160 Мб/с. В стандартной стойке располагаются до 64 процессоров системы МВС-1000 или 24 процессора системы МВС-1000К. Предусмотрена система объединения стоек.

На рис. 5.6 представлена топология базового блока системы МВС-1000.

Для управления массивом процессоров и внешними устройствами (ВУ), а также для доступа к системе извне используется хост-компьютер (управляющая машина). Обычно это рабочая станция Alpha Station с процессором Alpha и ОС Digital Unix (Tru 64 Unix) или персональный компьютер на базе процессоров Intel с ОС Linux.

Начиная с 1999 г., все вновь выпускаемые системы МВС-1000 строятся как кластеры выделенных рабочих станций. Это значит, что в качестве вычислительных модулей используются не специализированные ЭВМ, применяемые в качестве комплектующих су-

перкомпьютерной установки, а обычные персональные компьютеры «из магазина». В качестве коммуникационной аппаратуры ис-пользуются не специализированные «транспьютероподобные» процессоры, а обычные сетевые платы и коммутаторы, применяемые для, так называемых, офисных локальных сетей.

В качестве ОС используется Linux, что является общепринятым мировым стандартом для построения систем такого класса – большие и сверхбольшие системы МВС-1000М.

На рисунке 5.8 приведена архитектура 64-процессорной системы МВС-1000. Здесь отчетливо выделяются массивы процессоров и параллельность этих массивов. Данные рисунки приведены, чтобы обратить внимание читателя на организацию связей между вычислительными модулями (процессорами) в блоке. «Свободные» связи (неподключенные стрелки) могут использоваться для под-

ключения периферийных устройств ввода-вывода или других сателитных устройств.

5.5 Суперкомпьютер СКИФ МГУ-«Ломоносов»

Было бы неправильно обойти вниманием еще одну архитектуру, в полной мере использующую технологию применения в вычислительных системах высокоскоростных вычислительных сетей. Технология применена в разработке самого высокопроизводительного суперкомпьютера России СКИФ МГУ – «Ломоносов». В нем все коммуникации между вычислительными узлами, системами управления передачей данных, системами хранения и архивирования данных реализованы на базе трех независимых высокоскоростных вычислительных сетей:

- системной сети - QDR InfiniBand (Quadrangle Data Rathe InfiniBand – высокоскоростная сеть передачи данных с помощью четырех скрученных жил проводов – множественная связка) с пропускной способностью 40 Гбит/сек;

- сервисной сети Ethernet с пропускной способностью: 10 Гбит/сек, 1 Гбит/сек и 100 Мбит/сек;

- управляющей сети – Ethernet с пропускной способностью: 10 Гбит/сек и 1 Гбит/сек.

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

Первая сеть (представлена на рисунке 5.9) обеспечивает вычислительный процесс путем распределения и передачи команд программ между вычислительными узлами. Система имеет 5130 вычислительных узлов, собранных на базе трех типов многоядерных процессоров Intel Xeon 5570 Nehalem (4 ядра) – основной, «массовый» тип, Intel Xeon 5670 (6 ядер) и Power x Ctll 8i (8 ядер). Операционные блоки организованы в виде вычислительных узлов, собранных на печатных платах, названных T-Blade. На плате установлено по два процессора одного типа, оперативная память и другие устройства, необходимые при работе процессоров и для связи с другими вычислительными узлами. Вычислительные узлы (платы) устанавливаются на шасси, также являющимся печатной платой.

Коммутация всех вычислительных узлов обеспеивается 18 (восемнадцатью) многопортовыми коммутаторами типа Mellanox MTS 3610. Системная сеть обеспечивает в последовательном формате передачу информации со скоростью, как уже было указано, – 40 Гбит/сек, что и позволило достичь высокой реальной произво-

дительности на реальных тестовых программах – Linpack - 397 Тфлопс (397 х 1012 операций/сек). В составе компьютера СКИФ таких шасси порядка 86.

Сервисная сеть, рисунок 5.10, обеспечивает передачу и управление передачей, хранением и архивированием данных, пересылаемых по сети также в последовательном формате. Сеть является разделяемым ресурсом между всеми ее пользователями. Разделяемая среда представлена коммутатором типа Force 10 C300 и серверами, управляющими вычислительными узлами, обеспечивающими передачу данных между памятью, вычислителями, управляющими серверами и устройствами ввода-вывода. Различные сегменты сети имеют различную пропускную способность, от 100 Мбит/сек, до 10 Гбит/сек.

Третья, управляющая сеть, рисунок 5.11, обеспечивает передачу общей управляющей информации, синхронизирующей согласованную работу всех устройств системы. Архитектура этой сети, аналогично описанной выше сервисной сети, с той лишь разницей, что большинство сегментов сети, соединяющих управляющие структуры и вычислительные узлы, имеют высокую пропускную способность, скорось передачи управляющей информации, 10 Гбит/сек.

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

Конструктивно, практически все типы больших машин, выполняются по следующей технологии. Активные элементы вычислительных систем – процессоры размещаются на печатных платах, подходящих размеров. Названия таким конструктивным сборкам с активными элементами (процессорами) разработчики придумывают самые различные, например, - вычислительный узел. Затем, такие платы-узлы устанавливаются на объединительную плату, которую, чаще всего, называют шасси. Шасси, таким образом, представляют собой некоторую завершенную конструкцию, обычно помещенную в металлическую коробку, являющуюся одновременно и корпусом и экраном.

Некоторое количество металлических коробок-шасси «упаковывают» в металлический каркас, закрытый сверху также металлическим кожухом (корпусом). Такую конструкцию называют

обычно модулем, конструктивное оформление которого показано на рисунке 5.12.

И , наконец, модули, до 8 штук, встраивают в металлический

шкаф, называемый компьютерной стойкой (высотой порядка 2 м). Полторы – две сотни стоек и составляют компьютер.

Суперкомпьютер СКИФ МГУ, например, занимает общую площадь равную примерно 800 м2: вычислитель – 252 м2, система

бесперебойного питания – 246 м2, главный распределительный щит – 85 м2 и ситема обеспечения климата – 216 м2.

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

Этот, можно сказать «компьютерный монстр», потребляет 3,05 Мвт электроэнергии, большая часть которой превращается в тепло, которое очень мешает работе и его надо отводить от системы.

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

В заключение этого раздела приведем еще несколько данных по следующим характеристикам:

- число процессоров / ядер – 10260 / 44000;

- оперативная память основного типа вычислительных узлов – 12 или 24 Мбайт, максимальная память вычислительного узла – 48 Гбайт;

- емкость оперативной памяти (ОЗУ) – 73920 Гбайт;

- общий объем дисковой памяти вычислителя – 166400 Гбайт;

- операционная система – Clustrx T-Platforms Edition;

- языки программирования: C / C++, FORTRAN 77/90/95.

Суперкомпьютер снабжен мощной системой хранения и архи-

вирования данных (см. рисунки 5.8, 5.9, 5,10) – ReadyStorage San 7998/Lustre, разработки организации T-Platforms.

Объем системы хранения данных обозначается внушительным числом – 1350 Тбайт и обеспечивает параллельный доступ всех вычислительных узлов к данным, устраняя, таким образом, узкие места традиционных сетевых хранидищ. Как отмечается разработчиками, система позволяет практически неограниченно наращивать объем хранилищ, не создавая дополнительных сложностей в ее управлении. При этом, за счет резервного копирования обеспечивается высокая отказоустойчивость, а вместе с этим и надежность всей системы.

5 .6 Гибридные технологии.

В качестве примера этой технологии мы выбрали компьютер кластерно-параллельной архитектуры. Вы поймете, почему выбрана эта структура.

Из общих сведений о 500 суперкомпьютерах, возглавляющих список (TOP500) самых мощных компьютеров мира, первым суперкомпьютером, преодолевшим на тесте Linpack рубеж производительности в 1 Pflop/s (петофлоп), стал - RoadRunner компании IBM. Начиная с 31 редакции (июнь 2008 г.) этот компьютер возглавляет список TOP500. Суперкомпьютер был создан для Министерства Энергетики США и установлен в Лос-Аламосской лаборатории (штат Нью-Мексико, США).

RoadRunner построен по гибридной схеме из двухядерных процессоров AMD Opteron и из процессоров IBMCell 8i, смонтированных на специальных блейд-модулях (печатных платах) TriBlades (рис. 5.8), соединенных с помощью коммуникационной сети Infiniband. По данным разработчиков установка занимает 560 , весит 226 тонн. Общее энергопотребление установки – 2,35 МВт, при энергоэффективности (энергопотребление на миллион операций в секунду) – 437 Mflop/s/Вт. Стоимость компьютера оценена в 133 млн. долларов. Пиковая производительность составила 1,378 Pflop/s, а на тесте Linpack – 1,026 Pflop/s.

Министерство Энергетики США планирует использовать компьютер RoadRunner для расчета старения ядерных материалов и анализа безопасности и надежности ядерного арсенала США. А также планируется его использование для научно-финансовых, транспортных, аэрокосмических расчетов.

Основой компьютера являются, так называемые, модули TriBlade (рисунок 5.14), состоящие из одной печатной платы LS21, платы расширения (Expansion blade) и двух плат QS22. Плата LS21 содержит 2 двухядерных процессора AMD Opteron 2210, работаю-

щих с тактовой частотой 1,8 ГГц, и имеющих 16 Гбайт оперативной памяти, по 4 Гбайта на ядро.

Каждая плата QS22 содержит также два процессора, но уже другого типа - PowerxCell 8i фирмы IBM для обработки данных, работающих на частоте 3,2 ГГц. Каждый процессор включает в себе одно универсальное ядро Power (PPE) и 8 специальных ядер для операций с плавающей точкой (SPE), а также по 4 Гбайта оперативной памяти на каждый процессор. Кроме этого на плате уста-новлены еще два процессора – Infiniband 4 x DDR, обеспечивающие ввод-вывод данных, либо, если нет операций ввода-вывода, выполняющие вычислительные операции.

Плата расширения соединяет платы QS22 через четыре разъема PCI x 8 (по два на плату QS22) с платой LS21.

Таким образом, один блейд-модуль TriBlade состоит из четырех печатных плат и занимает соответственно 4 слота (разъема) на объединительной печатной плате, названной шасси – BladeCenter H. На шасси размещены три блейд-модуля –12 печатных плат: 3 платы LS21, 6 плат QS22 и 3 платы расширения. На рисунке 5.14 схематически представлены конструкции шасси.

Шасси (рисунок 5.15) объединены в объединенные модули по схеме, представленной на том же рисунке 5.15 – конструктивные блоки. Объединенный модуль – это 60 шасси BladeCenter H с установленными блейд-модулями TriBlades, - всего 180 TriBlades. На рисунке 5.16 показана структура объединенного модуля, из которого видно, что все TriBlades подсоединены к 288 – портовому маршрутизатору Voltaire ISR2012 Infiniband (объединяющая связка) с помощью которого реализуется связь с другими объединенными модулями, образующими кластер.

К аждый объединенный модуль также подсоединен к файловой системе Panasas через 12 серверов (систем ввода-вывода) System x 3755. На нижеследующем рисунке 5.16 представлена архитектура объединенного модуля, где отчетливо прослеживается система с массивным параллелизмом.

Итоговую информацию по составу объединенного модуля можно представить следующим образом:

- 360 2-х ядерных процессоров Opteron c 2,88 Тбайтами памяти;

- 720 процессоров PowerXCell с 2,88 Тбайтами памяти;

- 12 серверов – узлов ввода-вывода – System x 3755 с двумя линиями Ithernet - 10 Мбит/с каждая;

- 288-портовый маршрутизатор Voltaire ISR2012 со 192 Infinitiband x 4 DDR (180 TriBlades и 12 узлов ввода-вывода).

Чтобы читатель мог более наглядно

представить себе конструктивное исполнение объединенного модуля, на рисунке 5.11 приведен примерный вид его конструкции.

Семнадцать таких объединенных модулей соединяются с помощью дополнительных 8 маршрутизаторов ISR2012 второго уровня в кластер. На рисунке 5.17 схематично изображена архитектура кластера, выделенная цветом. Каждый объединенный модуль подключен к соответствующему маршрутизатору через 12 каналов связей. Кластеры образуют систему с общедоступной памятью (см. 4 главу настоящей книги) благодаря межкластерным связям. Таким образом, формируется общая архитектура суперкомпьютера RoadRunner, как это представлено на рисунке 5.17. Суммарная вычислительная мощность кластера обеспечивается 6120 процессорами Opteron с 49 Тбайтами памяти на 3060 платах LS21 и 12240 процессорами Cell с такими же 49 Тбайтами памяти на 6120 печатных платах QS22. Связь с периферией кластеру обеспечивают 204 узла ввода-вывода System x 3755.

Архитектурно компьютер RoadRunner имеет кластерную структуру, это иллюстрируется рисунком 5.18. Кластер включает 17 объединенных модулей, каждый из которых занимает объем компьютерной стойки (образно говоря - металлический шкаф). В

каркасе шкафа размещается некоторое количество модулей - металлических каркасных конструкций, заполненных конструкциями шасси, внешний вид которых иллюстрируется рисунком 5.15. Общий вид конструкции «Объединенного модуля» можно схематически представить так, как это выглядит на рисунке 5.17. Набор из семнадцати стоек объединенных модулей, стоек с коммутаторами и другим коммуникационным оборудованием и устройствами ввода-вывода образует кластер. Компьютер в целом является объединением 16 таких «наборов» и образует сооружение, состоящее из впечатляющего количества стоек – порядка трех сотен.

З авершим знакомство с суперкомпьютером RoadRunner тем, что он работает под управлением операционной системы Red Hat Enterprise Linux при поддержке программного обеспечения xCAT.

5.7 Прогнозируемое направление перспективного развития компьютерных и сетевых архитектур – архитектура Grid.

Определение этому «явлению» дается в следующей формулировке: «Grid – это метод использования распределенных компьютерных мощностей и распределенных систем хранения, ставший популярным благодаря схемам, позволяющим использовать незанятые вычислительные ресурсы, разбросанные по всему миру. Сегодня, в основном по причинам недостаточной безопасности, системы, построенные на принципах Grid, создаются чаще всего внутри предприятий, этот метод позволяет им более эффективно использовать вычислительные ресурсы».

Наряду со словом Grid в компьютерной терминологии появилось и словосочетание Grid-компьютинг, употребляемое там, где отдельный компьютер становится частью сложной вычислительной системы – «это новый класс инфраструктур, в которых из удаленных ресурсов складывается безопасный и масштабируемый вычислительный механизм. В состав этого механизма могут входить компьютеры, начиная от настольных до серверных ферм и суперкомпьютеров, программные средства и устройства ввода-вывода. В основе Grid лежат программные технологии, использующие новые стандарты и протоколы совместно с известными сетевыми и Internet-протоколами».

На современном уровне коммуникационной основой структуры Grid являются высокоскоростные сети, относящиеся к Internet 2, такие, как Albiene (10 Гбит/с), английская Super Janet, общеевропейская GEANTnet, канадская CA*net3, азиатская APAN и еще ряд других сетей. Особые надежды возлагаются на трансконтинентальную сеть Global Terabit Research Network (GTRN) или Tera-Grid, которая должна иметь каналы в Европе и Америке и быть логически объединенной с азиатскими сетями. Сеть в качестве национальной магистрали или магистрали предприятий должна обеспечить подключенным компьютерам услуги с пропускной способностью, соответственно, 1000, 100, 10 и 1 Гбит/с. Подключения могут быть реализованы с помощью волоконно-оптических линий связи или на основе витых пар. Первыми планируется подключение к магистрали суперкомпьютерных центров Иллинойского и Калифорнийского университетов, Национальной Аргонской лаборатории (ведущее подразделение в области Grid-технологий) и Калифорнийского технологического института в Пасадене. Ожидаемая совокупная вычислительная мощность этого объединения – 13,6 Tflops.

Отмечается и соответствующее развитие программного обеспечения для создания Grid-приложений. Особое место отводится ОС Linux, поскольку Linux-кластеры составят основу вычислительной мощности TeraGrid. Прорывом стала CORBA, технологии Jini и Java RMI. В 2001 году компания Sun Microsystems предложила проект Project JXTA, ориентированный на создание пятиуровневой сетевой операционной среды, где верхним уровнем может быть уровень Grid-приложений

Grid-продукты”. Фирма Sun Microsystems, например, различает три основных категории сетей.

  • Cluster Grid – относительно простая вычислительная сеть, предоставляющая ресурсы пользователям одной рабочей группы, одного департамента, одного проекта.

  • Campus (Enterprise) Grid – вычислительная сеть корпоративного уровня, охватывающая несколько групп, работающих над различными проектами. Здесь должны быть реализованы политики разделения и обмена ресурсов.

  • Global Grid – сеть, которая эксплуатируется несколькими независимыми организациями, предоставляющими друг другу свои ресурсы. Между ними установлены определенные правила предоставления ресурсов, определенные протоколы взаимодействия.

Главным правилом стратегии Grid становится превращение сотен и тысяч компьютеров, объединенных вычислительной сетью в единый компьютер. Распределение задач по вычислительным ресурсам как в многопроцессорном сервере: мониторинг, диспетчеризация, приоритеты. Выделение ресурсов хранения – как в дисковой системе: создал раздел, создал файловую систему, отдал приложению. Работа в сети тоже как в компьютере: единый адрес, управление трафиком, резервирование каналов. Расширение системы должно быть не сложнее добавления процессора в сервер. Каждый добавляющийся ресурс (вычислительный сервер, дисковая система, сетевой коммутатор) отдается в распоряжение диспетчеру сети, который распределяет приложения пользователей по эти ресурсам. Администратор сети будет управлять не отдельными компьютерами, дисками, коммутаторами, а службами, которые они представляют – сетевыми, вычислительными, хранения.

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

Вопросы и задания для самопроверки

5.1. Перечислите прогнозируемые направления современного развития вычислительной техники.

5.2. Поясните определение векторно-конвейерных суперсистем. Приведите пример такой системы.

5.3. В чем проявляется симметричность «симметричных мультипроцессорных систем»? приведите пример такой системы.

5.4. Назовите проблемы, присущие симметричным суперкомпьютерным системам.

5.5. Какие вычислительные системы называют системами с массовым параллелизмом? В чем заключается основная идея?

5.6. Объясните понятие «транспьютерный линк». Как их используют?

5.7. Характеризуйте кластерные системы. Имеется ли эффективность от их применения?

5.8. Что представляет собой кластерно-параллельная архитектура и как она соотносится с гибридной схемой?

5.9. Дайте определение архитектуры Grid.

5.10. Поясните термин «Grid-компьютинг».

5.11. Как Вы считаете, почему в качестве операционной системы для Grid выбрана ОС Linux?

5.12. Какие три категории сетей Grid различают?

Глава шестая

Системы телеобработки

6.1 Определения и организация

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

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

зующее данные, форируемые на абонентском пункте в сигналы, «приспособленные» для передачи именно по такой линии связи Такие устройства определили как аппаратуру передачи данных (АПД) и включили их как в состав абонентских пунктов, так и в состав ЭВМ. Абонентские пункты снабдили и возможными устройствами для ввода и вывода данных (УВВ).

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

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

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

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

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

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

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

6.2 Характеристики и структура аппаратуры каналов связи

6.2.1 Линии связи

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

В оздушные линии конструктивно ничем не отличаются от обычных низковольтных линий электропередач. Это провода, подвешенные на каких-либо опорах над землей. Кабельные линии связи состоят из наборов скрученных между собой пар проводов, объединенных в единую конструкцию с помощью изолирующих и защитных оболочек. Коаксиальные кабели - подобны телевизионным, антенным. Волоконно-оптические линии связи представляют собой отрезки кварцевых («стеклянных») нитей, пропускающих свет с определенной

длиной волны, помещенных в защитную полимерную оболочку и соединенных в непрерывную линию с помощью специальных устройств и приемопередатчиков. Одними из основных и важных характеристик линий связи являются полоса пропускания и помехоустойчивость. Полоса пропускания представляет непрерывный диапазон частот F=fВfН, для которого отношение амплитуды выходного сигнала к входному, превышает некоторый, заранее заданный предел (уровень), обычно 0,5 (рис. 6.2). В пределах этого диапазона нижняя и верхняя границы частот передаются с наименьшими искажениями.

Полоса частот зависит от типа линии связи и ее протяженности. Проводные линии связи имеют полосу частот примерно 10 кГц, кабельные – 102 кГц, коаксиальные - 102 МГц и волоконно-оптические - 102 МГц. Для передачи данных на небольшие расстояния используют в основном низкочастотные проводные линии, а на большие расстояния – высокочастотные коаксиальные кабели, волоконно-оптические и радиорелейные линии. Наименьшей помехоустойчивостью обладают радиолинии, хорошей помехоустойчивостью – кабельные линии и отличной – волоконно-оптические линии, не восприимчивые к электромагнитному излучению.

6.2.2 Канал связи и его характеристики

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

бит/ в секунду (6.1)

П оказанная зависимость, названная формулой Клода Шеннона, устанавливает, что скорость передачи данных по каналу связи напрямую зависит от полосы частот F, характеризующей линию связи и ло-

гарифмически от отношения мощностей сигнала ( ) и шума ( ). Последнее соотношение определяет способность приемника однозначно устойчиво воспринимать поступающую информацию. Известно, что в настоящее время наиболее часто используется передача информации двоичными сигналами - битами, принимающими два значения - 0 и 1, то есть сигналами, имеющими два уровня, например, один низкий (десятые доли вольта), другой высокий (единицы вольта). Разница между уровнями определяет возможность их четкого различения, то есть возможность правильного или неправильного «прочтения» информации. Используя два уровня сигнала, можно передать один бит информации, четырьмя уровнями можно передать два бита информации. Увеличивая число уровней, мы увеличиваем количество одномоментно передаваемой информации, то есть скорость ее передачи, или, что, то же самое – пропускную способность канала. Но, надо позаботиться о том, чтобы «расстояния» между уровнями обеспечили их различимость. Для такого случая Найквист вывел следующее соотношение:

, где M определяет число различимых состояний информационного параметра. На рис. 6.3 б) показан пример возможного изменения информационного параметра (в данном случае четыре различимых уровня, М=4) сигнала. Теперь за один такт передаются два бита вместо одного, как в случае 6.3 а).

Наиболее распространенный телефонный канал имеет полосу пропускания

F=fВfН =3,4 кГц – 0,3 кГц = 3,1 кГц

и обеспечивает скорость передачи данных, равную С=1200 бит/с. Такой же канал, но не коммутируемый, обеспечивает скорость С=9600 бит/с.

В свое время были стандартизированы следующие скорости передачи данных по каналам связи: 200, 300, 600, 1200, 2400, 4800, 9600, 12 000, 24 000, 48 000, 96 000 бит/с. Каналы с пропускной способностью до 300 бит/с назвали низкоскоростными, от 600 до 4800 – среднескоростными, а с большей пропускной способностью – высокоскоростными.

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

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

Р азличают два способа модуляции: аналоговую и дискретную. Для «привязки» сигнала к полосе пропускания используют аналоговую модуляцию, подразделяющуюся на три вида: амплитудную модуляцию, частотную модуляцию и фазовую модуляцию. На рисунке 6.4 приведены примеры: способов модуляции и при этом показаны возможные преобразования сигнала.

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

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

На рисунке 6.5 изображена структура канала связи, в котором первичным сигналом, представляющим кодовую последовательность импульсов, в блоке модулятора (БМ) модулируется несущая частота генератора синусоидального сигнала (ГНЧ). Каждый бит входного сигнала вводится в блок модулятора строго по команде синхросигнала (последовательность прямоугольных импульсов), генерируемого тактовым генератором (ТГ). Таким образом, сигнал

синхронизации «привязывается» к информационному сигналу, пе-редается вместе с ним, и выделяется на приемной стороне в блокедемодулятора (БДМ). Модулированный в БМ сигнал поступает в полосовой фильтр (ПФ), ограничивающий полосу сигнала в соответствии с нижней и верхней границей полосы канала и затем с заданной полосой частот передается в линию связи, подключенную к демодулятору на приемной стороне.

На входе демодулятора приемной стороны также имеется полосовой фильтр, выделяющий заданную полосу частот. С него сигнал поступает в блок демодуляции (БДМ), на выходе которого формируются двоичные сигналы, используемые для выделения тактовой частоты точно повторяющей тактовую частоту передаваемых сигналов. Тактовая частота формируется синхронизируемым генератором (СТГ), фаза и частота, которого автоматически подстраивается под фазу и частоту сигналов поступающих с БДМ. Сигналы синхронизации с СТГ поступают в блок регенерации сигналов (РС), формирующий прямоугольные импульсы – биты данных со значением 1, точно повторяющие передаваемые данные. Кроме того, сформированная СТГ тактовая частота используется для синхронизации обработки принятых данных. Описанный канал связи называется синхронным, так как в нем передача и прием данных производятся с постоянной тактовой частотой, одинаковой на входе и выходе канала. Синхронизм передающего и принимающего оборудования канала обеспечивается автоматически за счет подстройки частоты синхронизируемого тактового генератора (СТГ) в приемном демодуляторе. Следует учесть, что на распространение сигнала по каналу связи требуется определенное время, поэтому фаза принятого сигнала сдвинута относительно передаваемого сигнала, но, тем не менее, благодаря присутствию (в не-

явном виде) в принятом сигнале сигналов синхронизации, приня-тый и передаваемый сигналы точно соответствуют друг другу по всем параметрам.

В зависимости от порядка передачи данных различают симплексные, полудуплексные и дуплексные каналы.

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

Для повышения достоверности передачи данных из основной полосы частот пропускания канала выделяется небольшая подполоса частот, работающая, как правило, со скоростью 75 бит/с. Этот поддиапазон частот используется для передачи подтверждающих правильность приема сигналов в обратном направлении. Если в принятом блоке сигналов обнаруживается ошибка, то посылается сигнал на повторную передачу этого блока данных.

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

6.3 Сопряжение ЭВМ с каналами связи

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

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

- дешифрирует команды, поступающие от устройств ввода-вывода ЭВМ и преобразует их в сигналы, управляющие работой АПД;

- преобразует последовательности слов, поступающие по каналу ввода-вывода ЭВМ в последовательность битов, передаваемых далее через АПД в линию связи. Выполняет обратное преобразование принимаемых от АПД сигналов;

- осуществляет буферизацию данных;

- формирует и передает в каналы ввода-вывода ЭВМ информацию о готовности/неготовности и работоспособности аппаратуры линейного адаптера и аппаратуры АПД.

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

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

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

Полное отделение предварительной обработки сообщений от функций центрального процессора могут обеспечить связные процессоры. Связной процессор представляет собой микро- или мини-

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

6.4 Особенности программных средств телеобработки

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

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

Схема обработки сообщений под управлением программ телекоммуникационного доступа представлена на рисунке 6.6.

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

Телеобработку сообщений можно выполнить примерно в следующем порядке.

  1. На абонентском пункте подготавливается сообщение путем набора его на клавиатуре или оно подготовлено заранее и может быть введено в канал с магнитного диска, перфоленты или магнитной ленты.

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

  3. Сообщение может быть подвергнуто редактированию – удалению или вставке управляющих символов, включению даты, времени и порядкового номера сообщения.

  4. После входной обработки сообщение поступает либо в очередь на обработку прикладной программой, либо в очередь к каналу связи и после возможного ре-

дактирования выводится по каналу к адресуемому абоненту.

  1. Если сообщение предназначено для прикладной программы, то средствами ТМД данные из сообщения передаются в рабочую область программы. После этого сообщение исключается из очереди на обработку.

  2. Прикладная программа генерирует ответные сообщения, которые средствами ТМД обеспечиваются адресами и прочими атрибутами сообщения и поступают в выходную очередь.

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

  4. Завершением телеобработки является выборка средствами ТМД сообщения (оно по-прежнему находится в оперативной памяти компьютера) из выходной очереди (по порядку) и передача его через соответствующий канал связи абоненту.

Вопросы и задания для самопроверки

6.1. Дайте определение системы телеобработки.

6.2. Поясните назначение и функции абонентских пунктов (АП).

6.3. Каким способом абонентские пункты подключались к ЭВМ?

6.4. Что подразумевается под аппаратурой передачи данных (АПД). Ее назначение?

6.5. Дайте определение канала связи.

6.6. Знаете ли вы, для чего применяются мультиплексоры передачи данных (МПД)?

6.7. Определите понятие «выделенный канал».

6.8. Поясните определения двухточечного и многоточечного соединений.

6.9. Каким образом можно скоммутировать связь между двумя абонентами?

6.10. Приведите пример возможного эффективного использования системы телеобработки.

6.11. Назовите типы линий связи в системе телеобработки.

6.12. Что такое полоса пропускания динии связи, какое влияние она оказывает на прохождение сигнала?

6.13. Как построить амплитудно-частотную характеристику линии связи?

6.14. Дайте определение пропускной способности канала. Напишите зависимость пропускной способности канала связи от его полосы пропускания (формула Шеннона).

6.15. Каким образом можно повысить информационность сигнала?

6.16. Назовите способы модуляции.

6.17. Приведите примеры способов аналоговой модуляции.

6.18. С помощью какого устройства осуществляют модуляцию?

6.19. С какой целью применяют кодирование сигналов?

6.20. Каким образом можно «привязать» синхросигнал к информационному сигналу?

6.21. К какому виду аппаратуры относят модемы в системах телеобработки?

6.22. Расскажите о назначении модемов.

6.23. Какую роль играет синхронизация при передаче и обработке сигналов?

6.24. Как делятся каналы в зависимости от порядка передачи данных? Поясните на примерах порядок работы каналов для каждого вида передачи данных.

6.25. Кратко опишите назначение и основные функции линейных (сетевых) адаптеров.

6.26. Кратко опишите назначение и основные функции мультиплексоров передачи данных.

6.27. Дайте пояснение понятию связного процессора.

6.28. Какие функции возложены на программы телекоммуникационного доступа?

6.29. В каком порядке рекомендуется выполнять телеобработку сообщений?

Глава седьмая

Вычислительные сети

7.1 С чего все начиналось

Появление первых вычислительных машин почти сразу определило и ближайшие задачи в процессе их развития – это наращивание вычислительной мощности. Развитие началось в 50-х годах прошлого столетия. Компьютеры тех лет отличались громоздкостью, дороговизной и тем, что эксплуатировать их могли только специально обученные люди. Поэтому для эксплуатации вычислительных машин создавались отдельные структуры, включающие специалистов по электронике и программистов различной специализации. Чаще всего эти структуры называли вычислительными центрами. Компьютеры вычислительных центров не были приспособлены к интерактивной работе пользователей. Напомним, что понятие интерактивности в данном контексте означает двустороннюю связь между пользователем и компьютером. Машины использовались либо для решения отдельных задач, либо в режиме, так называемой, пакетной обработки.

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

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

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

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

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

Теперь намного улучшились условия диалога оператора и компьютера. Появилась возможность управлять процессами решения задач уже не одному оператору, а сразу нескольким операторам. Появилась возможность автоматизировать процесс программирования задач.

Чуть позже появилась возможность взаимодействовать с компьютером, находясь не в непосредственной близости с ним, а на некотором отдалении.

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

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

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

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

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

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

Таким образом, многотерминальные системы, работающие в режиме с разделением времени «подтолкнули» развитие вычислительной техники в направлении создания вычислительных региональных и глобальных сетей. Какую выгоду, какую пользу получают пользователи, применяя такие способы обработки информации и данных? Сетевая обработка – качественно новая организация обработки данных.

7.2 Эффект сетевой обработки данных

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

процессоры для обработки этих данных. Пользователям доступнопрограммное обеспечение, имеющееся в сети и базы данных, размещенные в сети.

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

7.3 Характеристики сети

Основными характеристиками сети называют: операционные возможности, время доставки сообщений, производительность и стоимость обработки данных.

Операционные возможности сети связывают с дополнительными возможностями, обеспечивающими пользователей вычислительных сетей. К таковым можно отнести следующие возможности:

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

- передача текстовых, звуковых сообщений или изображений между пользователями;

- передача наборов данных (файлов) между любыми ЭВМ сети;

- доступ к удаленным файлам, обработка этих файлов, хранимых на удаленных ЭВМ;

- выдача или получение справок об информационных и программных ресурсах;

- защита данных и ресурсов от несанкционированного доступа;

- пользование базами данных, размещенных на нескольких ЭВМ (распределенными базами данных);

- распределенная обработка данных;

- параллельная обработка несколькими ЭВМ и др.

Производительность сети определяют суммарной номинальной (паспортной) производительностью главных ЭВМ.

Время доставки сообщений определяется как среднестатистическое значение времени от момента передачи сообщения в сеть, до момента получения его адресатом.

Цена обработки информации формируется из стоимости объема ресурсов (процессорное время, объем памяти – количество передаваемых данных и др.), используемых для ввода данных и их обработки, а также от режима передачи и обработки данных на участках сети.

Названные характеристики зависят от структуры сети (ее состава), метода передачи данных, способов установления соединений между абонентами сети, выбора маршрутов и т.д.

Характеристики, конечно же, зависят и от нагрузки, создаваемой на сеть пользователями и определяемой числом терминалов работающих в рассматриваемый отрезок времени и интенсивностью взаимодействия, то есть количеством данных, перемещаемых за единицу времени на данном участке.

7.4 Модель ЭВМ, работающей в сети

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

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

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

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

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

С помощью такой модели легче описать и понять процессы, происходящие в компьютере и тем более процессы, происходящие между компьютерами, взаимодействующими в сети или через систему межкомпьютерной связи. В начале 80-х годов рядом международных организаций по стандартизации при участии фирм разработчиков и изготовителей вычислительной техники была предложена модель, названная моделью взаимодействия открытых систем (Open System Interconnection, OSI) или моделью OSI. Указанная модель показана на рисунке 7.2. И з рисунка сразу можно сделать вывод сколь много функций выполняет аппаратура компьютера и его программное обеспечение для того, чтобы предварительно обработать и передать информацию (сообщение) от одного пользователя другому. Приведем краткие функциональные характеристики каждого уровня.

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

В компьютере функции физического уровня выполняются сетевым адаптером или последовательным портом.

К анальный уровень. На физическом уровне информация (данные) пересылаются без учета возможной занятости линии связи. Задача проверки доступности передающей среды возложена на канальный уровень (Data Link layer). Передаваемые биты данных группируются в последовательности названные кадрами (frames). Каждый кадр предваряется заголовком, содержащим некий код, обозначающий его начало, адреса отправителя и получателя и

управляющее поле, несущее служебную информацию, необходимую при процессе его «транспортировки». Затем следует последовательность данных стандартизированного объема, и заключает кадр, так называемый, концевик, определяющий окончание кадра. Формат кадра показан на рисунке 7.3. Такая структура данных обеспечивает корректность передачи, а контрольная сумма данных, помещенная в концевике, используется в качестве индикатора наличия или отсутствия ошибки.

Описанная структура данных применяется для их передачи в локальных сетях, но только с совершенно определенной топологией связей, как на рисунке 7.4.

Обратите внимание на рисунок 7.2. Канальные уровни двух компьютеров соединены стрелкой с надписью «Протокол». Это означает, что взаимодействие этих уровней выполняется в соответствии с некими формализованными правилами, называемыми протоколами, и определяющими последовательность и формат сообщений, которыми обмениваются компьютеры. Примерами протоколов канального уровня в современных сетях и ЭВМ можно назвать протоколы Ethernet, Token Ring, FDDI, 100VG-AnyLAN. Тем не менее, в сетях любых сложных топологий и технологий, функций канального уровня для транспортировки сообщений оказывается недостаточно, поэтому в модели OSI решение этой задачи выполняют сетевой и транспортный уровни.

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

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

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

маршрутизацией, и ее решение является одной из главных задач сетевого уровня. Сообщения сетевого уровня принято называть пакетами (packets). Пакет состоит из заголовка и поля данных. Ниже по тексту в качестве примера приведена структура заголовка пакета, соответствующая требованиям протокола IP (рис. 7.6).

Д ля общей ориентировки опишем содержание полей заголовка.

Поле «Номер версии» (Version) указывает версию протокола IP.

Поле «Длина заголовка» (IHL) указывает значение длины заголовка, измеренное в 32-битовых словах. Обычно длина заголовка - 20 байт (пять 32-битовых слов), но при увеличении объема служебной информации в поле «Опции», заголовок может иметь 60 байт.

Поле «Тип сервиса» (Type of Service) указывает приоритетность пакета (PR) двоичными значениями от 0 до 7. Ноль – нормальный пакет – низкий приоритет, семь – пакет с управляющей информацией – высокий приоритет. Маршрутизаторы и компьютеры могут обрабатывать пакеты с более высокими приоритетами в первую очередь. Бит D (delay) этого поля со значение 1 обозначает требование к выбору маршрута для доставки пакета с минимальной задержкой. Бит T (throughput) – требует от канала связи максимальной пропускной способности, а бит R (reliability) – максимизации надежности доставки. Резервные биты (окрашены) имеют нулевые значения.

Поле «Общая длина» (Total Length) означает общую длину пакета с учетом заголовка и поля данных. Стандартом предусмотрена длина пакета до 576 байт.

Поле «Идентификатор пакета» (Identification) - используется для распознавания пакетов. Если пакет разбит на подпакеты –

фрагменты, то все фрагменты пакета имеют одинаковые значения этого поля.

Поле «Флаги» (Flags) с установленным в 1 битом D (Do not Fragment) запрещает маршрутизатору фрагментировать данный пакет, а установленный бит M (More Fragments) свидетельствует о том, что данный фрагмент является промежуточным (не последним) и за ним последуют другие.

Поле «Смещение фрагмента» (Fragment Offset) указывает смещение в байтах данного фрагмента от начала общего поля данных исходного пакета, подвергнутого фрагментации, используется при сборке/разборке фрагментов пакетов при передачах их между сетями.

Поле «Время жизни» (Time to Live) означает предельный срок, в течение которого пакет может перемещаться по сети, измеряется в секундах и задается источником передачи. На маршруте движения в процессе обработки пакета коммуникационным оборудованием из этого времени вычитается каждая секунда обработки и корректируется итоговое значение времени. Если время станет нулевым до прихода пакета в пункт назначения, он будет уничтожен. Таким образом, время жизни рассматривают как механизм самоуничтожения пакета.

Поле «Протокол верхнего уровня» (Protocol) содержит идентификатор, указывающий, какому протоколу прикладного уровня принадлежит информация, размещенная в поле данных пакет. Например, это могут быть протоколы пакетов TCP, дейтаграмм – UDP, пакетов ICMP или OSPF. Значения идентификаторов приведены в стандарте интернета RFC «Assigned Numbers».

Контрольная сумма (Header Checksum) подсчитывается только для заголовка пакета, при этом значение самого поля контрольной суммы принимается равным нулю. Если при приеме пакета контрольная сумма окажется неверной, то пакет будет отброшен.

Поле «Опции» (Options) обычно используется только при отладке сети. При этом в нем можно указывать точный маршрут прохождения маршрутиаторов, помещать данные системы безопасности, делать временные отметки, помещать другие управляющие команды. Это поле добавляется нулями для выравнивания длины заголовка, которая должна быть кратной 32-битным словам.

Транспортный уровень (Transport layer). Этот уровень обеспечивает передачу данных с требуемой степенью надежности. При этом используется максимум средств для обнаружения и устранения ошибок, - предварительное установление логического соеди-

нения с абонентом, контроль доставки сообщений по контрольным суммам, циклическая нумерация пакетов, установление тайм-аутов доставки и т.п.

Транспортный уровень обеспечивает вышестоящим уровням целый ряд сервисов:

- срочность доставки;

- возможность восстановления прерванной связи;

- мультиплексирование соединений сообщений, передачи которых реализуются различными протоколами. Обратите внимание! Через единый транспортный уровень передаются и текстовые и звуковые файлы, и файлы с видео изображениями, и сообщения электронной почты;

- обнаружение и исправление ошибок передачи, таких как искажение, потеря и дублирование пакетов – главная задача транспортного уровня.

Функции уровней (протоколы), начиная с транспортного, реализуются программными компонентами операционных систем компьютеров пользователей. Самыми известными транспортными протоколами в настоящее время являются протоколы TCP и UDP стека TCP/IP и протокол SPX стека Novell.

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

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

Представительный уровень (Presentation layer) осуществляет трансляцию различных языков представления данных, форматов и кодов данных, обеспечивая взаимодействие разнотипных ЭВМ, работающих со специфичными им операционными системами и терминалами различных типов. При этом, преодолеваются синтаксические различия в информации, передаваемой прикладным уровнем одной системы прикладному уровню другой системы, она понятна обеим системам. Например, сообщение, кодированное в коде ASCII на одном компьютере, будет понятно другому компьютеру, работающему с кодами EBCDIC. На этом уровне может быть обеспечена секретность обмена данными для всех прикладных служб, путем их шифрации и дешифрации. Примером такого протокола является протокол Secure Socket Layer (SSL), обес-

печивающий секретный обмен для протоколов прикладного уровня стека TCP/IP.

Прикладной уровень (Application layer). Этот уровень представляется набором протоколов, с помощью которых пользователи сети получают доступ к разделяемым ресурсам, таким как файлы, принтеры, Email – электронная почта, Web-страницы и т.д. В качестве примеров протоколов этого уровня приводят NCP в операционной системе Novel Net Ware, SMB в системе Windows NT, FTP и TFTP стека протоколов TCP/IP.

Единицей данных для прикладного уровня принято сообщение (message).

Структура сообщения представляется обычно двумя полями: заголовка и данных. Заголовок содержит служебную информацию, которая будет передана по сети и необходима для прикладного уровня машины-адресата. Например, информация о месте нахождения нужного файла и указание типа операции, которую нужно выполнить над этим файлом. Поле данных сообщения может быть пустым или содержать данные, которые требуется поместить в обрабатываемый удаленный файл. Часто служебная информация помещается не только в начале сообщения в виде заголовка, но и в конце, и называется «концевиком». В целом структура сообщения представлена на нижеследующем рисунке.

Если сообщение предназначено для передачи по сети, его структура формируется в соответствии с требованием протокола прикладного уровня модулем сетевого программного обеспечения, установленного на данном компьютере. Сообщение при этом находится в буфере оперативной памяти компьютера.

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

нию связи сети, либо в виде файла предстает перед глазами пользователя, который и выполняет запланированные заранее операции его обработки.

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

Поле данных 6 уровня

Эту процедуру обрамления сравнивают с вложением в конверт обработанное сообщение на соответствующем уровне. На первом уровне в конверте оказываются еще шесть конвертов.

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

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

часть заголовка. Для исключения этой ошибки в данных, при встрече такой последовательности, после пятой единицы вставляется 0 (ноль), который назвали – бит-стаффингом. При приеме данных выполняется обратное преобразование, бит-стаффинг заменяется 1, в результате чего данные принимают прежний вид. Этот прием назвали обеспечением прозрачности физического канала по отношению к передаваемым данным.

7.5 Способы и средства коммутации и передачи данных

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

Существуют три принципиально различные схемы коммутации (соединения) абонентов в сетях:

- коммутация каналов (circuit switching);

- коммутация сообщений (message switching);

- коммутация пакетов (packet switching).

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

Отдельные участки цепи соединяются между собой устройствами, называемыми коммутаторами (A, B, …), которые могут устанавливать связи между любыми конечными точками сети. Пример реализации этого способа коммутации иллюстрирует рисунок 7.9.

Процесс коммутации осуществляется в следующем порядке. Например, пользователь К направляет свое сообщение в адрес пользователя L. Сообщение пользователя К передается в узел А, который на основании адреса конечного пункта выбирает направление передачи, то есть коммутирует свой вход с выходом (говорят коммутирует свой входной порт с выходным портом), этот процесс получил название проключения.

Узел А проключает соединение с узлом B, который в свою очередь проключает соединение с узлом C. Последний проключает соединение с узлом E, а узел Е проключает соединение с пользователем L.

Компьютер пользователя L подтверждает узлу A и далее пользователю K факт установления соединения, то есть коммутацию (формирование) канала связи. После чего сообщение пользователя от узла А начинает свое «путешествие» к пользователю L. Нижеследующий рисунок 7.10 является еще одной интерпретацией процесса передачи сообщений по способу коммутации каналов.

Вlaptop ремя передачи данных зависит от длины передаваемого сообщения, пропускной способности канала (скорости передачи данных) и времени распространения сигнала по каналу. Значение T определяет время доставки сообщения.

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

пор, пока сообщение не достигнет адресата (пользователь L). Время T, как и в предыдущем случае, определяет время доставки сообщения пользователю. Рисунок 7.11 иллюстрирует этот способ передачи сообщений.

.

Коммутация пакетов. Сообщение предварительно разбивается на части ограниченной длины, например, 8192 байта, которые последовательно номеруются (рис. 7.12).

Рисунок 7.13 следует понимать так, что узлом А является ЭВМ, – источник передачи сообщения, организованного в виде последовательности пакетов. Пакеты по каналу поступают на коммутатор К 1, где обрабатываются соответствующим протоколу способом и передаются в канал 2, который также оканчивается коммутатором К 2. Обработка пакетов этим коммутатором выполняется точно по предыдущему сценарию, и пакеты передаются в следующий канал, ведущий непосредственно к получателю пакетов компьютеру С. Процесс передачи пакетов сопровождается цепочкой временных задержек. Во-первых, затрачивается некоторое время на передачу заголовков пакетов – t пз, к этому времени добавляется время интервала между пакетами t инт, необходимое для формирования очередного пакета, отправляемого в канал. Во-вторых, в каждом коммутаторе пакеты в течение времени t бп буферизуются (при приеме пакет помещается в буфер, - временную память). После обработки пакета, он передается в выходной порт через коммутирующую матрицу или другой механизм коммутации, затрачивающий время t к на эту операцию. Затрачивается время и на передачу собственно данных (передача пакета). В итоге, общее время передачи сообщения по рассматриваемому методу составит Т кп (обозначено на рисунке). Если воспользоваться конкретными значениями всех временных составляющих передачи для каждого из рассмотренных режимов коммутаций, то можно убедиться, что режим с коммутацией пакетов выглядит не лучшим образом. В чем же заключается эффект, преимущество этого режиам перед другими?

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

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

Но, существует и другой режим работы сети, названный передачей пакетов по виртуальному каналу. При этом режиме, прежде, чем передавать пакеты устанавливается соединение между конечными точками передачи – виртуальный канал. Для этого источнок (отправитель пакетов) направляет адресату специальный пакет – запрос на установление соединения. Пакет – запрос проходит маршрут «прокладывая» виртуальный канал. После подтверждения адресатом готовности приема пакетов, источник реализует их отправку по назначению. Канал может действовать достаточно продолжительное время (говорят – постоянно) или только на время передачи сообщения, то есть в динамическом режиме.

Эти возможности определяют, так называемую, гибкость режима сетей с коммутацией пакетов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]