
- •Цели и задачи дисциплины. Основные понятия архитектуры вс. История развития вс. Экономические факторы появления и развития вычислительных систем.
- •Эволюция и тенденции развития вычислительных систем. Современные вычислительные системы и области их применения.
- •11. Системы телеобработки, вычислительные сети. Технология распределенной обработки данных.
- •20 Многомашинные вычислительные комплексы (ммвк) и многопроцессорные вычислительные комплексы (мпвк)
- •21. Векторные, матричные, ассоциативные вычислительные системы. Однородные и функционально – распределенные вычислительные системы.
- •16 Системы массового обслуживания.
- •19 Параллельная обработка информации.
- •10. Архитектура и способы организации вычислительных систем.
- •14 Методы коммутации
11. Системы телеобработки, вычислительные сети. Технология распределенной обработки данных.
Системы, предназначенные для обработки данных, передаваемых по каналам связи, называются системами телеобработки данных. Состав технических средств системы телеобработки данных укрупнено представлен на рис. 1.3.6. Пользователи (абоненты) взаимодействуют с системой посредством терминалов (абонентских пунктов), подключаемых через каналы связи к средствам обработки данных – ЭВМ или вычислительному комплексу. Данные передаются по каналам связи в форме сообщений – блоков данных, несущих в себе кроме собственно данных служебную информацию, необходимую для управления процессами передачи и защиты данных от искажений.
Вычислительные сети. Объединение разрозненных СОД обеспечивает доступ к данным и процедурам их обработки для всех пользователей, связанных общей сферой деятельности. Ядром является базовая сеть передачи данных (СПД), которая состоит из каналов и узлов связи (УС). Узлы связи принимают данные и передают их в направлении, обеспечивающем доставку данных абоненту. ЭВМ подключаются к узлам базовой сети передачи данных, чем обеспечивается возможность обмена данными между любыми парами ЭВМ. Совокупность ЭВМ, объединенных сетью передачи данных, образует сеть ЭВМ. К ЭВМ непосредственно или с помощью каналов связи подключаются терминалы, через которые пользователи взаимодействуют с сетью. Совокупность терминалов и средств связи, используемых для подключения терминалов к ЭВМ, образует терминальную сеть. Таким образом, вычислительная сеть представляет собой композицию базовой сети передачи данных, сети ЭВМ и терминальной сети. Такая вычислительная сеть называется глобальной или распределенной. Сеть передачи данных (СПД) - базовая сеть передачи данных (устройства связи + каналы связи). Вычислительная сеть - СПД + сеть ЭВМ + ТС. Сети делятся на глобальные и локальные
20 Многомашинные вычислительные комплексы (ммвк) и многопроцессорные вычислительные комплексы (мпвк)
Многомашинные вычислительные комплексы (ММВК) появились исторически первыми. Уже при использовании ЭВМ первых поколений возникали задачи повышения производительности, надежности и достоверности вычислений. Для этих целей использовали комплекс машин, схематически показанный на рис. 1.3.1, а.
Коммутатор - это электронное устройство, позволяющее соединить объекты между собой. В положении ключа или 1 или 3, одна ЭВМ является основной, другая - вспомогательной. Вспомогательная может находиться на профилактике, либо заниматься не основными, а второстепенными вычислениями - так наз. резерв. В случае выхода из строя основного ЭВМ, другая ЭВМ ее замещает. Это режим повышенной надежности. В положении ключа 2 обе машины могут решать одну и ту же важную задачу.
Положения 1 и 3 электронного ключа (ЭК) обеспечивало режим повышенной надежности. При этом одна из машин выполняла вычисления, а другая находилась в “горячем” или “холодном” резерве, т.е. в готовности заменить основную ЭВМ (обе машины решают одну и ту же задачу и периодически сверяют результаты, решения.. Положение 2 электронного ключа соответствовало случаю, когда обе машины обеспечивали параллельный режим вычислений (обе машины работают параллельно, но обрабатывают собственные потоки заданий.)
Типы ВС: а - многомашинные комплексы; б - многопроцессорные системы
В ранних многомашинных комплексах связь между ЭВМ обеспечивалась через общие внешние запоминающие устройства – накопители на магнитных дисках (НМД) или магнитных лентах (НМЛ) (рис 1.3.3), т.е. за счет доступа к общим наборам данных.
Рис. 1.3.3. Многомашинный вычислительный комплекс с косвенной связью между ЭВМ
Такая связь называется косвенной и оказывается эффективной только в том случае, когда ЭВМ взаимодействуют достаточно редко, например, при отказе одной из ЭВМ или в моменты начала и окончания обработки данных.
Более оперативное взаимодействие ЭВМ достигается за счет прямой связи через адаптер, обеспечивающий обмен данными между каналами ввода – вывода КВВ) двух ЭВМ (рис. 1.3.4) и передачу сигналов прерывания. За счет этого создаются хорошие условия для координации процессов обработки данных и повышается оперативность обмена данными, что позволяет вести параллельно процессы обработки и существенно увеличивать производительность СОД.
Рис. 1.3.4. Многомашинный вычислительный комплекс с прямой связью между ЭВМ
Вычислительный комплекс, содержащий несколько процессоров с общей оперативной памятью и периферийными устройствами, называется многопроцессорным.. Процессоры, модули оперативной памяти (МП) и каналы ввода–вывода, к которым подключены периферийные устройства (ПУ), объединяются в единый комплекс с помощью средств коммутации, обеспечивающих доступ каждого процессора к любому модулю оперативной памяти и каналу ввода–вывода, а также возможность передачи данных между последними
Многопроцессорные вычислительные комплексы (МПВК) строятся при комплексировании нескольких процессоров (рис. 1.3.1, б). В качестве общего ресурса они имеют общую оперативную память (ООП). Параллельная работа процессоров и использование ООП обеспечиваются под управлением единой общей операционной системы. По сравнению с ММС здесь достигается наивысшая оперативность взаимодействия вычислителей-процессоров. Однако МПС имеют и существенные недостатки.
Они в первую очередь связаны с использованием ресурсов общей оперативной памяти. При большом количестве комплексируемых процессоров возможно возникновение конфликтных ситуаций, когда несколько процессоров обращаются с операциями типа “чтение” и “запись” к одним и тем же областям памяти. Помимо процессоров к ООП подключаются все каналы (процессоры ввода-вывода), средства измерения времени и т.д.
Поэтому вторым серьезным недостатком МПС является проблема коммутации абонентов и доступа их к ООП. От того, насколько удачно решаются эти проблемы, и зависит эффективность применения МПС. Накопленный опыт построения подобных систем показал, что они эффективны при небольшом числе комплексируемых процессоров (2,4 до 10).
Многомашинные и многопроцессорные вычислительные комплексы рассматриваются как базовые средства для создания СОД различного назначения. Поэтому в состав вычислительного комплекса принято включать только технические средства и общесистемное (базовое), но не прикладное программное обеспечение, связанное с конкретной областью применения комплекса.
19 Формы параллелизма. Форма параллелизма обычно достаточно просто характеризует некоторый класс прикладных задач и предъявляет определенные требования к структуре, необходимой для решения этого класса задач параллельной ЭВМ. Изучение ряда алгоритмов и программ показало, что можно выделить следующие основные формы параллелизма: естественный или векторный параллелизм; параллелизм независимых ветвей; параллелизм смежных операций или скалярный параллелизм. Векторный параллелизм. Наиболее распространенной в обработке структур данных является векторная операция (естественный параллелизм). Вектор - одномерный массив, который образуется из многомерного массива, если один из индексов не фиксирован и пробегает все значения в диапазоне его изменения. В параллельных языках этот индекс обычно обозначается знаком *. Пусть, например, A, B, C - двумерные массивы. Тогда можно записать такую векторную операцию: C (*, j) = A (*, j) + B (*, j). На последовательных языках эта операция выражается с помощью цикла DO: DO1I=1,N 1 C(I,J) = A(I,J) + B(I,J) Возможны операции и большей размерности, чем векторные: над матрицами и многомерными массивами. Однако в параллельные ЯВУ включаются только векторные операции (сложение, умножение, сравнение и т. д.), потому что они носят универсальный характер, тогда как операции более высокого уровня специфичны и возможное их число слишком велико для включения в любой язык. Операции высоких порядков выражаются в виде некоторой процедуры вычислений через векторные операции. Области применения векторных операций над массивами обширны: цифровая обработка сигналов (цифровые фильтры); механика, моделирование сплошных сред; метеорология; оптимизация; задачи движения; расчеты электрических характеристик БИС и т. д. Другой пример: векторная обработка увеличивает скорость и эффективность обработки за счет того, что обработка целого набора (вектора) данных выполняется одной командой. Скорость выполнения операций в векторном режиме приблизительно в 10 раз выше скорости скалярной обработки. Для фрагмента типа Do i = 1, n A(i) = B(i)+C(i) End Do в скалярном режиме потребуется сгенерировать целую последовательность команд: прочитать элемент B(I), прочитать элемент C(I), выполнить сложение, записать результат в A(I), увеличить параметр цикла, проверить условие цикла. В векторном режиме этот фрагмент преобразуется в: загрузить порцию массива B, загрузить порцию массива C (эти две операции будут выполняться со сдвигом в один такт, т.е. практически одновременно), векторное сложение, запись порции массива в память, если размер массивов больше длины векторных регистров, то повторить эту последовательность некоторое число раз. Перед тем, как векторная операция начнет выдавать результаты, проходит некоторое время (startup), связанное с заполнением конвейера и подкачкой аргументов. Чем больше длина векторов, тем менее заметным оказывается влияние данного начального промежутка времени на все время выполнения программы. Скалярный параллелизм. При исполнении программы регулярно встречаются ситуации, когда исходные данные для i-й операции вырабатываются заранее, например,
32
при выполнении (i-2)-й или (i-3)-й операции. Тогда при соответствующем построении
вычислительной системы можно совместить во времени выполнение i-й операции с
выполнением (i-1)-й, (i-2)-й, ... операций. В таком понимании скалярный параллелизм
похож на параллелизм независимых ветвей, однако они очень отличаются длиной ветвей
и требуют разных вычислительных систем. Рассмотрим пример.
Пусть имеется программа для расчета ширины запрещенной зоны транзистора и в
этой программе есть участок - определение энергии примесей по формуле
Тогда последовательная программа для вычисления E будет такой (Fortran):
F1=M*Q**4*P**2
F2=8*E0**2*E**2*H**2
E = F1/F2
Здесь имеется параллелизм, но при записи на Фортране (показано выше) или
Параллельная обработка информации.
Один из основных факторов, определяющих развитие вычислительной техники в
целом и вычислительных систем в частности, – это высокая производительность. Общий
метод увеличения производительности – организация параллельной обработки
информации, т. е. одновременное решение задач или совмещение во времени этапов
решения одной задачи.
Во всем многообразии способов организации параллельной обработки можно
выделить три основных направления:
совмещение во времени различных этапов разных задач;
одновременное решение различных задач пли частей одной задачи;
конвейерная обработка информации.
Первый путь – совмещение во времени этапов решения разных задач – это
мультипрограммная обработка информации. Мультипрограммная обработка возможна
даже в однопроцессорной ЭВМ и широко используется в современных СОД.
Второй путь – одновременное решение различных задач или частей одной задачи –
возможен только при наличии нескольких обрабатывающих устройств. При этом
используются те или иные особенности задач или потоков задач, что позволяет
осуществить тот или иной параллелизм.
Потребность в параллельной обработке данных возникает при необходимости
сокращения времени решения задач, увеличения быстродействия и улучшения
использования ВС. При распараллеливании процесса обработки необходимо
определенным образом организовать вычисления. В этом случае:
- составляются параллельные программы, то есть отображаются в явной форме
параллельная обработка с помощью надлежащих конструкций языка,
ориентированного на параллельные вычисления;
- реализуется автоматическое обнаружение параллелизма. Последнее требование автоматически реализуется при разработке последовательной
программы. В результате может быть выявлена возможность явной или скрытой параллельная обработки.
Классы архитектур ВС. Конвейерная архитектура Пример: Каждая машинная команда выполняется в 5 этапов: считывание команды из памяти, дешифрация команды, считывание данных, выполнение команды, запись результатов в память. Рассмотрим простую программу: a=b+c d=e+f ЭВМ, построенная согласно архитектуре фон Неймана, последовательно выполнит эти две команды. Причѐм после выполнения каждой команды процессор будет простаивать, ожидая, пока результат запишется в память, и затем придут новые данные для следующей команды.
Однако эти команды являются несвязанными, так как для них нужны разные данные. Поэтому их можно было бы выполнять параллельно. Уже в 50-х гг. были начаты работы по разработке такой архитектуры ЭВМ, которая позволяла в той или иной мере оптимизировать вычислительный процесс. Чтобы минимизировать число обращений к памяти при выполнении серии несвязанных операций, была разработана конвейерная [pipeline] архитектура.
1. Тип
Для ускорения выполнения команд процессор ставит их на конвейер, состоящий, например, из 5 каскадов. Устройство, выполняющее такую обработку команд, называется конвейером команд [command pipeline]. Таким образом, фазы выполнения различных операций совмещаются во времени, тем самым поток команд из памяти команд становится более интенсивным.
2. Тип Ускорение выполнения несвязанных арифметических операций достигается аналогичным способом с помощью арифметического конвейера [arithmetic pipeline], который интенсифицирует поток данных из памяти.
3. Тип Чтобы сократить время обработки данных, можно применить другой очевидный способ: совместить выполнение двух или более арифметических операций во времени. Для этого нужно просто иметь два или более арифметических устройств. Такая архитектура называется суперскалярной [superscalar]. Архитектура фон Неймана, конвейерная и суперскалярная архитектуры объединяются общим названием – архитектура ОКОД (SISD) [Single Instruction Single Data] Согласно этой архитектуре существует один поток команд и один поток данных. Эти потоки могут подвергаться конвейеризации или распараллеливанию внутри процессора. Большинство современных ЭВМ построено по такому принципу.
Способы организации параллельной обработки. 4.1 Типы параллелизма. А) Естественный параллелизм независимых задач Суть - заключается в том, что в систему поступает непрерывный поток не связанных между собой задач, т. е. решение любой задачи не зависит от результатов решения других задач. В этом случае использование нескольких обрабатывающих устройств при любом способе комплексирования (косвенном или прямом) повышает производительность системы. Б) Параллелизм независимых ветвей Один из наиболее распространенных типов параллелизма в обработке информации. Суть его заключается в том, что при решении большой задачи могут быть выделены отдельные независимые части – ветви программы, которые при наличии нескольких обрабатывающих устройств могут выполняться параллельно и независимо друг от друга. При решении большой задачи могут быть выделены отдельные независимые части (ветви программы), которые при наличии нескольких обрабатывающих устройств могут выполняться параллельно и независимо друг от друга. Условия независимости ветвей: отсутствие функциональных связей отсутствие связей по использованию общих полей ОЗУ независимость по управлению программная независимость
В) Параллелизм объектов или данных
Обработка параллельно поступающих данных по одной программе (обработка сигналов от
радиолокационной станции, операции над матрицами (имеет место тогда, когда по
одной и той же (или почти по одной и той же) программе должна обрабатываться
некоторая совокупность данных, поступающих в систему одновременно.)
Это могут быть, например, задачи обработки сигналов от радиолокационной
станции: все сигналы обрабатываются по одной и той же программе. Другой пример –
обработка информации от датчиков, измеряющих одновременно один и тот же параметр и
установленных на нескольких однотипных объектах. Программы обработки данных могут
быть различного объема и сложности, начиная от очень простых, содержащих несколько
операций, до больших программ в сотни и тысячи операций.
\ Основы и принципы конвейерной обработки данных.
Идея конвейерной обработки заключается в разбиении операции на
последовательные этапы длительностью в такт с последующей реализацией каждого из
них отдельным физическим блоком. Если организовать работу таких блоков в виде
конвейера (каждый блок, выполнив работу, передает результат вычислений следующему
блоку и одновременно принимает новую порцию данных), то получится очевидный
выигрыш.
Конвейеры применяются как при обработке данных (конвейер данных), так и при
обработке команд (конвейер команд).