Derecho  0.9
Distributed systems toolkit for RDMA
Functions
rdma::impl Namespace Reference

Functions

bool lf_initialize (const std::map< node_id_t, std::pair< ip_addr_t, uint16_t >> &ip_addrs_and_ports, uint32_t node_rank)
 Initialize the global context. More...
 
bool lf_add_connection (uint32_t new_id, const std::pair< ip_addr_t, uint16_t > &new_ip_addr_and_port)
 Adds a node to the group via tcp. More...
 
bool lf_remove_connection (uint32_t node_id)
 Removes a node's TCP connection, presumably because it has failed. More...
 
bool lf_destroy ()
 
std::map< uint32_t, remote_memory_regionlf_exchange_memory_regions (const std::vector< uint32_t > &members, uint32_t node_rank, const memory_region &mr)
 
bool set_interrupt_mode (bool enabled)
 
bool verbs_initialize (const std::map< uint32_t, std::string > &node_addresses, uint32_t node_rank)
 
bool verbs_add_connection (uint32_t index, const std::string &address, uint32_t node_rank)
 
bool verbs_remove_connection (uint32_t index)
 
void verbs_destroy ()
 
std::map< uint32_t, remote_memory_regionverbs_exchange_memory_regions (const std::vector< uint32_t > &members, uint32_t node_rank, const memory_region &mr)
 
bool set_contiguous_memory_mode (bool enabled)
 
bool verbs_initialize (const map< uint32_t, std::pair< ip_addr_t, uint16_t >> &ip_addrs_and_ports, uint32_t node_rank)
 
ibv_cq * verbs_get_cq ()
 
ibv_comp_channel * verbs_get_completion_channel ()
 

Function Documentation

◆ lf_add_connection()

bool rdma::impl::lf_add_connection ( uint32_t  new_id,
const std::pair< ip_addr_t, uint16_t > &  new_ip_addr_and_port 
)

Adds a node to the group via tcp.

Definition at line 569 of file lf_helper.cpp.

◆ lf_destroy()

bool rdma::impl::lf_destroy ( )

Definition at line 723 of file lf_helper.cpp.

◆ lf_exchange_memory_regions()

std::map< uint32_t, remote_memory_region > rdma::impl::lf_exchange_memory_regions ( const std::vector< uint32_t > &  members,
uint32_t  node_rank,
const memory_region mr 
)

Maps a node's ID to a memory region on that node

Maps a node's ID to a memory region on that node

Definition at line 727 of file lf_helper.cpp.

◆ lf_initialize()

bool rdma::impl::lf_initialize ( const std::map< uint32_t, std::pair< ip_addr_t, uint16_t >> &  ip_addrs_and_ports,
uint32_t  node_rank 
)

Initialize the global context.

Initialize the connection listener on the rdmc tcp port

Initialize the tcp connections, also connects all the nodes together

Set the context to defaults to start with

Initialize the fabric, domain and completion queue

Initialize the event queue, initialize and configure pep

Start a polling thread and run in the background

Initialize the connection listener on the rdmc tcp port

Initialize the tcp connections, also connects all the nodes together

Set the context to defaults to start with

Initialize the fabric, domain and completion queue

Initialize the event queue, initialize and configure pep

Start a polling thread and run in the background

Definition at line 660 of file lf_helper.cpp.

◆ lf_remove_connection()

bool rdma::impl::lf_remove_connection ( uint32_t  node_id)

Removes a node's TCP connection, presumably because it has failed.

Definition at line 578 of file lf_helper.cpp.

◆ set_contiguous_memory_mode()

bool rdma::impl::set_contiguous_memory_mode ( bool  enabled)

Definition at line 471 of file verbs_helper.cpp.

◆ set_interrupt_mode()

bool rdma::impl::set_interrupt_mode ( bool  enabled)

Definition at line 752 of file lf_helper.cpp.

◆ verbs_add_connection()

bool rdma::impl::verbs_add_connection ( uint32_t  index,
const std::string &  address,
uint32_t  node_rank 
)

Definition at line 405 of file verbs_helper.cpp.

◆ verbs_destroy()

void rdma::impl::verbs_destroy ( )

Definition at line 237 of file verbs_helper.cpp.

◆ verbs_exchange_memory_regions()

map< uint32_t, remote_memory_region > rdma::impl::verbs_exchange_memory_regions ( const std::vector< uint32_t > &  members,
uint32_t  node_rank,
const memory_region mr 
)

Definition at line 1121 of file verbs_helper.cpp.

◆ verbs_get_completion_channel()

ibv_comp_channel* rdma::impl::verbs_get_completion_channel ( )

Definition at line 1152 of file verbs_helper.cpp.

◆ verbs_get_cq()

ibv_cq* rdma::impl::verbs_get_cq ( )

Definition at line 1151 of file verbs_helper.cpp.

◆ verbs_initialize() [1/2]

bool rdma::impl::verbs_initialize ( const std::map< uint32_t, std::string > &  node_addresses,
uint32_t  node_rank 
)

◆ verbs_initialize() [2/2]

bool rdma::impl::verbs_initialize ( const map< uint32_t, std::pair< ip_addr_t, uint16_t >> &  ip_addrs_and_ports,
uint32_t  node_rank 
)

Definition at line 252 of file verbs_helper.cpp.

◆ verbs_remove_connection()

bool rdma::impl::verbs_remove_connection ( uint32_t  index)

Definition at line 464 of file verbs_helper.cpp.