一种片上存储装置制造方法及图纸

技术编号:39780038 阅读:8 留言:0更新日期:2023-12-22 02:24
本发明专利技术提供一种片上存储装置,包括内存模块

【技术实现步骤摘要】
一种片上存储装置、GPU处理器、服务器系统及热迁移方法


[0001]本专利技术涉及计算机领域,具体来说,涉及服务器虚拟化场景下的数据迁移领域,更具体地说,涉及一种片上存储装置
、GPU
处理器

服务器系统及热迁移方法


技术介绍

[0002]为了提升硬件资源的利用率,服务器虚拟化技术成为当前的热点,其中,热迁移技术则是虚拟化技术中的热点

所谓热迁移技术,是指将虚拟机从一台物理服务器迁移到另一台物理服务器上,迁移过程对于终端用户是透明的,此处所谓的透明是指在终端用户角度来说,虚拟机一直正常运行,或者简单的说,热迁移是指将一个运行中的虚拟机在没有任何服务终端或者任何停机时间的情况下从一个物理主机移动到另一个上面

[0003]随着
GPU
技术的不断发展,虚拟技术得到了进一步的发展,将
GPU
用于虚拟化领域中,虚拟机运行在
GPU
上,每个虚拟机占用
GPU
部分内存资源,此时的热迁移则是指
GPU
热迁移即在
GPU
正常工作的情况下,宿主机
(
一般是指
CPU)
把数据从
GPU
内存转移到宿主机内存,这个过程对于终端用户透明,并且可以优化宿主机资源利用率

[0004]传统的
GPU
热迁移方案是基于固定大小的数据页
(page size)/>以及日志缓冲区
(logging buffer)
的迁移方案

其中,每个数据页的大小从
4KB

2MB
不等,
GPU
中的主力数据页大小是
2MB
,当某个数据页的某一个
cacheline
被访问时,
GPU
会标记这个数据页为脏页,在热迁移的时候就需要搬运整个脏页,由于数据页中还有很多干净数据,搬运整个数据页就意味着搬运了很多干净数据,热迁移效率不高,并且,数据页越大,热迁移过程中就会搬运越多的干净数据,热迁移效率也就越低

其次,日志缓冲区用于存储写过的脏地址,并且脏地址会重复写入,这会导致在热迁移过程中,
CPU
解析脏地址的负荷过重,并且很多重复的脏地址会浪费大量的
GPU
内存资源和
CPU
资源,导致热迁移的性能大大受影响

此外,日志缓冲区是不定长的,是随着脏地址的增加不断边长的,存在溢出的风险,不利于维护

因此,急需一种更加高效的热迁移方案


技术实现思路

[0005]因此,本专利技术的目的在于克服上述现有技术的缺陷,提供一种新的片上存储装置
、GPU
处理器

服务器系统及热迁移方法

[0006]根据本专利技术的第一方面,提供一种片上存储装置,包括内存模块

一个或多个终极缓存,每个终极缓存用于向所述内存模块进行写操作,其中,每个终极缓存配置有一个备用内存接口模块,所述每个备用内存接口均配置有:地址过滤模块,用于收集其所在备用内存接口对应的终极缓存对所述内存模块行写操作的地址以获得地址对应的数据页,并对相同数据页进行合并过滤后获得所述内存模块中被该终极缓存进行写操作的脏页;比特位图模块,用于记录根据所述地址过滤模块获得的所述内存模块中的脏页,其包括多个比特位,每个比特位用于记录所述内存模块中的一个数据页是否为脏页,不同比特位用于记录所述内存模块中不同的数据页是否为脏页

[0007]可选的,所述每个备用内存接口配置有两个比特位图模块,且所述两个比特位图模块被配置为采用乒乓模式记录所述内存模块中的脏页

[0008]可选的,所述每个比特位图模块被配置为按照如下方式执行:脏页记录达到预设水位时,将脏页记录写入所述内存模块并进行自写零操作后继续用于记录所述内存模块中的脏页

[0009]可选的,所述内存模块包括:内存区,用于供终极缓存进行写操作;日志缓冲区,用于存储从所述比特位图模块写入的脏页记录

[0010]可选的,所述每个备用内存接口中的两个比特位图模块均被配置为:任意一个比特位图模块响应于初始化或另一个比特位图模块触发的超水位中断,开始记录所述内存模块中的脏页并判断所述脏页记录是否超过预设水位,并在超过预设水位时触发超水位中断以触发另一个比特位图模块开始记录脏页;在所述内存模块中上一次被写入的脏页记录被搬运完成后,触发超水位中断后的比特位图模块向所述内存模块的日志缓冲区写入脏页记录,并在写完脏页记录后触发数据搬运中断以触发所述内存模块中被写入的脏页记录以及脏页记录对应的脏页数据被搬运

[0011]可选的,所述每个比特位图模块的存储空间为
32k
比特

[0012]可选的,所述内存模块被配置为:根据所述比特位图模块的存储空间,将内存区划分为多个相同大小的数据页,以使一个数据页对应于所述比特位图模块中的一个比特位

[0013]可选的,所述内存模块还被配置为:根据工作模式动态调整每个数据页的大小,以使一个数据页对应于所述比特位图模块中的一个比特位

[0014]根据本专利技术的第二方面,提供一种片上存储装置,包括内存模块

一个或多个终极缓存,每个终极缓存用于向所述内存模块进行写操作,其中,所述每个终极缓存包括多个内存接口,所述每个内存接口均配置有:地址判断模块和比特位图模块,其中,所述地址判断模块用于获取其所在内存接口对所述内存模块行写操作的地址以获得地址对应的数据页,并根据所述比特位图模块中已有的记录过滤已记录过的数据页后获得所述内存模块中被该终极缓存进行写操作的脏页;比特位图模块,用于记录根据所述地址过滤模块获得的所述内存模块中的脏页,其包括多个比特位,每个比特位用于记录所述内存模块中的一个数据页是否为脏页,不同比特位用于记录所述内存模块中不同的数据页是否为脏页

[0015]可选的,所述每个比特位图模块被配置为按照如下方式执行:脏页记录达到预设水位时,将脏页记录写入所述内存模块并进行自写零操作后继续用于记录所述内存模块中的脏页

[0016]可选的,所述内存模块包括:内存区,用于供终极缓存进行写操作;日志缓冲区,用于存储从所述比特位图模块写入的脏页记录

[0017]可选的,所述每个比特位图模块的存储空间为
32k
比特

[0018]可选的,所述内存模块被配置为:根据所述比特位图模块的存储空间,将内存区划分为多个相同大小的数据页,以使一个数据页对应于所述比特位图模块中的一个比特位

[0019]可选的,所本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种片上存储装置,包括内存模块

一个或多个终极缓存,每个终极缓存用于向所述内存模块进行写操作,其中,每个终极缓存配置有一个备用内存接口模块,其特征在于,所述每个备用内存接口均配置有:地址过滤模块,用于收集其所在备用内存接口对应的终极缓存对所述内存模块行写操作的地址以获得地址对应的数据页,并对相同数据页进行合并过滤后获得所述内存模块中被该终极缓存进行写操作的脏页;比特位图模块,用于记录根据所述地址过滤模块获得的所述内存模块中的脏页,其包括多个比特位,每个比特位用于记录所述内存模块中的一个数据页是否为脏页,不同比特位用于记录所述内存模块中不同的数据页是否为脏页
。2.
根据权利要求1所述的装置,其特征在于,所述每个备用内存接口配置有两个比特位图模块,且所述两个比特位图模块被配置为采用乒乓模式记录所述内存模块中的脏页
。3.
根据权利要求2所述的装置,其特征在于,所述每个比特位图模块被配置为按照如下方式执行:脏页记录达到预设水位时,将脏页记录写入所述内存模块并进行自写零操作后继续用于记录所述内存模块中的脏页
。4.
根据权利要求3所述的装置,其特征在于,所述内存模块包括:内存区,用于供终极缓存进行写操作;日志缓冲区,用于存储从所述比特位图模块写入的脏页记录
。5.
根据权利要求4所述的装置,其特征在于,所述每个备用内存接口中的两个比特位图模块均被配置为:任意一个比特位图模块响应于初始化或另一个比特位图模块触发的超水位中断,开始记录所述内存模块中的脏页并判断所述脏页记录是否超过预设水位,并在超过预设水位时触发超水位中断以触发另一个比特位图模块开始记录脏页;在所述内存模块中上一次被写入的脏页记录被搬运完成后,触发超水位中断后的比特位图模块向所述内存模块的日志缓冲区写入脏页记录,并在写完脏页记录后触发数据搬运中断以触发所述内存模块中被写入的脏页记录以及脏页记录对应的脏页数据被搬运
。6.
根据权利要求5所述的装置,其特征在于,所述内存模块被配置为:根据所述比特位图模块的存储空间,将内存区划分为多个相同大小的数据页,以使一个数据页对应于所述比特位图模块中的一个比特位
。7.
根据权利要求6所述的装置,其特征在于,所述内存模块还被配置为:根据工作模式动态调整每个数据页的大小,以使一个数据页对应于所述比特位图模块中的一个比特位
。8.
一种片上存储装置,包括内存模块

一个或多个终极缓存,每个终极缓存...

【专利技术属性】
技术研发人员:陈洁君金哲宾涂家铭
申请(专利权)人:平头哥上海半导体技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1