-
Notifications
You must be signed in to change notification settings - Fork 5
feat(csharp): add StragglerDownloadDetector for identifying slow downloads #39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: stack/straggler-metrics
Are you sure you want to change the base?
Conversation
…loads - Implement core detection algorithm using median throughput analysis - Configurable multiplier (default 1.5x slower than median) - Minimum completion quantile (default 60%) - Straggler padding grace period (default 5 seconds) - Sequential fallback threshold tracking - Duplicate detection prevention via tracking dictionary - Add comprehensive unit tests for parameter validation, median calculation, and edge cases Builds on: stack/straggler-metrics
| /// <param name="stragglerDetectionPadding">Extra buffer time before declaring a download as a straggler.</param> | ||
| /// <param name="maxStragglersBeforeFallback">Maximum stragglers before triggering sequential fallback.</param> | ||
| public StragglerDownloadDetector( | ||
| double stragglerThroughputMultiplier, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we use a struggler download config object?
| /// <param name="alreadyCounted">Dictionary to track already counted stragglers (prevents duplicate counting).</param> | ||
| /// <returns>Collection of file offsets identified as stragglers.</returns> | ||
| public IEnumerable<long> IdentifyStragglerDownloads( | ||
| IReadOnlyList<FileDownloadMetrics> allDownloadMetrics, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we make these 2 list part of the detector?
| @@ -0,0 +1,219 @@ | |||
| /* | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
add tracing
🥞 Stacked PR
Use this link to review incremental changes.
Summary
Implements core straggler detection algorithm that analyzes download metrics and identifies abnormally slow downloads using median throughput-based analysis.
Detection Algorithm:
Key Changes:
StragglerDownloadDetectorclass implementation