CN117056275B - 基于硬件分区系统的通信控制方法、装置及服务器 - Google Patents
基于硬件分区系统的通信控制方法、装置及服务器 Download PDFInfo
- Publication number
- CN117056275B CN117056275B CN202311307559.4A CN202311307559A CN117056275B CN 117056275 B CN117056275 B CN 117056275B CN 202311307559 A CN202311307559 A CN 202311307559A CN 117056275 B CN117056275 B CN 117056275B
- Authority
- CN
- China
- Prior art keywords
- operating system
- target
- command
- sent
- data
- 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
Links
- 238000005192 partition Methods 0.000 title claims abstract description 332
- 238000004891 communication Methods 0.000 title claims abstract description 283
- 238000000034 method Methods 0.000 title claims abstract description 73
- 230000004044 response Effects 0.000 claims description 189
- 230000015654 memory Effects 0.000 claims description 134
- 238000012544 monitoring process Methods 0.000 claims description 33
- 238000003860 storage Methods 0.000 claims description 33
- 238000004590 computer program Methods 0.000 claims description 16
- 230000008521 reorganization Effects 0.000 claims description 7
- 101150039033 Eci2 gene Proteins 0.000 claims 4
- 102100021823 Enoyl-CoA delta isomerase 2 Human genes 0.000 claims 4
- 238000007726 management method Methods 0.000 description 79
- 230000005540 biological transmission Effects 0.000 description 27
- 238000013461 design Methods 0.000 description 14
- 238000009826 distribution Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 230000010365 information processing Effects 0.000 description 7
- 241001522296 Erithacus rubecula Species 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000000638 solvent extraction Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 239000000758 substrate Substances 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003862 health status Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请实施例提供了一种基于硬件分区系统的通信控制方法、装置及服务器,其中,该方法包括:通过第一操作系统获取第二操作系统的待发送命令数据,其中,第二操作系统为至少两个操作系统中除了第一操作系统以外的任一个操作系统;通过第一操作系统对待发送命令数据进行重组,得到与待发送命令数据对应的目标命令消息,其中,目标命令消息中的目标地址是与第二操作系统对应的目标硬件分区系统的通信地址;通过第一操作系统的目标通信接口将目标命令消息发送到目标通信总线上,以由目标硬件分区系统通过目标硬件分区系统的目标通信接口接收目标通信总线上的目标命令消息。
Description
技术领域
本申请实施例涉及计算机领域,具体而言,涉及一种基于硬件分区系统的通信控制方法、装置及服务器。
背景技术
在服务器行业领域,实现硬件计算资源共享,提升多核处理器的利用率,可以采用主机系统的计算资源硬件分区的技术,一台服务器被分区成两个甚至更多个物理主机系统,单独承载业务提供服务。而为了保障服务器长期稳定高效运行,服务器系统需要具备对各分区系统进行有效监控的能力。
相关技术中,服务器采用的管理单元(即,服务器管理单元)通常为基板管理控制器(Baseboard Management Controller,简称为BMC),服务器管理单元可以通过与其对应的链路接口与获取服务器的运行状态以及故障状态信息,为服务器系统的健康状态监控、故障分析与定位提供保障。
然而,在服务器硬件分区系统的场景下,各分区系统并行运行,采用上述的对服务器进行状态监控的方式,无法保证对各分区系统进行有效监控。由此可见,相关技术中的通过服务器管理单元进行服务器系统状态监控的方式,存在对多分区系统的监控有效性差的问题。
发明内容
本申请实施例提供了一种基于硬件分区系统的通信控制方法、装置及服务器,以至少解决相关技术中的通过服务器管理单元进行服务器系统状态监控的方式存在对多分区系统的监控有效性差的问题。
根据本申请实施例的一个方面,提供了一种基于硬件分区系统的通信控制方法,应用于包含基板管理控制器和主机系统的服务器,所述基板管理控制器与所述主机系统之间通过目标通信总线进行通信,所述基板管理控制的多核处理器上运行有至少两个操作系统,所述主机系统被划分为多个硬件分区系统,所述至少两个操作系统中的一个操作系统用于监控所述多个硬件分区系统中的至少一个硬件分区系统的运行状态,所述基板管理控制器的目标通信接口配置给所述至少两个操作系统中的第一操作系统,所述目标通信接口是与所述目标通信总线对应的通信接口,所述方法包括:通过所述第一操作系统获取第二操作系统的待发送命令数据,其中,所述第二操作系统为所述至少两个操作系统中除了所述第一操作系统以外的任一个操作系统;通过所述第一操作系统对所述待发送命令数据进行重组,得到与所述待发送命令数据对应的目标命令消息,其中,所述目标命令消息中的目标地址是与所述第二操作系统对应的目标硬件分区系统的通信地址;通过所述第一操作系统的所述目标通信接口将所述目标命令消息发送到所述目标通信总线上,以由所述目标硬件分区系统通过所述目标硬件分区系统的所述目标通信接口接收所述目标通信总线上的所述目标命令消息。
根据本申请实施例的另一个方面,提供了一种基于硬件分区系统的通信控制装置,应用于包含基板管理控制器和主机系统的服务器,所述基板管理控制器与所述主机系统之间通过目标通信总线进行通信,所述基板管理控制的多核处理器上运行有至少两个操作系统,所述主机系统被划分为多个硬件分区系统,所述至少两个操作系统中的一个操作系统用于监控所述多个硬件分区系统中的至少一个硬件分区系统的运行状态,所述基板管理控制器的目标通信接口配置给所述至少两个操作系统中的第一操作系统,所述目标通信接口是与所述目标通信总线对应的通信接口,所述装置包括:获取单元,用于通过所述第一操作系统获取第二操作系统的待发送命令数据,其中,所述第二操作系统为所述至少两个操作系统中除了所述第一操作系统以外的任一个操作系统;重组单元,用于通过所述第一操作系统对所述待发送命令数据进行重组,得到与所述待发送命令数据对应的目标命令消息,其中,所述目标命令消息中的目标地址是与所述第二操作系统对应的目标硬件分区系统的通信地址;发送单元,用于通过所述第一操作系统的所述目标通信接口将所述目标命令消息发送到所述目标通信总线上,以由所述目标硬件分区系统通过所述目标硬件分区系统的所述目标通信接口接收所述目标通信总线上的所述目标命令消息。
根据本申请实施例的又一个方面,还提供了一种服务器,包括:主机系统、基板管理控制器和所述主机系统和所述基板管理控制之间的目标通信总线,所述基板管理控制的多核处理器上运行有至少两个操作系统,所述主机系统被划分为多个硬件分区系统,所述至少两个操作系统中的一个操作系统用于监控所述多个硬件分区系统中的至少一个硬件分区系统的运行状态,所述基板管理控制器的目标通信接口配置给所述至少两个操作系统中的第一操作系统,所述目标通信接口是与所述目标通信总线对应的通信接口,其中,所述第一操作系统,用于获取第二操作系统的待发送命令数据,其中,所述第二操作系统为所述至少两个操作系统中除了所述第一操作系统以外的任一个操作系统;对所述待发送命令数据进行重组,得到与所述待发送命令数据对应的目标命令消息,其中,所述目标命令消息中的目标地址是与所述第二操作系统对应的目标硬件分区系统的通信地址;通过所述第一操作系统的所述目标通信接口将所述目标命令消息发送到所述目标通信总线上;所述目标硬件分区系统,用于通过所述目标硬件分区系统的所述目标通信接口接收所述目标通信总线上的所述目标命令消息。
根据本申请实施例的又一个方面,还提供了一种基板管理控制器,所述基板管理控制器的多核处理器上运行的至少两个操作系统,所述至少两个操作系统中的一个操作系统用于监控主机系统所划分成的多个硬件分区系统中的至少一个硬件分区系统的运行状态,所述基板管理控制器与所述主机系统之间通过目标通信总线进行通信,所述基板管理控制器的目标通信接口配置给所述至少两个操作系统中的第一操作系统,所述目标通信接口是与所述目标通信总线对应的通信接口,所述至少两个操作系统还包括第二操作系统,其中,所述第一操作系统,用于获取第二操作系统的待发送命令数据,其中,所述第二操作系统为所述至少两个操作系统中除了所述第一操作系统以外的任一个操作系统;对所述待发送命令数据进行重组,得到与所述待发送命令数据对应的目标命令消息,其中,所述目标命令消息中的目标地址是与所述第二操作系统对应的目标硬件分区系统的通信地址;通过所述第一操作系统的所述目标通信接口将所述目标命令消息发送到所述目标通信总线上,以由所述目标硬件分区系统通过所述目标硬件分区系统的所述目标通信接口接收所述目标通信总线上的所述目标命令消息。
根据本申请实施例的又一个方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请实施例的又一个方面,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本申请实施例,采用在基板管理控制器的多核处理器上运行至少两个操作系统、并将基板管理控制器的通信接口配置给其中的一个操作系统的方式,基板管理控制器与主机系统之间通过目标通信总线进行通信,基板管理控制的多核处理器上运行有至少两个操作系统,一个操作系统用于监控主机系统被划分为的至少一个硬件分区系统的运行状态,基板管理控制器的目标通信接口配置给至少两个操作系统中的第一操作系统,目标通信接口是与目标通信总线对应的通信接口;第一操作系统获取第二操作系统的待发送命令数据,第二操作系统为除了第一操作系统以外的任一个操作系统;对待发送命令数据进行重组,得到目标命令消息,目标命令消息中的目标地址是与第二操作系统对应的目标硬件分区系统的通信地址;通过第一操作系统的目标通信接口将目标命令消息发送到目标通信总线上,以由目标硬件分区系统通过目标硬件分区系统的目标通信接口接收目标通信总线上的目标命令消息,由于是由指定操作系统实现与主机系统中的各个硬件分区系统的通信、以及在基板管理控制器内部与其他操作系统之间的通信,通过上述设计,可以实现在主机系统硬件分区场景下,各分区系统的有效监控,达到对各分区系统独立管理的效果,从而可以解决相关技术中的通过服务器管理单元进行服务器系统状态监控的方式存在对多分区系统的监控有效性差的问题。
附图说明
图1是本申请实施例的一种可选的计算机终端的硬件结构框图;
图2是根据本申请实施例的一种可选的基于硬件分区系统的通信控制方法的流程示意图;
图3是根据本申请实施例的一种可选的系统架构的示意图;
图4是根据本申请实施例的一种可选的PECI命令的示意图;
图5是根据本申请实施例的一种可选的Ping命令的示意图;
图6是根据本申请实施例的一种可选的数据结构的内存分布的示意图;
图7是根据本申请实施例的另一种可选的基于硬件分区系统的通信控制方法的流程示意图;
图8是根据本申请实施例的另一种可选的数据结构的内存分布的示意图;
图9是根据本申请实施例的又一种可选的基于硬件分区系统的通信控制方法的流程示意图;
图10是根据本申请实施例的一种基于硬件分区系统的通信控制装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。需要说明的是,本申请实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或者先后次序。
随着半导体行业和集成电路技术的快速发展,处理器已经成为云计算、人工智能、大数据等领域的重要计算单元。为了实现硬件计算资源共享,提升多核处理器的利用率,可以采用的做法是引入虚拟化技术,即基于处理器硬件平台虚拟出多个虚拟机,每个虚拟机运行一个独立的操作系统。然而,基于虚拟机的操作系统由于增加了虚拟机管理等开销一般无法满足业务的实时性要求。因此,通常会直接采用独占物理机的形式运行操作系统,这种“裸金属”式的处理器使用方式可以显著降低业务处理时延。
在服务器行业领域,可以采用主机系统(Host系统)的CPU(Central ProcessingUnit,中央处理器,作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元)计算资源硬件分区的技术,一台服务器被分区成两个甚至更多个物理主机系统(即,硬件分区系统),单独承载业务提供服务。为了保障服务器长期稳定高效运行,服务器系统需要具备对各分区系统进行有效监控的能力,这给服务器管理单元的系统设计提出了新的监控需求,以保证可以对各个分区系统的运行进行有效监控。
服务器管理单元可以是BMC,也可以是其他的管理单元,以BMC为例,BMC可以获取服务器CPU温度、功耗,以及关键单元模块的故障状态信息,为服务器系统的健康状态监控、故障分析与定位提供有力保障,上述的关键单元模块可以包括但不限于以下至少之一:CPU,UPI((Ultra Path Interconnect,超路径互联)链路,内存控制器,PCIe(PlatformEnvironment Control Interface,平台环境控制接口,用于服务器BMC与Intel架构CPU间进行信息交互)链路等。
然而,由于服务器通常只配置一个BMC管理单元,即,只存在一路通信接口,这样在服务器硬件分区系统的场景下,会面临各硬件分区系统无法独立使用通信接口的问题,进而影响同一服务器平台不同分区系统故障管理功能的独立性。为了应对上述问题,可以采用的解决方案是:对BMC的CPU架构进行升级,即,重新设计面向主机多硬件分区系统的通信接口模块(例如,PECI接口模块)。然而,上述解决方案会带来两方面的挑战:一是BMC CPU架构升级需要对BMC内部做硬件分区设计,设计复杂度明显增加,必然会带来芯片成本的大幅上升;二是BMC CPU架构升级芯片设计、流片、制造、调试等环节,会占用大量的时间周期,对于主机系统硬件分区技术的应用推广会产生严重影响,不利于新技术的快速推广应用。
为了至少部分解决上述问题,通过在基板管理控制器的多核处理器上运行的至少两个操作系统分别对主机系统的硬件分区系统进行监控,至少两个操作系统中,基板管理控制器的通信接口配置给了其中的一个指定操作系统,从而由该指定操作系统实现与主机系统中的各个硬件分区系统的通信、以及在基板管理控制器内部与其他操作系统之间的通信,通过上述设计,可以实现在主机系统硬件分区场景下,各分区系统的有效监控,达到对各分区系统独立管理的效果。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本申请实施例的一种可选的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的基于硬件分区系统的通信控制方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个NIC(Network Interface Controller,网络适配器),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为RF(Radio Frequency,射频)模块,其用于通过无线方式与互联网进行通讯。
根据本申请实施例的一个方面,提供了一种基于硬件分区系统的通信控制方法,以由服务器来执行本实施例中的基于硬件分区系统的通信控制方法为例,图2是根据本申请实施例的一种可选的基于硬件分区系统的通信控制方法的流程示意图,如图2所示,该流程包括如下步骤:
步骤S202,通过第一操作系统获取第二操作系统的待发送命令数据。
本实施例中的基于硬件分区系统的通信控制方法可以应用到在主机系统硬件分区场景下,通过基板管理控制器对多个硬件分区系统进行通信控制的场景,可以实现主机系统硬件分区场景下对各分区系统的有效监控(例如,故障监控)。服务器包括主机系统和对应的基板管理控制器对应,主机系统进行硬件分区得到了多个硬件分区系统(或称分区系统),基板管理控制器具有多核处理器,多核处理器上运行的至少两个操作系统,至少两个操作系统中的一个操作系统用于监控多个硬件分区系统中的至少一个硬件分区系统的运行状态,这里,操作系统与硬件分区系统的对应关系可以是一对一的关系,也可以是一对多的关系。基板管理控制器与主机系统之间通过目标通信总线进行通信,基板管理控制器的目标通信接口被配置给第一操作系统,可以通过第一操作系统使用目标通信接口与主机系统侧进行交互,并与至少两个操作系统中的其他操作系统进行交互,以实现基板管理控制器对每个硬件分区系统的独立管理。
可选地,主机系统的硬件分区可以是基于CPU或者其他的处理单元实现的,主机系统的硬件资源被划分为多个硬件分区,每个硬件分区对应于至少一个CPU处理器,相当于将主机系统拆分为多个硬件分区系统,每个硬件分区均包含自身系统运行所需的计算、存储、网络和IO(Input/Output,输入/输出)等。每个操作系统可以单独运行,可以均为Linux系统(全称GNU/Linux,是一套可自由传播的类Unix操作系统),也可以为其他操作系统及组合方式。这里,Linux系统是一个基于POSIX(Portable Operating System Interface,可移植操作系统接口)的多用户、多任务、支持多线程和多CPU的操作系统。
在一种示范性实施例中,基板管理控制器和主机系统之间进行通信所使用的链路可以为PECI链路,在PECI链路下,目标通信总线为PCIe总线,目标通信接口为PECI接口,PECI接口通过对应的接口控制器(例如,PECI控制器)进行控制。基板管理控制器侧的通信接口与对应的硬件分区系统的通信接口可以是匹配的,例如,所使用的通信地址是相同的,也可以是其他的通信控制方式。
这里,根据PECI相关协议,PECI接口可以分为Host设备与Client(客户机)设备,每次通信均由Host设备发起,Host设备通过不同的PECI命令获取相应的信息。在服务器系统中,BMC为Host设备,Host侧的各CPU处理器为Client设备,对应地,每个操作系统和与每个操作系统对应的硬件分区系统之间的通信是由每个操作系统作为主机Host设备向作为客户机Client设备的与每个操作系统对应的硬件分区系统发起的,通过仅允许第一操作系统访问基板管理控制器的PECI接口控制器,将基板管理控制器的PECI接口分配给第一操作系统。
例如,可以采用一种硬件分区系统下PECI链路的虚拟扩展方案,Host侧根据CPU单元个数分为N个硬件分区,每个分区对应一个CPU处理器,相当于整个主机系统被拆分为N路独立的服务器系统,N为大于1的正整数。为了实现对每一路独立服务器系统的独立监控与管理,BMC多核处理器以核心为单元划分为N个核心分区,分别对应Core 1, Core 2, …,Core N,每个核心分区运行一个Linux系统,此时,具有多核处理器硬核的BMC中运行多个Linux系统:Linux系统1,Linux系统2,……,Linux系统N。这N个Linux系统独立运行,分别负责对Host侧的N个硬件分区进行监控和管理,如图3所示。
这里,Host侧的各独立服务器系统具有一个PECI接口(PECI控制器所控制的PECI接口),由于BMC中只有一个PECI控制器,为实现BMC与Host各硬件分区间的PECI通信功能,BMC将PECI控制器的访问权限分配给Linux系统1,即只有Linux系统1能够访问该PECI控制器。通过上述设置方式,BMC处理器的N个分区则只有一个物理PECI接口(位于Core 1分区),BMC侧的PECI接口通过PECI总线与Host侧各硬件分区系统中的PECI接口相连:Core 1分区的PECI接口与Host侧各分区系统的PECI接口通过总线进行连接,其余Core分区通过共享内存或者其他方式与Core 1分区进行数据交互。此外,BMC侧各分区运行Linux操作系统,负责对Host侧各独立服务器系统的监控管理。而BMC侧各分区数据的分享与传递则通过核间通信实现。
为了实现硬件分区系统下PECI链路的虚拟扩展,上述系统架构下的通信原理为:首先通过Linux系统1的PECI控制器与Host侧的硬件分区系统进行通信,从而获取Host侧各分区系统的CPU温度、功耗、故障寄存器等信息;然后,Linux系统1通过核间通信方式将这些已获取的信息依据Host侧各硬件分区系统的CPU所对应的PECI地址分发至对应的BMC侧的Linux系统。这样,从系统体系结构层面看,Host侧各硬件分区系统与BMC侧的Linux系统间都建立了一个PECI通信链路,由于这些链路物理上并不存在,因此实际上完成了硬件分区系统下PECI链路的虚拟扩展,实现了BMC对每个Host硬件分区系统的独立管理。
这里,在上述系统架构下,设计了BMC管理单元不同Core分区与Host侧硬件分区系统间基于PECI链路的访问机制,建立了硬件分区系统下BMC与Host间的虚拟PECI链路,实现了PECI链路的虚拟扩展,无需考虑BMC架构升级,即能实现硬件分区系统下各分区独立享有PECI链路的功能,有利于主机系统硬件分区技术的快速应用,避免了BMC处理器架构升级带来的芯片成本增加,进而降低了服务器系统的设计成本,最终达成了显著缩减整个硬件分区系统成本、提高主机系统和BMC系统的计算性能的目标。
在进行命令数据发送时,第一操作系统可以获取第二操作系统的待发送命令数据,即,第二操作系统待发送给对应的硬件分区系统的命令数据,这里的命令数据可以是已封装好的命令消息,也可以是生成命令消息所需的数据(命令消息生成是由第一操作系统执行的),待发送命令数据的获取方式可以是任意同一基板管理控制器上运行的不同操作系统间进行数据传输的任意方式,第二操作系统可以是至少两个操作系统中的任意一个操作系统。
步骤S204,通过第一操作系统对待发送命令数据进行重组,得到与待发送命令数据对应的目标命令消息。
在获取到第二操作系统的待发送命令数据之后,第一操作系统可以对待发送命令数据进行重组,从而得到与待发送命令数据对应的命令消息,即,目标命令消息。其中,目标命令消息中可以包括目标地址以及其他信息,对于目标地址可以是与第二操作系统对应的目标硬件分区系统的通信地址,例如,PECI地址。上述目标命令消息可以是任意的PECI命令,可以包括但不限于:Ping命令、GetDIB、GetTemp、RdIAMSR、WrIAMSR等。不同的命令对应的命令格式略有区别,但不同命令的命令格式中均包含目标地址、写长度等字段。
例如,PECI命令的传输格式可以如图4所示,首先是地址速率协商位,其可以是两比特0,用于PECI总线的Host设备与Client设备间传输地址信息前传输速率的确定,其次是目标地址字段,位宽可以为8 bit(比特),用于指定Client设备的PECI地址,接着是消息速率协商位,其可以为1比特0,用于PECI总线的Host设备与Client设备间传输消息信息前传输速率的确定,然后是写长度字段,位宽为8比特,用于标识后续写入的有效字节数。
以Ping命令为例,Ping命令用于PECI总线上Host设备确认Client设备是否存在的命令,该命令消息传输格式意如图5所示。
步骤S206,通过第一操作系统的目标通信接口将目标命令消息发送到目标通信总线上。
由于除了第一操作系统具备可访问的PECI物理接口,其他操作系统不具备可访问的PECI物理接口,在得到与待发送命令数据对应的目标命令消息之后,第一操作系统可以通过第一操作系统的目标通信接口将目标命令消息发送到目标通信总线上,以由目标硬件分区系统通过目标硬件分区系统的目标通信接口接收目标通信总线上的目标命令消息。对于目标通信接口可以是PECI或者其他接口。对于目标通信总线可以是PECI总线或者其他总线。
例如,以Ping命令为例,BMC侧发送Ping命令至Host侧分两种情况,第一种情况为Core 1分区发送目标地址为Host侧的CPU 1的Ping命令;第二种情况为Core 2~Core N分区发送目标地址为Host侧的CPU 2~CPU N的Ping命令。
对于第一种情况,BMC的Core 1分区的Linux系统通过该分区的PECI接口按图5的消息传输格式将数据发送到图3所示的PECI总线上,其中的目标地址填充CPU 1的PECI地址,这里,PECI协议通常支持8个PECI地址,分别为0x30~0x37,为了适配上述PECI地址,Host侧的分区数不超过8个,0x30对应Host侧的硬件分区1,0x31对应Host侧的硬件分区2,…,以此类推),写长度与读长度均为0x00。
对于第二种情况,以Core 2分区发送Ping命令给CPU 2为例,由于Core 2分区不具备可访问的PECI物理接口,因此它无法直接发送对应的Ping命令给Host侧的CPU 2。为此,采用信息转发的形式来完成该功能,即,Core 2分区的Linux系统首先将对应的目标地址、命令码(即Ping命令)、写长度、读长度等信息发送给Core 1分区的Linux系统,由Core1分区对待发送的数据进行解析后再重新组包,转变为符合图5的Ping命令消息发向PECI总线。
这里,对BMC处理器按核心分为不同的Core分区,且只有Core 1分区具有PECI控制器的访问权限,每个Core分区分别运行独立的Linux系统,从逻辑上负责对Host硬件分区系统的独立监控与管理。当其他Core分区(Core 1分区以外的分区)需要通过PECI访问Host侧对应的硬件分区系统时,由于不存在实际的物理链路,无法直接实现PECI通信的目标。
而通过各个Core与Core 1间的共享内存的方式实现通过Core 1的PECI控制器间接访问Host侧的对应的硬件分区系统的目的。这样,从系统架构层面看,实现了BMC侧各Core分区到Host侧各硬件分区系统间的PECI虚拟链路的扩展。可以显著扩展硬件分区系统下BMC架构的PECI通信通道数,对于硬件分区系统具有很好的适应性,避免了为应对硬件分区系统进行BMC架构升级所带来的成本增加的问题,有效提高了主机系统与BMC管理单元的计算性能,有助于推动主机系统硬件分区技术的发展和推广应用。
通过上述步骤,通过第一操作系统获取第二操作系统的待发送命令数据,其中,第二操作系统为至少两个操作系统中除了第一操作系统以外的任一个操作系统;通过第一操作系统对待发送命令数据进行重组,得到与待发送命令数据对应的目标命令消息,其中,目标命令消息中的目标地址是与第二操作系统对应的目标硬件分区系统的通信地址;通过第一操作系统的目标通信接口将目标命令消息发送到目标通信总线上,以由目标硬件分区系统通过目标硬件分区系统的目标通信接口接收目标通信总线上的目标命令消息,解决了相关技术中的通过服务器管理单元进行服务器系统状态监控的方式存在对多分区系统的监控有效性差的问题,提高了多分区系统监控的有效性。
在一种示范性实施例中,通过第一操作系统获取第二操作系统的待发送命令数据,包括:
S11,在确定第二操作系统存在待发送的命令数据的情况下,通过第一操作系统从第一共享内存中获取待发送命令数据。
在本实施例中,待发送的命令数据可以是通过第一共享内存发送给第一操作系统的。第一共享内存是上述的至少两个操作系统的共享内存,其可以用于存储至少两个操作系统中除了第一操作系统以外的其他操作系统待发送的命令数据。至少两个操作系统中的每个操作系统均允许访问该共享内存,不同操作系统对于第一共享内存的操作权限可以是相同的,也可以是不同的,例如,第一操作系统可以具有第一共享内存的读权限,而其他操作系统具有第一共享内存的读写权限。
如果第二操作系统存在待发送的命令数据(即,待发送命令数据),其可以将待发送命令数据写入到第一共享内存。如果确定第二操作系统存在待发送的命令数据,第一操作系统可以从第一共享内存中获取第二操作系统存在待发送的命令数据,从而得到上述的待发送命令数据。
例如,Core 2分区的Linux系统将对应的目标地址、命令码(即,Ping命令)、写长度、读长度等信息放入共享内存中。Core1分区的Linux系统确定Core 2分区的Linux系统存在待发送的命令消息时,可以从共享内存中获取Core 2分区的Linux系统放入的数据。
通过本实施例,通过共享内存在同一基板管理控制器的不同操作系统之间进行数据传输,可以提高数据传输的灵活性,同时降低对于数据传输实时性的需求。
在一种示范性实施例中,在确定第二操作系统存在待发送的命令数据的情况下,通过第一操作系统从第一共享内存中获取待发送命令数据,包括:
S21,在确定第二操作系统存在待发送的命令数据的情况下,通过第一操作系统根据第二操作系统的系统标识,从第一共享内存的第一数据结构中获取待发送命令数据。
在本实施例中,可以通过第一共享内存中的第一数据结构存储其他操作系统待发送的命令数据,通过该数据结构的特殊设计,可以标明不同命令数据属于哪个操作系统(例如,Core分区),例如,通过共享内存中的数据结构的特殊设计标明Core 2分区待发送的命令数据。第一数据结构可用于按照其他操作系统的系统标识采用至少一个命令参数存储其他操作系统待发送的命令数据,其他操作系统待发送的命令数据包括与其他操作系统对应的至少一个命令参数的参数信息。
这里,至少一个命令参数可以是预先设定的、可以适配不同类型的命令消息的一个或多个参数,为了避免由于设定的参数过多导致的存储空间的浪费,至少一个命令参数可以包含各种命令消息中的共性参数以及一个适配其他非共性参数的参数。示例性地,至少一个命令参数包括以下至少之一:写长度,读长度,命令码,写参数;在第一数据结构中,与同一其他操作系统对应的至少一个命令参数的参数信息依次连续存储;或者,在第一数据结构中,与多个其他操作系统对应的至少一个命令参数中的同一命令参数的参数信息依次连续存储。此外,在第一数据结构中,可以存储系统标识,也可以不存储系统标识,而仅包含至少一个命令参数的参数信息,只要配置好各个操作系统和各个操作系统待发送的命令数据的存储位置(例如,起始位置、空间大小等)之间的对应关系即可。
例如,BMC侧的Core 2~Core 8发送数据的数据结构的定义可以如表1所示:
表1
其中,PECI命令的写参数可以允许写入一种或多种参数,即,除了写长度、读长度、命令码以外的其他参数。
上述的数据结构在内存中的分布方式可以如图6所示,图6中示出了两种可能的分布方式,除了图6中所示的分布方式以外,还可以是其他的分布方式,在此不一一列出。
对于第二操作系统存在待发送的命令数据,第一操作系统可以根据第二操作系统的系统标识,从第一共享内存的第一数据结构中获取待发送命令数据。获取的方式可以是:基于第二操作系统的系统标识,从第一数据结构中分别读取与第二操作系统对应的至少一个命令参数的参数信息,从而得到待发送命令数据。
通过本实施例,通过数据结构的特殊设计来标明命令数据属于哪个操作系统的命令数据,可以提高数据传输的准确性。
在一种示范性实施例中,其他操作系统的数量为多个,即,至少两个操作系统除了包含第一操作系统以外,还包括多个其他的操作系统(未分配通信接口的操作系统);至少两个操作系统的系统标识连续设置,对于每个操作系统运行在一个核心分区上的场景,可以通过核心分区的序号作为所运行的操作系统的系统标识,而在第一数据结构中,按照多个其他操作系统的系统标识的顺序依次存储多个其他操作系统待发送的命令数据(某些操作系统待发送的命令数据可以为空),例如,如图6所示的分布方式1。
对应地,在确定第二操作系统存在待发送的命令数据的情况下,通过第一操作系统根据第二操作系统的系统标识,从第一共享内存的第一数据结构中获取待发送命令数据,包括:
S31,在确定第二操作系统存在待发送的命令数据的情况下,通过第一操作系统从第一数据结构中,与第二操作系统的系统标识对应的存储位置内获取待发送命令数据。
对于按照多个其他操作系统的系统标识的顺序依次存储每个其他操作系统待发送的命令数据的情况,每个其他操作系统待发送的命令数据的存储位置是固定的。在此情况下,可以通过遍历第一数据结构的方式确定第二操作系统待发送的命令数据的存储位置(例如,查找到第二操作系统的系统标识之后,基于至少一个命令参数与系统标识的存储位置之间的关系确定第二操作系统待发送的命令数据),也可以直接从第一数据结构中,与第二操作系统的系统标识对应的存储位置内直接获取待发送命令数据。
通过本实施例,基于系统标识与对应的命令数据的存储位置之间的对应关系直接获取存储的命令数据,可以提高数据获取的效率。
在一种示范性实施例中,通过第一操作系统获取第二操作系统的待发送命令数据,包括:
S41,通过第一操作系统接收第二操作系统发送的第一核间通信请求,其中,第一核间通信请求中携带有待发送命令数据。
在本实施例中,也可以利用已有的核间通信请求或者新定义的核间通信请求来传递待发送的命令数据。这里,新定义的核间通信请求可以是基于已有的核间通信协议的核间通信请求,也可以是基于新的核间通信协议的核间通信请求,本实施例中对此不做限定,只要能够通过核间通信请求传递待发送的命令数据即可。
对于第二操作系统待发送的命令数据,第二操作系统可以向第一操作系统发送第一核间通信请求,该核间通信请求中携带有第二操作系统待发送的命令数据,即,待发送命令数据。
通过本实施例,通过使用核间通信请求传输响应数据,可以提高响应数据传递的及时性。
在一种示范性实施例中,与前述实施例中类似的,至少两个操作系统中的其他操作系统的数量可以为多个。在此情况下,可以预先定义第二数据结构,该数据结构中可以设置与每个其他操作系统对应的发送就绪标志位(发送Ready标志,或称发送数据就绪标志),以标识对应的操作系统是否存在待发送的命令数据,其中,在发送就绪标志位为第一值(例如,1或者0)时,表示对应的操作系统存在待发送的命令数据,在接收就绪标志位为第二值(例如,0或者1)时,表示对应的操作系统不存在待发送的命令数据,由第一操作系统基于各个其他操作系统对应的发送就绪标志位确定其他操作系统是否存在待发送的命令数据,以方便获知其他操作系统是否存在待发送的命令数据。
例如,BMC侧的Core 2~Core 8分区的发送Ready标志的数据结构定义如表2所示。
表2
对应地,在通过第一操作系统获取第二操作系统的待发送命令数据之前,上述方法还包括:
S51,通过第一操作系统依次检测第二共享内存的第二数据结构中与每个其他操作系统对应的发送就绪标志位;
S52,在检测到与第二操作系统对应的发送就绪标志位为第一值的情况下,确定第二操作系统存在待发送的命令数据。
对于第二操作系统,在其将待发送命令数据写入到第一共享内存之后,其可以将第二共享内存的第二数据结构中与第二操作系统对应的发送就绪标志位置为第一值,以指示第一共享内存中的待发送命令数据有效(即,第二操作系统存在待发送的命令数据)。写入第一共享内存的方式可以是写入到第一共享内存中的第一数据结构中,已经进行过描述的,在此不做赘述。
第一操作系统可以检测第二数据结构中与每个其他操作系统(包括第二操作系统)对应的接收就绪标志位,检测的方式可以是以轮询的方式进行检测,也可以是其他的检测方式。如果检测到与第二操作系统对应的发送就绪标志位为第一值,第一操作系统确定第二操作系统存在待发送的命令数据,比如,第一数据结构中存储的与第二操作系统的系统标识对应的命令数据是有效的,此时,第一操作系统可以执行获取第二操作系统待发送的命令数据的操作。
例如,Core 2分区的Linux系统将Core 2分区的发送Ready标志置1(标志存于共享内存特定区域),Core 1分区的Linux系统轮循检测各个Core分区的发送Ready标志,当检测到该标志为1时,则进行数据读取,接着对读取的数据进行解析后再重新组包,转变为Ping命令消息并发向PECI总线。
通过本实施例,通过特定数据结构中的发送标志位进行置位来指示对应的操作系统存在待发送的命令数据,可以提高信息传输的便捷性。
在一种示范性实施例中,在通过第一操作系统获取第二操作系统的待发送命令数据之后,上述方法还包括:
S61,通过第一操作系统将与第二操作系统对应的发送就绪标志位置为第二值,其中,第二值用于表示对应的操作系统不存在待发送的命令数据。
在获取第二操作系统的待发送命令数据之后,由于第二数据结构中,与第二操作系统对应的发送就绪标志位的值为第一值,为避免重复读取相同的命令数据导致的信息处理错误,第一操作系统在获取第二操作系统的待发送命令数据之后,可以将第二数据结构中与第二操作系统对应的发送就绪标志位置为第二值。
这里,在第二数据结构中,每个操作系统对应的发送就绪标志被该操作系统置为第一值,被第一操作系统置为第二值,可以提高发送就绪标志置位的准确性和及时性,避免出现信息处理错误。
例如,Core 1的Linux系统分区对读取的数据进行解析后再重新组包,转变为Ping命令消息并发送向PECI总线,Core 1分区的Linux系统消除上述标志,等待下一次数据传输。
通过本实施例,在命令数据读取完成之后,由指定操作系统修改其对应的接收就绪标志位的值,可以提高发送就绪标志置位的准确性和及时性,避免出现信息处理错误。
在一种示范性实施例中,通过第一操作系统对待发送命令数据进行重组,得到与待发送命令数据对应的目标命令消息,包括:
S71,确定与待发送命令数据对应的命令类型,得到目标命令类型,其中,目标命令类型是发送待发送命令数据所使用的预设命令的命令类型;
S72,按照与目标命令类型对应的命令格式对待发送命令数据进行重组,得到与待发送命令数据对应的目标命令消息。
不同的命令类型其对应的命令格式是不同的,为了适配不同的命令类型,第一操作系统可以确定与待发送命令数据对应的命令类型,得到目标命令类型,目标命令类型是发送待发送命令数据所使用的预设命令的命令类型,确定与待发送命令数据对应的命令类型的方式可以是基于从待发送命令数据中提取出的命令类型标识确定的,也可以是通过其他方式确定的,本实施例中对此不做限定。
在确定出目标命令类型之后,按照与目标命令类型对应的命令格式对待发送命令数据进行重组,可以得到与待发送命令数据对应的目标命令消息。这里,进行数据重组可以是由目标通信接口的接口控制器(例如,PECI控制器)执行的,也可以是由第一操作系统执行的。此外,待发送命令数据本身也可以是可以在目标通信总线上进行发送的命令消息,而通过在第一操作系统(或者,第一操作系统的目标通信接口的接口控制器)执行命令消息的重组操作,可以减少对于不同操作系统的处理要求。
通过本实施例,通过在指定操作系统或者指定操作系统的接口控制器按照命令类型执行命令数据到命令消息的重组,可以减少对于不同操作系统的处理要求。在一种示范性实施例中,至少两个操作系统中除了第一操作系统以外的其他操作系统的数量为多个。待发送的命令数据中可以直接携带目的地址(例如,目标硬件分区系统的通信地址),为了减少操作系统之间所需传输的数据量,可以在操作系统之间仅传输操作系统的系统标识,由第一操作系统基于系统标识确定出目的地址。对此,可以配置每个其他操作系统对应的硬件分区系统的通信地址和与第一操作系统对应的硬件分区系统的通信地址的差值,与每个其他操作系统的系统标识和第一操作系统的系统标识的差值具有指定对应关系,从而可以直接基于系统标识确定出目的地址。对应地,在通过第一操作系统对待发送命令数据进行重组之前,上述方法还包括:
S91,通过第一操作系统根据指定对应关系、第一操作系统的系统标识与第二操作系统的系统标识的差值、以及与第一操作系统对应的硬件分区系统的通信地址,确定与第二操作系统对应的目标硬件分区系统的通信地址。
在对待发送命令数据进行重组,第一操作系统可以根据指定对应关系、第一操作系统的系统标识与第二操作系统的系统标识的差值、以及与第一操作系统对应的硬件分区系统的通信地址,确定目标硬件分区系统的通信地址,这里的指定对应关系可以是相等关系,也可以是其他的关系,在此不做限定。
例如,Core 1分区的PECI地址为0x30,待发送命令消息的是Core 2分区,则确定目的地址为:0x30加上(分区号-1)。
通过本实施例,基于系统标识确定目的地址,可以减少系统之间传输命令数据所需传输的数据量,提高数据传输的效率。
下面结合可选示例对基于如图3所示的系统架构的命令消息的发送方式进行解释说明。在本可选示例中,PECI命令为Ping命令,对应地,如图7所示,Ping命令的发送流程可以包括以下步骤:
步骤S701,Core 1分区的Linux系统判断当前Ping命令是否来自Core 1分区,如果是,执行步骤S702,否则,执行S706;
步骤S702,确定目标地址为0x30;
步骤S703,确定写长度为0x00;
步骤S704,确定读长度为0x00;
步骤S705,按Ping命令消息格式发送数据至PECI总线;
步骤S706,确定目标地址为0x30+分区号-1;
步骤S707,确定写长度为0x00;
步骤S708,确定读长度为0x00;
步骤S709,除Core 1分区以外的其他Core分区的Linux系统将待发送数据放入共享内存中;
步骤S710,将对应的发送Ready(就绪)标志置为1;
步骤S711,Core 1分区的Linux系统轮循检测该发送Ready标志,确认共享内存中存在来自其他Core分区(除Core 1分区以外的Core分区)的待发送数据;
步骤S712,确认共享内存中存在有来自其他Core分区的待发送数据之后,对共享内存的数据进行重组;
步骤S713,按照Ping命令消息格式发送数据至PECI总线;
步骤S714,Core 1分区的Linux系统清除对应的发送Ready标志,等待下一轮的数据传输。
通过本可选示例,提供了硬件分区系统下PECI命令的发送流程以及基于共享内存的发送Ready标志设计、发送数据结构定义等,可以实现BMC管理单元的不同Core分区发送PECI命令的功能。
在一个示例性实施例中,在通过第一操作系统的目标通信接口将目标命令消息发送到目标通信总线上之后,上述方法还包括:
S91,通过第一操作系统接收目标通信总线上的目标响应消息,其中,目标响应消息是由目标硬件分区系统响应于目标命令消息返回的响应数据,目标响应消息中携带有目标硬件分区系统的通信地址;
S92,通过第一操作系统根据目标硬件分区系统的通信地址确定目标响应消息为发送给第二操作系统的响应消息,并通过第一操作系统将目标响应消息分发给第二操作系统。
在本实施例中,上述目标命令消息可以是指示目标硬件分区系统执行特定操作的命令消息,例如,用于在目标通信总线上基板管理控制器作为主机设备确认对应的作为客户机设备的硬件分区系统是否存在的命令,比如,Ping命令,这里,Ping命令用于PECI总线上的Host设备确认对应的Client设备是否存在的命令。目标硬件分区系统可以在获取到该目标命令消息之后,可以响应于该目标命令消息,向第二操作系统返回目标命令消息的响应消息,即,目标响应消息,该目标响应消息由目标硬件分区系统发送到目标通信总线上。
例如,对于PECI数据的接收与分发过程,Host侧的各分区系统的PECI控制器收到PECI总线上的命令数据后,进行地址信息比对,当PECI总线上的PECI地址(即,命令数据中的PECI地址)与自身匹配时,接收该命令并将响应数据发送到PECI总线上。
以Ping命令为例,对于第一种情况(BMC的Core 1分区发送PECI数据),Host侧的硬件分区1中的CPU的PECI控制器(图3中的PECI 1)成功匹配PECI总线上的目标地址,并发送FCS(Frame Check Sequence,帧校验序列,用于PECI总线中的Client设备响应Host设备的校验信息)序列作为响应数据发送至PECI总线。对于第二种情况(BMC的Core 2分区发送PECI数据),Host侧的硬件分区2中的CPU的PECI控制器(图3中的PECI 2)成功匹配PECI总线上的目标地址,并发送FCS序列作为响应数据发送至PECI总线。
需要说明的是,基于命令消息的类型不同,是否返回响应消息以及返回消息的类型也会存在区别,例如,对于获取某一种或者某几种运行参数的命令消息,返回携带有对应的参数信息的响应消息,对于指示硬件分区系统执行某一种系统操作的命令消息,可以不返回响应消息,或者返回携带操作执行结果的响应消息,具体的命令消息和对应的响应消息可以参考相关技术,本实施例中在此不做赘述。
在基板管理控制器侧,由于将目标通信接口配置给了第一操作系统,因此,第一操作系统可以对目标通信总线上的响应消息,其不仅对返回给自身的响应消息进行处理,也会对返回给同一基板管理控制器上其他的操作系统的响应消息进行处理。对于目标响应消息,第一操作系统可以接收目标通信总线上的目标响应消息,该目标响应消息中携带有目标硬件分区系统的通信地址,基于目标硬件分区系统的通信地址,确定出目标响应消息为发送给第二操作系统的响应消息。此时,第一操作系统可以将目标响应消息分发给第二操作系统。
可选地,一个操作系统的通信地址和对应的硬件分区系统的通信地址可以是相同的,可以使用硬件分区系统的通信地址作为对应的操作系统的通信地址。此外,也可以为除了第一操作系统以外的其他操作系统虚拟出一个对应的通信地址,在此情况下,目标响应消息中携带的目标地址(即,操作系统的通信地址)为第二操作系统的虚拟通信地址。
例如,BMC侧的Core 1分区的PECI控制器可接收PECI总线上的响应数据。如果此时的PECI地址对应Core 1分区,则由Core 1分区的Linux系统处理该响应数据;如果PECI地址对应Core 2~Core N,则Core 1分区的Linux系统可以将响应数据分发给对应的Core分区的Linux系统。
以Ping命令为例,对于第一种情况,BMC侧的Core 1分区的Linux系统首先通过其PECI接口接收总线上的FCS序列,然后判断PECI地址的值,发现是0x30(第一种情况目标地址是0x30),表示该FCS序列是Host侧硬件分区1发给BMC侧的Core 1分区的响应数据,此时由Core 1分区的Linux系统对该FCS序列与本地计算的FCS序列进行比对,若相等表示Ping命令成功返回,否则表示存在异常情况。
对于第二种情况,BMC侧的Core 1分区的Linux系统首先通过其PECI接口接收总线上的FCS序列,然后判断PECI地址的值,发现是0x31(第二种情况目标地址是0x31),表示该FCS序列是Host侧硬件分区2发给BMC侧的Core 2分区的响应数据,这时Core 1分区的Linux系统将对该FCS序列做数据分发。
需要说明的是,第一操作系统可以将目标响应消息直接分发给第二操作系统,也可以将目标响应消息中的部分数据(例如,有效数据)分发给第二操作系统,分发响应数据的方式可以是核间通信或者其他能够在同一基板管理控制器的不同处理器核心上的操作系统之间进行数据交互的方式,本实施例中对此不做限定。
通过本实施例,通过由基板管理控制器的通信接口所分配给的操作系统执行响应消息的接收与分发,可以提高消息交互的准确性和成功率。
在一个示例性实施例中,通过第一操作系统将目标响应消息分发给第二操作系统,包括:
S101,通过第一操作系统将目标响应消息中的目标响应数据写入到第三共享内存中,以由第二操作系统从第三共享内存中读取到目标响应数据。
在本实施例中,响应消息可以是通过第三共享内存分发给对应的操作系统的。第三共享内存是上述的至少两个操作系统的共享内存,其可以用于存储发送给至少两个操作系统中除了第一操作系统以外的其他操作系统的响应数据。至少两个操作系统中的每个操作系统均允许访问该共享内存,不同操作系统对于第三共享内存的操作权限可以是相同的,也可以是不同的,例如,第一操作系统可以具有第三共享内存的读写权限,而其他操作系统仅具有第三共享内存的读权限。可选地,第三共享内存与上述的第一共享内存和/或第二共享内存可以是相同的,也可以是不同的,本实施例中对此不做限定。
对于目标响应消息,第一操作系统可以将目标响应消息或者目标响应消息中的目标响应数据写入到第三共享内存中,而第二操作系统可以通过访问第三共享内存,从第三共享内存中读取到目标响应数据,从而完成目标响应消息的分发。
例如,对于其他Core 1分区的响应数据,Core 1分区的Linux系统可以将该响应数据写入共享内存,以由对应Core分区的Linux系统从共享内存中读取出该响应数据。以Ping命令为例,对于第二种情况,Core 1分区的Linux系统将该FCS序列写入共享内存中。
通过本实施例,通过共享内存在同一基板管理控制器的不同操作系统之间进行数据传输,可以提高数据传输的灵活性,同时降低对于数据传输实时性的需求。
在一个示例性实施例中,通过第一操作系统将目标响应消息中的目标响应数据写入到第三共享内存中,包括:
S111,通过第一操作系统根据第二操作系统的系统标识,将目标响应数据写入到第三共享内存的第三数据结构中。
在本实施例中,可以通过第三共享内存中的第三数据结构存储发送给其他操作系统的响应数据,通过该数据结构的特殊设计,可以标明该响应数据属于哪个操作系统(例如,Core分区)的响应数据,例如,通过共享内存中的数据结构的特殊设计标明该响应数据是发往Core 2分区的响应数据。在第三数据结构中,可以按照其他操作系统的系统标识采用至少一个指定参数存储发送给其他操作系统的响应数据,发送给其他操作系统的响应数据包括与其他操作系统对应的至少一个指定参数的参数信息。
这里,至少一个指定参数可以是预先设定的、可以适配不同类型的响应数据的一个或多个参数,为了避免由于设定的参数过多导致的存储空间的浪费,至少一个指定参数可以包含各种响应数据中的共性参数以及一个适配其他非共性参数的参数。示例性地,至少一个指定参数包括以下至少之一:发送响应数据的硬件分区系统所生成的校验序列,响应数据中的有效数据,发送响应数据的硬件分区系统所接收到的校验序列。此外,在第三数据结构中,也可以不存储系统标识,而仅包含至少一个指定参数,只要配置好各个操作系统和发送给各个操作系统的响应数据的存储位置(例如,起始位置、空间大小等)之间的对应关系即可。
可选地,至少一个指定参数的参数信息的存储顺序可以是预先配置好的,并可基于配置进行调整。在第三数据结构中,发送给各个操作系统的响应数据的存储方式可以有多种,可以包括但不限于以下至少之一的存储方式:与同一其他操作系统对应的至少一个指定参数的参数信息依次连续存储;或者,在第三数据结构中,与多个其他操作系统对应的至少一个指定参数中的同一指定参数的参数信息依次连续存储,还可以是其他的存储方式,本实施例中对此不做限定。
例如,BMC侧的Core 2~Core 8接收数据的数据结构的定义可以如表3所示:
表3
其中,发送数据的校验序列为分区系统所接收到的命令消息中所携带的校验序列(此变量为可选变量),接收数据的校验序列为分区系统所生成的校验序列。
上述的数据结构在内存中的分布方式可以如图8所示,图8示出了两种可能的分布方式,除了图8中所示的分布方式以外,还可以是其他的分布方式,在此不一一列出。
对于目标响应数据,第一操作系统可以根据第二操作系统的系统标识,将目标响应数据写入到第三共享内存的第三数据结构中。写入的方式可以是:基于目标响应数据,分别确定至少一个指定参数中的每个指定参数的参数信息,基于第二操作系统的系统标识,确定第三数据结构中,与第二操作系统对应的每个指定参数的参数信息的存储位置,并将确定出的每个指定参数的参数信息,写入到对应的存储位置中。
通过本实施例,通过数据结构的特殊设计来标明响应数据属于哪个操作系统的响应数据,可以提高数据传输的准确性。
在一个示例性实施例中,其他操作系统的数量为多个,至少两个操作系统中的每个操作系统的系统标识连续设置,对于每个操作系统运行在一个核心分区上的场景,可以通过核心分区的序号作为所运行的操作系统的系统标识,而在第三数据结构中,按照多个其他操作系统的系统标识的顺序依次存储发送给多个其他操作系统的响应数据,例如,如图8所示的分布方式1。
对应地,通过第一操作系统根据第二操作系统的系统标识,将目标响应数据写入到第三共享内存的第三数据结构中,包括:
S121,通过第一操作系统将目标响应数据写入到第三数据结构中,与第二操作系统的系统标识对应的存储位置中。
对于按照多个其他操作系统的系统标识的顺序依次存储发送给每个其他操作系统的响应数据的情况,发送给每个其他操作系统的响应数据的存储位置是固定的。在此情况下,可以通过遍历第三数据结构的方式确定目标响应数据的存储位置(例如,查找到第二操作系统的系统标识之后,基于至少一个指定参数与系统标识的存储位置之间的关系确定目标响应数据的存储位置),也可以直接将目标响应数据写入到第三数据结构中与第二操作系统的系统标识对应的存储位置中,从而数据写入的效率。
通过本实施例,基于系统标识与对应的响应数据的存储位置之间的对应关系直接进行响应数据存储,可以提高数据存储的效率。
在一个示例性实施例中,与前述实施例中类似的,至少两个操作系统中的其他操作系统的数量可以为多个。在此情况下,可以预先定义第四数据结构,该数据结构中可以设置与每个其他操作系统对应的接收就绪标志位(接收Ready标志,或称接收数据Ready标志),以标识是否存在发送给对应的操作系统的响应数据,其中,在接收就绪标志位为第三值(例如,1或者0)时,表示存在发送给对应的操作系统的响应数据,在接收就绪标志位为第四值(例如,0或者1)时,表示不存在发送给对应的操作系统的响应数据,由第一操作系统基于接收到的响应数据,该响应消息发送给的操作系统所对应的接收就绪标志位,以方便告知该操作系统存在发送给该操作系统的响应数据。
例如,BMC侧的Core 2~Core 8分区的接收Ready标志的数据结构定义如表4所示。
表4
这里,表2和表4的数据结构可以为同一数据结构,即,同一数据结构存储Tx_Rdy_Flg和Rx_Rdy_Flg两种变量的变量信息。
对应地,在通过第一操作系统将目标响应消息中的目标响应数据写入到第三共享内存中之后,上述方法还包括:
S131,通过第一操作系统将第四共享内存的第四数据结构中与第二操作系统对应的接收就绪标志位置为第三值;
S132,通过第二操作系统检测第四数据结构中与第二操作系统对应的接收就绪标志位;
S133,在检测到与第二操作系统对应的接收就绪标志位为第三值的情况下,通过第二操作系统从第三共享内存中读取到目标响应数据。
对于目标响应数据,第一操作系统可以将第四共享内存的第四数据结构中与第二操作系统对应的接收就绪标志位置为第三值,这里,第四共享内存与前述的第一共享内存、第二共享内存和/或第三共享内存可以是同一共享内存,也可以是不同的共享内存,第四数据结构与第二数据结构可以是同一数据结构,也可以是不同的数据结构,本实施例中对此不做限定。
对于第二操作系统,其可以检测第四数据结构中与第二操作系统对应的接收就绪标志位,检测的方式可以是以轮询的方式进行检测,也可以是其他的检测方式。如果检测到与第二操作系统对应的接收就绪标志位为第三值,第二操作系统确定存在发送给第二操作系统的响应数据,比如,第三数据结构中存储的与第二操作系统的系统标识对应的响应数据是有效的,此时,第二操作系统可以从第三共享内存中读取到目标响应数据。从第三共享内存中读取到目标响应数据的方式与前述实施例中类似,在此不做赘述。
例如,可以将与Core分区对应的接收数据Ready标志置1,各个Core分区的Linux系统通过轮循检测该数据Ready标志(不同Core分区的Linux系统分别检测与自身对应的数据Ready标志),如果发现本分区对应的标志置1,则去共享内存中读取对应的响应数据。
以Ping命令为例,对于第二种情况,数据写入完成之后,Core 1分区将与Core 2分区对应的接收Ready标志置1。Core 2分区的Linux系统轮循检测自身的接收Ready标志,发现该标志为1,则从对应的共享内存中读取数据。
通过本实施例,通过特定数据结构中的接收标志位进行置位来指示对应的操作系统存在发送给该操作系统的响应数据,可以提高信息传输的便捷性。
在一个示例性实施例中,在通过第二操作系统从第三共享内存中读取到目标响应数据之后,上述方法还包括:
S141,通过第二操作系统将第四数据结构中与第二操作系统对应的接收就绪标志位置为第四值。
在从第三共享内存中读取到目标响应数据之后,由于第四数据结构中,与第二操作系统对应的接收就绪标志位的值为第三值,为避免重复读取相同的响应数据导致的信息处理错误,第二操作系统在读取到目标响应数据之后,可以将第四数据结构中与第二操作系统对应的接收就绪标志位置为第四值。
这里,在第四数据结构中,每个操作系统对应的接收就绪标志被第一操作系统置为第三值,被该操作系统置为第四值,可以提高接收就绪标志置位的准确性和及时性,避免出现信息处理错误。
例如,某一Core分区的Linux系统在读取数据完成之后,清除上述标志(即,将该标志置为0),最后由Linux系统对读取的数据进一步处理。以Ping命令为例,对于第二种情况,数据写入完成之后,Core 1分区将与Core 2分区对应的接收数据Ready标志置1。Core 2分区的Linux系统轮循检测该标志,发现该标志为1,则从对应的共享内存中读取数据,读取数据完成后,清除上述标志,进一步将数据中的FCS序列与本地计算的序列比对,若相等表示Ping命令成功返回,否则表示存在异常情况。
通过本实施例,在响应数据读取完成之后,由响应数据发送给的操作系统修改其对应的接收就绪标志位的值,可以提高接收就绪标志置位的准确性和及时性,避免出现信息处理错误。
在一个示例性实施例中,通过第一操作系统将目标响应消息分发给第二操作系统,包括:
S151,通过第一操作系统向第二操作系统发送第二核间通信请求,其中,第二核间通信请求中携带有目标响应消息中的目标响应数据。
在本实施例中,也可以利用已有的核间通信请求或者新定义的核间通信请求来传递响应数据。这里,新定义的核间通信请求可以是基于已有的核间通信协议的核间通信请求,也可以是基于新的核间通信协议的核间通信请求,本实施例中对此不做限定,只要能够通过核间通信请求传递响应数据即可。
对于目标响应消息或者目标响应消息中的目标响应数据,第一操作系统可以向第二操作系统发送第二核间通信请求,该核间通信请求中携带有目标响应消息或者目标响应消息中的目标响应数据。
通过本实施例中,通过使用核间通信请求传输响应数据,可以提高响应数据传递的及时性。
下面结合可选示例对基于如图9所示的系统架构的命令消息的接收与分发方式进行解释说明。在本可选示例中,PECI命令为Ping命令,对应地,如图9所示,Ping命令的接收与分发流程可以包括以下步骤:
步骤S901,Host侧各硬件分区进行PECI地址比对;
步骤S902,判断Host侧的硬件分区1中的PECI 1正确匹配PECI总线上的目标地址,如果是,执行步骤S903,否则,执行步骤S907;
步骤S903,硬件分区1返回FCS序列作为响应数据发送至PECI总线;
步骤S904,Core 1分区的Linux系统通过其PECI接口接收PECI总线上的FCS序列;
步骤S905,判断PECI地址的值,发现是0x30,表示该FCS序列是Host侧的硬件分区1发给BMC侧的Core 1分区的响应数据;
步骤S906,Core 1分区的Linux系统对该FCS序列与本地计算的序列比对;
步骤S907,硬件分区2中的PECI 2成功匹配PECI总线上的目标地址,返回FCS序列作为响应数据发送至PECI总线;
步骤S908,Core 1分区的Linux系统通过PECI接口接收总线上的FCS序列;
步骤S909,Core 1分区的Linux系统判断PECI地址的值,发现是0x31,表示该FCS序列是Host侧的硬件分区2发给BMC侧的Core 2分区的响应数据;
步骤S910,Core 1分区的Linux系统将PECI数据写入共享内存中;
步骤S911,数据写入完成后,Core 1分区将与Core 2分区对应的接收数据Ready标志置1;
步骤S912,Core 2分区的Linux系统轮循检测该标志,发现该标志为1;
步骤S913,Core 2分区从对应的共享内存中读取数据;
步骤S914,读取数据完成后,Core 2分区清除上述数据Ready标志;
步骤S915,Core 2分区将FCS序列与本地计算的序列比对;
步骤S916,判断FCS值是否一致,如果是,执行步骤S917,否则,执行步骤S918,这里,步骤S916是在步骤S906或者步骤S915之后执行的;
步骤S917,Ping命令返回成功;
步骤S918,Ping命令返回异常。
通过本可选示例,提供了硬件分区系统下PECI命令接收与分发流程以及基于共享内存的接收Ready标志设计、接收数据数据结构定义等,可以实现BMC管理单元的不同Core分区接收PECI命令的功能。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
根据本申请实施例的另一方面,还提供了一种基于硬件分区系统的通信控制装置,该装置可以应用于包含基板管理控制器和主机系统的服务器,基板管理控制器与主机系统之间通过目标通信总线进行通信,基板管理控制的多核处理器上运行有至少两个操作系统,主机系统被划分为多个硬件分区系统,至少两个操作系统中的一个操作系统用于监控多个硬件分区系统中的至少一个硬件分区系统的运行状态,基板管理控制器的目标通信接口配置给至少两个操作系统中的第一操作系统,目标通信接口是与目标通信总线对应的通信接口。可选地,该装置用于实现上述实施例中所提供的基于硬件分区系统的通信控制方法,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图10是根据本申请实施例的一种基于硬件分区系统的通信控制装置的结构框图,如图10所示,该装置包括:获取单元1002,用于通过第一操作系统获取第二操作系统的待发送命令数据,其中,第二操作系统为至少两个操作系统中除了第一操作系统以外的任一个操作系统;重组单元1004,用于通过第一操作系统对待发送命令数据进行重组,得到与待发送命令数据对应的目标命令消息,其中,目标命令消息中的目标地址是与第二操作系统对应的目标硬件分区系统的通信地址;发送单元1006,用于通过第一操作系统的目标通信接口将目标命令消息发送到目标通信总线上,以由目标硬件分区系统通过目标硬件分区系统的目标通信接口接收目标通信总线上的目标命令消息。
通过本申请实施例,通过第一操作系统获取第二操作系统的待发送命令数据,其中,第二操作系统为至少两个操作系统中除了第一操作系统以外的任一个操作系统;通过第一操作系统对待发送命令数据进行重组,得到与待发送命令数据对应的目标命令消息,其中,目标命令消息中的目标地址是与第二操作系统对应的目标硬件分区系统的通信地址;通过第一操作系统的目标通信接口将目标命令消息发送到目标通信总线上,以由目标硬件分区系统通过目标硬件分区系统的目标通信接口接收目标通信总线上的目标命令消息,解决了相关技术中的通过服务器管理单元进行服务器故障服务器系统状态监控的方式存在对多分区系统的监控有效性差的问题,提高了分区系统监控的有效性。
在一个示例性实施例中,获取单元包括:获取模块,用于在确定第二操作系统存在待发送的命令数据的情况下,通过第一操作系统从第一共享内存中获取待发送命令数据,其中,第一共享内存用于至少两个操作系统中除了第一操作系统以外的其他操作系统待发送的命令数据。
在一个示例性实施例中,获取模块包括:获取子单元,用于在确定第二操作系统存在待发送的命令数据的情况下,通过第一操作系统根据第二操作系统的系统标识,从第一共享内存的第一数据结构中获取待发送命令数据,其中,第一数据结构用于按照其他操作系统的系统标识采用至少一个命令参数存储其他操作系统待发送的命令数据,其他操作系统待发送的命令数据包括与其他操作系统对应的至少一个命令参数的参数信息。
在一个示例性实施例中,其他操作系统的数量为多个,每个操作系统的系统标识连续设置,在第一数据结构中用于按照多个其他操作系统的系统标识的顺序依次存储每个其他操作系统待发送的命令数据,每个其他操作系统待发送的命令数据所占用的存储空间预先指定;对应地,获取子单元包括:获取子模块,用于在确定第二操作系统存在待发送的命令数据的情况下,通过第一操作系统从第一数据结构中,与第二操作系统的系统标识对应的存储位置内获取待发送命令数据。
在一个示例性实施例中,至少一个命令参数包括以下至少之一:写长度,读长度,命令码,写参数;在第一数据结构中,一个其他操作系统对应的系统标识和至少一个命令参数依次连续存储;或者,在第一数据结构中,多个其他操作系统的系统标识依次连续存储,多个其他操作系统的每个命令参数依次连续存储。
在一个示例性实施例中,获取单元包括:第一接收单元,用于通过第一操作系统接收第二操作系统发送的第一核间通信请求,其中,第一核间通信请求中携带有待发送命令数据。
在一个示例性实施例中,至少两个操作系统中,除了第一操作系统以外的其他操作系统的数量为多个;上述装置还包括:第一检测单元,用于在通过第一操作系统获取第二操作系统的待发送命令数据之前,通过第一操作系统依次检测第二共享内存的第二数据结构中与每个其他操作系统对应的发送就绪标志位,其中,发送就绪标志位用于标识对应的操作系统是否存在待发送的命令数据;第一确定单元,用于在检测到与第二操作系统对应的发送就绪标志位为第一值的情况下,确定第二操作系统存在待发送的命令数据,其中,第一值用于表示对应的操作系统存在待发送的命令数据。
在一个示例性实施例中,上述装置还包括:第一执行单元,用于在通过第一操作系统获取第二操作系统的待发送命令数据之后,通过第一操作系统将与第二操作系统对应的发送就绪标志位置为第二值,其中,第二值用于表示对应的操作系统不存在待发送的命令数据。
在一个示例性实施例中,重组单元包括:确定模块,用于确定与待发送命令数据对应的命令类型,得到目标命令类型,其中,目标命令类型是发送待发送命令数据所使用的预设命令的命令类型;重组模块,用于按照与目标命令类型对应的命令格式对待发送命令数据进行重组,得到与待发送命令数据对应的目标命令消息。
在一个示例性实施例中,至少两个操作系统中,除了第一操作系统以外的其他操作系统的数量为多个,每个其他操作系统对应的硬件分区系统的通信地址和与第一操作系统对应的硬件分区系统的通信地址的差值,与每个其他操作系统的系统标识和第一操作系统的系统标识的差值具有指定对应关系;上述装置还包括:第二确定单元,用于在通过第一操作系统对待发送命令数据进行重组之前,通过第一操作系统根据指定对应关系、第一操作系统的系统标识与第二操作系统的系统标识的差值、以及与第一操作系统对应的硬件分区系统的通信地址,确定与第二操作系统对应的目标硬件分区系统的通信地址。
在一个示例性实施例中,上述装置还包括:第二接收单元,用于在通过第一操作系统的目标通信接口将目标命令消息发送到目标通信总线上之后,通过第一操作系统接收目标通信总线上的目标响应消息,其中,目标响应消息是由目标硬件分区系统响应于目标命令消息返回的响应数据,目标响应消息中携带有目标硬件分区系统的通信地址;第二执行单元,用于通过第一操作系统根据目标硬件分区系统的通信地址确定目标响应消息为发送给第二操作系统的响应消息,并通过第一操作系统将目标响应消息分发给第二操作系统。
在一个示例性实施例中,第二执行单元包括:执行模块,用于通过第一操作系统将目标响应消息中的目标响应数据写入到第三共享内存中,以由第二操作系统从第三共享内存中读取到目标响应数据,其中,第三共享内存用于存储发送给至少两个操作系统中除了第一操作系统以外的其他操作系统的响应数据。
在一个示例性实施例中,执行模块包括:写入子单元,用于通过第一操作系统根据第二操作系统的系统标识,将目标响应数据写入到第三共享内存的第三数据结构中,其中,第三数据结构用于按照其他操作系统的系统标识采用至少一个指定参数存储发送给其他操作系统的响应数据,发送给其他操作系统的响应数据包括与其他操作系统对应的至少一个指定参数的参数信息。
在一个示例性实施例中,其他操作系统的数量为多个,至少两个操作系统的系统标识连续设置,第三数据结构用于按照多个其他操作系统的系统标识的顺序依次存储发送给多个其他操作系统的响应数据;写入子单元包括:写入子模块,用于通过第一操作系统将目标响应数据写入到第三数据结构中,与第二操作系统的系统标识对应的存储位置中。
在一个示例性实施例中,至少一个指定参数包括以下至少之一:发送响应数据的硬件分区系统所生成的校验序列,响应数据中的有效数据,发送响应数据的硬件分区系统所接收到的校验序列;在第三数据结构中,与同一其他操作系统对应的至少一个指定参数的参数信息依次连续存储;或者,在第三数据结构中,与多个其他操作系统对应的至少一个指定参数中的同一指定参数的参数信息依次连续存储。
在一个示例性实施例中,至少两个操作系统中,其他操作系统的数量为多个;上述装置还包括:第三执行单元,用于在通过第一操作系统将目标响应消息中的目标响应数据写入到第三共享内存中之后,通过第一操作系统将第四共享内存的第四数据结构中与第二操作系统对应的接收就绪标志位置为第三值,其中,接收就绪标志位用于标识是否存在发送给对应的操作系统的响应数据,第三值用于表示存在发送给对应的操作系统的响应数据;第二检测单元,用于通过第二操作系统检测第四数据结构中与第二操作系统对应的接收就绪标志位;读取单元,用于在检测到与第二操作系统对应的接收就绪标志位为第三值的情况下,通过第二操作系统从第三共享内存中读取到目标响应数据。
在一个示例性实施例中,上述装置还包括:第四执行单元,用于在通过第二操作系统从第三共享内存中读取到目标响应数据之后,通过第二操作系统将第四数据结构中与第二操作系统对应的接收就绪标志位置为第四值,其中,第四值用于表示不存在发送给对应的操通过第一操作系统将目标响应消息分发给第二操作系统系统的响应数据。
在一个示例性实施例中,第二执行单元包括:发送模块,用于通过第一操作系统向第二操作系统发送第二核间通信请求,其中,第二核间通信请求中携带有目标响应消息中的目标响应数据。
在一个示例性实施例中,目标通信总线为PECI总线,目标通信接口为PECI接口;至少两个操作系统中的一个操作系统和与一个操作系统对应的硬件分区系统之间的通信是由一个操作系统作为Host设备向作为Client设备的与一个操作系统对应的硬件分区系统发起的,通过仅允许第一操作系统访问基板管理控制器的PECI接口控制器将基板管理控制器的PECI接口分配给第一操作系统。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
根据本申请实施例的又一方面,还提供了一种服务器,可以用于执行前述实施例中的基于硬件分区系统的通信控制方法,已经进行过说明的,在此不做赘述。
在本实施例中,上述的服务器包括:主机系统、基板管理控制器和主机系统和基板管理控制之间的目标通信总线,基板管理控制的多核处理器上运行有至少两个操作系统,主机系统被划分为多个硬件分区系统,至少两个操作系统中的一个操作系统用于监控多个硬件分区系统中的至少一个硬件分区系统的运行状态,基板管理控制器的目标通信接口配置给至少两个操作系统中的第一操作系统,目标通信接口是与目标通信总线对应的通信接口,其中,
第一操作系统,用于获取第二操作系统的待发送命令数据,其中,第二操作系统为至少两个操作系统中除了第一操作系统以外的任一个操作系统;对待发送命令数据进行重组,得到与待发送命令数据对应的目标命令消息,其中,目标命令消息中的目标地址是与第二操作系统对应的目标硬件分区系统的通信地址;通过第一操作系统的目标通信接口将目标命令消息发送到目标通信总线上;
目标硬件分区系统,用于通过目标硬件分区系统的目标通信接口接收目标通信总线上的目标命令消息。
在一些示例性实施例中,至少两个操作系统和多个硬件分区系统可以配合执行上述任一项方法实施例中的步骤。
根据本申请实施例的又一方面,还提供了一种基板管理控制器,该基板管理控制器可以用于执行前述实施例中的基于硬件分区系统的通信控制方法,已经进行过说明的,在此不做赘述。
在本实施例中,上述的基板管理控制器的多核处理器上运行的至少两个操作系统,至少两个操作系统中的一个操作系统用于监控主机系统所划分成的多个硬件分区系统中的至少一个硬件分区系统的运行状态,基板管理控制器与主机系统之间通过目标通信总线进行通信,基板管理控制器的目标通信接口配置给至少两个操作系统中的第一操作系统,目标通信接口是与目标通信总线对应的通信接口,至少两个操作系统还包括第二操作系统,其中,
第一操作系统,用于获取第二操作系统的待发送命令数据,其中,第二操作系统为至少两个操作系统中除了第一操作系统以外的任一个操作系统;对待发送命令数据进行重组,得到与待发送命令数据对应的目标命令消息,其中,目标命令消息中的目标地址是与第二操作系统对应的目标硬件分区系统的通信地址;通过第一操作系统的目标通信接口将目标命令消息发送到目标通信总线上,以由目标硬件分区系统通过目标硬件分区系统的目标通信接口接收目标通信总线上的目标命令消息。
在一些示例性实施例中,至少两个操作系统可以配合执行上述任一项方法实施例中的步骤。
根据本申请实施例的又一方面,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
根据本申请实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
以上仅为本申请的优选实施例而已,并不用于限制本申请实施例,对于本领域的技术人员来说,本申请实施例可以有各种更改和变化。凡在本申请实施例的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。
Claims (21)
1.一种基于硬件分区系统的通信控制方法,其特征在于,应用于包含基板管理控制器和主机系统的服务器,所述基板管理控制器与所述主机系统之间通过目标通信总线进行通信,所述基板管理控制器的多核处理器上运行有至少两个操作系统,所述主机系统被划分为多个硬件分区系统,所述至少两个操作系统中的一个操作系统用于监控所述多个硬件分区系统中的至少一个硬件分区系统的运行状态,所述基板管理控制器的目标通信接口配置给所述至少两个操作系统中的第一操作系统,所述目标通信接口是与所述目标通信总线对应的通信接口;所述方法包括:
通过所述第一操作系统获取第二操作系统的待发送命令数据,其中,所述第二操作系统为所述至少两个操作系统中除了所述第一操作系统以外的任一个操作系统;
通过所述第一操作系统对所述待发送命令数据进行重组,得到与所述待发送命令数据对应的目标命令消息,其中,所述目标命令消息中的目标地址是与所述第二操作系统对应的目标硬件分区系统的通信地址;
通过所述第一操作系统的所述目标通信接口将所述目标命令消息发送到所述目标通信总线上,以由所述目标硬件分区系统通过所述目标硬件分区系统的所述目标通信接口接收所述目标通信总线上的所述目标命令消息;
其中,所述通过所述第一操作系统获取第二操作系统的待发送命令数据,包括:在确定所述第二操作系统存在待发送的命令数据的情况下,通过所述第一操作系统从第一共享内存中获取所述待发送命令数据,其中,所述第一共享内存用于存储所述至少两个操作系统中除了所述第一操作系统以外的其他操作系统待发送的命令数据;
其中,所述在确定所述第二操作系统存在待发送的命令数据的情况下,通过所述第一操作系统从第一共享内存中获取所述待发送命令数据,包括:在确定所述第二操作系统存在待发送的命令数据的情况下,通过所述第一操作系统根据所述第二操作系统的系统标识,从所述第一共享内存的第一数据结构中获取所述待发送命令数据,其中,所述第一数据结构用于按照所述其他操作系统的系统标识采用至少一个命令参数存储所述其他操作系统待发送的命令数据,所述其他操作系统待发送的命令数据包括与所述其他操作系统对应的所述至少一个命令参数的参数信息。
2.根据权利要求1所述的方法,其特征在于,所述其他操作系统的数量为多个,所述至少两个操作系统的系统标识连续设置,所述第一数据结构用于按照多个所述其他操作系统的系统标识的顺序依次存储多个所述其他操作系统待发送的命令数据;
所述在确定所述第二操作系统存在待发送的命令数据的情况下,通过所述第一操作系统根据所述第二操作系统的系统标识,从所述第一共享内存的第一数据结构中获取所述待发送命令数据,包括:
在确定所述第二操作系统存在待发送的命令数据的情况下,通过所述第一操作系统从所述第一数据结构中,与所述第二操作系统的系统标识对应的存储位置内获取所述待发送命令数据。
3.根据权利要求2所述的方法,其特征在于,所述至少一个命令参数包括以下至少之一:写长度,读长度,命令码,写参数;在所述第一数据结构中,与同一所述其他操作系统对应的所述至少一个命令参数的参数信息依次连续存储;或者,在所述第一数据结构中,与多个所述其他操作系统对应的所述至少一个命令参数中的同一命令参数的参数信息依次连续存储。
4.根据权利要求1所述的方法,其特征在于,所述至少两个操作系统中,除了所述第一操作系统以外的其他操作系统的数量为多个;在所述通过所述第一操作系统获取第二操作系统的待发送命令数据之前,所述方法还包括:
通过所述第一操作系统依次检测第二共享内存的第二数据结构中与每个所述其他操作系统对应的发送就绪标志位,其中,所述发送就绪标志位用于标识对应的操作系统是否存在待发送的命令数据;
在检测到与所述第二操作系统对应的所述发送就绪标志位为第一值的情况下,确定所述第二操作系统存在待发送的命令数据,其中,所述第一值用于表示对应的操作系统存在待发送的命令数据。
5.根据权利要求4所述的方法,其特征在于,在所述通过所述第一操作系统获取第二操作系统的待发送命令数据之后,所述方法还包括:
通过所述第一操作系统将与所述第二操作系统对应的所述发送就绪标志位置为第二值,其中,所述第二值用于表示对应的操作系统不存在待发送的命令数据。
6.根据权利要求1所述的方法,其特征在于,所述通过所述第一操作系统对所述待发送命令数据进行重组,得到与所述待发送命令数据对应的目标命令消息,包括:
确定与所述待发送命令数据对应的命令类型,得到目标命令类型,其中,所述目标命令类型是发送所述待发送命令数据所使用的预设命令的命令类型;
按照与所述目标命令类型对应的命令格式对所述待发送命令数据进行重组,得到与所述待发送命令数据对应的所述目标命令消息。
7.根据权利要求1所述的方法,其特征在于,所述至少两个操作系统中,除了所述第一操作系统以外的其他操作系统的数量为多个,每个所述其他操作系统对应的硬件分区系统的通信地址和与所述第一操作系统对应的硬件分区系统的通信地址的差值,与每个所述其他操作系统的系统标识和所述第一操作系统的系统标识的差值具有指定对应关系;
在所述通过所述第一操作系统对所述待发送命令数据进行重组之前,所述方法还包括:
通过所述第一操作系统根据所述指定对应关系、所述第一操作系统的系统标识与所述第二操作系统的系统标识的差值、以及与所述第一操作系统对应的硬件分区系统的通信地址,确定与所述第二操作系统对应的所述目标硬件分区系统的通信地址。
8.根据权利要求1所述的方法,其特征在于,在所述通过所述第一操作系统的所述目标通信接口将所述目标命令消息发送到所述目标通信总线上之后,所述方法还包括:
通过所述第一操作系统接收所述目标通信总线上的目标响应消息,其中,所述目标响应消息是由所述目标硬件分区系统响应于所述目标命令消息返回的响应数据,所述目标响应消息中携带有所述目标硬件分区系统的通信地址;
通过所述第一操作系统根据所述目标硬件分区系统的通信地址确定所述目标响应消息为发送给所述第二操作系统的响应消息,并通过所述第一操作系统将所述目标响应消息分发给所述第二操作系统。
9.根据权利要求8所述的方法,其特征在于,所述通过所述第一操作系统将所述目标响应消息分发给所述第二操作系统,包括:
通过所述第一操作系统将所述目标响应消息中的目标响应数据写入到第三共享内存中,以由所述第二操作系统从所述第三共享内存中读取到所述目标响应数据,其中,所述第三共享内存用于存储发送给所述至少两个操作系统中除了所述第一操作系统以外的其他操作系统的响应数据。
10.根据权利要求9所述的方法,其特征在于,所述通过所述第一操作系统将所述目标响应消息中的目标响应数据写入到第三共享内存中,包括:
通过所述第一操作系统根据所述第二操作系统的系统标识,将所述目标响应数据写入到第三共享内存的第三数据结构中,其中,所述第三数据结构用于按照所述其他操作系统的系统标识采用至少一个指定参数存储发送给所述其他操作系统的响应数据,发送给所述其他操作系统的响应数据包括与所述其他操作系统对应的所述至少一个指定参数的参数信息。
11.根据权利要求10所述的方法,其特征在于,所述其他操作系统的数量为多个,所述至少两个操作系统的系统标识连续设置,所述第三数据结构用于按照多个所述其他操作系统的系统标识的顺序依次存储发送给多个所述其他操作系统的响应数据;
所述通过所述第一操作系统根据所述第二操作系统的系统标识,将所述目标响应数据写入到第三共享内存的第三数据结构中,包括:
通过所述第一操作系统将所述目标响应数据写入到所述第三数据结构中,与所述第二操作系统的系统标识对应的存储位置中。
12.根据权利要求11所述的方法,其特征在于,所述至少一个指定参数包括以下至少之一:发送响应数据的硬件分区系统所生成的校验序列,响应数据中的有效数据,发送响应数据的硬件分区系统所接收到的校验序列;在所述第三数据结构中,与同一所述其他操作系统对应的所述至少一个指定参数的参数信息依次连续存储;或者,在所述第三数据结构中,与多个所述其他操作系统对应的所述至少一个指定参数中的同一指定参数的参数信息依次连续存储。
13.根据权利要求9所述的方法,其特征在于,所述至少两个操作系统中,所述其他操作系统的数量为多个;在所述通过所述第一操作系统将所述目标响应消息中的目标响应数据写入到第三共享内存中之后,所述方法还包括:
通过所述第一操作系统将第四共享内存的第四数据结构中与所述第二操作系统对应的接收就绪标志位置为第三值,其中,所述接收就绪标志位用于标识是否存在发送给对应的操作系统的响应数据,所述第三值用于表示存在发送给对应的操作系统的响应数据;
通过所述第二操作系统检测所述第四数据结构中与所述第二操作系统对应的所述接收就绪标志位;
在检测到与所述第二操作系统对应的所述接收就绪标志位为所述第三值的情况下,通过所述第二操作系统从所述第三共享内存中读取到所述目标响应数据。
14.根据权利要求13所述的方法,其特征在于,在所述通过所述第二操作系统从所述第三共享内存中读取到所述目标响应数据之后,所述方法还包括:
通过所述第二操作系统将所述第四数据结构中与所述第二操作系统对应的所述接收就绪标志位置为第四值,其中,所述第四值用于表示不存在发送给对应的操作系统的响应数据。
15.根据权利要求8所述的方法,其特征在于,所述通过所述第一操作系统将所述目标响应消息分发给所述第二操作系统,包括:
通过所述第一操作系统向所述第二操作系统发送第二核间通信请求,其中,所述第二核间通信请求中携带有所述目标响应消息中的目标响应数据。
16.根据权利要求1至15中任一项所述的方法,其特征在于,所述目标通信总线为平台环境控制接口PECI总线,所述目标通信接口为PECI接口;所述至少两个操作系统中的一个操作系统和与所述一个操作系统对应的硬件分区系统之间的通信是由所述一个操作系统作为主机Host设备向作为客户机Client设备的与所述一个操作系统对应的硬件分区系统发起的,通过仅允许所述第一操作系统访问所述基板管理控制器的PECI接口控制器将所述基板管理控制器的所述PECI接口分配给所述第一操作系统。
17.一种基于硬件分区系统的通信控制装置,其特征在于,应用于包含基板管理控制器和主机系统的服务器,所述基板管理控制器与所述主机系统之间通过目标通信总线进行通信,所述基板管理控制器的多核处理器上运行有至少两个操作系统,所述主机系统被划分为多个硬件分区系统,所述至少两个操作系统中的一个操作系统用于监控所述多个硬件分区系统中的至少一个硬件分区系统的运行状态,所述基板管理控制器的目标通信接口配置给所述至少两个操作系统中的第一操作系统,所述目标通信接口是与所述目标通信总线对应的通信接口,所述装置包括:
获取单元,用于通过所述第一操作系统获取第二操作系统的待发送命令数据,其中,所述第二操作系统为所述至少两个操作系统中除了所述第一操作系统以外的任一个操作系统;
重组单元,用于通过所述第一操作系统对所述待发送命令数据进行重组,得到与所述待发送命令数据对应的目标命令消息,其中,所述目标命令消息中的目标地址是与所述第二操作系统对应的目标硬件分区系统的通信地址;
发送单元,用于通过所述第一操作系统的所述目标通信接口将所述目标命令消息发送到所述目标通信总线上,以由所述目标硬件分区系统通过所述目标硬件分区系统的所述目标通信接口接收所述目标通信总线上的所述目标命令消息;
其中,所述获取单元包括:获取模块,用于在确定所述第二操作系统存在待发送的命令数据的情况下,通过所述第一操作系统从第一共享内存中获取所述待发送命令数据,其中,所述第一共享内存用于存储所述至少两个操作系统中除了所述第一操作系统以外的其他操作系统待发送的命令数据;
所述获取模块包括:获取子单元,用于在确定所述第二操作系统存在待发送的命令数据的情况下,通过所述第一操作系统根据所述第二操作系统的系统标识,从所述第一共享内存的第一数据结构中获取所述待发送命令数据,其中,所述第一数据结构用于按照所述其他操作系统的系统标识采用至少一个命令参数存储所述其他操作系统待发送的命令数据,所述其他操作系统待发送的命令数据包括与所述其他操作系统对应的所述至少一个命令参数的参数信息。
18.一种服务器,其特征在于,包括:主机系统、基板管理控制器和所述主机系统和所述基板管理控制器之间的目标通信总线,所述基板管理控制器的多核处理器上运行有至少两个操作系统,所述主机系统被划分为多个硬件分区系统,所述至少两个操作系统中的一个操作系统用于监控所述多个硬件分区系统中的至少一个硬件分区系统的运行状态,所述基板管理控制器的目标通信接口配置给所述至少两个操作系统中的第一操作系统,所述目标通信接口是与所述目标通信总线对应的通信接口,其中,
所述第一操作系统,用于获取第二操作系统的待发送命令数据,其中,所述第二操作系统为所述至少两个操作系统中除了所述第一操作系统以外的任一个操作系统;对所述待发送命令数据进行重组,得到与所述待发送命令数据对应的目标命令消息,其中,所述目标命令消息中的目标地址是与所述第二操作系统对应的目标硬件分区系统的通信地址;通过所述第一操作系统的所述目标通信接口将所述目标命令消息发送到所述目标通信总线上;
所述目标硬件分区系统,用于通过所述目标硬件分区系统的所述目标通信接口接收所述目标通信总线上的所述目标命令消息;
其中,所述第一操作系统,还用于在确定所述第二操作系统存在待发送的命令数据的情况下,从第一共享内存中获取所述待发送命令数据,其中,所述第一共享内存用于存储所述至少两个操作系统中除了所述第一操作系统以外的其他操作系统待发送的命令数据;
其中,所述第一操作系统,还用于在确定所述第二操作系统存在待发送的命令数据的情况下,根据所述第二操作系统的系统标识,从所述第一共享内存的第一数据结构中获取所述待发送命令数据,其中,所述第一数据结构用于按照所述其他操作系统的系统标识采用至少一个命令参数存储所述其他操作系统待发送的命令数据,所述其他操作系统待发送的命令数据包括与所述其他操作系统对应的所述至少一个命令参数的参数信息。
19.一种基板管理控制器,其特征在于,所述基板管理控制器的多核处理器上运行有至少两个操作系统,所述至少两个操作系统中的一个操作系统用于监控主机系统所划分成的多个硬件分区系统中的至少一个硬件分区系统的运行状态,所述基板管理控制器与所述主机系统之间通过目标通信总线进行通信,所述基板管理控制器的目标通信接口配置给所述至少两个操作系统中的第一操作系统,所述目标通信接口是与所述目标通信总线对应的通信接口,所述至少两个操作系统还包括第二操作系统,其中,
所述第一操作系统,用于获取第二操作系统的待发送命令数据,其中,所述第二操作系统为所述至少两个操作系统中除了所述第一操作系统以外的任一个操作系统;对所述待发送命令数据进行重组,得到与所述待发送命令数据对应的目标命令消息,其中,所述目标命令消息中的目标地址是与所述第二操作系统对应的目标硬件分区系统的通信地址;通过所述第一操作系统的所述目标通信接口将所述目标命令消息发送到所述目标通信总线上,以由所述目标硬件分区系统通过所述目标硬件分区系统的所述目标通信接口接收所述目标通信总线上的所述目标命令消息;
其中,所述第一操作系统,还用于在确定所述第二操作系统存在待发送的命令数据的情况下,从第一共享内存中获取所述待发送命令数据,其中,所述第一共享内存用于存储所述至少两个操作系统中除了所述第一操作系统以外的其他操作系统待发送的命令数据;
其中,所述第一操作系统,还用于在确定所述第二操作系统存在待发送的命令数据的情况下,根据所述第二操作系统的系统标识,从所述第一共享内存的第一数据结构中获取所述待发送命令数据,其中,所述第一数据结构用于按照所述其他操作系统的系统标识采用至少一个命令参数存储所述其他操作系统待发送的命令数据,所述其他操作系统待发送的命令数据包括与所述其他操作系统对应的所述至少一个命令参数的参数信息。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现权利要求1至16中任一项所述的方法的步骤。
21.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至16中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311307559.4A CN117056275B (zh) | 2023-10-10 | 2023-10-10 | 基于硬件分区系统的通信控制方法、装置及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311307559.4A CN117056275B (zh) | 2023-10-10 | 2023-10-10 | 基于硬件分区系统的通信控制方法、装置及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117056275A CN117056275A (zh) | 2023-11-14 |
CN117056275B true CN117056275B (zh) | 2024-02-09 |
Family
ID=88655681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311307559.4A Active CN117056275B (zh) | 2023-10-10 | 2023-10-10 | 基于硬件分区系统的通信控制方法、装置及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117056275B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216814A (zh) * | 2007-12-26 | 2008-07-09 | 杭州华三通信技术有限公司 | 一种多核多操作系统之间的通信方法及系统 |
US10521273B2 (en) * | 2017-06-08 | 2019-12-31 | Cisco Technology, Inc. | Physical partitioning of computing resources for server virtualization |
CN116627520A (zh) * | 2023-07-26 | 2023-08-22 | 苏州浪潮智能科技有限公司 | 基板管理控制器的系统运行方法以及基板管理控制器 |
CN116719700A (zh) * | 2023-08-09 | 2023-09-08 | 苏州浪潮智能科技有限公司 | 服务器主机系统的硬件分区的监测方法及装置 |
CN116795752A (zh) * | 2023-08-28 | 2023-09-22 | 苏州浪潮智能科技有限公司 | 接口通信方法、装置以及服务器 |
CN116848519A (zh) * | 2023-04-28 | 2023-10-03 | 苏州浪潮智能科技有限公司 | 硬件接口信号的生成方法、装置及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170102952A1 (en) * | 2015-10-07 | 2017-04-13 | Dell Products, L.P. | Accessing data stored in a remote target using a baseboard management controler (bmc) independently of the status of the remote target's operating system (os) |
-
2023
- 2023-10-10 CN CN202311307559.4A patent/CN117056275B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216814A (zh) * | 2007-12-26 | 2008-07-09 | 杭州华三通信技术有限公司 | 一种多核多操作系统之间的通信方法及系统 |
US10521273B2 (en) * | 2017-06-08 | 2019-12-31 | Cisco Technology, Inc. | Physical partitioning of computing resources for server virtualization |
CN116848519A (zh) * | 2023-04-28 | 2023-10-03 | 苏州浪潮智能科技有限公司 | 硬件接口信号的生成方法、装置及电子设备 |
CN116627520A (zh) * | 2023-07-26 | 2023-08-22 | 苏州浪潮智能科技有限公司 | 基板管理控制器的系统运行方法以及基板管理控制器 |
CN116719700A (zh) * | 2023-08-09 | 2023-09-08 | 苏州浪潮智能科技有限公司 | 服务器主机系统的硬件分区的监测方法及装置 |
CN116795752A (zh) * | 2023-08-28 | 2023-09-22 | 苏州浪潮智能科技有限公司 | 接口通信方法、装置以及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN117056275A (zh) | 2023-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8495255B2 (en) | Discovery and configuration of device configurations | |
CN110809760B (zh) | 资源池的管理方法、装置、资源池控制单元和通信设备 | |
CN109445905B (zh) | 虚拟机数据通信方法和系统以及虚拟机配置方法和装置 | |
CN101409670B (zh) | 管理组件传输协议互连滤波和路由 | |
CN104202194A (zh) | PCIe拓扑的配置方法和装置 | |
US11960430B2 (en) | Remote mapping method, apparatus and device for computing resources, and storage medium | |
CN110762775B (zh) | 一种空调器的升级方法及空调器 | |
CN103828332B (zh) | 数据处理方法、装置、存储控制器和机柜 | |
WO2017032112A1 (zh) | 一种与无中央处理器单板通讯的方法及通讯设备 | |
CN104322012A (zh) | 平台独立的管理控制器 | |
CN116719700B (zh) | 服务器主机系统的硬件分区的监测方法及装置 | |
CN112637371B (zh) | 节点地址确定方法、装置、电子设备及存储介质 | |
CN114401250A (zh) | 一种地址分配的方法及装置 | |
CN116166434A (zh) | 处理器分配方法及系统、装置、存储介质、电子设备 | |
CN117032812B (zh) | 服务器的管理方法、设备、装置、存储介质和电子设备 | |
CN116032746B (zh) | 资源池的信息处理方法及装置、存储介质及电子装置 | |
CN117056275B (zh) | 基于硬件分区系统的通信控制方法、装置及服务器 | |
CN112511621A (zh) | 数据发送方法及装置、存储介质、电子装置 | |
CN105491082A (zh) | 远程资源访问方法和交换设备 | |
US11625348B2 (en) | Transfer device, information processing device, and data transfer method | |
TW202127250A (zh) | 運算資源配置和管理方法及代理伺服器 | |
CN105138406A (zh) | 一种任务处理方法、装置及系统 | |
CN117978811B (zh) | 映射关系的确定方法及系统、存储介质及电子装置 | |
CN113918273B (zh) | 一种容器组的创建方法和装置 | |
CN103812893A (zh) | 虚拟桌面外部设备传输方法及系统 |
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 |