[发明专利]嵌入式网络虚拟化环境中优化网络吞吐量的方法有效
申请号: | 201510044195.4 | 申请日: | 2015-01-28 |
公开(公告)号: | CN104615495B | 公开(公告)日: | 2018-05-01 |
发明(设计)人: | 姚建国;程书欣;邓婷;管海兵 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;H04L12/891 |
代理公司: | 上海汉声知识产权代理有限公司31236 | 代理人: | 郭国中 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 嵌入式 网络 虚拟 环境 优化 吞吐量 方法 | ||
1.一种自主超级调用聚合方法,其特征在于,将多次超级调用hypercall通过聚合计时器被聚合成一个超级调用hypercall,以减少超级调用hypercall的执行次数;
所述的自主超级调用聚合方法,包括如下步骤:
步骤A:在VirtIO前端驱动程序中设置聚合计时器,其中,所述聚合计时器的计时器开始计时的时间为T0,聚合间隔时间为T;
步骤B:设置t0为当前时间,利用如下公式预测下一个请求到达的时间:
tnext=2tcur-tpre
其中:tnext表示下一个请求到达的时间,tcur表示当前请求到达的时间,tpre表示前一个请求到达的时间;
步骤C:判断聚合计时器是否已启动:
-如果聚合计时器已经启动,则:若tnext>T+T0,则就停止聚合计时器,否则,则进行等待,不立即执行调用超级调用hypercall;
-如果聚合计时器尚未启动,则:若tnext>T,则调用超级调用hypercall,从客户机切换到虚拟机监控程序,然后结束此次调用;否则,则让T0=t0并启动聚合计时器,无需调用超级调用hypercall,进一步地,若tnext>T+T0,则就停止聚合计时器,否则,则进行等待,不立即执行调用超级调用hypercall;
步骤D:判断聚合计时器是否计时结束或者被停止,如果聚合计时器计时结束或者被停止,则就调用超级调用hypercalll。
2.一种嵌入式网络虚拟化环境中优化网络吞吐量的方法,其特征在于,包括如下步骤:
步骤1:当客户机发送数据包时,客户机kernel调用VirtIO前端驱动程序将数据写在vring队列;
步骤2:利用权利要求1所述的自主超级调用聚合方法,根据前一个请求到达的时间和当前I/O请求到达的时间,判断是否立即进行上下文切换,将控制权由客户机交给宿主机;若要立即进行上下文切换,则继续执行步骤3;若不能立即进行上下文切换,则等待一个聚合间隔时间,再进行步骤3;
步骤3:客户机执行超级调用hypercall通知宿主机,客户机切换到虚拟机监控程序,虚拟机监控程序从vring队列取出数据,处理完毕后将结果添加到vring队列并发送中断给客户机;
步骤4:此次调用结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510044195.4/1.html,转载请声明来源钻瓜专利网。