Термин «суперкомпьютер» подразумевает компьютер, НЕ состоящий из готовых частей. Это не суперкомпьютер, о котором вы говорите. Что касается идеи 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