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

ParametrWartość
IAT zakres0.01s – 1 dzień (heavy-tailed)
Execution time zakres0.1s – 100s (heavy-tailed)
Liczba funkcji~50 000
Okres obserwacji14 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.).

dataset serverless faas workload-trace