This repo contains source code and other artifacts related to the paper WASL: Harmonizing Uncoordinated Adaptive Modules in Multi-Tenant Cloud Systems. WASL is a rate-adaptation based technique for runtime cross-layer coordination in multi-tenant clouds to mitigate performance interference arising due to multiple colocated adaptive applications.
DOI Reference: Zenodo
TailBench applications have been used for evaluation.
Tailbench details are here.
TailBench : Updates to standard TailBench suite used for experiments
Bare-metal hardware resources are needed for Energy Monitoring and CPU Frequency Scaling for this system.
Could VMs are often not bare-metal instances; those will not work for this system.
Many Intel processors have active mode enabled by default for intel_pstate driver.
For managing CPU frequencies in this work, passive mode is needed; hardware managed P_State (HWP) support has to be disabled.
echo "passive" > /sys/devices/system/cpu/intel_pstate/status
Further information about CPU performance scaling driver can be referenced here.
Please review the setup instructions available here carefully.
/ : Overall Runtime System
|-- apto-tailbench-apps : Wrapper/Profiler for Application/System
|-- apto-tailbench-apps/scripts : Helper scripts for profiling/parsing
|-- apto : Processing and Activation,
coordination with the Adaptation Module
|-- OptimizingController : Adaptation Module (local)
|-- PoleAdaptation : WASL-based Multi-Module Adaptation (global)
|-- SetUp.md : Readme about the setup of the overall system
|-- Plots : Scripts related to some results
|-- Infra : Experimented Set-up on an AWS instanceEach folder has its own Readme file.
The following paper can be cited:
@inproceedings{DBLP:conf/icpe/Pervaiz26,
author = {Ahsan Pervaiz, Anwesha Das, Vedant Kodagi,
Muhammad Husni Santriaji, Henry Hoffmann},
title = {WASL: Harmonizing Uncoordinated Adaptive Modules
in Multi-Tenant Cloud Systems},
booktitle = {International Conference on Performance Engineering, {ICPE}},
publisher = {{ACM/SPEC}},
year = {2026}
}
The following updates and fixes have been made based on reviewer-feedback.
- Fixed version typo.
- Updated the documentation to build
energymon - Replaced hardcoded binary paths to environment variables
- Updated log file creation to overwrite existing files
- Fixed window-wide energy and power logging
- Added initial scripts for automated deployment.
The reviewer's fork has been referenced for making some of these updates.