Одна операционная система на двух компьютерах?

396
atoms118

Можно ли сгруппировать два компьютера вместе и запустить на них одну операционную систему? Я слышал о Beowulf и тому подобном, но могу ли я кластеризовать такие вещи, как устройства PCI (особенно графическое ускорение), хранилище, сетевые карты, USB и память в дополнение к вычислительной мощности? Я ожидаю, что не все это возможно, но какой из них, и где бы я искал, чтобы начать их реализовывать (я не прошу полного руководства или чего-то смешного, просто шаг в правильном направлении)

Я использую Linux, на тот случай, если это еще не ясно. Я сомневаюсь, что конкретная система, на которой я работаю, так важна, но в настоящее время я использую Ubuntu 17.10.

РЕДАКТИРОВАТЬ: Просто чтобы прояснить некоторые вещи, я не против всех моих кластерных компьютеров, работающих под управлением полной системы Linux (например, Ubuntu Server, а не полный рабочий стол, но я думаю, что это ясно), и кластера в пользовательском пространстве

2
Конечно, вы можете, учитывая достаточно времени. Однако учтите следующее: задержка, пропускная способность. Это не практично. Daniel B 6 лет назад 2
Вы делаете справедливое замечание, это совсем не практично. Но, если я все равно хочу продолжить, с чего бы мне начать? atoms118 6 лет назад 0
Если вы кластеризуете все периферийные устройства, тогда просто получите многопроцессорную систему. Это будет дешевле и проще, и это будет работать без дальнейших усилий. Ignacio Vazquez-Abrams 6 лет назад 1
[План 9] (https://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs) имел такие вещи, как серверы ЦП, поэтому можно утверждать, что это «одна ОС на нескольких компьютерах». Я не думаю, что вы можете сделать это с Linux каким-либо значимым способом. dirkt 6 лет назад 0
@ IgnacioVazquez-Abrams, я забыл упомянуть, что я делаю это с парой старых ноутбуков, которые у меня лежат: D, я должен был это прояснить в вопросе. Если бы у меня были деньги, я бы просто купил лучший компьютер. Кроме того, это больше для ударов ногами, чем для практического применения. atoms118 6 лет назад 0
Можно перенести * определенные * задачи на другую машину, а также использовать NBD и аналогичные технологии, чтобы сделать устройства доступными, но нет ничего, что обеспечивало бы унифицированный интерфейс для обработки обеих машин как одной. Ignacio Vazquez-Abrams 6 лет назад 0
Кроме того, [daaaaaamn ...] (https://www.supermicro.com/products/motherboard/Xeon/C600/X10QRH_.cfm) Ignacio Vazquez-Abrams 6 лет назад 1
@ IgnacioVazquez-Abrams, я тоже сейчас занимаюсь своими исследованиями, но возможно ли использовать xNBD для совместного использования устройств PCI, а не только устройств хранения? Кроме того, что вы подразумеваете под "переносом _специфических_ заданий на другую машину"? Ты имеешь в виду кластерные вычисления или фактически запускаешь процесс полностью на моей другой машине? atoms118 6 лет назад 0
Общая справка: [Можно ли объединить вычислительную мощность двух компьютеров?] (Https://superuser.com/q/122506/150988), [Как совместно использовать ЦП или ОЗУ?] (Https://superuser.com/ q / 256521/150988), [Связывание компьютеров для повышения производительности] (https://superuser.com/q/647132/150988) и, возможно, больше. Scott 6 лет назад 0

1 ответ на вопрос

2
Mariusz Zieliński

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

Для академических целей: Первая проблема, которую вам необходимо решить, - это создать соединение с низкой задержкой между компьютерами и выяснить механизмы синхронизации. Подумайте, сколько вы хотите реализовать в дополнительном оборудовании. Затем подумайте, какими ресурсами вам нужно поделиться и как вы будете судить. Затем подумайте, как вы будете планировать процессы. Как вы будете назначать им память (местность). Подумайте о DMA (вы хотите поделиться ресурсами PCI), как вы хотите, чтобы он работал.

Обратите внимание, что после того, как вы все выясните и оптимизируете все наилучшим образом, вы получите скорость сканирования ОС.

Я думаю, что мы оба заслуживаем того, чтобы быть обиженными на глупый вопрос и неудачную попытку ответить на него :-)

Похожие вопросы