有了解IOAT的大佬吗,可以介绍下IOAT在哪些地方会比memcpy更有优越性不🤣
同问!
对具体 IOTA 这个技术不了解,但是既然是一种 DMA 技术,那应该和其他硬件的 DMA 的优缺点和使用情景是类似的。
Miigon 现在spdk可以进行memory to memory 拷贝,但是性能似乎远不如memcpy.硬件dma确实可以解决很多问题
不知道是否已经看过这篇paper,总之分享一下吧,可能会有其他同学也感兴趣: http://nowlab.cse.ohio-state.edu/static/media/publications/abstract/vaidyana-cluster07.pdf
这篇中就有多种情景与组合下 I/OAT 实现 memory to memory copy 的性能分析,以及 benchmark。相信你的问题都能在里面找到答案。
个人认为没有得到广泛应用的原因有
或许对于驱动程序这类经常存在大块内存拷贝的场景来说作用会相对大一些?至少硬件 DMA 是肯定有帮助的。像网卡驱动缓冲区这类应该收益比较大,对零散的小块拷贝来说比较没有优势
Miigon 谢谢大佬,在硬件中dma的作用毋庸置疑,高速网络拷贝就是一个很好的例子,这论文似乎还没看过,等会仔细看看。
Miigon 不过还有个疑惑,dma应该算是ioat的一种手段,或者说一个方式吧。ioat应该涵盖所有io加速的技术手段
I/OAT 根据 Intel 的介绍来看大致有 Chipset 级别的memcpy、设备 DMA (Direct Cache Access)、多核中断
https://www.intel.com/content/www/us/en/wireless-network/accel-technology.html
© 2018-2023 0xFFFF