metodos clustering algoritmos agrupamiento scala graph parallel-processing distributed scala-collections

scala - metodos - algoritmos de agrupamiento clustering



¿Distribuir Scala sobre un clúster? (2)

Así que recientemente comencé a aprender Scala y he estado usando gráficos como una especie de proyecto para mejorar mi Scala, y está yendo bien. Desde entonces logré paralelizar fácilmente algunos algoritmos de gráficos (que se benefician de la paralelización de datos) cortesía del sorprendente soporte de Scala 2.9 para colecciones paralelas.

Sin embargo, quiero llevar esto un paso más allá y tenerlo en paralelo no solo en una sola máquina sino en varias. ¿Scala ofrece alguna manera limpia de hacer esto como lo hace con colecciones paralelas, o tendré que esperar hasta llegar al capítulo de mi libro sobre Actores / aprender más sobre Akka?

¡Gracias! -struct


Puede usar Akka ( http://akka.io ): siempre ha sido el marco de actor y concurrencia más avanzado y potente para Scala, y la versión 2.0 recién horneada permite una interacción agradable entre actores , jerarquías y supervisión . La forma canónica de hacer cómputos paralelos es crear tantos actores como partes paralelas en su algoritmo, opcionalmente difundirlos en varias máquinas, enviarles datos para procesarlos y luego recopilar los resultados (ver aquí ).


Hubo un intento de crear colecciones distribuidas (actualmente el proyecto está congelado).

Las alternativas serían Akka (que recientemente recibió una adición genial: Akka Cluster ), que ya mencionó, o los motores de clúster de pleno derecho, que no son colecciones paralelas en ningún sentido y más bien distribuyen clúster en la scala, pero podrían usarse en su tarea de alguna manera, como Scoobi para Hadoop, Storm o incluso Spark (específicamente, Bagel para el procesamiento de gráficos). También hay Swarm que se construyó encima de continuaciones delimitadas. Por último pero no menos importante es Menthor : los autores afirman que es especialmente adecuado para el procesamiento de gráficos y hace uso de Actores.

Ya que intenta trabajar con gráficos, también puede considerar mirar Cassovary, que recientemente fue abierto por Twitter.

Signal-collect es un marco para el procesamiento paralelo de datos respaldado con Akka.