Общая классификация вычислительных систем обработки данных – архитектур 2 страница
В настоящее время многомашинные вычислительные комплексы широко используются для повышения их надежности и производительности.
Другой разновидностью вычислительных комплексов, называемых многопроцессорными, являются комплексы, содержащие несколько процессоров, работающих с общей оперативной памятью и всеми периферийными устройствами. Принцип построения их иллюстрируется рисунок 1.2.
Процессоры, модули оперативной памяти и каналы ввода-вывода (КВВ), к которым подключены периферийные устройства (ПУ), объединяются в единый комплекс с помощью средств коммутации, обеспечивающих доступ каждого процессора к любому модулю оперативной памяти и каналу ввода-вывода, а также возможность передачи данных между ними.
Отказы отдельных устройств многопроцессорного комплекса в меньшей степени влияют на его работоспособность, по сравнению с многомашинным комплексом, то есть они обладают большей устойчивостью к отказам, а значит и большей надежностью. Эти комплексы позволяют парал-лельно обрабатывать не только независимые задачи, но и различные части одной задачи.
Многомашинные и многопроцессорные комплексы рассматриваются в качестве базовых средств обработки данных, в связи с чем, принято включать в состав комплекса только технические средства и общесистемное программное обеспечение (прикладное программное обеспечение исключается).
Вычислительные системы. Система обработки данных, настроенная на решение задач конкретной области применения, называется вычислительной системой. Такая система ориентирована на решение определенной совокупности задач. Существует два способа ориентации. Во-первых, вычислительная система может строиться на основе средств общего применения, и ориентация системы обеспечивается за счет программных средств прикладных программ и, возможно, операционной системы. Во-вторых, ориентация на заданный класс задач может достигаться за счет использования специализированных ЭВМ и вычислительных комплексов. В этом случае можно добиться повышения производительности вычислительных средств. Специализированные вычислительные системы наиболее широко используются при решении задач векторной и матричной алгебры, а также связанных с интегрированием дифференциальных уравнений, обработкой изображений, распознаванием образов и т.д. Вычислительные системы, построенные на базе специализированных комплексов, начали интенсивно разрабатываться с конца 1960-х годов. В таких системах использовались процессоры со специализированными системами команд, и конфигурация комплексов жестко ориентировалась на конкретный класс задач. В последующее время начались исследования и разработки адаптивных вычислительных систем, гибко «приспосабливающихся» к решаемым задачам. Адаптация вычислительной системы с целью приспособления ее к структуре реализуемого алгоритма достигается за счет изменения конфигурации системы. При этом соединения между процессорами, а также модулями памяти и периферийными устройствами устанавливаются динамически в соответствии с потребностями задач, обрабатываемых системой в текущий момент времени. В связи с этим адаптивные вычислительные системы стали называть системами с динамической структурой. За счет адаптации достигается высокая производительность для широкого класса задач и обеспечивается высокая устойчивость системы к отказам. Поэтому адаптивные системы стали рассматривать в качестве одного из перспективных направлений в развитии систем обработки данных.
Системы телеобработки. Желание более эффективного использования вычислительных средств, привлечения к ним большего числа пользователей, обеспечение возможности ввода данных в систему непосредственно с мест их появления и выдачу результа-тов обработки в местах их использования привели к появлению, так называемых, систем телеобработки данных. Вычислительные средства, как правило, располагались концентрированным образом в виде вычислительных центров и были недоступны широкому кругу пользователей. «Общение» с вычислительной техникой реализовывалось через программистов и персонал вычислительных центров. Для изменения этой ситуации, необходимо было обеспечить доступ пользователей непосредственно к вычислительным средствам. Пользователи, чаще всего, располагались на различных удаленьях от них. Поэтому необходимо было связать вычислительные средства и рабочие места пользователей с помощью каналов связи. Системы, предназначенные для обработки данных, передаваемых по каналам связи, стали называть системами телеобработки данных.
Вариант состава технических средств системы телеобработки и общая схема связей между ними укрупненно представлены на рисунке 1.3. Пользователи взаимодействуют с системой обработки данных посредством терминалов, подключаемых через каналы связи. В качестве терминалов использовались пишущие машинки, телетайпы, видеодисплеи и другие устройства.
Данные передаются по каналам связи в форме сообщений – блоков данных, несущих в себе кроме собственно данных служебную информацию, необходимую для управления процессами передачи и защиты данных от искажений. Программное обеспечение для таких систем должно обязательно содержать специальные средства для управления техническими средствами, установления связи между ЭВМ и абонентами (пользователями), передачи данных между ними и организации взаимодействия пользователей с программами обработки данных.
Телеобработка позволяет создавать крупномасштабные системы, обеспечивающие доступ широкого круга пользователей к вычислительным средствам, данным и процедурам их обработки, а также значительно повышает оперативность информационного обслуживания пользователей.
Локальные вычислительные сети. Развитием систем телеобработки явились локальные вычислительные сети. К концу 1970-х годов в сфере обработки данных широкое распространение наряду с ЭВМ общего назначения получили мини- и микро-ЭВМ и начали применяться персональные ЭВМ. Эти средства нашли свое применение в рамках отдельных подразделений предприятий и стали обслуживать небольшие группы пользователей, а микро-ЭВМ и персональные ЭВМ – отдельных пользователей. Коллективный характер труда вызывал необходимость оперативного обмена данными между пользователями, то есть объединения ЭВМ в единый комплекс. В связи с этим был разработан эффективный способ объединения ЭВМ, расположенных на незначительном расстоянии друг от друга – в пределах одного здания или группы соседних зданий с помощью линии связи, названной моноканалом. Передача информации по моноканалу осуществляется последовательным кодом. Так появились локальные вычислительные сети (ЛВС), типичная структура одного из вариантов которых изображена на рисунке 1.4.
В моноканале наиболее широко используются: свитая пара проводов, коаксиальный кабель или волоконно-оптическая линия. Длина моноканала не превышает обычно нескольких сотен метров. При этом пропускная способность (скорость передачи информации) моноканала составляет 105 – 107 бит/с, что достаточно для обеспечения информационной связи между десятками ЭВМ.
Сопряжение ЭВМ с моноканалом осуществляется с помощью сетевых адаптеров, иначе контроллеров, реализующих операции ввода-вывода данных через моноканал. Единственный канал в сети существенно упрощает процедуры установления соединений и обмена данными между ЭВМ. Поэтому сетевое программное обеспе-чение оказывается более простым, чем в вычислительных сетях, содержащих сеть передачи данных, и легко встраивается даже в микро-ЭВМ. Вследствие этого локальные вычислительные сети оказываются эффективным средством построения сложных систем обработки данных на основе микро- и мини-ЭВМ.
Локальные вычислительные сети получили широкое применение в системах автоматизации проектирования и технологической подготовки производства, системах управления производством, транспортом, снабжением и сбытом, в учрежденческих системах, а также в системах автоматического управления технологическим оборудованием, создаваемых на основе микро- и мини-ЭВМ.
Вычислительные сети. С ростом масштабов применения электронной вычислительной техники в научных исследованиях, проектно-конструкторских работах, управлении производством и транспортом и прочих областях, стала очевидной необходимость объединения систем обработки данных, обслуживающих отдельные предприятия и коллективы. Для всех пользователей, связанных общей сферой деятельности, стало необходимым объединение разрозненных систем обработки данных, обеспечивающее доступ ко всем данным и процедурам их обработки. Так, экспериментальные данные, полученные группой исследователей, используются при проектно-конструкторских работах, результаты проектирования – при технологической подготовке производства, результаты испытаний и эксплуатации изделий – для совершенствования конструкций и технологии производства и т.д. Чтобы объединить территориально разобщенные системы обработки данных в единый комплекс, необходимо, во-первых, обеспечить возможность обмена данными между системами обработки, связав соответствующие
ЭВМ и вычислительные комплексы каналами передачи данных, и, во-вторых, оснастить системы программными средствами, позво-ляющими пользователям одной системы обращаться к информационным, программным и техническим ресурсам других систем. Была предложена структура, объединяющая ЭВМ (вычислительные комплексы), в общих чертах представленная на рисунке 1.5. Ядром вычислительной сети является базовая сеть передачи данных (СПД), которая состоит из каналов и узлов связи (УС).
Узлы связи принимают данные и передают их в направлении, обеспечивающем доставку данных абоненту. ЭВМ подключаются к узлам базовой сети передачи данных, чем обеспечивается возможность обмена данными между любыми парами ЭВМ. Совокупность ЭВМ, объединенных сетью передачи данных, образует сеть ЭВМ. К ЭВМ непосредственно или с помощью каналов связи подключаются терминалы, через которые пользователи взаимодействуют с сетью.
Совокупность терминалов и средств связи, используемых для подключения терминалов к ЭВМ, образуют терминальную сеть. Таким образом, вычислительная сеть представляет собой композицию базовой сети передачи данных, сети ЭВМ и терминальной сети. Такая вычислительная сеть называется глобальной или распределенной. Вычислительные сети используются для объединения ЭВМ, находящихся на значительном расстоянии друг от друга в пределах региона, страны или континента. Все ЭВМ вычислительной сети оснащаются специальными программными средствами для сетевой обработки данных, которые обеспечивают пользователям широкий комплекс функций. К таким функциям относят: управление аппаратурой сопряжения и каналами связи; установление соединений между взаимодействующими процессами и ЭВМ; управление процессами передачи данных; ввод и выполнение заданий от удаленных терминалов; доступ программ к наборам данных, размещенным на удаленных ЭВМ, и другие функции. К сетевому программному обеспечению предъявляются многочисленные и достаточно жесткие требования: сохранение работоспособности сети при изменении ее структуры, а также возможность работы ЭВМ с терминалами различных типов и взаимодействие разнотипных ЭВМ. Изменение структуры сети может быть обусловлено выходом ЭВМ или каналов связи из строя или новыми подключениями различных устройств и каналов. Функции, возлагаемые на сетевое программное обеспечение, отличаются высоким уровнем сложности и реализуются с использованием специально разработанных методов управления процессами передачи и обработки данных.
Использование вычислительных сетей позволяет автоматизировать управление отраслями производства, транспортом и материально-техническим снабжением в масштабе крупных регионов и страны в целом. За счет концентрации в сети больших объемов данных и общедоступности средств обработки значительно улуч-шается информационное обслуживание научных исследований, повышается производительность труда инженерно-технических и других работников и качество административно-управленческой деятельности. Кроме того, объединение ЭВМ в вычислительные сети позволяет существенно повысить эффективность их использования. Так, стоимость обработки данных в вычислительных сетях, по крайней мере, в полтора раза меньше, чем при использовании автономных вычислительных машин.
Общая классификация вычислительных систем обработки данных – архитектур
Классифицировать системы, в том числе и вычислительные, можно по одному или нескольким характерным признакам. В зависимости от этого классификационная структура может выглядеть совершенно по-разному. Если классифицировать системы обработки данных по способу построения, то есть в том порядке, как они здесь представлены, классификация будет выглядеть как на рисунке 1.6.
Все системы обработки данных можно разделить на два класса. Отдельные ЭВМ, вычислительные комплексы или специализированные системы образуют класс сосредоточенных (централизованных) систем, в которых реализуется вся обработка данных.
Тогда системы телеобработки и вычислительные сети следует отнести к классу распределенных систем, где обработка данных рассредоточена по многим составляющим системы. При этом сис-
темы телеобработки относят к распределенным до некоторой степени условно, поскольку обработка реализуется централизованно, на одной ЭВМ или вычислительном комплексе.
Вопросы и упражнения для самопроверки
1.1. Дайте определение архитектуры вычислительных средств.
1.2. Поясните содержание слова «система» в контексте этой книги.
1.3. Какие вычислительные средства составляют систему обработки данных?
1.4. Какое содержание вкладывают в понятие «косвенная связь» в многомашинном вычислительном комплексе?
1.5. Сколько процессоров может включать многопроцессорная система? Какую линию связи называют моноканалом?
1.6. Что является ядром вычислительной сети?
1.7. Чем отличаются определения вычислительных комплексов и вычислительных систем?
1.8. Какие вычислительные системы образуют класс сосредоточенных систем, а какие – распределенных?
1.9. Каковы корни слова «телеобработка»?
Глава вторая
Общие концепции архитектур
Состав и функционирование
Системы обработки данных строятся на основе технических и программных средств, существенно различающихся по своей природе. Функционирование систем реализуется через взаимодействие тех и других ее составляющих.
Технические средства. Основой систем обработки данных является оборудование – технические средства, предназначенные для ввода, обработки, сохранения и вывода данных. Состав технических средств и связи между ними, определяют структуру и порядок их взаимодействия, по-другому говоря – конфигурацию системы. Для математического описания структуры и взаимодействия ее элементов используется геометрическое ее описание (представление), называемое графом. Вершины графа соответствуют элементам системы, а линии, соединяющие вершины – дуги, отражают взаимоотношения между элементами системы. Инженерная форма представления структуры называется схемой. Таким образом, граф и схема тождественны по содержанию, но различны по форме. В схеме для изображения элементов используются различные геометрические элементы – условные графические изображения, а для изображения связей – линии многих типов. За счет этого схема приобретает большую, по сравнению с графом наглядность и информативность. К основным элементам технических средств структуры нужно отнести: процессоры, запоминающие устройства – память, устройства ввода-вывода, устройства сопряжения и целый ряд других. Устройства связываются с помощью, так называемых, интерфейсных схем и совокупностей линий связи или каналов передачи данных.
Пример структуры в виде двухмашинного вычислительного комплекса представлен на рисунке 1.1.
Число входящих в систему устройств может оказаться достаточно большим, так что представляемая с их помощью структура будет трудна для понимания – выйдет за рамки возможностей методов исследования, используемых при анализе и синтезе системы.
В таких случаях структуру описывают на укрупненном уровне, ис-пользуя в качестве элементов ЭВМ, вычислительные комплексы или многопроцессорные комплексы, представляемые (изображаемые) одной вершиной графа. Элемент структуры – это понятие, но не физическое свойство объекта. Главное в изображении структу-ры – информативность. В связи с процессами обработки данных (информации) технические средства рассматриваются как совокупность ресурсов двух типов: устройств и памяти. Устройство – ресурс, используемый для преобразования и ввода-вывода данных, разделяемый между процессами (задачами) во времени. Примеры устройств: процессоры, каналы ввода-вывода, периферийные устройства и каналы передачи данных. В каждый момент времени устройство используется одним процессом, реализуя соответствующие операции: обработку (преобразование) или ввод-вывод данных. Основная характеристика устройства – производительность, определяемая числом операций, выполняемых в единицу времени или пропускная способность (скорость), определяемая числом единиц информации (битов), передаваемых в единицу времени, обычно секунду. Память – ресурс, используемый для хранения данных и разделяемый между процессами по объему и времени. Примерами этого типа ресурса являются оперативная память и накопители на магнитных дисках. Основной характеристикой ресурса является емкость, определяемая предельным количеством информации, размещаемой в памяти. В памяти могут одновременно размещаться данные, относящиеся к нескольким процессам. Накопители на магнитных дисках представляют два типа ресурсов, являясь памятью и устройствами, обслуживающими операции ввода-вывода данных.
Таким образом, технические средства и именно их состав, определяют номенклатуру ресурсов, используемых для хранения, ввода-вывода и преобразования данных. Конфигурация связей между устройствами определяет пути передачи данных в системе и порядок доступа процессов к устройствам и данным, хранимым в памяти.
Программное обеспечение. Требуемый набор функций, определяемых назначением системы обработки данных, обеспечивается совокупностью программ, составляющих программное обеспечение системы обработки данных. Схематически «место» программного обеспечения в системе обработки данных можно изобразить в виде некоторой структуры, представленной на рисунке 2.1.
Технические средства системы обработки данных обеспечивают реализацию элементарных функций – операций ввода-вывода, хранения и преобразования данных, которые выполняются с помощью электрических схем и средств микропрограммного управления. Функции, реализуемые техническими средствами, как
это можно увидеть на схеме (рисунок 2.1), относятся к нижнему уровню иерархии. Функции более высоких уровней сложности обеспечиваются программным обеспечением, включающим в себя операционную систему и прикладное программное обеспечение. Рассмотрим подробнее структуру программных средств системы обработки данных.
Операционная система (ОС) – это совокупность программ, предназначенных для управления работой всей системы обработки данных и реализации наиболее массовых процедур взаимодействия с пользователями, операций ввода-вывода, хранения и преобразования данных.
Управление работой системы сводится к управлению процессами и ресурсами, обеспечивающему эффективное использование
оборудования и требуемое качество обслуживания пользователей. Функции управления реализуются управляющими программами ОС, включающими в свой состав супервизор, программы управления заданиями и данными.
Супервизор контролирует состояние всех технических средств и процессов (задач) системы и управляет ими, обеспечивая необходимый режим обработки данных путем распределения процессов в пространстве и времени.
Супервизор выделяет задачам области (разделы) памяти и запрашиваемые устройства ввода-вывода, инициирует выполнение процессором программ, начинает операции ввода-вывода и обрабатывает сигналы прерываний, отмечающие окончание операций ввода-вывода и особые ситуации, возникающие при выполнении программ и работе устройств.
Программы управления заданиями обеспечивают ввод и интерпретацию команд операторов, управляющих работой и заданий (программ), формируемых пользователями системы обработки данных.Операторы с помощью специальных команд воздействуют на порядок функционирования и получают информацию о текущем состоянии системы. Эти программы интерпретируют задания в виде соответствующих последовательностей действий и обеспечивают их необходимыми ресурсами – требуемым объемом оперативной памяти, устройствами ввода-вывода, наборами данных и др.Задания, обеспеченные ресурсами, необходимыми для их выполнения, образуют задачи.Управление задачами реализуется супервизором.Для того, чтобы заставить работать программы управления заданиями, последние описываются с применением специального языка управления заданиями, конкретного для каждого типа системы обработки данных.
Программы управления данными обеспечивают доступ к наборам данных и организацию работы устройств ввода-вывода. Средства управления данными настраивают программы на работу с конкретными наборами данных и устройствами, в которых хранятся наборы, и за счет этого создают возможность при программировании задач манипулировать с данными как с логическими объектами, не связанными с конкретными устройствами. Таким образом, управление данными сводится к сопряжению программ с наборами данных и устройствами, а использование этих устройств контролируется и координируется супервизором.
Функции ОС расширяются за счет включения в нее программных средств телеобработки, управления базами данных, программных средств, обеспечивающих работу в различных сетях и др., образующих в совокупности системное программное обеспечение. Системное программное обеспечение является основой для построения прикладного программного обеспечения и предоставляет пользователю средства, необходимые для работы со специ-
альными устройствами, например, с аппаратурой передачи данных и удаленными терминалами или для специальной обработки дан-ных.
В состав ОС включают, как правило, трансляторы с нескольких языков программирования, редакторы связей, обеспечивающие сборку программных модулей в программы с заданной структурой; средства отладки программ и перемещения наборов данных с одних носителей на другие и т.д. Функции трансляторов обеспечивают взаимодействие вычислительных средств и программ, разработанных с использованием машинно-, процедурно- и проблемно- ориентированных языков программирования.
Прикладное программное обеспечение реализует функции обработки данных, связанных с конкретной областью применения системы. Например, в системах автоматизированного проектирования радиоэлектронной аппаратуры прикладные программы обеспечивают анализ и расчет электронных схем, размещение электронных компонентов по конструктивным единицам, разводку соединений на печатных платах и другие работы; в автоматизированных системах управления предприятиями и производствами – стратегическое, тактическое и оперативное планирование, учет и анализ производственной деятельности и т.д.
Состав прикладного программного обеспечения определяется назначением системы.
К программным средствам систем обработки данных примыкают наборы данных, рассматриваемые как особая составляющая – информационное обеспечение систем. Наборы данных представляют собой совокупности логически связанных элементов данных, организованных соответствующим образом (по определенным правилам), снабженных описаниями, доступными системам программирования (средствам управления данными). Наборы данных могут быть именованы, что позволяет обращаться к ним и их элементам по именам. Одни и те же наборы данных могут использоваться многими прикладными программами, что достигается организацией их в виде специальных структур, независимых от программ – баз или банков данных.
Работа с такими данными реализуется с помощью систем управления базами данных, позволяющих производить их выборку, модификацию, добавление новых данных. При этом, изменения в программах не влекут за собой изменение и реорганизацию базы данных, не требуют внесения изменений в программы, оперирующие с ними.
Процессы. Процессы отображают динамику работы - функционирование систем обработки данных. Процесс определяют как динамический объект, реализующий целенаправленный акт обработки данных, то есть некоторое действие, приводящее к изменению текущего состояния системы или ее элементов. Основные
функции систем обработки данных реализуются через прикладные процессы, заданные прикладными программами или обрабатывающими программами ОС, и инициируются заданиями пользователей или сигналами, поступающими в систему из внешней среды. В качестве примеров прикладных процессов можно назвать: решение прикладной задачи; редактирование, трансляция или сборка прикладной программы; сортировка набора данных и др. Системные процессы реализуют вспомогательные функции, обеспечивающие работу системы обработки данных, например, системные ввод или вывод, перемещение страниц в виртуальной памяти, работа супервизора и т.д. Системные процессы работают от момента включения до момента выключения системы обработки данных.
Процесс Pi описывается тройкой параметров Pi = <ti, Ai, Ti>, где ti – момент инициирования процесса, Ai - атрибуты процесса, определяющие имена источника, инициирующего процесс, пользователя, задания, режим обработки данных, приоритет процесса и др., и Ti – трасса процесса. Трасса процесса – это последовательность событий, связанных с изменением состояния процесса. Трасса процесса представляется в виде упорядоченного множества событий Ti = {s,, s2, …, sM}, имевших место в моменты времени t1, t2, …, tM, причем, t1£ t2£…£ tM. К событиям относятся моменты времени ввода задания, начала и завершения обработки шагов задания, начала и окончания выполнения процессов в устройствах системы, начала использования и освобождения памяти, предоставляемой процессу в запоминающих устройствах и др. Каждое событие связывается с моментом его возникновения, программой, реализующей процесс и ресурсом, обслуживающим процесс. Таким образом, трасса характеризует развитие процесса во времени и пространстве, его динамику. На рисунке 2.2 изображено выполнение программы процессором и неким внешним устройством в виде временной диаграммы.
Процесс функционирования системы обработки данных существенно зависит от состава заданий, исходных данных и внешних сигналов, поступающих на ее входы. Весь объем входящей информации принято называть рабочей нагрузкой системы, обработка которой требует определенных ресурсов, таких, например, как оперативная и внешняя память, процессорное время, количество и типы устройств ввода-вывода и др. Поэтому рабочую нагруз-ку в промежутке времени Т, определяют в виде множества характеристик заданий
, (2.1)
где li – описание i-го задания, устанавливающее его атрибуты Ai и потребность задания в ресурсах qi1, qi2, ..., qiN от 1 до N. Например, значение qi1 может означать емкость области оперативной памяти, необходимой заданию, qi2 - требуемое число выполняемых процессором операций, qi3 - количество вводимых данных и т.д. Число заданий, обрабатываемых за определенный промежуток времени системой, дающих полное представление о рабочей нагрузке, может быть достаточно большим. В связи с этим, описание рабочей нагрузки в виде зависимости (2.1) оказывается, как правило, громоздким. Для более компактного описания рабочей нагрузки потребность в ресурсах представляется среднестатистическими значениями объема ресурсов, приходящихся на одно задание. Имеет значение и сфера применения, определяющая класс задач (сложность). Например, инженерно-технические, планово-экономические, учетно-статистические задачи представляют для системы обработки данных различные рабочие нагрузки.