用于使用复合系统执行工作负载的系统和方法与流程

未命名 08-13 阅读:101 评论:0

用于使用复合系统执行工作负载的系统和方法


背景技术:

1.计算装置可以提供服务。为了提供服务,计算装置可以包括硬件部件和软件部件。由计算装置提供的服务可能受到这些部件的限制。


技术实现要素:

2.在一个方面,根据本发明的一个或多个实施方案的用于使用利用信息处理系统实例化的复合信息处理系统执行工作负载的系统控制处理器管理器包括持久性存储装置和工作负载管理器。工作负载管理器获得工作负载中的工作负载的性能信息;基于所述性能信息做出暂停执行所述工作负载的确定;响应于所述确定:将执行所述工作负载的复合信息处理系统的第一计算资源解除分配到保留池;并且将复合信息处理系统的第二计算资源解除分配到可自由分配的池。
3.在一个方面,根据本发明的一个或多个实施方案的用于使用利用信息处理系统实例化的复合信息处理系统执行工作负载的方法包括获得工作负载中的工作负载的性能信息;基于所述性能信息做出暂停执行所述工作负载的确定;响应于所述确定:将执行所述工作负载的复合信息处理系统的第一计算资源解除分配到保留池;并且将复合信息处理系统的第二计算资源解除分配到可自由分配的池。
4.在一个方面,根据本发明的一个或多个实施方案的非暂时性计算机可读介质包括计算机可读程序代码,所述计算机可读程序代码在由计算机处理器执行时使得所述计算机处理器能够执行用于使用利用信息处理系统实例化的复合信息处理系统执行工作负载的方法。所述方法包括获得工作负载中的工作负载的性能信息;基于所述性能信息做出暂停执行所述工作负载的确定;响应于所述确定:将执行所述工作负载的复合信息处理系统的第一计算资源解除分配到保留池;并且将复合信息处理系统的第二计算资源解除分配到可自由分配的池。
附图说明
5.现将参考附图描述本发明的某些实施方案。然而,附图仅通过举例的方式示出了本发明的某些方面或实现方式,并且不意味着限制权利要求的范围。
6.图1.1示出了根据本发明的一个或多个实施方案的系统的图。
7.图1.2示出了根据本发明的一个或多个实施方案的信息处理系统的图。
8.图2示出了根据本发明的一个或多个实施方案的硬件资源的图。
9.图3示出了根据本发明的一个或多个实施方案的系统控制处理器的图。
10.图4示出了根据本发明的一个或多个实施方案的系统控制处理器管理器的图。
11.图5.1示出了根据本发明的一个或多个实施方案的暂停执行工作负载的方法的流程图。
12.图5.2示出了根据本发明的一个或多个实施方案的恢复执行暂停执行的工作负载的方法的流程图。
13.图6.1至图6.4示出了根据本发明的一个或多个实施方案的示例性系统随时间的操作的图。
14.图7示出了根据本发明的一个或多个实施方案的计算装置的图。
具体实施方式
15.现将参考附图描述具体实施方案。在以下描述中,阐述许多细节作为本发明的示例。本领域技术人员将理解,本发明的一个或多个实施方案可以在没有这些具体细节的情况下实践,并且在不脱离本发明的范围的情况下,众多改变或修改也许是可能的。省略本领域普通技术人员已知的某些细节以避免混淆描述。
16.在图的以下描述中,关于某一图描述的任何部件在本发明的各种实施方案中可以等同于关于任何其他图描述的一个或多个类似命名的部件。为了简洁起见,不会关于每个图重复这些部件的描述。因此,每个图的部件的每一实施方案通过引用结合,并假设可选地存在于具有一个或多个类似命名的部件的每个其他图中。另外,根据本发明的各种实施方案,对某一图的部件的任何描述应被解释为可选实施方案,所述可选实施方案可以补充、结合或代替关于任何其他图中的对应类似命名的部件描述的实施方案来实现。
17.在本技术中,图中的元素可以标记为a至n。如本文所使用,上述标记意味着元素可以包括任何数目的项目,并且不要求元素包括与标记为a至n的任何其他项目相同数目的元素。例如,数据结构可以包括标记为a的第一元素和标记为n的第二元素。这种标记约定意味着数据结构可以包括任何数目的元素。也标记为a至n的第二数据结构还可以包括任何数目的元素。第一数据结构的元素数目和第二数据结构的元素数目可以相同或不同。
18.一般来说,本发明的实施方案涉及用于提供计算机实现的服务的系统、装置和方法。为了提供计算机实现的服务,可能需要通过执行对应工作负载来分配计算资源以执行服务。计算资源可以包括例如处理资源、存储器资源、存储资源、通信资源等。
19.为了分配计算资源,可以实例化复合信息处理系统。复合信息处理系统可以是对一定数量的计算资源具有独占使用权的装置(装置的部件可以分布在一个或多个信息处理系统上)。可以将来自多个信息处理系统的计算资源分配到复合信息处理系统,由此使复合信息处理系统能够利用来自任何数目的信息处理系统的计算资源执行对应计算机实现的服务。
20.为了管理计算资源分配,系统可以基于由复合信息处理系统提供的服务的需求水平而将计算资源动态地分配到复合信息处理系统以及从复合信息处理系统解除分配计算资源。通过这样做,分配到复合信息处理系统的计算资源数量可以与满足对复合信息处理系统提出的服务需求所需的计算资源数量相匹配。因此,用于复合信息处理系统的计算资源的过度供应和供应不足不太可能发生。因此,可以提高计算资源的使用效率。
21.当从复合信息处理系统解除分配计算资源时,解除分配的计算资源可以加入可自由分配的资源池或对这些其他池的计算资源的分配施加限制的其他池(例如,保留池)。系统可以优先地将包括状态相关的硬件装置的计算资源解除分配到保留池。通过这样做,可以保留可能需要置于预定状态以提供期望的计算资源的硬件装置(即,状态相关的硬件装置)用于未来分配,以提供对应计算机实现的服务。因此,由于保留的计算资源的可用性,可以减少实例化复合系统所需的时间。
22.通过保留上述计算资源,系统不太可能遭受性能损失(例如,由于需要修改硬件装置状态),以通过解除分配计算资源来暂时暂停执行工作负载,并通过分配用于执行工作负载的计算资源(例如,通过向现有的复合信息处理系统添加额外的资源或通过实例化新的复合信息处理系统)来恢复执行暂停的工作负载。因此,系统可能够将计算资源精细地分配到各种工作负载,并从各种工作负载的执行中解除分配计算资源,同时限制恢复暂停的工作负载的性能损失。因此,系统可能够更好地在所有时间点提供计算机实现的服务。
23.图1.1示出了根据本发明的一个或多个实施方案的系统。系统可以包括任何数目的信息处理系统(60)。信息处理系统(60)可以提供计算机实现的服务。计算机实现的服务可以包括例如数据库服务、数据存储服务、电子通信服务、数据保护服务,和/或可以使用信息处理系统实现的其他类型的服务。
24.这些服务中的任一者可以将工作负载施加到信息处理系统的各种部件。由于信息处理系统的计算资源数量有限,因此在任何时间点仅可以执行有限数目和大小的工作负载。
25.另外,不同服务的需求可以随时间变化。例如,在第一时间点,对数据库服务的需求可能较高(例如,当公司的许多员工正在使用数据库中包括的信息时),而在第二时间点,对数据库服务的需求可能较低(例如,在当天员工离开之后)。因此,随时间为服务连续地分配相同数量的计算资源可能导致在对服务的低需求期间低效地使用计算资源。
26.图1.1的系统的信息处理系统可以独立地和/或协同地操作,以通过执行各种工作负载提供计算机实现的服务。例如,单个信息处理系统(例如,62)可以独自(即,独立地)提供计算机实现的服务,而多个其他信息处理系统(例如,62、64)可以协同提供第二计算机实现的服务(例如,多个其他信息处理系统中的每一个可以提供形成协同提供的服务的类似和/或不同的服务)。
27.为了提供计算机实现的服务,信息处理系统(60)可以利用由硬件装置提供的计算资源。计算资源可以包括例如处理资源、存储资源、存储器资源、图形处理资源、通信资源和/或由硬件装置提供的其他类型的资源。各种硬件装置可以提供这些计算资源。
28.提供计算机实现的服务所需的计算资源的类型和数量可能根据要提供的计算机实现的服务的类型和数量而变化,从而对信息处理系统(60)施加不同类型和量值的工作负载。例如,一些类型的计算机实现的服务可能计算密集的(例如,建模),而其他计算机实现的服务可能是存储密集型的(例如,数据库),从而对这些不同服务具有不同的计算资源要求。因此,执行工作负载的能力可能并不完全基于正在执行的工作负载的数目。相反,即使其他类型的计算资源丰富,单个类型的计算源也可能同时限制执行多个工作负载。
29.另外,一些工作负载可以利用根据其状态操作的硬件装置。例如,计算加速单元可以顺序地对存储在计算加速度单元中的数据执行计算,从而随时间改变计算加速度单元的状态。如果工作负载利用根据一个或多个状态操作的硬件装置,则可能需要保持硬件装置的状态,以使工作负载能够在暂停执行工作负载之后恢复。因此,对于将基于工作负载的需求水平而暂停和重新启动的工作负载,可能需要维护反映硬件装置的一个或多个先前状态的状态信息。
30.客户端(40)可以请求提供计算机实现的服务。例如,客户端(40)可以向管理实体发送请求以提供计算机实现的服务。因此,将随时间执行的工作负载的数目和类型可能会
变化。
31.一般而言,本发明的实施方案涉及用于管理信息处理系统(62)的硬件资源和/或其他资源(例如,外部资源(30))以提供计算机实现的服务的系统、方法和装置。可以通过使用信息处理系统(60)的硬件资源、外部资源(30)和/或可操作地连接到信息处理系统(60)的其他类型的硬件装置实例化和/或重新复合一个或多个复合信息处理系统来管理信息处理系统(62)的硬件资源。
32.由于对工作负载的需求随时间变化,因此系统可以通过以下操作自动地重新复合执行工作负载的复合信息处理系统:(i)为工作负载的执行分配额外计算资源、(ii)为工作负载的执行解除分配计算资源,和/或(iii)对于利用状态相关的硬件装置的工作负载,可以维护装置的状态信息。状态信息可用于将状态相关的硬件装置置于允许恢复执行(先前正在执行的)工作负载的一个或多个状态。
33.另外,当从工作负载的执行解除分配计算资源时,系统可以限制解除分配的计算资源的全部或部分能够分配用于执行其他工作负载。例如,为了维护状态相关的硬件装置的状态,系统可以在从工作负载的执行中解除分配之后保留状态相关的硬件装置。通过这样做,可以维护状态相关的硬件装置的状态,直到它被重新分配以恢复执行工作负载。因此,在本发明的一些实施方案中,系统可以通过保留硬件装置来维护状态信息,而在本发明的其他实施方案中,如下面将更详细地讨论,可以生成数据结构(例如,恢复包),所述数据结构可以用于对一个或多个状态相关的硬件装置进行编程,以将它们置于一个或多个状态。
34.当从工作负载的执行中解除分配计算资源时,然后可以将计算资源的一部分自由地分配到其他工作负载。所述部分可以包括不依赖于其操作状态的装置。例如,所述部分可以包括处理器、存储器、存储装置和/或其他类型的状态相关的硬件装置。相反,状态相关的硬件装置可以包括例如图形处理单元、计算加速单元、结构化存储装置(例如,具有时间依赖性的存储装置,例如队列)等。
35.由于信息处理系统的计算资源的数目有限,在任何时间点仅可以实例化有限数目的复合信息处理系统。因此,可能需要对计算资源分配给复合信息处理系统以执行工作负载进行配给,使得可以实例化其他复合信息处理系统以提供其他服务。
36.在本发明的一个或多个实施方案中,系统包括系统控制处理器管理器(50)。系统控制处理器管理器(50)可以提供复合信息处理系统复合服务。复合信息处理系统复合服务可以包括(i)从客户端(40)获得对计算机实现的服务的请求(例如,可能需要实例化复合信息处理系统以服务于请求的复合请求)、(ii)使用复合信息处理系统执行计算机实现的服务、(iii)使用复合信息处理系统监测正在执行的工作负载,以及(iv)基于监测的工作负载性能随时间推移重组复合信息处理系统。当重组复合信息处理系统时,系统控制处理器管理器可以生成和/或维护反映状态相关的硬件装置的状态的信息。通过这样做,由图1.1的系统提供的计算机实现的服务的数量和质量可以通过例如以下方式改进:通过从复合信息处理系统解除分配计算资源来减少计算资源的过度供应;通过基于其工作负载将额外计算资源自动地分配到复合信息处理系统来减少资源的供应不足,和/或当分配到复合信息处理系统时,利用维护的状态信息来恢复硬件装置的状态,由此能够恢复使用状态相关的硬件装置执行工作负载。
37.在本发明的一个或多个实施方案中,系统控制处理器管理器(50)根据三资源集模型实例化复合信息处理系统并且重组复合信息处理系统(例如,将额外的计算资源分配到复合信息处理系统、从复合信息处理系统解除分配计算资源,和/或维护关于复合信息处理系统的状态相关的硬件装置的状态信息)。如下文将更详细地论述,信息处理系统的计算资源可以分成三个逻辑资源集:计算资源集、控制资源集和硬件资源集。来自相同或不同信息处理系统的不同资源集或其部分可以进行聚合(例如,导致作为计算装置操作),以实例化具有来自每一组三资源集模型的至少一个资源集的复合信息处理系统。这些资源集可以根据资源保留系统进行管理,所述资源保留系统使得当用于执行工作负载的计算资源需求随时间变化时,必要的计算资源更有可能用于执行工作负载。
38.保留系统可以将不同类型的计算资源划分成至少两个池。第一池可以是包括可以自由分配用于执行任何类型的工作负载的计算资源的池(例如,可自由分配的池)。例如,第一池可以包括处理器、存储器和其他类型的状态相关的硬件装置。第二池可以是限制第二池中计算资源的分配以用于执行有限的工作负载子集(例如,已经暂停执行的工作负载)的池(例如,保留池)。当解除分配计算资源时,计算资源的类型可以用于确定将相应资源添加到哪个池。
39.通过将信息处理系统的计算资源在逻辑上划分成资源集,并且基于不同类型的池中的成员状态限制资源的分配,可以将不同数量和类型的计算资源分配给每个复合信息处理系统,从而使得分配给相应信息处理系统的计算资源能够随时间推移匹配执行的工作负载的要求。此外,根据三集合模型划分计算资源可以使不同的资源集能够进行区分(例如,给定不同的个性)以提供不同的功能。因此,复合信息处理系统可以基于所需的功能,而不是仅基于将包括在复合信息处理系统中的聚合资源进行复合。因此,可以使用对应的计算资源将这些功能分配到复合信息处理系统。
40.另外,通过以此方式对复合信息处理系统进行复合,每个复合信息处理系统的控制资源集可以用于在任何数目的复合信息处理系统中一致地部署管理服务。因此,本发明的实施方案可以通过使用这种三资源集模型来提供用于统一的安全性、可管理性、资源管理/可复合性、工作负载管理和分布式系统管理的框架。
41.例如,工作负载监测器可以部署在控制资源集中,以监测其他资源集用于执行各种工作负载,以提供期望的计算机实现的服务。因此,可以跨信息处理系统(60)统一地监测这些计算资源的使用,以获得可用于生成未来计算资源需求的预测的信息,获得并维护状态相关的硬件装置的状态信息,和/或以其他方式管理复合信息处理系统的计算资源。关于系统控制处理器管理器(50)的更多细节参见图4。
42.在本发明的一个或多个实施方案中,复合信息处理系统是使用信息处理系统(60)的全部或部分计算资源、外部资源(30)和/或可操作地连接至信息处理系统(60)的其他类型的硬件装置形成的装置。复合信息处理系统可以利用分配给它的计算资源来提供计算机实现的服务。例如,复合信息处理系统可以托管一个或多个应用程序,这些应用程序利用指派给复合信息处理系统的计算资源,从而将工作负载置于计算资源。所述应用程序可以提供计算机实现的服务。
43.为了实例化复合信息处理系统,信息处理系统(60)可以包括至少三个资源集,所述至少三个资源集包括控制资源集。控制资源集可以包括系统控制处理器。每个信息处理
系统的系统控制处理器可以与系统控制处理器管理器(50)协调,以实现实例化复合信息处理系统。例如,信息处理系统的系统控制处理器可以提供关于信息处理系统的计算资源的遥测数据,可以代表系统控制处理器管理器(50)执行动作以将计算资源聚合在一起,可以监测用于提供计算机实现的服务的计算资源的使用,和/或可以提供对复合信息处理系统的操作进行统一的服务。
44.在本发明的一个或多个实施方案中,复合信息处理系统的计算资源集由控制资源集以裸机资源呈现,即使所呈现的资源实际上正使用抽象化、仿真、虚拟化、安全模型等的一个或多个层进行管理。例如,控制资源集的系统控制处理器可在将资源作为裸机资源呈现时提供抽象化、仿真、虚拟化和/或其他服务。因此,这些服务对于由复合信息处理系统的计算资源集托管的应用程序可以是透明的,从而使得能够统一部署这些服务,而不需要实现由复合信息处理系统的计算资源集托管的控制平面实体。因此,通过利用系统控制处理器来监测复合信息处理系统的计算资源的使用,由复合信息处理系统托管的应用程序或其他实体可能无法查看、了解、影响或以其他方式对计算资源使用数据的收集起作用。
45.在对复合信息处理系统进行复合之后,可以通过添加计算资源或从复合信息处理系统移除计算资源来重新复合所述复合信息处理系统。如上文所论述,本发明的实施方案提供对分配给复合信息处理系统的计算资源的动态修改,以匹配由这些系统执行的工作负载的要求。关于信息处理系统(60)的更多细节参见图1.2。
46.外部资源(30)可以提供可以分配给复合信息处理系统使用的计算资源。例如,外部资源(30)可以包括提供任何数目和类型的计算资源的硬件装置。复合信息处理系统可以使用这些资源来提供其功能。例如,系统控制处理器可以可操作地连接到外部资源(30)并且管理外部资源(30),以提供额外的和/或与仅使用信息处理系统的硬件资源集提供的那些计算资源不同的计算资源。通过利用系统控制处理器来管理这些资源,也可以有效地且透明地监测客户端(40)对这些外部资源(30)的使用。
47.不同的外部资源(例如,32、34)可以提供类似的或不同的计算资源。例如,一些外部资源可以包括大量硬盘驱动器以提供存储资源,而其他资源可以包括图形处理单元渲染农场。外部资源(30)可以包括任何数目和类型的计算资源,用于经由控制资源集的系统控制处理器分配给复合信息处理系统。
48.图1.1的系统可以包括任何数目的信息处理系统(例如,62、64)、任何数目的外部资源(例如,32、34),以及任何数目的系统控制处理器管理器(例如,50)。图1.1的部件中的任一者可以经由一个或多个网络(例如,130)可操作地连接到任何其他部件和/或图1.1中未示出的其他部件。网络可以使用有线和/或无线网络拓扑的任何组合来实现。
49.客户端(40)、系统控制处理器管理器(50)、信息处理系统(60)和/或外部资源(30)可以使用计算装置来实现。计算装置可以包括例如服务器、膝上型计算机、台式计算机、分布式系统的节点等。计算装置可以包括一个或多个处理器、存储器(例如,随机存取存储器)和/或持久性存储装置(例如,磁盘驱动器、固态驱动器等)。持久性存储装置可以存储计算机指令,例如计算机代码,所述计算机指令(在由计算装置的一个或多个处理器执行时)致使所述计算装置执行本技术中描述的系统控制处理器管理器(50)、信息处理系统(60)和/或外部资源(30)的功能和/或图5.1至图5.2中所示的方法的全部或部分。在不脱离本发明的情况下,客户端(40)、系统控制处理器管理器(50)、信息处理系统(60)和/或外部资源
(30)可以使用其他类型的计算装置来实现。关于计算装置的更多细节参见图7。
50.虽然信息处理系统(100)已经被示出和描述为包括有限数目的特定部件,但是在不脱离本发明的情况下,根据本发明的实施方案的信息处理系统可以包括附加、更少和/或不同的部件。
51.转向图1.2,图1.2示出了根据本发明的一个或多个实施方案的信息处理系统(100)的图。图1.1的信息处理系统(例如,60)中的任一个可以类似于图1.2中所示的信息处理系统(100)。
52.如上文所论述,信息处理系统(100)可以提供任何数量和类型的计算机实现的服务。为了提供计算机实现的服务,信息处理系统(100)的资源可以用于实例化一个或多个复合信息处理系统。复合信息处理系统可以提供计算机实现的服务。
53.为了提供计算机实现的服务,信息处理系统(100)可以包括任何数目和类型的硬件装置,包括例如一个或多个处理器(106)、任何数量和类型的处理器专用存储器(104)、一个或多个系统控制处理器(114)和任何数目的硬件资源(118)。这些硬件装置可以在逻辑上划分成三个资源集,包括计算资源集(102)、控制资源集(108)和硬件资源集(110)。
54.信息处理系统(100)的控制资源集(108)可以有助于复合信息处理系统的形成。为此,控制资源集(108)可以准备来自(例如,信息处理系统(100)和/或其他信息处理系统的)任何数目的硬件资源集(例如,110)的任何数量的资源,以呈现给(例如,信息处理系统系统(100)和/或其他信息处理系统的)任何数目的计算资源集(例如,102)的处理资源。一旦准备好,控制资源集(108)就可以将准备好的资源作为裸机资源呈现给所分配的计算资源的处理器(例如,106)。通过这样做,可以实例化复合信息处理系统。
55.为了准备用于呈现的硬件资源集的资源,控制资源集(108)可以采用例如虚拟化、间接、抽象化和/或仿真。这些管理功能对于由所产生的实例化复合信息处理系统托管的应用程序可以是透明的。因此,在复合信息处理系统的控制平面实体未知时,复合信息处理系统可以根据任何数目的管理模型操作,从而提供对复合信息处理系统的统一控制和管理。这些功能对于由复合信息处理系统托管的应用程序可以是透明的,从而减轻其与这些功能相关联的开销。
56.例如,考虑一种场景,其中指示控制资源集实例化复合信息处理系统,所述复合信息处理系统包括计算资源集和将为计算资源集贡献存储资源的硬件资源集。控制资源集可以虚拟化硬件资源集的存储资源,以使得选择数量的存储资源能够分配给复合信息处理系统,同时保留一些存储资源以分配给其他复合信息处理系统。然而,可以将准备的存储资源作为裸机资源呈现给计算资源集。因此,计算资源集可能不需要托管任何控制平面实体或以其他方式产生用于利用虚拟化存储资源的开销。
57.当准备用于呈现给其他资源的资源时,控制资源集(108)可以修改一个或多个硬件装置的状态。例如,控制资源集(108)可以通过向硬件装置写入信息来恢复硬件装置(例如,状态相关的硬件装置)的状态。控制资源集(108)可以根据从正在恢复执行工作负载的系统控制处理器管理器接收的指令来这样做,所述工作负载要求硬件装置的状态处于预定状态,以便正确地执行工作负载。
58.控制资源集(108)还可以使相应的客户端能够利用信息处理系统(100)的硬件部件中的任何硬件部件。当实例化复合信息处理系统时,所述复合信息处理系统(以及其硬件
装置)可以用于执行工作负载(例如,以通过执行对应工作负载来提供期望的计算机实现的服务)。
59.由于控制资源集(108)可以通过计算资源集(102)来调解硬件资源集(110)的使用,因此控制资源集(108)可以透明地确定这些资源集的硬件装置用于执行工作负载。为此,控制资源集(108)可以拦截(作为向计算资源集呈现硬件资源集的计算资源的一部分)资源集之间的通信,监测由相应资源集中的每一个执行的工作负载,监测这些资源集的功率利用率,和/或可以执行其他动作来识别随着时间推移要执行的工作负载的性能和能力。
60.可以将收集的工作负载信息提供到图1.1的系统控制处理器管理器或其他实体。如上所述,系统控制处理器管理器可以利用收集的信息来确定将来用于执行各种工作负载的可能计算资源需求。
61.计算资源集(102)可以包括可操作地连接到处理器专用存储器(104)的一个或多个处理器(106)。因此,计算资源集(102)可以托管任何数目的执行过程,从而使得能够执行任何数目和类型的工作负载。在执行工作负载时,计算资源集(102)可以利用由信息处理系统(100)的硬件资源集(110)、其他信息处理系统的硬件资源集和/或外部资源提供的计算资源。
62.计算资源集(102)的处理器(106)可以可操作地连接至控制资源集(108)的一个或多个系统控制处理器(114)。例如,处理器(106)可以连接至计算资源接口(112),所述计算资源接口还连接至系统控制处理器(114)。计算资源接口(112)可以使处理器(106)能够经由裸机通信与其他实体进行通信。此外,计算资源接口(112)可以使控制资源集(108)的系统控制处理器(114)能够监测处理器(106)和/或处理器专用存储器(104)的活动,以识别客户端对这些硬件装置的使用。例如,计算资源接口(112)可以支持与计算资源集(102)的硬件装置的边带通信,从而使得系统控制处理器(114)能够获得这些硬件装置的使用信息。
63.控制资源集(108)的系统控制处理器(114)可以将计算资源作为裸机资源呈现给处理器(106)。换句话说,从处理器(106)的角度来看,当实际上系统控制处理器(114)经由计算资源接口(112)可操作地连接至处理器(106)时,任何数目的裸机资源可以经由计算资源接口(112)可操作地连接至所述处理器。换句话说,系统控制处理器(114)可以管理向计算资源集(102)呈现其他类型的资源(例如,硬件资源集(110)的计算资源、外部资源、其他信息处理系统的其他硬件资源集等)。
64.通过将计算资源作为裸机资源呈现给处理器,例如管理程序、仿真器,和/或其他类型的管理实体的控制平面实体(例如,应用程序)可能不需要由处理器(106)托管(例如执行),以使处理器(106)和由它们托管的实体利用分配给复合信息处理系统的计算资源。因此,由计算资源集(102)提供的所有处理资源可以专用于提供计算机实现的服务。
65.例如,处理器(106)可以利用映射的存储器地址与系统控制处理器(114)呈现给处理器(106)的裸机资源通信。系统控制处理器(114)可以获得这些通信,并适当地将通信重新映射(例如,重新打包、重新定向、封装等)到提供计算资源的实际硬件装置,处理器(106)经由计算资源接口(112)和/或硬件资源接口(116)与所述计算资源进行交互,如下所述。因此,资源虚拟化、仿真、抽象化或其他资源分配方法(裸机除外)和管理所需的间接、重新映射和/或其他功能可能不需要经由处理器(106)来实现。
66.通过这样做,可以通过对控制平面透明的方式自动地执行复合信息处理系统的任
何数目的功能。因此,复合信息处理系统可以通过以与架构或模型一致的方式配置一个或多个系统控制处理器的操作而以与统一的一致架构或模型(例如,例如使用虚拟专用网络的安全通信的通信模型、例如存储数据的多个副本或向存储的数据添加纠错码数据的数据存储模型等)一致的方式操作。
67.在本发明的一个或多个实施方案中,控制平面实体利用通过一层或多层间接、抽象化、虚拟化等呈现的计算资源。换句话说,控制平面实体可以是硬件装置和由此提供的计算资源的间接用户。在图1.2的信息处理系统中,系统控制处理器(114)可以作为裸机资源呈现抽象资源、间接层、虚拟化层等。
68.在本发明的一个或多个实施方案中,数据平面实体直接使用计算资源。例如,数据平面实体可以指示硬件装置进行操作,从而直接利用由此提供的计算资源。数据平面实体可以使用间接、抽象化、虚拟化等的一个或多个层将计算资源呈现给控制平面实体。
69.系统控制处理器(114)可以将与其可操作地连接的任何数目的资源(例如,硬件资源集(110)、经由接口(例如,硬件资源接口(116)与其可操作地连接的其他资源等)作为裸机资源呈现给计算资源集(102)的处理器(106)。因此,系统控制处理器(114)可以实现与处理器(106)兼容的装置发现过程,以使处理器(106)能够利用所呈现的计算资源。
70.例如,硬件资源集(110)可以包括经由硬件资源接口(116)可操作地连接至系统控制处理器(114)的硬件资源(118)。硬件资源(118)可以包括提供计算资源的任何数目和类型的硬件装置。关于硬件资源(118)的更多细节参见图2。
71.在另一实例中,系统控制处理器(114)可以经由硬件资源接口(116)、网络(130)和/或其他信息处理系统的其他系统控制处理器可操作地连接至其他信息处理系统的其他硬件资源集。系统控制处理器可以协作地使得其他信息处理系统的硬件资源集准备好并作为裸机资源呈现给计算资源集(102)。
72.在额外实例中,系统控制处理器(114)可以经由硬件资源接口(116)和网络(130)可操作地连接至外部资源。系统控制处理器(114)可以准备外部资源并将所述外部资源作为裸机资源呈现给计算资源集(102)。
73.通过向计算资源集(102)呈现资源,系统控制处理器(114)可能能够以对使用处理器(106)执行的应用程序或其他实体透明的方式来监测所呈现的资源的利用,并且可以管理状态相关的硬件装置的状态(例如,通过生成反映状态的数据结构,通过修改状态相关的硬件装置的操作以符合状态等)。因此,这些实体可能无法干扰对这些资源的使用的监测,也无法意识到状态相关的装置的任何状态变化。相反,如果用于监测用于执行工作负载的计算资源的代理或其他实体正在使用处理器(106)执行,则使用处理器(106)执行的其他实体可能能够干扰监测实体的操作。因此,本发明的实施方案可以提供一种监测用于执行不太容易受到其他实体的干扰的对应工作负载的计算资源的方法。类似地,可以在没有干扰的情况下管理状态相关的硬件装置的状态。
74.关于系统控制处理器(114)的操作和功能的更多细节参见图3。
75.计算资源接口(112)可以使用任何合适的互连技术来实现,包括例如系统总线,例如计算快速链路或其他互连协议。计算资源接口(112)可以支持任何输入/输出(io)协议、任何存储器协议、任何一致性接口等。计算资源接口(112)可以支持处理器到装置的连接、处理器到存储器的连接和/或其他类型的连接。计算资源接口(112)可以使用一个或多个硬
件装置来实现,所述硬件装置包括适于提供计算资源接口(112)的功能的电路系统。
76.计算资源接口(112)还可以支持系统控制处理器(114)、处理器(106)和/或处理器专用存储器(104)之间的边带通信。因此,系统控制处理器(114)可能能够监测这些其他装置的操作,以识别由复合信息处理系统使用这些硬件装置执行的工作负载。
77.硬件资源接口(116)可以使用任何合适的互连技术来实现,包括例如系统总线,例如计算快速链路或其他互连协议。硬件资源接口(116)可以支持任何输入/输出(io)协议、任何存储器协议、任何一致性接口等。硬件资源接口(116)可以支持处理器到装置的连接、处理器到存储器的连接和/或其他类型的连接。硬件资源接口(116)可以使用一个或多个硬件装置来实现,所述硬件装置包括适于提供硬件资源接口(116)的功能的电路系统。
78.在本发明的一些实施方案中,计算资源集(102)、控制资源集(108)和/或硬件资源集(110)可以实现为单独的物理装置。在此种场景中,计算资源接口(112)和硬件资源接口(116)可以包括使这些资源集能够彼此通信的一个或多个网络。因此,这些资源集中的任何一个(例如,102、108、110)可以包括网络接口卡或其他装置,以使相应资源集的硬件装置能够彼此通信。
79.在本发明的一个或多个实施方案中,系统控制处理器(114)支持多个独立的连接。例如,系统控制处理器(114)可以支持第一网络通信连接(例如,带内连接),所述第一网络通信连接可以被分配为供由处理器(106)托管的应用程序使用。系统控制处理器(114)还可以支持第二网络通信连接(例如,带外连接),所述第二网络通信连接可以被分配为供由系统控制处理器(114)托管的应用程序使用。带外连接可以用于管理和控制目的,而带内连接可以用于提供计算机实现的服务。这些连接可以与不同网络端点相关联,从而使通信能够选择性地指向由处理器(106)和/或系统控制处理器(114)托管的应用程序。如将关于图3更详细地讨论,系统控制处理器(114)可以利用带外连接与其他装置进行通信,以管理(例如,实例化、监测、修改等)复合信息处理系统。
80.网络(130)可以对应于任何类型的网络,并且可以可操作地连接至互联网或其他网络,从而使信息处理系统(100)能够与任何数目和类型的其他装置通信。
81.信息处理系统(100)可以使用计算装置实现。计算装置可以是例如服务器、膝上型计算机、台式计算机、分布式系统的节点等。计算装置可以包括一个或多个处理器、存储器(例如,随机存取存储器)和/或持久性存储装置(例如,磁盘驱动器、固态驱动器等)。持久性存储装置可以存储计算机指令,例如计算机代码,所述计算机指令(在由计算装置的一个或多个处理器执行时)使计算装置执行本技术中描述的信息处理系统(100)的功能和/或图5.1至图5.2中所示的方法的全部或部分。在不脱离本发明的情况下,信息处理系统(100)可以使用其他类型的硬件装置来实现。关于计算装置的更多细节参见图7。
82.虽然信息处理系统(100)已经被示出和描述为包括有限数目的特定部件,但是在不脱离本发明的情况下,根据本发明的实施方案的信息处理系统可以包括附加、更少和/或不同的部件。
83.转向图2,图2示出了根据本发明的一个或多个实施方案的硬件资源(118)的图。如上所述,信息处理系统的系统控制处理器可以呈现资源,包括例如硬件资源(118)中的一些,以形成复合信息处理系统。
84.硬件资源(118)可以包括任何数目和类型的硬件装置,所述硬件装置可以提供任
何数量和类型的计算资源。例如,硬件资源(118)可以包括存储装置(200)、存储器装置(202)和专用装置(204)。在不脱离本发明的情况下,硬件资源(118)可以包括与图2中所示的装置不同数目和类型的装置。所述装置中的任一个可以是状态相关或状态无关的装置。
85.存储装置(200)可以提供存储资源(例如,持久性存储装置),其中由复合信息处理系统托管的应用程序可以存储包括任何类型和数量的信息的数据。存储装置(200)可以包括用于存储数据的任何类型和数量的装置。所述装置可以包括例如硬盘驱动器、固态驱动器、磁带驱动器等。在不脱离本发明的情况下,存储装置(200)可以包括用于提供存储资源的其他类型的装置。例如,存储装置(200)可以包括控制器(例如,磁盘控制器的冗余阵列)、负载均衡器和/或其他类型的装置。
86.存储器装置(202)可以提供存储器资源(例如,暂时性和/或持久性存储装置),其中复合信息处理系统可以存储包括任何类型和数量的信息的数据。存储器装置(202)可以包括用于存储数据的任何类型和数量的装置。所述装置可以例如包括例如随机存取存储器的暂时性存储器、例如存储类存储器的持久性存储器等。在不脱离本发明的情况下,存储器装置(202)可以包括用于提供存储器资源的其他类型的装置。例如,存储装置(200)可以包括控制器(例如,复制管理器)、负载均衡器和/或其他类型的装置。
87.专用装置(204)可以向复合信息处理系统提供其他类型的计算资源(例如,图形处理资源、计算加速资源等)。专用装置(204)可以包括用于提供其他类型的计算资源的任何类型和数量的装置。专用装置(204)可以包括例如用于提供图形处理资源的图形处理单元、用于加速由复合信息处理系统执行的对应工作负载的计算加速器、用于执行其他功能的专用集成电路(asic)、用于促进高速通信的数字信号处理器、用于提供任何类型的服务的现场可编程门阵列等。在不脱离本发明的情况下,专用装置(204)可以包括用于提供其他类型的计算资源的其他类型的装置。
88.信息处理系统的系统控制处理器可以调解由硬件资源(118)提供的计算资源到计算资源集的呈现(例如,作为处理器的裸机资源)。当这样做时,系统控制处理器可以提供抽象化层,所述抽象化层使硬件资源(118)能够例如虚拟化、仿真为与其他系统兼容、和/或直接连接至计算资源集(例如,直通)。因此,可以将硬件资源(118)的计算资源精细地或在宏级别上分配给不同复合信息处理系统。
89.另外,系统控制处理器可以根据一个或多个模型管理这些硬件装置的操作,所述模型包括例如数据保护模型(例如,存储数据的多个副本)、安全模型(例如,加密存储的数据)、工作负载性能可用性模型(例如,在解除分配状态相关资源时保留状态相关资源),报告模型(例如,获得关于工作负载的性能、硬件装置的健康度量等的信息)等。例如,系统控制处理器可以主动地监测工作负载的性能,并且保留状态相关的硬件装置以供将来分配,以执行暂停的工作负载。
90.这些装置的操作方式对于利用这些硬件装置来提供计算机实现的服务的计算资源集可以是透明的。因此,即使所得复合信息处理系统控制平面可能没有意识到这些硬件资源(118)的管理的实现,复合信息处理系统仍然可以根据这些管理方法进行操作,从而提供管理复合信息处理系统的操作的统一方法。
91.虽然硬件资源(118)已经被示出和描述为包括有限数目的特定部件,但是在不脱离本发明的情况下,根据本发明的实施方案的硬件资源可以包括附加、更少和/或不同的部
件。
92.如上所述,信息处理系统可以包括信息控制处理器,所述信息控制处理器可以用于实例化复合信息处理系统。图3示出了根据本发明的一个或多个实施方案的系统控制处理器(298)的图。包括在图1.2的控制资源集中的系统控制处理器中的任一者可以类似于图3中所示的系统控制处理器(298)。
93.系统控制处理器(298)可以促进复合信息处理系统的实例化、重新复合和操作。通过这样做,包括信息处理系统的系统可以对复合信息处理系统动态地进行实例化和/或重新复合以提供计算机实现的服务。
94.为了实例化和操作复合信息处理系统,系统控制处理器(298)可以包括复合管理器(300)、工作负载监测器(301)、物理资源管理器(302)、仿真资源管理器(304)、虚拟资源管理器(306)、操作管理器(308)、硬件资源服务(310)和存储装置(312)。下文论述系统控制处理器的这些部件中的每一个。
95.复合管理器(300)可以管理实例化、重新复合和操作复合信息处理系统的过程。为了提供这些管理服务,复合管理器(300)可以包括用于以下操作的功能:(i)获得关于信息处理系统的硬件部件的信息(例如,获得关于信息处理系统的遥测数据)、(ii)将获得的信息提供到其他实体(例如,管理实体,例如系统控制处理器管理器(50、图1.1))、(iii)获得对复合信息处理系统的复合/重新复合请求,(iv)基于所述复合/重新复合请求,准备资源并将所述资源作为裸机资源呈现给计算资源集、(v)实例化复合信息处理系统中的应用程序,以使得复合信息处理系统提供计算机实现的服务、(vi)通过例如根据各种管理模型管理硬件资源集的硬件装置,管理复合信息处理系统的操作、(vii)根据正由复合信息处理系统执行的工作负载来动态地添加/移除/修改呈现给复合信息处理系统的计算资源集的资源、(viii)当解除分配状态相关的硬件装置时保留状态相关的硬件装置以用于未来分配,和/或(ix)与其他系统控制处理器协调以提供分布式系统功能。通过提供上述功能,根据本发明的一个或多个实施方案的系统控制处理器可以使得来自任何数目的信息处理系统的分布式资源能够聚合到复合信息处理系统中,以通过使用随时间动态地重新分配的计算资源执行工作负载来提供计算机实现的服务。
96.为了获得关于信息处理系统的硬件部件的信息,复合管理器(300)可以列出托管系统控制处理器的信息处理系统的部件清单。清单可以包括例如每个硬件部件的类型和型号,在硬件部件上执行的固件或其他代码的版本,和/或关于信息处理系统的硬件部件(例如,硬件装置)的信息,可以分配所述信息处理系统以形成复合信息处理系统。清单还可以指示每个硬件部件是状态相关的硬件部件还是状态无关的硬件部件。
97.复合管理器(300)可以从其他实体(例如,负责实例化复合信息处理系统的管理实体)获得复合请求,作为系统控制处理器的存储装置中存在的预加载指令,和/或通过其他方法获得。复合请求可以指定例如要分配给复合信息处理系统的计算资源的类型和数量,和/或现有的计算资源分配的变化。
98.在本发明的一个或多个实施方案中,复合请求使用基于意图的模型指定计算资源分配。例如,资源请求可以仅指定要实例化具有预定特性的复合信息处理系统,复合信息处理系统将执行某些工作负载或执行某些应用程序,和/或复合信息处理系统能够执行一个或多个预定功能,而非指定要分配给特定计算资源集以获得复合信息处理系统的特定硬件
装置(或其部分)。在此类场景中,复合管理器可以决定如何实例化复合信息处理系统(例如,分配哪些资源、如何分配所述资源(例如,虚拟化、仿真、冗余的工作负载执行、要采用的数据完整性模型等)、向哪个(哪些)计算资源集呈现对应的计算资源等)。
99.在本发明的一个或多个实施方案中,复合请求使用显式模型指定计算资源分配。例如,复合请求可以指定(i)要分配的资源,(ii)这些资源的呈现方式(例如,使用虚拟化资源仿真特定类型的装置对比直接到达硬件部件的路径),以及(iii)每个分配的资源要呈现到的计算资源集。
100.除了指定资源分配以外,复合请求还可以指定例如将由复合信息处理系统托管的应用程序、将由复合信息处理系统采用的安全模型、将由复合信息处理系统采用的通信模型、将提供给复合信息处理系统的服务、使用复合信息处理系统的用户/实体访问证书,和/或可用于通过执行对应工作负载将复合信息处理系统置于复合信息处理系统提供期望的计算机实现的服务的状态的其他信息。
101.为了基于复合请求准备资源并将其呈现给计算资源集,系统控制处理器可以实现例如抽象化、间接、虚拟化、映射、仿真,和/或可以用于将任何类型的资源呈现为能够由计算资源集进行裸机利用的资源的其他类型的服务。为了提供这些服务,复合管理器(300)可以调用物理资源管理器(302)、仿真资源管理器(304)和/或虚拟资源管理器(306)的功能。
102.当将资源呈现给计算资源集时,系统控制处理器(298)可以使用仿真数据平面来呈现资源。例如,系统控制处理器(298)可以接收裸机通信(例如,来自处理器的io),并且以与对应的裸机装置(例如,存储器)的响应一致的方式进行响应。当这样做时,系统控制处理器(298)可以将通信转换为动作。可以向系统控制处理器(298)使用的硬件装置提供动作,以将裸机资源呈现给计算资源集。反过来,硬件装置可以执行动作,所述动作使得复合信息处理系统提供期望的计算机实现的服务。
103.另外,系统控制处理器(298)可以在将状态相关装置呈现给计算资源时设置它们的状态。为此,系统控制处理器(298)可以利用恢复包,所述恢复包包括对硬件装置进行编程以根据状态进行操作所必需的信息,或者利用已经处于预定状态的硬件装置(例如,如果在先前分配用于执行工作负载时与当前分配用于执行工作负载时之间保留硬件装置)。可以通过发送一个或多个消息对硬件装置进行编程。所述消息可以使硬件装置例如用特定信息填充注册,修改操作设置,和/或以其他方式将硬件装置的操作修改为与硬件装置要匹配的状态所期望的操作一致。
104.在一些场景中,多个系统控制处理器可以协作以向计算资源集呈现裸机资源。例如,单个信息处理系统可能不包括足够的硬件装置来如复合请求所指定将一定数量和/或类型的资源呈现给计算资源集(例如,在单个信息处理系统仅包括单个存储装置时将两个存储装置呈现给计算资源集)。在此场景中,可操作地连接到系统控制处理器的第二信息处理系统的第二系统控制处理器可以准备其存储装置中的一个用于呈现,所述系统控制处理器负责向计算资源集呈现资源。一旦准备好,第二系统控制处理器可以与系统控制处理器通信,以使系统控制处理器能够将准备好的存储装置(即,信息处理系统中的存储装置)呈现给计算资源集。通过这样做,来自多个信息处理系统的资源可以被聚合以将期望数量的资源呈现给计算资源集,从而形成复合信息处理系统。
105.通过形成如上所述的复合信息处理系统,本发明的实施方案可以提供一种系统,
所述系统能够有效地利用跨一系列装置的分布式资源来提供计算机实现的服务。
106.在提供其功能时,复合管理器(300)可执行图5.1至图5.2中所示的方法的全部或部分。
107.在形成复合信息处理系统之后,客户端可以通过使用利用硬件装置提供的计算机实现的服务来开始使用复合信息处理系统的硬件装置。工作负载监测器(301)可以监测用于提供这些服务的计算资源的使用,以确定应该继续执行(例如,如果需要)还是暂停(例如,如果不需要)工作负载。
108.为此,工作负载监测器(301)可以(i)监测计算资源集的部件,所述计算资源集包括正在执行的动作、正在消耗的功率、发送的通信等、(ii)通过在计算资源集经过系统控制处理器(298)时拦截它们来监测来自去往其他硬件装置的计算资源集的(例如,硬件资源集、其他信息处理系统的其他计算资源集、外部资源等的)通信、(iii)将关于用于执行工作负载超时的计算资源的使用的信息存储在工作负载性能存储库(318)中、(iv)将工作负载性能信息提供到其他实体,例如系统控制处理器管理器,以及(v)在管理实体的指导下执行其他动作以帮助管理实体(例如,系统控制处理器管理器)确定继续还是暂停执行任何工作负载。因此,随着对各种工作负载的需求随时间推移而起伏,管理实体可能能够更好地分配图1.1的系统的有限计算资源来提供计算机实现的服务。所得计算机实现的服务可以具有更高的质量,可以限制或防止由于缺乏用于执行工作负载的计算资源而导致的幻影减速,和/或可以以其他方式提高用户对所提供的计算机实现服务的体验质量。
109.在提供其功能时,工作负载监测器(301)可以执行图5.1至图5.2中所示的方法的全部或部分。
110.物理资源管理器(302)可以管理对计算资源集的资源呈现。例如,物理资源管理器(302)可以生成例如指定要响应于从计算资源集获得的裸机通信而执行的动作的转换表。转换表可以用于响应于来自计算资源集的通信而采取行动。
111.物理资源管理器(302)可以基于计算资源集的部件、从计算资源集获得的分配或其他类型的命令/通信,以及被分配为服务计算资源集的信息处理系统的资源来生成转换表。例如,当向计算资源集呈现裸机资源时,它可以经历发现过程来准备裸机资源以供使用。随着发现过程的进行,计算资源集可以向裸机资源发送命令/通信,以例如发现其地址范围。物理资源管理器(302)可以监测此过程、适当地进行响应,并且基于这些命令和可用于对这些裸机命令/通信进行服务的资源来生成转换表。
112.例如,考虑一种场景,其中分配虚拟化磁盘以服务于来自计算资源集的裸机存储命令。在此种场景中,物理资源管理器(302)可以生成转换表,所述转换表将来自计算资源集的物理写入转换成对应于虚拟化磁盘的虚拟化写入。因此,系统控制处理器(298)可以使用虚拟化磁盘来向计算资源集呈现裸机资源。
113.物理资源管理器(302)还可以管理状态相关的硬件装置的状态。例如,物理资源管理器(302)可以设置状态相关的硬件装置的状态,可以导致反映硬件装置状态的信息(例如,恢复包)获得和/或提供给例如系统控制处理器管理器的其他实体。因此,当将状态相关的硬件装置分配到复合信息处理系统或从复合信息处理系统解除分配状态相关的硬件装置时,物理资源管理器(302)可以确保维护状态和关于状态相关装置的状态的信息。
114.仿真资源管理器(304)可以生成仿真表,所述仿真表使得原本与计算资源集不兼
容的资源能够与计算资源集兼容。计算资源集的不同类型的硬件装置可以与不同类型的软件装置兼容。因此,分配用于提供裸机资源的资源可能不一定与计算资源集的硬件装置兼容。仿真资源管理器(304)可以生成仿真表,所述仿真表将从计算资源集获得的裸机通信映射为与分配用于向计算资源集提供裸机资源的资源兼容的动作。
115.虚拟资源管理器(306)可以管理虚拟化资源,这些虚拟化资源可以分配用于向计算资源集提供裸机资源。例如,虚拟资源管理器(306)可以包括对虚拟化硬件资源的管理程序功能,并分配虚拟化资源的部分用于提供裸机资源。
116.虽然物理资源管理器(302)、仿真资源管理器(304)和虚拟资源管理器(306)已被描述为生成表,但系统控制处理器的这些部件可以生成其他类型的数据结构或利用不同的管理模型来提供它们各自的功能,而不偏离本发明。
117.可以单独和/或组合使用物理资源管理器(302)、仿真资源管理器(304)和虚拟资源管理器(306)的功能,以向计算资源集提供裸机资源。通过这样做,系统控制处理器(298)可以解决兼容性问题、大小问题以将可用资源与要分配的资源相匹配,和/或其他问题以使得裸机资源能够呈现给计算资源集。
118.当提供裸机资源时,复合管理器(300)可以调用物理资源管理器(302)、仿真资源管理器(304)和虚拟资源管理器(306)的功能。因此,资源可以经由直通(即,将io从计算资源集转发到硬件装置)、虚拟化资源的裸机资源寻址和/或作为与计算资源集的硬件部件兼容的仿真资源呈现为裸机资源。
119.可以使用包括例如消息传递、状态共享、存储器共享等任何通信模型来调用物理资源管理器(302)、仿真资源管理器(304)和虚拟资源管理器(306)的功能。
120.操作管理器(308)可以管理系统控制处理器(298)的一般操作。例如,操作管理器(308)可以作为管理系统控制处理器(298)的资源的操作系统或其他实体来操作。复合管理器(300)、工作负载监测器(301)、物理资源管理器(302)、仿真资源管理器(304)、虚拟资源管理器(306)和/或由系统控制处理器(298)托管的其他实体可以调用或以其他方式利用操作管理器(308)来获得适当的资源(例如,处理资源、存储器资源、存储装置、通信等)以提供它们的功能。
121.硬件资源服务(310)可以促进任何数目的硬件资源集(例如,110、图1.1)的硬件部件的使用。例如,硬件资源服务(310)可以包括驱动器功能,以适当地与硬件资源集的硬件装置通信。硬件资源服务(310)可以由例如操作管理器(308)调用。
122.在提供其功能时,系统控制处理器(298)的前述部件中的任一者可以执行图5.1至图5.2中所示的方法的全部或部分。
123.系统控制处理器(298)可以使用计算装置来实现。计算装置可以是例如嵌入式计算装置诸如片上系统、可操作地耦合到存储器和存储装置的处理装置,或另一类型的计算装置。计算装置可以包括一个或多个处理器、存储器(例如,随机存取存储器)以及持久性存储装置(例如,磁盘驱动器、固态驱动器等)。持久性存储装置可以存储计算机指令,例如计算机代码,所述计算机指令(在由计算装置的处理器执行时)使计算装置执行本技术中描述的系统控制处理器(298)的功能和/或图5.1至图5.2中所示的方法的全部或部分。在不脱离本发明的情况下,可以使用其他类型的计算装置来实现系统控制处理器(298)。关于计算装置的更多细节参见图7。
124.在本发明的一个或多个实施方案中,系统控制处理器(298)实现为板载装置。例如,系统控制处理器(298)可以使用包括安置在电路卡上的电路系统的芯片来实现。电路卡还可以托管由系统控制处理器(298)管理的计算资源集和/或硬件资源集。
125.在本发明的一个或多个实施方案中,使用包括电路系统的硬件装置来实现复合管理器(300)、工作负载监测器(301)、物理资源管理器(302)、仿真资源管理器(304)、虚拟资源管理器(306)、操作管理器(308)和/或硬件资源服务(310)中的任一者。硬件装置可以是例如数字信号处理器、现场可编程门阵列,或专用集成电路。电路系统可以适于使硬件装置执行复合管理器(300)、工作负载监测器(301)、物理资源管理器(302)、仿真资源管理器(304)、虚拟资源管理器(306)、操作管理器(308)和/或硬件资源服务(310)的功能。在不脱离本发明的情况下,可以使用其他类型的硬件装置来实现复合管理器(300)、工作负载监测器(301)、物理资源管理器(302)、仿真资源管理器(304)、虚拟资源管理器(306)、操作管理器(308)和/或硬件资源服务(310)。
126.在本发明的一个或多个实施方案中,复合管理器(300)、工作负载监测器(301)、物理资源管理器(302)、仿真资源管理器(304)、虚拟资源管理器(306)、操作管理器(308)和/或硬件资源服务(310)中的任一者使用处理器来实现,所述处理器适于执行存储在持久性存储装置(例如,作为系统控制处理器(298)的一部分或可操作地连接到系统控制处理器(298),从而使系统控制处理器(298)的处理器能够获得并且执行计算代码)上的计算代码,所述计算代码在由处理器执行时执行复合管理器(300)、工作负载监测器(301)、物理资源管理器(302)、仿真资源管理器(304)、虚拟资源管理器(306)、操作管理器(308)和/或硬件资源服务(310)的功能。处理器可以是硬件处理器,包括例如中央处理单元或微控制器的电路系统。在不脱离本发明的情况下,处理器可以是用于处理数字信息的其他类型的硬件装置。
127.如本文所使用,被编程为执行功能(例如,步骤、动作等)的实体是指提供所述功能的一个或多个硬件装置(例如,处理器、数字信号处理器、现场可编程门阵列、专用集成电路等)。可以通过例如能够执行使硬件装置提供功能的计算机指令(例如,计算机代码)来将硬件装置编程为执行功能。在另一示例中,硬件装置可以被编程为通过具有已经被适配(例如,被修改)以执行功能的电路系统来执行功能。被编程为执行功能的实体不包括独立于任何硬件装置的计算机指令。计算机指令可以用于对硬件装置进行编程,所述硬件装置在被编程时提供功能。
128.在本文公开的一个或多个实施方案中,使用提供数据存储服务(例如,存储数据和提供先前存储的数据的副本)的物理装置来实现存储装置(312)。提供数据存储服务的装置可以包括硬件装置和/或逻辑装置。例如,存储装置(312)可以包括任何数量和/或组合的存储器装置(即,易失性存储装置)、长期存储装置(即,持久性存储装置)、可以提供短期和/或长期数据存储服务的其他类型的硬件装置和/或逻辑存储装置(例如,虚拟持久性存储装置/虚拟易失性存储装置)。
129.例如,存储装置(312)可以包括存储器装置(例如,双列直插式存储器装置),其中存储数据并且从所述存储器装置提供先前存储的数据的副本。在另一示例中,存储装置(312)可以包括持久性存储装置(例如,固态盘驱动器),其中存储数据并且从所述持久性存储装置提供先前存储的数据的副本。在又一示例中,存储装置(312)可以包括(i)存储器装
置(例如,双列直插式存储器装置),其中存储数据并且从所述存储器装置提供先前存储的数据的副本,以及(ii)持久性存储装置,其存储存储在存储器装置中的数据的副本(例如,在断电或可能影响其维护数据副本的能力的存储器装置的其他问题导致存储器装置丢失数据的情况下提供数据的副本)。
130.存储装置(312)也可以使用逻辑存储装置来实现。可以使用一个或多个物理存储装置来实现逻辑存储装置(例如,虚拟磁盘),使用软件层分配所述一个或多个物理存储装置的存储资源(全部或部分)进行使用。因此,逻辑存储装置可以包括物理存储装置和在处理器或分配物理存储装置的存储资源的其他硬件装置上执行的实体。
131.存储装置(312)可以存储数据结构,所述数据结构包括例如复合信息处理系统数据(314)、资源映射(316)和工作负载性能存储库(318)。下面将讨论这些数据结构中的每一个。
132.复合信息处理系统数据(314)可以使用一个或多个数据结构来实现,所述数据结构包括关于复合信息处理系统的信息。例如,复合信息处理系统数据(314)可以指定复合信息处理系统的标识符以及已经分配给复合信息处理系统的资源。
133.复合信息处理系统数据(314)还可以包括关于复合信息处理系统的操作的信息。所述信息可以包括例如工作负载性能数据、随时间的资源利用率,和/或可以用于管理复合信息处理系统的操作的其他信息。
134.复合信息处理系统数据(314)还可以包括关于系统控制处理器所采用的管理模型的信息。例如,复合信息处理系统数据(314)可以包括关于为数据完整性目的而存储的重复数据、为满足高可用性服务要求而冗余执行的工作负载、用于防止数据的未经授权访问的加密方案等的信息。
135.复合信息处理系统数据(314)可以由例如复合管理器(300)维护。例如,复合管理器可以添加、移除和/或修改包括在复合信息处理系统数据(314)中的信息,以使包括在复合信息处理系统(314)中的信息反映复合信息处理系统的状态。
136.复合信息处理系统数据(314)的数据结构可以使用例如列表、表、非结构化数据、数据库等来实现。虽然在图3中被示出为在本地存储,但是在不脱离本发明的情况下,复合信息处理系统数据(314)可以远程存储并且可以跨任数目的装置分布。
137.资源映射(316)可以使用一个或多个数据结构来实现,这些数据结构包括关于信息处理系统和/或其他信息处理系统的资源的信息。例如,资源映射(316)可以指定可用于分配和/或已经分配给复合信息处理系统的资源(例如,硬件装置、虚拟化装置等)的类型和/或数量。资源映射(316)可以用于向例如系统控制处理器管理器的管理实体提供数据。
138.资源映射(316)的数据结构可以使用例如列表、表、非结构化数据、数据库等来实现。虽然在图3中被示出为在本地存储,但是在不脱离本发明的情况下,资源映射(316)可以远程存储并且可以跨任何数目的装置分布。
139.资源映射(316)可以由例如复合管理器(300)维护。例如,复合管理器(300)可以添加、移除和/或修改包括在资源映射(316)中的信息,以使包括在资源映射(316)中的信息反映信息处理系统和/或其他信息处理系统的状态。
140.工作负载性能存储库(318)可以使用一个或多个数据结构实现,所述数据结构包括关于计算资源的信息,所述计算资源用于随时间执行由复合信息处理系统托管的工作负
载。例如,工作负载性能存储库(318)可以指定工作负载的标识符、用于执行工作负载的硬件部件的标识符,以及可以用于在工作负载与用于随时间执行工作负载的计算资源之间建立关系的其他类型的信息。
141.工作负载性能存储库(318)可以指定计算资源的使用,以通过任何方法随时间执行工作负载。例如,工作负载性能存储库(318)映射可以指定在各个时间点使用的计算资源的数量、随时间的计算资源利用率、提供用于执行工作负载的计算资源的硬件装置的功耗等。在不脱离本发明的情况下,工作负载性能存储库(318)可以包括用于量化用于执行工作负载的计算资源的使用的其他类型的信息。
142.工作负载存储库(318)可以由例如工作负载监测器(301)维护。例如,工作负载监测器(301)可以添加、移除和/或修改包括在工作负载性能存储库(318)中的信息,以使包括在工作负载性能存储库(318)中的信息反映用于在任何时间段上执行工作负载的计算资源的消耗。因此,包括在工作负载性能存储库(318)中的信息可以指示对各种计算机实现的服务和对应工作负载的相对需求水平。
143.工作负载性能存储库(318)的数据结构可以使用例如列表、表、非结构化数据、数据库等来实现。虽然在图3中示出为在本地存储,但是在不脱离本发明的情况下,工作负载性能存储库(318)可以远程存储并且可以跨任何数目的装置分布。
144.虽然存储装置(312)已经被示出和描述为包括有限数目和类型的数据,但是在不脱离本发明的情况下,根据本发明的实施方案的存储装置可以存储附加、更少和/或不同的数据。
145.虽然系统控制处理器(298)已经被示出和描述为包括有限数目的特定部件,但是在不脱离本发明的情况下,根据本发明的实施方案的系统控制处理器可以包括附加、更少和/或不同的部件。
146.如上所述,系统控制处理器管理器可以与控制资源集的系统控制处理器配合,以通过将来自硬件资源集的计算资源作为裸机资源呈现给计算资源集的处理器对复合信息处理系统进行实例化和/或重新复合。图4示出了根据本发明的一个或多个实施方案的系统控制处理器管理器(50)的图。
147.系统控制处理器管理器(50)可以管理对复合信息处理系统进行实例化和/或重新复合的过程,以管理计算机实现的服务的工作负载的性能。为此,系统控制处理器管理器(50)可以包括基础结构管理器(402)、工作负载管理器(404)和存储装置(410)。下文论述这些部件中的每一者。
148.基础结构管理器(402)可以提供复合和/或重新复合服务。这些服务可以包括获得对复合信息处理系统的复合/重新复合请求;确定要分配以对复合信息处理系统进行实例化和/或重新复合的资源;与系统控制处理器配合以分配识别的资源;当对复合信息处理系统执行的工作负载的需求较低(例如,降低到阈值或其他条件以下)时,从这些系统中解除分配计算资源;并且通过将未分配的计算资源分配给不同的池来管理这些计算资源,这些池控制(例如,限制/约束)资源是否可以被分配用于不同的目的。通过这样做,基础结构管理器(402)可以通过管理用于计算机实现的服务的对应工作负载的性能和用于执行工作负载的分配而使得使用复合信息处理系统提供任何数目的计算机实现的服务。
149.为了确定分配给复合信息处理系统的资源,基础结构管理器(402)可以采用基于
意图的模型,所述模型将在复合请求中表达的意图转换为计算资源的一个或多个分配。例如,基础结构管理器(402)可以利用基于结果的计算资源需求查找表来将所表达的意图与要分配为满足所述意图的资源相匹配。基于结果的计算资源需求查找表可以指定类型、数量、管理方法和/或关于在聚合时将能够满足对应意图的任何数目的计算资源的其他信息。在不脱离本发明的情况下,基础结构管理器(402)可以识别用于分配的资源,以通过其他方法满足复合请求。
150.为了与系统控制处理器协作,基础结构管理器(402)可以获得关于任何数目的信息处理系统的计算资源和/或可用于分配的外部资源的遥测数据。基础结构管理器(402)可以将此数据聚合在遥测数据映射(412)中,所述遥测数据映射随后可以用于识别任何数目的信息处理系统的资源和/或外部资源以满足复合请求(例如,实例化一个或多个复合信息处理系统以满足复合请求的要求,重新复合现有复合信息处理系统)。
151.当确定要分配到复合信息处理系统的资源时,基础结构管理器(402)可以考虑基于不同计算资源在相应池中的成员资格而对这些计算资源施加的限制。不同池可能对何时以及如何可以分配计算资源具有不同的限制。例如,一些池可能会将作为这些池的成员的计算资源的分配限制为仅用于执行特定类型的工作负载。因此,可以分配到复合信息处理系统(例如,用于实例化和/或重新复合)的计算资源可能比那些尚未分配的计算资源更有限。
152.当基础结构管理器(402)识别出要分配的计算资源时,基础结构管理器(402)可以与任何数目的系统控制处理器通信,以实现所识别的分配。例如,基础结构管理器(402)可以向控制资源集的系统控制处理器通知硬件资源集的部分将被分配给计算资源集以实例化复合信息处理系统。系统控制处理器然后可以响应于所述通知而采取动作(例如,准备硬件资源集的部分以呈现给计算资源集的处理器)。
153.随着复合信息处理系统被实例化,基础结构管理器(402)可以向复合基础结构映射(414)添加反映分配给复合信息处理系统的资源、正由复合信息处理系统执行的工作负载的信息和/或其他类型的信息。基础结构管理器(402)和/或工作负载管理器(404)可以利用此信息来例如决定是应该将计算资源添加到复合信息处理系统还是应该从复合信息处理系统移除计算资源。因此,可以动态地重新提供计算资源,以满足施加在复合信息处理系统上的变化的工作负载。
154.在本发明的一个或多个实施方案中,基础结构管理器(402)使用包括电路系统的硬件装置来实现。硬件装置可以是例如数字信号处理器、现场可编程门阵列,或专用集成电路。电路系统可以适于使硬件装置执行基础结构管理器(402)的功能。在不脱离本发明的情况下,基础结构管理器(402)可以使用其他类型的硬件装置来实现。
155.在本发明的一个或多个实施方案中,使用处理器来实现基础结构管理器(402),所述处理器适于执行存储在持久性存储装置上的计算代码,所述计算代码在由处理器执行时执行基础结构管理器(402)的功能。处理器可以是硬件处理器,包括例如中央处理单元或微控制器的电路系统。在不脱离本发明的情况下,处理器可以是用于处理数字信息的其他类型的硬件装置。
156.在提供其功能时,基础结构管理器(402)可执行图5.1至图5.2中所示的方法的全部或部分。
157.工作负载管理器(404)可以提供计算资源分配管理服务。计算资源分配管理服务可以包括(i)获得关于工作负载的性能的信息,所述信息可以用于确定对此类服务的需求、(ii)基于所获得的信息来分配和/或解除分配计算资源,以及(iii)维护可用于状态相关的硬件部件的状态管理目的的信息。通过这样做,工作负载管理器(404)可以改进用于提供计算机实现的服务的资源的分配。
158.工作负载管理器(404)可以从系统控制处理器获得关于工作负载的性能的信息。例如,复合信息处理系统的系统控制处理器可以向系统控制管理器报告此种信息。一旦获得,工作负载管理器(404)就可以将工作负载性能信息存储在工作负载管理存储库(416)中。
159.工作负载管理器(404)可以基于由工作负载管理存储库(416)中包括的信息指示的对此类服务的需求,确定将计算资源分配到复合信息处理系统还是从复合信息处理系统解除分配计算资源。例如,工作负载管理器(404)可以监测包括在工作负载管理存储库(416)中的信息,以识别对一个或多个工作负载的需求是否触发资源的分配或解除分配。例如,可以通过将实际需求与预定阈值或其他类型的触发条件进行比较来进行识别。
160.当触发分配时,工作负载管理器(404)可以调用基础结构管理器(402)的功能,以识别计算资源并将计算资源分配到已经或将执行触发分配的工作负载的复合信息处理系统。例如,可以实例化新的复合信息处理系统,或者可以将额外的计算资源分配到执行工作负载的复合信息处理系统的现有实例。
161.当触发解除分配时,工作负载管理器(404)可以调用基础结构管理器(402)的功能,以从执行触发解除分配的工作负载的复合信息处理系统中识别和解除分配计算资源。当发生解除分配时,可以针对解除分配的任何状态相关的硬件装置生成恢复包并将恢复包存储在恢复包存储库(418)中。另外,当发生解除分配时,可以将反映每个解除分配的计算资源的保留状态(例如,新空闲资源是哪个池的成员)的信息添加到工作负载管理存储库(416)。
162.对资源池的上述指派可以形成用于管理计算资源的分配的保留系统。保留系统可以基于将由硬件装置可以被分配到的系统执行的工作负载而限制分配任何数目的硬件装置的能力。例如,当解除分配正在执行工作负载的状态相关的硬件装置时,可以将恢复包添加到恢复包存储库(418),并且可以将状态相关的硬件装置添加到用于在解除分配之前正在执行的工作负载的保留池。因此,将状态相关的硬件部件保留用于将来仅分配到所述工作负载,而可以将其他硬件部件指派给可自由分配的池,从而使它们能够分配用于执行任何类型的工作负载。
163.在提供其功能时,工作负载管理器(404)可以执行图5.1至图5.2中所示的方法的全部或部分。
164.在本文公开的一个或多个实施方案中,使用提供数据存储服务(例如,存储数据和提供先前存储的数据的副本)的物理装置来实现存储装置(410)。提供数据存储服务的装置可以包括硬件装置和/或逻辑装置。例如,存储装置(410)可以包括任何数量和/或组合的存储器装置(即,易失性存储装置)、长期存储装置(即,持久性存储装置)、可以提供短期和/或长期数据存储服务的其他类型的硬件装置和/或逻辑存储装置(例如,虚拟持久性存储装置/虚拟易失性存储装置)。
165.例如,存储装置(410)可以包括存储器装置(例如,双列直插式存储装置),其中存储数据并且从所述存储器装置提供先前存储的数据的副本。在另一个示例中,存储装置(410)可以包括持久性存储装置(例如,固态盘驱动器),其中存储数据并且从所述持久性存储装置提供先前存储的数据的副本。在又一示例中,存储装置(410)可以包括(i)存储器装置(例如,双列直插式存储器装置),其中存储数据并且从所述存储器装置提供先前存储的数据的副本,以及(ii)持久性存储装置,其存储存储在存储器装置中的数据的副本(例如,在断电或可能影响其维护数据副本的能力的存储器装置的其他问题导致存储器装置丢失数据的情况下提供数据的副本)。
166.存储装置(410)也可以使用逻辑存储装置来实现。可以使用一个或多个物理存储装置来实现逻辑存储装置(例如,虚拟磁盘),使用软件层分配所述一个或多个物理存储装置的存储资源(全部或部分)进行使用。因此,逻辑存储装置可以包括物理存储装置和在处理器或分配物理存储装置的存储资源的其他硬件装置上执行的实体。
167.存储装置(410)可以存储数据结构,包括例如遥测数据映射(412)、复合基础结构映射(414)、工作负载管理存储库(416)和恢复包存储库(418)。这些数据结构可以由例如基础结构管理器(402)和/或工作负载管理器(404)维护。例如,基础结构管理器(402)和/或工作负载管理器(404)可以添加、移除和/或修改包括在这些数据结构中的信息以使得包括在这些数据结构中的信息反映任何数目的信息处理系统、外部资源和/或复合信息处理系统的状态。
168.在本发明的一些实施方案中,工作负载管理存储库(416)可以包括指定以下项的表:(i)工作负载需求和(ii)关于计算资源的分配的限制。例如,考虑表1,它示出基于工作负载的预留表的一部分。基于工作负载的预留表包括第2列中适用于第1列中列出的硬件装置的限制。如第2行中看到,计算加速器1被限制为分配到正在执行数据库工作负载(例如,在从现有的复合信息处理系统解除分配之前使用计算加速器执行的工作负载)的复合信息处理系统。相反,第3行指示可以将处理器1自由地分配到执行任何工作负载的任何复合信息处理系统。
169.表1基于示例性工作负载的保留表
170.硬件装置限制计算加速器1保留用于数据库工作负载处理器1可自由分配
171.在另一示例中,考虑表2,它示出工作负载需求表的一部分。工作负载需求表在第3列中包括第1列中指定的工作负载的实例数。工作负载需求表还基于对工作负载性能的监测而指定第2列中的每个相应工作负载的需求。如表2中的示例中看到,在存在类似数目的实例时,对即时消息工作负载的需求较高,但对数据库工作负载的需求较低。在此示例中,工作负载管理器(404)将采取行动,以通过暂停一个或多个工作负载来减少数据库工作负载的实例数,并且从执行暂停的工作负载的复合信息处理系统解除分配计算资源。因此,工作负载管理器(404)可以更新表1以反映解除分配的计算资源现在是空闲的,但是如果适当的话(例如,如果解除分配状态相关的硬件装置),则解除分配的计算资源可能受到分配。
172.表2基于示例性工作负载的保留表
173.工作负载需求实例
即时消息高3数据库低3
174.恢复包存储库(418)可以包括任何数目的恢复包,这些恢复包可用于将状态相关的硬件装置置于允许恢复先前执行和暂停的工作负载的状态。例如,恢复包可以包括可用于对状态相关的装置进行编程以使其恢复先前状态的信息。恢复包存储库(418)可以包括任何数目和类型的恢复包(例如,数据结构)。
175.这些数据结构中的任一者可以使用例如列表、表、非结构化数据、数据库等来实现。虽然在图4中被示出为在本地存储,但是在不脱离本发明的情况下,这些数据结构中的任一个可以远程存储并且可以跨任何数目的装置分布。
176.虽然存储装置(410)已经被示出和描述为包括有限数目和类型的数据,但是在不脱离本发明的情况下,根据本发明的实施方案的存储装置可以存储附加、更少和/或不同的数据。
177.虽然系统控制处理器管理器(50)已经示出和描述为包括有限数目的特定部件,但是在不脱离本发明的情况下,根据本发明的实施方案的系统控制处理器管理器与图4中所示的那些相比可以包括附加、更少和/或不同的部件。
178.如上所述,图1.1的系统可以通过动态分配和解除分配复合信息处理系统的计算资源来使用复合信息处理体系提供计算机实现的服务。图5.1示出了根据本发明的一个或多个实施方案的方法的流程图。可以执行图5.1中所描绘的方法以根据本发明的一个或多个实施方案从复合信息处理系统解除分配计算资源。图5.1中所示的方法可以由例如系统控制处理器管理器(例如,50,图1.1)的硬件部件的使用。在不脱离本发明的情况下,图1.1中的系统的其他部件可以执行图5.1的方法的全部或部分。
179.虽然图5.1被示出为一系列步骤,但是在不脱离本发明的情况下,可以省略所述步骤中的任一者,可以以不同的顺序执行所述步骤,可以包括附加步骤,和/或所述步骤中的任一者或全部可以并行执行和/或以部分重叠的方式执行。
180.在步骤500中,监测复合信息处理系统对工作负载的执行以获得性能信息。可以通过从复合信息处理系统的系统控制处理器获得工作负载性能信息来监测工作负载。性能信息可以指示对工作负载的需求。
181.在步骤502中,基于性能信息确定是否应该暂停执行一个或多个工作负载。可以通过例如将性能信息与指定是否应该暂停执行一个或多个工作负载的一个或多个标准进行比较来进行确定。
182.例如,标准可以指定,当工作负载的需求降低到预定阈值以下时,应该暂停执行一个或多个工作负载。在不脱离本发明的情况下,可以使用其他类型的标准进行确定。
183.如果确定应该暂停执行一个或多个工作负载,则方法可以前进到步骤504。否则,方法可以在步骤502之后结束。
184.在步骤504中,生成用于执行一个或多个工作负载的复合信息处理系统的恢复包。可以通过指示复合信息处理系统的系统控制处理器生成恢复包来获得恢复包。恢复包可以包括可以用于恢复复合信息处理系统的一个或多个状态相关的硬件装置的状态的任何数量的信息。可以将状态相关的硬件装置恢复到的状态可以是紧接在暂停执行计算机实现的服务(例如,解除分配状态)之前的上述状态相关的硬件装置的状态。
185.在步骤506中,将复合信息处理系统的至少一个计算资源解除分配到保留池。所述至少一个计算资源可以是在步骤504中为其生成恢复包的一个或多个状态相关的硬件装置。
186.解除分配至少一个计算资源可以使复合信息处理系统释放至少一个计算资源。换句话说,复合信息处理系统可以不再使用所述至少一个计算资源。
187.可以通过指示复合信息处理系统的系统控制处理器释放至少一个计算资源来解除分配至少一个计算资源。作为响应,系统控制处理器可以将至少一个计算资源从复合信息处理系统的可见范围中移除。例如根据由复合信息处理系统的控制平面操作的装置管理模型,系统控制处理器可以这样做。因此,至少一个计算资源的释放可以是根据操作控制平面实体的优雅释放。
188.保留池可以指定,保留池的成员仅可以分配用于执行先前由保留池的成员执行的工作负载。将至少一个计算资源解除分配到保留池因此保留至少一个计算资源用于未来分配,以恢复执行在步骤502中暂停的工作负载。
189.在步骤508中,将复合信息处理系统的剩余计算资源解除分配到可自由分配的池。剩余计算资源可以对应于复合信息处理系统的所有剩余计算资源或复合信息处理系统的所有剩余计算资源的子集(在希望保留复合信息处理系统的某些功能的场景中)。
190.解除分配复合信息处理系统的剩余计算资源可以终止执行在步骤502中暂停的工作负载中的一个。可以以类似于关于步骤506所描述的方式解除分配剩余计算资源。然而,可以将剩余计算资源解除分配到可自由分配的池,所述可自由分配的池不会对剩余计算资源的分配施加限制。因此,一旦解除分配到可自由分配的池,就可以将剩余计算资源分配到执行其他类型的工作负载的其他复合信息处理系统。
191.所述方法可以在步骤508之后结束。
192.使用图5.1中所示的方法,可以通过某种方式从复合信息处理系统解除分配计算资源,所述方式可能实现快速地且有效地恢复执行由于解除分配而暂停的工作负载。例如,通过保留一些计算资源并且获得对应恢复包,可以在与为其生成恢复包的复合信息处理系统的状态一致的状态下实例化新的复合信息处理系统。
193.例如,恢复包可以包括可用于对一个或多个硬件装置进行编程以将硬件装置置于预定状态的数据的表。在例如图形处理单元的情况下,表可以包括填充着色器或恢复重复计算所需的其他原子处理单元所需的信息。
194.转向图5.2,图5.2示出了根据本发明的一个或多个实施方案的方法的流程图。可以执行图5.2中所描绘的方法以根据本发明的一个或多个实施方案将计算资源分配到复合信息处理系统。图5.2中所示的方法可以由例如系统控制处理器管理器(例如,50,图1.1)的硬件部件的使用。在不脱离本发明的情况下,图1.1中的系统的其他部件可以执行图5.2的方法的全部或部分。
195.虽然图5.2被示出为一系列步骤,但是在不脱离本发明的情况下,可以省略所述步骤中的任一者,可以以不同的顺序执行所述步骤,可以包括附加步骤,和/或所述步骤中的任一者或全部可以并行执行和/或以部分重叠的方式执行。
196.在步骤510中,识别工作负载恢复事件的发生。例如,所述发生可能是例如对满足一个或多个标准的工作负载(已暂停执行)的需求。工作负载恢复事件可以基于工作负载需
求随时间的变化(例如,工作负载需求的增加)来识别。如关于图5.1所论述,可以监测各种工作负载随时间的需求。因此,可以基于监测确定需求的变化。
197.在步骤512中,将保留池的至少一个计算资源分配到新的复合信息处理系统。至少一个计算资源可以是状态相关的硬件装置。状态相关的硬件装置可能在暂停执行工作负载之前已经执行工作负载(例如,通过步骤502)。
198.可以通过将分配指令发送到新的复合信息处理系统的系统控制处理器来分配至少一个计算资源。作为响应,如关于图3所论述,系统控制处理器可以准备并且向复合信息处理系统的其他计算资源呈现至少一个计算资源。
199.在步骤514中,将其他计算资源从可自由分配的池分配到新的复合信息处理系统。可以类似地将其他计算资源分配到保留池的至少一个计算资源。然而,对于先前是否使用其他计算资源来执行工作负载可能没有限制。其他计算资源可以是状态相关的计算资源,例如处理器或存储器。因此,在分配到新的复合信息处理系统之前,其他计算资源可能已经用于执行其他类型的工作负载。
200.在将至少一个计算资源和其他计算资源分配到新的复合信息处理系统之后,新的复合消息处理系统可能能够操作。然而,可能已经分配到新的复合信息处理系统的一个或多个状态相关的硬件装置的状态可能不同于状态相关的硬件装置的先前状态(例如,由于故意或非故意的状态丢失,例如状态相关的硬件装置的功率循环)。
201.在步骤516中,使用新的复合信息处理系统和恢复包恢复复合信息处理系统的状态,以获得恢复的复合信息处理系统。可以通过使用状态恢复包对至少一个计算资源进行编程来恢复状态。通过这样做,可以将保留池的至少一个计算资源置于其先前操作以服务于工作负载的状态。因此,新的复合信息处理系统的状态可以与在解除分配其计算资源之前复合信息处理系统的状态相匹配。因此,当恢复的复合信息处理系统开始操作时,它可以这样做,好像在其计算资源被解除分配之前没有发生任何事情。
202.在步骤518中,使用恢复的复合信息处理系统执行与恢复事件相关联的工作负载,以提供计算机实现的服务。可能先前已经暂停执行与恢复事件相关联的工作负载。通过使用恢复的复合信息处理系统执行工作负载,计算机实现的服务可能是期望的,因为它们可能与工作负载在暂停执行之前提供的服务相匹配。
203.所述方法可以在步骤518之后结束。
204.使用图5.2中所示的方法,本发明的实施方可以使先前已经暂停执行的工作负载恢复执行。系统可以使用保留的资源和/或关于用于执行工作负载的状态相关的硬件装置的先前状态的信息来这样做。
205.为进一步阐明本发明的实施方案,图6.1至图6.4中提供非限制性示例。图6.1至6.4示出了与图1.1中所示的系统类似的系统。由所示系统的部件执行的动作由部分地使用虚线互连的带编号的圆框示出。为简洁起见,仅图1.1的系统的限制数目的部件在图6.1至图6.4中示出。
206.示例
207.考虑如图6.1中所示的场景,其中客户端(602)在步骤1处向管理两个信息处理系统(610、620)的系统控制处理器管理器(600)发送服务请求。服务请求指定要为客户端提供数据库服务。
208.响应于复合请求,在步骤2处,系统控制处理器管理器(600)将客户端的意图(例如,获得数据库服务)转换为复合信息处理系统提供服务的计算资源列表。列表包括信息处理系统a(610)的系统控制处理器(614)、计算资源集a(612)和计算加速单元(616)。
209.基于列表,在步骤3处,系统控制处理器管理器(600)生成复合请求并且将复合请求发送到信息处理系统a(610)的系统控制处理器(614),所述复合请求指示将用计算加速单元(616)呈现计算资源集a(612)以实例化复合信息处理系统以提供数据库服务。
210.响应于指令,在步骤4处,系统控制处理器(614)识别出将向计算资源集a(612)呈现计算加速单元(616)。为了准备用于分配的计算加速单元(616),在步骤5处,系统控制处理器(614)将计算加速单元(616)的状态设置为与系统控制处理器(614)出于通信目的使用的驱动程序一致。系统控制处理器(614)然后在步骤6中将计算加速单元(616)分配到复合信息处理系统。
211.一旦计算加速单元(616)准备好进行呈现,系统控制处理器(614)在步骤7处将计算加速单元(616)作为裸机资源呈现给计算资源集a(612)。因此,在步骤8处,计算资源集a(612)通过将数据库相关任务卸载到计算加速单元(616)来识别并开始使用计算加速单元(616)。因此,复合系统开始将请求的数据库服务提供到客户端(602)。当这样做时,计算加速单元(616)的状态随时间变化以提供其功能。因此,计算加速度单元(616)的操作变得取决于其状态。
212.转向图6.2,随着时间的推移,对数据库服务的需求开始下降。作为响应,在步骤9处,系统控制处理器管理器(600)确定由于对数据库服务的需求较低,应该解除分配复合系统以释放计算资源来执行其他任务。为此,系统控制处理器管理器(600)在步骤10处将解除分配指令发送到系统控制处理器(614)。
213.响应于解除分配指令,系统控制处理器(614)在步骤11处准备通过生成计算加速单元(616)的恢复包来解除分配计算加速单元。一旦生成恢复包并且存储恢复包以供未来使用,系统控制处理器(614)在步骤12中将计算加速单元(616)解除分配到用于数据库服务的保留池。
214.在步骤13中,系统控制处理器(614)确定计算资源集a(612)不是状态相关的。因此,在步骤14中,系统控制处理器(614)将计算资源集a(612)解除分配到可自由分配的池,所述可自由分配的池包括信息处理系统b(620)的所有资源(例如,622、624、626)。
215.转向图6.3,系统控制处理器管理器(600)在步骤15中确定对即时消息服务的需求增加,从而触发先前暂停的即时消息服务恢复。因此,在步骤16中,系统控制处理器管理器(600)指示系统控制处理器(614)使用计算资源集a(612)实例化复合信息处理系统,以提供即时消息服务。
216.在步骤17中,系统控制处理器(614)准备用于分配的计算资源集a (612),因为计算资源集a(612)在计算资源的可自由分配的池中。在步骤18中,将计算资源集a (612)分配到开始提供即时消息服务的新的复合信息处理系统实例。
217.转向图6.4,随着时间的推移,对数据库服务的需求增加,这导致系统控制处理器管理器(600)确定应该恢复先前暂停的数据库工作负载。作为响应,在步骤19处,系统控制处理器识别出计算加速单元(616)和系统控制处理器(614)可用于分配。如上所述,将计算加速单元(616)解除分配到保留池,从而将其保留用于恢复,而相比之下,计算资源集a
(612)已经出于其他目的进行重新分配。
218.基于计算加速单元(616)的识别,系统控制处理器管理器(600)在步骤20中生成分配指令并将分配指令发送导系统控制处理器(614)。分配指令将系统控制处理器(614)分配到新的复合信息处理系统以提供恢复的数据库服务。
219.作为响应,系统控制管理器(614)在步骤21中使用恢复包对计算加速单元(616)进行编程,以将其置于与数据库服务的恢复一致的状态。
220.在步骤22中,系统控制处理器管理器(600)识别出信息处理系统b(620)的所有资源是空闲的(即,可自由分配的资源池中的成员),包括计算资源集b(622)、系统控制处理器(624)和存储类存储器(626)。因此,系统控制处理器管理器(600)在步骤23中生成提供到系统控制处理器(624)的第二复合请求。第二复合请求指定将计算资源集b(622)分配到复合信息处理系统的新实例。
221.作为响应,在步骤24处,系统控制处理器(624)将计算加速单元(616)作为裸机资源呈现给计算资源集b(622),从而在与数据库服务的恢复一致的状态下实例化复合信息处理系统的新实例。因此,新的复合信息处理系统能够借助于计算加速单元(616)的状态立即恢复执行数据库服务。
222.示例结束
223.因此,如图6.1至图6.4中所示,本发明的实施方案可以提供一种系统,通过调整分配用于提供计算机实现的服务的计算机实现的服务数量以匹配随时间提供计算机实现的服务的计算资源需求,所述系统使计算资源能够有效地用于提供期望的计算机实现的服务。由于对服务的需求随时间改变,因此可以解除分配各种计算资源以释放这些计算资源用于重新分配,而可以保留一些解除分配的资源用于将来重新分配以提供服务。因此,可以快速地恢复已经临时暂停的服务,同时仍允许出于其他目的重新分配计算资源。
224.如上所述,本发明的实施方案可以使用计算装置实现。图7示出了根据本发明的一个或多个实施方案的计算装置的图。计算装置(700)可以包括一个或多个计算机处理器(702)、非持久性存储装置(704)(例如,易失性存储器,例如随机存取存储器(ram)、高速缓存存储器)、持久性存储装置(706)(例如,硬盘、例如压缩盘(cd)驱动器或数字通用光盘(dvd)驱动器的光盘驱动器、闪存存储器等)、通信接口(712)(例如,接口、红外接口、网络接口、光学接口等)、输入装置(710)、输出装置(708),以及许多其他元件(未示出)和功能。以下描述这些部件中的每一者。
225.在本发明的一个实施方案中,计算机处理器(702)可以是用于处理指令的集成电路。例如,计算机处理器可以是处理器的一个或多个核心或微核心。计算装置(700)还可以包括一个或多个输入装置(710),例如触摸屏、键盘、鼠标、麦克风、触控板、电子笔或任何其他类型的输入装置。另外,通信接口(712)可以包括用于将计算装置(700)连接到网络(未示出)(例如,局域网(lan)、例如互联网的广域网(wan)、移动网络或任何其他类型的网络)和/或另一个装置,例如另一个计算装置的集成电路。
226.在本发明的一个实施方案中,计算装置(700)可以包括一个或多个输出装置(708),例如屏幕(例如,液晶显示器(lcd)、等离子体显示器、触摸屏、阴极射线管(crt)监测器、投影仪,或其他显示装置)、打印机、外部存储装置或任何其他输出装置。输出装置中的一个或多个可以与输入装置相同或不同。输入装置和输出装置可以在本地或远程地连接至
计算机处理器(702)、非持久性存储装置(704),以及持久性存储装置(706)。存在许多不同类型的计算系统,并且上述输入装置和输出装置可以采用其他形式。
227.本发明的实施方案可以提供一种用于动态地实例化复合信息处理系统的系统和方法。具体来说,本发明的实施方案可以提供一种系统,所述系统在对复合信息处理系统所提供的服务的需求随时间改变时实例化和停用复合信息处理系统。当停用先前提供计算机实现的服务的复合信息处理系统时,可以将解除分配的计算资源划分成不同池。一些池可以允许解除分配的计算资源自由地进行重新分配,而其他池可以限制可以如何重新分配计算资源。因此,系统可以提高可以根据部分地使用保留池中的计算资源的需求水平快速地恢复计算机实现的服务的可能性。
228.因此,本发明的实施方案可以解决分布式系统中用于执行工作负载的计算资源有限的问题。例如,通过保留一些计算资源来执行将来可能恢复的工作负载,系统可以允许其他资源的自由重新分配,同时还提高可以快速地恢复执行工作负载以满足需求的可能性。
229.上文论述的问题应被理解为是由本发明的实施方案解决的问题的示例,并且本发明不应限制于解决相同/相似的问题。所公开的发明可广泛地应用于解决本文所讨论的问题之外的一系列问题。
230.本发明的一个或多个实施方案可以使用由计算装置的一个或多个处理器执行的指令来实现。此外,此类指令可以对应于存储在一个或多个非暂时性计算机可读介质上的计算机可读指令。
231.虽然上面已经关于有限数目的实施方案描述本发明,但是受益于本公开的本领域的技术人员将理解,在不脱离本发明范围的情况下可以设想其他实施方案。因此,本发明的范围应仅由所附权利要求限制。

技术特征:
1.一种用于使用利用信息处理系统实例化的复合信息处理系统执行工作负载的系统控制处理器管理器,所述系统控制处理器管理器包括:持久性存储装置;以及工作负载管理器,所述工作负载管理器被编程为:获得所述工作负载中的工作负载的性能信息;基于所述性能信息做出暂停执行所述工作负载的确定;响应于所述确定:将执行所述工作负载的复合信息处理系统的第一计算资源解除分配到保留池;以及将所述复合信息处理系统的第二计算资源解除分配到可自由分配的池。2.如权利要求1所述的系统控制处理器管理器,其中所述第一计算资源包括基于状态操作的至少一个状态相关的硬件装置。3.如权利要求2所述的系统控制处理器管理器,其中所述状态相关的硬件装置包括图形处理单元。4.如权利要求2所述的系统控制处理器管理器,其中所述状态相关的硬件装置包括计算加速单元。5.如权利要求2所述的系统控制处理器管理器,其中所述第二计算资源不包括任何状态相关的硬件装置。6.如权利要求4所述的系统控制处理器管理器,其中所述第二计算资源包括通用处理器。7.如权利要求4所述的系统控制处理器管理器,其中所述第二计算资源包括存储器模块。8.如权利要求1所述的系统控制处理器管理器,其中所述工作负载管理器还被编程为:生成所述复合信息处理系统的恢复包,所述恢复包包括可用于设置所述第一计算资源的状态的数据。9.如权利要求8所述的系统控制处理器管理器,其中所述恢复包包括在解除分配所述第一计算资源之前存储在所述第一计算资源中的数据。10.如权利要求8所述的系统控制处理器管理器,其中所述工作负载管理器还被编程为:在基于所述可自由分配的池解除分配所述第二计算资源之后,将所述第二计算资源分配到所述复合信息处理系统中的任一个。11.如权利要求1所述的系统控制处理器管理器,其中所述工作负载管理器还被编程为:在解除分配所述第一计算资源和所述第二计算资源之后:识别所述工作负载的工作负载恢复事件的发生;响应于识别所述发生:将所述第一计算资源从所述保留池分配到新的复合信息处理系统;将第三计算资源从所述可自由分配的池分配到所述新的复合信息处理系统;恢复所述第一计算资源的状态以匹配所述第一计算资源的解除分配状态,从而获得恢复的复合信息处理系统;以及
使用所述恢复的复合信息处理系统执行所述工作负载以提供计算机实现的服务。12.如权利要求11所述的系统控制处理器管理器,其中所述新的复合信息处理系统包括计算资源集、硬件资源集和包括系统控制处理器的控制资源集。13.如权利要求12所述的系统控制处理器管理器,其中所述控制资源集将所述硬件资源集的抽象化计算资源作为裸机资源呈现给所述计算资源集。14.如权利要求13所述的系统控制处理器管理器,其中在将所述第一计算资源分配到所述新的复合信息处理系统之后,所述硬件资源集包括所述第一计算资源。15.一种用于使用利用信息处理系统实例化的复合信息处理系统执行工作负载的方法,所述方法包括:获得所述工作负载中的工作负载的性能信息;基于所述性能信息做出暂停执行所述工作负载的确定;响应于所述确定:将执行所述工作负载的复合信息处理系统的第一计算资源解除分配到保留池;以及将所述复合信息处理系统的第二计算资源解除分配到可自由分配的池。16.如权利要求15所述的方法,还包括在解除分配所述第一计算资源和所述第二计算资源之后:识别所述工作负载的工作负载恢复事件的发生;响应于识别所述发生:将所述第一计算资源从所述保留池分配到新的复合信息处理系统;将第三计算资源从所述可自由分配的池分配到所述新的复合信息处理系统;恢复所述第一计算资源的状态以匹配所述第一计算资源的解除分配状态,从而获得恢复的复合信息处理系统;以及使用所述恢复的复合信息处理系统执行所述工作负载以提供计算机实现的服务。17.如权利要求16所述的方法,其中所述新的复合信息处理系统包括计算资源集、硬件资源集和包括系统控制处理器的控制资源集。18.一种非暂时性计算机可读介质,其包括计算机可读程序代码,所述计算机可读程序代码在由计算机处理器执行时使所述计算机处理器能够执行用于使用利用信息处理系统实例化的复合信息处理系统执行工作负载的方法,所述方法包括:获得所述工作负载中的工作负载的性能信息;基于所述性能信息做出暂停执行所述工作负载的确定;响应于所述确定:将执行所述工作负载的复合信息处理系统的第一计算资源解除分配到保留池;以及将所述复合信息处理系统的第二计算资源解除分配到可自由分配的池。19.如权利要求18所述的非暂时性计算机可读介质,其中所述方法还包括:在解除分配所述第一计算资源和所述第二计算资源之后:识别所述工作负载的工作负载恢复事件的发生;响应于识别所述发生:将所述第一计算资源从所述保留池分配到新的复合信息处理系统;将第三计算资源从所述可自由分配的池分配到所述新的复合信息处理系统;
恢复所述第一计算资源的状态以匹配所述第一计算资源的解除分配状态,从而获得恢复的复合信息处理系统;以及使用所述恢复的复合信息处理系统执行所述工作负载以提供计算机实现的服务。20.如权利要求19所述的非暂时性计算机可读介质,其中所述新的复合信息处理系统包括计算资源集、硬件资源集和包括系统控制处理器的控制资源集。

技术总结
一种用于使用利用信息处理系统实例化的复合信息处理系统执行工作负载的系统控制处理器管理器包括持久性存储装置和工作负载管理器。所述工作负载管理器获得所述工作负载中的工作负载的性能信息;基于所述性能信息做出暂停执行所述工作负载的确定;响应于所述确定:将执行所述工作负载的复合信息处理系统的第一计算资源解除分配到保留池;并且将所述复合信息处理系统的第二计算资源解除分配到可自由分配的池。自由分配的池。自由分配的池。


技术研发人员:W
受保护的技术使用者:戴尔产品有限公司
技术研发日:2021.04.28
技术公布日:2023/8/9
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐