Основы вычислительных систем Курс лекций начало

 

1.7. Сравнение многомашинных и многопроцессорных комплексов

 

На практике при необходимости обеспечения высокой производительности и высокой надежности всегда возникает вопрос, каким путем решать эту задачу. Создавать ММВК или МПВК? Среди разработчиков существуют сторонники как многопроцессорных, так и многомашинных комплексов. Попытаемся оценить преимущества и недостатки того и другого направления.

Наиболее целесообразно оценивать следующие характеристики ВК: надежность, производительность, гибкость, сложность программного обеспечения, экономическую эффективность. Хотя дать точную количественную оценку каждой характеристики невозможно и приведенные ниже оценки носят в значительной степени качественный характер, однако они дают достаточное представление о сравниваемых комплексах.

Все показатели, характеризующие надежность, вне всякого сомнения являются важнейшими, так как зачастую именно для повышения надежности и строятся комплексы. Несложно показать, что по этому параметру МПВК имеет явное преимущество перед ММВК. Это объясняется тем, что в ММВК резервирование осуществляется по машинам, в то время как в МПВК по устройствам. Благодаря этому МПВК может обеспечить более высокую надежность по сравнению с ММВК при том же объеме оборудования или ту же надежность при меньших аппаратных затратах.

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

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

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

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

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

Надо учитывать и еще один фактор – затраты времени на организацию процесса обработки информации в ВК, т. е. на работу ОС. Конечно, и в ММВК на работу ОС потребуются определенные затраты машинного времени, и при оценке системной производительности каждой ЭВМ это надо учитывать. Но в МПВК требуются дополнительные затраты на обеспечение взаимодействия всех элементов, прежде всего процессоров. Это связано с тем, что ОС в МПВК, как уже было показано, выполняет более сложные функции, чем в ММВК. Совершенно ясно, что эти затраты будут нелинейно расти с увеличением числа процессоров в системе. Экспериментальные оценки роста производительности МПВК показывают, что при подключении второго процессора производительность увеличивается на 60–80%, но не вдвое. Добавление третьего процессора дает прирост производительности в 2,1 раза, но не втрое.

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

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

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

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

Такая характеристика ВК, как гибкость, в литературе строго не определена. Будем этим термином определять способность системы к реконфигурации, и в первую очередь к автоматической реконфигурации. Из того, что раньше говорилось о свойствах и особенностях многопроцессорных и многомашинных комплексов, следует, что по этому параметру МПВК существенно превосходит ММВК. Действительно, вММВК все возможности по созданию новых конфигураций сводятся к отключению и подключению ЭВМ. В то же время в МПВК возможно создание множества различных конфигураций, причем ОС МПВК рассчитывается на это. Но опять-таки для реализации этого ценного качества в МПВК требуется достаточно сложная система коммутации устройств. К гибкости можно отнести и способность комплекса к наращиванию. В этом отношении преимущество также следует отдать МПВК, для подавляющего большинства которых в силу модульности построения наращивание осуществить достаточно просто.

Сложность программного обеспечения МПВК оценивалась в подразделе1.4, где было отмечено, что ОС МПВК существенно сложнее ОС ММВК.

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

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

порево самое
Машиностроительное черчение, инженерная графика, начертательная геометрия. Выполнение контрольной