Programación distribuida de alto nivel basada en procesos independientes.

  • Facilidad de desarollo
  • Programación asíncronica
  • Unidades independientes
Acerca del proyecto

YAPP (Yet Another Parallel Python - Simplemente Otro Python Paralelo) es un framework minimalista de programación distribuida asíncrona en Python. YAPP simplifica la programación distribuida abstrayendo las comunicaciones hasta unos conceptos de alto nivel, que nos permiten simplificar los procesos mediante:

  • Servidor: Máquina central que controla la cola de trabajos y se encarga de despacharlos a los clientes registrados.
  • Trabajos: Datos a procesar que circulan por el sistema. Están identificados por su tipo y contienen además de sus datos propios, información de trazabilidad que permite determinar el progreso que ha sufrido desde que entró al sistema.
  • Agentes: Unidades de proceso asociadas a un tipo de trabajo. Reciben un trabajo y devuelven una lista de ellos. Este comportamiento permite dividir el procesamiento a la vez que producir un flujo de trabajo determinado por los tipos de los trabajos devueltos. Son unidades atómicas, independientes y especializadas.
  • Clientes: Máquinas que albergan a los agentes y que componen la granja de computación.

Además de las facilidades a nivel de desarrollo, YAPP simplifica la administración de la granja de computadoras, automatizando las tareas de configuración, instalación y despliegue de nuevos clientes y manteniendo la configuración del sistema en un único fichero albergado en el servidor central.