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

时间:2011-08-09 13:33:44

标签: performance language-agnostic network-programming io low-level

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

以新Macbook Pro

为例
  

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

1.25 GB/s听起来不错,但当天大多数处理器的时间都在2 Ghz左右。只要每个网络通道只能分配一个内核,多个内核几乎没有区别。

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

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

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

2 个答案:

答案 0 :(得分:2)

硬件限制因素可能是I / O总线性能,比如PCIe,以及最近的FSB时钟速率,因为内存控制器正从northbridge转移到CPUs themselves

然后,当然,你必须弄清楚你需要对输入做什么样的处理,以及产生输出的工作量。这些,至少对于在CPU上运行的传统软件而言,取决于处理器时钟,但不仅仅是。编写代码以利用高速缓存,指令级并行等硬件设施仍然是一门黑色艺术,但可以为您提供一个数量级的性能提升。

基本上我咆哮的是,并非所有软件都是平等的,你可能想要考虑到这一点。

答案 1 :(得分:1)

可能,硬盘控制器将决定硬盘I / O性能,显卡将决定最大分辨率和刷新I / O性能,等等。真的不明白这个问题,CPU越来越少地参与这些事情(好吧,过去10年来一直如此)。

我怀疑这个问题是否会影响带有集成GPU的CPU,因为输出到屏幕的缓冲区位于外部存储器中,与主板上的控制器(再次)共享总线。

它都是缓冲的,所以我只能看到CPU影响文件性能,如果你以某种方式强迫硬件缓冲区大小疯狂的微不足道。编辑:我很确定Apple会阻止你做这些事情。 ;)

对于Thunderbolt而言,更多的是关于最小CPU型号,它支持所讨论机器中Thunderbolt芯片组版本所需的各种总线速度。

Thunderbolt是原始数据流量系统,性能规格是潜在的最大值,因此Apple规范中的所有星号都是如此。我相信它确实可以缓解瓶颈,并且通常可以同时进行无滞后的智能数据改组。

CPU将空闲 - 等待所需数据的更短时间,但数据的处理速度是相同的。在播放或创建电影时,编解码器处理时间将相同,但您仍会感觉到延迟的增强/缺乏,因为数据在需要时就存在。对于I / O,瓶颈将成为硬盘的读/写速度,而CPU瓶颈(对于文件复制操作,可能至少是Finder中的一些代码)将保持不变。

换句话说,只有CPU密集型任务(例如电影编码)才能从更快的CPU中获益,而Thunderbolt与混合接口的优势将推动具有慢速和快速CPU的计算机。