defines the types of scope consistency guarantees provided More...
#include <iscope.hpp>
Public Types | |
| enum | scope_range_enum { NULL_CONSISTENCY = 0, VERTEX_READ_CONSISTENCY, READ_CONSISTENCY, VERTEX_CONSISTENCY, EDGE_CONSISTENCY, FULL_CONSISTENCY, USE_DEFAULT } |
scope types More... | |
| enum | lock_type_enum { NO_LOCK = 0, READ_LOCK = 1, WRITE_LOCK = 2 } |
defines the types of scope consistency guarantees provided
There are several choices for consistency mechanisms in the graphlab framework. Each choice determines to what extent adjacent vertices can be operated on in parallel.
Null Consistency: provides no guarantees allowing update functions to operate on the same vertex concurrently
Vertex Read Consistency: On ensures that that you can read from the local vertex correctly
Vertex Consistency: Ensures that a scope is aquired by only one processor at a time
Edge Consistency: Ensures that adjacent vertices are not updated simultaneoulsy. If the update function only modifies the data on the scope vertex and its adjacent edges then this consistency model is sufficient to guarantee sequential consistency
Fully Consistency: This consistency models guarantees sequential consistency but may limit the available parallelism. Effectively, this consistency model ensures that overlapping scopes cannot be executed simultaneously.
The scope_range_enum is passed to the engine through the iengine interface or set using the engine factory.
Definition at line 71 of file iscope.hpp.
scope types
Definition at line 73 of file iscope.hpp.
1.7.1