Derecho  0.9
Distributed systems toolkit for RDMA
Namespaces | Functions
subgroup_functions.cpp File Reference
#include <vector>
#include <derecho/core/derecho_modes.hpp>
#include <derecho/core/detail/container_template_functions.hpp>
#include <derecho/core/detail/derecho_internal.hpp>
#include <derecho/core/subgroup_functions.hpp>
#include <derecho/core/view.hpp>
Include dependency graph for subgroup_functions.cpp:

Go to the source code of this file.

Namespaces

 derecho
 

Functions

subgroup_allocation_map_t derecho::one_subgroup_entire_view (const std::vector< std::type_index > &subgroup_type_order, const std::unique_ptr< View > &prev_view, View &curr_view)
 A simple implementation of shard_view_generator_t that creates a single, un-sharded subgroup containing all the members of curr_view for every subgroup type in the list. More...
 
subgroup_allocation_map_t derecho::one_subgroup_entire_view_raw (const std::vector< std::type_index > &subgroup_type_order, const std::unique_ptr< View > &prev_view, View &curr_view)
 A simple implementation of shard_view_generator_t that returns a single, un-sharded subgroup in Unordered (Raw) mode containing all the members of curr_view for every type in the list. More...
 
ShardAllocationPolicy derecho::flexible_even_shards (const std::string &profile)
 Returns a ShardAllocationPolicy that specifies a set number of "flexible" shards, each of which has the same minimum and maximum number of nodes, using the values of the constants num_shards, min_nodes, and max_nodes in the section of the configuration file identified by the profile string. More...
 
ShardAllocationPolicy derecho::flexible_even_shards (int num_shards, int min_nodes_per_shard, int max_nodes_per_shard, const std::string &profile="default")
 Returns a ShardAllocationPolicy that specifies num_shards "flexible" or fault-tolerant shards, each of which has the same minimum number of nodes and maximum number of nodes. More...
 
ShardAllocationPolicy derecho::fixed_even_shards (int num_shards, int nodes_per_shard, const std::string &profile="default")
 Returns a ShardAllocationPolicy that specifies num_shards shards with the same fixed number of nodes in each shard; each shard must have exactly nodes_per_shard members. More...
 
ShardAllocationPolicy derecho::raw_fixed_even_shards (int num_shards, int nodes_per_shard, const std::string &profile="default")
 Returns a ShardAllocationPolicy that specifies num_shards shards with the same fixed number of nodes in each shard, and every shard running in "raw" delivery mode. More...
 
ShardAllocationPolicy derecho::custom_shard_policy (const std::vector< Mode > &delivery_modes_by_shard, const std::vector< std::string > &profiles_by_shard)
 Returns a ShardAllocationPolicy for a subgroup that has a different number of members in each shard, and possibly has each shard in a different delivery mode. More...
 
ShardAllocationPolicy derecho::custom_shards_policy (const std::vector< int > &min_nodes_by_shard, const std::vector< int > &max_nodes_by_shard, const std::vector< Mode > &delivery_modes_by_shard, const std::vector< std::string > &profiles_by_shard)
 Returns a ShardAllocationPolicy for a subgroup that has a different number of members in each shard, and possibly has each shard in a different delivery mode. More...
 
SubgroupAllocationPolicy derecho::one_subgroup_policy (const ShardAllocationPolicy &policy)
 Returns a SubgroupAllocationPolicy for a replicated type that only has a single subgroup. More...
 
SubgroupAllocationPolicy derecho::identical_subgroups_policy (int num_subgroups, const ShardAllocationPolicy &subgroup_policy)
 Returns a SubgroupAllocationPolicy for a replicated type that needs n subgroups with identical sharding policies. More...
 

Detailed Description

Date
Feb 28, 2017

Definition in file subgroup_functions.cpp.