Кластеры и другие мультипроцессоры с передачей сообщений

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

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

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

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

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

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

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

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





Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: