I have a Apache Spark 1.6.1 standalone cluster set on a single machine with the following specifications:
CPU: Core i7-4790 (# of cores: 4, # of threads: 8)
RAM: 16GB
If I have the following configuration:
SPARK_WORKER_INSTANCES = 1
SPARK_WORKER_CORES = 3
SPARK_WORKER_MEMORY = 14GB
My questions are:
(A) Is my job using:
- 3 physical cores for the workers, 1 physical core for the driver: 4 physical cores in total?
- 2 physical cores and 1 vcore for the workers, 1 physical core for the driver: 3 physical cores in total?
- 2 physical cores and 1 vcore for the workers, 1 vcore for the driver: 2 physical in total?
- Any other combination of allocated vcores and physical ones?
(B) Is there a way to set Spark to utilise first only physical cores and If I require more than physical ones, only then, use vcores?
(C) Is there a way to know whether is Spark using physical or vcores?
(D) Is there an official place where I can find information about Spark's behaviour with regards to physical and virtual cores?
Thanks a lot.