Introducción - RaulDiazR/Image-Processing GitHub Wiki

Descripción General del Proyecto

Actualmente, se requiere de sistemas de almacenamiento y procesamiento de información que sean confiables, donde la razón costo-beneficio permita a las empresas mantenerse a la vanguardia sin problemas en operación y costo.

Esto ha permitido el surgimiento de varias empresas a nivel mundial que ofrecen servicios de almacenamiento y procesamiento, siendo AWS (Amazon Web Services) la de mayor preponderancia en el mercado. Sin embargo, para ciertas necesidades de empresas que apenas comienzan operaciones o cuyos requerimientos no exigen el estado del arte en servicios básicos, se recomienda hacer uso de recursos locales de cómputo.

Objetivo del Reto

Por este motivo, se plantea realizar un reto en el que un equipo de tres personas diseñe un sistema distribuido constituido por tres computadoras, capaz de procesar y almacenar información.

  • Una de las tres computadoras será definida como el Master.
  • Las otras dos computadoras funcionarán como Esclavos (Slaves).
  • Se definirá una carpeta compartida, desde la cual se obtendrán archivos de imagen en formato .bmp.
  • Las imágenes serán procesadas en paralelo por los tres equipos que conforman el sistema distribuido.

Consideraciones de Tolerancia a Fallos

El sistema distribuido debe contemplar mecanismos de tolerancia a fallos, tales como:

  • Detección de fallas en uno o dos de los esclavos.
  • Reasignación del trabajo entre los equipos que continúen respondiendo al llamado del Master.