估计处理器频率如何影响I/O性能

Sau*_*aul 5 language-agnostic io performance network-programming low-level

我正在研究可以在消费者硬件上运行的专用I/O软件.从本质上讲,它归结为保存大量数据流以供以后处理.现在我正在寻找一个模型来估计x86上的性能因素.

以新款Macbook Pro为例:

高速Thunderbolt I/O(输入/输出)技术可在两个方向上提供惊人的每秒10千兆位的传输速度

1.25 GB/s听起来不错,但当天的大多数处理器都是时钟2 Ghz.只要每个网络通道只能分配一个核心,多个核心就没什么区别.

因此,即使软件充当微型操作系统并且仅限于网络/磁盘操作,流入存储的数据量也不能超过每秒[1]块.虽然这暗示了粗略的性能限制,但我觉得它远远不够.P / (2 * N)

在处理器频率和其他硬件细节方面,应该考虑哪些其他因素来估算I/O性能?为简单起见,假设存储在所有情况下都能立即执行.

[1] P - 处理器频率; N - 算法开销

Nik*_*sov 2

硬件限制因素可能是 I/O 总线性能(例如PCIe),以及最近的FSB时钟速率,因为内存控制器正在从北桥转移到CPU 本身

然后,当然,您必须弄清楚需要对输入进行什么样的处理,以及产生输出需要做多少工作。至少对于在 CPU 上运行的传统软件来说,这些依赖于处理器时钟,但不仅如此。编写代码以利用缓存、指令级并行性等硬件设施仍然是一门黑术,但可以给您带来数量级的性能提升。

基本上我要抱怨的是,并非所有软件都是一样的,您可能需要考虑到这一点。