2011-05-18 12 views
6

he pasado algún tiempo en Google en busca de un paquete equilibrado de colas/carga para R.gestión de colas/carga de trabajo trabajo trabajo

Lo que estoy tratando de lograr:

  • ejecutar múltiples independiente de eachother R funciones de frente remoto termina
  • aprovechando 2 servidores de doble núcleo como R backend

Sabiendo que:

  • cada uno funciones se procesan generalmente en 10 a 30 segundos
  • cada 5 min en promedio (pero puede al mismo tiempo) un conjunto de 8-15 funciones a ser ejecutadas está siendo enviado al backend (en cola para el procesamiento: primero en entrar primero en salir). El 5 min es un promedio, varios conjuntos pueden enviarse al mismo tiempo
  • la instancia de 2x2 R ya estaría ejecutándose, con los paquetes requeridos cargados, son siempre los mismos, por lo que no es necesario volver a cargarlos todo el tiempo
  • cantidad de entrada de datos que se transfiere es muy bajo: 50k máximo

no hay ningún código paralelización tema aquí (nieve, foreach nevadas, las soluciones de clúster traditionnal cóndor y otros)

¿Quieres que conocer un buen paquete/herramienta diseñada para R que podría ayudar?

¡Muchas gracias!

+1

No tengo conocimiento de que exista algo. Como punto de partida, buscaría algo como Redis + el paquete doRedis. Resque es un gestor de colas de ruby ​​popular creado en Redis (https://github.com/defunkt/resque). – Noah

+0

Hola Noah, gracias por tu respuesta. Por lo que entendí, redis es una base de datos a la que puede acceder otro cliente que R, pero ¿cuál es la ventaja en comparación con MySQL con cómputo no paralelo? – Sam

Respuesta

2

Esto suena como un contexto razonable para usar RApache, que puede crear instancias de varias instancias R y paquetes necesarios.