summaryrefslogtreecommitdiffstats
path: root/include/framework/reconstruction/BackgroundTieringPolicy.h
diff options
context:
space:
mode:
authorDouglas Rumbaugh <dbr4@psu.edu>2025-09-25 14:42:44 -0400
committerDouglas Rumbaugh <dbr4@psu.edu>2025-09-25 14:42:44 -0400
commitcf5f3bbb0cb58430ed68ad3ebfcefc009e553d71 (patch)
tree4c17bc3169ee195c236cea9c9efda0aef7488e3c /include/framework/reconstruction/BackgroundTieringPolicy.h
parent826c1fff5accbaa6b415acc176a5acbeb5f691b6 (diff)
downloaddynamic-extension-cf5f3bbb0cb58430ed68ad3ebfcefc009e553d71.tar.gz
Code reformatting
Diffstat (limited to 'include/framework/reconstruction/BackgroundTieringPolicy.h')
-rw-r--r--include/framework/reconstruction/BackgroundTieringPolicy.h38
1 files changed, 24 insertions, 14 deletions
diff --git a/include/framework/reconstruction/BackgroundTieringPolicy.h b/include/framework/reconstruction/BackgroundTieringPolicy.h
index 36556a2..1c000b9 100644
--- a/include/framework/reconstruction/BackgroundTieringPolicy.h
+++ b/include/framework/reconstruction/BackgroundTieringPolicy.h
@@ -16,16 +16,20 @@
namespace de {
template <ShardInterface ShardType, QueryInterface<ShardType> QueryType>
-class BackgroundTieringPolicy : public ReconstructionPolicy<ShardType, QueryType> {
+class BackgroundTieringPolicy
+ : public ReconstructionPolicy<ShardType, QueryType> {
typedef std::vector<std::shared_ptr<InternalLevel<ShardType, QueryType>>>
LevelVector;
public:
- BackgroundTieringPolicy(size_t scale_factor, size_t buffer_size, size_t size_modifier=0)
- : m_scale_factor(scale_factor), m_buffer_size(buffer_size), m_size_modifier(size_modifier) {}
-
- std::vector<ReconstructionVector> get_reconstruction_tasks(
- const Version<ShardType, QueryType> *version, LockManager &lock_mngr) const override {
+ BackgroundTieringPolicy(size_t scale_factor, size_t buffer_size,
+ size_t size_modifier = 0)
+ : m_scale_factor(scale_factor), m_buffer_size(buffer_size),
+ m_size_modifier(size_modifier) {}
+
+ std::vector<ReconstructionVector>
+ get_reconstruction_tasks(const Version<ShardType, QueryType> *version,
+ LockManager &lock_mngr) const override {
std::vector<ReconstructionVector> reconstructions;
auto levels = version->get_structure()->get_level_vector();
@@ -34,7 +38,8 @@ public:
return {};
}
- level_index target_level = find_reconstruction_target(levels, version->get_structure()->get_record_count());
+ level_index target_level = find_reconstruction_target(
+ levels, version->get_structure()->get_record_count());
assert(target_level != -1);
level_index source_level = 0;
@@ -44,19 +49,21 @@ public:
}
for (level_index i = target_level; i > source_level; i--) {
- if (lock_mngr.take_lock(i-1, version->get_id())) {
+ if (lock_mngr.take_lock(i - 1, version->get_id())) {
ReconstructionVector recon;
size_t total_reccnt = levels[i - 1]->get_record_count();
std::vector<ShardID> shards;
- for (ssize_t j=0; j<(ssize_t)levels[i-1]->get_shard_count(); j++) {
- shards.push_back({i-1, j});
+ for (ssize_t j = 0; j < (ssize_t)levels[i - 1]->get_shard_count();
+ j++) {
+ shards.push_back({i - 1, j});
}
- recon.add_reconstruction(shards, i, total_reccnt, ReconstructionType::Compact);
+ recon.add_reconstruction(shards, i, total_reccnt,
+ ReconstructionType::Compact);
reconstructions.push_back(recon);
}
}
-
+
return reconstructions;
}
@@ -68,7 +75,8 @@ public:
}
private:
- level_index find_reconstruction_target(LevelVector &levels, size_t reccnt) const {
+ level_index find_reconstruction_target(LevelVector &levels,
+ size_t reccnt) const {
level_index target_level = invalid_level_idx;
for (level_index i = 1; i < (level_index)levels.size(); i++) {
@@ -81,7 +89,9 @@ private:
return target_level;
}
- inline size_t capacity(size_t reccnt) const { return m_scale_factor * std::pow(std::log(reccnt), m_size_modifier); }
+ inline size_t capacity(size_t reccnt) const {
+ return m_scale_factor * std::pow(std::log(reccnt), m_size_modifier);
+ }
size_t m_scale_factor;
size_t m_buffer_size;