CN111190837B - 一种信息通信方法、装置及计算机可读存储介质 - Google Patents

一种信息通信方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN111190837B
CN111190837B CN201910743411.2A CN201910743411A CN111190837B CN 111190837 B CN111190837 B CN 111190837B CN 201910743411 A CN201910743411 A CN 201910743411A CN 111190837 B CN111190837 B CN 111190837B
Authority
CN
China
Prior art keywords
processor
target
address
virtual address
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910743411.2A
Other languages
English (en)
Other versions
CN111190837A (zh
Inventor
宋吉科
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology (Shenzhen) Co Ltd
Original Assignee
Tencent Technology (Shenzhen) Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology (Shenzhen) Co Ltd filed Critical Tencent Technology (Shenzhen) Co Ltd
Priority to CN201910743411.2A priority Critical patent/CN111190837B/zh
Publication of CN111190837A publication Critical patent/CN111190837A/zh
Application granted granted Critical
Publication of CN111190837B publication Critical patent/CN111190837B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00—Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02—Addressing or allocation; Relocation
    • G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10—Address translation
    • G06F12/109—Address translation for multiple virtual address spaces, e.g. segmentation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请实施例公开了一种信息通信方法、装置及计算机可读存储介质,本申请实施例在接收到通信指令时,确定访问控制服务的状态信息;当检测到状态信息为预设状态信息时,拦截目标处理器的虚拟地址写入源处理器的传递事件;根据预设关系和虚拟地址计算出真实地址;将真实地址写入源处理器中,并响应通信指令,使得源处理器根据真实地址实现与目标处理器的信息通信。以此,在信息通信时,将目标处理器的虚拟地址写入源处理器的传递事件进行拦截,根据预设关系和虚拟地址计算出真实地址并写入源处理器中,在节省了虚拟地址通过上游设备进行翻译的时间的前提下,还避免了源处理器使用虚拟地址进行通信导致信息通信失败,极大的提升了信息通信的效率。

Description

一种信息通信方法、装置及计算机可读存储介质
技术领域
本申请涉及计算机通信技术领域,具体涉及一种信息通信方法、装置及计算机可读存储介质。
背景技术
随着计算机和互联网技术的发展,虚拟化技术得到迅速发展。采用虚拟化技术的平台隐藏特定计算平台的实际物理特性,在一个平台上可以运行多个操作系统,每个操作系统都可以在需要时访问其所需的资源,从而为用户提供抽象、模拟的计算环境(即虚拟机),这些虚拟机在相互独立的空间内运行而互不影响,显著地提高了计算机或者服务器的工作效率。
现有技术中,虚拟机一个具体应用就是云计算平台,云计算平台采用虚拟化技术从大量的分布式计算机集群虚拟出来多个类似独立的云主机,可以给企业或个人提供动态易扩展、虚拟化资源的互联网服务模式,从而使得企业或个人可以根据需求访问云主机和存储系统,从而通过云主机和云计算服务可以快速享用强大的信息技术资源,避免复杂的系统管理,降低成本。
在对现有技术的研究和实践过程中,本申请的发明人发现,现有技术中,云主机内部的处理器彼此在进行点到点(Peer-to-Peer,P2P)通信时,需要通过外设内存管理单元对处理器的虚拟物理地址进行实时地址翻译,导致通信时间增长,通信效率较差。
发明内容
本申请实施例提供一种信息通信方法、装置及计算机可读存储介质,旨在提升信息通信的效率。
为解决上述技术问题,本申请实施例提供以下技术方案:
一种信息通信方法,包括:
在接收到通信指令时,确定访问控制服务的状态信息;
当检测到所述状态信息为预设状态信息时,拦截目标处理器的虚拟地址写入源处理器的传递事件;
根据预设关系和所述虚拟地址计算出真实地址;
将所述真实地址写入源处理器中,并响应所述通信指令,使得所述源处理器根据所述真实地址实现与目标处理器的信息通信。
一种信息通信装置,包括:
确定单元,用于在接收到通信指令时,确定访问控制服务的状态信息;
拦截单元,用于当检测到所述状态信息为预设状态信息时,拦截目标处理器的虚拟地址写入源处理器的传递事件;
计算单元,用于根据预设关系和所述虚拟地址计算出真实地址;
通信单元,用于将所述真实地址写入源处理器中,并响应所述通信指令,使得所述源处理器根据所述真实地址实现与目标处理器的信息通信。
在一些实施例中,所述通信单元,具体用于:
将所述真实地址替换所述传递事件中的虚拟地址;
启动所述传递事件,将替换后的真实地址写入源处理器相应的目标寄存器中;
响应所述通信指令,使得所述源处理器根据所述真实地址实现与目标处理器的信息通信。
在一些实施例中,所述计算单元,具体用于:
获取虚拟地址和相应的目标地址偏移量;
根据所述目标地址偏移量对所述虚拟地址进行偏移处理,得到相应的真实地址。
在一些实施例中,所述信息通信装置还包括:
获取单元,用于当检测到为目标处理器分配内存映射输入/输出地址时,获取目标地址偏移量和所述目标处理器相应的真实地址;
反偏移单元,用于根据所述目标地址偏移量对所述真实地址进行反偏移处理,得到相应的虚拟地址。
在一些实施例中,所述信息通信装置还包括:
控制单元,用于控制所述高速串行计算机扩展总线链路中的下行链路的访问控制服务关闭点到点重定向请求,使得关闭通过外设内存管理单元将虚拟地址翻译为真实地址的操作。
本发明实施例还提供一种计算机可读存储介质,其内存储有处理器可执行指令,所述指令由一个或一个以上处理器加载,以执行上述信息通信方法。
本申请实施例在接收到通信指令时,确定访问控制服务的状态信息;当检测到状态信息为预设状态信息时,拦截目标处理器的虚拟地址写入源处理器的传递事件;根据预设关系和虚拟地址计算出真实地址;将真实地址写入源处理器中,并响应通信指令,使得源处理器根据真实地址实现与目标处理器的信息通信。以此,进行信息通信时,将目标处理器的虚拟地址写入源处理器的传递事件进行拦截,根据预设关系和虚拟地址计算出真实地址,将真实地址写入源处理器中,在节省了虚拟地址通过上游设备进行翻译的时间的前提下,还避免了源处理器使用虚拟地址进行通信导致信息通信失败,极大的提升了信息通信的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的信息通信系统的场景示意图;
图2是本申请实施例提供的信息通信方法的流程示意图;
图3是本申请实施例提供的信息通信方法的另一流程示意图;
图4a为本申请实施例提供的高速串行计算机扩展总线的结构示意图;
图4b为本申请实施例提供的高速串行计算机扩展总线链路的结构示意图;
图5a是本申请实施例提供的信息通信装置的结构示意图;
图5b是本申请实施例提供的信息通信装置的另一结构示意图;
图5c是本申请实施例提供的信息通信装置的另一结构示意图;
图6是本申请实施例提供的服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种信息通信方法、装置、及计算机可读存储介质。
请参阅图1,图1为本申请实施例所提供的信息通信系统的场景示意图,包括:基础服务器、和虚拟化的云主机(该基础服务器和虚拟化的云主机还可以包括更多,具体个数在此不作限定),该基础服务器即为物理机,也称为实体服务器,是相对于虚拟机(VirtualMachine)而言的实体计算机的称呼,物理机提供给虚拟机的硬件环境,也称为“宿主”或者“寄主”。通过对该基础服务器进行虚拟化,每台基础服务器都可以虚拟化出多个云主机,该云主机即为虚拟机,也可以称为虚拟专用服务器(Virtual Private Server,VPS),是将一个服务器分区成多个虚拟独立专享服务器的技术。每个使用VPS技术的虚拟独立服务器拥有各自独立的公网互联网协议(Internet Protocol Address,IP)地址、操作系统、硬盘空间、内存空间、处理器(Central Processing Unit,CPU)资源等,还可以进行安装程序、重启服务器等操作,与运行一台独立服务器完全相同。也就是说通过软件层面,对一台服务器进行虚拟划分,虚拟出来多台服务器,这样就能让只需要一点点计算能力用户享用到大型服务器的计算资源。从广义上讲,云主机就是VPS,只不过云主机是在所有基础服务器或者虚拟机上进一步虚拟化所有基础资源,例如内存带宽等等。云主机的优势在于它可以分布式存储数据,动态扩展基础资源。安全性和扩展性较强。
该每台云主机拥有独立的操作系统和硬件结构,与运行一台独立主机完全相同,只不过每台云主机中的物理地址都为虚拟机的物理地址,每台云主机中可以安装有多个处理器,如一台云主机中安装有多个图形处理器(Graphics Processing Unit,GPU),在云主机接收到通信指令时,确定访问控制服务的状态信息,当检测到状态信息为预设状态信息时,拦截目标处理器的虚拟地址写入源处理器的传递事件,根据预设关系和虚拟地址计算出真实地址,将该真实地址写入源处理器中,并响应通信指令,使得该源处理器根据真实地址实现与目标处理器的信息通信。
需要说明的是,图1所示的信息通信系统的场景示意图仅仅是一个示例,本申请实施例描述的信息通信系统以及场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着信息通信系统的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
以下分别进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。
实施例一、
在本实施例中,将从信息通信装置的角度进行描述,该信息通信装置具体可以集成在具备储存单元并安装有微处理器而具有运算能力的云主机中。
一种信息通信方法,包括:在接收到通信指令时,确定访问控制服务的状态信息;当检测到状态信息为预设状态信息时,拦截目标处理器的虚拟地址写入源处理器的传递事件;根据预设关系和虚拟地址计算出真实地址;将真实地址写入源处理器中,并响应通信指令,使得源处理器根据真实地址实现与目标处理器的信息通信。
请参阅图2,图2是本申请实施例提供的信息通信方法的流程示意图。该信息通信方法包括:
在步骤101中,在接收到通信指令时,确定访问控制服务的状态信息。
一台云主机中可以安装有多个处理器,如图形处理器和中央处理器,为了加快运算效率,需要让多个处理器同时运行并彼此进行通信,为了更好的说明本申请实施例,将该处理器以图形处理器为例进行说明,该图形处理器又称为显示核心、视觉处理器或者显示芯片,是一种专门做图像运算工作的微处理器,点到点技术为图形处理器之间进行连接的核心技术,而人工智能(Artificial Intelligence,AI)训练中的图形处理的性能依赖于该图形处理器之间的点到点传递速度,因此,图形处理器之间进行连接通信的速度决定了人工智能训练的效率。
人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
以计算机视觉技术(Computer Vision,CV)为例,计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括信息通信、图像识别、图像语义理解、图像检索、光学字符识别(Optical Character Recognition,OCR)、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
本申请实施例提供的方案涉及人工智能的计算机视觉技术等技术,该多个图形处理器之间的信息通信速度越快,该计算机视觉技术的识别速度也相应增加,具体通过如下实施例进行说明:
可以理解的是,图形处理器都是通过高速串行计算机扩展(peripheralcomponent interconnect express,PCIe)总线进行互相接通的,该高速串行计算机扩展总线采用了串行连接方式,并采用点到点的数据传输方式,在高速串行计算机扩展总线上的接通的两个图形处理器使用事务层(Transaction Layer Packet,TLP)包进行信息通信,但是,处于高速串行计算机扩展总线上的图形处理器是否可以进行信息通信,取决于物理拓扑,在云主机上的虚拟化环境中,由于云主机的高速串行计算机扩展总线系统的拓扑是平坦且没有层次的,所以原则上云主机中的图形处理器不能进行点到点信息通信。
为了克服上述问题,图形处理器提供商提供了一种功能组件,即GPUDirect组件,通过该GPUDirect组件可以将能够进行点到点信息通信的图形处理器赋值相同的预设标识(ID),使得云主机通过该预设标识仍然可以确认哪些图形处理器之间可以进行点到点信息通信。
此时,仍然存在问题,即使通过该GPUDirect组件告诉了云主机哪些图形处理器可以进行点到点信息通信是不够的,因为在云主机的虚拟化系统中,云主机内部只能看到图形处理器的虚拟地址(Guest Physical Address,GPA),无法看到图形处理器的真实地址(Host Physical Address,HPA),因此,当点到点的事务层包发出时,携带的为虚拟地址,这个地址无法送到目标图形处理器和高速串行计算机扩展总线上,否则就会出现通信错误,为了解决该问题,工业界提出解决方案,把接通同一云主机的所有图形处理的内存映射输入/输出地址,即虚拟地址,都在外设内存管理单元(i/o memory management unit,IOMMU)做了映射处理,使得源图形处理器发送携带目标设备的虚拟地址的事务层包发出时,该外设内存管理单元会将虚拟地址翻译为真实地址,以此实现图形处理器之间的通信。
本申请实施例就是基于上述技术进行改进的,由于该外设内存管理单元处于图形处理器的上游链路端口,所以如果每一次信息通信都需要将该虚拟地址传递到该外设内存管理单元进行翻译的话,会浪费时间,影响点到点信息通信时间,间接导致人工智能训练模型中的多个图形处理器无法高效并行计算,因此,本申请可以实现将通过外设内存管理单元对虚拟地址进行翻译的操作关闭。该通信指令即为图形处理器之间的通信请求产生,当接收到该通信指令时,确定该访问控制服务(Access Control Service,ACS)的状态信息,该访问控制服务用于控制虚拟地址是否传递到外设内存管理单元进行翻译的功能,具体为通过对状态信息的判定,该状态信息可以理解为开关信息,当该状态信息为预设状态信息时,为该访问控制服务关闭该外设内存管理单元对虚拟地址的翻译的功能,当该状态信息不为预设状态信息时,为该访问控制服务开启该外设内存管理单元对虚拟地址的翻译的功能。
在一些实施方式中,该确定访问控制服务的状态信息的步骤,可以包括:
(1)获取高速串行计算机扩展总线链路中的下行链路端口的访问控制服务;
(2)检测该访问控制服务是否开启点到点重定向请求;
(3)判定为访问控制服务的状态信息为预设状态信息。
其中,该高速串行计算机扩展总线链路中包括上行链路端口(Upstream Port)和下行链路端口(Downstream Port),而该下行链路的访问控制服务可以控制该虚拟地址是否发到上行链路端口,进而通过外设内存管理单元对虚拟地址进行翻译,所以,可以首先获取高速串行计算机扩展总线链路中的下行链路端口的访问控制服务。
进一步的,该访问控制服务中具体控制是否由外设内存管理单元对虚拟地址进行翻译功能的为重定向(P2P Redirect)请求,检测该处于下行链路端口的访问控制服务是否开启点到点重定向请求,当检测到该访问控制服务未开启点到点重定向请求时,说明该访问控制服务关闭外设内存管理单元对虚拟地址进行翻译的功能,判定为访问控制服务的状态为预设状态信息。
在步骤102中,当检测到状态信息为预设状态信息时,拦截目标处理器的虚拟地址写入源处理器的传递事件。
其中,该源处理器可以为源图形处理器,即发出事务层包(信息)的图形处理器,该目标处理器为接收事务层包(信息)的图形处理器,云主机可以根据预设标识找到需要进行信息通信的源图形处理器和目标处理器。基于此,当检测到状态信息不为预设状态信息时,说明访问控制服务关闭了外设内存管理单元对虚拟地址的翻译,为了实现信息通信,首先该目标图形处理器需要将虚拟地址写入源图形处理器中。
进一步的,由于该访问控制服务关闭了外设内存管理单元对于虚拟地址的翻译,所以该源图形处理器将事务层包发送到目标图形处理器中时携带的为虚拟地址,会造成通信错误,导致信息通信失败。
因此,当检测到状态信息为预设状态信息时,会将该目标图形处理器的虚拟地址写入源图形处理器的传递事件进行拦截,以避免上述通信失败的情况。
在一些实施方式中,该拦截目标处理器的虚拟地址写入源处理器的传递事件的步骤,可以包括:
(1)通过预设标识确定出源处理器和相应的目标处理器;
(2)获取该源处理器相应的目标寄存器;
(3)拦截该目标处理器的虚拟地址写入该源处理器相应的目标寄存器的传递事件。
其中,由于GPUDirect组件将可以进行点到点信息通信的图形处理器赋值相同的预设标识,因此云主机可以通过该预设标识确定出发送信息的源图形处理器和相应接收信息的目标图形处理器,并获取该源图形处理器相应的目标寄存器,该源图形处理器相应的目标寄存器,该目标寄存器即为源图形处理器上的内存空间,专门用于存储需要进行信息通信的目标图形处理器的地址,该地址可以为虚拟地址或者真实地址,由于本申请将外设内存管理单元对虚拟地址的翻译功能关闭,所以需要将真实地址写入该目标寄存器,以实现后期的信息通信。
进一步的,需要对源图形处理器上所有的寄存器进行遍历,确定出目标寄存器,并设置专门用于拦截虚拟地址的拦截事件,使得当检测到目标图形处理器的虚拟地址写入该源图形处理器相应的目标寄存器的传递事件时,进行拦截处理。
在一些实施方式中,该获取该源处理器相应的目标寄存器的步骤,可以包括:
(1.1)获取该源处理器中的寄存器以及寄存器布局信息,该寄存器布局信息指示目标寄存器;
(1.2)根据该寄存器布局信息对该寄存器进行遍历,确定出相应的目标寄存器,并对该目标寄存器设置拦截事件,该拦截事件用于拦截虚拟地址的写入操作。
其中,获取该源图形处理器中的每一寄存器和寄存器布局信息,该寄存器布局信息可以为图形处理器厂商提供或者通过寄存器检测软件进行检测得到,该寄存器布局信息指示每一寄存器的作用,相应的也指示目标寄存器的位置信息。
进一步的,可以基于目标寄存器的位置信息对每一寄存器进行遍历,找到目标寄存器,并对该目标寄存器设置拦截事件,该拦截事件用于拦截虚拟地址的写入操作。
在一些实施方式中,该拦截该目标处理器的虚拟地址写入该源处理器相应的目标寄存器的传递事件的步骤,可以包括:当检测到将目标处理器的虚拟地址写入到源处理器相应的目标寄存器中时,触发该目标寄存器中的该拦截事件,拦截该目标处理器的虚拟地址写入该源处理器相应的目标寄存器的传递事件。
其中,当检测到将目标图形处理器的虚拟地址写入到源图形处理器相应的目标寄存器中,会相应的触发设置在目标寄存器中的拦截事件,拦截该目标图形处理器的虚拟地址写入该源图形处理器相应的目标寄存器的传递事件,以避免后期源图形处理器将事务层包发送到目标图形处理器中时携带虚拟地址,导致出现通信失败。
在步骤103中,根据预设关系和虚拟地址计算出真实地址。
其中,该预设关系可以为偏移量关系或者编码解密关系,当该预设关系为偏移量关系时,需要在该云主机进行初始虚拟化时,为目标图形处理器分配内存映射输入/输出地址时,直接获取目标偏移量和目标图形处理器的真实地址,可以根据该目标偏移量对该真实地址进行反偏移处理,得到相应的虚拟地址,使得后续可以根据目标偏移量对该虚拟地址进行偏移处理,得到相应的真实地址,该目标偏移量可以是云主机内部的机密信息。
当该预设关系为编码解密关系时,需要云主机为目标图形处理器分配内存映射输入/输出地址时,直接获取目标编码规则和目标图形处理器的真实地址,可以根据该目标编码规则对该真实地址进行编码处理,得到相应的虚拟地址,使得后续可以根据该目标编码规则对该虚拟地址进行编码处理,得到相应的真实地址,该目标编码规则为云主机内部的机密信息。
需要特别说明的是,为了保护云主机和安装在云主机上的图形处理器的安全,是不能让云主机上的图形处理器的虚拟地址直接等于该图形处理器的真实地址,如果该虚拟地址直接等于该图形处理器的真实地址,非法用户则可以通过该虚拟地址直接对该云主机中的图形处理器进行访问,导致云主机的信息丢失。
在一些实施方式中,该根据预设关系和虚拟地址计算出真实地址的步骤,可以包括:
(1)获取虚拟地址和相应的目标地址偏移量;
(2)根据该目标地址偏移量对该虚拟地址进行偏移处理,得到相应的真实地址。
其中,确定该预设关系为偏移量关系,获取目标图形处理器的虚拟地址和相应的目标地址偏移量,由于云主机在为目标图形处理器分配内存映射输入/输出地址时,该虚拟地址为根据目标偏移量对目标图形处理器进行反偏移处理得到,因此,根据目标地址偏移量对该虚拟地址进行偏移处理,可以得到相应的真实地址。
在一实施方式中,为了增加云主机内部信息的安全,该目标地址偏移量是可动态变化的,即每一个目标处理器的目标地址偏移量都可以不同。
在步骤104中,将真实地址写入源处理器中,并响应通信指令,使得源处理器根据真实地址实现与目标处理器的信息通信。
其中,在拦截将目标图形处理器的虚拟地址写入源图形处理器的传递事件,并通过虚拟地址得到真实地址之后,可以将该真实地址直接写入到源图形处理器中,此时,虽然该访问控制服务的状态信息为预设状态信息,即访问控制服务关闭外设内存管理单元对虚拟地址的翻译的功能,但是源图形处理器中接收到的是真实地址,所以该源图形处理器可以根据该真实地址找到目标图形处理器,实现与目标图形处理器的信息通信,以此,省去源图形处理器在与目标图形处理器进行信息通信时,需要将虚拟地址上发到外设内存管理单元进行翻译再传递回来的时间,加快了多个图形处理器之间信息通信的速度,提升了云主机内部图形处理器的信息通信效率,进而使得计算机视觉技术的识别速度也相应增加。
在一些实施方式中,该将真实地址写入源处理器中的步骤,可以包括:
(1)将该真实地址替换该传递事件中的虚拟地址;
(2)启动该传递事件,将替换后的真实地址写入源处理器相应的目标寄存器中。
其中,云主机内部可以将该真实地址替换该传递事件中的虚拟地址,并重新启动该传递事件,将替换后的真实地址写入源图形处理器相应的目标寄存器中,该源图形处理器相应的目标寄存器会将该真实地址进行保存,以实现后期源图形处理器与目标图形处理器进行信息通信时,直接通过目标寄存器中的真实地址接通目标图形处理器进行信息通信,省去传递到上游的外设内存管理单元进行翻译的过程和时间,提升了信息通信效率。
由上述可知,本申请实施例在接收到通信指令时,确定访问控制服务的状态信息;当检测到状态信息为预设状态信息时,拦截目标处理器的虚拟地址写入源处理器的传递事件;根据预设关系和虚拟地址计算出真实地址;将真实地址写入源处理器中,并响应通信指令,使得源处理器根据真实地址实现与目标处理器的信息通信。以此,进行信息通信时,将目标处理器的虚拟地址写入源处理器的传递事件进行拦截,根据预设关系和虚拟地址计算出真实地址,将真实地址写入源处理器中,在节省了虚拟地址通过上游设备进行翻译的时间的前提下,还避免了源处理器使用虚拟地址进行通信导致信息通信失败,极大的提升了信息通信的效率。
实施例二、
根据实施例一所描述的方法,以下将举例作进一步详细说明。
在本实施例中,将以该信息通信装置具体集成在服务器中,该服务器为云主机为例进行说明,且本申请实施例中的处理器为图形处理器,具体参照以下说明。
请参阅图3,图3为本申请实施例提供的信息通信方法的另一流程示意图。该方法流程可以包括:
在步骤201中,当服务器检测到为目标处理器分配内存映射输入/输出地址时,获取目标地址偏移量和目标处理器相应的真实地址,根据目标地址偏移量对真实地址进行反偏移处理,得到相应的虚拟地址。
其中,本申请实施例是以高速串行计算机扩展总线架构为实施背景,如图4a所示,图4a为本申请实施例提供的高速串行计算机扩展总线的结构示意图,该高速串行计算机扩展总线架构使用与网络协议类似的点对点串行通信机制,多个连接在高速串行计算机扩展总线架构上的图形处理器可以通过交换器(Switch)互相连接,形成一个树形的高速串行计算机扩展总线的拓扑结构,根节点(Root Complex)用来连接处理器、内存系统、IO系统和外设内存管理单元。
基于此,当服务器检测到目标图形处理器的插入时,需要自动为目标图形处理器分配内存映射输入/输出地址,即分配一个在云主机上的虚拟地址,该虚拟地址为目标图形处理器在云主机内部的假地址,也可以理解为在虚拟机中的物理地址,使用该假地址无法实现与其他图形处理器的信息通信,所以,该云主机可以获取目标地址偏移量和目标图形处理器相应的真实地址,该真实地址可以目标图形处理器在云主机相应的物理机中的真实地址,使用该真实地址可以实现与其他图形处理器的信息通信。比如,该目标图形处理器的真实地址可以为0XFFFF1234,该目标地址偏移量为0000001234,根据目标地址偏移量0000001234对该真实地址0XFFFF1234进行反偏移处理,可以得到相应的虚拟地址0XFFFF0000。
在步骤202中,服务器控制高速串行计算机扩展总线链路中的下行链路的访问控制服务关闭点到点重定向请求,使得关闭通过外设内存管理单元将虚拟地址翻译为真实地址的操作。
其中,该高速串行计算机扩展总线结构中包含高速串行计算机扩展总线链路,如图4b所示,图4b为本申请实施例提供的高速串行计算机扩展总线链路的结构示意图,该高速串行计算机扩展总线链路使用端对端的数据传送方式,在一条高速串行计算机扩展总线链路中,两个端口之间是完全相等的,可以用于连接发送与接收图形处理器,而且一个高速串行计算机扩展总线链路的一段只能连接一个图形处理器,所以需要Swich扩展高速串行计算机扩展总线链路,使得多个图形处理器之间可以实现连通,该Swich为一个特殊的设备,由一个上行链路端口和2至多个下行链路端口组成,与根节点直接或者间接连接的端口为上行链路端口,除了上行链路端口外,其他所有端口都被称为下行链路端口,下行链路端口与图形处理器相连,或者连接下一级的Switch继续扩展高速串行计算机扩展总线链路,与上行链路端口连接的链路称为上行链路,与下行链路端口连接的链路称为下行链路。
通过前述,可以看出在两个图形处理器进行信息通信时,如源图形处理器与目标图形处理器需要进行信息通信时,需要将目标图形处理器中的虚拟地址通过上行链路传递到根节点,并通过根节点传递给预设管理单元进行翻译,得到真实地址,得到真实地址后,还需要通过该预设管理单元将真实地址传递给根节点,该根节点通过下行链路传递到源图形处理器中,实现将虚拟地址翻译的整个过程,该过程繁琐,导致翻译时间过长,会影响源图形处理器与目标图形处理器的通信时间,影响通信效率。
因此,在本申请中,服务器需要将通过外设内存管理单元将虚拟地址翻译为真实地址的操作功能关闭,而由于该功能是受控于下游链路端口的访问控制服务中的重定向请求,所以需要控制高速串行计算机扩展总线中的下行链路的访问控制服务关闭重定向请求,即可以关闭通过外设内存管理单元对虚拟地址进行翻译的功能。
在步骤203中,服务器在接收到通信指令时,获取高速串行计算机扩展总线链路中的下行链路端口的访问控制服务。
其中,服务器在接收到通信指令时,获取高速串行计算机扩展总线链路中的下行链路端口的访问控制服务,以此确定该访问控制服务是否开通重定向请求。
在步骤204中,服务器检测访问控制服务是否开启点到点重定向请求。
其中,当服务器检测到访问控制服务开启点到点重定向请求时,说明需要通过将目标图形处理器的虚拟地址传递到外设内存管理单元进行翻译,返回执行步骤202,重新控制高速串行计算机扩展总线链路中的下行链路的访问控制服务关闭点到点重定向请求。当服务器检测到访问控制服务未开启点到点重定向请求时,执行步骤205。
在步骤205中,服务器判定为访问控制服务的状态信息为预设状态信息,通过预设标识确定出源处理器和相应的目标处理器,获取源处理器中的寄存器以及寄存器布局信息,根据寄存器布局信息对寄存器进行遍历,确定出相应的目标寄存器,并对目标寄存器设置拦截事件。
其中,当服务器检测到访问控制服务未开启点到点重定向请求时,说明目标图形处理器的虚拟地址不会被传递到外设内存管理单元中进行翻译,判定为访问控制服务器的状态为预设状态。
进一步的,服务器通过GPUQDirect组件确定预设标识相同,即可以进行通信的源图形处理器和相应的目标图形处理器,由于该目标图形处理器中的地址需要写入该源图形处理器中,实现后期信息通信,所以需要获取源处理器中的每一寄存器和寄存器布局信息,该寄存器布局信息可以为图形处理器厂商提供的寄存器的分布信息,相应指示目标寄存器的位置信息。
因此,可以根据该目标寄存器的位置信息对源图形处理器中的每一寄存器进行遍历,确定出相应的目标寄存器,由于关闭了预设内存单元对于虚拟地址的翻译功能,为了防止目标图形处理器将虚拟地址直接写入源图形处理器的目标寄存器中,需要在该目标寄存器中设置拦截事件,该拦截事件用于拦截虚拟地址的写入操作。
在步骤206中,当服务器检测到将目标处理器的虚拟地址写入源处理器相应的目标寄存器中时,触发目标寄存器中的拦截事件,拦截目标处理器的虚拟地址写入源处理器相应的目标寄存器的传递事件。
其中,当服务器检测到将目标图形处理器的虚拟地址写入源图形处理器相应的目标寄存器中时,会触发预先设置的拦截事件,拦截该目标图形处理器的虚拟地址写入该源图形处理器相应的目标寄存器的传递事件,以避免后期源处理器将事务层包发送到目标图形处理器中时携带虚拟地址,导致出现通信失败。
在步骤207中,服务器获取虚拟地址和相应的目标地址偏移量,根据目标地址偏移量对虚拟地址进行偏移处理,得到相应的真实地址。
其中,服务器在拦截了该目标图形处理器的虚拟地址写入该源图形处理器相应的目标寄存器的传递事件后,会实时获取目标图形处理器的虚拟地址和相应的目标地址偏移量,比如获取虚拟地址0XFFFF0000和相应的目标地址偏移量0000001234。
进一步的,根据目标地址偏移量0000001234对该虚拟地址0XFFFF0000进行偏移处理,得到相应的真实地址0XFFFF1234。
在步骤208中,服务器将真实地址替换传递事件中的虚拟地址,启动传递事件,将替换后的真实地址写入源处理器相应的目标寄存器中。
其中,服务器将真实地址0XFFFF1234替换传递事件中的虚拟地址0XFFFF0000,并重新启动该传递事件,将替换后的真实地址0XFFFF1234写入到源图形处理器相应的目标寄存器中,以此,服务器可以在Switch中直接将目标图形处理器的真实地址直接传递到源图形处理器的目标寄存器中,不需要通过长距离传输后的通过的外设内存管理单元进行翻译和反馈,节省了真实地址的获取效率。
在步骤209中,服务器响应通信指令,使得源处理器根据真实地址实现与目标处理器的信息通信
其中,服务器响应通信指令,使得源图形处理器的核心层(Device Core)产生数据报文,然后再经过事务层(Transaction Layer)、数据链路层(Data Link Layer)和物理层(Physical Layer)携带该真实地址0XFFFF1234发送信息至目标图形处理器上,实现源图形处理器与目标图形处理器的信息通信,请继续一并参阅图4a和图4b,该目标图形处理器通过Switch即可直接实现将真实地址写入到源图形处理器中的目标寄存器中,而不需要将目标图形处理器的虚拟地址传递到上游,直到通过IOMMU进行翻译成真实地址,再通过IOMMU将真实地址反馈回来,使得图形处理器之间的信息通信时间缩短,提升了图形处理器之间的信息通信效率,进而使得云主机对于计算机视觉技术上的处理效率可以得到较大的提升。
由上述可知,本申请实施例通过当服务器检测到为目标处理器分配内存输入/输出地址时,获取目标地址偏移量和目标处理器相应的真实地址,根据目标地址偏移量对真实地址进行反偏移处理,得到目标处理器的虚拟地址,控制下行链路的访问控制服务关闭点到点重定向请求,使得关闭外设内存管理单元将虚拟地址翻译为真实地址的操作,服务器在接收到通信指令时,获取高速串行计算机扩展总线中的访问控制服务,当检测到访问控制服务未开启点到点重定向请求时,通过预设标识确定出源处理器和相应的目标处理器,并遍历得到目标处理器中的目标寄存器,并对目标寄存器设置拦截事件,当服务器检测到将虚拟地址写入源处理器相应的目标寄存器中时,触发拦截事件,拦截目标处理器的虚拟地址写入源处理器相应的目标寄存器的传递事件,并根据目标地址偏移量对虚拟地址进行偏移处理,得到相应的真实地址,并将真实地址替换传递事件中的虚拟地址,启动传递事件,将替换后的真实地址写入源处理器相应的目标寄存器中,并响应通信指令,使得源处理器根据真实地址实现与目标处理器的信息通信。以此,将外设内存管理单元对虚拟地址翻译的功能关闭,使得进行信息通信时,将目标处理器的虚拟地址写入源处理器的传递事件进行拦截,根据预设关系和虚拟地址计算出真实地址,将真实地址写入源处理器中,在节省了虚拟地址通过上游设备中的外设内存管理单元进行翻译的时间的前提下,还避免了源处理器使用虚拟地址进行通信导致信息通信失败,极大的提升了信息通信的效率。
实施例三、
为便于更好的实施本申请实施例提供的信息通信方法,本申请实施例还提供一种基于上述信息通信方法的装置。其中名词的含义与上述信息通信方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图5a,图5a为本申请实施例提供的信息通信装置的结构示意图,其中该信息通信装置可以包括确定单元301、拦截单元302、计算单元303、及通信单元304等。
确定单元301,用于在接收到通信指令时,确定访问控制服务的状态信息。
其中,可以提前实现将通过外设内存管理单元对虚拟地址进行翻译的操作关闭。该通信指令即为图形处理器之间的通信请求产生,当确定单元301接收到该通信指令时,确定该访问控制服务的状态信息,该访问控制服务用于控制虚拟地址是否传递到外设内存管理单元进行翻译的功能,具体为通过对状态信息的判定,该状态信息可以理解为开关信息,当该状态信息为预设状态信息时,为该访问控制服务关闭该外设内存管理单元对虚拟地址的翻译的功能,当该状态信息不为预设状态信息时,为该访问控制服务开启该外设内存管理单元对虚拟地址的翻译的功能。
在一些实施方式中,该确定单元301,具体用于:在接收到通信指令时,获取高速串行计算机扩展总线链路中的下行链路端口的访问控制服务;检测该访问控制服务是否开启点到点重定向请求;当检测到该访问控制服务未开启点到点重定向请求时,判定为访问控制服务的状态信息为预设状态信息。
其中,该高速串行计算机扩展总线链路中包括上行链路端口和下行链路端口,而该下行链路的访问控制服务可以控制该虚拟地址是否发到上行链路端口,进而通过外设内存管理单元对虚拟地址进行翻译,所以,确定单元301可以首先获取高速串行计算机扩展总线链路中的下行链路端口的访问控制服务。
进一步的,该访问控制服务中具体控制是否由外设内存管理单元对虚拟地址进行翻译功能的为重定向请求,确定单元301检测该处于下行链路端口的访问控制服务是否开启点到点重定向请求,当检测到该访问控制服务未开启点到点重定向请求时,说明该访问控制服务关闭外设内存管理单元对虚拟地址进行翻译的功能,判定为访问控制服务的状态为预设状态信息。
拦截单元302,用于当检测到该状态信息为预设状态信息时,拦截目标处理器的虚拟地址写入源处理器的传递事件。
其中,该源处理器可以为源图形处理器,即发出事务层包(信息)的图形处理器,该目标处理器为接收事务层包(信息)的图形处理器,云主机可以根据预设标识找到需要进行信息通信的源图形处理器和目标处理器。基于此,当拦截单元302检测到状态信息不为预设状态信息时,说明访问控制服务关闭了外设内存管理单元对虚拟地址的翻译,为了实现信息通信,首先该目标图形处理器需要将虚拟地址写入源图形处理器中。
进一步的,由于该访问控制服务关闭了外设内存管理单元对于虚拟地址的翻译,所以该源图形处理器将事务层包发送到目标图形处理器中时携带的为虚拟地址,会造成通信错误,导致信息通信失败。
因此,当拦截单元302检测到状态信息为预设状态信息时,会将该目标图形处理器的虚拟地址写入源图形处理器的传递事件进行拦截,以避免上述通信失败的情况。
在一些实施方式中,如图5b所示,该拦截单元302,包括:
确定子单元3021,用于通过预设标识确定出源处理器和相应的目标处理器;
获取子单元3022,用于获取该源处理器相应的目标寄存器;
拦截子单元3023,用于拦截该目标处理器的虚拟地址写入该源处理器相应的目标寄存器的传递事件。
其中,由于GPUDirect组件将可以进行点到点信息通信的图形处理器赋值相同的预设标识,因此确定子单元3021可以通过该预设标识确定出发送信息的源图形处理器和相应接收信息的目标图形处理器,获取子单元3022获取该源图形处理器相应的目标寄存器,该源图形处理器相应的目标寄存器,该目标寄存器即为源图形处理器上的内存空间,专门用于存储需要进行信息通信的目标图形处理器的地址,该地址可以为虚拟地址或者真实地址,由于本申请将外设内存管理单元对虚拟地址的翻译功能关闭,所以需要将真实地址写入该目标寄存器,以实现后期的信息通信。
进一步的,获取子单元3022需要对源图形处理器上所有的寄存器进行遍历,确定出目标寄存器,通过拦截子单元3023设置专门用于拦截虚拟地址的拦截事件,使得当检测到目标图形处理器的虚拟地址写入该源图形处理器相应的目标寄存器的传递事件时,进行拦截处理。
在一些实施方式中,该获取子单元3022,具体用于获取该源处理器中的寄存器以及寄存器布局信息,该寄存器布局信息指示目标寄存器;根据该寄存器布局信息对该寄存器进行遍历,确定出相应的目标寄存器,并对该目标寄存器设置拦截事件,该拦截事件用于拦截虚拟地址的写入操作。
其中,获取子单元3022获取该源图形处理器中的每一寄存器和寄存器布局信息,该寄存器布局信息可以为图形处理器厂商提供或者通过寄存器检测软件进行检测得到,该寄存器布局信息指示每一寄存器的作用,相应的也指示目标寄存器的位置信息。
进一步的,获取子单元3022可以基于目标寄存器的位置信息对每一寄存器进行遍历,找到目标寄存器,并对该目标寄存器设置拦截事件,该拦截事件用于拦截虚拟地址的写入操作。
在一些实施方式中,该拦截子单元3023,具体用于检测到将目标处理器的虚拟地址写入源处理器相应的目标寄存器中时,触发该目标寄存器中的该拦截事件,拦截该目标处理器的虚拟地址写入该源处理器相应的目标寄存器的传递事件。
其中,当拦截子单元3023检测到将目标图形处理器的虚拟地址写入到源图形处理器相应的目标寄存器中,会相应的触发设置在目标寄存器中的拦截事件,拦截该目标图形处理器的虚拟地址写入该源图形处理器相应的目标寄存器的传递事件,以避免后期源图形处理器将事务层包发送到目标图形处理器中时携带虚拟地址,导致出现通信失败。
计算单元303,用于根据预设关系和该虚拟地址计算出真实地址。
其中,该预设关系可以为偏移量关系或者编码解密关系,当该预设关系为偏移量关系时,需要在该云主机进行初始虚拟化时,为目标图形处理器分配内存映射输入/输出地址时,直接获取目标偏移量和目标图形处理器的真实地址,可以根据该目标偏移量对该真实地址进行反偏移处理,得到相应的虚拟地址,使得后续计算单元303可以根据目标偏移量对该虚拟地址进行偏移处理,得到相应的真实地址,该目标偏移量可以是云主机内部的机密信息。
当该预设关系为编码解密关系时,需要云主机为目标图形处理器分配内存映射输入/输出地址时,直接获取目标编码规则和目标图形处理器的真实地址,可以根据该目标编码规则对该真实地址进行编码处理,得到相应的虚拟地址,使得后续计算单元303可以根据该目标编码规则对该虚拟地址进行编码处理,得到相应的真实地址,该目标编码规则为云主机内部的机密信息。
在一些实施方式中,该计算单元303,具体用于:获取虚拟地址和相应的目标地址偏移量;根据该目标地址偏移量对该虚拟地址进行偏移处理,得到相应的真实地址。
其中,确定该预设关系为偏移量关系,计算单元303获取目标图形处理器的虚拟地址和相应的目标地址偏移量,由于云主机在为目标图形处理器分配内存映射输入/输出地址时,该虚拟地址为根据目标偏移量对目标图形处理器进行反偏移处理得到,因此,根据目标地址偏移量对该虚拟地址进行偏移处理,可以得到相应的真实地址。
通信单元304,用于将该真实地址写入源处理器中,并响应该通信指令,使得该源处理器根据该真实地址实现与目标处理器的信息通信。
其中,在拦截将目标图形处理器的虚拟地址写入源图形处理器的传递事件,并通过虚拟地址得到真实地址之后,通信单元304可以将该真实地址直接写入到源图形处理器中,此时,虽然该访问控制服务的状态信息为预设状态信息,即访问控制服务关闭外设内存管理单元对虚拟地址的翻译的功能,但是源图形处理器中接收到的是真实地址,所以该源图形处理器可以根据该真实地址找到目标图形处理器,实现与目标图形处理器的信息通信,以此,省去源图形处理器在与目标图形处理器进行信息通信时,需要将虚拟地址上发到外设内存管理单元进行翻译再传递回来的时间,加快了多个图形处理器之间信息通信的速度,提升了云主机内部图形处理器的信息通信效率,进而使得计算机视觉技术的识别速度也相应增加。
在一些实施方式中,该通信单元304,具体用于:将该真实地址替换该传递事件中的虚拟地址;启动该传递事件,将替换后的真实地址写入源处理器相应的目标寄存器中。
其中,通信单元304可以将该真实地址替换该传递事件中的虚拟地址,并重新启动该传递事件,将替换后的真实地址写入源图形处理器相应的目标寄存器中,该源图形处理器相应的目标寄存器会将该真实地址进行保存,以实现后期源图形处理器与目标图形处理器进行信息通信时,直接通过目标寄存器中的真实地址接通目标图形处理器进行信息通信,省去传递到上游的外设内存管理单元进行翻译的过程和时间,提升了信息通信效率。
在一些实施方式中,如图5c所示,该通信装置还可以包括:
获取单元305,用于当检测到为目标处理器分配内存映射输入/输出地址时,获取目标地址偏移量和该目标处理器相应的真实地址;
反偏移单元306,用于根据该目标地址偏移量对该真实地址进行反偏移处理,得到相应的虚拟地址。
控制单元307,用于控制该高速串行计算机扩展总线链路中的下行链路的访问控制服务关闭点到点重定向请求,使得关闭通过外设内存管理单元将虚拟地址翻译为真实地址的操作。
以上各个单元的具体实施可参见前面的实施例,在此不再赘述。
由上述可知,本申请实施例通过在确定单元301接收到通信指令时,确定访问控制服务的状态信息;当拦截单元302检测到状态信息为预设状态信息时,拦截目标处理器的虚拟地址写入源处理器的传递事件;计算单元303根据预设关系和虚拟地址计算出真实地址;通信单元304将真实地址写入源处理器中,并响应通信指令,使得源处理器根据真实地址实现与目标处理器的信息通信。以此,进行信息通信时,将目标处理器的虚拟地址写入源处理器的传递事件进行拦截,根据预设关系和虚拟地址计算出真实地址,将真实地址写入源处理器中,在节省了虚拟地址通过上游设备进行翻译的时间的前提下,还避免了源处理器使用虚拟地址进行通信导致信息通信失败,极大的提升了信息通信的效率。
实施例四、
本申请实施例还提供一种服务器,如图6所示,其示出了本申请实施例所涉及的服务器的结构示意图,具体来讲:
该服务器可以为云主机,可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图6中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行服务器的各种功能和处理数据。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
服务器还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该服务器还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,服务器还可以包括显示处理器等,在此不再赘述。具体在本实施例中,服务器中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
在接收到通信指令时,确定访问控制服务的状态信息;当检测到该状态信息为预设状态信息时,拦截目标处理器的虚拟地址写入源处理器的传递事件;根据预设关系和该虚拟地址计算出真实地址;将该真实地址写入源处理器中,并响应该通信指令,使得该源处理器根据该真实地址实现与目标处理器的信息通信。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对信息通信方法的详细描述,此处不再赘述。
由上述可知,本申请实施例的服务器可以在接收到通信指令时,确定访问控制服务的状态信息;当检测到状态信息为预设状态信息时,拦截目标处理器的虚拟地址写入源处理器的传递事件;根据预设关系和虚拟地址计算出真实地址;将真实地址写入源处理器中,并响应通信指令,使得源处理器根据真实地址实现与目标处理器的信息通信。以此,进行信息通信时,将目标处理器的虚拟地址写入源处理器的传递事件进行拦截,根据预设关系和虚拟地址计算出真实地址,将真实地址写入源处理器中,在节省了虚拟地址通过上游设备进行翻译的时间的前提下,还避免了源处理器使用虚拟地址进行通信导致信息通信失败,极大的提升了信息通信的效率。
实施例五、
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种信息通信方法中的步骤。例如,该指令可以执行如下步骤:
在接收到通信指令时,确定访问控制服务的状态信息;当检测到该状态信息为预设状态信息时,拦截目标处理器的虚拟地址写入源处理器的传递事件;根据预设关系和该虚拟地址计算出真实地址;将该真实地址写入源处理器中,并响应该通信指令,使得该源处理器根据该真实地址实现与目标处理器的信息通信。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请实施例所提供的任一种信息通信方法中的步骤,因此,可以实现本申请实施例所提供的任一种信息通信方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种信息通信方法、装置、计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (15)

1.一种信息通信方法,其特征在于,包括:
在接收到通信指令时,确定访问控制服务的状态信息,所述状态信息用于指示所述访问控制服务是否开启点到点重定向请求;
当检测到所述状态信息为预设状态信息时,拦截目标处理器的虚拟地址写入源处理器的传递事件,所述预设状态信息为所述访问控制服务未开启点到点重定向请求时,所述访问控制服务的状态信息;
根据预设关系和所述虚拟地址计算出真实地址;
将所述真实地址写入源处理器中,并响应所述通信指令,使得所述源处理器根据所述真实地址实现与目标处理器的信息通信。
2.根据权利要求1所述的信息通信方法,其特征在于,所述拦截目标处理器的虚拟地址写入源处理器的传递事件的步骤,包括:
通过预设标识确定出源处理器和相应的目标处理器;
获取所述源处理器相应的目标寄存器;
拦截所述目标处理器的虚拟地址写入所述源处理器相应的目标寄存器的传递事件。
3.根据权利要求2所述的信息通信方法,其特征在于,所述获取所述源处理器相应的目标寄存器的步骤,包括:
获取所述源处理器中的寄存器以及寄存器布局信息,所述寄存器布局信息指示目标寄存器;
根据所述寄存器布局信息对所述寄存器进行遍历,确定出相应的目标寄存器,并对所述目标寄存器设置拦截事件,所述拦截事件用于拦截虚拟地址的写入操作。
4.根据权利要求3所述的信息通信方法,其特征在于,所述拦截所述目标处理器的虚拟地址写入所述源处理器相应的目标寄存器的传递事件的步骤,包括:
当检测到将目标处理器的虚拟地址写入源处理器相应的目标寄存器中时,触发所述目标寄存器中的所述拦截事件,拦截所述目标处理器的虚拟地址写入所述源处理器相应的目标寄存器的传递事件。
5.根据权利要求1至4任一项所述的信息通信方法,其特征在于,所述确定访问控制服务的状态信息的步骤,包括:
获取高速串行计算机扩展总线链路中的下行链路端口的访问控制服务;
检测所述访问控制服务是否开启点到点重定向请求;
当检测到所述访问控制服务未开启点到点重定向请求时,判定为访问控制服务的状态信息为预设状态信息。
6.根据权利要求1至4任一项所述的信息通信方法,其特征在于,所述将所述真实地址写入源处理器中的步骤,包括:
将所述真实地址替换所述传递事件中的虚拟地址;
启动所述传递事件,将替换后的真实地址写入源处理器相应的目标寄存器中。
7.根据权利要求1至4任一项所述的信息通信方法,其特征在于,所述根据预设关系和所述虚拟地址计算出真实地址的步骤,包括:
获取虚拟地址和相应的目标地址偏移量;
根据所述目标地址偏移量对所述虚拟地址进行偏移处理,得到相应的真实地址。
8.根据权利要求7所述的信息通信方法,其特征在于,所述获取虚拟地址和相应的目标地址偏移量的步骤之前,还包括:
当检测到为目标处理器分配内存映射输入/输出地址时,获取目标地址偏移量和所述目标处理器相应的真实地址;
根据所述目标地址偏移量对所述真实地址进行反偏移处理,得到相应的虚拟地址。
9.根据权利要求1至4任一项所述的信息通信方法,其特征在于,所述确定访问控制服务的状态信息的步骤之前,还包括:
控制高速串行计算机扩展总线链路中的下行链路的访问控制服务关闭点到点重定向请求,使得关闭通过外设内存管理单元将虚拟地址翻译为真实地址的操作。
10.一种信息通信装置,其特征在于,包括:
确定单元,用于在接收到通信指令时,确定访问控制服务的状态信息,所述状态信息用于指示所述访问控制服务是否开启点到点重定向请求;
拦截单元,用于当检测到所述状态信息为预设状态信息时,拦截目标处理器的虚拟地址写入源处理器的传递事件,所述预设状态信息为所述访问控制服务未开启点到点重定向请求时,所述访问控制服务的状态信息;
计算单元,用于根据预设关系和所述虚拟地址计算出真实地址;
通信单元,用于将所述真实地址写入源处理器中,并响应所述通信指令,使得所述源处理器根据所述真实地址实现与目标处理器的信息通信。
11.根据权利要求10所述的信息通信装置,其特征在于,所述拦截单元,包括:
确定子单元,用于通过预设标识确定出源处理器和相应的目标处理器;
获取子单元,用于获取所述源处理器相应的目标寄存器;
拦截子单元,用于拦截所述目标处理器的虚拟地址写入所述源处理器相应的目标寄存器的传递事件。
12.根据权利要求11所述的信息通信装置,其特征在于,所述获取子单元,具体用于:
获取所述源处理器中的寄存器以及寄存器布局信息,所述寄存器布局信息指示目标寄存器;
根据所述寄存器布局信息对所述寄存器进行遍历,确定出相应的目标寄存器,并对所述目标寄存器设置拦截事件,所述拦截事件用于拦截虚拟地址的写入操作。
13.根据权利要求12所述的信息通信装置,其特征在于,所述拦截子单元,具体用于:
检测到将目标处理器的虚拟地址写入源处理器相应的目标寄存器中时,触发所述目标寄存器中的所述拦截事件,拦截所述目标处理器的虚拟地址写入所述源处理器相应的目标寄存器的传递事件。
14.根据权利要求10至13任一项所述的信息通信装置,其特征在于,所述确定单元,具体用于:
在接收到通信指令时,获取高速串行计算机扩展总线链路中的下行链路端口的访问控制服务;
检测所述访问控制服务是否开启点到点重定向请求;
当检测到所述访问控制服务未开启点到点重定向请求时,判定为访问控制服务的状态信息为预设状态信息。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至9任一项所述的信息通信方法中的步骤。
CN201910743411.2A 2019-08-13 2019-08-13 一种信息通信方法、装置及计算机可读存储介质 Active CN111190837B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910743411.2A CN111190837B (zh) 2019-08-13 2019-08-13 一种信息通信方法、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910743411.2A CN111190837B (zh) 2019-08-13 2019-08-13 一种信息通信方法、装置及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111190837A CN111190837A (zh) 2020-05-22
CN111190837B true CN111190837B (zh) 2024-08-20

Family

ID=70707177

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910743411.2A Active CN111190837B (zh) 2019-08-13 2019-08-13 一种信息通信方法、装置及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111190837B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463714B (zh) * 2020-11-30 2022-12-16 成都海光集成电路设计有限公司 远程直接内存访问方法、异构计算系统及电子设备
CN118018552B (zh) * 2024-04-08 2024-06-11 深圳竹云科技股份有限公司 基于中间件的集群服务部署方法、装置和计算机设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109597677A (zh) * 2018-12-07 2019-04-09 北京百度网讯科技有限公司 用于处理信息的方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9307393B2 (en) * 2009-05-15 2016-04-05 Telcordia Technologies, Inc. Peer-to-peer mobility management in heterogeneous IPV4 networks
US10237347B2 (en) * 2015-06-08 2019-03-19 Excelero Storage Ltd. System and method for providing a client device seamless access to a plurality of remote storage devices presented as a virtual device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109597677A (zh) * 2018-12-07 2019-04-09 北京百度网讯科技有限公司 用于处理信息的方法和装置

Also Published As

Publication number Publication date
CN111190837A (zh) 2020-05-22

Similar Documents

Publication Publication Date Title
US11934341B2 (en) Virtual RDMA switching for containerized
US11301407B2 (en) Technologies for accelerator fabric protocol multipathing
Kim et al. {FreeFlow}: Software-based virtual {RDMA} networking for containerized clouds
CN105159753B (zh) 加速器虚拟化的方法、装置及集中资源管理器
US20200104275A1 (en) Shared memory space among devices
KR102074468B1 (ko) 계산 작업을 처리하기 위한 컴퓨터 클러스터 장치 및 이를 작동시키기 위한 방법
CN102497434B (zh) 内核态虚拟网络设备的建立方法、及其包发送和接收方法
US12489710B2 (en) Load balancing and networking policy performance by a packet processing pipeline
US8990451B2 (en) Controller for direct access to a memory for the direct transfer of data between memories of several peripheral devices, method and computer program enabling the implementation of such a controller
CN110389711B (zh) 帮助端点设备实现sr-iov功能的方法、设备和非瞬态计算机可读介质
CN118606079B (zh) 一种基于socket接口的通信方法和系统
CN112905304A (zh) 一种虚拟机间通信方法、装置、物理主机及介质
CN112235300B (zh) 云虚拟网络漏洞检测方法、系统、装置及电子设备
EP4187868A1 (en) Load balancing and networking policy performance by a packet processing pipeline
CN113515341A (zh) 一种灵活的分布式ai训练云平台部署方法及相关平台
US10523741B2 (en) System and method for avoiding proxy connection latency
KR102692866B1 (ko) 컴퓨팅 자원 분할 운용 방법 및 장치
CN103546556B (zh) 一种在未来网络xia中虚拟机在线迁移方法
WO2018076882A1 (zh) 存储设备的操作方法及物理服务器
CN111290829B (zh) 访问控制模组、虚拟机监视器及访问控制方法
CN111190837A (zh) 一种信息通信方法、装置及计算机可读存储介质
CN118467093A (zh) 资源处理方法、装置、设备、可读存储介质及程序产品
US20210157626A1 (en) Prioritizing booting of virtual execution environments
CN116684351B (zh) 数据传输方法、装置、设备、存储介质及计算机程序产品
US12107763B2 (en) Virtual network interfaces for managed layer-2 connectivity at computing service extension locations

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TG01 Patent term adjustment

Free format text: NEW EXPIRY DATE: 20400513

TG01 Patent term adjustment