Skip to content

RaoXdev/Distributed-System-Simulation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Distributed-System-Simulation

A Python-based simulation of a distributed system using asynchronous programming with asyncio. The system simulates task assignments and worker specialization, with the inclusion of network delays, message queues, and task monitoring.

Features Asynchronous Task Assignment: Tasks are dynamically assigned to workers based on their specialization.

Worker Specialization: Workers are specialized to handle specific types of tasks (e.g., Type-1, Type-2, Type-3).

Network Simulation: Introduces random network delays to simulate real-world latency.

Task Monitoring: Monitors the completion of tasks and logs the results.

Real-Time Output: Uses the rich library to display real-time interactive outputs during task processing.

Logging: All task completions are logged to a file for further analysis.

Distributed-System-Simulation/ ├── network/ # Network-related modules for message passing ├── nodes/ # Contains classes for the Manager and Workers ├── test/ # Test cases for the simulation ├── main.py # Main entry point for the simulation ├── requirements.txt # Python dependencies └── README.md # Project documentation

This project requires Python 3.7+ and the following dependencies: asyncio: For asynchronous programming rich: For colorful and interactive terminal output.

You can install the required dependencies using pip: pip install -r requirements.txt

Install the dependencies: pip install -r requirements.txt

To run the simulation, execute the main.py script: python main.py

About

Simulate Master & Slave Nodes working in a Distributed System Siumlation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages