Информатика и информационные технологии Электротехника История искусства Каталог графических примеров

Основы вычислительных комплексов

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

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

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

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

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

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

·        модульность технических и программных средств и регулярность (в пределе – однородность) структуры.

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

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

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

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

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

Рис. 2.15. Состав модуля системы с перестраиваемой структурой

Рис. 2.16. Фрагмент матричной структуры

 

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

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

В вычислительных системах с перестраиваемой структурой модули объединяются в простейшие структуры, позволяющие достаточно легко определять пути соединении между взаимодействующими модулями. Наиболее подходящими для построения рассматриваемых систем являются матричные, пирамидальные и кубические структуры. Фрагмент матричной структуры изображен на рис. 2.16. Модули, в которых выделен коммутационный процессор, соединяются посредством последнего в матрицу. Коммутационные процессоры и каналы связи образуют в совокупности коммутационное поле, обеспечивающее соединение взаимодействующих модулей и передачу данных между ними. Часть модулей системы специализируется на обслуживании периферийных устройств – накопителей на магнитных дисках и лентах и устройств ввода – вывода. Управляющие и коммутационные процессоры модулей ввода – вывода обеспечивают взаимодействие внешних устройств с процессами, реализуемыми в любом из модулей системы.

  Рис. 2.17. Многоуровневое коммутационное поле

 

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

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

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

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

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

Как в любой многопроцессорной системе, механизм управления должен исключать взаимную блокировку процессов при запросах ресурсов. Такая ситуация возникает, если процесс А располагает ресурсом a и требует для своего исполнения ресурс b, а процесс B располагает ресурсом b и дополнительно нуждается в ресурсе а. Например, процесс A располагает модулем а и требует соединения b с ним, а процесс B располагает соединением b и требует модуль а. Для предотвращения блокировок используются различные механизмы управления ресурсами, одновременное формирование запросов на все необходимые ресурсы и освобождение всех ресурсов, если не выделен хотя бы одни из них; разделение ресурсов по типам и иерархический порядок выделения ресурсов и т. д. Кроме того, механизм управления должен принимать решения о передислокации программ и наборов данных между модулями, о необходимости подключения к процессу дополнительных модулей или последовательной реализации алгоритмически параллельных процессов на одном модуле и, наконец, о распределении задач между модулями, обеспечивающем необходимое время решения и высокую производительность системы. Для управления процессами обычно предлагаются эвристические процедуры, не требующие большой емкости памяти и трудоемких вычислений. Однако эффективность большинства предлагаемых процедур к настоящему времени не оценена в достаточной степени.

Начертательная геометрия и инженерная графика, перспектива