估计处理器频率如何影响 I/O 性能
我正在研究可在消费类硬件上运行的专用 I/O 软件。本质上,它可以归结为保存大量数据流以供以后处理。现在我正在寻找一个模型来估计 x86 上的性能因素。
以新的 Macbook Pro 为例:
高速 Thunderbolt I/O(输入/输出)技术提供 两者的传输速度均达到惊人的每秒 10 吉比特 方向
不错,但当今大多数处理器的时钟频率都在 2 Ghz
左右。只要每个网络通道只能分配一个核心,多个核心就没有什么区别。
因此,即使软件充当微型操作系统并将自身限制为网络/磁盘操作,流向存储的数据量也不能大于P / (2 * N)
每秒 [1] 块。尽管这暗示了粗略的性能限制,但我觉得这还远远不够。
在估计处理器频率和其他硬件细节方面的 I/O 性能时还应该考虑哪些其他因素?为了简单起见,此处假设存储在所有情况下都可以立即执行。
[1] P - 处理器频率; N - 算法开销
I am doing research about dedicated I/O software that would run on consumer hardware. Essentially it boils down to saving huge data streams for later processing. Right now I am looking for a model to estimate performance factors on x86.
Take for example the new Macbook Pro:
high-speed Thunderbolt I/O (input/output) technology delivers
an amazing 10 gigabits per second of transfer speeds in both
directions
1.25 GB/s
sounds nice but most processors of the day are clocked around 2 Ghz
. Multiple cores make little difference as long as only one can be assigned per network channel.
So even if the software acts as a miniature operating system and limits itself to network/disk operations, the amount of data flowing to storage can't be greater than P / (2 * N)
[1] chunks per second. Although this hints the rough performance limit, I feel it's far from adequate.
What other considerations should one take estimating I/O performance in regards to processor frequency and other hardware specifics? For simplicity's sake, assume here that storage performs instantly under all circumstances.
[1] P - processor frequency; N - algorithm overhead
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
硬件限制因素可能是 I/O 总线性能,例如 PCIe,最近, FSB 时钟频率,因为内存控制器正在从北桥到CPU 本身。
然后,当然,您必须弄清楚需要对输入进行什么样的处理,以及产生输出需要做多少工作。至少对于在 CPU 上运行的传统软件来说,这些依赖于处理器时钟,但不仅如此。编写代码以利用缓存、指令级并行性等硬件设施仍然是一门黑术,但可以给您带来数量级的性能提升。
基本上我要抱怨的是,并非所有软件都是一样的,您可能需要考虑到这一点。
The hardware limiting factors are probably the I/O bus performance, say PCIe, and more recently, the FSB clock-rates, since memory controllers are moving from northbridge to the CPUs themselves.
Then, of course, you have to figure out what sort of processing you need to do on the input, and how much work it is to produce the output. These, at least for conventional software running on a CPU, are dependent on the processor clock, but not only. Writing your code to take advantage of the hardware facilities like caches, instruction-level parallelism, etc. is still a black art but can give you an order of magnitude performance boost.
Basically what I'm ranting about is that not all software is created equal, and you probably want to take that into account.
很可能,硬盘控制器将决定硬盘 I/O 性能,显卡将决定最大分辨率和刷新 I/O 性能,等等。不太明白这个问题,CPU 越来越少地参与这类事情(嗯,过去 10 年一直如此)。
我怀疑这个问题甚至会对带有集成 GPU 的 CPU 产生影响,因为要输出到屏幕的缓冲区位于与主板上的控制器共享总线的外部存储器中。
它都是缓冲的,所以如果你以某种方式强制硬件缓冲区大小到非常小的值,我只能看到 CPU 影响文件性能。编辑:我很确定苹果会阻止你做这样的事情。 ;)
特别是对于 Thunderbolt,更多的是关于最低 CPU 型号是什么,它支持相关机器中的 Thunderbolt 芯片组版本所需的总线速度。
Thunderbolt 是一个原始数据流量系统,性能规格是潜在的最大值,因此 Apple 规格中的所有星号都是如此。我相信它确实会缓解瓶颈,并且通常会提供无延迟的智能数据洗牌,同时执行许多操作。
CPU对于需要的数据会空闲等待较短的时间,但数据的处理速度是相同的。播放或创建电影时,编解码器处理时间将相同,但您仍然会感觉到延迟的增加/缺乏,因为数据在需要时就在那里。对于 I/O,瓶颈将变成硬盘的读/写速度,而 CPU 瓶颈(对于文件复制操作,可能至少是 Finder 中的某些代码)将保持不变。
换句话说,只有 CPU 密集型任务(例如电影编码)才会从更快的 CPU 中显着受益,而 Thunderbolt 相对于混合接口的优势将增强具有慢速和快速 CPU 的机器。
Likely, harddisk controllers will decide the harddisk I/O performance, graphics cards will decide maximum resolution and refresh I/O performance, and so on. Don't really understand the question, the CPU is becoming less and less involved in these kinds of things (well, has been for the last 10 years).
I doubt the question will even have bearing on CPUs with integrated GPUs, since the buffer to be output to screen is in external memory sharing a bus with (again) a controller on the motherboard.
It's all buffered, so I can only see CPUs affecting file performance if you somehow force the hardware buffer size to something insanely puny. Edit: and I'm pretty sure Apple will prevent you from doing such things. ;)
For Thunderbolt specifically, it's more about what the minimum CPU model is, that supports the kinds of bus speeds required by the Thunderbolt chip set version that is in the machine in question.
Thunderbolt is a raw data traffic system and performance specs are potential maximums, hence all the asterisks in the Apple specs. I believe it will indeed alleviate bottlenecks and in general give lag-free intelligent data shuffling doing many things simultaneously.
The CPU will idle-wait a shorter time for needed data, but the processing speed of the data is the same. When playing or creating a movie, codec processing time will be the same, but you will still feel a boost/lack of lag because the data is there when it needs it. For the I/O, the bottleneck will become the read/write speed of your harddisk instead, and the CPU bottleneck (for file copy operations, likely at least some code in Finder) will stay the same.
In other words, only CPU-intensive tasks such as for example movie encoding will benefit significantly from a faster CPU, while the benefits of Thunderbolt vs. a mix of interfaces will boost machines with both slow and fast CPUs.