s2d1ent
@s2d1ent
Студент

Как работать с ОЗУ в сети?

Всем привет, начал читать книгу для изучения сетей и в книге Олиферов "Компьютерные сети. Принципы, технологии, протоколы", во второй главе "Общие принципы построения сети" сказано, что при разделении доступа ресурсов в сети, также разделяются и данные хранящиеся в оперативной памяти. В связи с этим появляется вопрос:
Какие возможности работы с ОЗУ другого ПК в сети у меня имеются ? Т.е, могу я только читать данные из ОЗУ или в добавок могу что-либо туда записывать. Как программно я могу реализовать доступ к ОЗУ(через C++ или C#).
  • Вопрос задан
  • 156 просмотров
Пригласить эксперта
Ответы на вопрос 2
@rPman
RDMA протокол и в основном аппаратные решения (например на основе InfiniBand) но и на програмном поверх ethernet - например RoCE или iWARP.

Так же есть аналог gpudirect rdma но в пределах одного сервера, когда видеоускорители объеденены дополнительным кабелем и могут передавать данные не пропуская их через pcie

p.s. что то мне говорит что язык c# (точнее виртмашина clr) и требования к скоростям, из-за которых вынуждены работать с rdma - рядом не стоят, я даже не нашел ни единого упоминания об этом (есть что то от майкрософта, расширение smb2 протокола для работы через rdma и примеры кода на c#)
Ответ написан
Комментировать
leahch
@leahch
Я мастер на все руки, я козлик Элек Мэк :-)
1) Как уже написали RDMA, он есть поверх 10Gb эзернета, и по Infiniband
2) Есть еще такая унылая и очень экзотическая вещь - Reflective Memory, но ее вытеснили в первом пункте
3) Сами пишете что нибудь на основе протокола MPI
4) Но пункт 3 вытесняется простыми решениями на обычных TCP/IP сокетах.

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

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы