遇见数据集

SWEAT Dataset

收藏
Zenodo2026-05-16 更新2026-05-26 收录
官方服务:

资源简介:

SWEAT Dataset Repository Repository Type: Dataset + PreprocessingPaper: "Workload Classification Across Infrastructures: A Multi-Model Empirical Study" (2026) Overview SWEAT provides a controlled and reproducible dataset of system-level metrics collected from five distinct cloud infrastructures (Infra-A through Infra-E) running standardized benchmark workloads. The dataset enables systematic evaluation of workload classification models under both single-infrastructure and cross-infrastructure settings. In addition, the dataset includes energy consumption measurements, enabling further research beyond classification tasks, such as energy estimation and modeling based on system execution behavior across different workloads and infrastructures. This repository contains: Raw and processed benchmark data from 5 infrastructures Complete preprocessing pipeline with documentation Dataset structure, specifications, and usage guidelines Dataset Statistics: 5 infrastructures: Infra-A through Infra-E (diverse hardware configurations) 35 benchmark configurations per infrastructure (CPU, memory, disk-intensive workloads) 30 independent runs per configuration (statistical robustness) Dataset Construction We selected industry-standard, widely-used benchmark suites known for reliable, reproducible stress testing: sysbench, stress-ng, fio, iozone, phoronix-test-suite, and stream. ID Tool Configuration Purpose cpu-1 sysbench sysbench cpu --cpu-max-prime=99999999 --num-threads=4 run Prime number computation (thread count: 4) cpu-2 stress-ng stress-ng --cpu 1 --cpu-method pi --timestamp -t 5m Pi digit computation (1 CPU, 5 min) cpu-3 stress-ng stress-ng --cpu 1 --cpu-method rand --timestamp -t 5m Random number generation (1 CPU) cpu-4 stress-ng stress-ng --cpu 1 --cpu-method queens --timestamp -t 5m N-queens solver (1 CPU) cpu-5 stress-ng stress-ng --cpu 1 --cpu-method fibonacci --timestamp -t 5m Fibonacci computation (1 CPU) cpu-6 stress-ng stress-ng --cpu 1 --cpu-method prime --timestamp -t 5m Prime checking (1 CPU) cpu-7 sysbench sysbench cpu --cpu-max-prime=99999999 --num-threads=8 run Prime number computation (thread count: 8) cpu-8 sysbench sysbench cpu --cpu-max-prime=99999999 --num-threads=2 run Prime number computation (thread count: 2) cpu-9 stress-ng stress-ng --cpu 4 --cpu-method queens --timestamp -t 5m N-queens solver (4 CPUs) cpu-10 stress-ng stress-ng --cpu 4 --cpu-method fibonacci --timestamp -t 5m Fibonacci computation (4 CPUs) cpu-11 stress-ng stress-ng --cpu 6 --cpu-method rand --timestamp -t 5m Random number generation (6 CPUs) cpu-12 stress-ng stress-ng --cpu 4 --cpu-method prime --timestamp -t 5m Prime checking (4 CPUs) cpu-13 stress-ng stress-ng --cpu 4 --cpu-method pi --timestamp -t 5m Pi digit computation (4 CPUs) cpu-14 phoronix phoronix-test-suite batch-run benchmark n-queens N-queens (standardized benchmark) cpu-15 phoronix phoronix-test-suite batch-run benchmark m-queens M-queens variant cpu-16 phoronix phoronix-test-suite batch-run benchmark compress-7zip 7-zip compression (CPU-bound) cpu-17 stress-ng stress-ng --cpu 4 --cpu-method hanoi --timestamp -t 5m Tower of Hanoi solver (4 CPUs) cpu-18 stress-ng stress-ng --cpu 1 --cpu-method hanoi --timestamp -t 5m Tower of Hanoi solver (1 CPU) cpu-19 stress-ng stress-ng --cpu 1 --cpu-method hamming --timestamp -t 5m Hamming distance computation (1 CPU) cpu-20 stress-ng stress-ng --cpu 4 --cpu-method hamming --timestamp -t 5m Hamming distance computation (4 CPUs) mem-1 stream STREAM benchmark (200M elements, NTIMES=50, OpenMP) STREAM memory bandwidth mem-2 sysbench sysbench memory --threads=4 --memory-block-size=1K --memory-total-size=5T Memory access workload mem-3 sysbench sysbench memory --threads=4 --memory-block-size=1K --memory-oper=read Memory read-only workload mem-4 stream STREAM benchmark (300M elements, NTIMES=100, OpenMP) STREAM memory bandwidth mem-5 phoronix phoronix-test-suite batch-run benchmark tinymembench Memory benchmark disk-1 iozone iozone -az -i0 -i1 -s 5G Sequential read/write (5GB file) disk-2 fio fio --name=seqwrite --rw=write --bs=1K --size=1G --numjobs=16 Sequential write (1K block) disk-3 fio fio --name=seqread --rw=read --bs=1K --size=1G --numjobs=16 Sequential read (1K block) disk-4 fio fio --name=mixrw --rw=randrw --rwmixread=50 --bs=1K --size=1G Mixed random R/W (1K block) disk-5 iozone iozone -az -i0 -i2 -s 5G Sequential + random access disk-6 fio fio --name=mixrw --rw=randrw --rwmixread=50 --bs=4K --size=1G Mixed random R/W (4K block) disk-7 fio fio --name=seqwrite --rw=write --bs=4K --size=1G --numjobs=16 Sequential write (4K block) disk-8 fio fio --name=seqread --rw=read --bs=4K --size=1G --numjobs=16 Sequential read (4K block) disk-9 phoronix compilebench Compile (I/O-heavy) benchmark disk-10 phoronix aio-stress Asynchronous I/O stress Infrastructure Environments ID Platform Site Cluster Node/Partition Scheduler Processor Cores Threads Memory Infra-A Grid5000 Nancy gros Full node OAR Intel Xeon Gold 5220 (Cascade Lake-SP), 2.20 GHz 18 × 1 = 18 36 96 GiB Infra-B Grid5000 Lille chirop Full node OAR Intel Xeon Platinum 8358 (Ice Lake-SP), 2.60 GHz 32 × 2 = 64 128 512 GiB Infra-C Grid5000 Lyon taurus Full node OAR Intel Xeon E5-2630 (Sandy Bridge), 2.30 GHz 6 × 2 = 12 24 32 GiB Infra-D UPPA --- Pyrene Full node (---) Slurm Intel Xeon Gold 6326, 2.90 GHz 16 × 2 = 32 64 256 GiB Infra-E Local --- --- Lab server (direct) None Intel Core i3-6100, 3.70 GHz 2 × 1 = 2 4 8 GiB Dataset Structure SWEAT/ ├── raw_data/ # Unprocessed data as collected │ ├── Infra-A/ │ │ ├── cpu-1/ │ │ │ ├── cpu-1_run_01.csv │ │ │ ├── cpu-1_run_02.csv │ │ │ └── ... (30 runs per configuration) │ │ ├── cpu-2/ │ │ ├── disk-1/ │ │ ├── memory-1/ │ │ └── ... (other configurations) │ ├── Infra-B/ │ ├── Infra-C/ │ ├── Infra-D/ │ └── Infra-E/ │ (identical structure for each infrastructure) │ ├── preprocessed_data/ # Preprocessed and aligned data │ ├── Infra-A/ │ │ ├── cpu-1/ │ │ │ ├── cpu-1_run_01.csv │ │ │ └── ... (preprocessed versions) │ │ └── ... │ ├── ... (Infra-B through Infra-E with identical structure) │ └── Infra-E/ │ ├── scripts/ │ ├── preprocess_time_series.py # Main preprocessing script │ └── README.md # Detailed preprocessing instructions │ └── README.md # This file Hierarchical Organization Data is organized across two primary dimensions: 1. Infrastructure Environment Data is partitioned by infrastructure (Infra-A through Infra-E), each representing a distinct environment with different hardware specifications. 2. Benchmark Configuration Within each infrastructure, data is organized by benchmark configuration type: CPU-intensive workloads (e.g., cpu-1, cpu-2) Memory-intensive workloads (e.g., memory-1, memory-2) Disk I/O intensive workloads (e.g., disk-1, disk-2) Each configuration directory contains exactly 30 CSV files, one per independent execution: cpu-1_run_01.csv through cpu-1_run_30.csv memory-2_run_01.csv through memory-2_run_30.csv ... and so on Each CSV file contains timestamped rows of system-level metrics collected during a single benchmark run. Dataset Versions Raw Dataset (raw_data/) Purpose: Unprocessed CSV files exactly as collected during benchmark execution. Contents: All original per-thread CPU columns (one column per CPU core) All system metrics at native irregular sampling rate Unprocessed metric names and units as reported by monitoring tools No aggregation, alignment, or cleaning applied Use Case: Recommended for researchers who wish to: Apply alternative preprocessing strategies Study raw monitoring signals and distributions directly Implement custom aggregation or feature extraction methods Validate preprocessing assumptions Conduct infrastructure-specific signal analysis Processed Dataset (preprocessed_data/) Purpose: Cleaned, aligned, and standardized data ready for machine learning and statistical analysis. Contents: Harmonized metrics across all infrastructures (common metric names) Regular temporal alignment (default: 1-second intervals) CPU aggregation (single CPU utilization column) Missing value handling using forward/backward-fill for instantaneous metrics or linear interpolation Window augmentation for short files and incomplete last window Final feature set of the SWEAT dataset after preprocessed: Feature Description Unit cpu_mean Mean CPU thread utilization Percentage (%) cpu_max Maximum CPU thread utilization Percentage (%) cpu_min Minimum CPU thread utilization Percentage (%) cpu_std Standard deviation of CPU thread utilization Percentage (%) cpu_median Median CPU thread utilization Percentage (%) cpu_frequency_ghz CPU clock frequency Gigahertz (GHz) memory_util_gb Memory utilization Gigabytes (GB) energy_util_during_interval_j Energy consumed per 1 s interval Joules (J) sda_write_count_during_interval Disk write operations per 1 s interval Operations (ops) sda_read_count_during_interval Disk read operations per 1 s interval Operations (ops) Data Preprocessing The complete preprocessing pipeline is implemented in scripts/preprocess_time_series.py. Preprocessing Steps Data Loading and Validation Each CSV file is loaded individually. Empty or malformed files are skipped automatically. Timestamp Conversion The Timestamp column is converted to datetime format and used as the dataframe index for time-based resampling. Unit Normalization Memory usage is converted from KB to GB. Energy consumption is converted from microjoules to joules. CPU frequency is converted from MHz to GHz. CPU Statistical Aggregation Per-core CPU utilization columns (CpuX_usage) are aggregated to compute: cpu_mean cpu_max cpu_min cpu_std cpu_median Temporal Downsampling All signals are resampled to fixed 1-second intervals. Mean-based metrics use aggregation functions such as mean or median. Event-based metrics (energy, reads, writes) are summed over each interval. Missing Value Handling Continuous utilization metrics are completed using forward/backward filling. Short gaps in cumulative metrics are linearly interpolated (up to 3 seconds). Sequence Length Standardization Files shorter than the target window length are padded using Gaussian noise augmentation based on each feature’s standard deviation. Remaining trailing segments from long files are similarly padded to preserve the final sliding window. Feature Renaming Columns are renamed to standardized feature names for consistency across infrastructures and experiments. Changelog Version 1.0 (May 2026) Initial public release 5 infrastructures, 35 configurations each, 30 runs Raw and processed versions Complete preprocessing pipeline Last Updated: May 2026Current Version: 1.0

提供机构:
Zenodo
创建时间:
2026-05-14
二维码
社区交流群
二维码
科研交流群
商业服务