CN102446114A - 优化虚拟图形处理单元利用的方法和系统 - Google Patents

优化虚拟图形处理单元利用的方法和系统 Download PDF

Info

Publication number
CN102446114A
CN102446114A CN2011102746662A CN201110274666A CN102446114A CN 102446114 A CN102446114 A CN 102446114A CN 2011102746662 A CN2011102746662 A CN 2011102746662A CN 201110274666 A CN201110274666 A CN 201110274666A CN 102446114 A CN102446114 A CN 102446114A
Authority
CN
China
Prior art keywords
virtual machine
virtual
vgpu
computation
priority level
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.)
Granted
Application number
CN2011102746662A
Other languages
English (en)
Other versions
CN102446114B (zh
Inventor
N·P·汉森
E·S·苏费恩
J·L·伍德里奇
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.)
Lenovo Global Technologies International Ltd
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN102446114A publication Critical patent/CN102446114A/zh
Application granted granted Critical
Publication of CN102446114B publication Critical patent/CN102446114B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/022Centralised management of display operation, e.g. in a server instead of locally
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Stored Programmes (AREA)

Abstract

提供了用于优化虚拟图形处理单元利用的方法、系统和计算机程序产品。实施例包括为多个虚拟机中的每个虚拟机指定计算密集度级别;为多个虚拟机中的每个虚拟机指定优先级别;针对多个服务器中的每个服务器判定该服务器是否包括可用于执行多个虚拟机的计算密集型任务的虚拟图形处理单元(VGPU);以及根据虚拟机的计算密集度级别和优先级别以及可用于执行计算密集型任务的VGPU的数目,为多个虚拟机中的一虚拟机指定一个或多个VGPU。

Description

优化虚拟图形处理单元利用的方法和系统
技术领域
本发明涉及数据处理,更具体地说,本发明涉及用于优化虚拟图形处理单元利用的方法、装置和产品。
背景技术
在数据中心,多个计算机可以组合在一起来共享工作负载。为了帮助分布工作负载,数据中心中计算机的组件可以被虚拟化或单独分区,以便多个应用或实体可以在没有来自其他应用或实体的干扰的情况下使用该组件。例如,一个计算机中的图形处理单元(GPU)可以被虚拟化为多个虚拟GPU,每个虚拟GPU可被指定给特定的应用或虚拟机。将诸如虚拟GPU之类的虚拟组件分布到应用或虚拟机的方式影响到数据中心的总体效率。因此,目前正需要提升对虚拟GPU利用的优化。
发明内容
提供了用于优化虚拟图形处理单元利用的方法、系统和计算机程序产品。实施例包括为多个虚拟机中的每个虚拟机指定计算密集度(computeintensity)级别;为多个虚拟机中的每个虚拟机指定优先级别;针对多个服务器中的每个服务器判定该服务器是否包括可用于执行多个虚拟机的计算密集型任务的虚拟图形处理单元(VGPU);以及根据虚拟机的计算密集度级别和优先级别以及可用于执行计算密集型任务的VGPU的数目,为多个虚拟机中的一虚拟机指定一个或多个VGPU。
通过下面对附图中所示的本发明的示例性实施例的更具体的描述,本发明的上述和其他目标、特征和优点将变得显而易见,在所述附图中,相同的标号一般表示本发明的示例性实施例的相同部分。
附图说明
图1示出用于根据本发明的实施例优化虚拟图形处理单元利用的系统的网络图。
图2示出包括可用于根据本发明的实施例优化图形处理单元利用的示例性软件布置组织器的自动计算机器的方块图。
图3示出显示用于根据本发明的实施例优化图形处理单元利用的示例性方法的流程图。
具体实施方式
参考从图1开始的附图描述根据本发明的用于优化虚拟图形处理单元利用的示例性方法、装置和产品。图1示出根据本发明的实施例的用于优化虚拟图形处理单元利用的系统的网络图。图1中的系统可以在数据中心中实现。数据中心是一个集中的储存库,它可以是物理的,也可以是虚拟的,用于存储、管理和分发通常围绕特定主题组织的或与特定业务相关的数据和信息。数据中心可以位于组织的设施内,也可以作为专门的设施来维护。数据中心的大小从服务器大楼到服务器室,甚至到计算机机箱(computer closet)进行变化。
图1中的系统包括多个服务器(102),每个服务器通过网络(100)与软件布置组织器(152)和虚拟机存储设备(104)相连。多个服务器(102)可以实现为计算机群集。计算机群集是一组链接在一起紧密协作的计算机。群集的组件一般,但并非总是,通过诸如网络(100)之类的快速局域网相互连接。通常部署群集来相比于单个计算机改善性能和可用性,一般而言,群集比具有相当速度或可用性的单个计算机的成本更低。计算机群集可用于高性能计算(HPC)以解决高级计算问题。例如,计算机群集可用于执行双精度计算。双精度是占据计算存储器中两个相邻存储单元的计算机数字格式。双精度数字,有时简称为双精(double),可以定义为整数、定点或浮点。
图1示出服务器(102)的示例性体系结构。图1中的每个服务器(102)都包括中央处理单元(CPU)(108)、存储器(106)、通过诸如高速外围组件互连(PCI-e)总线(112)之类的高速、高带宽总线与网络适配器(116)和图形处理单元(GPU)(114)相连的存储控制器(110)。
图1中的GPU(114)是从CPU(108)卸载和加速3D或2D图形呈现的专用微处理器。图形处理单元用于嵌入式系统、移动电话、个人计算机、工作站和游戏机中。现代GPU在操纵计算机图形时非常高效,并且其高度平行的结构使得其在一系列复杂算法方面比通用CPU更有效。在个人计算机中,GPU可位于视频卡上,或者嵌入主板中。图1中的GPU(114)可通过硬件电路实现以呈现存储器(106)中存储的数字图像信息。
为了帮助指定要由服务器(102)执行的任务,可以对服务器(102)的每个组件进行虚拟化。虚拟化基本上是指启用一个物理实体的许多个虚拟实例,然后使用这种抽象来提供安全隔离、资源管理、虚拟机移植以及其他许多通过隔离来宾(guest)对物理硬件的依赖性而启用的功能。机器虚拟化通过提供每个带有虚拟设备的虚拟机并将它们各自的操作组合到管理程序平台中来实现物理硬件复用,其方式是利用本机硬件,但是保持每个来宾都拥有完整的独立设备的幻象。
虚拟机提供多种胜于非虚拟机的优点。例如,在虚拟机中,多个操作系统可以在同一服务器上运行,从而不需要使单个机器专用于一个应用。另一优点是虚拟机可以容纳一个操作系统的许多个版本,从而允许开发人员在同一机器上的不同操作系统环境中测试其程序。虚拟机都包含自己的操作系统和应用,它们像被称为“与硬件分离”的自包含程序包那样运行。每个虚拟机包括至少一个应用实例。将虚拟机从一个服务器移至另一服务器以平衡工作负载、迁移到更快的硬件以及从硬件故障中恢复相对很容易。虚拟机还可以被快速克隆和部署。一种增长的趋势是将用户的桌面(OS和应用)存储在服务器内单独的虚拟机中并使用专用终端作为服务器的“瘦客户机”。由于应用了虚拟机技术,每位用户与其他所有用户隔离,而且应用的维护也从每位用户的办公室转移到了数据中心。
可以通过服务器(102)上执行的软件实现服务器(102)的硬件组件虚拟化。例如,诸如在服务器(102)上运行的被称为“虚拟机监视器”(VMM)或管理程序平台的虚拟机控制程序之类的软件(未示出)可形成虚拟CPU、虚拟存储器和虚拟GPU(130)。服务器(102)的虚拟硬件组件可以组合在一起并进行分配以形成虚拟机(118)。
图1中的虚拟机存储设备(104)存储虚拟机(118)。每个虚拟机(118)可被视为“机器中的机器”。每个虚拟机(118)中的操作系统可被称为“来宾操作系统”,且所述操作系统可通过服务器(102)上执行的管理程序平台与服务器(102)的硬件进行通信。虚拟机(118)可包括计算密集型任务(120),例如双精度计算或视频图形呈现任务。包括计算密集型任务(120)的虚拟机(118)可以由包括图形处理单元(114)的服务器(102)最佳地执行。
图1中的软件布置组织器(152)判定哪些虚拟机(118)包括计算密集型任务(120)以及这些已识别的虚拟机(118)是否将由图形处理单元(114)执行。例如,软件布置组织器(152)可以判定哪个虚拟GPU(130)应该被指定给特定虚拟机(118)。为了优化虚拟GPU的利用,图1中的软件布置组织器(152)包括能够执行以下操作的计算机程序指令:为多个虚拟机中的每个虚拟机指定计算密集度级别;为多个虚拟机中的每个虚拟机指定优先级别;针对多个服务器中的每个服务器判定该服务器是否包括可用于执行多个虚拟机的计算密集型任务的虚拟图形处理单元(VGPU);以及根据虚拟机的计算密集度级别和优先级别以及可用于执行计算密集型任务的VGPU数目,为多个虚拟机中的一虚拟机指定一个或多个VGPU。所述为虚拟机指定VGPU包括将虚拟机(118)和计算密集型任务(120)移至一物理服务器(102)。软件实体被本地加载到服务器(102)的存储器(106)中,并且计算密集型任务(120)由GPU(114)执行。
图1中的软件布置组织器(152)还可包括能够执行以下操作的计算机程序指令:为包括客户端操作系统的虚拟机指定比包括服务器操作系统的虚拟机更高的优先级别。图1中的软件布置组织器(152)还可包括能够执行以下操作的计算机程序指令:选择优先级别高于预定的阈值且计算密集度低于预定的阈值的虚拟机并且优先地将VGPU指定给选定的虚拟机。
构成图1中所示的示例性系统的服务器和其他设备的安排仅用于说明,并非为了进行限制。根据本发明的各种实施例有用的数据处理系统可以包括图1中未示出但是本领域的技术人员可想到的其他服务器、路由器、其他设备以及对等体系结构。此类数据处理系统中的网络可支持许多种数据通信协议,包括例如TCP(传输控制协议)、IP(网际协议)、HTTP(超文本传输协议)、WAP(无线接入协议)、HDTP(手持设备传输协议)以及本领域的技术人员可想到的其他协议。本领域的技术人员将理解,每个服务器(102)可包括所需的其他总线、设备和子系统,例如高速缓冲存储器、调制解调器、并行接口或串行接口、SCSI接口等。本发明的各种实施例可以在图1中所示的硬件平台以外的多种硬件平台上实现。
根据本发明对图形处理单元利用的优化一般通过计算机实现,也就是说,通过自动计算机实现。在图1的系统中,例如,软件布置组织器(152)至少在某种程度上实现为计算机。因此,为了进一步说明,图2示出包括可用于根据本发明的实施例优化图形处理单元利用的示例性软件布置组织器(152)的自动计算机的方块图。图2中的软件布置组织器(152)包括至少一个计算机处理器(156)或“CPU”以及随机存取存储器(168)(“RAM”),所述RAM通过高速存储总线(166)和总线适配器(158)与处理器(156)以及软件布置组织器(152)的其他组件相连。
RAM(168)中存储有虚拟图形处理单元利用优化器(190),这是一个用于优化虚拟图形处理单元利用的计算机程序指令模块。图2中的软件布置组织器(152)包括能够执行以下操作的计算机程序指令:为多个虚拟机中的每个虚拟机指定计算密集度级别;为多个虚拟机中的每个虚拟机指定优先级别;针对多个服务器中的每个服务器判定服务器是否包括可用于执行多个虚拟机的计算密集型任务的虚拟图形处理单元(VGPU);以及根据虚拟机的计算密集度级别和优先级别以及可用于执行计算密集型任务的VGPU数目,为多个虚拟机中的一虚拟机指定一个或多个VGPU。
RAM(168)中还存储有操作系统(154)。可用于根据本发明的实施例优化图形处理单元利用的操作系统包括UNIXTM、LinuxTM、MicrosoftXPTM、AIXTM、IBM的i5/OSTM以及本领域的技术人员可想到的其他操作系统。图2的示例中的操作系统(154)和虚拟图形处理单元利用优化器(190)被示出位于RAM(168)中,但是许多此类软件的组件一般还存储在非易失性存储器中,例如,存储在盘驱动器(170)中。
图2中的软件布置组织器(152)包括用于通过扩展总线(160)和总线适配器(158)与处理器(156)以及软件布置组织器(152)的其他组件相连的盘驱动器适配器(172)。盘驱动器适配器(172)将采用盘驱动器(170)形式的非易失性数据存储装置连接到软件布置组织器(152)。可用于根据本发明的实施例优化图形处理单元利用的盘驱动器适配器包括集成驱动电子设备(“IDE”)适配器、小型计算机系统接口(“SCSI”)适配器以及本领域的技术人员可想到的其他适配器。非易失性计算机存储器还可以实现为本领域的技术人员可想到的光盘驱动器、电可擦写可编程只读存储器(被称为“EEPROM”或“闪存”)、RAM驱动器等。
图2中的示例性软件布置组织器(152)包括一个或多个输入/输出(“I/O”)适配器(178)。I/O适配器通过,例如软件驱动器和计算机硬件,实现面向用户的输入/输出,所述软件驱动器和计算机硬件用于控制到诸如计算机显示屏之类的显示设备的输出以及从诸如键盘和鼠标之类的用户输入设备(181)的用户输入。图2中的示例性软件布置组织器(152)包括视频适配器(209),该适配器是专门设计用于将图形输出到诸如显示屏或计算机监视器之类的显示设备(180)的I/O适配器示例。视频适配器(209)通过高速视频总线(164)、总线适配器(158)以及前端总线(162)(也是高速总线)连接到处理器(156)。
图2中的示例性软件布置组织器(152)包括用于通过网络(100)与多个服务器(102)进行数据通信以及与虚拟机存储设备(104)进行数据通信的通信适配器(167)。此类数据通信可以通过RS-232连接,通过诸如通用串行总线(“USB”)之类的外部总线,通过诸如IP数据通信网络之类的数据通信网络,以及通过本领域的技术人员可想到的其他方法串行地执行。通信适配器实现硬件级数据通信,借助此数据通信,一个计算机直接地或通过数据通信网络将数据通信发送到另一计算机。可用于根据本发明的实施例优化图形处理单元利用的通信适配器的示例包括用于有线拨号通信的调解制调器、用于有线数据通信网络通信的以太网(IEEE 802.3)适配器、以及用于无线数据通信网络通信的802.11适配器。
为了进一步说明,图3示出显示用于根据本发明的实施例优化图形处理单元利用的示例性方法的流程图。图3中的方法包括为多个虚拟机中的每个虚拟机(118)指定(302)计算密集度级别(310)。为虚拟机(118)指定计算密集度级别(310)可通过将特定虚拟机(118)的计算任务与其他虚拟机(118)的计算任务进行比较并为具有最多计算密集型任务的虚拟机(118)指定最高计算密集度级别(310)来执行。例如,可以为包括需要高分辨率图形的应用(例如计算机辅助设计(CAD)程序)的虚拟机(118)指定高于不包括计算密集型任务的虚拟机(118)的计算密集度级别(310)。
图3中的方法包括为多个虚拟机中的每个虚拟机(118)指定(304)优先级别(312)。为多个虚拟机中的每个虚拟机(118)指定(304)优先级别(312)可通过判定虚拟机(118)的工作负载的重要性,比较所述工作负载的重要性,以及为具有最重要工作负载的虚拟机(118)指定最高优先级别(312)来执行。为虚拟机(118)指定(304)优先级别(312)可由所述软件布置组织器(152)执行。
图3中的方法包括针对多个服务器中的每个服务器(102)判定(306)该服务器是否包括可用于执行多个虚拟机(118)的计算密集型任务的虚拟图形处理单元(VGPU)(130)。判定(306)服务器(102)是否包括可用于执行计算密集型任务的VGPU(130)通过从服务器(102)接收指示服务器(102)上可用资源的信息,检查所指示的用于VGPU(130)的资源,以及判定已识别的VGPU(130)的工作负载来执行。
图3中的方法包括根据虚拟机(118)的计算密集度级别(310)和优先级别(312)以及可用于执行计算密集型任务的VGPU(130)的数目,为多个虚拟机中的一个虚拟机(118)指定(308)一个或多个VGPU(130)。为虚拟机(118)指定(308)VGPU(130)可通过判定哪个虚拟机(118)与VGPU(130)关联以及将虚拟机(118)传送到包括可用VGPU(130)的服务器(102)来执行。
根据上述说明,读者将理解,根据本发明的实施例优化图形处理单元利用的优点包括针对运行客户端操作系统或其他使用和利用图形处理单元(GPU)的工作负载的虚拟机提供了增强的视频性能。此外,针对优先级别优化布置可以确保更高业务优先级别的工作负载在关键时期获得资源。此功能启用了虚拟机和虚拟GPU的配置以符合设定的业务目标。
大体上在用于优化图形处理单元利用的全功能的计算机系统的上下文中描述了本发明的示例性实施例。但是,本领域的读者将理解,本发明还可以体现在位于计算机可读存储介质上以便与任何适当的数据处理系统结合使用的计算机程序产品中。此类计算机可读存储介质可以是用于机器可读信息的任何存储介质,包括磁介质、光介质或其他适当的介质。此类介质的示例包括硬盘驱动器或软盘中的磁盘、用于光盘驱动器的光盘、磁带以及本领域的技术人员可想到的其他介质。本领域的技术人员可以立即理解,具有适当的编程装置的任何计算机系统都能执行体现在计算机程序产品中的本发明的方法的步骤。本领域的技术人员还将理解,尽管本说明书中描述的某些示例性实施例面向在计算机硬件上安装和执行的软件,但是,实现为固件或硬件的备选实施例也完全在本发明的范围之内。
本领域的技术人员将理解,本发明的各方面可以实现为系统、方法或计算机程序产品。因此,本发明的各方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或组合了软件和硬件方面的实施例的形式,所有这些方面在此通常被称为“电路”、“模块”或“系统”。此外,本发明的各方面可以采取体现在一个或多个计算机可读介质(在介质中具有计算机可读程序代码)中的计算机程序产品的形式。
可以使用一个或多个计算机可读介质的任意组合。所述计算机可读介质可以是计算机可读存储介质。计算机可读存储介质可以是(例如但不限于)电、磁、光、电磁、红外线或半导体系统、装置、设备或上述各项的任何适当组合。计算机可读存储介质的更具体的示例(非穷举列表)可以包括以下项:具有一条或多条线的电连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦写可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光存储设备、磁存储设备或上述各项的任何适当组合。在本文档的上下文中,计算机可读存储介质可以是任何能够包含或存储由指令执行系统、装置或设备使用或与所述指令执行系统、装置或设备结合的程序的有形介质。
可以使用任何适当的介质(包括但不限于无线、线缆、光缆、RF等或上述各项的任何适当组合)来传输所述计算机可读介质中包含的程序代码。
用于执行本发明的各方面的操作的计算机程序代码可以使用一种或多种编程语言的任意组合来编写,所述编程语言包括诸如Java、Smalltalk、C++或类似语言之类的面向对象的编程语言以及诸如“C”编程语言或类似的编程语言之类的常规过程编程语言。所述程序代码可以完全地在用户计算机上执行,部分地在用户计算机上执行,作为独立的软件包执行,部分地在用户计算机上并部分地在远程计算机上执行,或者完全地在远程计算机或服务器上执行。在后者的情况中,所述远程计算机可以通过包括局域网(LAN)或广域网(WAN)的任何类型网络与用户的计算机相连,也可以与外部计算机进行连接(例如,使用因特网服务提供商通过因特网连接)。
参考根据本发明的实施例的方法、装置(系统)和计算机程序产品的流程图和/或方块图对本发明的各方面进行了描述。将理解,所述流程图和/或方块图的每个方块以及所述流程图和/或方块图中的方块的组合可以由计算机程序指令来实现。这些计算机程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,以便通过所述计算机或其他可编程数据处理装置的处理器执行的所述指令产生用于实现在一个或多个流程图和/或方块图方块中指定的功能/操作的装置。
这些计算机程序指令也可以被存储在引导计算机、其他可编程数据处理装置或其他设备以特定方式执行功能的计算机可读介质中,以便存储在所述计算机可读介质中的所述指令产生一件包括实现在所述一个或多个流程图和/或方块图方块中指定的功能/操作的指令的制品。
所述计算机程序指令还可被加载到计算机、其他可编程数据处理装置或其他设备,以导致在所述计算机、其他可编程装置或其他设备上执行一系列操作步骤以产生计算机实现的过程,从而在所述计算机或其他可编程装置上执行的指令提供用于实现在一个或多个流程图和/或方块图方块中指定的功能/操作的过程。
附图中的流程图和方块图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实施方式的体系结构、功能和操作。在此方面,所述流程图或方块图中的每个方块都可以表示代码的模块、段或部分,所述代码包括用于实现指定的(一个或多个)逻辑功能的一个或多个可执行指令。还应指出,在某些备选实施方式中,在方块中说明的功能可以不按图中说明的顺序发生。例如,示为相继的两个方块可以实际上被基本同时地执行,或者某些时候,取决于所涉及的功能,可以以相反的顺序执行所述方块。还应指出,所述方块图和/或流程图的每个方块以及所述方块图和/或流程图中的方块的组合可以由执行指定功能或操作的基于专用硬件的系统或专用硬件和计算机指令的组合来实现。
通过上面的描述将理解,可以在不偏离本发明真正精神的情况下,对其各种实施例做出修改和更改。本说明书中的描述仅出于说明的目的,并不能被构想为进行限制。本发明的范围仅由下面权利要求中的语言进行限制。

Claims (14)

1.一种优化虚拟图形处理单元利用的方法,所述方法包括:
为多个虚拟机中的每个虚拟机指定计算密集度级别;
为多个虚拟机中的每个虚拟机指定优先级别;
针对多个服务器中的每个服务器判定该服务器是否包括可用于执行多个虚拟机的计算密集型任务的虚拟图形处理单元(VGPU);以及
根据虚拟机的计算密集度级别和优先级别以及可用于执行计算密集型任务的VGPU的数目,为多个虚拟机中的一虚拟机指定一个或多个VGPU。
2.如权利要求1中所述的方法,其中至少一个虚拟机包括带有计算密集型任务的应用。
3.如权利要求1中所述的方法,其中特定虚拟机的优先级别指示所述特定虚拟机的工作负载的重要性。
4.如权利要求1中所述的方法,其中所述根据虚拟机的计算密集度级别和优先级别以及可用于执行计算密集型任务的VGPU的数目,为多个虚拟机中的一虚拟机指定一个或多个VGPU进一步包括选择优先级别高于预定的阈值且计算密集度低于预定的阈值的虚拟机。
5.如权利要求4中所述的方法,进一步包括优先地将VGPU指定给选定的虚拟机。
6.如权利要求1中所述的方法,其中为每个虚拟机指定优先级别包括为包括客户端操作系统的虚拟机指定比包括服务器操作系统的虚拟机更高的优先级别。
7.如权利要求1中所述的方法,其中所述VGPU进一步根据多个服务器的CPU速度和存储器大小进行指定。
8.如权利要求1中所述的方法,其中所述每个虚拟机包括至少一个应用实例。
9.用于优化虚拟图形处理单元利用的装置,所述装置包括计算机处理器、在运行上与所述计算机处理器相连的计算机存储器,所述计算机存储器内部装有能够执行以下操作的计算机程序指令:
为多个虚拟机中的每个虚拟机指定计算密集度级别;
为多个虚拟机中的每个虚拟机指定优先级别;
针对多个服务器中的每个服务器判定该服务器是否包括可用于执行多个虚拟机的计算密集型任务的虚拟图形处理单元(VGPU);以及
根据虚拟机的计算密集度级别和优先级别以及可用于执行计算密集型任务的VGPU的数目,为多个虚拟机中的一虚拟机指定一个或多个VGPU。
10.如权利要求9中所述的装置,其中至少一个虚拟机包括带有计算密集型任务的应用。
11.如权利要求9中所述的装置,其中特定虚拟机的优先级别指示所述特定虚拟机的工作负载相对于其他虚拟机的工作负载的重要性。
12.如权利要求9中所述的装置,其中根据虚拟机的计算密集度级别和优先级别以及可用于执行计算密集型任务的VGPU的数目,为多个虚拟机中的一虚拟机指定一个或多个VGPU进一步包括选择优先级别高于预定的阈值且计算密集度低于预定的阈值的虚拟机。
13.如权利要求12中所述的装置,进一步包括优先地将VGPU指定给选定的虚拟机。
14.如权利要求9中所述的装置,其中所述VGPU进一步根据多个服务器的CPU速度和存储器大小进行指定。
CN201110274666.2A 2010-09-17 2011-09-16 优化虚拟图形处理单元利用的方法和系统 Active CN102446114B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/885,132 2010-09-17
US12/885,132 US9733963B2 (en) 2010-09-17 2010-09-17 Optimizing virtual graphics processing unit utilization

Publications (2)

Publication Number Publication Date
CN102446114A true CN102446114A (zh) 2012-05-09
CN102446114B CN102446114B (zh) 2014-12-03

Family

ID=45817340

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110274666.2A Active CN102446114B (zh) 2010-09-17 2011-09-16 优化虚拟图形处理单元利用的方法和系统

Country Status (3)

Country Link
US (2) US9733963B2 (zh)
JP (1) JP5969743B2 (zh)
CN (1) CN102446114B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103971316A (zh) * 2013-01-25 2014-08-06 纬创资通股份有限公司 计算机系统及其绘图处理方法
CN107924335A (zh) * 2015-08-10 2018-04-17 亚马逊科技公司 供应商网络中图形处理的虚拟化
CN109408449A (zh) * 2017-08-15 2019-03-01 Arm有限公司 数据处理系统
US11210759B2 (en) 2015-11-11 2021-12-28 Amazon Technologies, Inc. Placement optimization for virtualized graphics processing
US11710206B2 (en) 2017-02-22 2023-07-25 Amazon Technologies, Inc. Session coordination for auto-scaled virtualized graphics processing

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9733963B2 (en) 2010-09-17 2017-08-15 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Optimizing virtual graphics processing unit utilization
US9519943B2 (en) 2010-12-07 2016-12-13 Advanced Micro Devices, Inc. Priority-based command execution
KR20120072134A (ko) * 2010-12-23 2012-07-03 한국전자통신연구원 가상 데스크톱 가속 장치 및 방법
US9727385B2 (en) * 2011-07-18 2017-08-08 Apple Inc. Graphical processing unit (GPU) implementing a plurality of virtual GPUs
US9417929B2 (en) * 2012-12-20 2016-08-16 Vmware, Inc. Runtime profile determinations of virtual machines for graphics processing unit (GPU) allocation
WO2014100558A1 (en) * 2012-12-20 2014-06-26 Vmware, Inc. Dynamic allocation of physical graphics processing units to virtual machines
US9142004B2 (en) 2012-12-20 2015-09-22 Vmware, Inc. Dynamic allocation of physical graphics processing units to virtual machines
US9298490B2 (en) 2012-12-20 2016-03-29 Vmware, Inc. Managing a data structure for allocating graphics processing unit resources to virtual machines
US10332228B2 (en) * 2012-12-21 2019-06-25 Volcano Corporation System and method for graphical processing of medical data
US9665921B2 (en) * 2012-12-29 2017-05-30 Futurewei Technologies, Inc. Adaptive OpenGL 3D graphics in virtual desktop infrastructure
JP6215931B2 (ja) 2013-06-03 2017-10-18 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 図形表示処理装置、図形表示処理方法及び図形表示処理装置を備える車両
US20150220293A1 (en) * 2014-01-31 2015-08-06 LEAP Computing, Inc. Systems and methods for performing graphics processing
CN104182343B (zh) * 2014-08-22 2017-02-08 工业和信息化部电子第五研究所 操作系统的性能测试方法及装置
WO2016033435A1 (en) * 2014-08-29 2016-03-03 Westerngeco Llc Methods and computing systems for virtualization of graphical computing resources
DE102014221247A1 (de) * 2014-10-20 2016-04-21 Continental Automotive Gmbh Computersystem für ein Kraftfahrzeug
CN105988874B (zh) 2015-02-10 2020-08-28 阿里巴巴集团控股有限公司 资源处理方法及装置
GB2558063B (en) * 2015-05-08 2022-05-11 Cameron Wilson Eric Job concentration system, method and process
US9904973B2 (en) 2015-11-11 2018-02-27 Amazon Technologies, Inc. Application-specific virtualized graphics processing
US9904975B2 (en) 2015-11-11 2018-02-27 Amazon Technologies, Inc. Scaling for virtualized graphics processing
CA3004888C (en) * 2015-11-11 2020-09-08 Amazon Technologies, Inc. Scaling for virtualized graphics processing
US9886737B2 (en) 2015-11-11 2018-02-06 Amazon Technologies, Inc. Local-to-remote migration for virtualized graphics processing
JP2017142647A (ja) * 2016-02-10 2017-08-17 日本電信電話株式会社 リソース管理装置及びリソース管理方法
US10181173B1 (en) 2016-06-08 2019-01-15 Amazon Technologies, Inc. Disaggregated graphics asset management for virtualized graphics
US10181172B1 (en) 2016-06-08 2019-01-15 Amazon Technologies, Inc. Disaggregated graphics asset delivery for virtualized graphics
US10423463B1 (en) 2016-06-09 2019-09-24 Amazon Technologies, Inc. Computational task offloading for virtualized graphics
US10102605B1 (en) 2016-08-26 2018-10-16 Amazon Technologies, Inc. Graphics library virtualization for virtualized graphics processing
US10789668B2 (en) * 2016-08-31 2020-09-29 Vmware, Inc. Intelligent provisioning of virtual graphic processing unit resources
US10200249B1 (en) 2016-12-09 2019-02-05 Amazon Technologies, Inc. Network traffic management for virtualized graphics devices
US10373284B2 (en) * 2016-12-12 2019-08-06 Amazon Technologies, Inc. Capacity reservation for virtualized graphics processing
US10482561B1 (en) 2017-01-11 2019-11-19 Amazon Technologies, Inc. Interaction monitoring for virtualized graphics processing
US10255652B2 (en) 2017-01-18 2019-04-09 Amazon Technologies, Inc. Dynamic and application-specific virtualized graphics processing
US10692168B1 (en) 2017-01-26 2020-06-23 Amazon Technologies, Inc. Availability modes for virtualized graphics processing
US10169841B1 (en) 2017-03-27 2019-01-01 Amazon Technologies, Inc. Dynamic interface synchronization for virtualized graphics processing
CN108738156B (zh) * 2017-04-21 2021-09-24 展讯通信(上海)有限公司 蓝牙业务调度方法、装置、设备及计算机可读存储介质
US11416300B2 (en) * 2017-06-29 2022-08-16 Intel Corporaton Modular accelerator function unit (AFU) design, discovery, and reuse
US10338847B1 (en) 2017-08-28 2019-07-02 Amazon Technologies, Inc. Coherent buffer mapping for virtualized graphics processing
CN109753338B (zh) * 2017-11-06 2023-03-21 阿里巴巴集团控股有限公司 虚拟gpu使用率的检测方法和装置
JP6992515B2 (ja) * 2018-01-05 2022-01-13 コニカミノルタ株式会社 Gpu割当プログラム、gpu割当方法、コンピュータ読取可能な記録媒体、および、gpu割当装置
US10908940B1 (en) 2018-02-26 2021-02-02 Amazon Technologies, Inc. Dynamically managed virtual server system
CN110389825B (zh) * 2018-04-20 2023-08-04 伊姆西Ip控股有限责任公司 管理专用处理资源的方法、设备和计算机程序产品
US11720408B2 (en) * 2018-05-08 2023-08-08 Vmware, Inc. Method and system for assigning a virtual machine in virtual GPU enabled systems
US11960935B2 (en) * 2018-06-27 2024-04-16 Amazon Technologies, Inc. Fault-tolerant accelerator based inference service
US11494621B2 (en) 2018-06-27 2022-11-08 Amazon Technologies, Inc. Attached accelerator selection and placement
US11422863B2 (en) 2018-06-27 2022-08-23 Amazon Technologies, Inc. Attached accelerator scaling
US11599821B2 (en) 2018-06-27 2023-03-07 Amazon Technologies, Inc. Attached accelerator based inference service
US11086686B2 (en) * 2018-09-28 2021-08-10 International Business Machines Corporation Dynamic logical partition provisioning
US11048561B2 (en) * 2019-07-23 2021-06-29 Vmware, Inc. Avoiding power-on failures in virtualized GPUs
US11579942B2 (en) * 2020-06-02 2023-02-14 Vmware, Inc. VGPU scheduling policy-aware migration
US20220261287A1 (en) * 2021-02-12 2022-08-18 Nvidia Corporation Method and apparatus for improving processor resource utilization during program execution

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060146057A1 (en) * 2004-12-30 2006-07-06 Microsoft Corporation Systems and methods for virtualizing graphics subsystems
US20070079308A1 (en) * 2005-09-30 2007-04-05 Computer Associates Think, Inc. Managing virtual machines
CN101488098A (zh) * 2009-02-13 2009-07-22 华中科技大学 基于虚拟计算技术的多核计算资源管理系统
US20100115510A1 (en) * 2008-11-03 2010-05-06 Dell Products, Lp Virtual graphics device and methods thereof

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2682770B2 (ja) 1992-05-15 1997-11-26 富士通株式会社 仮想計算機システムのcpu制御方式
US7010596B2 (en) 2002-06-28 2006-03-07 International Business Machines Corporation System and method for the allocation of grid computing to network workstations
US8165108B1 (en) * 2002-10-31 2012-04-24 Alcatel-Lucent Graphical communications device using translator
US8085273B2 (en) 2003-11-19 2011-12-27 Lucid Information Technology, Ltd Multi-mode parallel graphics rendering system employing real-time automatic scene profiling and mode control
US20050188361A1 (en) 2004-02-23 2005-08-25 Henry Cai Browser-based web site generation system and method
US7248265B2 (en) 2004-04-16 2007-07-24 Apple Inc. System and method for processing graphics operations with graphics processing unit
US8271976B2 (en) 2004-06-30 2012-09-18 Microsoft Corporation Systems and methods for initializing multiple virtual processors within a single virtual machine
US7793288B2 (en) 2004-12-09 2010-09-07 International Business Machines Corporation Automatic resource management of a guest operating system using information in data set indicating minimum system requirement
US8549513B2 (en) * 2005-06-29 2013-10-01 Microsoft Corporation Model-based virtual system provisioning
US8799431B2 (en) 2005-08-15 2014-08-05 Toutvirtual Inc. Virtual systems management
US8225313B2 (en) * 2005-10-19 2012-07-17 Ca, Inc. Object-based virtual infrastructure management
US7802251B2 (en) * 2005-11-09 2010-09-21 Hitachi, Ltd. System for resource allocation to an active virtual machine using switch and controller to associate resource groups
US20070192641A1 (en) 2006-02-10 2007-08-16 Intel Corporation Method and apparatus to manage power consumption in a computer
JP4519098B2 (ja) 2006-03-30 2010-08-04 株式会社日立製作所 計算機の管理方法、計算機システム、及び管理プログラム
US8255915B1 (en) * 2006-10-31 2012-08-28 Hewlett-Packard Development Company, L.P. Workload management for computer system with container hierarchy and workload-group policies
US8141090B1 (en) 2007-04-24 2012-03-20 Hewlett-Packard Development Company, L.P. Automated model-based provisioning of resources
US8782322B2 (en) * 2007-06-21 2014-07-15 International Business Machines Corporation Ranking of target server partitions for virtual server mobility operations
JP4995015B2 (ja) 2007-09-13 2012-08-08 株式会社日立製作所 仮想計算機の実行可否検査方法
EP2248003A1 (en) * 2007-12-31 2010-11-10 Netapp, Inc. System and method for automatic storage load balancing in virtual server environments
CN101499021A (zh) 2008-01-31 2009-08-05 国际商业机器公司 在多个虚拟机上动态分配资源的方法和装置
US8468533B2 (en) * 2008-04-28 2013-06-18 Panasonic Corporation Virtual machine control device, method, and program wherein a switching task used to switch to the highest priority virtual machines is the highest priority task in the current virtual machine and the virtual machine that is the switching target
US8849971B2 (en) 2008-05-28 2014-09-30 Red Hat, Inc. Load balancing in cloud-based networks
US8516478B1 (en) * 2008-06-12 2013-08-20 Mcafee, Inc. Subsequent processing of scanning task utilizing subset of virtual machines predetermined to have scanner process and adjusting amount of subsequest VMs processing based on load
US20100013839A1 (en) 2008-07-21 2010-01-21 Rawson Andrew R Integrated GPU, NIC and Compression Hardware for Hosted Graphics
KR101506683B1 (ko) 2008-08-06 2015-03-30 삼성전자 주식회사 다수개의 운영 시스템을 지원하는 장치 및 방법
US9384062B2 (en) * 2008-12-27 2016-07-05 Vmware, Inc. Artificial neural network for balancing workload by migrating computing tasks across hosts
US9740517B2 (en) 2008-12-29 2017-08-22 Microsoft Technology Licensing, Llc Dynamic virtual machine memory management
US9535767B2 (en) 2009-03-26 2017-01-03 Microsoft Technology Licensing, Llc Instantiating a virtual machine with a virtual non-uniform memory architecture
US20100281478A1 (en) * 2009-05-01 2010-11-04 Microsoft Corporation Multiphase virtual machine host capacity planning
US8713565B2 (en) 2010-04-28 2014-04-29 International Business Machines Corporation Automated tuning in a virtual machine computing environment
US9733963B2 (en) 2010-09-17 2017-08-15 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Optimizing virtual graphics processing unit utilization

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060146057A1 (en) * 2004-12-30 2006-07-06 Microsoft Corporation Systems and methods for virtualizing graphics subsystems
US20070079308A1 (en) * 2005-09-30 2007-04-05 Computer Associates Think, Inc. Managing virtual machines
US20100115510A1 (en) * 2008-11-03 2010-05-06 Dell Products, Lp Virtual graphics device and methods thereof
CN101488098A (zh) * 2009-02-13 2009-07-22 华中科技大学 基于虚拟计算技术的多核计算资源管理系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103971316A (zh) * 2013-01-25 2014-08-06 纬创资通股份有限公司 计算机系统及其绘图处理方法
CN103971316B (zh) * 2013-01-25 2017-03-22 纬创资通股份有限公司 计算机系统及其绘图处理方法
CN107924335A (zh) * 2015-08-10 2018-04-17 亚马逊科技公司 供应商网络中图形处理的虚拟化
US11145271B2 (en) 2015-08-10 2021-10-12 Amazon Technologies, Inc. Virtualizing graphics processing in a provider network
US11210759B2 (en) 2015-11-11 2021-12-28 Amazon Technologies, Inc. Placement optimization for virtualized graphics processing
US11710206B2 (en) 2017-02-22 2023-07-25 Amazon Technologies, Inc. Session coordination for auto-scaled virtualized graphics processing
CN109408449A (zh) * 2017-08-15 2019-03-01 Arm有限公司 数据处理系统

Also Published As

Publication number Publication date
JP2012064206A (ja) 2012-03-29
US20120254868A1 (en) 2012-10-04
JP5969743B2 (ja) 2016-08-17
US20120069032A1 (en) 2012-03-22
US9727360B2 (en) 2017-08-08
CN102446114B (zh) 2014-12-03
US9733963B2 (en) 2017-08-15

Similar Documents

Publication Publication Date Title
CN102446114B (zh) 优化虚拟图形处理单元利用的方法和系统
US11537809B2 (en) Dynamic container grouping
US11521067B2 (en) Decentralized distributed deep learning
US9715408B2 (en) Data-aware workload scheduling and execution in heterogeneous environments
CN110869909B (zh) 应用机器学习算法来计算健康分数以进行工作负载调度的系统和方法
US10684832B2 (en) Code placement using a dynamic call graph
US10310908B2 (en) Dynamic usage balance of central processing units and accelerators
US10176004B2 (en) Workload-aware load balancing to minimize scheduled downtime during maintenance of host or hypervisor of a virtualized computing system
CN106445576A (zh) 主机板及其计算机实现方法及非暂态计算机可读储存装置
CN111694646A (zh) 资源调度方法、装置、电子设备及计算机可读存储介质
CN111966361B (zh) 用于确定待部署模型的方法、装置、设备及其存储介质
CN105700956A (zh) 用于处理分布式作业的方法和系统
US10419305B2 (en) Visualization of workload distribution on server resources
US9471383B2 (en) Task allocation in a computing environment
EP3761190A1 (en) Clustering method and device
US9218198B2 (en) Method and system for specifying the layout of computer system resources
CN112925587A (zh) 用于初始化应用的方法和装置
US9910649B2 (en) Integrating and sharing software build component targets
CN116304233A (zh) 用于微服务体系结构中的增强的调试的遥测目标查询注入
Prabhakaran et al. Cost-benefit Analysis of Public Clouds for offloading in-house HPC Jobs
US20140237017A1 (en) Extending distributed computing systems to legacy programs
CN110751282A (zh) 面向深度学习训练任务的处理器内存优化方法及装置
US20180060315A1 (en) Performing file system maintenance
CN111416860B (zh) 基于区块链的事务处理方法、装置、电子设备和介质
US20230176886A1 (en) Methods and apparatus to manage workload domains in virtualized computing environments

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160310

Address after: Singapore Singapore

Patentee after: Lenovo enterprise solutions (Singapore) Pte Ltd

Address before: American New York

Patentee before: International Business Machines Corp.

TR01 Transfer of patent right

Effective date of registration: 20200826

Address after: 23 / F, Lincoln building, 979 King's road, Quarry Bay, Hong Kong, China

Patentee after: Lenovo Global Technology International Co.,Ltd.

Address before: Singapore City

Patentee before: Lenovo Enterprise Solutions (Singapore) Pte. Ltd.

TR01 Transfer of patent right