Azure Functions Trace 2020
Informacje podstawowe
- Nazwa: Azure Functions Invocation Traces 2020
- Alias: Azure Function Trace, Shahrad Trace
- Dziedzina: Cloud Computing, Serverless, FaaS
- Typ: workload trace (invocation logs)
Źródło
- URL: https://github.com/Azure/AzurePublicDataset
- Paper: Shahrad et al., “Serverless in the Wild: Characterizing and Optimizing the Serverless Workload at a Large Cloud Provider,” USENIX ATC 2020
- Organizacja: Microsoft Azure
- Rok: 2020
Charakterystyka
- Rozmiar: 14 dni danych z produkcyjnego klastra Azure Functions (ok. 50 000 funkcji)
- Podział: brak podziału train/test — trace do analizy workloadów
- Format: CSV (per-function stats, per-minute invocation counts)
- Licencja: MIT (Azure Public Dataset)
Opis
Produkcyjny trace wywołań funkcji serverless z platformy Azure Functions, obejmujący 14 dni. Zawiera dane o:
- Arrival time / inter-arrival times (IAT): bardzo heavy-tailed rozkład; zakres 0.01s – 1 dzień
- Execution times: zakres 0.1s – 100s, heavy-tailed
- Memory usage: per-funkcja
- Invocation counts: per-minutowe agregacje dla każdej funkcji
Kluczowe cechy workloadów FaaS: ekstremalna heterogeniczność (funkcje CPU-bound, I/O-bound, memory-bound), short-lived (>99% wykonań < kilka sekund), power-law rozkłady IAT i execution time.
Zastosowania
- Benchmarking systemów FaaS i control planes (Ilúvatar, OpenWhisk)
- Generowanie syntetycznych workloadów do eksperymentów energetycznych
- Walidacja metodologii pomiarów energii dla FaaS
- Analiza efektywności schedulingu serverless
Używany w publikacjach
- rehman-faasmeter-energy-2024 - walidacja FaasMeter: >100 śladów workładów zmapowanych na FunctionBench; IAT 0.01s–1dzień i execution 0.1s–100s jako reprezentatywny zakres
Benchmarki
| Parametr | Wartość |
|---|---|
| IAT zakres | 0.01s – 1 dzień (heavy-tailed) |
| Execution time zakres | 0.1s – 100s (heavy-tailed) |
| Liczba funkcji | ~50 000 |
| Okres obserwacji | 14 dni |
Uwagi
Heavy-tailed rozkłady sprawiają, że JS API workload (krótkie, częste wywołania) jest reprezentatywny dla typowych workloadów FaaS. Trace używany do generowania workloadów testowych — mapowanie na FunctionBench (dd, AES, CNN, json, itp.).