hat*_*oor 6 java multithreading memory-management apache-spark
我正在观看有关火花内存管理的演示文稿。
他谈到了他们如何在一个执行器中实现不同任务之间的公平性(12:00)。他提出了任务之间动态分配的想法,并宣称如果更多任务开始执行,Spark 会将其他任务的页面溢出到磁盘。
我之前读过 Spark 中的任务本质上是线程,而在 Java 中,我们没有这种能力来管理线程的内存并在它们之间建立内存公平性。我想知道 Spark 是如何实现这一目标的?
我不确定公平是否有效。
这是关于执行器内存的优秀读物,每个执行器分配超过 1 个核心https://www.davidmcginnis.net/post/spark-job-optimization-myth-5-increasing-executor-cores-is-always-a-好主意,这与溢出到磁盘无关。
如果溢出到磁盘对于可用内存来说太大。此外,分区可以被完全驱逐,从而导致重新计算(从上一个检查点开始)。
我所经历的范式与本文类似,因为我们用单个核心运行了更多执行器。Spark 的默认值确实也是 1,我认为这是供应商经过深思熟虑的默认值。
| 归档时间: |
|
| 查看次数: |
293 次 |
| 最近记录: |