Como a interface do usuário da web calcula a memória de armazenamento (na guia Executors)?

Estou tentando entender como o Spark 2.1.0 aloca memória nos nós.

Suponha que eu esteja iniciando um PySpark REPL local, atribuindo 2 GB de memória:

$ pyspark --conf spark.driver.memory=2g

A interface do usuário do Spark informa que existem956,6 MB alocado para memória de armazenamento:

Eu não entendo como chegar a esse número, este é o meu processo de pensamento:

O tamanho da pilha do driver está definido como2048 MB,De acordo comdocs: (2048 MB - 300 MB) * 0.6 = 1048.8 MB são usados para as regiões de execução e armazenamento (unificado),Além disso1048.8 MB * 0.5 = 524.4 MB na região unificada deve ser reservado comoregião de armazenamento imune

Então, como foi realmente calculado o valor 956,6 MB no Spark?

questionAnswers(1)

yourAnswerToTheQuestion