并发数据结构及其在动态内存管理中的应用

来源 :重庆大学 | 被引量 : 0次 | 上传用户:lin901102
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着多核处理器越来越广泛的应用,软件如何改变传统的串行设计理念以适应并发的挑战正变得越来越紧迫。作为应用程序基础的数据结构首当其冲,如何在保证数据结构正确性的同时提供更高的并发度和扩展性成为研究人员关注的重点问题。在这种情况下,无锁数据结构应运而生。无锁数据结构摆脱了锁的限制,能够避免优先级反转问题并承受线程的随机故障退出,提供了更高的并发度和更好的扩展性。但是,无锁数据结构所要应对的是由多核处理器引入的更多的并发线程,以及随之而来的更大数量的动态内存消耗和对运行时动态内存分配器的更加频繁的访问,容易在高并发情况下形成瓶颈。本文从负载均衡的角度考察无锁数据结构相关的动态内存管理问题,将其抽象成“逆向”负载均衡问题,基于负载均衡的思想提出了两种并发队列并将这两种队列用作线程本地缓冲区构建了两种供无锁数据结构使用的内存池,来解决无锁数据结构的动态内存管理问题,具体工作如下:①分析了并发数据结构领域的历史和现状,对该领域的各种常用技术和结构做了研究,指出了各自相对的优缺点和在多核时代面临的挑战。②对共享内存多核处理器环境下的并发内存管理做了总结,分析了该领域的几种通用技术,指出了研究人员对于无锁数据结构动态内存管理问题特殊性的忽略,提出了用内存池解决无锁数据结构的动态内存管理问题。③介绍了负载均衡思想在计算机系统任务调度领域的应用,分析了任务窃取和任务分担这两种常用的调度策略,研究了几种任务窃取相关数据结构的原理、设计和实现,并用负载均衡的思想将无锁数据结构的动态内存管理问题抽象为“逆向”均衡问题,提出用负载均衡的方法解决该问题。④提出了两种支持窃取和/或归还操作的并发队列,并在这两种队列的基础上分别构建了两种供无锁数据结构使用的内存池。这两种内存池可以在运行时通过在线程本地缓冲区之间执行窃取和/或归还操作以实现内存资源在各线程间的均匀分布,以改善无锁数据结构的性能。⑤将本文提出的两种内存池和普通内存池分别应用于无锁数据结构,并对它们的性能作了详细的测量和对比,证明本文提出的两种内存池的各个指标在广泛的并发水平下均明显优于普通内存池,同时,还通过实验测量并证明了窃取和归还这两个均衡操作的有效性。
其他文献
由于用户需求变更而导致软件项目失败 ,是许多项目失败的重要原因之一 ,只有科学地不断改进和完善对需求变更的管理 ,才能达到驾驭需求变更的目的 .本文首先对软件项目需求管
煤炭是我国主要的一次能源,而且在将来的许多年这一格局仍然不会改变,所以发展低耗能、低排放、低污染的煤发电技术具有深远的意义。为了节约能源和减轻环境污染,国内外许多国家
血管平滑肌细胞(vascular smooth muscle cells,VSMCs)由分化表型向去分化表型的过程,即表型转化,是动脉粥样硬化及经皮冠状动脉介入治疗术后再狭窄等疾病发生过程中新生内膜形成
页岩气成藏条件、岩性、物性、含气性等差异性特征使得不同页岩具体的开发方案和储层改造技术有很大区别,为正确认识页岩气储层的地质特征、储层参数,在实施改造工艺前有必要
<正>《中国达人秀》节目模式完全来源于英国的同名节目现场灯光、舞美效果、流程和选拔模式,来自英国的同行还亲临现场进行指导。这种全面的模式复制,是媒体市场化、全球化的
景德镇窑在宋代以青白瓷闻名,但是关于景德镇窑的起源一直众说纷纭。本文以繁昌窑在五代南唐时期生产最早期的青白瓷为论据,阐述了繁昌窑与景德镇窑青白瓷起源的关系。
本文在依托现有风险管理论和方法的基础上,对山海关污水处理厂工程项目风险管理问题进行研究,并从风险识别、评估和控制三个方面进行全面细致的阐述和分析,并有针对性的提出了山
聚类分析是模式识别与人工智能中发现知识的重要途径之一,传统的聚类分析是一种硬划分。大数据时代出现了高维海量数据,它们往往具有不完备性、不精确性、不一致性等特征,传统聚
基于内容的图像检索技术是近些年理论研究的一大热点,而文字信息是视频图像中重要的语义线索。由于视频图像中文字具有尺度不一、字体形态多变、方向多变和背景复杂的特点,所以
能源和环境问题是当今世界面临的两大难题,引起了全世界的广泛关注。而在我国,建筑能耗中的采暖空调能耗能占到能源消耗总量的27%左右。因此,在建筑采暖空调方面采用新能源、新