Skip to content

The ThermoLoad algorithm assigns a composite score to each server based on four key parameters: normalized tem- perature (T ), normalized active load (L), normalized response time (R), and normalized server weight (W ).

Notifications You must be signed in to change notification settings

Prince-GH/ThermoLoad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 

Repository files navigation

ThermoLoad: A Multi-Criteria Load Balancing Algorithm for Sustainable and Carbon-Efficient Data Centers

๐Ÿ“˜ Overview

ThermoLoad is a novel load balancing algorithm designed to optimize server workload distribution based on multiple performance and environmental metricsโ€”primarily server temperature, CPU usage, response time, and hardware weight.

Unlike traditional algorithms (e.g., Round Robin, Least Connection), ThermoLoad is thermally aware and multi-metric, aiming to enhance data center sustainability by minimizing hotspots, reducing response time, and improving energy efficiency.

This repository includes:

  • โœ… Implementation of ThermoLoad and five benchmark algorithms
  • ๐Ÿงช A simulated test environment using realistic server conditions
  • ๐Ÿ“Š Plots and comparison metrics
  • ๐Ÿ“„ LaTeX source for the research paper (optional)

๐Ÿง  Core Idea

Traditional load balancers ignore real-time server thermals and dynamic performance states. ThermoLoad addresses this gap using a weighted scoring formula:

$$\text{Score} = \alpha \cdot T + \beta \cdot C + \gamma \cdot R + \delta \cdot W$$

Where:

  • T = Normalized temperature (0 to 1)
  • C = Normalized active connections
  • R = Normalized response time
  • W = Normalized server weight (higher = better)
  • ฮฑ, ฮฒ, ฮณ, ฮด = Weighting coefficients for each factor

The server with the lowest score is selected to handle incoming requests, ensuring performance and thermal stability.

โš™๏ธ Experimental Setup

  • Language: Python 3.11
  • Packages Used: numpy, pandas, matplotlib, random

System Configuration

  • CPU: Intel Core i7-12700H @ 2.30GHz
  • RAM: 32 GB
  • OS: Ubuntu 22.04 LTS

Server Simulation

Parameter Range
Virtual Servers 6
CPU Frequencies 2.2 โ€“ 3.4 GHz
Temperatures 32ยฐC โ€“ 61ยฐC
Active Connections 20 โ€“ 200
Response Times 15 ms โ€“ 150 ms
Server Weights 1 โ€“ 5

Workloads Emulated

  • CPU-bound (40%)
  • Memory-bound (30%)
  • I/O-heavy (30%)

๐Ÿงช How to Run the Code

Install Dependencies

pip install numpy pandas matplotlib

๐Ÿ“š Cited Works and Influences

This project builds upon and extends ideas from notable works, including:

  • Hassel, W.J. โ€” Carbon cost of cooling AI data centers (2023)
  • Singhal, A. โ€” AI-enhanced load balancing (2023)
  • Fan, X. โ€” Power provisioning in warehouse-scale data centers (2007)
  • Ifflรคnder, L. โ€” Heat-aware routing models (2022)

See the research paper in the /report directory for full citations.


๐Ÿ“œ License

This project is intended for academic and research use only.
Please cite the associated paper if used in publications.


๐Ÿค Acknowledgments

Special thanks to the open-source community and the authors of prior work in:

  • ๐Ÿ”ฅ Thermal-aware computing
  • โ˜๏ธ Cloud performance optimization
  • ๐ŸŒฑ Sustainable server architecture

About

The ThermoLoad algorithm assigns a composite score to each server based on four key parameters: normalized tem- perature (T ), normalized active load (L), normalized response time (R), and normalized server weight (W ).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages