Dlio

Namespace: dftracer::utils::utilities::dlio

struct AggregatedTraces

Public Members

std::vector<std::vector<double>> fetch_block_trace
std::vector<std::vector<double>> fetch_iter_trace
std::vector<std::vector<double>> getitem_trace
std::vector<double> computation_times
std::vector<double> preprocess_times
std::shared_ptr<DDSketch> fetch_block_sketch
std::shared_ptr<DDSketch> fetch_iter_sketch
std::shared_ptr<DDSketch> preprocess_sketch
std::shared_ptr<DDSketch> getitem_sketch
Statistic fetch_block_stats
Statistic fetch_iter_stats
Statistic preprocess_stats
Statistic getitem_stats
double trace_e2e_duration = 0.0
double trace_rank_variance = 0.0
std::vector<double> trace_per_rank_throughput
ComponentTimeMetrics trace_preprocess_metrics
ComponentTimeMetrics trace_fetch_iter_metrics
ComponentTimeMetrics trace_fetch_block_metrics
std::vector<std::uint64_t> rank_pids
int num_ranks = 0
int num_steps = 0
bool any_data = false
bool sketches_available = false
std::uint64_t time_interval_us = 0
struct BarrierSimulationResult

Public Members

double e2e_duration = 0.0
double e2e_error = 0.0
double avg_barrier_overhead = 0.0
double max_barrier_overhead = 0.0
std::vector<double> per_rank_completion_time
double rank_variance = 0.0
double trace_rank_variance = 0.0
double rank_variance_error = 0.0
double load_imbalance = 0.0
std::vector<double> simulated_fetch_block
double fetch_block_cdf_similarity = 0.0
std::vector<double> simulated_preprocess
std::vector<double> simulated_getitem
std::vector<double> simulated_fetch_iter
double fetch_iter_cdf_similarity = 0.0
double getitem_cdf_similarity = 0.0
double avg_queue_depth = 0.0
double avg_queue_stalls = 0.0
ComponentTimeMetrics preprocess_metrics
ComponentTimeMetrics fetch_iter_metrics
ComponentTimeMetrics fetch_block_metrics
std::optional<ComponentTimeMetrics> trace_preprocess_metrics
std::optional<ComponentTimeMetrics> trace_fetch_iter_metrics
std::optional<ComponentTimeMetrics> trace_fetch_block_metrics
std::vector<double> simulated_per_rank_throughput
std::vector<double> trace_per_rank_throughput
double throughput_mean = 0.0
double trace_throughput_mean = 0.0
double throughput_mean_error = 0.0
double throughput_variance = 0.0
double trace_throughput_variance = 0.0
double throughput_cdf_similarity = 0.0
class BarrierSimulator

Public Functions

BarrierSimulationResult simulate(const BarrierSimulatorContext &context, std::uint64_t base_seed, const Sampler &fetch_block_sampler, const Sampler &preprocess_sampler = {}) const
struct BarrierSimulatorContext

Public Members

int num_ranks = 0
int num_steps = 0
double trace_e2e_duration = 0.0
std::vector<std::vector<double>> fetch_block_trace
std::vector<std::vector<double>> fetch_iter_trace
Statistic fetch_block_stats
Statistic fetch_iter_stats
Statistic preprocess_stats
Statistic getitem_stats
ComponentTimeMetrics trace_preprocess_metrics
ComponentTimeMetrics trace_fetch_iter_metrics
ComponentTimeMetrics trace_fetch_block_metrics
double trace_rank_variance = 0.0
std::vector<double> trace_per_rank_throughput
std::optional<std::vector<std::vector<double>>> getitem_trace
std::optional<Statistic> io_stats
std::optional<std::vector<double>> io_samples
bool sync_mode = false
int accumulate_grad_batches = 1
bool enable_preprocess_simulation = false
int num_workers = 8
int prefetch_factor = 2
double preprocess_slowdown_factor = 1.0
double base_fetch_iter_overhead = 0.0
bool is_aggregated_trace = false
double avg_calls_per_epoch = 1.0
struct Boundary

Public Members

std::int64_t time
int delta
struct ComponentTimeMetrics

Public Functions

inline double concurrency() const

Public Members

double union_time = 0.0
double accumulated_time = 0.0
std::uint64_t num_samples = 0
Statistic stats
struct DlioTimingBlock

Public Members

BestModel model
double max_bound = 0.0
struct OptimizerOptions

Public Members

int max_iterations = 5
double target_e2e_error = 0.05
double target_cdf_similarity = 0.90
int patience = 10
double epsilon = 1.0
double momentum = 0.9
double min_percentile = 50.0
double initial_percentile = 95.0
std::uint64_t base_seed = 42
struct OptimizerResult

Public Members

BarrierSimulationResult best
double best_percentile = 0.0
int iterations_used = 0
bool converged = false
struct TraceLoaderOptions

Public Members

std::uint64_t max_samples_per_entry = 100
std::uint64_t seed = 0xD15710
struct WorkInterval

Public Members

double start_time
double end_time
double preprocess_duration
class WorkerQueue

Public Functions

inline WorkerQueue(int num_workers, int prefetch_factor)
std::vector<WorkInterval> produce_batches(double current_time, const BatchTimeSampler &sampler)
double consume_batch(double current_time, double base_overhead)
inline std::size_t queue_depth() const
inline bool had_stall() const
inline std::uint64_t stall_count() const