Ключевое слово, которое вы хотите найти, это «распределенная общая память»; на эту тему есть страница Википедии . MOSIX, которая стала openMOSIX, которая сейчас разрабатывается как часть LinuxPMI , является самой близкой вещью, о которой я знаю; но у меня нет большого опыта работы с текущим проектом LinuxPMI.
Одна вещь, о которой вам нужно знать, это то, что ни одна из этих систем не работает особенно хорошо с точки зрения производительности. (Возможно, более оптимистичный способ сказать, что это дань уважения разработчикам, что эти вещи работают вообще). Вы не можете просто абстрагироваться от того факта, что доступ к памяти на узле очень сильно отличается от памяти на каком-либо другом узле сети. Даже сделать локальные системы памяти быстрыми сложно и требует много оборудования; Вы не можете просто надеяться, что немного программного обеспечения скроет тот факт, что вы сейчас делаете что-то по сети.
Увеличение производительности особенно важно, если учесть, что программы OpenMP, которые вы, возможно, захотите запустить, почти всегда будут написаны, если предположить, что доступ к памяти локальный и, следовательно, дешевый, потому что, для этого и предназначен OpenMP. Ложный обмен достаточно плох, когда вы говорите о разных сокетах, обращающихся к общей строке кэша - ложный обмен на основе страниц в сети просто катастрофичен.
Теперь вполне может быть, что у вас есть очень простая программа с очень небольшим фактическим общим состоянием, и система распределенной разделяемой памяти не будет такой плохой - но в этом случае я должен подумать, что вы в конечном итоге лучше всего перенести проблему из модели на основе общей памяти, такой как OpenMP, в сторону того, что в любом случае будет работать лучше в кластерной среде.