Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Distributed E-commerce Process Scheduler (EDF + Aging)

A high-performance, multithreaded C++ simulation designed to handle e-commerce transaction requests (Payments, Checkouts, Browsing) using Service Level Objectives (SLO).

🚀 Key Features

  • Real-time Scheduling logic: Implements Earliest Deadline First (EDF) combined with an Aging Algorithm to prevent low-priority task starvation.
  • Thread-Safe Architecture: Uses std::mutex and std::condition_variable to manage a shared request queue across simulated distributed nodes.
  • Service Level Objectives (SLO): Dynamic priority calculation based on transaction type (e.g., Payment > Checkout > Browse).
  • Modern C++ Design: Built with C++17, following industry-standard directory structures and CMake build systems.

🏗️ System Architecture

The system follows a Producer-Consumer pattern across decoupled modules:

  1. Workload Generator: Simulates high-traffic bursts of e-commerce transactions.
  2. Thread-Safe Queue: A synchronized buffer that prevents race conditions between incoming requests and the scheduler.
  3. SLO Scheduler: The "Brain" that calculates urgency scores using: $$Urgency = \frac{1}{Slack} + (Aging_Factor \times Wait_Time)$$
  4. Worker Pool: Simulated distributed nodes with specific resource capacities and priorities.

📁 Project Structure

├── include/           # Header files (.hpp) - Interfaces & Data Structures
├── src/               # Implementation files (.cpp) - Core Logic
├── CMakeLists.txt     # Cross-platform build configuration
└── README.md          # Project documentation

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages