Simulate Edge Computing vs Cloud Computing Performance
Design a simulation framework that compares edge and cloud computing performance for latency-sensitive workloads such as video processing or IoT analytics.Edge computing moves processing closer to the data source, reducing latency and bandwidth costs, while cloud computing offers centralized scalability. Simulating both helps understand when each approach is most efficient for real-time or distributed systems.
Create a simulated network where data from IoT sensors or video feeds is processed in both cloud and edge environments. Measure and compare latency, bandwidth usage, and response time under variable loads and network conditions.
Edge and Cloud Nodes
Set up Docker containers representing edge devices and cloud servers to simulate compute layers.
Data Source Simulation
Stream mock sensor data or video chunks to both edge and cloud processors with adjustable input frequency.
Latency and Throughput Metrics
Log processing delay, upload time, and data volume for each method under different workloads.
Interactive Dashboard
Visualize performance charts and help decide when edge or cloud processing is more efficient.
Use Docker or VMs to simulate edge and cloud environments. Deploy microservices for data ingestion and processing. Track network delay, compute time, and output quality under various load scenarios. Optionally, use message brokers to replicate distributed sensor input.
- Data Generator: Python scripts for sensor or video feed simulation
- Edge Layer: Raspberry Pi, local VM, or container simulating near-device compute
- Cloud Layer: AWS EC2, Azure VM, or containerized cloud node
- Metrics: InfluxDB + Grafana for live visualization of performance stats
- Communication: MQTT, HTTP, or WebSocket for data delivery
Simulation Tools
Docker Compose, Kubernetes (optional), Mininet (for network delay emulation)
Processing Framework
Python (Flask or FastAPI), OpenCV (for video), NumPy for data analytics
Data Streaming
MQTT (Mosquitto), WebSocket, REST API for pushing data to edge/cloud nodes
Monitoring & Charts
InfluxDB, Grafana, or custom React.js dashboard for comparative visualization
1. Set Up Edge and Cloud Containers
Use Docker to simulate devices processing data locally vs cloud compute nodes.
2. Create Input Generators
Build sensor or video data simulators to stream input at real-time rates to both nodes.
3. Process and Benchmark
Log metrics like processing time, response latency, and data size for each environment.
4. Visualize Comparison Metrics
Use Grafana or a React.js frontend to chart results: average latency, throughput, and data drop.
5. Test Under Variable Conditions
Simulate network issues or spike loads to observe how edge and cloud perform differently.
Edge or Cloud? Simulate and Decide.
Understand real-world latency, processing trade-offs, and architecture choices by simulating the strengths and weaknesses of edge and cloud computing.