2

Fellows,

У меня есть несколько компьютеров, некоторые новые, некоторые старые (я собираю их, так как мой первый, который имеет 2 КБ ОЗУ, с 1979 года). Коллекция становится огромной, но цель этого вопроса связана с тем, что я всегда любил мощь суперкомпьютеров или, по крайней мере, мощь больших машин).

Я когда-либо думал об идее объединения машин, чтобы получить более мощный. Я использую локальную сеть (локальную сеть) 1Gbit Apeed, где 4 машины Intel i7 2600k работают на 4,8 ГГц водяном охладителе, каждая с 16 МБ ОЗУ, SSD и обычными жесткими дисками, в общей сложности 30 ТБ (всего в локальной сети ). Прочитав статьи и просмотрев много видео о виртуализации, я подвергаю сомнению возможность установки на каждую машину гипервизоров типа «голый металл» (тип 1), а затем создания виртуальной машины, которая распространяется на физические машины, чтобы я мог установить операционную систему, например Windows. кроме того, для запуска программ, которые требуют много ресурсов, таких как процессор, оперативная память, жесткий диск и т. д.

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

Используя этот способ, мы могли бы установить OP и запустить, например, Adobe After Effects или Adobe Premiere, которые нуждаются в выдающейся параллельной обработке (или мощности процессора) для предварительного просмотра в реальном времени или для запуска сложного программного обеспечения, которое может принести пользу от нескольких процессоров. Я знаю, что многие люди предложили бы купить большую многоядерную, многоядерную машину xeon для параллельной обработки, но это не так ...Мне нравится думать, что с существующей технологией должен быть способ объединить ПК и получить больше вычислительных мощностей.

Я вижу людей, присоединяющихся к Raspberry pi и создающих "суперкомпьютеры" на youtube, с одним терафлопом, поэтому почему мы не можем сделать это с нашими собственными машинами, которые имеют LAN, ram, диски ... это не то же самое нам нужно только программное обеспечение и как это сделать, нет? Является ли это возможным ? Как это сделать ?

Спасибо

3 ответа3

3

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

Существующие гипервизоры для виртуализации, такие как Hyper-V, VMware ESXi, XenServer, позволяют запускать виртуальные машины на одном хосте или в кластере. Гипервизор использует аппаратный процессор, оперативную память и хранилище и "конвертирует" его в виртуальные ресурсы для запуска виртуальных машин. Что касается хранилища, его можно настроить в общих томах, которые зеркалируются между хостами с использованием сетевого подключения к передаче данных (например, iSCSI SAN, VMware VSAN, StarWind VSAN и т.д.), Но все же каждая виртуальная машина использует только локальные вычислительные ЦП и ОЗУ.

Исходя из моего опыта, не существует программного или аппаратного обеспечения, которое могло бы объединить ЦП, ОЗУ и хранилище, поскольку нет типа шины, который мог бы обслуживать связь между хостами «суперкомпьютера».

2

Это на самом деле может быть сделано. Раньше был дистрибутив Linux под названием ClusterKnoppix, основанный на форке с открытым исходным кодом все еще доступного, но бесплатного AFAICS, пакета Linux под названием Mosix.

Из руководства администратора:

MOSIX - это пакет, который обеспечивает балансировку нагрузки путем миграции процессов в кластерах и частных кластерах с несколькими кластерами. MOSIX предназначен главным образом для распределенных параллельных вычислений, например, используемых для интенсивных вычислений.

Что оно делает:

Предоставляет единый образ системы.

- Пользователи могут войти в систему на любом узле, и им не нужно знать, где работают их программы.

- Нет необходимости изменять или связывать приложения со специальными библиотеками.

Автоматическое обнаружение ресурсов и распределение рабочей нагрузки.

Но

Все узлы должны иметь 64-разрядную архитектуру x86. Все ядра одного и того же узла должны иметь одинаковую скорость.

Так что это может не соответствовать вашим конкретным требованиям.

2

Приложения ограничены теми, которые эффективно используют ваши данные ресурсы. Вы не можете запустить After Effects на своем "суперкомпьютере", если не существует программного обеспечения, которое знает, как разделить рабочую нагрузку между всеми вашими подчиненными.

Во-первых, у вас нет необходимого программного обеспечения. Даже если вы приобретаете необходимое программное обеспечение для виртуализации (любой ценой или если компания даже готова продать его вам!), Существуют минимальные требования для кластера, которые обычно включают в себя почти идентичные спецификации. Самая близкая вещь, которую я мог найти, - VMware ESXi.

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .