知识卡片
异步通知比同步等待更能提升I/O吞吐量
内容
虚拟机间传数据若用同步通知——发请求干等对方处理完才能发下一个——效率很差,尤其单处理器时前后端要来回等被调度。Xen改用异步事件通道:请求方一次可发出尽可能多请求不用等每个处理完,接收方也能批量处理批量回复。把一来一回的串行等待变成各自攒批各自处理的流水线模式,显著提高吞吐量。
参考来源
- 位置:《架构之美》第7章《Xen和虚拟化之美》7.5节《Xen的变换形式》(源文件:程序之美系列套装(6册)团队之美、项目管理之美、架构之美、数据之美、测试之美、安全之美/_epub-src/OEBPS/Text/part0165.xhtml)
- 结论依据:原文明确"对于同步通知,前端必须等待后端完成它的工作之后才能进行下一个请求……对于异步通知,前端在被调度的时候可以发送尽可能多的请求,而后端可以发送尽可能多的响应。这增加了吞吐量"。
- 原始内容:对于同步通知,前端必须等待后端完成它的工作之后才能进行下一个请求。这意味着等待后端域调度,然后等待前端域调度。比较而言,对于异步通知……这增加了吞吐量。