Вот некоторые особенности.Каковы операции PCIe, связанные с глаголами Infiniband?
Когда процесс вызывает ibv_post_send()
, что происходит на интерфейсе PCI с HCA? Является ли WQE инкапсулированным внутри дверного звонка PCIe и записывается через запрограммированный ввод-вывод? Или WQE выбирается в отдельном DMA, читаемом HCA?
Что происходит Когда процесс вызывает ibv_poll_cq()
? Как HCA нажимает CQE на системную память? Или, если это зависит от нагрузки, как CPU обнаруживает новые CQE в HCA?
Спасибо! Это очень полезно. Есть ли документ в Интернете, который объясняет это взаимодействие (и предоставляет другую полезную информацию о оборудовании Infiniband?). Я нашел один «руководство по реализации глаголов», но даже это не показало, как продвигается CQE. –
Обработка CQEs/WQE и других вещей - все это зависит от реализации. Каждый поставщик может делать все, что захочет. Если вы хотите понять, как реализованы глаголы, вам просто нужно проверить соответствующий исходный код - все открыто. Например, для семейства HCA Mellanox ConnectX: http://lxr.free-electrons.com/source/drivers/infiniband/hw/mlx4/ Если вы хотите узнать больше, вам понадобится устройство PRM (программирование Справочное руководство). Вам необходимо обратиться к поддержке вашего поставщика и попросить этот документ. – kliteyn