RDMA Scatter/Gather в глаголах API

RDMA Scatter/Gather — это хороший способ консолидации передачи данных. Например, API глаголов позволяет записывать данные в нескольких местах в удаленный буфер с помощью ОДНОЙ операции записи RDMA; или данные в удаленном буфере могут быть прочитаны в несколько местоположений с помощью ОДНОЙ операции чтения RDMA.

Однако я не могу инициировать операцию RDMA с записью в несколько мест на удаленной стороне (или чтением из нескольких мест на удаленной стороне). Эта функция привлекательна для нас, потому что она эффективно использует широкие линии RDMA для нескольких небольших операций записи. Я также проверил API qsm Intel и API Cray gni. Кажется, никто не поддерживает такую ​​​​функцию - назовем ее «удаленный разброс, управляемый писателем». Есть ли глубокая причина, по которой это не поддерживается?


person Weijia Song    schedule 14.09.2018    source источник


Ответы (2)


У меня нет хорошего объяснения, почему интерфейс глаголов не поддерживает его, поскольку он определенно может быть реализован аппаратно.

Однако есть по крайней мере два способа сделать это более эффективно: 1. Более простой способ — вы можете опубликовать список запросов RDMA сразу для нескольких удаленных местоположений и запросить запись о завершении только для последнего — это обеспечит лучшую производительность, чем размещая их по одному. 2. Более продвинутый: вы можете создать «UMR» на удаленном хосте, который сгруппирует все эти местоположения в один непрерывный виртуальный MR, после чего вы сможете использовать этот удаленный виртуальный MR с помощью одной операции публикации.

person Yuval Degani    schedule 14.09.2018

Причина, по которой запись RDMA имеет ограниченный список разброса, заключается в том, что список должен передаваться по сети и выполняться HCA на удаленной стороне, а HCA может иметь ограниченные ресурсы для хранения этой информации. Это отличается от локальных операций, таких как отправка дескриптора приема, когда дескриптор является локальным на машине.

person Peleg Abergel    schedule 11.01.2019