Thrill  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DefaultReduceConfig Class Reference

Detailed Description

Configuration class to define operational parameters of reduce hash tables and reduce phases.

Most members can be defined static constexpr or be mutable variables. Not all members need to be used by all implementations.

Definition at line 38 of file reduce_table.hpp.

+ Inheritance diagram for DefaultReduceConfig:

#include <reduce_table.hpp>

Public Member Functions

double limit_partition_fill_rate () const
 Returns limit_partition_fill_rate_. More...
double bucket_rate () const
 Returns bucket_rate_. More...

Public Attributes

double bucket_rate_ = 0.6
double limit_partition_fill_rate_ = 0.5

Static Public Attributes

static constexpr size_t bucket_block_size_ = 512
static constexpr size_t initial_items_per_partition_ = 512
 only for growing ProbingHashTable: items initially in a partition. More...
static constexpr ReduceTableImpl table_impl_ = ReduceTableImpl::PROBING
 select the hash table in the reduce phase by enum More...
static constexpr bool use_mix_stream_ = true
static constexpr bool use_post_thread_ = true

Member Function Documentation

double bucket_rate ( ) const

Returns bucket_rate_.

Definition at line 75 of file reduce_table.hpp.

References DefaultReduceConfig::bucket_rate_.

double limit_partition_fill_rate ( ) const

Returns limit_partition_fill_rate_.

Definition at line 71 of file reduce_table.hpp.

References DefaultReduceConfig::limit_partition_fill_rate_.

Member Data Documentation

constexpr size_t bucket_block_size_ = 512

only for BucketHashTable: size of a block in the bucket chain in bytes (must be a static constexpr)

Definition at line 57 of file reduce_table.hpp.

double bucket_rate_ = 0.6

only for BucketHashTable: ratio of number of buckets in a partition relative to the maximum possible number.

Definition at line 47 of file reduce_table.hpp.

Referenced by DefaultReduceConfig::bucket_rate().

constexpr size_t initial_items_per_partition_ = 512

only for growing ProbingHashTable: items initially in a partition.

Definition at line 53 of file reduce_table.hpp.

double limit_partition_fill_rate_ = 0.5

limit on the fill rate of a reduce table partition prior to triggering a flush.

Definition at line 43 of file reduce_table.hpp.

Referenced by DefaultReduceConfig::limit_partition_fill_rate().

constexpr ReduceTableImpl table_impl_ = ReduceTableImpl::PROBING

select the hash table in the reduce phase by enum

Definition at line 50 of file reduce_table.hpp.

constexpr bool use_mix_stream_ = true

use MixStream instead of CatStream in ReduceNodes: this makes the order of items delivered in the ReduceFunction arbitrary.

Definition at line 61 of file reduce_table.hpp.

constexpr bool use_post_thread_ = true

use an additional thread in ReduceNode and ReduceToIndexNode to process the pre and post phases simultaneously.

Definition at line 65 of file reduce_table.hpp.

The documentation for this class was generated from the following file: