我们可以将延迟和吞吐量与并行关联

时间:2016-12-19 07:21:59

标签: java performance concurrency parallel-processing

我发现了许多关于Latency vs Throughput的博客和答案。但它们都没有与并行性相关联。 我想知道为什么我们不能将它们联系起来如下,

如果与延迟相比吞吐量更大,则应该涉及并行性。 ( 在批处理时假设nil优化

例如。 10ms延迟和1000 tps意味着tps有所增加(因为10ms延迟意味着100tps),因此多线程或并行性的参与很可能在CPU级别。如果批量处理多个事务时没有优化。

另外, 有哪些因素会增加吞吐量而不是延迟。?

2 个答案:

答案 0 :(得分:1)

简单地说:与并行性无关的批处理(以延迟为代价增加吞吐量)可能有许多优点。有时会有固定的单位成本;有时更全面的优化可能会产生很大的影响;有时可以找到并丢弃重复等。

747充满硬盘驱动器可能是在全球范围内发送数据的最高吞吐量方式与并行性无关。

答案 1 :(得分:0)

延迟纯粹是一个时间单位,吞吐量(每单位时间完成的工作量)部分与时间有关。

在单线程环境中,您可以认为这两者是反向相关的,即延迟更高,吞吐量更低等。

将并行性视为此矩阵的另一个维度。如果可能(Amdahl's Law),并行性将增加吞吐量,达到一定限度。但是,这可能会受到系统中单元延迟的影响。例如,假设一个工作频率为2GHz的单线程系统和一个工作频率为300 MHz的4分量并行系统。为简单起见,假设应用程序为embarrassingly parallel。在这种情况下,单螺纹的将比平行的更好。现在,如果我们将并行单元的运行速度增加到501 MHz,它们将胜过单线程单元。