CN114327852A - 基于性能和成本来平衡大型机和分布式工作负载 - Google Patents
基于性能和成本来平衡大型机和分布式工作负载 Download PDFInfo
- Publication number
- CN114327852A CN114327852A CN202111144906.7A CN202111144906A CN114327852A CN 114327852 A CN114327852 A CN 114327852A CN 202111144906 A CN202111144906 A CN 202111144906A CN 114327852 A CN114327852 A CN 114327852A
- Authority
- CN
- China
- Prior art keywords
- workload
- platform
- data
- control module
- computer
- 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.)
- Pending
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06315—Needs-based resource requirements planning or analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/501—Performance criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5015—Service provider selection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5017—Task decomposition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- General Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
Abstract
在用于平衡大型机和分布式工作负载的方法中,处理器接收将应用工作负载分配给大型机平台和分布式计算平台的请求。应用工作负载包括多个工作单元。处理器收集与应用工作负载、大型机平台和分布式计算平台相关联的性能和成本数据。处理器基于对性能和成本数据的分析来确定针对应用工作负载的多个工作单元的大型机平台和分布式计算平台。处理器分配应用工作负载的多个工作单元分别在大型机平台和分布式计算平台上运行,以实时平衡性能和成本。
Description
背景技术
本公开总体上涉及大型机和分布式计算领域,并且更具体地涉及分配应用工作负载以在大型机平台和分布式计算平台上运行。
大型机可以是被设计为快速处理非常大量的数据的大型计算机系统。大型机系统可广泛用于诸如金融部门、航空公司预订、物流和其他领域的行业中,其中大量交易需要作为常规商业实践的一部分来处理。分布式计算机系统可由在多个计算机上但作为单个系统运行的多个软件组件组成。分布式系统中的计算机可以在物理上靠近在一起并且通过局域网连接,或者它们可以在地理上远离并且通过广域网连接。分布式系统可以由任何数量的可能配置组成,诸如大型机、个人计算机、工作站、小型计算机等。分布式计算的目标是使这样的网络作为单个计算机工作。
发明内容
本公开的实施例的各方面公开了一种用于平衡大型机和分布式工作负载的方法。处理器接收将应用工作负载分配给大型机平台和分布式计算平台的请求。应用工作负载包括多个工作单元。处理器收集与应用工作负载、大型机平台和分布式计算平台相关联的性能和成本数据。处理器基于对性能和成本数据的分析来确定用于应用工作负载的多个工作单元的大型机平台和分布式计算平台。处理器分配应用工作负载的多个工作单元分别在大型机平台和分布式计算平台上运行,以实时平衡性能和成本。
附图说明
图1是示出根据本公开的实施例的工作负载控制环境的功能框图。
图2是描绘根据本公开的实施例的图1的计算设备内的工作负载控制模块的操作步骤的流程图。
图3是根据本公开的实施例的应用图1的工作负载控制模块的示例环境。
图4是根据本公开的实施例的图1的工作负载控制模块的示例性功能图。
图5是描绘根据本公开的实施例的图1的工作负载控制模块的操作步骤的示例性架构图。
图6是描绘根据本公开的实施例的图1的工作负载控制模块的操作步骤的示例性功能图。
图7是描绘根据本公开的实施例的图1的工作负载控制模块和驻留模块的操作步骤的示范性功能图。
图8是描绘根据本公开的实施例的图1的工作负载控制模块的操作步骤的示例性功能图。
图9是根据本公开的实施例的图1的计算设备的组件的框图。
图10描绘了根据本公开的云计算环境的实施例。
图11描绘了根据本公开的云计算环境的抽象模型层的实施例。
具体实施方式
本公开涉及用于基于性能和成本来平衡大型机和分布式工作负载的系统和方法。
本公开的实施例认识到需要确定使用大型机或分布式(例如,任何非大型机)计算平台来构建应用。本公开的实施例认识到需要决定整个应用是否将转到大型机或分布式平台,和/或应用的一部分是否可以在大型机平台上运行而另一部分是否可以在分布式平台上运行。本公开的实施例认识到需要理解与大型机和分布式解决方案一起工作的利弊并且关注一个或另一个的使用。本公开的实施例进一步认识到需要在大型机或分布式环境上分配微服务解决方案。这两个平台可以基于可靠性、成本、性能和安全性提供不同的益处。
本公开的实施例公开了一种解决方案,该解决方案能够基于所使用的成本模型、性能度量和可用性来实时地支持应用的一部分是否能够运行在大型机上或者能够临时转到分布式环境的决策。本公开的实施例公开了收集和处理来自各种数据源的数据,以使得能够基于所处理的相关信息来做出在大型机或分布式系统上运行可用应用的决策。相关信息的一些样本可包括处理成本、等待时间、吞吐量和可用性。本公开的实施例公开了在仍然实现性能、吞吐量和用户要求的性能度量的同时降低应用处理成本。本公开的实施例公开了评估来自大型机环境的应用工作负载,将工作负载分成逻辑块,并且基于资源消耗对活动进行排名。本公开的实施例公开了通过发送将由分布式环境处理的工作负载的一部分来标识节省成本的机会。本公开的实施例公开了分析历史表现数据以帮助做出未来决定。
现在将参考附图详细描述本公开。图1是示出根据本公开的实施例的工作负载控制环境(一般指定为100)的功能框图。
在所描绘的实施例中,工作负载控制环境100包括计算设备102、应用工作负载104、大型机平台110、分布式计算平台112、数据储存库106和网络108。
在一个或多个实施例中,应用工作负载104可以是部署在不同计算平台或环境(例如,大型机平台110和/或分布式计算平台112)中的应用或服务。该服务可以是包括彼此结合工作的数百个微服务的大规模服务或适度的个体服务。应用工作负载104可以是构成分立应用的工作的所有个体能力和单元。应用工作负载104可以在不同计算平台或环境(例如,大型机平台110和/或分布式计算平台112)中运行。应用工作负载104可以用性能来评估(例如,大型机平台110和/或分布式计算平台112可以如何容易地处理应用工作负载104),其又通常被分为响应时间(用户请求和对来自平台的请求的响应之间的时间)和吞吐量(在一段时间内完成多少工作)。应用工作负载104可以是可被执行的独立服务或代码集合。应用工作负载104可以跨计算机资产(例如,大型机平台110和/或分布式计算平台112)来执行。应用工作负载104可以包括在特定时间段内需要由计算机资源完成的工作量。
在一个或多个实施例中,大型机平台110可以是包括一个或多个大型计算机(或可交换称为大型机)以及大型机的操作、集成和接口的方面的大型机环境。大型机可以是通常已知用于大尺寸、存储量、处理能力和高度可靠性的计算机类型。大型机构可以将大型机用于需要大量数据处理的任务关键应用。大型机可以具有运行(或托管)多个操作系统的能力。大型机可在不中断的情况下添加或热交换系统容量。大型机可以被设计成处理非常高容量的输入和输出(I/O)并且强调吞吐量计算。大型机可以是大型服务器。大型机可以支持成千上万的应用和输入/输出设备以同时服务成千上万的用户。大型机可以是企业数据处理中心中的中央数据储存库或中枢,其通过诸如工作站或终端之类的不太强大的设备链接到用户。大型机可以托管商业数据库、交易服务器和应用,这些商业数据库、交易服务器和应用需要比通常在更小规模的机器上发现的更大程度的安全性和可用性。大型机可以是大型组织用于关键应用、批量数据处理(诸如人口普查、行业和消费者统计、企业资源规划和交易处理)的计算机。
主框架平台110可基于可靠性、成本、性能和安全性来提供不同的益处。在所描绘的实施例中,大型机平台110包括驻留器116。驻留器116可以收集和提供大型机平台110的资源和系统数据,以便在例如由计算设备102上的工作负载控制模块114请求时访问。资源和系统数据可以包括性能和容量数据。驻留器116可以监视和跟踪大型机资源以向工作负载控制模块114报告回性能和使用统计,以及在大型机平台110中运行的工作负载。可选地,驻留器116还可以与其他逻辑分区中的其他驻留器通信,以合并被发送到工作负载控制模块114的数据。
在一个或多个实施例中,分布式计算平台112可以是分布式计算环境,其组件可以位于不同的联网计算机上。出于说明的目的,分布式计算平台112可以是除大型机平台之外的任何平台。分布式计算平台112可包括多个分布式计算机,这些分布式计算机可通过彼此传递消息来传送和协调动作。分布式计算平台112可以包括被集成以朝着开发的目标紧密地工作的多个组件(例如,目录服务、文件服务、安全服务)。这些目标可以包括构建定制应用或向其他应用提供支持。分布式计算平台112中的组件可彼此交互以便实现共同目标。分布式计算平台112可以包括在隐藏各个分布式计算机之间的差异的现有操作系统之上构建的架构、标准服务集和应用程序。分布式计算平台112可以支持单个分布式系统中分布式应用的开发和使用。
分布式计算平台112可以提供各种益处,包括例如开源解决方案、更快的部署时间和更大的知识库。大型机平台110和分布式计算平台112可以具有不同的基础设施支持要求。大型机平台110可使用集中式计算方法。大型机平台110的许多基础设施元件可以已经被包括并且可以被内部共享。分布式计算平台112可以依赖于共享的基础设施。分布式计算平台112上的分布式应用的元素可被部署在分开的服务器上并且可通过网络来连接。
在一个或多个实施例中,数据储存库106可以包括并保存来自大型机平台110、分布式计算平台112和应用工作负载104的数据。数据储存库106可以包括性能和成本数据。例如,性能和成本数据可包括使用、成本、等待时间和吞吐量数据。性能和成本数据可以是过程优先级、处理索引、数据要求、连接性、系统亲和性、服务器健康、管理和商业数据。例如,性能和成本数据可以是包括使用、服务器数量、响应时间、成本、连接和大型机平台110和分布式计算平台112的吞吐量的信息。可以从大型机平台110的数据系统管理和资源管理数据中收集性能和成本数据。工作负载控制模块114可以收集并处理来自各种数据源的数据,以使得能够基于所处理的相关信息来做出在大型机或分布式系统(例如,大型机平台110和分布式计算平台112)上运行可用应用的决策。相关信息的一些样本可包括处理成本、等待时间、吞吐量和可用性。性能和成本数据可以包括进程优先级、处理索引(例如,预期消耗多少CPU应用工作负载104)、数据要求(例如,数据库访问、文件访问)、连通性和系统亲和性。性能和成本数据可包括服务器健康数据,例如,连接性、可用性、处理速度和容量、存储器、I/O速率、成本和联网。工作负载控制模块114可收集并分析管理和业务数据(例如,关键性能指数、成本模型和应用和系统阈值)以确定工作负载控制模块114在布置处理应用工作负载104所需的组件的各种异构环境中运行的位置。工作负载控制模块114可以更新与数据存储库106中的应用工作负载104相关联的历史数据。工作负载控制模块114可处理和更新数据储存库106以更新做出决策信息数据。
在本公开的不同实施例中,计算设备102可以是膝上型计算机、平板计算机、上网本计算机、个人计算机(PC)、台式计算机、移动电话、智能电话、智能手表、可穿戴计算设备、个人数字助理(PDA)或服务器。在另一实施例中,计算设备102表示利用集群计算机和组件来充当单个无缝资源池的计算系统。在其他实施例中,计算设备102可以表示诸如云计算环境中利用多个计算机作为服务器系统的服务器计算系统。一般而言,根据本公开的实施例,计算设备102可以是访问工作负载控制模块114和网络108的任何计算设备或设备的组合,并且能够处理程序指令和执行工作负载控制模块114。计算设备102可包括内部和外部硬件组件,如关于图9进一步详细描绘和描述的。在所描绘的实施例中,计算设备102位于外部并通过通信网络(诸如网络108)来访问。然而,在其他实施例中,计算设备102可以位于大型机平台110、分布式计算平台112、或通过通信网络(诸如网络108)访问的任何其他合适的地方。
进一步,在所描绘的实施例中,计算设备102包括工作负载控制模块114。在所描绘的实施例中,工作负载控制模块114位于计算设备102上。然而,在其他实施例中,工作负载控制模块114可位于外部并通过通信网络(诸如网络108)来访问。通信网络可以是例如局域网(LAN)、诸如互联网的广域网(WAN)或两者的组合,并且可以包括有线、无线、光纤或本领域已知的任何其他连接。一般而言,根据本公开的期望实施例,通信网络可以是将支持计算设备102和工作负载控制模块114之间的通信的连接和协议的任何组合。
在一个或多个实施例中,工作负载控制模块114被配置为接收将应用工作负载104分配给大型机平台110和分布式计算平台112的请求。在示例中,工作负载控制模块114可以从用户接收分配应用工作负载104的请求。在另一示例中,工作负载控制模块114可以自动接收要分配给大型机平台110和分布式计算平台112的应用工作负载104。应用工作负载104可以包括待分配以分别在大型机平台110和分布式计算平台112上运行的多个工作单元。每个工作单元可以是可在大型机平台110和分布式计算平台112上运行的应用工作负载104的逻辑件。工作负载控制模块114可针对与待处理的应用工作负载104有关的信息来检查数据储存库106。例如,工作负载控制模块114可以搜索与应用工作负载104相关联的数据和信息,包括例如应用工作负载104来自的系统或网络、操作系统、所需组件(例如,网络、I/O、存储器、CPU)、系统亲和性和优先级信息(例如,从应用工作负载104本身或数据储存库106获取)。工作负载控制模块114可确定与应用工作负载104相关的任何历史数据是否存在于数据储存库106中。如果工作负载控制模块114确定与应用工作负载104有关的一些历史数据存在于数据储存库106中,则工作负载控制模块114可以进一步验证与应用工作负载有关的历史数据。如果工作负载控制模块114确定在数据储存库106中不存在与应用工作负载104有关的历史数据,则工作负载控制模块114可以将应用工作负载104的优先级与有资格的平台(例如,大型机平台110和分布式计算平台112)的处理能力进行比较。工作负载控制模块114可以执行对每个合格平台(例如,大型机平台110和分布式计算平台112)中运行的应用工作负载104的成本估计。
在一个或多个实施例中,工作负载控制模块114被配置为收集与大型机平台110、分布式计算平台112和应用工作负载104相关联的性能和成本数据。工作负载控制模块114可分析并处理所收集的性能和成本数据。性能和成本数据可以来自数据存储库106。所收集的数据可进一步在数据储存库106中保存和更新。性能和成本数据可包括使用、成本、等待时间和吞吐量数据。性能和成本数据可以处理优先级、处理索引、数据要求、连接性、系统亲和性、服务器健康、管理和商业数据。例如,性能和成本数据可以是包括使用、服务器数量、响应时间、成本、连接和大型机平台110和分布式计算平台112的吞吐量的信息。可以从大型机平台110的数据系统管理和资源管理数据中收集性能和成本数据。工作负载控制模块114可以收集并处理来自各种数据源的数据,以使得能够基于所处理的相关信息来做出关于在大型机或分布式系统(例如,大型机平台110和分布式计算平台112)上运行可用应用的决策。相关信息的一些样本可包括处理成本、等待时间、吞吐量、可用性和其他。工作负载控制模块114可收集用户输入数据和偏好以与来自大型机平台110和分布式计算平台112的性能和成本数据进行比较。工作负载控制模块114可以收集并分析来自各种源的数据,以收集与应用工作负载104相关联的性能和成本数据。性能和成本数据可以包括进程优先级、处理索引(例如,预期消耗多少CPU应用工作负载104)、数据要求(例如,数据库访问、文件访问)、连接性、系统亲和性。性能和成本数据可包括服务器健康数据,例如,连接性、可用性、处理速度和容量、存储器、I/O速率、成本和联网。工作负载控制模块114可收集并分析管理和业务数据(例如,关键性能指数、成本模型和应用和系统阈值)以确定工作负载控制模块114在布置处理应用工作负载104所需的组件的各种异构环境中运行的位置。
在一个或多个实施例中,工作负载控制模块114被配置为基于与应用工作负载104相关联的性能和成本数据和要求的分析来确定用于应用工作负载的多个工作单元的大型机平台110和分布式计算平台112。工作负载控制模块114可以针对应用工作负载104的多个工作单元为每个符合条件的平台(例如大型机平台110和分布式计算平台112)确定优先级。工作负载控制模块114可评估应用工作负载104。工作负载控制模块114可以在逻辑块(例如,工作单元)中分解应用工作负载104。工作负载控制模块114可基于资源消耗对应用工作负载104中的工作单元的活动进行排序。工作负载控制模块114可基于成本模型通过发送应用工作负载104的部分以由分布式环境(例如,分布式计算平台112)处理来识别节省成本的机会。工作负载控制模块114可分析经处理数据并且基于数据的大小、日期和时间、过程奇点和其他因素来确定合适的平台来执行工作。工作负载控制模块114可基于确宪定优先级的平台(例如,大型机平台110和分布式计算平台112)来确定路由应用工作负载104的目标环境。工作负载控制模块114可以通过应用应用工作负载104的性能和成本要求来确定目标环境来执行性能和成本评估。工作负载控制模块114可以分别为应用工作负载104的多个工作单元中的每一个选择大型机和分布式计算平台。目标环境可以包括大型机平台110和分布式计算平台112,其中应用工作负载的多个工作单元104被分配给目标环境。当工作负载控制模块114确定两个或更多个环境提供相同的成本时,工作负载控制模块114可针对与应用工作负载104相关联的工作负载的类型选择具有较高性能历史的选项。当工作负载控制模块114确定两个或更多个环境提供相同的性能特性时,工作负载控制模块114可选择具有较低成本的选项。工作负载控制模块114可基于较低成本、较好性能或任何其他性能或业务指示符来选择计算平台。工作负载控制模块114可以定义性能或业务指示符,例如,针对一些类型的工作负载的“以成本为中心”的解决方案和针对其他工作负载的“以性能为中心”的解决方案。工作负载控制模块114可查询处理环境以获得额外数据,例如处理时间、I/O计数和存储器使用。工作负载控制模块114可处理和更新数据储存库106以更新决策信息数据。
在一个或多个实施例中,工作负载控制模块114配置成分配应用工作负载104的多个工作单元以分别在大型机平台110和分布式计算平台112上运行,从而实时地平衡性能和成本。例如,工作负载控制模块114可分解多个工作单元,并且可基于成本模型发送一些工作单元来在分布式计算平台112上处理,以避免超过基于消耗的大型机成本。工作负载控制模块114可将应用工作负载104分配给可包括大型机平台110和分布式计算平台112的目标环境。工作负载控制模块114可以将应用工作负载104的每个工作单元分配给目标环境,例如,相应的大型机平台110和分布式计算平台112。工作负载控制模块114可以基于分配给应用工作负载104的目标环境来更新历史数据。工作负载控制模块114可基于来自用户的输入数据(例如,性能、成本)的改变来分配应用工作负载104。工作负载控制模块114可分配具有动态混合平台程序的应用工作负载104,所述动态混合平台程序可根据应用工作负载104正在运行的时刻每次在服务器的不同组合中运行(例如,使用收集和处理的数据来决定)。工作负载控制模块114可以分析关于如何在大型机平台110和分布式计算平台112之间分割应用工作负载104的评估历史,以持续地学习用于平衡性能、可靠性和成本的解决方案。
图2是描绘根据本公开的实施例的工作负载控制模块114的操作步骤的流程图200。
工作负载控制模块114操作以接收将应用工作负载104分配给大型机平台110和分布式计算平台112的请求。工作负载控制模块114还操作以收集与大型机平台110、分布式计算平台112和应用工作负载104相关联的性能和成本数据。工作负载控制模块114操作以基于对与应用工作负载104相关联的性能和成本数据以及要求的分析来确定针对应用工作负载104的多个工作单元的大型机平台110和分布式计算平台112。工作负载控制模块114进行操作以分配应用工作负载104的多个工作单元以分别在大型机平台110和分布式计算平台112上运行,从而实时地平衡性能和成本。
在步骤202中,工作负载控制模块114接收将应用工作负载104分配给大型机平台110和分布式计算平台112的请求。在示例中,工作负载控制模块114可以从用户接收分配应用工作负载104的请求。在另一示例中,工作负载控制模块114可以自动接收要分配给大型机平台110和分布式计算平台112的应用工作负载104。应用工作负载104可以包括待分配以分别在大型机平台110和分布式计算平台112上运行的多个工作单元。每个工作单元可以是可在大型机平台110和分布式计算平台112上运行的应用工作负载104的逻辑件。工作负载控制模块114可针对与待处理的应用工作负载104有关的信息来检查数据储存库106。例如,工作负载控制模块114可以搜索与应用工作负载104相关联的数据和信息,包括例如系统或网络(其中应用工作负载104来自的)、操作系统、所需组件(例如,网络、I/O、存储器、CPU)、系统亲和性和优先级信息(例如,从应用工作负载104本身或数据储存库106获取的)。工作负载控制模块114可确定与应用工作负载104相关的任何历史数据是否存在于数据储存库106中。如果工作负载控制模块114确定与应用工作负载104有关的一些历史数据存在于数据储存库106中,则工作负载控制模块114可以进一步验证与应用工作负载有关的历史数据。如果工作负载控制模块114确定在数据储存库106中不存在与应用工作负载104有关的历史数据,则工作负载控制模块114可以将应用工作负载104的优先级与有资格的平台(例如,大型机平台110和分布式计算平台112)的处理能力进行比较。工作负载控制模块114可以执行对每个合格平台(例如,大型机平台110和分布式计算平台112)中运行的应用工作负载104的成本估计。
在步骤204中,工作负载控制模块114收集与大型机平台110、分布式计算平台112和应用工作负载104相关联的性能和成本数据。工作负载控制模块114可分析并处理所收集的性能和成本数据。性能和成本数据可以来自数据存储库106。所收集的数据可进一步在数据储存库106中保存和更新。性能和成本数据可包括使用、成本、等待时间和吞吐量数据。性能和成本数据可以处理优先级、处理索引、数据要求、连接性、系统亲和性、服务器健康、管理和商业数据。例如,性能和成本数据可以是包括使用、服务器数量、响应时间、成本、连接和大型机平台110和分布式计算平台112的吞吐量的信息。可以从大型机平台110的数据系统管理和资源管理数据中收集性能和成本数据。工作负载控制模块114可以收集并处理来自各种数据源的数据,以使得能够基于所处理的相关信息来做出关于在大型机或分布式系统(例如,大型机平台110和分布式计算平台112)上运行可用应用的决策。相关信息的一些样本可包括处理成本、等待时间、吞吐量、可用性和其他。工作负载控制模块114可收集用户输入数据和偏好以与来自大型机平台110和分布式计算平台112的性能和成本数据进行比较。工作负载控制模块114可以收集并分析来自各种源的数据,以收集与应用工作负载104相关联的性能和成本数据。性能和成本数据可以包括进程优先级、处理索引(例如,预期消耗多少CPU应用工作负载104)、数据要求(例如,数据库访问、文件访问)、连接性、系统亲和性。性能和成本数据可包括服务器健康数据,例如,连接性、可用性、处理速度和容量、存储器、I/O速率、成本和联网。工作负载控制模块114可收集并分析管理和业务数据(例如,关键性能指数、成本模型和应用和系统阈值)以确定工作负载控制模块114在布置处理应用工作负载104所需的组件的各种异构环境中运行的位置。
在步骤206中,工作负载控制模块114基于对与应用工作负载104相关联的性能和成本数据以及要求的分析,确定应用工作负载104的多个工作单元的大型机平台110和分布式计算平台112。工作负载控制模块114可以针对应用工作负载104的多个工作单元确定每个符合条件的平台(例如大型机平台110和分布式计算平台112)的优先级。工作负载控制模块114可评估应用工作负载104。工作负载控制模块114可以在逻辑块(例如,工作单元)中分解应用工作负载104。工作负载控制模块114可基于资源消耗对应用工作负载104中的工作单元的活动进行排序。工作负载控制模块114可基于成本模型通过发送应用工作负载104的部分以由分布式环境(例如,分布式计算平台112)处理来标识节省成本的机会。工作负载控制模块114可分析经处理数据并且基于数据的大小、日期和时间、过程奇点和其他因素来确定合适的平台来执行工作。工作负载控制模块114可基于确定优先级的的平台(例如,大型机平台110和分布式计算平台112)来确定路由应用工作负载104的目标环境。工作负载控制模块114可以执行应用应用工作负载104的性能和成本要求的性能和成本评估以确定目标环境。工作负载控制模块114可以为应用工作负载104的多个工作单元中的每一个分别选择大型机和分布式计算平台。目标环境可以包括大型机平台110和分布式计算平台112,其中应用工作负载的多个工作单元104被分配给目标环境。当工作负载控制模块114确定两个或更多个环境提供相同的成本时,工作负载控制模块114可针对与应用工作负载104相关联的工作负载的类型选择具有较高性能历史的选项。当工作负载控制模块114确定两个或更多个环境提供相同的性能特性时,工作负载控制模块114可选择具有较低成本的选项。工作负载控制模块114可基于较低成本、较好性能或任何其他性能或业务指示符来选择计算平台。工作负载控制模块114可以定义性能或业务指示符,例如,针对一些类型的工作负载的“以成本为中心”的解决方案和针对其他工作负载的“以性能为中心”的解决方案。工作负载控制模块114可查询处理环境以获得额外数据,例如处理时间、I/O计数和存储器使用。工作负载控制模块114可处理和更新数据储存库106以更新决策信息数据。
在步骤208中,工作量控制模块114分配应用工作负载104的多个工作单元分别在大型机平台110和分布式计算平台112上运行,以实时平衡性能和成本。例如,工作负载控制模块114可分解多个工作单元,并且可基于成本模型发送一些工作单元来在分布式计算平台112上处理,以避免超过基于消耗的大型机成本。工作负载控制模块114可将应用工作负载104分配给可包括大型机平台110和分布式计算平台112的目标环境。工作负载控制模块114可以将应用工作负载104的每个工作单元分配给目标环境,例如,相应的大型机平台110和分布式计算平台112。工作负载控制模块114可以基于分配给应用工作负载104的目标环境来更新历史数据。工作负载控制模块114可基于来自用户的输入数据(例如,性能、成本)的改变来分配应用工作负载104。工作负载控制模块114可分配具有动态混合平台程序的应用工作负载104,所述动态混合平台程序可根据应用工作负载104正在运行的时刻每次在服务器的不同组合中运行(例如,使用收集和处理的数据来决定)。分配应用工作负载104可以分析关于如何在大型机平台110和分布式计算平台112之间分割应用工作负载104的评估历史,以连续地学习用于平衡性能、可靠性和成本的解决方案。
图3是根据本公开的实施例的应用工作负载控制模块114的示例环境。
在图3的示例中,用户或组织需要确定在大型机平台110与分布式计算平台112之间在何处运行应用工作负载104。需要考虑的因素包括可靠性302、成本304、复杂性306、开源308和其他合适的考虑。例如,用户可能需要决定整个应用工作负载104是否将转到大型机平台110或分布式计算平台112。在另一示例中,用户可能需要决定应用工作负载104的一部分是否可以在大型机平台110上运行和应用工作负载104的另一部分是否可以在分布式计算平台112上运行。工作负载控制模块114被配置成基于所使用的成本模型、性能度量、可用性等实时地支持应用工作负载104的一部分是否可以在大型机平台110上运行和/或应用工作负载104的另一部分是否可以在分布式计算平台112上运行的决定。
图4是根据本公开的实施例的工作负载控制模块114的示例性功能图。
在图4的示例中,工作负载控制模块114可以在确定和分配应用工作负载104以在大型机平台110和分布式计算平台112之间运行时收集并分析各种源数据。源数据可以来自或关于例如分布式资源402、系统性能404、数据分析406、成本数据408、成本模型410、历史使用412和大型机资源414。
图5是示出根据本公开的实施例的工作负载控制模块114的操作步骤的示例性架构图。
在图5的示例中,用户502可以请求将应用工作负载104分配给大型机平台110和分布式计算平台112。工作负载控制模块114可作为前线机制工作以提供决策信息,环境将接收应用工作负载104。应用工作负载104可进一步由负载平衡器504控制和平衡。负载平衡器504可将一组任务分布在一组资源(例如,计算单元)上,目的是使总体处理更有效。负载平衡器504可优化每个任务的响应时间,从而避免计算节点不均匀地过载而其他计算节点保持空闲。工作负载控制模块114可以通过分配器506将应用工作负载104发送到大型机平台110。分配器506可以扩展动态虚拟IP地址(VIPA)和自动VIPA接管的概念,以允许目标服务器之间的负载分配。分配器506可在一组可用服务器之间最佳地分配传入连接请求。为了确定对应用工作负载104的合适性,工作负载控制模块114可以从每个环境(例如,多云管理平台)接收信息,该多云管理平台保持关于在其管理下的各种云的数据,包括服务器的数量、响应时间、成本、连接性和容量。
当工作负载控制模块114接收新工作负载(例如,应用工作负载104)时,工作负载控制模块114可针对与待处理的工作相关的信息来检查数据储存库106。该信息可以包括其中应用工作负载来自的系统或网络、操作系统、所需组件(网络、I/O、存储器、CPU)、系统亲和性和优先级。在确定应用工作负载104的资源和优先级要求之后,工作负载控制模块114可从数据存储库106拉取性能/业务/成本/关键度数据以确定对待处理的工作的合适性。工作负载控制模块114可以请求对合格环境的新查询以刷新数据储存库106中的性能和资源数据。当工作负载控制模块114从环境或数据储存库106获取所需数据时,工作负载控制模块114可应用业务逻辑来确定应用工作负载104将被路由的环境。工作负载控制模块114可使用由用户502提供的信息来基于性能和成本评估来选择合适性。在两个或更多个环境提供相同成本的情况下,工作负载控制模块114可选择具有该类型工作负载的更好性能历史的选项。如果两个或更多个环境提供类似的性能特性,则工作负载控制模块114将以较低成本来选择选项。例如,当针对同一服务的两个示例请求者时,一个来自关键分支,而另一个来自非关键分支。当工作负载控制模块114接收请求时,工作负载控制模块114检查源并且验证请求是来自关键还是非关键用户、与过程相关的成本、平台可用性和执行的时间。如果请求者来自关键配置文件,则工作负载控制模块114与成本历史数据相比,确定平台可用性和执行时间的优先级,基于该工作负载控制模块114将确定如果条件有利则在大型机平台110上执行的请求。如果请求者来自非关键配置文件,则工作负载控制模块114将与成本历史数据相比较确定平台可用性和成本的优先级,基于工作负载控制模块114将确定如果条件有利在分布式计算平台112上执行的请求。关于选择具有较低成本、更好性能、或任何其他性能或业务指示符的系统的决策可以由工作负载控制模块114定义,能够定义用于一些类型的工作负载的“以成本为中心”的解决方案以及用于其他工作负载的“以性能为中心”的解决方案。
一旦已做出选择,工作负载控制模块114就可将应用工作负载104引导到负载平衡器504。工作负载控制模块114可保存该选择以供将来参考和学习。当处理应用工作负载104并将结果返回到工作负载控制模块114时,工作负载控制模块114可记录性能统计(例如,流逝的时间、输出大小)并将分组传递回用户502(例如,请求者)。工作负载控制模块114可查询处理环境以用于额外数据(例如,处理时间、I/O计数、存储器使用)。工作负载控制模块114可处理查询的结果并更新数据储存库106以更新决策信息数据。
图6是描绘根据本公开的实施例的工作负载控制模块114的操作步骤的示例性功能图。
在图6的示例中,工作负载控制模块可以连接到共享资源的一个或多个系统(例如,操作系统602、时间共享选项604和作业进入子系统608)和数据储存库106。工作负载控制模块114可拉出所需的性能和容量指示符。工作负载控制模块114可使用在操作系统602上运行的驻留器116,其负责收集系统管理设施和资源管理设施数据,在请求时处理所需信息和将所需信息发送到工作负载控制模块114。驻留器116可以监视和跟踪大型机资源以向工作负载控制模块114报告回性能和使用统计以及在环境中运行的工作负载。驻留器116可协调每个作业606处理的工作流程。驻留器116可以包括由系统管理员或支持分析者配置的保存每个驻留范围的配置文件。当在系统上启动多于一个驻留器时,驻留器之一需要是焦点驻留器,其将接收作业606并委托其他驻留器来执行步骤碎片化和运行编排。可选地,驻留器116还可以与其他逻辑分区中的其他驻留器通信,以合并被发送到工作负载控制模块114的数据。在图7中示出了关于驻留器与其他驻留器通信的细节。
为了在批量处理和提供给在线请求的相同架构上保持透明,可以在每个大型机系统(例如,大型机平台110)上放置出口614。出口614可拦截被触发以在作业进入子系统608上运行的每个作业606,并且分析作业606(例如,应用工作负载104的工作单元)是否有可能在多平台622(例如,大型机平台110和分布式计算平台112)中运行,使用由驻留器116托管并且由系统管理员管理的表。如果满足条件,则出口614可以将过程移动到驻留器116。驻留器116可按步骤打破作业606,并且根据步骤之间的关系,顺序地或不顺序地将每个作业发送到工作负载控制模块114。
工作负载控制模块114可以包括分析引擎618和深度分析和评分模块620。分析引擎618和深度分析和评分模块620可以从所需源获得信息,并且可以使用公共算法基于资源消耗、合同的成本信息和两侧的资源可用性对活动进行评分。分析引擎618还可获得用于依据成功与否排名的历史评估的输入,以改进实际评估。
在多个平台622上运行的批处理的示例中,工作负载控制模块114可分割并处理两种类型的平台(例如,大型机平台110和分布式计算平台112)的应用工作负载104。例如,工作负载控制模块114可以在大型机平台110上开始批处理,并且可以执行必须在特定目标时间完成的关键处理,然后在分布式计算平台112上运行较不关键的步骤,如检查和构建报告。作业606可以正常地开始并且可以被放置在作业进入子系统608上。一旦在作业进入子系统608上,在转换612的阶段之后,出口614可以在合格性列表(由驻留器116管理)上查询作业606是否可以被分片用于这种类型的处理。如果驻留器116验证合格性,那么工作负载控制模块114可使用驻留器116来动作616(例如,切片和编排)批处理。整个处理结束后,向用户发送响应。
图7是根据本公开的实施例描绘工作负载控制模块114和驻留器116的操作步骤的示例性功能图。
在图7的示例中,驻留器116(例如,116a)可以委托其他驻留器(例如,驻留器116b、116c、116n)来执行步骤分片和运行编排。例如,驻留器116a可与其他驻留器(例如,其他逻辑分区中的驻留器116b、116c、116n)通信,以合并发送到工作负载控制模块114的数据。
图8是描绘根据本公开的实施例的工作负载控制模块114的操作步骤的示范性功能图。
在框802中,工作负载控制模块114接收处理应用工作负载104的分组的请求。分组可以是分配给大型机平台110和分布式计算平台112的应用工作负载104的工作单元。应用工作负载104可以包括待分配以分别在大型机平台110和分布式计算平台112上运行的多个工作单元。每个工作单元可以是可在大型机平台110和分布式计算平台112上运行的应用工作负载104的逻辑件。
在框804中,工作负载控制模块114确定与应用工作负载104的分组相关的任何最新数据是否存在于数据储存库106中。如果工作负载控制模块114确定与分组相关的一些历史数据存在于数据储存库106中,则在框810中,工作负载控制模块114进一步验证与分组相关的历史数据。如果工作负载控制模块114确定在数据储存库106中不存在与包相关的历史数据,则在框806中,工作负载控制模块114将分组的优先级与有资格的平台(例如,大型机平台110和分布式计算平台112)的处理能力进行比较。在框808中,工作负载控制模块114执行对每个合格平台(例如,大型机平台110和分布式计算平台112)中运行的应用工作负载104的成本估计。在框812中,工作负载控制模块114基于返回的数据针对应用工作负载104的多个工作单元确定每个符合条件的平台(例如大型机平台110和分布式计算平台112)的优先级。工作负载控制模块114可基于资源消耗对应用工作负载104中的工作单元的活动进行排序。
在框814中,工作负载控制模块114确定所选择的平台(例如,大型机平台110和分布式计算平台112)是否满足应用工作负载104的性能和成本要求。如果工作负载控制模块114确定所选择的平台不满足应用工作负载104的性能和成本要求,则在框816中,工作负载控制模块114选择偏好列表中的下一平台。如果工作负载控制模块114确定所选择的平台满足应用工作负载104的性能和成本要求,则在框818中,工作负载控制模块114向目标平台(例如,大型机平台110和分布式计算平台112)分配分组。在框820中,工作负载控制模块114监视分组完成。在框822中,工作负载控制模块114确定分组是否已被处理。如果工作负载控制模块114确定分组尚未被处理,则工作负载控制模块114继续监视分组完成。如果工作负载控制模块114确定分组已被处理,则在框824,工作负载控制模块114可将分组返回给用户。在框826中,工作负载控制模块114收集运行时统计和更新历史数据。
图9描绘了根据本公开的说明性实施例的计算设备102的组件的框图900。应了解,图9仅提供一个实现的说明且不暗示关于其中可实施不同实施例的环境的任何限制。可以对所描绘的环境进行许多修改。
计算装置102可包含通信结构902,其提供高速缓存916、存储器906、持久性存储装置908、通信单元910和(多个)输入/输出(I/O)接口912之间的通信。通信结构902可用设计成用于在处理器(诸如微处理器、通信和网络处理器等)、系统存储器、外围设备和系统内的任何其他硬件组件之间传递数据和/或控制信息的任何架构来实现。例如,通信结构902可用一个或多个总线或纵横开关来实现。
存储器906和永久性存储装置908是计算机可读存储介质。在该实施例中,存储器906包括随机存取存储器(RAM)。一般而言,存储器906可包括任何合适的易失性或非易失性计算机可读存储介质。高速缓存916是通过保存来自存储器906的最近访问的数据以及接近访问的数据的数据来增强(多个)计算机处理器904的性能的快速存储器。
工作负载控制模块114可存储在持久性存储装置908和存储器906中以供相应计算机处理器904中的一个或多个经由高速缓存916执行。在实施例中,持久性存储装置908包括磁性硬盘驱动器。可替代地,或除了磁性硬盘驱动器之外,持久性存储装置908可包括固态硬盘驱动器、半导体存储设备、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、闪存或能够存储程序指令或数字信息的任何其他计算机可读存储介质。
持久性存储装置908所使用的介质也可以是可移除的。例如,可移动硬盘驱动器可用于持久性存储装置908。其他示例包括光盘和磁盘、拇指驱动器和智能卡,其被插入到驱动器中以便转移到也是永久性存储装置908的一部分的另一计算机可读存储介质上。
在这些实例中,通信单元910提供与其他数据处理系统或设备的通信。在这些实例中,通信单元910包括一个或多个网络接口卡。通信单元910可以通过使用物理和无线通信链路之一或两者来提供通信。工作负载控制模块114可通过通信单元910下载到持久性存储器908。
(多个)I/O接口912允许与可连接到计算设备102的其他设备输入和输出数据。例如,I/O接口912可提供到外部设备918(诸如键盘、小键盘、触摸屏和/或一些其他合适的输入设备)的连接。外部设备918还可包括便携式计算机可读存储媒质,诸如例如拇指驱动器、便携式光盘或磁盘、以及存储卡。用于实施本发明的实施例的软件和数据(例如,工作负载控制模块114)可存储在此类便携式计算机可读存储媒质上,并且可经由(多个)I/O接口912加载到持久性存储装置908上。(多个)I/O接口912还连接到显示器920。
显示器920提供向用户显示数据的机制,并且可以是例如计算机监视器。
本文中所描述的程序是基于其在本发明的特定实施例中实施的应用而被标识的。然而,应当理解,本文中的任何特定程序命名法仅为了方便而使用,因此本发明不应限于仅在由这种命名法标识和/或暗示的任何特定应用中使用。
本发明可以是在集成的任何可能的技术细节水平处的系统、方法和/或计算机程序产品。所述计算机程序产品可包含上面具有计算机可读程序指令的计算机可读存储介质(或媒体),所述计算机可读程序指令用于致使处理器执行本发明的方面。
计算机可读存储媒质可以是可以保留和存储指令以供指令执行设备使用的有形设备。计算机可读存储媒质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述各项的任何合适的组合。计算机可读存储媒质的更具体例子的非穷举列表包括以下:便携式计算机盘,硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存),静态随机存取存储器(SRAM)、便携式致密盘只读存储器(CD-ROM),数字通用盘(DVD)、记忆棒、软盘、机械编码设备(诸如穿孔卡片)或具有记录在其上的指令的凹槽中的凸起结构,以及上述的任意合适的组合。如本文中所使用的计算机可读存储媒质不应被解释为瞬态信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输媒质传播的电磁波(例如,通过光纤电缆的光脉冲)、或通过导线传输的电信号。
本文所述的计算机可读程序指令可从计算机可读存储介质下载到相应的计算/处理设备,或经由网络(例如,互联网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令,指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据,集成电路的配置数据,或以一种或多种编程语言的任何组合编写的源代码或目标代码,包括诸如Python、C++等面向对象的编程语言,以及过程式编程语言,例如“C”编程语言或类似的编程语言。计算机可读程序指令可完全在用户的计算机上执行、部分在用户的计算机上执行、作为独立软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可以连接到外部计算机(例如,通过使用互联网服务提供商的互联网)。在一些实施例中,电子电路(包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA))可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化,以便执行本发明的方面。
本文中参考根据本发明的实施例的方法、装置(系统)和计算机程序产品的流程图说明和/或框图描述本发明的方面。应当理解,流程图和/或框图的每个框以及流程图和/或框图中各框的组合,都可以由计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给计算机的处理器或其他可编程数据处理装置以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的一个或多个框中指定的功能/动作的部件。这些计算机可读程序指令还可存储在可指导计算机的计算机可读存储媒质中,可编程数据处理装置,和/或以特定方式起作用的其他设备,使得具有存储在其中的指令的计算机可读存储媒质包括制品,该制品包括实现流程图和/或框图中的一个或多个框中指定的功能/动作的各方面的指令。
计算机可读程序指令还可以加载到计算机、其他可编程数据处理装置上,或使得在计算机上执行一系列操作步骤的其他设备,其他可编程装置或其他设备,以产生计算机实现的过程,使得在计算机上执行的指令,其他可编程装置或其他设备实现流程图和/或框图中的一个或多个框中规定的功能/动作。
附图中的流程图和框图图示了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。对此,流程图或框图中的每个框可以代表模块、段或指令的一部分,其包括用于实现(多个)指定的逻辑功能的一个或多个可执行指令。在一些替代实施例中,框中所标注的功能可以不以图中所标注的次序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可以作为一个步骤完成、同时执行、基本同时地、以部分或全部时间上重叠的方式执行,或者这些框有时可以以相反的顺序执行。还将注意的是,框图和/或流程图中的每个框、以及框图和/或流程图中的框的组合可以由基于专用硬件的系统来实现,所述基于专用硬件的系统执行指定的功能或动作或执行专用硬件与计算机指令的组合。
已经出于说明的目的呈现了本发明的不同实施例的描述,但并不旨在是穷尽性的或局限于所披露的实施例。在不脱离本发明的范围和精神的情况下,许多修改和变化对本领域的普通技术人员将是显而易见的。选择在此使用的术语以最佳地解释实施例的原理、实际应用或在市场中发现的技术上的技术改进,或使得本领域普通技术人员能够理解在此披露的实施例。
应当理解,尽管本公开包括关于云计算的详细描述,但是本文所记载的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知或以后开发的任何其他类型的计算环境来实现。
云计算是一种服务递送模型,用于实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池的方便、按需的网络访问,所述可配置计算资源可以用最小的管理努力或与服务提供者的交互来快速配置和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
特性如下:
按需自助服务:云消费者可按需自动地单方面供应计算能力,诸如服务器时间和网络存储,而无需与服务的提供者的人类交互。
广泛的网络接入:能力在网络上是可用的并且通过标准机制来访问,所述标准机制促进由异构的瘦或厚客户端平台(例如,移动电话、膝上型计算机和PDA)的使用。
资源池化:提供者的计算资源被池化以使用多租户模型服务于多个消费者,其中不同的物理和虚拟资源根据需要被动态地指派和重新指派。存在位置独立性的意义,因为消费者通常对所提供资源的确切位置不具有控制或知识,但可能能够在较高抽象层级(例如,国家、州或数据中心)处指定位置。
快速弹性:可以快速且弹性地提供能力(在一些情况下,自动地)以快速缩小并且快速释放以快速放大。对于消费者,可用于供应的能力通常显得不受限制,并且可以在任何时间以任何数量购买。
测量的服务:云系统通过利用适于服务类型(例如,存储、处理、带宽和活动用户账户)的某种抽象级别的计量能力来自动控制和优化资源使用。可监视、控制和报告资源使用,从而为所利用的服务的提供者和消费者两者提供透明度。
服务模型如下:
软件即服务(SaaS):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。应用可通过诸如web浏览器(例如,基于web的电子邮件)的瘦客户端接口从不同客户端设备访问。消费者不管理或控制包括网络、服务器、操作系统、存储或甚至个体应用能力的底层云基础结构,其中可能的例外是有限的用户特定的应用配置设置。
平台即服务(PaaS):向消费者提供的能力是在云基础结构上部署消费者创建或获取的应用,所述应用是使用提供者所支持的编程语言和工具来创建的。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础结构,但是具有对所部署的应用以及可能的应用托管环境配置的控制。
基础设施即服务(IaaS):提供给消费者的能力是提供消费者能够部署和运行可包括操作系统和应用的任意软件的处理、存储、网络和其他基本计算资源。消费者不管理或控制底层云基础结构,而是具有对操作系统、存储、所部署的应用的控制,以及对所选联网组件(例如,主机防火墙)的可能有限的控制。
部署模型如下:
私有云:云基础结构仅用于组织操作。它可由组织或第三方管理,并且可存在于场所内或场所外。
社区云:云基础结构由若干组织共享并且支持具有共享的关注(例如,任务、安全要求、策略和合规性考虑)的特定社区。它可由组织或第三方管理,并且可存在于场所内或场所外。
公共云:使云基础结构对公众或大型产业组可用并且由销售云服务的组织拥有。
混合云:云基础架构是两个或更多个云(私有、社区或公共的)的组成,这些云保持唯一实体但通过标准化或专有技术来绑定在一起,这些技术实现数据和应用便携性(例如,用于云之间的负载平衡的云突发)。
云计算环境是面向服务的,关注于状态、低耦合、模块性和语义互操作性。云计算的核心是包括互连节点网络的基础设施。
现在参见图10,描绘了说明性云计算环境50。如图所示,云计算环境50包括一个或多个云计算节点10,云消费者使用的本地计算设备(诸如个人数字助理(PDA)或移动电话54A、台式计算机54B、膝上型计算机54C和/或汽车计算机系统54N)可与云计算节点10通信。节点10可以彼此通信。它们可以被物理地或虚拟地分组(未示出)在一个或多个网络中,诸如上文描述的私有云、社区云、公共云或混合云或其组合。这允许云计算环境50提供基础结构、平台和/或软件作为云消费者不需要维护本地计算设备上的资源的服务。应当理解,图10中示出的计算设备54A-N的类型仅旨在是说明性的,并且计算节点10和云计算环境50可通过任何类型的网络和/或网络可寻址连接(例如,使用web浏览器)与任何类型的计算机化设备通信。
现在参见图11,示出了由云计算环境50(图10)提供的一组功能抽象层。应预先理解,图11中所示的部件、层和功能旨在仅是说明性的,并且本发明的实施例不限于此。如所描绘的,提供了以下层和相应的功能:
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:大型机61;基于RISC(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储设备65;以及网络和联网组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储装置72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及虚拟客户端75。
在一个实例中,管理层80可提供下文所描述的功能。资源供应81提供用于执行云计算环境内的任务的计算资源和其他资源的动态获取。计量和定价82在云计算环境内利用资源时提供成本跟踪,并针对这些资源的消费进行计费或开发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及对数据和其他资源的保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务级别管理84提供云计算资源分配和管理,使得满足所需的服务级别。服务水平协议(SLA)计划和履行85提供云计算资源的预安排和采购,根据SLA预期该云计算资源的未来要求。
工作负载层90提供可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:地图和导航91;软件开发和生命周期管理92;虚拟教室教育交付93;数据分析处理94;事务处理95;以及模块96,包括例如如上文关于工作负载控制环境100所描述的工作负载控制模块114。
尽管已经描述了本发明的特定实施例,但是本领域的技术人员将理解,存在与所描述的实施例等同的其他实施例。因此,应当理解,本发明不受具体说明的实施例的限制,而仅受所附权利要求书的范围的限制。
Claims (9)
1.一种计算机实现的方法,包括:
由一个或多个处理器接收将应用工作负载分配给大型机平台和分布式计算平台的请求,所述应用工作负载包括多个工作单元;
由一个或多个处理器收集与所述应用工作负载、所述大型机平台和所述分布式计算平台相关联的性能和成本数据;
由一个或多个处理器基于对所述性能和成本数据的所述分析来确定针对所述应用工作负载的所述多个工作单元的所述大型机平台和所述分布式计算平台;以及
由一个或多个处理器分配所述应用工作负载的所述多个工作单元分别在所述大型机平台和所述分布式计算平台上运行,以实时平衡性能和成本。
2.根据权利要求1所述的计算机实现的方法,还包括:
由一个或多个处理器确定与所述应用工作负载相关的历史数据存在于储存库中;
由一个或多个处理器验证与所述应用工作负载相关的所述历史数据;以及
由一个或多个处理器基于所述历史数据针对所述应用工作负载的所述多个工作单元确定所述大型机平台和分布式计算平台的优先级。
3.根据权利要求1所述的计算机实现的方法,还包括:
由一个或多个处理器确定与所述应用工作负载相关的历史数据不存在于储存库中;
由一个或多个处理器对所述大型机平台和分布式计算平台执行所述应用工作负载的所述多个工作单元的成本估计;以及
由一个或多个处理器基于所述成本估计针对所述应用工作负载的所述多个工作单元确定所述主机和分布式计算平台的优先级。
4.根据权利要求1所述的计算机实现的方法,其中,所述性能和成本数据包括从包括以下各项的组中选择的数据:使用、成本、等待时间和吞吐量数据。
5.根据权利要求1所述的计算机实现的方法,其中,所述性能和成本数据包括从包括以下各项的组中选择的数据:过程优先级、处理索引、数据要求、连接性、系统亲和性、服务器健康、管理和商业数据。
6.根据权利要求1所述的计算机实现的方法,其中确定针对所述应用工作负载的所述多个工作单元的所述大型机平台和分布式计算平台包括:
响应于确定两个或更多个平台提供相同的成本,针对与所述应用工作负载相关联的工作负载的类型选择具有较高性能历史的选项;以及
响应于确定两个或更多个平台提供相同的性能特性,以更低的成本来选择所述选项。
7.根据权利要求1所述的计算机实现的方法,进一步包括动态地更新与所述应用工作负载相关联的历史数据。
8.一种计算机程序产品,包括:
一个或多个计算机可读存储介质,以及共同地存储在所述一个或多个计算机可读存储介质上的程序指令,所述程序指令可由处理器执行以使所述处理器执行根据权利要求1至7中任一项所述的方法。
9.一种计算机系统,包括:
一个或多个计算机处理器、一个或多个计算机可读存储介质、以及存储在所述一个或多个计算机可读存储介质上的用于由所述一个或多个计算机处理器中的至少一个计算机处理器执行的程序指令,其中所述计算机系统能够执行根据权利要求1至7中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/035,873 US11675631B2 (en) | 2020-09-29 | 2020-09-29 | Balancing mainframe and distributed workloads based on performance and costs |
US17/035,873 | 2020-09-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114327852A true CN114327852A (zh) | 2022-04-12 |
Family
ID=78333014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111144906.7A Pending CN114327852A (zh) | 2020-09-29 | 2021-09-28 | 基于性能和成本来平衡大型机和分布式工作负载 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11675631B2 (zh) |
JP (1) | JP2022056391A (zh) |
CN (1) | CN114327852A (zh) |
DE (1) | DE102021122508A1 (zh) |
GB (1) | GB2603236B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108198124B (zh) * | 2017-12-27 | 2023-04-25 | 上海联影医疗科技股份有限公司 | 医学图像处理方法、装置、计算机设备和存储介质 |
JP2023078639A (ja) * | 2021-11-26 | 2023-06-07 | トヨタ自動車株式会社 | 情報処理装置及び情報処理方法 |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9192859B2 (en) * | 2002-12-10 | 2015-11-24 | Sony Computer Entertainment America Llc | System and method for compressing video based on latency measurements and other feedback |
US8412822B1 (en) * | 2004-01-27 | 2013-04-02 | At&T Intellectual Property Ii, L.P. | Optimized job scheduling and execution in a distributed computing grid |
US9131117B2 (en) * | 2006-09-18 | 2015-09-08 | Telcordia Technologies, Inc. | Optimal content distribution in video-on-demand tree networks |
US8843929B1 (en) * | 2008-07-15 | 2014-09-23 | Google Inc. | Scheduling in computer clusters |
US8832699B2 (en) | 2009-05-11 | 2014-09-09 | Accenture Global Services Limited | Migrating processes operating on one platform to another platform in a multi-platform system |
US8032846B1 (en) * | 2010-03-30 | 2011-10-04 | Synopsys, Inc. | Efficient provisioning of resources in public infrastructure for electronic design automation (EDA) tasks |
US8539078B2 (en) * | 2010-07-08 | 2013-09-17 | International Business Machines Corporation | Isolating resources between tenants in a software-as-a-service system using the estimated costs of service requests |
US8406756B1 (en) * | 2010-08-13 | 2013-03-26 | Sprint Communications Company L.P. | Wireless network load balancing and roaming management system |
US9081613B2 (en) | 2010-11-02 | 2015-07-14 | International Business Machines Corporation | Unified resource manager providing a single point of control |
US8959220B2 (en) | 2010-11-02 | 2015-02-17 | International Business Machines Corporation | Managing a workload of a plurality of virtual servers of a computing environment |
US8583799B2 (en) | 2011-05-09 | 2013-11-12 | Oracle International Corporation | Dynamic cost model based resource scheduling in distributed compute farms |
US9495222B1 (en) * | 2011-08-26 | 2016-11-15 | Dell Software Inc. | Systems and methods for performance indexing |
US8868711B2 (en) | 2012-02-03 | 2014-10-21 | Microsoft Corporation | Dynamic load balancing in a scalable environment |
US20130263117A1 (en) * | 2012-03-28 | 2013-10-03 | International Business Machines Corporation | Allocating resources to virtual machines via a weighted cost ratio |
US9652294B2 (en) | 2013-11-25 | 2017-05-16 | International Business Machines Corporation | Cross-platform workload processing |
WO2015082253A1 (en) * | 2013-12-04 | 2015-06-11 | Koninklijke Philips N.V. | Prediction of critical work load in radiation therapy workflow |
US9444695B2 (en) * | 2014-01-30 | 2016-09-13 | Xerox Corporation | Methods and systems for scheduling a task |
EP3117337B1 (en) | 2014-03-13 | 2020-10-21 | JPMorgan Chase Bank, N.A. | Systems and methods for intelligent workload routing |
US9654414B2 (en) | 2014-09-18 | 2017-05-16 | International Business Machines Corporation | Scheduling cost efficient datacenter load distribution |
US9424097B1 (en) | 2015-03-17 | 2016-08-23 | International Business Machines Corporation | Dynamically managing workload placements in virtualized environments based on current user globalization customization requests |
US9680657B2 (en) | 2015-08-31 | 2017-06-13 | Bmc Software, Inc. | Cost optimization in dynamic workload capping |
US9817690B2 (en) | 2015-09-11 | 2017-11-14 | International Business Machines Corporation | Predictively provisioning cloud computing resources for virtual machines |
US10509677B2 (en) * | 2015-09-30 | 2019-12-17 | Lenova (Singapore) Pte. Ltd. | Granular quality of service for computing resources |
US10412155B2 (en) | 2015-10-29 | 2019-09-10 | Capital One Services, Llc | Automated server workload management using machine learning |
US10877816B2 (en) * | 2016-04-20 | 2020-12-29 | Samsung Electronics Co., Ltd. | Optimal task scheduler |
WO2018061825A1 (ja) * | 2016-09-29 | 2018-04-05 | 日本電気株式会社 | 分散処理システム、分散処理方法、及び記録媒体 |
US10891201B1 (en) * | 2017-04-27 | 2021-01-12 | EMC IP Holding Company LLC | Dynamic rule based model for long term retention |
TWI641951B (zh) * | 2017-11-20 | 2018-11-21 | 宏碁股份有限公司 | 動態分派工作及提供資源的方法、裝置及其系統 |
US11422859B2 (en) | 2018-03-13 | 2022-08-23 | Aloke Guha | Methods and systems for cloud application optimization |
US10841236B1 (en) * | 2018-03-30 | 2020-11-17 | Electronic Arts Inc. | Distributed computer task management of interrelated network computing tasks |
US11334382B2 (en) * | 2019-04-30 | 2022-05-17 | Intel Corporation | Technologies for batching requests in an edge infrastructure |
US11379266B2 (en) * | 2019-09-10 | 2022-07-05 | Salesforce.Com, Inc. | Automatically identifying and right sizing instances |
US11016889B1 (en) * | 2019-12-13 | 2021-05-25 | Seagate Technology Llc | Storage device with enhanced time to ready performance |
-
2020
- 2020-09-29 US US17/035,873 patent/US11675631B2/en active Active
-
2021
- 2021-08-31 DE DE102021122508.6A patent/DE102021122508A1/de active Pending
- 2021-09-17 GB GB2113295.6A patent/GB2603236B/en active Active
- 2021-09-27 JP JP2021156576A patent/JP2022056391A/ja active Pending
- 2021-09-28 CN CN202111144906.7A patent/CN114327852A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US11675631B2 (en) | 2023-06-13 |
JP2022056391A (ja) | 2022-04-08 |
GB2603236A (en) | 2022-08-03 |
DE102021122508A1 (de) | 2022-03-31 |
US20220100578A1 (en) | 2022-03-31 |
GB2603236B (en) | 2023-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10776747B2 (en) | System and method to incorporate node fulfillment capacity and network average capacity utilization in balancing fulfillment load across retail supply networks | |
US11593180B2 (en) | Cluster selection for workload deployment | |
US10142404B2 (en) | Inter-platform management of computing resources | |
US11068313B2 (en) | Cloud brokerage application decomposition and migration | |
US10360065B2 (en) | Smart reduce task scheduler | |
US20200278975A1 (en) | Searching data on a synchronization data stream | |
US20220050728A1 (en) | Dynamic data driven orchestration of workloads | |
CN114327852A (zh) | 基于性能和成本来平衡大型机和分布式工作负载 | |
US20200279173A1 (en) | Data pipeline prioritization and prediction | |
CN116414518A (zh) | Kubernetes上的大数据的数据局部性 | |
US10635579B2 (en) | Optimizing tree pruning for decision trees | |
US20230196182A1 (en) | Database resource management using predictive models | |
US11556387B2 (en) | Scheduling jobs | |
US11645595B2 (en) | Predictive capacity optimizer | |
US20190065979A1 (en) | Automatic model refreshment | |
CN115443642A (zh) | 跨规则引擎的实例的规则分发 | |
US11204923B2 (en) | Performance for query execution | |
US11651235B2 (en) | Generating a candidate set of entities from a training set | |
US11954524B2 (en) | Compliance aware application scheduling | |
US20230072962A1 (en) | Distributed system workload management via node autonomy | |
US20220138614A1 (en) | Explaining machine learning based time series models | |
US20230017500A1 (en) | Tokenized federated learning | |
US11645013B2 (en) | Managing dispersed storage network background tasks | |
US20220188166A1 (en) | Cognitive task scheduler | |
US20240103953A1 (en) | Quadrant matrix based priority calls for failed drives replacement |
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 |