一种面向存储系统的并发编程框架的设计与实现
发布时间:2017-12-10 13:22
本文关键词:一种面向存储系统的并发编程框架的设计与实现
【摘要】:互联网时代的到来,各种各样的应用层出不穷,用户基数的不断攀升,使得支撑这些应用服务器后台承受着巨大的并发压力。伴随着半导体硬件和体系结构的发展,多核心多线程CPU已经是目前时代的主流,所以我们有机会、有能力利用这一类性能强大的硬件设备去解决高并发带来的挑战。然而,多核心多线程处理器由于其特有的体系结构,以前的遗产应用并不能充分的发挥它们的硬件性能,程序开发者不得不重新针对其架构编写相应的应用。但是与传统的应用开发相比,编写针对并发的应用难度也更大,对于开发人员的要求也更高。针对这一现状,近些年来,不断地有新的技术、新的方法提出或者演进,用以降低并发应用的门槛,提高开发的效率。 本文在分析总结现有技术和方案的基础上,针对存储系统这一典型的高并发应用,从线程的调度、IO的控制等方面进行了一系列深入的研究,提出了一种基于多线程调度的适用于存储系统的并发编程框架,其主要贡献如下: 1.在多线程调度机制方面,本文提出了一种基于核心线程池的多线程调度机制,有效地降低了在多线程应用运行过程中,因大量线程反复开启、销毁带来的系统性能开销;通过合理的分配调度机制,使得不同任务能够充分的得到调度,从机制上解决了并发任务的资源分配;同时,基于该机制,使得应用运行过程中,任务的切换可以实现免锁的队列操作,,进一步提高了性能。 2.在研究并发应用内部资源调度机制的同时,研究了并发应用对于外部IO的需求,针对其外部IO的特点,与内部资源调度框架结合,设计了针对并发应用的外部IO机制。这一机制的异步-非阻塞特性,使得系统的内外两级资源能够重叠的独立的执行任务,提高了系统资源的利用率。 3.在核心线程池调度机制设计实现的同时,加入了一种以定时器中断为核心的扩展调度机制,使得框架能够在一些特定的应用执行的时候,实现定时触发对系统资源的抢占,强制执行。 本文在研究并发编程的同时,在通过参考几经典集中式/分布式存储系统后,针对本文并发框架的一些技术要点,基于本文的并发框架设计并实现了一种基本存储原型系统,模拟了存储系统的一些典型功能和特点。 通过对原型存储系统的多个测试,数据表明了基于并发编程框架开发的存储原型系统,从功能上具有可用性,可以对存储业务进行级别的模拟;从性能上,也具有一定的可行性,充分体现了并发编程框架对于外部IO请求和内部线程调控的能力;从系统上,该原型系统能够利用多核多线程CPU的硬件能力获得相应的性能提升。
【学位授予单位】:吉林大学
【学位级别】:硕士
【学位授予年份】:2015
【分类号】:TP311.1;TP333
【参考文献】
中国期刊全文数据库 前2条
1 骆斌,费翔林;多线程技术的研究与应用[J];计算机研究与发展;2000年04期
2 潘利伟;谷建华;朱靖飞;周志超;;基于Erasure Code的分布式文件存储系统[J];计算机工程;2010年17期
本文编号:1274594
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/1274594.html