Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[28]

i S vi / vi /

Коммутационн ый процесс

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

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

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

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

1

1

Ч-iv

1

1 1

1 1

а1 а8

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

аа

аа

аа

аа

а

а

а

а

а

а

1 "2

3 "А

10

12

13 "14

15

16


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

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

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

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

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

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


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

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



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28] [стр.29] [стр.30] [стр.31] [стр.32] [стр.33] [стр.34] [стр.35] [стр.36] [стр.37] [стр.38] [стр.39] [стр.40] [стр.41] [стр.42] [стр.43] [стр.44] [стр.45] [стр.46] [стр.47] [стр.48] [стр.49] [стр.50] [стр.51] [стр.52] [стр.53] [стр.54] [стр.55] [стр.56] [стр.57] [стр.58] [стр.59]