Thrill  0.1
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 40 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

◆ bucket_rate()

double bucket_rate ( ) const

Returns bucket_rate_.

Definition at line 77 of file reduce_table.hpp.

◆ limit_partition_fill_rate()

double limit_partition_fill_rate ( ) const

Returns limit_partition_fill_rate_.

Definition at line 73 of file reduce_table.hpp.

Member Data Documentation

◆ bucket_block_size_

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 59 of file reduce_table.hpp.

◆ bucket_rate_

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 49 of file reduce_table.hpp.

◆ initial_items_per_partition_

constexpr size_t initial_items_per_partition_ = 512

only for growing ProbingHashTable: items initially in a partition.

Definition at line 55 of file reduce_table.hpp.

◆ limit_partition_fill_rate_

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 45 of file reduce_table.hpp.

◆ table_impl_

constexpr ReduceTableImpl table_impl_ = ReduceTableImpl::PROBING

select the hash table in the reduce phase by enum

Definition at line 52 of file reduce_table.hpp.

◆ use_mix_stream_

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 63 of file reduce_table.hpp.

◆ use_post_thread_

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 67 of file reduce_table.hpp.

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