Как я могу поделиться модулем оперативной памяти через сеть в C ++?

Просто мне нужно знать, есть ли способ поделиться несколькими модулями оперативной памяти для размещения клиентской системы?

Раньше я писал приложение для бесконечных вычислений, которое использовало 1 МБ от другого компьютера в сети, создавая простое соединение с сервером и клиентом, распределяя параллельные задачи, а затем собирало результаты в целевой системе; но теперь мне нужно что-то для непосредственного управления хранилищем памяти. Есть что-нибудь для этого, например, инструментарий или SDK или что-то? это может быть на всех c родных языках.

0

Решение

Ты смущен.

Первый, баран не используется (напрямую) процессы. Это ядро операционной системы который управляет оперативной памятью и обеспечивает виртуальное адресное пространстводля обработки через виртуальную память (поэтому ваша программа, запущенная в процессе, имеет свое виртуальное адресное пространство). Прочитайте хороший учебник, как Операционные системы: три легкие пьесы понять эти понятия.

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

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

Тебе есть чему поучиться; смотреть в Уменьшение карты, MPI, Розетки, 0mq и т. д.

Вы, вероятно, хотите использовать Linux или POSIX (потому что он доминирует в распределенных или облачных вычислениях). Прочитайте какую-нибудь книгу по Linux, например ALP или что-то новее, то посмотри Системные вызовы (2) и многие man страницы, на которые они ссылаются. Заметить, что Гнездо (2), Опрос (2), гнездо (7), TCP (7) (и другие системные вызовы) очень актуальны для ваших потребностей.

Вы можете использовать некоторые база данных. возможно RDBMS, PostGreSQL, MongoDB, REDIS или даже Memcached может быть полезным.

Вы должны узнать и прочитать много вещей, прежде чем кодировать.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]