当前位置:主页 > 管理论文 > 组织管理论文 >

面向深度学习平台的内存管理器的设计与实现

发布时间:2020-05-17 21:42
【摘要】:深度学习在图像识别、语音识别、机器翻译等领域取得了巨大的成功,产生了巨大的社会和经济效益。在内存管理方面,深度学习应用仍然使用传统的内存管理方法,而传统领域的内存管理只包括CPU主机内存的管理,没有包括GPU设备内存的管理,造成管理分散,使用成本增加。传统领域的内存管理为了兼顾各种应用,在深度学习应用中性能差,并且由于技术保密的原因,没有办法实现自主可控。迫切需要一种能够高效管理异构内存的分配器。本论文针对深度学习应用,设计和开发了一个管理异构内存的内存分配器,取名为MADL(memory allocator for Deep Learning)。包括了对CPU主机内存的管理和对GPU设备内存的管理,提供了统一的接口,屏蔽了不同内存的差异,使用户不需要掌握太多底层细节的情况下就能够使用。同时,MADL结合实际的深度学习应用使用大内存对象的特征,优化了对大内存对象的管理,并采用内存池技术在用户态实现对内存的管理,大大提高了内存分配的效率。经过权衡采用首次适应法来管理内存,面对首次适应法寻找合适的空闲内存需要线性查找,通过建立简单索引大幅度的减少了空闲内存块的查找的时间,提升了分配性能。MADL可以运行在Windows,类Unix,Android等操作系统上,可移植性非常好。并且设计和实现了全新的异构内存管理的架构,该架构具有良好的稳定性和可维护性。测试发现相比于传统的内存管理器,在分配时间上,MADL在CPU主机内存的分配和回收速度上提升了15~20%,而在GPU设备内存的分配和回收上则提升了17~30%;在内存使用率上,MADL在CPU主机内存使用率提升了2~5%,在GPU设备内存的使用率上则提升了10~20%。总体而言,MADL的性能优于传统分配器,达到了设计目标。
【图文】:

核心态,用户态


使用资源必须向核心态申请,应用程序代码运行在用户态。如图2-1 所示,用户态程序进入核心态可以通过系统调用、中断、信号等,但是用户态和核心态的切换十分耗时,所以往往避免直接使用系统调用,而是通过库的形式对系统调用进行包装,减少系统调用的次数。通过段、页机制每个程序都会有自己的地址空间,往往会把内核态地址映射成自己地址空间的一部分。32位机器上,,在 Linux 系统中核心态占据 1GB 的虚拟内存而用户态占据其余的3GB 内存,Windows 系统中内核态则占据 2GB。在 64 位机器上,因为有更大的地址空间,核心态所占用的内存要远大于 32 位机器上所占内存。

虚拟地址空间,进程,数据段


如图2-2 所示,下面将分别简要介绍。代码段:又称正文段,就是程序中的可执行部分存放的内存区域,直观理解代码段就是函数堆加组成的。代码段可以被多个程序共享,代码段为只读不能被修改。初始化的数据段:也被称为数据段、静态数据区、静态区,它包含了程序中需要明确地赋初值的变量。数据段还可以进一步分为只读数据段和可读写数据段,比如数据段中的字符串常量就是只读的。未初始化的数据段:未初始化的数据段经常被称作 BSS 段,意思是“由符号开始的块”(block started by symbol)。BSS 段的特点就是被初始化为 0 或者空指针,BSS 段本质上也是属于数据段,BSS 段就是被初始化为 0 的数据段。但是在程序中没有被保存,在程序运行时动态的分配空间。堆空间:堆空间是动态内存申请的内存块所在的位置。堆空间的起始位置在 BBS 段的末尾,向高地址空间扩展。Linux 上堆空间可以通过系统调用 brk来向上扩展。在多线程情况下,堆空间是被共享的,每个线程都能够访问堆空间。栈空间:栈是一种先进后出的数据结构,栈空间先分配到的内存则最后释放。栈空间的栈底一般在高地址空间,栈顶和堆空间连接在一起的,然而增长方向和堆空间刚好是相反的。堆是向上扩展
【学位授予单位】:哈尔滨工业大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TP333;TP18

【参考文献】

相关期刊论文 前3条

1 何煦岚;何晓岚;;基于多链表结构的嵌入式系统内存管理[J];计算机应用与软件;2008年04期

2 刘磊;;Linux内核内存池实现研究[J];科学技术与工程;2007年12期

3 张琼声;刘冬萍;;操作系统内核内存分配算法的分析与性能评价[J];计算机系统应用;2007年01期

相关博士学位论文 前1条

1 李小强;CPU-GPU异构系统上的高层编程模型及其编译优化技术[D];中国科学技术大学;2013年

相关硕士学位论文 前1条

1 娄云龙;用户态内存管理关键技术研究[D];哈尔滨工程大学;2014年



本文编号:2669224

资料下载
论文发表

本文链接:https://www.wllwen.com/guanlilunwen/yunyingzuzhiguanlilunwen/2669224.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户f1c03***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com