Pregunta

¿Es posible ejecutar Hadoop para que solo use ciclos de CPU de repuesto? Es decir. ¿Sería factible instalar Hadoop en las máquinas de trabajo de la gente para que se puedan hacer cálculos numéricos cuando no están usando sus PC, y no experimentarían una pérdida de rendimiento evidente (dejando a un lado a los fanáticos)?

¿Quizás sea solo un caso de configurar la JVM para que funcione con una prioridad baja y no use la red "demasiado" (suponiendo que tal cosa sea posible en una máquina con Windows)?

Si no, ¿alguien sabe de algún equivalente de Java a cosas como BOINC ?

Editar: Encontré una lista de Infraestructura de aprovechamiento de ciclos aquí . Aunque mi pregunta sobre Hadoop sigue en pie.

¿Fue útil?

Solución

Esto está muy lejos del uso previsto para Hadoop. Hadoop espera que todos sus nodos estén completamente disponibles y conectados en red para un rendimiento óptimo, no algo que se obtiene con las estaciones de trabajo. Además, ni siquiera se ejecuta en Windows (puede usarlo con cygwin, pero no conozco a nadie que lo use para " producción " excepto los equipos cliente que emiten trabajos).

Hadoop hace cosas como almacenar fragmentos de datos en algunos de los nodos, e intenta programar todos los cálculos de esos datos en esos nodos; en un entorno de trabajo compartido, eso significa que una tarea que necesita estos datos querrá ejecutarse en esas tres estaciones de trabajo, independientemente de lo que estén haciendo los usuarios en este momento. En contraste, " ciclo de eliminación " los proyectos conservan toda la información en otro lugar y se envían junto con una tarea a cualquier nodo que esté disponible en un momento dado; esto les permite ser más amables con las máquinas, pero incurre en costos obvios de transferencia de datos.

Otros consejos

¿Quizás Terracotta sea algo más importante para ti?

Enlace del producto de terracota

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top