Papio

Tuberías paralelas para Python
Descargar ahora

Papio Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • GPL v3
  • Precio:
  • FREE
  • Nombre del editor:
  • Marcin Cieslik
  • Sitio web del editor:
  • http://muralab.org/

Papio Etiquetas


Papio Descripción

Tuberías paralelas para Python Papy es un marco de Python para construir y ejecutar tuberías (gráficos de flujo) de tareas arbitrarias en paralelo, ya sea localmente utilizando multiprocesamiento o multiproceso o de forma remota utilizando RPC (llamadas de procedimiento remoto) según lo proporcionado por RPYC (llamada de Python remota). La tubería está representada como un gráfico acíclico dirigido arbitrario. El usuario tiene que definir funciones de los nodos (llamados gaiteros) y los bordes (llamados tubos), que representan flujo de datos o dependencia. Las instancias de Piper se asignan a los recursos virtuales (llamados IMAPS) que son técnicamente grupos de procesos o hilos locales y / o remotos. IMAP son similares al método de IMAP Multiprocessing.Pool, pero admite múltiples tareas, es decir, las tuplas (función, iterables), que están entrelazadas en lugar de ser evaluadas una tras otra. Un ejemplo de una función de Piper válida (identifica el host, el proceso y el propio proceso) : @Imports (], ], ]]) DEF HID (I): devolver "El artículo% s está en el host:% s Usando el proceso:% s, y función:% s "% (i , socket.gethostname (), os.getpid (), id (hid)) crea una instancia de IMAP, que utiliza 4 procesos: local_pool = imap ( trabajador_num = 4) Crea una instancia de IMAP, que utiliza 4 hilos: local_thread_pool = imap (trabajador_type = 'hilo', trabajador_num = 4) Crea una instancia de IMAP, que utiliza 8 procesos remotos en 2 hosts.remote_pool = imap (trabajador_num = 0, trabajador_remote = , , 4]]) El trabajador_num = 0 anula el valor predeterminado de la creación de procesos de trabajadores locales en el número de CPU disponibles. Los hosts remotos ('host1' y 'host2') deben ejecutar un servidor de RPYC Classic en modo de bifurcación, es decir: Python Classic_Server.py -M 'Forking' La entrada a la tubería debe ser una colección y los datos de procesos de papy en la tubería en lotes de tamaño ajustable que permite un paralelo (consumo de memoria) vs perezosos (resultados inmediatos). Tapeo es flexible: * La topología del gráfico no está restringida * El código de función de usuario no está restringido * El número de entradas no está restringido * El número de IMAPS no está restringido. * El número de procesos / hilos usados ​​no está restringido * Los gaiteros se pueden asignar a IMAPS arbitrariamente * Los imaps se pueden compartir (equilibrio de carga) * Memoria-paralelismo-la pertenencia El intercambio es ajustable * Los hosts de la plataforma cruzada son compatibles aquí son algunas teclas Características de "Papy": · Construcción de tuberías arbitrariamente complejas. · Paralelismo local y remoto flexible. · Recursos locales y remotos compartidos. · Robustez a excepciones. · Soporte para los tiempos de espera · Registro en tiempo real · Independiente del sistema operativo (realmente una característica de multiprocesamiento) · Cross-Platform (realmente una característica de RPYC) · Probado y documentado. Requisitos: · Python


Papio Software relacionado

Letrero

Un reemplazo para setuptOols que se basa en la parte superior y agrega funciones adicionales. ...

232

Descargar