我们应该如何 select 磁盘框架中的块大小?

How should we select the chunk size in disk frame?

我正在使用磁盘框架,​​到目前为止它很棒。

让我感到困惑的一点是块大小。我感觉到一小块可能会创建太多任务,而磁盘框架可能会耗尽管理这些任务的时间。另一方面,大块对于工作人员来说可能过于昂贵,从而降低了并行性带来的性能优势。

我们可以使用哪些信息来更好地猜测块大小?

这是一个棘手的问题,我可能需要更好的工具。

目前,一切都在猜测的基础上。但我已经就此进行了介绍,我会尽快将其纳入文档。

理想情况下,你想要

使用的 RAM = 工人数 * 每个块的 RAM 使用量

因此,如果您有 6 个工作人员(6 个 CPU 核心的理想选择),那么与拥有 4 个(工作人员)但总 RAM 相同的人相比,您需要更小的块。

难点在于估算“每个块的 RAM 使用量”,这对于不同的操作(如合并、排序和纯过滤)是不同的!

这是一个普遍难以解决的问题!所以暂时没有好的解决办法。