Skip to content

uw-ssec/zarr-chunk-optimization

v0.1.0MIT

Benchmarking and optimization tools for Zarr chunking strategies on cloud object stores. Measures performance across access patterns and generates recommendations based on Nguyen et al. (2023) methodology.

Zarr Chunk Optimization Plugin

Benchmarks Zarr chunking strategies for multi-dimensional datasets on cloud object stores (S3, GCS). Based on Nguyen et al. (2023) methodology. Measures wall-clock time, peak memory, and I/O metrics across spatial, time-series, and spectral access patterns.

Agents

AgentDescription
benchmarking-agentZarr chunking optimization expert — coordinates benchmarking, synthetic data generation, and rechunking workflows
performance-analystInterprets benchmark results, analyzes trade-offs across access patterns, and generates actionable recommendations

Skills

SkillDescription
chunking-strategyCore benchmarking methodology, cloud storage patterns, and performance interpretation references
synthetic-dataGenerate synthetic Zarr datasets with configurable dimensions, shapes, and compression for controlled benchmarks
rechunkingSafely apply chunking configurations with validation, progress reporting, and rollback safety
access-pattern-analysisIdentify, formalize, and prioritize data access patterns from user workflow descriptions
performance-reportingGenerate structured benchmark reports with comparisons, bias analysis, and ranked recommendations

Commands

CommandDescription
/benchmarkRun chunking benchmarks across access patterns and collect wall-clock time, peak memory, and I/O metrics
/rechunkRechunk a production dataset with validation and safety checks
/tradeoffsAnalyze trade-offs between spatial, temporal, and spectral access performance for a given chunk configuration
/generate-syntheticGenerate a synthetic Zarr dataset for controlled chunking benchmarks
/analyze-performanceAnalyze benchmark results and generate a performance report with ranked recommendations

When to Use

  • Optimizing chunk shapes for Zarr datasets with mixed access patterns
  • Benchmarking chunking configurations before committing to rechunking
  • Analyzing trade-offs between spatial, temporal, and spectral access performance
  • Rechunking production datasets with validation and safety checks
  • Generating synthetic datasets for controlled benchmarking experiments

Out of Scope

  • General-purpose array storage format selection (Zarr vs HDF5 vs NetCDF)
  • Cloud infrastructure provisioning
  • Data pipeline orchestration
  • Compression algorithm selection (focus is on chunk shape, not codec)

Related Plugins

PluginUse For
scientific-domain-applicationsXarray/Zarr data handling and multidimensional scientific data analysis
scientific-python-developmentPackaging, testing, and modern Scientific Python development practices

Research Basis

This plugin implements the benchmarking methodology described in Nguyen et al. (2023), "Optimizing Zarr Chunk Configurations for Cloud-Based Access Patterns." DOI: 10.1109/MCSE.2023.3302524