multithreading apache-spark multicore

multithreading - ¿SPARK puede usar multicore correctamente?



apache-spark (2)

He leído sobre la chispa y descubrí que la chispa está escrita en scala. Como scala es un lenguaje funcional, como erlang, puede usar multi core correctamente. ¿Es eso correcto?

Me pregunto si puedo usar la chispa en el sistema distribuido que tienen procesadores multinúcleo. ¿Puede una sola tarea usar todos los núcleos al mismo tiempo? He leído que YARN asignará diferentes núcleos en cada tarea diferente, pero en este caso, es una tarea única

Y, ¿es suficiente usar la programación de múltiples hilos en JAVA (hadoop) para usar todos los núcleos en cada computadora? Dado que el programador de Linux se basa en hilos?


No, un solo hilo solo puede ejecutarse en un solo núcleo. Tendrá que usar múltiples hilos o procesos para usar más de un núcleo al mismo tiempo. Recuerde que no todas las tareas pueden ejecutarse asincrónicas en múltiples hilos.


Sí, puede, ya que este es su propósito declarado, dividir y paralelizar lo que es paralelizable. Incluso puede especificar la cantidad de memoria que utilizará cada ejecutor.

Sin embargo, algunas tareas no se pueden paralelizar, por lo que a veces Spark solo ocupa un núcleo.

Si usa la carcasa Spark, asegúrese de configurar la cantidad de núcleos que debe usar, como se dice en la respuesta a esta pregunta. ¿Por qué Spark no usa todos los núcleos de la máquina local?

Fuente: documentos oficiales de Spark https://spark.apache.org/docs/latest/configuration.html