Вы смотрели, как обычные многоядерные (2-12-ядерные) процессоры решают эту проблему?
Знаете ли вы, где / когда / почему / как решение, которое используется в этих распространенных многоядерных процессорах, не будет масштабироваться до 1000+ ядер?
Другими словами - можете ли вы дать количественную оценку того, что не так с существующим решением, которое работает и работает, с общими процессорами, число ядер которых <= 12? </p>
Если вы это знаете - тогда ответ ближе, чем вы думаете, потому что для этого нужно просто понять, как AMD / Intel решили проблему в меньших масштабах - и что нужно для того, чтобы их решение работало в более широком масштабе (возможно, больше памяти для таблиц, настроек алгоритма и т. д.)
Посмотрите на структуры данных AMD / Intel - затем создайте программный симулятор для более 1000 ядер с этими структурами данных и посмотрите, где / когда / почему и как провалилась ваша симуляция - если она не удалась ...
В идеале создайте свой симулятор с выбранным пользователем количеством ядер, а затем ТЕСТ, ТЕСТ, ТЕСТ с различным количеством ядер - работайте на своем пути вверх, отмечая узкие места на этом пути.
Ваш симулятор должен работать ТОЧНО так же, как и AMD (если вы используете структуры данных AMD) или Intel (если вы используете структуры данных Intel) - с тем же количеством ядер, что и у одного из их чипов ... потому что это должно доказать, что ОНИ (AMD / Intel) делают то, что делают правильно (потому что это так), и потому, что это поможет доказать, что ваша программа симуляции выполняет симуляцию правильно - на определенном количестве ядер.
Желаю удачи!