继续昨天的思路,今天先google了类似的实现domain0和domainU之间数据传输的方案

[Xen-devel] XenStore as a data transfer path?  这篇帖子讨论了xenstore作为domain0和domainU传递自定义数据的可行性,在Xen架构里,xenstore用于domain0和多个domainU之间传递控制数据,根据Xenstore的文档,不适合用于传输过大的数据,它的设计目标是对domain0的应用层有非常好的可视性和可操作性(tdb格式数据库),同时方便多个vm传输控制数据。

[Xen-devel] Dom0-DomU communication 这篇帖子讨论了同样的话题,基本结论是多个vm间数据传输:小块数据如控制信息类用xenstore,大块数据如文件用http/nfs等网络,或者基于memory map的机制,如grant table机制。

用“xen inter domain memory sharing”做关键字搜索,找到了这个问题的若干论文和方案,如下:

xenloop

定位于两个domainU之间数据传输,domainU应用层依然使用socket接口,但正常的路径是走到虚拟网卡->虚拟网卡驱动->网桥等等做交互,xenloop 的方式是通过 netfilter hook 的方式插入一个模块到内核,然后在内核协议栈的ip层截获数据,直接将数据拷贝到映射好的共享内存,由xenloop协议做数据交互。架构图如下:

XenLoop A Transparent High PerformanceInter-VM Network Loopback pdf

xenloop 官网地址和代码链接

XENFS

Shared Memory Based Communication Between Collocated Virtual Machines pdf

xenfs.pdf

官方说明

这篇论文系统探讨了基于shared memory 的vm间数据交互方案,对比了包括 xenloop 在内的多种已经实现的方案,该文最后提出自己的基于nfs的交互方案。

内存映射方案里,做在协议栈里的,可以获得很好的透明性和扩展性,对原有代码影响很小。做在block层的,透明性差,但性能更好。xenfs 试图共有这两个方面。

IO hook

Linux kernel 3.0 release  kernel 3.0 提出了在虚拟机环境下,出于性能和可维护性等考虑,传统io路径需要通过hook简化路径,并提出在xen里的一些实现。这篇文章有助于理解在xen环境下IO路径的设计

V4V

v4v linux driver  v4v 驱动只实现了linux版本

这篇文章提到了v4v

critrix v4v windows 驱动

v4v 和 vchan 的对比介绍

vchan

libvchan 已经合并入xen代码,但文档还没完成,基本思路也是替换普通协议栈流程

代码: xen4.2.3/tools/libvchan

introducing-vchan

Documentation on lib(xen)vchan

xen-devel-libvchan-00

xen-devel-libvchan-01

windows guest 使用libvchan的讨论

基于Xen实现一种domain0和domainU的应用层数据交互高效机制 - 2的更多相关文章

  1. 基于Xen实现一种domain0和domainU的应用层数据交互高效机制 - 3

    继续 上一篇 的研究,结合 xen4.2.3 的代码分析,发现 xen4.2.3 的应用层工具库 tools 包含一个工具叫 libvchan ,其头文件描述如下: * This is a libra ...

  2. 基于Xen实现一种domain0和domainU的应用层数据交互高效机制

    项目里有一个需求,domain0的应用层需要定时给domainU(hvm windows)的应用层传递一块数据,原来的方案是在domainU的应用层架设一个http服务器,监听在某个端口,然后需要塞数 ...

  3. html5-websocket实现基于远程方法调用的数据交互

    html5-websocket实现基于远程方法调用的数据交互   一般在传统网页中注册用户信息都是通过post或ajax提交到页面处理,到了HTML5后我们有另一种方法就是通过websocket进行数 ...

  4. 【腾讯Bugly干货分享】基于RxJava的一种MVP实现

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57bfef673c1174283d60bac0 Dev Club 是一个交流移动 ...

  5. 基于MVC4+EasyUI的Web开发框架经验总结(12)--利用Jquery处理数据交互的几种方式

    在基于MVC4+EasyUI的Web开发框架里面,大量采用了Jquery的方法,对数据进行请求或者提交,方便页面和服务器后端进行数据的交互处理.本文主要介绍利用Jquery处理数据交互的几种方式,包括 ...

  6. Android上掌纹识别第一步:基于OpenCV的6种肤色分割 源码和效果图

    Android上掌纹识别第一步:基于OpenCV的6种肤色分割 源码和效果图 分类: OpenCV图像处理2013-02-21 21:35 6459人阅读 评论(8) 收藏 举报   原文链接  ht ...

  7. Spring WebFlux, 它是一种异步的, 非阻塞的, 支持背压(Back pressure)机制的Web 开发WebFlux 支持两种编程风(姿)格(势) 使用@Controller这种基于注解

    概述 什么是 Spring WebFlux, 它是一种异步的, 非阻塞的, 支持背压(Back pressure)机制的Web 开发框架. 要深入了解 Spring WebFlux, 首先要了知道 R ...

  8. 基于Redis的三种分布式爬虫策略

    前言: 爬虫是偏IO型的任务,分布式爬虫的实现难度比分布式计算和分布式存储简单得多. 个人以为分布式爬虫需要考虑的点主要有以下几个: 爬虫任务的统一调度 爬虫任务的统一去重 存储问题 速度问题 足够“ ...

  9. (转)基于MVC4+EasyUI的Web开发框架经验总结(12)--利用Jquery处理数据交互的几种方式

    http://www.cnblogs.com/wuhuacong/p/4085682.html 在基于MVC4+EasyUI的Web开发框架里面,大量采用了Jquery的方法,对数据进行请求或者提交, ...

随机推荐

  1. vue.js 图表chart.js使用

    在使用这个chart.js之前,自己写过一个饼图,总之碰到的问题不少,所以能用现成的插件就用,能节省不少时间 这里不打算介绍chart.js里面详细的参数意义和各个参数的用法,只作为首次使用chart ...

  2. php中处理字符串的常见函数

    编写程序的时候,经常要处理字符串,最基本就是字符串的查找,在php检测字符串中是否包含指定字符串可以使用正则,如果你对正则不了解,那么有几个函数可以为您提供方便. 1. strstr strstr() ...

  3. Flask初学者:配置文件

    如果设置项比较少的话可以使用“app.config['param_name']=value”的形式直接使用,如果需要设置的参数比较多的话,可以单独新建一个配置文件用来存放配置信息,配置文件中的参数需大 ...

  4. GTF/GFF

  5. 解析XML格式数据

    学习解析XML格式的数据前,搭建一个简单的web服务器,在这个服务器上提供xml文本用于练习. 一.搭建Apache服务器 在Apache官网下载编译好的服务器程序,安装.对于Windows来说127 ...

  6. I miss you, Jenny【我想念你,jenny】

    I miss you, Jenny Forrest Gump: 阿甘正传 You died on a Saturday morning. And I had you placed here our t ...

  7. 初识Java之入门学习(扫盲)

    一,开发环境的配置 1. jdk1.8的安装 2. 环境变量的配置 3.MyEclipse8.5的安装 jdk是什么: JDK 是Java开发工具包 (Java Development Kit ) 的 ...

  8. TCP/IP网络编程之基于TCP的服务端/客户端(二)

    回声客户端问题 上一章TCP/IP网络编程之基于TCP的服务端/客户端(一)中,我们解释了回声客户端所存在的问题,那么单单是客户端的问题,服务端没有任何问题?是的,服务端没有问题,现在先让我们回顾下服 ...

  9. HashMap 简介

    HashMap 前置条件 了解数组 了解链表 jdk version: 1.8 个人分3步来了解HashMap 通过数据结构图 通过为了完成这样的数据结构我们该怎么做 HashMap 实际put方法源 ...

  10. Asp.net自定义控件开发任我行(5)-嵌入资源上

    摘要 上一篇我们讲了VitwState保存控件状态,此章我们来讲讲嵌入css文件,js文件,嵌入Image文件我也一笔带过. 内容 随着我的控件的完善,我们目标控件DropDwonCheckList最 ...