用于在服务器中放置输入/输出适配器卡的方法和系统的利记博彩app

文档序号:8430662阅读:512来源:国知局
用于在服务器中放置输入/输出适配器卡的方法和系统的利记博彩app
【技术领域】
[0001]本发明总体上涉及1/0(输入/输出)适配器卡的领域,并且更具体地涉及I/O适配器卡的放置。
【背景技术】
[0002]能够通过将某些重复性任务“卸载”到CPU(中央处理单元)以外的处理硬件而使得计算机系统(诸如刀片服务器)的运行地更为有效和/或高效。某些专用于执行这些相应任务的硬件被称作加速器卡和/或适配器卡(这里统称为卡)。卡能够是可移除地可从输入/输出(I/o)插槽插入。通常,这些卡被用于加密、压缩或定制算法并且被置于PCI(外部组件互连)或PCIe (外部组件互连express)插槽。
[0003]PCIe是高速串行计算机扩展总线标准。PCIe在消费者、服务器和工业应用中进行操作,如(i)主板层面的互连(以链接安装在主板上的外设);(ii)被动背板互连;和(iii)作为插件板的扩展卡接口。电信号和总线协议中的差异要求使用不同的机械形式因素和扩展的连接器。PCIe需要新的主板和新的适配板,因此PCI (外部组件互连)插槽和PCIe插槽并不是可互换的。在软件层面,PCIe保留了与PCI的后向兼容性。虽然PCIe的新功能并不能够被访问,但遗留的PCI系统软件能够检测并配置较新的PCIe设备而无需对PCIe标准的明确支持。
[0004]在典型的多插口(mult1-socket)处理器服务器配置中,两个插口中的处理器都提供了能够放置适配器卡或加速器卡的PCIe插槽。然而,基于系统配置,插口中的每个插口可能具有与之相连接的不同类型的存储器设备。这样的多处理器和多PCIe插槽的配置在服务器计算机是接单生产时、并且在针对不同类型的存储器设备的要求以施加于服务器上的工作负载的读/写要求为基础的情况下是常见的。能够根据以下来决定用于工作负载的归属节点:(i)基于工作负载的存储器读/写启发方法;和/或(Π)通过映射与每个处理器相关联的存储器配置。

【发明内容】

[0005]根据本发明的一个方面,提供了一种用于随包括输入/输出(I/O)适配器卡(参见以下定义)的计算机系统使用的方法、计算机程序产品和系统。该方法包括以下步骤(并非必然为以下顺序):(i)针对计算机系统中的多个输入/输出(I/o)适配器卡中的第一 I/O适配器卡与该计算机系统中的多个虚拟机中的虚拟机之间的每个数据通信,确定在进行该数据通信期间所经过的节点间接口 NI的数目;并且(ii)针对第一 I/O适配器卡和虚拟机之间的每个数据通信,确定在进行该通信期间所经过的节点内接口 N2的数目。
【附图说明】
[0006]图1是根据本发明的服务器系统的第一实施例的框图;
[0007]图2是至少部分地由第一实施例的服务器系统所执行的根据本发明的方法的流程图;以及
[0008]图3是根据本发明的服务器系统的第二实施例的框图。
【具体实施方式】
[0009]本公开内容的一些实施例认识到,可能难以以最优的方式将卡置于I/O插槽中。在这点上更具体而言,一些实施例认识到以下内容:(i)针对每个工作负载的服务器的“归属节点”是在运行时决定的;(ii)加速器卡放置位置在组装服务器时进行选择;(iii)加速器卡放置选项在服务器具有多个处理器插口时,在服务器具有多个节点时,和/或在每个处理器插口与多个PCIe插槽相关联时有所增加;(iv)以上四项可能导致服务器计算机中次优的加速器卡放置;(V)在以SMP (对称多处理)配置进行操作的刀片服务器内还是存在可能的次优加速器卡放置问题(例如,当用户并未将Ι/P适配器卡或加速器卡放置在对应于适当ITE(信息技术元件)的位置并且这些卡的工作负载由监管程序进行调度时);(vi)如果I/O适配器卡或加速器卡并未出现在工作负载最经常在其中执行的相同ITE/节点中,则在工作负载必须通过机架互连而被移动至其它的ITE来访问卡时存在固有延迟;(vii)最优的卡放置考虑到服务器配置、工作负载的加速器要求和服务器上所执行的每个工作负载的归属节点;(viii)在最高端的系统中,从OS(操作系统)一侧允许热插拔操作;(ix)在最高端的系统中,I/O并不固定于平面,这意味着要改变卡在I/O插槽中的位置,并不需要系统IPL (初始程序加载)。
[0010]所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
[0011]可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限于一电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0012]计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0013]计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限于一无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0014]可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言一诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0015]下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
[0016]也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1