18 #ifndef FOEDUS_STORAGE_HASH_HASH_PARTITIONER_IMPL_HPP_
19 #define FOEDUS_STORAGE_HASH_HASH_PARTITIONER_IMPL_HPP_
83 void design_partition_task_recurse(
99 if (node_count <= 1U) {
102 return total_bin_count + 16;
134 #endif // FOEDUS_STORAGE_HASH_HASH_PARTITIONER_IMPL_HPP_
thread::ThreadGroupId PartitionId
As partition=NUMA node, this is just a synonym of foedus::thread::ThreadGroupId.
friend std::ostream & operator<<(std::ostream &o, const HashPartitioner &v)
Definitions of IDs in this package and a few related constant values.
bool is_partitionable() const
const PartitionId * get_bucket_owners() const
~HashPartitionerData()=delete
uint32_t StorageId
Unique ID for storage.
Root package of FOEDUS (Fast Optimistic Engine for Data Unification Services).
Partitioner for a hash storage.
Forward declarations of classes in root package.
static uint64_t object_size(uint16_t node_count, HashBin total_bin_count)
Brings error stacktrace information as return value of functions.
HashBin total_bin_count_
Size of the entire hash.
void design_partition_task(uint16_t task)
HashPartitioner(Partitioner *parent)
Database engine object that holds all resources and provides APIs.
void sort_batch(const Partitioner::SortBatchArguments &args) const
Forward declarations of classes in memory package.
HashPartitionerData()=delete
Represents an intermediate page in Hashtable Storage.
uint64_t HashBin
Represents a bin of a hash value.
Partitioning and sorting logic for one storage.
Arguments for sort_batch()
void partition_batch(const Partitioner::PartitionBatchArguments &args) const
ErrorStack design_partition(const Partitioner::DesignPartitionArguments &args)
Definitions of IDs in this package and a few related constant values.
PartitionId bin_owners_[8]
partition of each hash bin.
bool partitionable_
if false, every record goes to node-0.
Arguments for design_partition()
uint64_t object_size() const
Arguments for partition_batch()