Skip to content

multifacet/locks-access-traces

Repository files navigation

Performance and Kernel Lock Access Data 🗃️

This repository contains performance and kernel lock access data for a set of workloads across four platforms: host, runc, runsc (in KVM mode), and fc (Firecracker).

We collect this data by disabling hyperthreading and enabling CAT (Cache Allocation Technology). Each workload instance is pinned to a core with a separate Class of Service (CoS) to minimize interference from other sources, such as shared resource allocation. Our goal is to study and analyze system-level interference that arises from shared access to kernel objects.


Performance Data ⚡️

For each workload, the performance data represents the performance of a worker under stress induced by launching trashers (stressors targeting specific subsystems). The goal is to analyze performance degradation under stress compared to a baseline.

This data is located under the /perf directory for each workload.

  • Baseline: Measured by running the workload alone for 10 minutes and averaging the result.
  • Interference: Measured by observing the worker's performance while one or more trashers are active.

Lock Access Data 🔒

Lock access data is collected by running two instances of the same or different workload for a fixed duration, using an eBPF-based dynamic tracer to record kernel lock activity.


Workloads 🏋️‍♀️

We collect both performance and lock access data for the following workloads:

Microbenchmarks 🔬

Serverless Functions ⚙️

Cloud Workloads ☁️

Directory Structure 📂

All data is located under the ubuntu22 directory. Each platform has its own subdirectory under this folder. Workload-specific details will be added soon.

Note: ubuntu20 contains older data collected on Ubuntu 20.04, which is not used in the current analysis.


Data Usage 📈

TBA – guidelines or sample usage scripts can be added here.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors