|
| SST (DerivedSST *derived_class_pointer, const SSTParams ¶ms) |
|
template<typename... Fields> |
void | SSTInit (Fields &... fields) |
|
| ~SST () |
| Destructor for the SST object; sets thread_shutdown to true and waits for background threads to exit cleanly. More...
|
|
void | start_predicate_evaluation () |
| Starts the predicate evaluation loop. More...
|
|
void | sync_with_members () const |
| Does a TCP sync with each member of the SST. More...
|
|
void | sync_with_members (std::vector< uint32_t > row_indices) const |
| Syncs with a subset of the members. More...
|
|
void | freeze (int row_index) |
| Marks a row as frozen, so it will no longer update, and its corresponding node will not receive writes. More...
|
|
unsigned int | get_num_rows () const |
| Returns the total number of rows in the table. More...
|
|
unsigned int | get_local_index () const |
| Gets the index of the local row in the table. More...
|
|
const char * | getBaseAddress () |
|
void | put () |
| Writes the entire local row to all remote nodes. More...
|
|
void | put_with_completion () |
|
void | put (const std::vector< uint32_t > receiver_ranks) |
| Writes the entire local row to some of the remote nodes. More...
|
|
void | put_with_completion (const std::vector< uint32_t > receiver_ranks) |
|
void | put (size_t offset, size_t size) |
| Writes a contiguous subset of the local row to all remote nodes. More...
|
|
template<typename T > |
void | put (SSTField< T > &field) |
| Writes a specific local field to all remote nodes. More...
|
|
template<typename T > |
void | put (SSTFieldVector< T > &vec_field) |
| Writes a specific local vector field to all remote nodes. More...
|
|
template<typename T > |
void | put (SSTFieldVector< T > &vec_field, std::size_t index) |
| Writes only a single element of a vector field to all remote nodes. More...
|
|
template<typename T > |
void | put (const std::vector< uint32_t > receiver_ranks, SSTFieldVector< T > &vec_field, std::size_t index) |
| Writes only a single element of a vector field to only some of the remote nodes. More...
|
|
void | put_with_completion (size_t offset, size_t size) |
|
void | put (const std::vector< uint32_t > receiver_ranks, size_t offset, size_t size) |
| Writes a contiguous subset of the local row to some of the remote nodes. More...
|
|
void | put_with_completion (const std::vector< uint32_t > receiver_ranks, size_t offset, size_t size) |
|
template<class DerivedSST>
class sst::SST< DerivedSST >
Definition at line 13 of file predicates.hpp.
template<typename DerivedSST >
This function is run in a detached background thread to detect predicate events.
It continuously evaluates predicates one by one, and runs the trigger functions for each predicate that fires. In addition, it continuously evaluates named functions one by one, and updates the local row's observed values of those functions.
Definition at line 61 of file sst_impl.hpp.
template<typename DerivedSST >
void sst::SST< DerivedSST >::start_predicate_evaluation |
( |
| ) |
|
Starts the predicate evaluation loop.
This simply unblocks the background thread that runs the predicate evaluation loop.
It must be called at some point after the the constructor in order for any registered predicates to trigger.
Definition at line 47 of file sst_impl.hpp.
template<typename DerivedSST >
void sst::SST< DerivedSST >::sync_with_members |
( |
| ) |
const |
Does a TCP sync with each member of the SST.
Exchanges a single byte of data with each member of the SST group over the TCP (not RDMA) connection, in descending order of the members' node ranks.
This creates a synchronization barrier, since the TCP reads are blocking, and should be called after SST initialization to ensure all nodes have finished initializing their local SST code.
Definition at line 272 of file sst_impl.hpp.
template<class DerivedSST>
std::vector<bool> sst::SST< DerivedSST >::row_is_frozen |
|
private |
Map of queue pair number to row.
Useful for detecting failures. Array with one entry for each row index, tracking whether the row is marked frozen (meaning its corresponding remote node has crashed).
Definition at line 207 of file sst.hpp.