CN112052200A - 信息处理装置、信息处理系统以及存储介质 - Google Patents
信息处理装置、信息处理系统以及存储介质 Download PDFInfo
- Publication number
- CN112052200A CN112052200A CN202010499897.2A CN202010499897A CN112052200A CN 112052200 A CN112052200 A CN 112052200A CN 202010499897 A CN202010499897 A CN 202010499897A CN 112052200 A CN112052200 A CN 112052200A
- Authority
- CN
- China
- Prior art keywords
- program
- communication
- communication program
- processing
- identifier
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/105—Program control for peripheral devices where the programme performs an input/output emulation function
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
- G06F13/4072—Drivers or receivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
- H04L12/4645—Details on frame tagging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/354—Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Systems (AREA)
- Stored Programmes (AREA)
- Bus Control (AREA)
Abstract
提供信息处理装置、信息处理系统以及存储介质,防止通信的不良情况的发生。存储部存储:控制第1通信部的通信的第1通信程序;控制第2通信部的通信的第2通信程序;使对应的通信程序发送执行了规定处理后的数据的第1处理程序和第2处理程序;对应关系信息,其包含表示与第1处理程序对应的第1对应通信程序的第1标识符和表示与第2处理程序对应的第2对应通信程序的第2标识符。处理部4决定第1对应通信程序,将表示所决定的第1对应通信程序的标识符作为第1标识符设定于对应关系信息中,决定第2对应通信程序,将表示所决定的第2对应通信程序的标识符作为第2标识符设定于对应关系信息中。
Description
技术领域
本发明涉及信息处理装置、信息处理系统以及存储介质。
背景技术
开发了在具有主机PC(Host Personal Computer)、处理器、以及能够连接主机PC及处理器的中继装置的信息处理系统中,中继装置使用PCIe(Peripheral ComponentInterconnect Express:周边装置互联高速)等扩展总线进行与槽(slot)连接的主机PC和处理器之间的通信的技术。
现有技术文献
专利文献
专利文献1:日本特开2008-41027号公报
专利文献2:日本特表2012-504835号公报
发明内容
[发明要解决的问题]
这样的主机PC能够将使用PCIe等扩展总线的通信设为虚拟LAN(Local AreaNetwork,局域网)。在这种情况下,主机PC通过组合使用用于通过PCIe等扩展总线进行通信的驱动程序(driver)和用于进行虚拟LAN通信的驱动程序,将处理器间的通信设为使用了PCIe等扩展总线的虚拟LAN。
然而,在主机PC中,与总线接口(也称为连接接口)的吞吐量(throughput)相比,有时数据通信量变大,因此考虑使用多个连接接口将主机PC与中继装置连接。在将分别经由多个连接接口的主机PC与处理器之间的通信设为使用PCIe等扩展总线的虚拟LAN的情况下,对每个连接接口组合使用两个驱动程序。因此,主机PC安装连接接口的数量个的用于通过PCIe等扩展总线进行通信的驱动程序和用于进行虚拟LAN通信的驱动程序。
这样,当在安装了连接接口的数量个的用于通过PCIe等扩展总线进行通信的驱动程序和用于进行虚拟LAN通信的驱动程序的情况下进行重新启动时,存在与重新启动前相比驱动程序的组合发生变化的情况。在这样的情况下,在主机PC设想原来的组合而进行了指示的情况下,不从如主机PC侧的设想那样的连接接口输出数据。其结果,不能适当地向各连接接口分配数据,导致通信性能的降低,有时发生通信的不良情况。
在一个方面,本发明的目的在于提供一种防止通信的不良情况的发生的信息处理装置、信息处理系统以及信息处理程序。
[用于解决问题的手段]
在一个方案中,提供具备第1通信部、第2通信部、存储部和处理部的如下所述的信息处理装置。在该信息处理装置中,第1通信部经由扩展总线与其他装置连接成可通信。第2通信部经由扩展总线与其他装置连接成可通信。存储部存储第1通信程序、第2通信程序、第1处理程序、第2处理程序和对应关系信息。第1通信程序控制第1通信部的经由扩展总线与其他装置的通信。第2通信程序控制第2通信部的经由扩展总线与其他装置的通信。第1处理程序以及第2处理程序对数据执行规定处理,使第1通信程序或者第2通信程序中的对应的任意的通信程序向其他装置发送执行了规定处理后的数据。对应关系信息包括表示第1通信程序和第2通信程序中的与第1处理程序对应的第1对应通信程序的第1标识符、和表示第1通信程序和第2通信程序中的与第2处理程序对应的第2对应通信程序的第2标识符。处理部从第1通信程序和第2通信程序中决定第1对应通信程序,将表示所决定的第1对应通信程序的标识符作为第1标识符设定于对应关系信息中。另外,处理部从第1通信程序和第2通信程序中决定第2对应通信程序,将表示所决定的第2对应通信程序的标识符作为第2标识符设定于对应关系信息中。
另外,在一个方案中,提供具有中继装置、多个运算处理装置和信息处理装置的如下的信息处理系统。在该信息处理系统中,中继装置具有扩展总线,对经由扩展总线的通信进行中继。多个运算处理装置分别与扩展总线连接。信息处理装置与扩展总线连接。信息处理装置还包括第1通信部、第2通信部、存储部和处理部。第1通信部经由扩展总线与多个运算处理装置连接成可通信。第2通信部经由扩展总线与多个运算处理装置连接成可通信。存储部存储第1通信程序、第2通信程序、第1处理程序、第2处理程序和对应关系信息。第1通信程序控制第1通信部的经由扩展总线与多个运算处理装置的通信。第2通信程序控制第2通信部的经由扩展总线与多个运算处理装置的通信。第1处理程序以及第2处理程序对数据执行规定处理,使第1通信程序或者第2通信程序中的对应的任意的通信程序向多个运算处理装置发送执行了规定处理后的数据。对应关系信息包括表示第1通信程序和第2通信程序中的与第1处理程序对应的第1对应通信程序的第1标识符、和表示第1通信程序和第2通信程序中的与第2处理程序对应的第2对应通信程序的第2标识符。处理部从第1通信程序和第2通信程序中决定第1对应通信程序,将表示所决定的第1对应通信程序的标识符作为第1标识符设定于对应关系信息中。另外,处理部从第1通信程序和第2通信程序中决定第2对应通信程序,将表示所决定的第2对应通信程序的标识符作为第2标识符设定于对应关系信息中。
另外,在一个方案中,提供一种使计算机执行与所述信息处理装置同样的处理的信息处理程序。
[发明效果]
根据一个方面,可以防止通信的不良情况的发生。
附图说明
图1是用于说明第1实施方式的信息处理装置的一例的图。
图2是表示第2实施方式的边缘计算系统(edge computing system)的整体概要例的图。
图3是示出根据第2实施方式的信息处理系统的硬件配置的一例的图。
图4是表示第2实施方式的平台的硬件结构的一例的图。
图5是表示第2实施方式的PCIe桥接控制器(bridge controller)的硬件结构的一例的图。
图6是表示第2实施方式的信息处理系统中的各平台的软件结构的一例的图。
图7是用于说明第2实施方式的信息处理系统中的平台间的通信处理的一例的图。
图8是用于说明第2实施方式的信息处理系统中的经由PCIe桥接控制器的处理器间的数据传送方法的一例的图。
图9是表示第2实施方式的平台的功能结构的一例的图。
图10是用于说明第2实施方式的组合发生变化时的问题点的图。
图11是表示在安装时设定第2实施方式的参数信息的情况下的处理的一例的图。
图12是表示在起动时设定第2实施方式的参数信息的情况下的处理的一例的图。
标号说明
1信息处理装置;2a第1通信部;2b第2通信部;3存储部;3a第1通信程序;3b第2通信程序;3c第1处理程序;3d第2处理程序;3e对应关系信息;4处理部;5其他装置
具体实施方式
以下,参照附图对本实施方式进行说明。
[第1实施方式]
图1是用于说明第1实施方式的信息处理装置的一例的图。图1所示的信息处理装置1具备第1通信部2a、第2通信部2b、存储部3和处理部4。
第1通信部2a和第2通信部2b例如作为用于与扩展总线连接的PCIe接口等、信息处理装置1所具备的连接接口(也称为通信接口、总线接口)来实现。存储部3例如作为RAM(随机存取存储器)等、信息处理装置1所具备的存储装置来实现。另外,存储部3可以是RAM等易失性存储装置,也可以是HDD(Hard Disk Drive)或闪存等非易失性存储装置。处理部4例如作为信息处理装置1所具备的CPU(Central Processing Unit)等处理器来实现。另外,处理部4可以包括DSP(数字信号处理器,Digital signal Processor)、ASIC(专用集成电路,Application Specific Integrated Circuit)、FPGA(现场可编程门阵列,FieldProgrammable Gate Array)等。处理部4执行RAM等存储器(例如存储部3)中存储的程序。这里所说的“处理器”还可以包括多个处理器的集合(多处理器)。
第1通信部2a和第2通信部2b经由扩展总线与其他装置5连接成可通信。经由第1通信部2a或第2通信部2b执行用于在信息处理装置1和其他装置5之间收发数据的通信。
存储部3存储第1通信程序3a、第2通信程序3b、第1处理程序3c、第2处理程序3d和对应关系信息3e。第1通信程序3a控制第1通信部2a中的经由扩展总线与其他装置5的通信。具体而言,第1通信程序3a按照规定的通信协议(例如PCIe)在与其他装置5之间收发数据。第2通信程序3b控制第2通信部2b中的经由扩展总线与其他装置5的通信。具体而言,第2通信程序3b按照规定的通信协议在与其他装置5之间收发数据。
第1处理程序3c和第2处理程序3d对数据执行规定处理,使第1通信程序3a或第2通信程序3b中的对应的任意一个通信程序向其他装置5发送执行了规定处理后的数据。规定处理例如是用于对数据进行胶囊化(capsule)(例如加密),在与其他装置5之间进行隧道化(Tunneling)(例如建立虚拟的直接(LAN)线路)的通信的处理。
即,信息处理装置1在不建立虚拟的直接线路的情况下,仅使用各通信程序(例如,第1通信程序3a、第2通信程序3b)进行与其他装置5的通信。另外,信息处理装置1在建立虚拟的直接线路的情况下,使用各处理程序(例如,第1处理程序3c、第2处理程序3d)、与各处理程序对应的各通信程序,进行与其他装置5的通信。
对应关系信息3e包括第1标识符和第2标识符。第1标识符是表示第1通信程序3a和第2通信程序3b中的与第1处理程序3c对应的第1对应通信程序的标识符。第2标识符是表示第1通信程序3a和第2通信程序3b中的与第2处理程序3d对应的第2对应通信程序的标识符。
在图1的例子中,作为第1标识符设定表示第1通信程序3a的标识符,对应关系信息3e表示第1处理程序3c与第1通信程序3a对应(即组合)。另外,作为第2标识符设定表示第2通信程序3b的标识符,对应关系信息3e表示第2处理程序3d与第2通信程序3b对应。
即,图1所示的信息处理装置1构成为,由第1通信程序3a将由第1处理程序3c执行了规定处理后的数据发送给其他装置5。另外,图1所示的信息处理装置1构成为,由第2通信程序3b将由第2处理程序3d执行了规定处理后的数据发送给其他装置5。
处理部4从第1通信程序3a和第2通信程序3b中决定与第1处理程序3c对应的第1对应通信程序。处理部4将表示所决定的第1对应通信程序的标识符作为第1标识符设定于对应关系信息3e中。
处理部4从第1通信程序3a和第2通信程序3b中决定与第2处理程序3d对应的第2对应通信程序。处理部4将表示所决定的第2对应通信程序的标识符作为第2标识符设定于对应关系信息3e中。
通过这样设定对应关系信息3e,信息处理装置1能够将与各处理程序(例如,第1处理程序3c、第2处理程序3d)对应的各通信程序(例如,第1通信程序3a和第2通信程序3b)固定化。由此,信息处理装置1能够防止与各处理程序对应的各通信程序因重新启动等而出乎意料地发生变化。
例如,如图1所示,有时应用程序通过对第1处理程序3c进行指示来实现进行了规定处理后的数据从第1通信部2a的输出(P1)。在这种情况下,在由于重新启动等而使对应关系出乎意料地发生变化的情况下(P2),当应用程序进行了与重新启动前相同的指示时,从与预想不同的通信部(在此为第2通信部2b)输出处理后的数据(P3)。
这样,如果不能从应用程序所设想的通信部输出完成了规定处理后的数据,则信息处理装置1不能适当地进行资源管理(例如,经由各通信部的通信的负荷分散)。例如,信息处理装置1在重新启动后的状态下负荷向第2通信部2b偏斜时,以分散负荷为目的、对第1处理程序3c指示应该由第1通信部2a进行已处理后的数据的收发,有可能导致负荷的进一步偏斜。其结果,导致通信性能的降低,可能发生通信的不良情况。
关于这一点,信息处理装置1通过预先存储对应关系信息3e,将与各处理程序对应的各通信程序固定化,因此不会因重新启动等而使对应发生变化。由此,信息处理装置1能够抑制通信性能的降低,能够防止通信的不良情况的发生。
[第2实施形式]
接下来,作为更具体的实施方式,对边缘计算系统进行说明。图2是表示第2实施方式的边缘计算系统的整体概要例的图。
边缘计算系统10是通过在靠近收集数据的边缘(或前端(front))的区域进行数据的处理,抑制通信延迟等、实现确保实时性的处理的系统。作为边缘计算系统10,例如有在零售店等中进行使用AI(Artificial Intelligence)推理的人物估计的系统等。
边缘计算系统10具备连接成可通信的云服务器100、信息处理系统(例如边缘计算机)200、边缘设备300-1~300-n。另外,以下,在指边缘设备300-1~300-n中任意的边缘设备时,使用边缘设备300。
边缘设备300是进行数据的收集·输出的设备,配置在边缘(即,靠近用户的位置)。作为边缘设备300,例如有照相机、麦克风、扬声器等。
信息处理系统200是对边缘设备300收集到的数据进行汇集,并对汇集后的数据进行处理的系统。信息处理系统200设置在靠近边缘(即,边缘设备300)的区域中。
云服务器100是信息处理系统200进行用于数据处理的学习数据的生成、提供等的装置。云服务器100例如设置在数据中心等中。
接下来,说明信息处理系统200的硬件配置。图3是示出根据第2实施方式的信息处理系统的硬件结构的一例的图。
图3所示的信息处理系统200具备PCIe桥接控制器(也称为中继装置)230和平台210、220-1~220-6。平台210是第1实施方式的信息处理装置1的一个实施方式。平台210是作为信息处理系统200的控制部和GUI(图形用户界面,Graphical User Interface)的主机PC,平台220-1~220-6是执行AI推理处理、图像处理等的运算部。另外,平台210、220-1~220-6也可以是各自不同的平台。另外,以下,在指平台210、220-1~220-6中的任意的平台时,不附加标号而使用。
平台与PCIe桥接控制器230连接成可通信。具体而言,平台210使用两个RC(RootComplex,根复合体)(例如,使两个PCIe接口(也称为连接部)作为RC发挥功能)与搭载于PCIe桥接控制器230的两个EP(End Point,端点)连接。EP是被识别为扩展总线的末端设备的从(slave)侧的连接部,RC是控制将EP侧识别为末端设备并经由扩展总线的通信的主(master)侧的连接部。
平台210是作为主机PC发挥功能的平台,因此,由于假设数据的收发量变大,所以使用两个RC与PCIe桥接控制器230连接。由于两个RC和两个EP以这种方式连接,因此平台210通过适当地分配数据的通信路径(即,通过决定在哪个RC-EP之间进行通信),能够进行宽通信频带的通信。
平台220-1~220-6使用一个RC与搭载于PCIe桥接控制器230的一个EP连接。
这样,在信息处理系统200中,平台成为能够作为主机侧工作的RC,PCIe桥接控制器230成为EP,进行数据传送。
平台210包括处理器211。平台220-1~220-6分别具备处理器221-1~221-6。另外,以下,在指处理器211、221-1~221-6中的任意的处理器时,不附加标号而使用。
处理器可以分别由不同的制造商(或销售商)提供。例如,处理器221可以是A公司提供的,处理器221-1可以是B公司提供的,处理器221-2可以是C公司提供的,处理器221-3可以是D公司提供的。另外,处理器221-4可以是E公司提供的,处理器221-5可以是F公司提供的,处理器221-6可以是G公司提供的。
处理器对所搭载的平台进行统一控制。处理器可以是多处理器。处理器例如是CPU、微处理单元(MPU)、DSP、ASIC或可编程逻辑器件(PLD)。另外,处理器也可以是CPU、GPU(图形处理单元)、MPU、DSP、ASIC、PLD中的两个以上的要素的组合。
PCIe桥接器控制器230具有扩展总线(例如,作为各个平台的扩展总线起作用的总线),并且对经由扩展总线的通信进行中继。
下面,对平台的硬件构成进行说明。图4是表示第2实施方式的平台的硬件结构的一例的图。
平台210包括处理器211、显示器212、通用串行总线(USB)接口213、以太网(Ethernet,注册商标)接口214和DIMM(Dual Inline Memory Module,双列直插内存模块)215。平台210还包括固态驱动器(SSD,Solid State Drive)216、HDD217、TPM(TrustedPlatform Module,可信平台模块)218和PCIe接口219a和219b。平台210所具有的各构成要素经由总线连接。
处理器211统一地控制整个平台210。显示器212作为显示各种信息的显示部发挥功能。USB接口213能够连接USB设备,能够作为USB设备与处理器211之间的通信的媒介。以太网接口214能够连接以太网电缆,能够作为经由以太网电缆的外部设备与处理器211之间的通信的媒介。
DIMM215是能够暂时存储各种信息的RAM等易失性存储介质。SSD216及HDD217是在切断电源后也能够存储各种信息的非易失性存储介质。SSD216及HDD217存储处理器211执行的各种程序等各种信息。TPM218是实现系统的安全功能的模块。PCIe接口219a、219b是用于与扩展总线连接的通信接口(即,连接接口)。在信息处理系统200中,PCIe接口219a和219b与PCIe桥接器控制器230连接,并且作为经由PCIe桥接器控制器230的与平台220-1~220-6的通信的媒介。另外,以下,在指PCIe接口219a、219b中任意的PCIe接口时使用PCIe接口219。
通过以上的硬件结构来实现平台210的处理功能。另外,对于平台220-1~220-6,也能够通过同样的结构实现在各平台执行的处理功能。另外,以下,对于平台220-1~220-6也具备同样的结构,对于平台220-1~220-6的处理器以外的上述构成要素使用与上述同样的标号。
接着,对PCIe桥接控制器230的硬件结构进行说明。图5是表示第2实施方式的PCIe桥接控制器的硬件结构的一例的图。
PCIe桥接器控制器230是在一个芯片中具有作为8个信道的EP发挥功能的连接接口的中继设备。PCIe桥接控制器230具备CPU231、存储器232、相互连接器(Interconnect)233及多个槽(即连接接口)234-1~234-8。另外,以下,在指槽234-1~234-8中的任意的槽时使用槽234。
在槽234-1~234-8上分别连接有构成为满足PCIe的标准的设备。在信息处理系统200中,平台210连接到槽234-1和234-2,平台220-1~220-6分别连接到槽234-3~234-8。这样,通过对平台210分配两个槽234,能够使平台210进行使用宽的通信频带的通信。
另外,以下设平台210的PCIe接口219a与Slot#0连接,平台210的PCIe接口219b与Slot#1连接。此外,假定平台220-1连接到Slot#2,平台220-2连接到Slot#3,平台220-3连接到Slot#4。另外,假定平台220-4连接到Slot#5,平台220-5连接到Slot#6,平台220-6连接到Slot#7。
各个槽234通过内部总线(也称为“Internal Bus”)连接到互连233。此外,CPU231和存储器232连接到相互连接器233。由此,各槽234与CPU231以及存储器232经由相互连接器233连接成能够相互通信。
存储器232例如是包括ROM(只读存储器)和RAM的存储器(物理存储器)。在存储器232的ROM中写入有数据通信控制所涉及的软件程序或该程序用的数据类。存储器232上的软件程序被CPU231适当地读入并执行。另外,存储器232的RAM被用作一次存储存储器或工作存储器。
CPU231控制PCIe桥接控制器230整体。CPU231可以是多处理器。另外,也可以使用MPU、DSP、ASIC、PLD、FPGA中的任一个来代替CPU231。另外,CPU231也可以是CPU、MPU、DSP、ASIC、PLD、FPGA中的两种以上的要素的组合。
然后,CPU231执行存储在存储器232中的软件程序,由此实现PCIe桥接控制器230中的平台间(或处理器间)的数据传送(即,数据的收发)。
PCIe桥接控制器230使用PCIe来加速平台之间的数据传送,使各平台所具备的处理器分别作为RC工作,在作为设备工作的EP之间实现数据传送。
具体而言,在信息处理系统200中,使各平台的处理器作为数据传送接口,作为PCIe的RC进行工作。此外,对于各个平台(或处理器),使PCIe桥接控制器230(例如,各个平台所连接的槽234)作为EP进行工作。
另外,作为将PCIe桥接控制器230作为EP与处理器连接的方法,可以使用已知的各种方法来实现。例如,PCIe桥接器控制器230可以通过在与平台连接时向处理器通知指示其作为EP发挥功能的信号,而将其作为EP与处理器连接。
在PCIe桥接控制器230中,通过EPtoEP(端点到端点)使数据进行隧道传输,向多个RC传送数据。处理器之间的通信在发生了PCIe事务时被逻辑地连接,当数据传送不集中于一个处理器上时,可以在各个处理器之间并行地传送数据。
接着,使用图6对信息处理系统200的软件结构进行说明。图6是表示第2实施方式的信息处理系统中的各平台的软件结构的一例的图。另外,在图6中,为了方便,仅图示了平台210、220-1、220-2的软件结构。另外,平台220-1~220-6是同样的结构。
首先对平台210进行说明。平台210包括应用程序210a、驱动程序210b、OS(操作系统)210e和BIOS(基本输入输出系统)210f。
应用程序210a是利用在平台210上进行的OS 210e所提供的功能来执行各种处理的应用软件或应用程序。应用程序210a在OS 210e上工作。平台210在应用程序210a的控制下进行各种处理。
驱动程序210b是为了能够通过OS 210e来控制搭载在平台210上的硬件等而准备的软件。
作为平台210具有的驱动程序210b,有桥接驱动程序(bridge driver)210c1、210c2和虚拟LAN驱动程序210d1、210d2等。桥接驱动程序210c1、210c2是第1实施方式的第1通信程序3a、第2通信程序3b的一个实施方式。虚拟LAN驱动程序210d1、210d2是第1实施方式的第1处理程序3c、第2处理程序3d的一个实施方式。另外,以下,在指桥接驱动程序210c1、210c2中的任意的桥接驱动程序时使用桥接驱动程序210c。另外,以下,在指虚拟LAN驱动程序210d1、210d2中的任意的虚拟LAN驱动程序时使用虚拟LAN驱动程序210d。
桥接驱动程序210c是用于控制PCIe桥接控制器230的驱动程序(换言之,用于电气地接入到PCIe桥接控制器230并与其他平台进行通信的驱动程序)。
由于平台210使用两个RC与搭载于PCIe桥接控制器230中的两个EP连接,所以平台210具有与作为各个连接发挥功能的RC对应的两个桥接驱动程序210c。
另外,以下假设桥接驱动程序210c1是与PCIe接口219a对应的驱动程序,桥接驱动程序210c2是与PCIe接口219b对应的驱动程序。
虚拟LAN驱动程序210d是用于进行如下的通信的驱动程序:通过与桥接驱动程序210c组合而在与其他平台之间建立隧道化了的虚拟LAN线路。
平台210为了使用两个RC与搭载于PCIe桥接器控制器230中的两个EP连接,为了将使用作为各自的连接而发挥功能的RC的通信设为虚拟LAN通信,而具有两个虚拟LAN驱动程序210d。
例如,在增强安全性的情况下,平台210使用虚拟LAN驱动程序210d及桥接驱动程序210c与其它平台之间进行虚拟LAN通信。如果不需要增强安全性,则平台210仅使用桥接驱动程序210c与其它平台之间通信。
OS 210e是用于使平台210工作的基本软件或基本程序。BIOS 210f是控制平台210上的OS 210e的启动的软件。在平台210中,例如,由BIOS 210f启动(或调用)Boot加载器,由BIOS 210f启动的Boot加载器检测OS 210e,并启动OS 210e。
接着,对平台220-1~220-6进行说明。平台220-1~220-6是同样的结构,因此以平台220-1为例进行说明。平台220-1具有应用程序220-1a、驱动程序220-1b、OS220-1e和Boot加载器220-1f。
应用程序220-1a是利用在平台220-1上进行的OS220-1e所提供的功能来执行各种处理的应用软件或应用程序。应用程序220-1a在OS220-1e上工作。平台220-1在应用程序220-1a的控制下进行各种处理。
驱动程序220-1b是为了能够通过OS220-1e控制搭载在平台220-1上的硬件等而准备的软件。
作为平台220-1具有的驱动程序220-1b,有桥接驱动程序220-1c和虚拟LAN驱动程序220-1d等。
桥接驱动程序220-1c是用于控制PCIe桥接控制器230的驱动程序。平台220-1为了使用一个RC与搭载于PCIe桥接控制器230中的一个EP连接,而具有一个桥接驱动程序220-1c。
虚拟LAN驱动程序220-1d是用于进行如下通信的驱动程序:通过与桥接驱动程序220-1c组合而在与其他平台之间建立了虚拟LAN线路。
平台220-1为了使用一个RC与搭载于PCIe桥接器控制器230中的一个EP连接,而具有一个虚拟LAN驱动程序220-1d。
例如,平台220-1在要加强安全性的情况下,使用虚拟LAN驱动程序220-1d及桥接驱动程序220-1c在与其他平台间进行虚拟的LAN通信。在不需要加强安全性的情况下,平台220-1仅使用桥接驱动程序220-1c在与其他平台之间进行通信。
OS220-1e是用于使平台220-1工作的基本软件或基本程序。Boot加载器220-1f是在平台220-1启动时被调用并启动OS220-1e的软件。在平台220-1中,例如通过Boot加载器220-1f检测OS220-1e,并启动OS 210e。
接着,对与PCIe桥接控制器230连接的平台之间的通信处理的一例进行说明。图7是用于说明第2实施方式的信息处理系统中的平台间的通信处理的一例的图。
在此,使用在平台210的处理器211与平台220-1的处理器221-1间进行通信的例子进行说明。
发送源的平台210将在作为RC的处理器211中生成的数据依次传送到软件、交易层、数据链路层以及物理层(PHY),并在物理层中传送到PCIe桥接控制器230的物理层。
PCIe桥接器控制器230将从平台210传送的数据依次传送到物理层、数据链路层、交易层以及软件,并通过隧道传送到与平台220-1的RC对应的EP。即,在PCIe桥接控制器230中,通过在EP之间对数据进行隧道传输,将数据从一个RC(或处理器)传送到另一个RC(或处理器)。
发送目的地的平台220-1将从PCIe桥接控制器230传送的数据依次传送到物理层、数据链路层、交易层以及软件,并传送到发送目的地的平台220-1的处理器221-1。
在信息处理系统200中,当发生了PCIe的事务时,平台之间的通信被逻辑地连接。
当来自多个其他处理器的数据传输没有集中于与PCIe桥接器控制器230所具有的8个槽中的一个连接的特定处理器时,可以在不同的任意多组中的各个处理器之间并行地传送数据。例如,在处理器221-2和处理器221-3与处理器221-1通信的情况下,PCIe桥接控制器230串行地处理由处理器221-2和处理器221-3进行的通信。
另一方面,在不同平台的处理器之间进行通信,通信没有集中于特定平台的处理器的情况下,PCIe桥接控制器230也能够并行地处理平台之间的通信。
接着,使用图8说明信息处理系统200中的经由PCIe桥接控制器230的平台间的数据传送方法。图8是用于说明第2实施方式的信息处理系统中的经由PCIe桥接控制器的处理器间的数据传送方法的一例的图。
在此,以从与Slot#0、Slot#1连接的平台210的Slot#0向与Slot#3连接的平台220-2传送数据的情况为例进行说明。
发送源的平台210将通过软件等发送的数据(以下称为发送数据)从平台210所具备的HDD217等存储装置(即存储装置,storage)存储到平台210的DIMM215等(即物理存储器)的存储器区域215a中(P10)。存储器区域215a可以是临时存储被传送的数据的通信缓冲器的一部分。
存储器区域215a是以相同大小在平台各自的DIMM215等中设置的区域。存储器区域215a根据槽234的数量而被分割。存储器区域215a的分割后的存储区域与任意一个槽234对应。即,在各平台的存储器区域215a中,设置有分别与Slot#0~#7对应的存储区域。
例如,存储器区域215a内的用Slot#0表示的存储区域与连接到Slot#0的平台210对应,用Slot#3表示的存储区域与连接到Slot#3的平台220-2对应。平台210将发送数据存储在存储器区域215a中的分配给发送目的地的槽234的区域(在此为Slot#3)中。
桥接驱动程序210c1基于平台的存储器区域215a的存储区域,取得或生成表示发送目的地的槽234的槽信息和表示发送目的地的存储器区域215a中的分割区域内的地址的地址信息(P11)。
在发送源EP中,桥接驱动程序210c1将包含槽信息、地址信息和发送数据的传送数据传递给PCIe桥接控制器230(P12)。由此,PCIe桥接控制器230基于槽信息,通过EPtoEP连接发送源的槽234和发送目的地的槽234,从而将传送数据传送到发送目的地的平台220-2(P13)。发送目地的平台220-2基于槽信息和地址信息,将发送数据(或传送数据)存储在与发送目的地的平台220-2的存储器区域215a的Slot#3对应的存储区域内的地址信息所表示的区域中(P14)。
在发送目的地的平台220-2中,例如,程序读出存储在存储器区域215a中的发送数据,并使其移动到DIMM215或HDD217(P15、P16)。
如上所述,数据从发送源的平台210被传送到发送目的地的平台220-2。另外,虚拟LAN通信例如可以通过将在P10中存储的发送数据设为虚拟LAN驱动程序对原始的数据赋予报头等而胶囊化的数据,由发送目的地的虚拟LAN驱动程序进行非胶囊化而取出原始的数据来实现。
这样,在信息处理系统200中,PCIe桥接控制器230在PCIe桥接控制器230内的EP之间作为数据传送的媒介。由此,能够实现与PCIe桥接控制器230连接的多个RC之间的数据传送。
即,使各处理器作为PCIe的RC独立工作,在PCIe桥接控制器230中,将与各处理器连接的设备作为EP来连接,在EP间进行数据传送。这样可以避免由设备驱动程序引起的问题,并使高速数据传送作为一个系统工作。
另外,只要具有符合PCIe的标准的数据通信功能,就能够在不同的处理器之间进行数据传送,因此能够扩大使用的处理器的选择项,而无需担心有无设备驱动程序、支持OS等。
由于各处理器经由作为EP的PCIe桥接控制器230连接,所以不需要追加EP之前的RC的设备驱动程序。因此,不需要开发设备驱动程序,并且也不会发生因追加设备驱动程序而引起的不良情况。
在信息处理系统200中,由于要求ARM处理器或FPGA等一般的处理器作为RC进行工作,所以能够容易地作为信息处理系统200的处理器进行追加。
在PCIe桥接控制器230中,进行通过PCIe进行的连接和通信,因此能够实现以太网无法实现的高速传送。另外,还能够进行4K、8K等高清晰影像的处理器间收发、大规模的大数据的并行计算等。
另外,由于也能够连接专门用于图像处理或数据检索等各功能的专用处理器,因此能够低成本地进行功能追加、性能提高。
进而,在信息处理系统200中,不需要进行系统的虚拟化等,也不会发生由于进行系统的虚拟化而产生的系统性能的降低。因此,也可以将信息处理系统200应用于将AI推理或图像处理这样的高负荷的运算作为用途的系统。
接着,对平台210所具备的功能进行说明。图9是表示第2实施方式的平台的功能结构的一例的图。
平台210具有处理部240和存储部250。处理部240执行存储部250存储的各种程序,进行在各种程序内进行的各种处理。处理单元240由处理器211实现。处理部240是第1实施方式的处理部4的一个实施方式。
例如,处理部240进行表示虚拟LAN驱动程序210d与桥接驱动程序210c的对应关系的参数信息255的设定、基于所设定的对应关系(例如参数信息255)的虚拟LAN驱动程序210d与桥接驱动程序210c的对应。
存储部250存储用于平台210所具有的各种软件、各种程序的动作的各种信息。存储单元250由SSD216、HDD217等实现。存储部250是第1实施方式的存储部3的一个实施方式。
存储部250存储作为桥接驱动程序210c1、210c2及虚拟LAN驱动程序210d1、210d2的动作中使用的信息的MAC(Media Access Control,介质访问控制)地址251、252、虚拟IP(Internet Protocol,互联网协议)地址253、254和参数信息255。参数信息255是第1实施方式的对应关系信息3e的一个实施方式。
参数信息255是表示与各虚拟LAN驱动程序210d对应的桥接驱动程序210c(即,与各虚拟LAN驱动程序210d组合的桥接驱动程序210c)的信息。参数信息255是存储(也称为记忆)在注册表中的信息。与所安装的虚拟LAN驱动程序210d的数量无关,在注册表中仅生成一个参数信息255。
参数信息255是将各虚拟LAN驱动程序210d的标识符与和各虚拟LAN驱动程序210d对应的桥接驱动程序210c的标识符对应起来的信息。
桥接驱动程序210c的标识符是对桥接驱动程序210c唯一地设定的、能够识别各桥接驱动程序210c的识别信息。在参数信息255中设定的桥接驱动程序210c的标识符是不因重新启动等而变更的静态信息(即固定的信息),例如是在安装时被分配并存储在注册表中的固有标识符。
虚拟LAN驱动程序210d的标识符是对虚拟LAN驱动程序210d唯一地设定的、能够识别各虚拟LAN驱动程序210d的识别信息。在参数信息255中设定的虚拟LAN驱动程序210d的标识符是不因重新启动等而变更的静态信息(即固定的信息),例如是在安装时被分配并存储在注册表中的固有的标识符。
例如,在图9的例子中,表示具有#1的标识符的虚拟LAN驱动程序210d与具有#1的标识符的桥接驱动程序210c对应。另外,表示具有#2的标识符的虚拟LAN驱动程序210d与具有#2的标识符的桥接驱动程序210c对应。另外,以下假设对虚拟LAN驱动程序210d1设定了#1的标识符,对虚拟LAN驱动程序210d2设定了#2的标识符。另外,假设对桥接驱动程序210c1设定了#1的标识符,对桥接驱动程序210c2设定了#2的标识符。即,在平台210中,假设虚拟LAN驱动程序210d1与桥接驱动程序210c1相关联,虚拟LAN驱动程序210d2与桥接驱动程序210c2相关联。
MAC地址251、252是在PCIe接口219中设定的物理地址(例如节点ID),MAC地址251、252用于识别PCIe接口219与PCIe桥接控制器230的哪个槽234连接。MAC地址251、252分别用于通过桥接驱动程序210c的平台间的数据传送、以及通过虚拟LAN驱动程序210d的平台间的虚拟LAN线路的建立。
在信息处理系统200中,根据PCIe接口219所连接的槽234,由桥接驱动程序210c生成MAC地址251、252。即,MAC地址251、252是可根据连接结构的变化而变更的动态的信息(即,非固定的信息)。
MAC地址251是在PCIe接口219a中设定的物理地址(这里是与Slot#0对应的物理地址),由在PCIe接口219a的控制中使用的桥接驱动程序210c1生成。MAC地址251与桥接驱动程序210c1相对应地存储(例如,存储在桥接驱动程序210c1的设定信息中)。
MAC地址252是在PCIe接口219b中设定的物理地址(这里是与Slot#1对应的物理地址),由在PCIe接口219b的控制中使用的桥接驱动程序210c2生成。MAC地址252与桥接驱动程序210c2相关联地存储。
虚拟IP地址253、254是用于通过虚拟LAN驱动程序210d的平台间的虚拟LAN线路的建立的IP地址。
在信息处理系统200中,虚拟IP地址253、254例如由用户任意分配。即,虚拟IP地址253、254是能够通过用户的设定变更而变更的动态的信息(即,非固定的信息)。
虚拟IP地址253是虚拟LAN驱动程序210d1在虚拟LAN线路的建立中使用的IP地址,与虚拟LAN驱动程序210d1对应地存储。
虚拟IP地址254是虚拟LAN驱动程序210d2在虚拟LAN线路的建立中使用的IP地址,与虚拟LAN驱动程序210d2对应地存储。
这样,平台210具有表示对应关系的参数信息255,基于该参数信息255进行虚拟LAN驱动程序210d和桥接驱动程序210c的对应,因此能够不受重新启动的影响而使组合固定。
特别是,平台210将参数信息255中能够识别虚拟LAN驱动程序210d的静态信息与能够识别桥接驱动程序210c的静态信息对应起来表示对应关系,因此也不会受到设定变更等的影响。由此,平台210即使在MAC地址251、252因结构的变化而变化,或者虚拟IP地址253、254因用户的设定变更而变化的情况下,也能够使对应关系不受影响,不需要重新设定。
接着,使用图10对对应关系(即组合)发生变化的情况下可能发生的问题进行说明。图10是用于说明第2实施方式的组合变化时的问题点的图。
图10的P20表示应用程序210a识别的虚拟LAN驱动程序210d和桥接驱动程序210c的组合。换言之,图10的P20所示的虚拟LAN驱动程序210d和桥接驱动程序210c的组合是适当的组合。
在P20中,虚拟LAN驱动程序210d1与桥接驱动程序210c1对应,虚拟LAN驱动程序210d2与桥接驱动程序210c2对应。即,在对虚拟LAN驱动程序210d1指示了通过虚拟LAN通信的数据传送的情况下,应用程序210a识别为桥接驱动程序210c1从Slot#0输出数据。另外,在对虚拟LAN驱动程序210d2指示了通过虚拟LAN通信的数据传送的情况下,应用程序210a识别为桥接驱动程序210c2从Slot#1输出数据。
在应用程序210a识别出这样的虚拟LAN驱动程序210d和桥接驱动程序210c的组合时,在没有将对应关系固定化的状态下进行重新启动的情况下,有时对应关系会出乎意料地发生变化(P21、P22)。
图10的P23表示从应用程序210a所识别出的虚拟LAN驱动程序210d和桥接驱动程序210c的组合(P21)出乎意料地发生变化时的组合的一例。在P23中,虚拟LAN驱动程序210d1与桥接驱动程序210c2对应,虚拟LAN驱动程序210d2与桥接驱动程序210c1对应。因此,当应用程序210a为了通过虚拟LAN通信从Slot#0输出数据而基于识别出的组合进行了指示时,却从与设想不同的Slot#1输出数据。
图10的P24表示从应用程序210a所识别出的虚拟LAN驱动程序210d和桥接驱动程序210c的组合(P22)出乎意料地发生变化时的组合的一例。在P24中,虚拟LAN驱动程序210d1与桥接驱动程序210c2对应,虚拟LAN驱动程序210d2与桥接驱动程序210c2对应。因此,即使为了通过虚拟的LAN通信输出数据而基于识别出的组合进行指示,数据也必定从Slot#1输出,成为与设想不同的输出行为。
如果如P23、P24那样组合发生变化而不能从应用程序210a所预想的槽234输出数据,则平台210不能适当地进行资源管理。
例如,在平台210指示虚拟LAN驱动程序210d在低负荷的槽234中通过虚拟LAN通信进行数据传送的情况下,从与设想不同的槽234输出数据,有可能导致负荷进一步偏斜。结果,平台210可能导致通信性能的降低,并且可能发生通信的不良情况。
关于这一点,平台210通过预先存储参数信息255,将与各虚拟LAN驱动程序210d对应的桥接驱动程序210c固定化,所以不用担心由于重新启动而使对应发生变化。由此,平台210能够抑制通信性能的降低,防止通信的不良情况的发生。
接着,使用图11、图12对参数信息255的设定定时进行说明。首先,使用图11说明在安装时设定参数信息255的情况。图11是表示在安装时设定第2实施方式的参数信息的情况下的处理的一例的图。
另外,内核210e1是成为OS 210e的核心的程序。另外,图11中说明的各种程序(具体而言,内核210e1、虚拟LAN驱动程序210d、桥接驱动程序210c)进行的处理由处理部240进行。
根据用户的安装桥接驱动程序210c的指示,在虚拟LAN驱动程序210d的安装之前进行各桥接驱动程序210c的安装(S1)。在桥接驱动程序210c的安装结束后,根据用户的安装虚拟LAN驱动程序210d的指示,开始虚拟LAN驱动程序210d的安装(S2)。
虚拟LAN驱动程序210d向内核210e1请求存储在注册表中的参数信息255(S3),取得参数信息255(这里是存储在注册表中的参数信息255的复制)(S4)。
虚拟LAN驱动程序210d判定在参数信息255中是否已经设定了其他虚拟LAN驱动程序210d和桥接驱动程序210c的组合。在虚拟LAN驱动程序210d是第1个安装的虚拟LAN驱动程序210d的情况下,判定为在参数信息255中未设定其他虚拟LAN驱动程序210d和桥接驱动程序210c的组合。在虚拟LAN驱动程序210d是第2个或第2个以后安装的虚拟LAN驱动程序210d的情况下,判定为在参数信息255中设定了其他虚拟LAN驱动程序210d和桥接驱动程序210c的组合。
虚拟LAN驱动程序210d在判定为设定了其他虚拟LAN驱动程序210d和桥接驱动程序210c的组合的情况下,确定尚未与其他虚拟LAN驱动程序210d组合的桥接驱动程序210c。虚拟LAN驱动程序210d对所确定的尚未与其他虚拟LAN驱动程序210d组合的桥接驱动程序210c中的任意一个,进行链接(link)请求(即,建立对应关系的请求)(S5)。
虚拟LAN驱动程序210d接受链接的许可(S6)。虚拟LAN驱动程序210d请求内核210e1在存储在注册表中的参数信息255中,将自身的标识符与接受了对应的许可的桥接驱动程序210c的标识符相对应地设定(S7)。虚拟LAN驱动程序210d在受理了对存储在注册表中的参数信息255的设定完成的响应(S8)后,进行安装虚拟LAN驱动程序210d时的之后的处理(例如,安装其他虚拟LAN驱动程序210d等)。
另一方面,虚拟LAN驱动程序210d在判定为没有设定其他虚拟LAN驱动程序210d和桥接驱动程序210c的组合的情况下,对任意的桥接驱动程序210c进行链接请求(S9)。
虚拟LAN驱动程序210d接受链接的许可(S10)。虚拟LAN驱动程序210d请求内核210e1将自身的标识符与接受了对应的许可的桥接驱动程序210c的标识符相对应地设定到存储在注册表中的参数信息255中(S11)。虚拟LAN驱动程序210d在接收到对存储在注册表中的参数信息255的设定完成的响应(S12)后,进行安装虚拟LAN驱动程序210d时的之后的处理。
由此,执行由各种程序进行的处理的处理部240能够将安装中的虚拟LAN驱动程序210d与尚未组合的桥接驱动程序210c对应起来,并设定于参数信息255中。
由此,处理部240能够防止多个虚拟LAN驱动程序210d与一个桥接驱动程序210c对应。
接着,使用图12对起动时设定参数信息255的情况进行说明。图12是表示在起动时设定第2实施方式的参数信息的情况下的处理的一例的图。
另外,图12中说明的各种程序(具体而言,内核210e1、虚拟LAN驱动程序210d、桥接驱动程序210c)进行的处理由处理部240进行。
内核210e1在接收到用户的桥接驱动程序210c的虚拟LAN驱动程序210d的启动指示时(S21),在虚拟LAN驱动程序210d的启动之前,进行各桥接驱动程序210c的启动(S22)。在桥接驱动程序210c的启动结束后,内核210e1使虚拟LAN驱动程序210d开始启动(S23)。
虚拟LAN驱动程序210d向内核210e1请求存储在注册表中的参数信息255(S24),取得参数信息255(S25)。
虚拟LAN驱动程序210d判定在参数信息255中是否有自身和桥接驱动程序210c的组合。组合在安装时被设定于参数信息255中,但在安装时不存在能够链接的桥接驱动程序210c的情况等下,存在没有自身的桥接驱动程序210c的组合的情况。
虚拟LAN驱动程序210d在判定为有自身与桥接驱动程序210c的组合的情况下,对对应的桥接驱动程序210c进行链接请求(S26)。虚拟LAN驱动程序210d在接受了链接的许可(S27)后,进行虚拟LAN驱动程序210d的起动时的之后的处理(例如,其他虚拟LAN驱动程序210d的起动等)。
另一方面,虚拟LAN驱动程序210d在判定为不存在自身与桥接驱动程序210c的组合的情况下,判定在参数信息255中是否已经设定了其他虚拟LAN驱动程序210d与桥接驱动程序210c的组合。
虚拟LAN驱动程序210d在判定为设定了其他虚拟LAN驱动程序210d与桥接驱动程序210c的组合的情况下,确定尚未与其他虚拟LAN驱动程序210d组合的桥接驱动程序210c。虚拟LAN驱动程序210d对所确定的尚未与其他虚拟LAN驱动程序210d组合的桥接驱动程序210c中的任意一个进行链接请求(S28)。
虚拟LAN驱动程序210d接受链接的许可(S29)。虚拟LAN驱动程序210d请求内核210e1将自身的标识符与接受了对应的许可的桥接驱动程序210c的标识符相对应地设定到存储在注册表中的参数信息255中(S30)。虚拟LAN驱动程序210d在接收到对存储在注册表中的参数信息255的设定完成的响应(S31)后,进行虚拟LAN驱动程序210d启动时的之后的处理。
虚拟LAN驱动程序210d在判定为没有设定其他虚拟LAN驱动程序210d与桥接驱动程序210c的组合的情况下,对任意的桥接驱动程序210c进行链接请求(S32)。
虚拟LAN驱动程序210d接受链接的许可(S33)。虚拟LAN驱动程序210d请求内核210e1将虚拟LAN驱动程序210d自身的标识符与接受了对应的许可的桥接驱动程序210c的标识符相对应地设定到存储在注册表中的参数信息255中(S34)。虚拟LAN驱动程序210d在接收到对存储在注册表中的参数信息255的设定完成的响应(S35)后,进行虚拟LAN驱动程序210d启动时的之后的处理。
由此,执行由各种程序进行的处理的处理部240能够在初次启动时将虚拟LAN驱动程序210d与尚未组合的桥接驱动程序210c对应起来,并设定于参数信息255中。
由此,处理部240能够防止多个虚拟LAN驱动程序210d与一个桥接驱动程序210c对应。
另外,在图11、12中,内核210e1、虚拟LAN驱动程序210d、桥接驱动程序210c所进行的处理内容是一例,并不限于此。只要由执行各种程序(例如虚拟LAN驱动程序210d、桥接驱动程序210c)的处理部240执行即可,例如,也可以由其他程序执行由各种程序负责的处理的一部分或全部。例如,也可以由通过处理部240执行的安装程序来进行在安装时由虚拟LAN驱动程序210d进行的处理。例如,在通过安装程序实现的情况下,能够将由最初的虚拟LAN驱动程序210d执行的处理内容(S9~S12)和由第2个及第2个以后的虚拟LAN驱动程序210d执行的处理内容(S5~S8)设为独立记述的程序。
另外,也可以代替由用户进行桥接驱动程序210c的安装指示或由用户进行虚拟LAN驱动程序210d的安装指示,而由安装程序来进行。
另外,说明了在图11的安装时先安装各桥接驱动程序210c的情况,但不限于此。例如,也可以交替地安装桥接驱动程序210c和虚拟LAN驱动程序210d。
另外,所公开的技术并不限定于上述的实施方式,在不脱离本实施方式的主旨的范围内能够进行各种变形来实施。本实施方式的各结构和各处理可以根据需要进行取舍选择,或者也可以适当组合。
例如,在上述实施方式中,说明了使用平台210的两个RC与PCIe桥接控制器230连接的例子,但也可以使用平台210的三个以上的RC与PCIe桥接控制器230连接。另外,例如,在图5所示的结构中,PCIe桥接控制器230具有8个槽234-1~234-8,但并不限定于此,可以进行各种变形来实施。也就是说,PCIe桥接控制器230可包括7个以下或9个以上的槽234。另外,例如,在图3所示的结构中,多个平台(例如,作为运算部发挥功能的平台)也可以使用两个以上的RC来与PCIe桥接控制器230的EP连接。
另外,在上述实施方式中,示出了使用PCIe的通信系统,但不限于此,也可以适用于PCIe以外的通信标准下的通信。
在所述实施方式中,作为各部的I/O(输入/输出)接口,以PCIe为例进行了说明,但接口并不限定于PCIe。例如,各部的接口只要是能够通过数据传送总线在设备(周边控制控制器)和处理器之间进行数据传送的技术即可。(数据传送)总线可以是能够在设置于一个壳体等中的本地环境(例如,一个系统或一个装置)中高速地传送数据的通用总线。接口可以是并行接口和串行接口中的任意一个。
I/O接口在串行传送的情况下,可以是能够点对点连接、能够以分组为基础传送数据的结构。此外,在串行传送的情况下,I/O接口也可以具有多个通道。I/O接口的层结构包括:进行分组的生成及解码的事务层;进行错误检测等的数据链路层;以及对串行和并行进行转换的物理层。此外,I/O接口包括层级的最上位且具有一个或多个端口的根复合体,作为I/O设备的端点、用于增加端口的交换机和用于转换协议的桥接器等即可。接口也可以通过多路复用器对要发送的数据和时钟信号进行复用并发送。在这种情况下,接收侧也可以通过解复用器来分离数据和时钟信号。
Claims (9)
1.一种信息处理装置,其中,该信息处理装置具有:
第1通信部,其经由扩展总线与其他装置连接成可通信;
第2通信部,其经由所述扩展总线与所述其他装置连接成可通信;
存储部,其存储:第1通信程序,该第1通信程序用于控制所述第1通信部的经由所述扩展总线与所述其他装置的通信;第2通信程序,该第2通信程序用于控制所述第2通信部的经由所述扩展总线与所述其他装置的通信;第1处理程序和第2处理程序,所述第1处理程序和第2处理程序对数据执行规定处理,使所述第1通信程序或所述第2通信程序中的对应的任意的通信程序将执行了所述规定处理后的数据发送给所述其他装置;包含第1标识符与第2标识符的对应关系信息,所述第1标识符表示所述第1通信程序和所述第2通信程序中的与所述第1处理程序对应的第1对应通信程序,所述第2标识符表示所述第1通信程序和所述第2通信程序中的与所述第2处理程序对应的第2对应通信程序;以及
处理部,其从所述第1通信程序和所述第2通信程序中决定所述第1对应通信程序,将表示所决定的所述第1对应通信程序的标识符作为所述第1标识符设定于所述对应关系信息中,从所述第1通信程序和所述第2通信程序中决定所述第2对应通信程序,将表示所决定的所述第2对应通信程序的标识符作为所述第2标识符设定于所述对应关系信息中。
2.根据权利要求1所述的信息处理装置,其中,
在安装所述第1处理程序时,所述处理部从所述第1通信程序和所述第2通信程序中决定所述第1对应通信程序,将表示所决定的所述第1对应通信程序的标识符作为所述第1标识符设定于所述对应关系信息中,
在安装所述第2处理程序时,所述处理部从所述第1通信程序和所述第2通信程序中决定所述第2对应通信程序,将表示所决定的所述第2对应通信程序的标识符作为所述第2标识符设定于所述对应关系信息中。
3.根据权利要求1所述的信息处理装置,其中,
在安装所述第1处理程序后的初次启动时,所述处理部从所述第1通信程序和所述第2通信程序中决定所述第1对应通信程序,将表示所决定的所述第1对应通信程序的标识符作为所述第1标识符设定于所述对应关系信息中,
在安装所述第2处理程序后的初次启动时,所述处理部从所述第1通信程序和所述第2通信程序中决定所述第2对应通信程序,将表示所决定的所述第2对应通信程序的标识符作为所述第2标识符设定于所述对应关系信息中。
4.根据权利要求1所述的信息处理装置,其中,
所述处理部在从所述第1通信程序和所述第2通信程序中决定所述第1对应通信程序时,在所述第1通信程序和所述第2通信程序中的一个通信程序与所述第2处理程序对应的情况下,将表示所述第1通信程序和所述第2通信程序中的另外一个通信程序的标识符作为所述第1标识符设定于所述对应关系信息中。
5.根据权利要求3所述的信息处理装置,其中,
所述处理部在使所述第1通信程序和所述第2通信程序启动之后,使所述第1处理程序和所述第2处理程序启动。
6.根据权利要求2所述的信息处理装置,其中,
所述处理部在安装了所述第1通信程序和所述第2通信程序之后,安装所述第1处理程序和所述第2处理程序。
7.根据权利要求2所述的信息处理装置,其中,
所述处理部按照所述第1通信程序、所述第1处理程序、所述第2通信程序、所述第2处理程序的顺序安装这些程序。
8.一种信息处理系统,其具有:中继装置,其具有扩展总线,对经由所述扩展总线的通信进行中继;多个运算处理装置,其分别与所述扩展总线连接;以及信息处理装置,其与所述扩展总线连接,其中,
所述信息处理装置具有:
第1通信部,其经由所述扩展总线与所述多个运算处理装置连接成可通信;
第2通信部,其经由所述扩展总线与所述多个运算处理装置连接成可通信;
存储部,其存储:第1通信程序,该第1通信程序用于控制所述第1通信部的经由所述扩展总线与所述多个运算处理装置的通信;第2通信程序,该第2通信程序用于控制所述第2通信部的经由所述扩展总线与所述多个运算处理装置的通信;第1处理程序和第2处理程序,所述第1处理程序和第2处理程序对数据执行规定处理,使所述第1通信程序或所述第2通信程序中的对应的任意的通信程序将执行了所述规定处理后的数据发送给所述多个运算处理装置;包含第1标识符与第2标识符的对应关系信息,所述第1标识符表示所述第1通信程序和所述第2通信程序中的与所述第1处理程序对应的第1对应通信程序,所述第2标识符表示所述第1通信程序和所述第2通信程序中的与所述第2处理程序对应的第2对应通信程序;以及
处理部,其从所述第1通信程序和所述第2通信程序中决定所述第1对应通信程序,将表示所决定的所述第1对应通信程序的标识符作为所述第1标识符设定于所述对应关系信息中,从所述第1通信程序和所述第2通信程序中决定所述第2对应通信程序,将表示所决定的所述第2对应通信程序的标识符作为所述第2标识符设定于所述对应关系信息中。
9.一种存储介质,其存储有信息处理程序,其中,
所述信息处理程序使信息处理装置执行处理,该信息处理装置具有:
第1通信部,其经由扩展总线与其他装置连接成可通信;
第2通信部,其经由所述扩展总线与所述其他装置连接成可通信;
存储部,其存储:第1通信程序,该第1通信程序用于控制所述第1通信部的经由所述扩展总线与所述其他装置的通信;第2通信程序,该第2通信程序用于控制所述第2通信部的经由所述扩展总线与所述其他装置的通信;第1处理程序和第2处理程序,所述第1处理程序和第2处理程序对数据执行规定处理,使所述第1通信程序或所述第2通信程序中的对应的任意的通信程序将执行了所述规定处理后的数据发送给所述其他装置;包含第1标识符与第2标识符的对应关系信息,所述第1标识符表示所述第1通信程序和所述第2通信程序中的与所述第1处理程序对应的第1对应通信程序,所述第2标识符表示所述第1通信程序和所述第2通信程序中的与所述第2处理程序对应的第2对应通信程序,
所述信息处理程序使所述信息处理装置执行如下处理:
从所述第1通信程序和所述第2通信程序中决定所述第1对应通信程序,
将表示所决定的所述第1对应通信程序的标识符作为所述第1标识符设定于所述对应关系信息中,
从所述第1通信程序和所述第2通信程序中决定所述第2对应通信程序,
将表示所决定的所述第2对应通信程序的标识符作为所述第2标识符设定于所述对应关系信息中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019-104942 | 2019-06-05 | ||
JP2019104942A JP6573046B1 (ja) | 2019-06-05 | 2019-06-05 | 情報処理装置、情報処理システムおよび情報処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112052200A true CN112052200A (zh) | 2020-12-08 |
Family
ID=67909606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010499897.2A Withdrawn CN112052200A (zh) | 2019-06-05 | 2020-06-04 | 信息处理装置、信息处理系统以及存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20200387396A1 (zh) |
JP (1) | JP6573046B1 (zh) |
CN (1) | CN112052200A (zh) |
GB (1) | GB2587447A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102600321B1 (ko) * | 2020-02-28 | 2023-11-08 | 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. | 호스트 플랫폼 계층에서의 애플리케이션 인터페이스 구현 방법, 장치, 설비 및 매체 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8868790B2 (en) * | 2004-02-13 | 2014-10-21 | Oracle International Corporation | Processor-memory module performance acceleration in fabric-backplane enterprise servers |
US9043792B1 (en) * | 2004-11-17 | 2015-05-26 | Vmware, Inc. | Virtual local area network (vlan) coordinator providing access to vlans |
JP5084197B2 (ja) | 2006-08-10 | 2012-11-28 | 株式会社ソニー・コンピュータエンタテインメント | プロセッサノードシステムおよびプロセッサノードクラスタシステム |
US8373709B2 (en) | 2008-10-03 | 2013-02-12 | Ati Technologies Ulc | Multi-processor architecture and method |
US20150261709A1 (en) * | 2014-03-14 | 2015-09-17 | Emilio Billi | Peripheral component interconnect express (pcie) distributed non- transparent bridging designed for scalability,networking and io sharing enabling the creation of complex architectures. |
-
2019
- 2019-06-05 JP JP2019104942A patent/JP6573046B1/ja active Active
-
2020
- 2020-04-21 US US16/853,787 patent/US20200387396A1/en not_active Abandoned
- 2020-04-23 GB GB2005915.0A patent/GB2587447A/en not_active Withdrawn
- 2020-06-04 CN CN202010499897.2A patent/CN112052200A/zh not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
GB2587447A (en) | 2021-03-31 |
GB202005915D0 (en) | 2020-06-10 |
JP6573046B1 (ja) | 2019-09-11 |
US20200387396A1 (en) | 2020-12-10 |
JP2020198007A (ja) | 2020-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8346997B2 (en) | Use of peripheral component interconnect input/output virtualization devices to create redundant configurations | |
US10671423B2 (en) | Hot-plug hardware and software implementation | |
US20170161090A1 (en) | Communication control program, communication control method, and information processing device | |
TWI331281B (en) | Method and apparatus for shared i/o in a load/store fabric | |
US10684880B2 (en) | Allocating and initializing I/O devices at virtual | |
US8225005B2 (en) | Use of peripheral component interconnect input/output virtualization devices to create high-speed, low-latency interconnect | |
US10509758B1 (en) | Emulated switch with hot-plugging | |
JP5533867B2 (ja) | I/oシステム、下流pciエクスプレスブリッジ、i/oシステムの制御方法、およびプログラム | |
CN114077478A (zh) | 管理虚拟化环境中的网络端口 | |
US20200136901A1 (en) | System and Method of Managing an Intelligent Peripheral | |
US8107360B2 (en) | Dynamic addition of redundant network in distributed system communications | |
US20080263544A1 (en) | Computer system and communication control method | |
US10911405B1 (en) | Secure environment on a server | |
US8959534B2 (en) | Enabling legacy applications to achieve end-to-end communication with corresponding legacy device services | |
US10353857B2 (en) | Parallel processing apparatus and method for controlling communication | |
EP2255291B1 (en) | Systems and methods of communicatively coupling a host computing device and a peripheral device | |
CN109032754B (zh) | 提高通信路径可靠性的方法和设备 | |
US20240104029A1 (en) | Network instantiated peripheral devices | |
CN112052200A (zh) | 信息处理装置、信息处理系统以及存储介质 | |
US9882737B2 (en) | Network system | |
JP2009282917A (ja) | サーバ間通信機構及びコンピュータシステム | |
US20200334036A1 (en) | Information processing system and relay device | |
US20230169017A1 (en) | Dynamic server rebalancing | |
US20200278854A1 (en) | Information processing apparatus and information processing system | |
JP6597925B1 (ja) | 情報処理システム |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20201208 |