本公开的实施例涉及一种系统配置方法、内存同步方法、系统配置装置、内存同步装置、处理系统、电子设备和计算机可读存储介质。
背景技术:
1、计算机利用处理器实现数据运算,不同的处理器可以满足不同的计算需求,例如,gpu(graphics processing unit,图形处理器)可以用于进行图像处理,gpgpu(通用图形处理器)、tpu(张量处理器)、npu(neural network processing,神经网络处理器)等ai加速器可以用于神经网络计算等,并且可以组成集群用于通过云服务等。若需要进行某种计算,可以为设备配置相应类型的处理器,以利用本地处理器进行该种计算,或者,也可以使本地设备通过局域网或广域网与远程的另一设备或多个设备通信,以使用远程的处理器进行计算。
技术实现思路
1、本公开至少一个实施例提供一种系统配置方法,用于第一设备,其中,所述第一设备与第二设备通信,所述系统配置方法包括:获取所述第一设备的第一内存空间,其中,所述第一内存空间与所述第二设备的第二内存空间相对应;配置第一函数,其中,所述第一函数被配置为在所述第一内存空间被第一访问请求访问而触发访问错误事件时被调用,所述第一函数包括执行与所述第一访问请求对应的访问操作,以及包括执行与所述第一访问请求关联的对于所述第二内存空间相对于所述第一内存空间的内存同步操作。
2、例如,本公开一实施例提供的系统配置方法还包括:将所述第一内存空间配置为不可访问状态,以在所述第一内存空间被所述第一访问请求访问时触发所述访问错误事件。
3、例如,在本公开一实施例提供的系统配置方法中,所述访问错误事件包括段错误事件;所述第一函数为对应于所述段错误事件注册的回调函数。
4、例如,在本公开一实施例提供的系统配置方法中,所述第一函数还包括:在执行所述内存同步操作和所述访问操作前,将所述第一内存空间从所述不可访问状态变更为可访问状态;以及在执行所述内存同步操作和所述访问操作之后,将所述第一内存空间从所述可访问状态变更回所述不可访问状态。
5、例如,在本公开一实施例提供的系统配置方法中,获取所述第一设备的第一内存空间,包括:根据所述第一设备提供的关于内存分配的程序接口,记录所述第一设备分配的第一内存地址空间,以作为所述第一内存空间。
6、例如,本公开一实施例提供的系统配置方法还包括:通过所述第一设备与所述第二设备协商,由所述第二设备分配与所述第一内存地址空间相对应的第二内存地址空间,以作为所述第二内存空间。
7、本公开至少一实施例提供了一种内存同步方法,用于第一设备,其中,所述第一设备包括第一内存空间,所述第一设备与第二设备通信,所述第二设备包括与所述第一内存空间对应的第二内存空间,所述内存同步方法包括:响应于针对所述第一内存空间的第一访问请求,触发与所述第一内存空间对应的访问错误事件;响应于所述访问错误事件,调用第一函数,以执行与所述第一访问请求对应的访问操作,以及执行与所述第一访问请求关联的对于所述第二内存空间相对于所述第一内存空间的内存同步操作。
8、例如,在本公开一实施例提供的内存同步方法中,所述第一内存空间被配置为不可访问状态,以在所述第一内存空间被所述第一访问请求访问时触发所述访问错误事件。
9、例如,在本公开一实施例提供的内存同步方法中,所述访问错误事件包括段错误事件;所述第一函数为对应于所述段错误事件注册的回调函数。
10、例如,在本公开一实施例提供的内存同步方法还包括:在执行所述内存同步操作和所述访问操作之前,将所述第一内存空间从所述不可访问状态变更为可访问状态;以及在执行所述内存同步操作和所述访问操作之后,将所述第一内存空间从所述可访问状态变更回所述不可访问状态。
11、例如,在本公开一实施例提供的内存同步方法中,所述第一访问请求为读请求,所述第一访问请求包括第一访问地址;执行与所述第一访问请求对应的访问操作,以及执行与所述第一访问请求关联的对于所述第二内存空间相对于所述第一内存空间的内存同步操作,包括:接收所述第二设备发送的所述第二内存空间中的第一待同步数据,其中,所述第一待同步数据包括所述第二内存空间中与所述第一访问地址相对应的位置存储的数据;将所述第一待同步数据写入所述第一内存空间的相应位置;从所述第一内存空间读取所述第一访问地址存储的数据。
12、例如,在本公开一实施例提供的内存同步方法中,所述第一访问请求为写请求,所述第一访问请求包括待写入数据和第一访问地址;执行与所述第一访问请求对应的访问操作,以及执行与所述第一访问请求关联的对于所述第二内存空间相对于所述第一内存空间的内存同步操作,包括:将所述待写入数据写入所述第一内存空间中与所述第一访问地址相对应的位置;将所述第一内存空间的第二待同步数据传输至所述第二设备,以使所述第二设备将所述第二待同步数据写入所述第二内存空间,其中,所述第二待同步数据包括所述第一内存空间中与所述第一访问地址对应的位置存储的数据。
13、例如,在本公开一实施例提供的内存同步方法中,所述第一设备为所述第一内存空间分配的第一内存地址空间与所述第二设备为所述第二内存空间分配的第二内存地址空间相对应;所述第一访问请求包括第一访问地址;所述内存同步操作的地址范围为所述第一内存空间中所述第一访问地址所在的第一地址段和所述第二内存空间中与所述第一地址段对应的第二地址段。
14、例如,在本公开一实施例提供的内存同步方法中,所述第一设备还与除所述第二设备之外的n个设备通信,所述n个设备中分别包括与所述第一内存空间对应的n个预定内存空间,所述内存同步方法还包括:利用所述第一函数,执行与所述第一访问请求关联的对于所述n个预定内存空间相对于所述第一内存空间的内存同步操作。其中,n为大于等于1的整数。
15、例如,在本公开一实施例提供的内存同步方法中,所述第一设备利用所述第二设备的处理器执行计算任务,所述第二内存空间用于存储所述处理器的待处理数据和处理结果数据,其中,所述处理器包括图形处理器或通用图形处理器。
16、例如,在本公开一实施例提供的内存同步方法中,执行与所述第一访问请求对应的访问操作,以及执行与所述第一访问请求关联的对于所述第二内存空间相对于所述第一内存空间的内存同步操作,包括:基于所述第一访问请求,生成第一同步任务,并将所述第一同步任务加入任务队列中;按顺序执行所述任务队列中的任务,其中,在所述第一同步任务被执行时,执行与所述第一访问请求对应的访问操作,以及执行与所述第一访问请求关联的对于所述第二内存空间相对于所述第一内存空间的内存同步操作。
17、本公开至少一实施例还提供了一种内存同步方法,用于包括第一设备和第二设备的系统,其中,所述第一设备包括第一内存空间,所述第二设备包括与所述第一内存空间对应的第二内存空间,所述内存同步方法包括:响应于针对所述第一内存空间的第一访问请求,触发与所述第一内存空间对应的访问错误事件;响应于所述与所述第一内存空间对应的访问错误事件,调用第一函数,以执行与所述第一访问请求对应的访问操作,以及执行与所述第一访问请求关联的对于所述第二内存空间相对于所述第一内存空间的内存同步操作。
18、例如,本公开一实施例提供的内存同步方法还包括:响应于针对所述第二内存空间的第二访问请求,触发与所述第二内存空间对应的访问错误事件;响应于所述与所述第二内存空间对应的访问错误事件,调用第二函数,以执行与所述第二访问请求对应的访问操作,以及执行与所述第二访问请求关联的对于所述第一内存空间相对于所述第二内存空间的内存同步操作。
19、本公开至少一实施例还提供了一种内存同步装置,用于第一设备,其中,所述第一设备包括第一内存空间,所述第一设备与第二设备通信,所述第二设备包括与所述第一内存空间对应的第二内存空间,所述内存同步装置包括第一响应单元和第二响应单元,第一响应单元配置为响应于针对所述第一内存空间的第一访问请求,触发与所述第一内存空间对应的访问错误事件;第二响应单元配置为响应于所述访问错误事件,调用第一函数,以执行与所述第一访问请求对应的访问操作,以及执行与所述第一访问请求关联的对于所述第二内存空间相对于所述第一内存空间的内存同步操作。
20、本公开至少一实施例还提供了一种处理系统,该处理系统包括第一设备和第二设备,第一设备包括第一内存空间;第二设备与所述第一设备通信,包括与所述第一内存空间对应的第二内存空间;其中,所述第一设备配置为:响应于针对所述第一内存空间的第一访问请求,触发与所述第一内存空间对应的访问错误事件;响应于所述访问错误事件,调用第一函数,以执行与所述第一访问请求对应的访问操作,以及执行与所述第一访问请求关联的对于所述第二内存空间相对于所述第一内存空间的内存同步操作。
21、本公开至少一个实施例提供一种电子设备,包括处理器;存储器,存储有一个或多个计算机程序模块;其中,所述一个或多个计算机程序模块被配置为由所述处理器执行,用于实现本公开任一实施例提供的系统配置方法和内存同步方法。
22、本公开至少一个实施例提供一种计算机可读存储介质,存储有非暂时性计算机可读指令,当所述非暂时性计算机可读指令由计算机执行时可以实现本公开任一实施例提供的系统配置方法和内存同步方法。