Skip to content

Latest commit

 

History

History
21 lines (20 loc) · 1.95 KB

File metadata and controls

21 lines (20 loc) · 1.95 KB

Overview:
This project aims to develop a distributed image processing system using cloud computing technologies. The system will be implemented in Python, leveraging cloud-based virtual machines for distributed computing. The application will use OpenCL or MPI for parallel processing of image data. Features and Specifications:
• Distributed Processing: The system should be able to distribute image processing tasks across multiple virtual machines in the cloud.
• Image Processing Algorithms: Implement various image processing algorithms such as filtering, edge detection, and color manipulation.
• Scalability: The system should be scalable, allowing for the addition of more virtual machines as the workload increases.
• Fault Tolerance: The system should be resilient to failures, with the ability to reassign tasks from failed nodes to operational ones.

system design

image
The system implements fault tolerance through a distributed architecture. Initially, four slave nodes operate under the control of a master node. In the event of a slave node failure, the master node seamlessly redirects processing to the remaining functional slaves. This process continues even if additional slave node failures occur, ensuring uninterrupted operation as long as at least two slaves remain available. If all slave nodes become unavailable, a backup slave is automatically detected by the master node, allowing image processing to resume.
We use in this project many AWS services like cloud watch and SNS to monitor the CPU usage of the instances
image
image

special credits to:
Hassan Eltobgy, Zeina Hesham ,Mariam Diaa