-2

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

Допустим, у нас есть 2 материнские платы ATX и 1 MicroATX.

  1. Настройка материнской платы:

    • 1x ASUS Rampage Extreme Black Edition
    • 1x Intel Core i7 4960x
    • 4x GTX Titan
    • 8x 8GB 1866 RAM
  2. Настройка материнской платы:

    • 1x SuperMicro X9DRG-QF
    • 2x Intel Xeon E7-8890V2
    • 1x NVIDIA QUADRO K6000
    • 4x NVIDIA Tesla K40
    • 128 ГБ, 1866 Ram

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

Могу ли я отредактировать и скопировать все данные из ОЗУ первой материнской платы в другие, чтобы иметь возможность продолжить работу моей текущей операционной системы после переключения SSD на вторую материнскую плату, со второй материнской платы и наоборот?

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

3 ответа3

2

Термин «суперкомпьютер» подразумевает компьютер, НЕ состоящий из готовых частей. Это не суперкомпьютер, о котором вы говорите. Что касается идеи SSD. Вам не хватает нескольких факторов, которые невозможно будет преодолеть. Во-первых, SSD работает быстро, но далеко не так быстро, как оперативная память DDR3 (когда вы копируете файл объемом 8 ГБ на жесткий диск, у него все еще есть время, чтобы открыть диалоговое окно, чтобы показать вам прогресс; ваша система, по сути, будет ждать тех, 10-20 секунд КАЖДЫЙ тактовый цикл шины ОЗУ; IOW 1833 миллиона раз в секунду (это означает, что 1833 МГц) потребуется 10-20 секунд, смотрите проблему). Даже если бы это было так, есть нечто, называемое задержкой, которое поставило бы эту систему на колени; Вот почему нет такого понятия, как внешний модуль ОЗУ. ОЗУ НУЖНО быть быстрым; задержка, которую эта система привнесет, была бы неприемлемой (и проблематичной для проблем синхронизации также). Я думаю, вы будете удивлены, узнав, какая часть кода на вашей машине сильно зависит от точного времени, которое дает короткое расстояние передачи для оперативной памяти. Даже если вам каким-то образом удалось заставить это работать (чего у вас не получится), SSD имеет ограниченное количество циклов записи, поэтому этот тип рабочей нагрузки изнашивает ваш SSD настолько быстро, насколько это возможно; он разрушит себя еще быстрее, но, к счастью для вашего драйва, он может уничтожить себя так быстро (см. мой первый пункт).

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

Обновить

We can try to do this but it will take time, a lot of time. Everything is possible when you are aware of a System's Architecture. You can manipulate it in whatever way you want.

Нет, извините, но если бы вы знали основную арку, то вы бы не задавали этот вопрос в первую очередь, потому что я просто поцарапал поверхность того, почему это НИКОГДА не сработает. Планируете ли вы написать программу, которая будет синхронизировать регистры? Кэши l2\l3? Как насчет того, который будет гарантировать, что каждый чип на вашем mobo настроен одинаково? Планируете ли вы, чтобы каналы IRQ использовались одинаково? Или, может быть, у вас есть план, который будет добавлять физические компоненты, которые отличаются между двумя системами в режиме реального времени? Будет ли он автоматически переписывать программное обеспечение драйвера, чтобы один и тот же драйвер в памяти работал на обеих машинах? Извините, но вы не можете сидеть здесь и убеждать меня в том, что вы эксперт, если вы не продемонстрировали, что у вас есть понимание (более того, способ преодоления) любой из этих проблем.

Я уверен, что по крайней мере один из вас раньше использовал диск с горячей заменой? Если бы вы знали, вы бы знали, что в дополнение к тому, что я уже упоминал, весь процесс отсоединения диска и его повторного подключения где-то еще даже не близок к мгновенному. Мой компьютер загружается менее чем за 15 секунд. Это примерно столько же времени, сколько потребуется для переноса 8 ГБ ОЗУ на другой диск; затем вам нужно будет добавить еще 7-8 секунд для фактической замены диска и, наконец, вам нужно будет прочитать все эти данные обратно в оперативную память на другом ПК. Я действительно думаю, что группа ИТ-профессионалов должна понять это сразу.

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

Я предлагаю вам не пытаться соединять машины вместе, как вы этого хотите, потому что это никогда не сработает. Это не потому, что у меня нет воображения, чтобы увидеть это; это потому, что это действительно невозможно ни в малейшей степени. Вместо этого вы должны использовать свою сеть, потому что она предназначена для того, чтобы делать именно то, что вам нужно. Вам нужен только способ получить программные входы с одного компьютера на другой, а затем передать результат обратно, когда он закончится. До тех пор, пока проблема может быть разбита на незаметные задачи, это будет работать очень хорошо (это те же ограничения, что и у CUDA, поэтому здесь ничего не изменилось). Я думаю, что вам не нравится этот план, потому что он слишком прост, и вы похожи на меня и предпочитаете вызов. Проблема заключается в том , что вы хотели сделать это за сложной, это невозможно сделать с оборудованием у вас есть.

Если вы действительно хотите создать систему, которая работает так, то это можно сделать. Только не с оборудованием, которое вы используете. Выйдите и возьмите некоторые товарные процессоры (например, те, которые продаются Atmel или даже процессоры ARM [Raspberry Pi может хорошо с этим справиться)), а затем спроектируйте арку с нуля, которая будет работать таким образом. Кроме того, когда вы сделаете это, вы захотите использовать микросхемы ОЗУ (а не eeprom, как это используется в твердотельных накопителях), потому что они намного быстрее (хотя, если вы хотите, чтобы они были постоянными, вы должны изобрести собственную гибернацию). система, которая может очень хорошо использовать EEPROM). Затем вы можете физически подключить все процессоры к одним и тем же модулям памяти (то есть вы избавитесь от лишних операций копирования). Тогда это будет возможно (если вы сможете разработать хороший механизм для предоставления каждому процессору своего собственного временного интервала в памяти), но это потому, что вы не будете пытаться построить его поверх другой системы, которая не работает таким образом в все.

-Мир и GL

1

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

Я знаю, что вы можете проходить через видеокарту с подходящим оборудованием - (системы puget имеют отличные записи в двух разных конфигурациях - KVM в Ubuntu с картами NVIDIA и ESXi), но я понятия не имею, как это отреагирует на горячую живую миграцию - Я подозреваю, что между разнородным оборудованием могут произойти ужасные вещи. Затем вы можете хранить свою ОС на NAS, возможно, с 10Gb Ethernet, соединяющим системы (здесь может быть узкое место), так что вы можете «переключаться» между системами.

-1

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

Во-вторых, какова цель компьютера? Игры? Видео рендеринг? Майнинг криптовалюты? У вас есть объединение типов оборудования, которые не имеют смысла вместе. 4 Титаны отлично подходят для игр, но Quatro и Tesla предназначены для научных вычислений, и они оптимизированы для таких задач, поэтому выбирайте свои карты соответственно.

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

То, что вы просите сделать, не просто невыполнимо, это невозможно, учитывая, насколько сложны компьютеры на данный момент. Это просто не произойдет, будь вы инженер-электрик, компьютерщик, разработчик процессора или все трое.

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