Особенности организации вычислительных комплексов
С момента появления вычислительных машин возникло постоянное стремление повышения их производительности и надежности. При этом всегда возникал вопрос, каким путем решать эти задачи. Многомашинные и многопроцессорные комплексы внеслидополнительную дилемму, какие их них предпочтительно разрабатывать? Среди разработчиков существуют сторонники как многомашинных, так и многопроцессорных комплексов. Каким обра-зом можно оценить преимущества и недостатки того или иного направления?
На этапе разработки дать точную оценку будущей производительности и надежности машины или комплекса невозможно, поэтому оценки носят в значительной степени качественный характер, однако дают представление о сравниваемых комплексах.
Производительность любого вычислительного комплекса зависит, в частности, от структуры комплекса, емкости памяти, способов связи между устройствами, параметров самих устройств и т.д. Не следует забывать, что решаемые на комплексах задачи различны по характеру вычислений. Для каждой задачи характерен свой состав операций, число обращений к внешней памяти, объем передаваемой между устройствами информации и др. Кроме этого, возможны различные варианты нагрузки. Как правило, рассматривают два наиболее характерных варианта нагрузки. Первый заключается в том, что в вычислительный комплекс поступает большой поток различных, не связанных между собой задач с небольшим объемом вычислений. При втором варианте комплекс нагружается объемными задачами, число которых может быть и небольшим, но решение каждой связано с большой вычислительной работой. В обоих случаях мы наблюдаем, множественный поток команд и множественный поток данных, которые из-за различия объема вычислений обрабатываются по-разному.
При первом варианте нагрузки в многомашинных комплексах (ММВК) общий поток задач тем или иным способом разделяется между всеми ЭВМ комплекса, и каждая из них работает независимо от других. Разделение задач может происходить с помощью общих внешних запоминающих устройств (ВЗУ), в которых орга-
низуется список всех обрабатываемых заданий (задач), и последовательно вносится каждое вновь поступающее задание (задача). ЭВМ, по мере завершения решения текущей задачи, выбирает новую из списка и обрабатывает ее. Существующие в ММВК связи между машинами используются при этом только для обеспечения надежности. Если одна из ЭВМ выходит из строя, ее задача переводится на другую машину, которая и должна завершить ее выполнение. В процессе работы комплекса объем информации, передаваемой между машинами незначительный и затраты времени каждой машины на такой объем малы. В результате производительность вычислительного комплекса с достаточной точностью может быть определена как сумма производительностей отдельных машин и линейно (пропорционально) растет с увеличением числа ЭВМ в нем. Когда главной задачей комплекса является обеспечение высокой надежности, и другие ЭВМ работают как резервные, производительность комплекса равна производительности одной ЭВМ, выполняющей основную задачу.
В многопроцессорном комплексе (МПВК) также организуется список задач, непрерывно пополняемый вновь поступающими задачами, из которого
каждый освободившийся процессор выбирает новую для себя задачу. Характерным отличием организации вычислений в этих комплексах от ММВК является доступность каждого из процессоров к любому ресурсу: оперативной памяти, периферийным устройствам, программным средствам. При этом, все процессоры работают под управлением единой операционной системы. Общедоступность всех ресурсов неизбежно приводит к конфликтам между процессорами из-за этих ресурсов, а это означает, что процессоры какую-то часть времени неизбежно будут простаивать. Очевидно, что, чем больше в комплексе процессоров, тем больше вероятность конфликтов и соответственно простоев, и, как следствие, снижение производительности.
Надо учитывать и еще один фактор – затраты времени на организацию процесса обработки информации в вычислительном комплексе, то есть на работу операционной системы. Эти затраты характерны для ММВК и МПВК, но в многопроцессорном вычислительном комплексе требуются еще и дополнительные затраты на обеспечение взаимодействия между различными устройствами, прежде всего процессорами. Это означает, что ОС МПВК выполняет более сложные функции, чем в ММВК. Экспериментально подтверждено, что затраты растут нелинейно, то есть при подключении второго процессора производительность увеличивается не вдвое, а всего на 60-80%, при подключении третьего процессора прирост составит 2,1 раза, но не втрое.
При втором варианте нагрузки картина получается другая. Задачи, требующие большого объема вычислений, могут быть раз-
делены на отдельные части, названные подзадачами, которые могут решаться параллельно и независимо друг от друга – как независимые ветви. Задача будет решена, когда будут решены все подзадачи и их результаты будут совмещены и обработаны на заключительном этапе. Организация решения таких крупных задач в ММВК оказывается весьма сложной, так как каждая ЭВМ работает под управлением своей операционной системы, а требуется совместная работа всех ЭВМ, то есть требуется некая надстройка над ОС, которая должна быть принадлежностью одной из ЭВМ, становящейся управляющей. Можно эту надстройку попытаться сделать общей, но тогда ММВК фактически превращается в МПВК. Другая сложность возникает из-за того, что при решении таких задач необходимо передавать между машинами значительный объем информации: исходные данные для подзадач, результаты их решения, промежуточные результаты, информация, необходимая для син-хронизации процесса. В конечном счете это приводит к непроизводительным временным затратам всех ЭВМ и неоправданно ма-лому увеличению производительности с увеличением числа ЭВМ в комплексе.
Для МПВК решение таких задач не приводит к заметным дополнительным затратам времени, так как эти затраты на организацию процесса обработки практически не отличаются от тех, которые имеют место при решении потока независимых задач. Конечно, решение задач с параллельной обработкой данных требует соответствующей ОС.
Таким образом, при решении трудоемких задач производительность МПВК превосходит производительность ММВК при равном числе процессоров.
Приведенные рассуждения свидетельствуют о том, что предпочтение или выбор комплекса по производительности будет определяться характером решаемых задач.
Что касается вопросов обеспечения надежности, здесь однозначное преимущество имеют МПВК перед ММВК. Это объясняется тем, что в ММВК используется резервирование машин, а в МПВК имеется резервирование устройств. Благодаря этому МПВК может обеспечить более высокую надежность по сравнению с ММВК при том же объеме оборудования или ту же надежность при меньших аппаратных затратах.
Следует обратить внимание на еще одну важную особенность ММВК и МПВК. Речь идет о способности комплексов к реконфигурации, и, прежде всего, о возможности автоматической реконфигурации. Возможности по созданию новых конфигураций ММВК, по крупному, сводятся к подключению или отключению некоторого количества машин. В МПВК реконфигурация может быть реализована не только за счет подключения или отключения устройств, но и за счет модифицирования коммутационных устройств и раз-
личных режимов работы ОС. Несомненно, это осложняет ОС МПВК по сравнению с ОС ММВК, но зато обеспечивает большую гибкость комплекса, предоставляет большие возможности разработчикам прикладных программ (задач). В этом явное преимущество МПВК.
Подводя итог сравнения комплексов с различной организацией вычислений, теоретики констатируют неоднозначность преимуществ того или иного способа обработки данных и рекомендуют решать вопрос выбора на основании предъявляемых требований по надежности, производительности, характеру задач и рабочей нагрузке
Вопросы и задания для самопроверки
3.1. Какая часть компьютера называется центральной частью машины?
3.2. Дайте определение операнда.
3.3. Что является основополагающим в фон-неймановской архитектуре?
3.4. Можно ли выполнять сложение команд?
3.5. Почему память компьютера строят по иерархическому принципу?
3.6. Какая необходимость заставила разработчиков ввести в копьютер систему прерываний?
3.7. Чем вызвана замена в компьютере устройства преобразования адресов устройством формирования адресов?
3.8. В чем заключается идея режима разделения времени?
3.9. Для чего нужен таймер в машине?
3.10. Назовите три вида многомашинных комплексов.
3.11. Что означает «прямое управление» в многомашинном вычислительном комплексе?
3.12. Косвенная связь – что это такое?
3.13. Можно ли решать одну задачу параллельным способом на многомашинном вычислительном комплексе?
3.14. Что такое сателлитная ЭВМ? Где применяется?Перечислите типы структурной организации многопроцессорных вычислительных комплексов.
3.15. Назовите положительные и отрицательные свойства перекрестных матриц.
3.16. Как организована многомодульная память? Имеется ли какое-нибудь преимущество в такой организации?
3.17. Дайте общее определение кластера.
3.18. Что предполагает понятие «общедоступная память?
3.19. Что означает «общее поле памяти»?
3.20. Сколько операционных систем работает в многопроцессорном вычислительном комплексе?
3.21. Для какого вида комплексов операционная система сложнее и с чем это связано?
3.22. На ваш взгляд, какой комплекс предпочтительнее ММВК или МПВК?
Глава четвертая
Вычислительные системы