再谈“去虚拟化”对深度学习系统的必要性
撰文 |袁进辉 上周写了一篇《浅谈GPU虚拟化与分布式深度学习框架的异同》,想不到引起很多关注和讨论。和朋友们讨论之后,觉得这个话题值得再发散一下: 首先,文章只讨论了GPU“一分多”这种“狭义”的虚拟化,还存在另外的虚拟化,“多虚一”也是存在的。在此,我想特别强调的是:上一篇文章后半部分对深度学习框架“多合一”的讨论恰恰是想说明“多虚一”是不可能靠仅仅一层包打天下的API就能实现,反而要靠”去虚拟化“的思路。 其次,“去虚拟化”这种理念在追求性能极致的场景不是新鲜事,在这篇文章里再举几个相关的例子。 在这篇小品文里再讨论一下:虚拟化的本质和局限性,为什么在追求性能极致的场景要“去虚拟化”。 1 “虚拟化”溯源 “虚拟化”可能是计算机科学历史上最伟大的思想之一,对此,计算机先驱David Wheeler有一句名言: All problems in computer science can be solved by another level of indirection, except for the problem of too many layers of indirec...