[发明专利]不可变可共享零复制数据和流传输有效
申请号: | 201480003955.0 | 申请日: | 2014-01-03 |
公开(公告)号: | CN105051695B | 公开(公告)日: | 2019-07-02 |
发明(设计)人: | J·T·亨特;J·于;M·塔耶费尔;G·M·内沃洛夫;D·卡库林;A·H·莫罕默德;J·J·达菲;C·W·布鲁密;F·S·特瑞克 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 陈小刚 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 可变 共享 复制 数据 流传 | ||
不可变缓冲区的环境和使用。计算实体获取数据或生成数据,并将该数据填充到缓冲区,在这之后该缓冲区被分类成不可变的。该分类保护填充在不可变缓冲区中的数据在该不可变缓冲区的寿命期间免于改变,并且还保护不可变缓冲区在该不可变缓冲区的寿命期间免于改变其物理地址。在不同的计算实体使用来自不可变缓冲区的数据时,它们通过视图提供实体所提供的视图来这样做。不可变缓冲区体系结构还可被用于流传输数据,其中流传输数据中的每一分量使用不可变缓冲区。因此,不同计算实体可以不同地查看不可变数据,而不必实际上复制该数据。
技术领域
本公开涉及共享数据,尤其涉及不可变可共享零复制数据和流传输。
背景技术
计算机操作系统性能通常由操作系统在给定时间间隔期间可维持的最大输入/输出(I/O)操作速率(也称为“I/O性能”)来表征。结果,操作系统采用各种公知机制来提升I/O性能。
传统上,操作系统是使用向系统程序员提供对如何操纵存储器的非常精细的控制的非受管语言(如汇编语言、C、C++)来编写的。未经检查的指针的使用可被用来最小化操作系统开销并允许增加的吞吐量或降低的等待时间。使用这些未经检查的指针的不利方面在于它们难以创建和推理,导致不可靠的软件和安全弱点。
用受管编程语言编写软件提供了充足的正确性益处和开发时间效率。这些受管语言防止程序员创建许多种类的软件缺陷,这造成改进的软件质量和缩短的开发时间。操作系统正确性是用于递送可靠且安全的计算体验的关键因素。因此,使用受管语言来创建操作系统是非常有说服力的主张,因为操作系统可靠性可以改进且开发成本可被降低。
为了达到这些益处,受管编程语言在由程序员编写的源代码与物理计算机系统的原始机器资源之间插入抽象层。这一抽象层一般用于约束程序员被允许写什么,并且通过这样做消除了全部的各类潜在缺陷。不幸的是,这一抽象层引入可能损害所创建的软件的性能的开销。结果,普遍假定是受管语言用正确性缺陷来换取性能缺陷。因而,用受管语言编写的软件通常被认为先天地慢于用非受管语言编写的软件。
影响受管代码操作系统的具体问题是对在数据穿过系统时在各层之间复制数据的固有需求。这是由以下事实引起的:系统的不同组件存在于不同隔离上下文中并且没有清晰的机制来摆脱这些隔离上下文。
发明内容
根据本文描述的至少一个实施例,描述了不可变缓冲区的环境和使用。计算实体获取数据或生成数据,如可能的批量数据,并将该数据填充到缓冲区,在这之后该缓冲区被分类成不可变的。该分类保护填充在不可变缓冲区中的数据在该不可变缓冲区的寿命期间免于改变,并且还保护不可变缓冲区在该不可变缓冲区的寿命期间免于改变其物理地址。
在不同的计算实体使用来自不可变缓冲区的数据时,它们通过视图提供实体所提供的视图来这样做。因此,不同计算实体可以不同地查看不可变数据,而不必实际上复制该数据。例如,在处理网络分组时,代替通过从一个缓冲区复制到另一个缓冲区来传递分组的不同部分,可改为传递该分组的细粒度视图定义,而不必实际上复制分组本身。
本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图说明
为了描述能够获得上述和其它优点和特征的方式,各实施例的更具体的描述将通过参考各附图来呈现。可以理解,这些附图只描绘了示例实施例,并且因此不被认为是对其范围的限制,将通过使用附图并利用附加特征和细节来描述和解释各实施例,在附图中:
图1抽象地示出可在其中采用本文描述的一些实施例的计算系统;
图2示出用于提供不可变缓冲区的方法的流程图;
图3A示出填充缓冲区的过程在其中发生的环境;
图3B示出在其中使经填充的缓冲区不可变的环境;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480003955.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:开尔文电桥故障检测装置
- 下一篇:一种电气复合信号检测装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置