CN100559348C - 用于提供基于策略的操作系统服务的方法和计算系统 - Google Patents
用于提供基于策略的操作系统服务的方法和计算系统 Download PDFInfo
- Publication number
- CN100559348C CN100559348C CNB2007101536374A CN200710153637A CN100559348C CN 100559348 C CN100559348 C CN 100559348C CN B2007101536374 A CNB2007101536374 A CN B2007101536374A CN 200710153637 A CN200710153637 A CN 200710153637A CN 100559348 C CN100559348 C CN 100559348C
- Authority
- CN
- China
- Prior art keywords
- operating system
- performance
- node
- system service
- kernel
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3495—Performance evaluation by tracing or monitoring for systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3447—Performance evaluation by modeling
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
公开了在计算系统上的操作系统中提供基于策略的操作系统服务的方法、装置和产品。计算系统包括至少一个计算节点。所述计算节点包括操作系统,所述操作系统包括内核和一种服务类型的多个操作系统服务。在计算系统上的操作系统中提供基于策略的操作系统服务,包括:在计算节点上建立内核策略,该内核策略指定了用于操作系统中的所述内核使用的所述服务类型的所述多个操作系统服务之一;建立性能规则集,该性能规则集规定了用于分析所述计算系统的性能的规则;测量所述计算系统的性能;并根据所述性能规则集和测量到的性能调整所述内核策略。
Description
技术领域
本发明的领域是数据处理,或者更具体地说,是用于在计算系统上的操作系统中提供基于策略的操作系统服务的方法、装置和产品。
背景技术
1948年开发EDVAC计算机系统通常被称为计算机时代的开始。从那时起,计算机系统已经发展成极其复杂的设备。当今的计算机比早期系统、诸如EDVAC更高深。计算机系统通常包括硬件和软件组件、应用程序、操作系统、处理器、总线、存储器、输入/输出设备等的组合。由于半导体工艺和计算机体系结构的进展推动计算机的性能越来越高,所以已经开发了更高级的计算机软件来利用硬件的更高性能,从而导致当今的计算机系统比几年前更强大。
其中已经开发了计算机软件来利用高性能硬件的一个领域是操作系统。早期计算机缺乏任何形式的操作系统。系统管理员加载机器专用的应用。为了操作计算机,应用必须直接访问和控制计算机硬件。后来,与计算机一起出现了被链接到应用以帮助诸如输入和输出之类的操作的支持码库。这些库是现代操作系统的起源。然而,计算机每次仍然仅运行单个应用。现代的操作系统能同时运行多个应用。这些现代的操作系统还向应用提供了计算机硬件的抽象以便简化应用开发和帮助将应用从一个硬件平台转到另一个硬件平台的能力。
内核是大部分计算机操作系统的中心部分,其管理系统资源以及硬件和软件组件间的通信。作为操作系统的基本组件,内核提供了用于硬件、特别是用于存储器、处理器和I/O的抽象层,允许硬件和软件进行通信。内核还使得这些设备通过进程间通信机制和系统调用而可用于应用和其他操作系统服务。
取决于内核的设计和实现方式,对不同的内核不同地执行这些内核任务。在单片内核中,所有操作系统服务驻留在相同的存储区中并使用相同的存储区执行。因为单片内核尝试在相同的地址空间中执行所有代码,所以单片内核体系结构比其他解决方案更易于设计和实现,并且如果编写良好,则它极其有效。单片内核的主要缺点是系统组件间的依赖性。大的内核变得非常难以维护,并且内核的一部分中的程序错误可能会使整个系统崩溃。
在微核体系结构中,内核在硬件之上提供简单的抽象,利用原语集或系统调用实现最小操作系统服务,诸如存储器管理、多任务处理和进程间通信。在通常具有它们自己的地址空间的用户空间程序中实现其他服务,其中包括通常由内核提供的那些服务,诸如连网。微核比单片内核更易于维护,但大量的系统调用和上下文切换可能会降低系统速度。
与用来实现操作系统的内核体系结构无关,当安装操作系统时,在当前的操作系统中提供的操作系统服务集通常是固定的。即,操作系统利用相同的存储器管理算法、相同的I/O调度算法、相同的连网算法等,而与在由该操作系统管理的硬件上运行的应用无关。然而,经常是一个应用在使用一个操作系统服务时可以有效地利用计算机资源,而另一应用在使用相同的操作系统服务时不能有效地利用计算机资源。例如,操作系统中提供I/O调度的操作系统服务可能会导致对I/O密集的应用高效使用计算机资源,以及导致对非I/O密集的应用低效使用计算机资源。因为当前的操作系统提供相同的操作系统服务,而与应用无关,所以当前的操作系统通常不能有效地管理应用和计算机硬件间的交互。因此,读者将会意识到,在操作系统中提供操作系统服务的方式方面存在改进空间。
发明内容
公开了用于在计算系统上的操作系统中提供基于策略的操作系统服务的方法、装置和产品。计算系统包括至少一个计算节点。计算节点包括操作系统,操作系统包括一个内核和一种服务类型的多个操作系统服务。在计算系统上的操作系统中提供基于策略的操作系统服务,包括:在计算节点上建立内核策略,其规定了所述服务类型的操作系统服务之一被用于操作系统中的内核使用;建立一性能规则集,该性能规则集规定了规则以用于分析计算系统性能、测量计算系统的性能、并基于该性能规则集和测量到的性能调整内核策略。
此外,每种操作系统服务的特征可在于操作参数。在计算系统上的操作系统中提供基于策略的操作系统服务还可包括基于性能规则集和测量到的性能调整指定操作系统服务的所述操作参数。
计算系统还可以被实现为包括一个或多个操作系统服务节点的分布式计算系统。一个或多个所述操作系统服务可以分布在操作系统服务节点当中。所述内核策略也可以指定将要提供所指定的操作系统服务的一个操作系统服务节点。在计算系统上的操作系统中提供基于策略的操作系统服务还可包括基于性能规则集和所测量到的性能来管理所述操作系统服务节点。
通过在附图中示例说明的本发明的示例性实施例的下述更具体描述,本发明的上述和其他目的、特征和优点将是显而易见的,其中,相似的附图标记通常表示本发明的示例性实施例的相似部件。
附图说明
图1阐述了一个网络图,其示例说明了根据本发明的实施例在操作系统中提供基于策略的操作系统服务的示例性计算系统。
图2阐述了一个自动计算机器的框图,该自动计算机器包括用在根据本发明的实施例在计算系统上的操作系统中提供基于策略的操作系统服务的过程中的示例性计算节点。
图3阐述了一个流程图,其示例说明了根据本发明的实施例在计算系统上的操作系统中提供基于策略的操作系统服务的一种示例性方法。
图4阐述了一个流程图,其示例说明了根据本发明的实施例在计算系统上的操作系统中提供基于策略的操作系统服务的另外一种示例性方法。
图5阐述了一个流程图,其示例说明了根据本发明的实施例在计算系统上的操作系统中提供基于策略的操作系统服务的另外一种示例性方法。
图6阐述了一个流程图,其示例说明了根据本发明的实施例在计算系统上的操作系统中提供基于策略的操作系统服务的另外一种示例性方法。
具体实施方式
将从图1开始参考附图描述根据本发明的实施例在计算系统上的操作系统中提供基于策略的操作系统服务的示例性方法、装置和产品。图1阐述了一个网络图,其示例说明了根据本发明的实施例在操作系统中提供基于策略的操作系统服务的示例性计算系统100。图1的示例性计算系统100包括计算节点110。计算节点110包括操作系统108。操作系统108包括一个内核120和一种服务类型的多个操作系统服务124。图1的示例性计算系统100通常操作以用来通过在计算节点上建立内核策略122(该内核策略122规定了所述服务类型的所述操作系统服务124之一被用于在操作系统108中使用)、并通过所述内核120访问所述指定的操作系统服务,来在操作系统中提供基于策略的操作系统服务。图1的该示例性计算系统100通常操作来通过:在计算节点110上建立内核策略,该内核策略规定了所述服务类型的所述操作系统服务124之一被用于操作系统108中的所述内核120使用,建立一性能规则集131,该性能规则集131规定了规则以用于分析计算系统110的性能、测量计算系统100的性能,以及基于该性能规则集131和所测量到的性能调整所述内核策略122,来根据本发明的实施例在操作系统中提供基于策略的操作系统服务。
在图1的例子中,示例性计算系统100被实现为分布式计算系统。分布式计算系统是使用两个或更多网络连接的计算设备实现共同任务的计算系统。图1的分布式计算系统100包括连接在一起用于通过网络101进行数据通信的计算节点110、操作系统服务节点112、114、116和管理节点118。计算节点110通过有线连接140连接到网络101。操作系统服务节点112通过有线连接142连接到网络101。操作系统服务节点114通过有线连接144连接到网络101。操作系统服务节点116通过有线连接146连接到网络101。管理节点118通过有线连接148连接到网络101。图1的分布式计算系统100的所述共同任务包括根据本发明的实施例在操作系统中提供基于策略的操作系统服务。
在图1的例子中,使用安装在计算机机柜104之一节点102来实现计算节点110。图1的每一节点102是执行计算机程序指令的处理设备。每一节点102包括一个或多个计算机处理器以及可操作地耦合到该计算机处理器的计算机存储器。图1的节点102被实现为安装在服务器底座中的刀片服务器,而服务器底座又被安装在计算机机柜104上。然而,读者将会注意到,将节点实现为刀片服务器是为了说明而不是为了加以限制。事实上,图1的节点可以被实现为网络连接的工作站、连接在一起以形成计算机群集的计算机、并行计算机中的计算设备、或者本领域的技术人员将会想到的任何其他实现方式。
在图1的例子中,计算节点110是被配置为具有用在根据本发明的实施例在计算系统上的操作系统中提供基于策略的操作系统服务的过程中的内核120和内核策略122的节点。通常,内核策略122建立在计算节点上,用于优化由为在节点上执行而配置的应用106对节点资源的利用。所述应用106是实现用户级数据处理的计算机程序指令集。所述应用可以是独立的应用,其中,在单个计算节点上执行应用106的所有计算机程序指令,或者所述应用106可以是分布式应用,其中,计算机程序指令的某些部分与在其他计算节点上执行的计算机程序指令的其他部分串行或并行执行。
在图1的示例性系统100中,所述操作系统108控制计算节点110上应用106的执行。图1的操作系统108是管理处理设备,诸如计算节点110的硬件和软件资源的系统软件。操作系统108执行基本任务,诸如控制和分配存储器、对指令的处理区分优先级、控制输入和输出设备、辅助连网和管理文件。
图1的应用106通过内核120访问由操作系统108提供的资源。内核120是管理系统资源以及硬件和软件组件间的通信的操作系统108的核心组件。内核120为软件应用提供用于硬件的抽象层,其允许硬件和软件进行通信。内核120使得这些抽象层可通过进程间通信机制和内核应用编程接口(“API”)121用于用户级应用和其他操作系统组件。
在图1的示例性系统100中,操作系统108使用微核体系结构实现。即,内核120包括基本类型的操作系统服务的实现方式,诸如存储器管理、进程管理、进程间通信。然而,其他操作系统服务124,诸如连网、中断处理、I/O调度、设备驱动器、文件系统服务等,使用单独的操作系统组件实现,每一组件具有不同于内核120的执行线程。内核120使用进程间通信或对服务API 125的系统调用,访问这些操作系统服务124。
在图1的示例性系统100中,每一操作系统服务124是实现未在所述内核120本身中实现的服务类型、或者实现已经由内核120提供的服务类型的专用版本的系统软件。为了加以说明,例如,假定图1的内核120未实现任何文件系统服务类型的服务。在这一例子中,所述操作系统服务124之一可以实现用于Unix文件系统的文件系统服务,而第二操作系统服务124可以实现用于Reiser文件系统的文件系统服务。视在操作系统108中配置的内核策略122而定,内核120将使用Unix文件系统或Reiser文件系统提供文件系统服务。此外,例如,假定图1的内核120实现一般存储器管理服务。在该例子中,视内核策略122的配置而定,为代替在内核120中实现的一般存储器管理算法,所述操作系统服务124之一可以实现内核120可以使用的、适合于密集I/O操作的存储器管理服务。
图1的每一操作系统服务124提供一种特定服务类型的操作系统服务。由操作系统服务124提供的服务类型可以包括例如任务调度器、文件系统、存储器管理、设备驱动器、I/O调度器、中断/信号处理、安全性、作业提交、tty处理等。用于相同服务类型的服务的操作系统服务具有相同的应用编程接口。即,用于一种特定服务类型的每一服务124的服务API 125具有内核120可用来访问操作系统服务124的相同的成员方法和参数集。因为每一服务类型的服务具有相同的服务API,所以内核120可以使用相同的应用编程接口,访问在内核策略122中指定的操作系统服务,而与为特定服务类型在内核策略122中指定哪一操作系统服务无关。
在图1的示例性系统100中,一个或多个操作系统服务124分布在操作系统服务节点112、114、116中。即,用于实现一个或多个操作系统服务124的计算机程序指令驻留在操作系统服务节点112、114、116上。用于每一服务132、134、136的相应的操作系统服务124可以被实现为用于实现每一服务132、134、136的计算机程序指令的副本。也可以使用访问操作系统服务节点112、114、116上的操作系统服务132、134、136的数据通信子系统,实现用于每一服务132、134、136的相应的操作系统服务124。这种数据通信子系统的例子可以包括Web服务引擎、使用远程过程调用来访问操作系统服务节点112、114、116上的操作系统服务132、134、136的计算节点110上的CORBA对象、使用MPI库、或本领域的技术人员将会想到的任何其他实现方式。
“CORBA”是指公用对象请求代理体系结构(Common ObjectRequest Broker Architecture),它是用于由对象管理组(“OMG”)产生的可互操作的企业应用的计算机行业规范。CORBA是首先由OMG在1991年公布的、用于远程过程调用的标准。CORBA可以被视为进行远程过程调用的一种面向对象的方法,但是CORBA支持在传统的远程过程调用中不存在的特征。CORBA使用说明性语言、即接口定义语言(“IDL”)描述对象的接口。编译依照IDL的接口描述来生成用于客户端的“桩(stub)”和服务器端的“骨架(skeleton)”。通过使用该生成的代码,在面向对象的编程语言、诸如C++或Java中实现的远程方法调用看起来就象本地对象中的本地成员方法的调用。
“MPI”是指“消息传递接口”,它是现有技术中的并行通信库,是用于并行计算机上的数据通信的计算机程序指令模块。现有技术中的可以用于根据本发明的实施例在计算系统上的操作系统中提供基于策略的操作系统服务的并行通信库的例子包括MPI和“并行虚拟机”(“PVM”)库。由University of Tennessee(田纳西大学)、The OakRidge National Laboratory(橡树岭国家实验室)和Emory University(艾默里大学)开发了PVM。由MPI Forum(MPI论坛)推广了MPI,MPI Forum是一个开放组,具有来自定义和维护MPI标准的许多组织的代表。在该撰写时的MPI是用于在分布式存储器并行计算机上运行并行程序的节点间的通信的事实上的标准。为了便于说明,该规范有时使用MPI术语,但是使用MPI本身不是对本发明的要求或限制。
在图1的例子中,使用在计算机机柜104中安装的节点102,实现操作系统服务节点112、114、116。每一操作系统服务节点112、114、116是向在计算节点上安装的内核提供操作系统服务的节点。每一操作系统服务节点可以向在一个或多个计算节点上运行的一个或多个内核提供一个或多个操作系统服务。然而,在具有许多节点的分布式计算系统中,由于系统中节点的充裕,每一操作系统服务节点通常仅提供一个操作系统服务。在图1的例子中,操作系统服务节点112向内核120提供操作系统服务132;操作系统服务节点114向内核120提供操作系统服务134;以及操作系统服务节点116向内核120提供操作系统服务136。
为了向内核120提供操作系统服务,图1的每一操作系统服务节点112、114、116在其上安装了操作系统服务服务器。操作系统服务节点112包括服务服务器133,操作系统服务节点114包括服务服务器135,以及操作系统服务节点116包括服务服务器137。每一服务服务器133、135、137是响应于由操作系统的内核发送的请求,或者响应于从系统管理员接收了指令,向内核提供操作系统服务的软件组件。每一操作系统服务服务器133、135、137可以通过向内核传送用于实现所请求的操作系统服务的计算机程序指令,以及允许在其上安装了内核的计算节点执行计算机程序指令,来向内核提供操作系统服务。每一操作系统服务服务器133、135、137也可以通过指示服务器的操作系统服务节点执行用于实现所请求的操作系统服务的计算机程序指令,来提供操作系统服务。内核120可以使用Web服务、调用CORBA对象的成员方法、使用MPI库或本领域的技术人员将会想到的任何其他数据通信实现方式,与操作系统服务服务器133、135、137进行通信。
如上所述,操作系统108包括用于一种特定服务类型的两个或多个操作系统服务124。例如,视示例性系统100的配置而定,操作系统108可以包括用于由内核使用的文件系统服务的两种不同的实现方式。在另一例子中,视应用106的需要而定,操作系统108可以包括存储器管理服务的两种不同实现方式。具有用于一种特定服务类型的一个以上的操作系统服务,有利地提供了根据操作系统108所管理的硬件和软件环境优化所述操作系统的服务算法的灵活性。
图1的内核策略122是将所述操作系统服务124之一映射到由内核120使用的一种类型的操作系统服务的表。内核120使用内核策略122来识别对于一种特定服务类型在操作系统中要使用哪一操作系统服务。与操作系统服务124是本地驻留在计算节点110上还是分布在其他节点、诸如操作系统服务节点112、114、116上无关,内核策略122指定一种特定服务类型的所述操作系统服务之一被用在操作系统108中。当在内核策略中指定的操作系统服务分布在操作系统服务节点112、114、116之一上时,内核策略122还指定要提供指定的操作系统服务的操作系统服务节点。使用内核策略122,内核120通过访问在策略122中指定的操作系统服务,根据本发明的实施例在计算系统上的操作系统中提供基于策略的操作系统服务。
通常,内核策略122将不会指定用于被用在操作系统108中的服务类型之一的操作系统服务,或者内核120不能访问在策略122中指定的操作系统服务。在图1的例子中,因此,操作系统108包括缺省的操作系统服务126。缺省的操作系统服务126是当内核策略122没有指定用于特定服务类型的操作系统服务或者内核120不能访问在策略122中指定的操作系统服务时,内核120可以使用的特定服务类型的操作系统服务。例如,假定内核策略122没有指定用于由操作系统108使用的文件系统服务,内核120本身不实现文件系统服务,并且所述缺省的操作系统服务实现Unix文件系统。因为内核120不实现文件系统服务,并且在内核策略122中未指定文件系统服务,则在该例子中的内核120将使用实现Unix文件系统的缺省操作系统服务126。内核120可以使用进程间通信或缺省操作系统服务API 127,访问缺省的操作系统服务126。
在图1的例子中,每个节点110、112、114、116包括性能测量模块。图1的计算节点110包括性能测量模块107。图1的操作系统服务节点112包括性能测量模块141。图1的操作系统服务节点114包括性能测量模块143。图1的操作系统服务节点116包括性能测量模块145。
在图1的例子中,每个性能测量模块107、141、143、145是用于根据本发明的实施例在计算系统上的操作系统中提供基于策略的操作系统服务的软件组件。每个性能测量模块107、141、143、145包括一组计算机程序指令,用于测量计算系统100的性能。在图1的例子中,更特别地是,性能测量模块107测量计算节点110及在计算节点110上执行的软件的性能。性能测量模块141测量操作系统服务节点112及在节点112上执行的软件的性能。性能测量模块143测量操作系统服务节点114及在节点114上执行的软件的性能。性能测量模块145测量操作系统服务节点116及在节点116上执行的软件的性能。性能测量的例子可包括,计算系统100内的处理器执行的每个处理所使用的处理器利用的百分比、对于计算系统100内每个处理器的可用处理时间的百分比、发生在计算系统100内每个处理器上的页面错误的数目、计算系统100内的每个处理器可访问的可用存储器量、执行在每个处理器上的软件组件可占用的存储器量等。这些性能测量可用于调整内核策略122以优化计算系统100的配置。
在图1的例子中,由系统管理员130通过管理节点118配置分布式计算系统100。图1的管理节点118是管理图1的计算系统100配置的计算设备。该管理节点118可实现为安装在机柜104中的节点102、连接到节点102的工作站网络、或者本领域技术人员可知道的任何其它计算机中的一种。
在图1的示例性系统100中,管理模块118已经在其上安装了管理模块128。管理模块128是一软件组件,系统管理员130通过其配置该示例性计算系统100。管理模块128允许系统管理员130通过为系统管理员130提供用户接口来与管理模块128交互,并通过配置操作系统108和由一个或多个计算节点(例如计算节点110)上的系统管理员130提供的应用106,从而配置示例性计算系统100。管理模块128包括一组计算机程序指令,用于根据本发明的实施例,通过在计算节点110上建立内核策略,其中该内核策略规定了一种服务类型的操作系统服务124之一被用于在操作系统108中使用,从而在计算系统上的操作系统中提供基于策略的操作系统服务。
图1的管理模块128还包括一组计算机程序指令,用于通过建立性能规则集131来在计算系统上的操作系统中提供基于策略的操作系统服务。在图1的例子中,性能规则集131是一个表,其规定了用于分析计算系统100的性能的规则。为了获得计算系统100的性能,管理模块128可向每个节点110、112、114、116获取它们所测量到的性能,或者每个节点110、112、114、116可周期性地向管理节点118发送它们所测量到的性能。
图1的管理模块128还包括一组计算机程序指令,用于通过根据性能规则集131和所测量到的性能318调整内核策略122、根据性能规则集131和所测量到的性能调整操作系统服务124的操作参数、并根据性能规则集131和所测量到的性能管理操作系统服务节点,从而在计算系统上的操作系统中提供基于策略的操作系统服务。在调整了分布在节点112、114、116上的操作系统服务124的操作参数之后,管理节点11 8可向内核120发送消息指示内核120需要获取分布在节点112、114、116上的操作系统服务的最新版本。管理模块128可通过数据通信连接与节点110、112、114、116通信,可使用共享存储器空间、CORBA架构、JTAG网络、web业务、MPI库、或者本领域技术人员知道的任何其它数据通信实现方式来实现该数据通信连接。
“JTAG”是用于IEEE 1149.1标准的通用名,该IEEE 1149.1标准也被称为用于使用边界扫描测试印刷电路板的测试存取端口的标准测试存取端口和边界扫描体系结构(Standard Test Access Port andBoundary-Scan Architecture)。当前,JTAG被广泛采用,以至于边界扫描和JTAG或多或少地同义了。JTAG不仅用于印刷电路板,而且还用于实施集成电路的边界扫描,并且还用作用于调试嵌入式系统的机制,为该系统提供方便的“后门”。使用JTAG网络,管理模块可有效地配置节点110、112、114、116中的处理器寄存器和存储器,用于根据本发明的实施例在计算系统上的操作系统中提供基于策略的操作系统服务。
组成图1所示的示例性系统的服务器和其他设备的配置是为了加以说明而不是为了加以限制。根据本发明的各个实施例的有用的数据处理系统可以包括另外的图1中未示出的服务器、路由器、其他设备和对等体系结构,如本领域的技术人员将会想到的那样。这些数据处理系统中的网络可以支持许多数据通信协议,其中包括例如传输控制协议(“TCP”)、网际协议(“IP”)、超文本传输协议(“HTTP”)、无线访问协议(“WAP”)、手持设备传输协议(“HDTP”)、MPI协议以及本领域的技术人员将会想到的其他协议。除图1中所示的那些硬件平台外,本发明的各个实施例还可以在各种硬件平台上实现。例如,用于根据本发明的实施例在操作系统中提供基于策略的操作系统服务的计算系统也可以被实现为诸如IBM的BlueGene/L的并行计算机。
根据本发明在计算系统上的操作系统中提供基于策略的操作系统服务通常用计算机、即用自动计算机器来实现。在图1的系统中,例如,所有节点在某种程度上至少被实现为计算机。为了进一步说明,因此,图2阐述了自动计算机器的框图,该自动计算机器包括用在根据本发明的实施例在计算系统上的操作系统中提供基于策略的操作系统的过程中的示例性计算节点110。图2的计算节点110包括至少一个计算机处理器156或“CPU”,以及随机存取存储器168(“RAM”),该RAM 168通过高速存储器总线166和总线适配器158连接到处理器156并且还连接到计算节点的其他部件。
在RAM 168中存储了应用106、性能测量模块107和操作系统108。所述操作系统108包括内核120、内核策略122、操作系统服务124以及缺省操作系统服务126。如上所述,应用106是实现用户级数据处理的计算机程序指令集。图2的内核策略122是将操作系统服务124之一映射到由内核120使用的一种类型的操作系统服务的表。图2例示的性能测量模块107、内核120、操作系统服务124以及缺省操作系统服务126是软件组件,即计算机程序指令,其如以上关于计算节点参考图1所述那样进行操作。为了根据本发明在计算系统上的操作系统中提供基于策略的操作系统服务而改进的操作系统可以包括UNIXTM、LinuxTM、Microsoft NTTM、IBM的AIXTM、IBM的i5/OSTM、以及本领域的技术人员将会想到的其他操作系统。图2例子中的应用106、性能测量模块107、以及操作系统108被表示在了RAM168中,但该软件的多种组件还典型地存储在非易失性存储器中,例如存储在磁盘驱动器170上。
图2的示例性计算节点110包括总线适配器158、包含用于高速总线的驱动电子设备的计算机硬件部件、前端总线162和存储器总线166的驱动电子设备以及用于更慢速扩展总线160。用在根据本发明的实施例的计算节点中的总线适配器的例子包括Intel的Northbridge、Intel的存储器控制集线器、Intel的Southbridge以及Intel I/O控制集线器。用在根据本发明的实施例的计算节点中的扩展总线的例子包括外围部件互连(“PCI”)总线和PCI Express(“PCIe”)总线。
尽管在图2的示例性计算节点110中未描述,但总线适配器158也可以包括用于支持视频适配器和计算节点110的其他部件间的数据通信的视频总线的驱动电子设备。图2未描述这种视频部件,是因为计算节点通常被实现为在不具有专用视频支持的并行计算机中的服务器底座或节点中安装的刀片服务器。然而,读者应当注意到,用在本发明的实施例中的计算节点可以包括这种视频部件。
图2的示例性计算节点110还包括通过扩展总线160和总线适配器158连接到处理器156和示例性计算节点110的其他部件的盘驱动器适配器172。盘驱动器适配器172将以盘驱动器170形式的非易失性数据存储设备连接到示例性计算节点110。用在计算节点中的盘驱动器适配器包括集成驱动电子设备(“IDE”)适配器、小型计算机系统接口(“SCSI”)适配器以及本领域的技术人员将会想到的其他适配器。另外,如本领域的技术人员将会想到的那样,对计算节点而言,非易失性计算机存储器可以被实现为光盘驱动器、电可擦可编程只读存储器(所谓的“EEPROM”或“闪速”存储器)、RAM驱动器等。
图2的示例性计算节点110包括一个或多个输入/输出(“I/O”)适配器178。计算节点中的I/O适配器通过例如软件驱动程序和计算机硬件实现面向用户的输入/输出,用于控制去往显示设备、诸如计算机显示屏的输出以及来自用户输入设备181、诸如键盘和鼠标的用户输入。尽管在图2的例子中未示出,但是本发明的其他实施例中的计算节点可以包括视频适配器,其是专门为去往显示设备、诸如显示屏或计算机监视器的图形输出而设计的I/O适配器的一个例子。视频适配器通常通过高速视频总线、总线适配器158和也为高速总线的前端总线162连接到处理器156。
图2的示例性计算节点110包括用于与其他计算机182进行数据通信和用于与数据通信网络101进行数据通信的通信适配器167。可以通过RS-232连接,通过外部总线、诸如通用串行总线(“USB”),通过数据通信网络、诸如IP数据通信网络,以及以本领域的技术人员将会想到的其他方式,串行地执行这些数据通信。通信适配器实现数据通信的硬件级,通过它,一个计算机将数据通信直接地或者通过数据通信网络发送到另一计算机。用于根据本发明的实施例在计算系统上的操作系统中提供基于策略的操作系统服务的通信适配器的例子包括用于有线拨号通信的调制解调器,用于有线数据通信网络通信的IEEE 802.3以太网适配器,以及适合于无线数据通信网络通信的802.11b适配器。
尽管参考示例性计算节点论述了图2,但是读者将会注意到,包括用在根据本发明的实施例在计算系统上的操作系统中提供基于策略的操作系统服务的过程中的示例性操作系统服务节点和示例性管理节点的自动计算机器与图2的示例性计算节点110类似。即,这些示例性操作系统服务节点和示例性管理节点包括一个或多个处理器、总线适配器、总线、RAM、通信适配器、I/O适配器、盘驱动器适配器和本领域的技术人员将会想到的与图2的示例性计算节点110类似的其他部件。
为了进一步说明,图3阐述一个流程图,其示例说明了一种用于根据本发明的实施例在计算系统上的操作系统中提供基于策略的操作系统服务的示例性方法。计算系统包括至少一个计算节点110。计算节点包括操作系统108。操作系统108包括内核和一种服务类型的多个操作系统服务。
图3的方法包括在计算节点上建立(300)用于指定用在操作系统中的一种服务类型的所述操作系统服务之一的内核策略122。图3的内核策略122是将操作系统服务映射到由内核使用的一种类型的操作系统服务的表。在图3的例子中,内核策略122的每一记录标识对于一种特定服务类型将要在操作系统中使用哪一操作系统服务。为了标识对于一种特定服务类型在操作系统中将要使用哪个操作系统服务,内核策略122的每一个记录包括操作系统服务标识符302和服务类型304。可在内核策略122中指定的操作系统服务的示例性类型304可以包括任务调度器、文件系统、存储器管理、设备驱动器、I/O调度器、中断/信号处理、安全性、作业提交、tty处理等。对于用在根据本发明的实施例在计算系统上的操作系统中提供基于策略的操作系统服务的过程中的内核策略122的一个例子,假定下述表:
在表1的示例性内核策略中,将操作系统服务标识符302的值“UFS_Service”与服务类型304的值“File_System”相关联,指定了当内核需要访问文件系统服务类型时,该内核使用实现Unix文件系统的操作系统服务。将操作系统服务标识符302的值“Round_Robin_MM_Algorithm”与服务类型304的值“Memory_Management”相关联,指定了当内核需要访问存储器管理服务类型时,内核使用实现循环算法的操作系统服务。将操作系统服务标识符302的值“Limited_I/O_Access”与服务类型304的值“I/O_Scheduler”相关联,指定了当内核使用I/O调度器服务类型时,内核使用实现有限I/O访问的操作系统服务。读者将会注意到,上述示例性内核策略122是用于说明而不是为了加以限制。本领域的技术人员将会想到的其他内核策略也可以用在根据本发明的实施例在计算系统上的操作系统中提供基于策略的操作系统服务的过程中。
在图3的方法中,可以通过在管理模块中从系统管理员接收操作系统服务和服务类型间的映射,以及根据该映射通过管理模块在计算节点上创建内核策略122,来执行在计算节点上建立(300)用于指定用在操作系统中的一种服务类型的所述操作系统服务之一的内核策略122。管理模块是系统管理可以用来配置包括计算节点的计算系统的软件组件。管理模块在其上创建内核策略122的特定计算节点通常由系统管理员通过由管理模块提供的用户界面指定。管理模块可以被直接安装在计算节点或连接到计算节点的任何其他计算机网络上。管理模块可以通过使用共享的存储器空间、CORBA框架、JTAG网络、Web服务、MPI库或本领域的技术人员将会想到的任何其他数据通信实现方式实现的数据通信连接,在计算节点上创建内核策略122。
图3的方法还包括建立(306)性能规则集(131)。性能规则集(131)是规定了用于分析计算系统性能的规则的表。在图3的例子中,性能规则集(131)的每条记录标识了在计算系统的性能满足预定标准时将执行的动作。为了标识在计算系统的性能满足预定标准时将执行的动作,该性能规则集(131)的每条记录包括规则标识符(310)、标准(312)以及动作(314)。参见下表,例示了根据本发明的实施例,在计算系统上的操作系统中提供基于策略的操作系统服务中可用的性能规则集(131):
在表2的性能规则集的例示性规则“1”中,将用于标准(312)的值“CN.MMProcess>2%&CN.MMProcess≤5%”与用于动作(413)的值“CN.Adjust_MM_Service”相关,该动作(413)规定在存储器管理服务处理的平均消耗超过2%且小于计算节点处理器的处理器利用的5%时,调整计算节点的当前存储器管理服务的操作参数。在示例性规则“2”中,将用于标准(312)的值“CN.MMProcess>5%”与用于动作(413)的值“CN.Switch_MM_Service”相关,该动作(413)规定了在存储器管理业务处理的平均消耗大于计算节点处理器的处理器利用的5%时,调整计算节点的内核策略(122)以切换由内核使用的存储器管理业务。
表2的性能规则集的示例性规则“3”和“4”示范了在一个或多个操作系统服务节点中分布一个或多个操作系统服务时,可使用的例示性规则。在例示性规则“3”中,将用于标准(312)的值“OSSN1.ServerProcess>95%”与用于动作(413)的值“OSSN1.Add_Node”相关,该动作(413)规定了在操作系统服务节点“OSSN1”上的服务服务器处理的平均消耗超过了操作系统服务节点“OSSN1”处理器的处理器利用的95%时,分配额外的操作系统服务节点,其提供与操作系统服务节点“OSSN1”相同的操作系统服务。在例示性规则“4”中,将用于标准(312)的值“OSSN1.ServerProcess<40%”与用于动作(413)的值“OSSN1.Reconfig_Node”相关,该动作(413)规定了当操作系统服务节点“OSSN1”上服务服务器处理的平均消耗低于操作系统服务节点“OSSN1”处理器的处理器利用的40%时,重新配置操作系统服务节点“OSSN1”以提供不同的操作系统服务集。读者会注意到,以上表2的例示性性能规则集是说明性而不是限制性的。也可使用本领域技术人员知道的其它性能规则集来根据本发明的实施例,在计算系统上的操作系统中提供基于策略的操作系统服务。
可通过在管理模块中从系统管理员接收一组动作及规定了何时基于计算系统的性能执行所述动作的相应标准,并根据接收到的动作和相应标准创建性能规则集(131),从而实现根据图3的方法建立(306)性能规则集(131)。所述管理模块是一软件组件,系统管理员可使用它配置包括计算节点的计算系统。管理模块在其上创建性能规则集(131)的特定计算节点典型地由系统管理员通过管理模块提供的用户接口进行规定。管理模块可直接安装在计算节点上,或者任何其它连接到计算节点的计算网络上。管理模块可通过数据通信连接在计算节点上创建性能规则集(131),可使用共享存储器空间、CORBA架构、JTAG网络、web业务、MPI库、或者本领域技术人员知道的任何其它数据通信实现方式来实现该数据通信连接。
图3的方法包括测量(316)计算系统的性能(318)。图3测量到的性能(318)表示节点和运行在计算系统的节点上的软件的性能。测量到的性能(318)的例子可包括计算系统内部的处理器所执行的每个处理使用的处理器利用百分比、用于计算系统内部的每个处理器的空闲时间百分比、发生在计算系统内部每个处理器上的出错页面数目、计算系统内部每个处理器可访问的可用存储器量、在每个处理器上执行的软件组件可占用存储器量等。可由作为计算系统的每个节点上处理而运行的性能测量模块来测量计算系统的性能。该性能测量模块可通过测量计算节点的性能,或通过测量一个或多个操作系统服务节点的性能来测量(316)计算系统的性能。该性能测量模块可通过在一段时间内对于计算系统的一个节点为预定的性能标准进行多次测量并对测量值进行平均,从而根据图3的方法测量(316)计算系统的性能。
图3的方法还包括根据性能规则集(131)和测量到的性能(318)调整(320)内核策略(122)。根据图3的方法基于性能规则集(131)和测量到的性能(318)调整(320)内核策略(122)可通过上述管理模块来实现。该管理模块可通过将测量到的性能(318)与用于性能规则集(131)中的每条记录的标准(312)进行比较,从而根据图3的方法调整(320)内核策略(122)。如果测量到的性能(318)满足一条记录的标准(312),则管理模块可执行与该测量到的性能(318)满足的标准(312)相关的动作(314)。与该测量到的性能(318)满足的标准(312)相关的动作(314)可标识用于对内核策略(122)执行调整的计算机程序指令。这种调整有利于操作来重新配置操作系统中内核使用的操作系统服务,从而尽力优化计算系统的性能,或者将计算系统适应于变化中的环境。
除了根据性能规则集和测量到的性能调整内核策略之外,还可根据性能规则集和测量到的性能调整用于在操作系统中使用的所述内核策略中规定的操作系统服务的操作参数。当当前操作系统服务的性能可比切换到同一类型的不同操作系统服务更有效地被调整时,调整内核策略中规定的操作系统服务的操作参数是有利的。为了进一步说明,因此,图4阐述了一个流程图,其例示了用于根据本发明的实施例在计算系统上的操作系统中提供基于策略的操作系统服务的另一例示性方法,包括根据性能规则集(131)和测量到的性能(318)调整(404)规定的操作系统服务(400)的操作参数(402)。在图4的例子中,计算系统包括至少一个计算节点(110)。计算节点(110)包括操作系统(108)。操作系统包括一个内核和一种服务类型的多种操作系统服务。
图4的方法与图3的方法类似之处在于,图4的方法包括在计算节点上建立(300)内核策略(122),该内核策略(122)规定了用于操作系统中的内核使用的所述服务类型的所述操作系统服务之一,建立(306)性能规则集(131),该性能规则集(131)规定了规则以用于分析计算系统性能、测量(316)计算系统的性能(318),并根据性能规则集(131)和测量到的性能(318)调整内核策略(122)。图4的例子与图3的例子的类似之处还在于图4的内核策略(122)包括操作系统服务标识符(302)和服务类型(304)。图4的例子与图3的例子的类似之处还在于性能规则集(131)包括规则标识符(310)、标准(312)以及动作(314)。
图4的方法还包括由内核指定(301)用在操作系统中的服务类型305。通过在沿执行流程的特定点上实现所述内核的计算机程序指令中包括一个包含服务类型305的指令,内核可以根据图4的方法指定(301)用在操作系统中的服务类型305。例如,在沿用于内核的执行流程的特定点上,实现内核的计算机程序指令可以包含表示下述指令的机器代码:
·Execute_Service(′File_System′);
在上述示例性指令中,函数‘Execute_Service’是这样一个函数,其指示内核执行在内核策略122中为具有值‘File_System’的服务类型305指定的操作系统服务。在实现内核的计算机程序指令中包括这种示例性指令,指定了操作系统使用文件系统服务类型的服务。读者将会注意到,上述示例性指令是用于说明而不是加以限制。本领域的技术人员将会想到的其他指令也可以用在根据本发明的实施例在计算系统上的操作系统中提供基于策略的操作系统服务的过程中。
图4的方法包括:视指定的服务类型305而定,由内核从内核策略122检索(303)所指定的操作系统服务400。通过在内核策略122中查找和具有与所指定的服务类型305相同值的服务类型304有关的操作系统服务标识符302,可以执行根据图4的方法视指定的服务类型305而定,由内核从内核策略122检索(303)所指定的操作系统服务400。
图4的方法包括根据性能规则集(131)和测量到的性能(318)调整所述指定操作系统服务(400)的操作参数(402)。图4的操作参数(402)代表实现指定操作系统服务(400)的计算机程序指令用来执行指定操作系统服务(400)的值。例如,在存储器管理操作系统服务中,操作参数可包括指示存储器管理系统服务将分配给每个处理的页面数量的值。可由内核或者上述管理模块来实现根据图4的方法调整(404)所述指定操作系统服务(400)的操作参数(402)。管理模块可通过将测量到的性能(318)与用于性能规则集(131)中每条记录的标准(312)进行比较,从而根据图4的方法调整(404)指定操作系统服务(400)的操作参数(402)。如果测量到的性能(318)满足所述记录之一的所述标准(312),则管理模块可执行与测量到的性能(318)所满足的标准(312)相关的动作(314)。与测量到的性能(318)所满足的标准(312)相关的动作(314)可标识用于实现对所述操作参数(402)进行调整的计算机程序指令。这种调整有利于操作来重新配置操作系统中的内核使用的操作系统服务,尽力优化计算系统的性能或者使计算系统适应于变化中的环境。
除了根据性能规则集和测量到的计算系统性能调整所述内核策略或内核策略中规定的操作系统服务的操作参数之外,计算系统的操作系统服务节点可根据性能规则集和测量到的性能进行管理。为了进一步解释,因此,图5阐述了一流程图,其例示了根据本发明的实施例在计算系统上的操作系统中提供基于策略的操作系统服务的另一例示性方法,该方法包括根据性能规则集(131)和测量到的性能(318)管理(506)所述操作系统服务节点。操作系统被实现为分布式操作系统,其包括至少一个计算节点及一个或多个操作系统服务节点。所述计算节点包括所述操作系统,该操作系统包括一个内核和一种服务类型的多个操作系统服务。在所述操作系统服务节点中分布一种或多种所述操作系统服务。
图5的方法与图3的方法的类似之处在于,图5的方法包括:在计算节点上建立(300)内核策略(122),该内核策略指定了用于操作系统中的内核使用的所述服务类型的所述操作系统服务之一,建立(306)性能规则集(131),该性能规则集(131)规定了规则以用于分析计算系统性能,测量(316)计算系统的性能(318),并根据性能规则集(131)和测量到的性能(318)调整(320)内核策略(122)。图5的例子与图3的例子的类似之处还在于,内核策略(122)包括操作系统服务标识符(302)和服务类型(304)。然而,在图5的例子中,内核策略(122)还通过在每一记录中包括操作系统服务节点标识符(500),来指定将要提供每一指定操作系统服务的操作系统服务节点。图5的例子与图3的例子类似之处还在于,性能规则集(131)包括规则标识符(310)、标准(312)和动作(314)。
图5的方法还包括根据性能规则集(131)和测量到的性能(318)管理(506)所述操作系统服务节点。根据图5的方法基于性能规则集(131)和测量到的性能(318)管理(506)所述操作系统服务节点包括,根据性能规则集(131)和测量到的性能(318)确定(508)所述操作系统服务节点之一是否被过度利用。过度利用的操作系统服务节点是这样的节点,其用于提供操作系统服务的可用处理器利用率小于所述节点的处理器的总处理器利用率的预定部分。可在性能规则集的标准(312)中规定用于标识过度利用操作服务节点的节点处理器的总处理器利用的所述预定部分。因此,可通过从操作系统服务节点之一获得测量到的性能(318),并将测量到的节点性能(318)与用于规定过度利用节点条件的性能规则集(131)中每条记录的标准(312)进行比较,从而实现根据图5的方法确定(508)所述操作系统服务节点之一是否被过度利用。如果测量到的节点性能(318)满足所述记录之一的标准(312),则管理模块确定其测量到的性能(318)满足标准(312)的节点是过度利用的操作系统服务节点。如果测量到的节点性能(318)不满足所述记录之一的标准(312),则管理模块稍后从该节点获得测量到的性能,并稍后再次确定该节点是否被过度利用。
根据图5的方法基于性能规则集(131)和测量到的性能(318)管理(516)所述操作系统服务节点还包括分配(510)额外的操作系统服务节点来提供过度利用的操作系统服务节点所提供的操作系统服务。可通过由管理模块执行与用于确定节点被过度利用的标准(312)相关的动作(314),来实现根据图5的方法分配(510)额外的操作系统服务节点来提供所述过度利用的操作系统服务节点所提供的操作系统服务。与用于确定节点被过度利用的标准(312)相关的动作(314)可识别用于实现额外操作系统服务节点分配的计算机程序指令。这种分配可包括为可用节点配置操作系统服务以及使得所述节点向计算节点提供所述操作系统服务的服务服务器。这种分配还可包括更新一个或多个计算节点上建立的内核策略(122),从而使得这些计算节点的内核利用最新分配的操作系统服务节点提供的操作系统服务。
除了分配额外的操作系统服务节点来提供所述过度利用的操作系统服务节点所提供的操作系统服务之外,根据性能规则集和测量到的性能管理操作系统服务节点还可包括重新配置利用不足(under-utilized)的操作系统服务节点。因此,为了进一步说明,图6阐述了一个流程图,其示例说明了根据本发明的实施例在计算系统上的操作系统中提供基于策略的操作系统服务的另一示例性方法,该方法包括如果不止一个操作系统服务节点提供与利用不足的操作系统服务节点相同的操作系统服务,则重新配置(604)所述利用不足的操作系统服务节点。计算系统被实现为分布式计算系统,其包括至少一个计算节点及一个或多个操作系统服务节点。该计算节点包括操作系统,该操作系统包括一内核及一服务类型的多种操作系统服务。在操作系统服务节点中分布了所述一种或多种操作系统服务。
图6的方法与图3的方法的类似之处在于,图6的方法包括:在计算节点上建立(300)内核策略(122),该内核策略(122)规定了操作系统中的内核使用的所述服务类型的所述操作系统服务之一,建立(306)性能规则集(131),该性能规则集(131)规定了规则以用于分析计算系统性能,测量(316)计算系统的性能(318),并根据性能规则集(131)和测量到的性能(318)调整(320)内核策略(122)。图6的例子与图3的例子的类似之处还在于,内核策略(122)包括操作系统服务标识符(302)和服务类型(304)。然而,在图6的例子中,内核策略122还通过在每一记录中包括操作系统服务节点标识符500,指定将要提供每一指定的操作系统服务的操作系统服务节点。图6的例子与图3的例子的类似之处还在于,性能规则集(131)包括规则标识符(310)、标准(312)和动作(314)。
图6的方法还包括根据性能规则集(131)和测量到的性能(318)管理(506)所述操作系统服务节点。根据图6的方法基于性能规则集(131)和测量到的性能(318)管理(506)所述操作系统服务节点包括,根据性能规则集和测量到的性能确定(600)操作系统服务节点之一是否利用不足。利用不足的操作系统服务节点是这样的节点,其用于提供操作系统服务的可用处理器利用率大于所述节点的处理器的总处理器利用率的预定部分。可在性能规则集的标准(312)中规定用于识别利用不足的操作系统服务节点的节点处理器的总处理器利用率的所述预定部分。因此,可通过从所述操作系统服务节点之一获得测量到的性能(318),并将测量到的节点性能与用于规定利用不足的节点条件的性能规则集(131)中每条记录的标准(312)进行比较,从而实现根据图6的方法确定(600)所述操作系统服务节点之一是否利用不足。如果测量到的节点性能(318)满足所述记录之一的所述标准(312),则管理模块确定其测量到的性能(318)满足所述标准(312)的节点是利用不足的操作系统服务节点。如果测量到的节点性能(318)不满足所述记录之一的所述标准(312),则管理模块稍后从该节点获得测量到的性能,并稍后再次确定该节点是否利用不足。
根据图6的方法基于性能规则集(131)和测量到的性能(318)管理(506)操作系统服务节点还包括重新配置(604)所述利用不足的操作系统服务节点。在图6的方法中,可通过由管理模块执行与用于确定节点利用不足的标准(312)相关的动作(314)来实现重新配置(604)所述利用不足的操作系统服务节点。与用于确定节点利用不足的标准(312)相关的动作(314)可识别用于实现所述利用不足操作系统服务节点的重新配置的计算机程序指令。这种重新配置可包括重新配置所述利用不足的节点来提供额外的操作系统服务,从而利用当前可用的处理带宽。这种重新配置还可包括重新配置所述利用不足的节点来向更大数量的计算节点提供相同的操作系统服务,从而利用当前可用的处理带宽。这种重新配置还可包括,如果不止一个操作系统服务节点提供与利用不足的操作系统服务节点相同的操作系统服务,则解除分配所述利用不足的操作系统服务节点。这种重新配置可进一步包括更新一个或多个计算节点上建立的内核策略(122),从而使得这些计算节点的内核能够以反映了所述利用不足的操作系统服务节点的重新配置的方式来利用所述操作系统服务。
鉴于以上所阐述的说明,读者将会意识到,根据本发明的实施例在计算系统上的操作系统中提供基于策略的操作系统服务,提供了下述优点:
●基于由所述操作系统管理的硬件和软件环境,配置使用在所述操作系统中的操作系统服务的能力;
●通过提供由操作系统的内核使用的各种操作系统服务,使操作系统适应新的环境或满足新需求的能力,以及
●通过根据变化的条件重新分配由操作系统的内核使用的操作系统服务,从而将操作系统动态调整适应于计算环境中的所述变化条件的能力。
主要在用于在操作系统中提供基于策略的操作系统服务的全功能计算系统的环境中描述了本发明的示例性实施例。然而,本领域的技术人员将会意识到,本发明也可以用位于与任何适当的数据处理系统一起使用的信号承载介质上的计算机程序产品实现。这种信号承载介质可以是用于机器可读信息的传输介质或可记录介质,包括磁性介质、光学介质或其他适当的介质。可记录介质的例子包括硬盘驱动器或磁带盒中的磁盘、用于光学驱动器的紧密盘、磁带和本领域的技术人员将会想到的其他介质。传输介质的例子包括用于语音通信的电话网络以及数字数据通信网络、诸如EthernetsTM和利用网际协议和万维网通信的网络,以及无线传输介质、诸如根据IEEE 802.11规范系列实现的网络。本领域的技术人员将会意识到,具有适当的编程装置的任何计算系统都将能执行在程序产品中包含的本发明的方法的步骤。本领域的技术人员将会立即意识到,尽管在本说明书所述的一些示例性实施例是面向在计算机硬件上安装和实现的软件的,但是被实现为固件或硬件的替换实施例也在本发明的范围之内。
从上文的描述中将会理解到,在不背离本发明的真实精神的情况下,可以在本发明的各个实施例中做出改进和改变。本说明书中的描述仅用于示例目的,而不应被解释为限制意义。本发明的范围仅通过所附权利要求的语言限制。
Claims (13)
1.一种在计算系统上的操作系统中提供基于策略的操作系统服务的方法,
该计算系统包括至少一个计算节点,所述计算节点包括操作系统,所述操作系统进一步包括一内核和一种服务类型的多个操作系统服务,该方法包括:
在所述计算节点上建立一内核策略,该内核策略指定了所述操作系统中的所述内核使用的所述服务类型的所述多个操作系统服务之一;
建立一性能规则集,该性能规则集规定了用于分析所述计算系统性能的规则;
测量所述计算系统的性能;及
根据所述性能规则集和测量到的性能调整所述内核策略。
2.权利要求1所述的方法,其中每个操作系统服务由操作参数表征,该方法进一步包括:
根据所述性能规则集和测量到的性能调整所述指定操作系统服务的所述操作参数。
3.权利要求1所述的方法,其中:
所述计算系统是进一步包括一个或多个操作系统服务节点的分布式计算系统;
一个或多个所述操作系统服务被分布在所述多个操作系统服务节点中;以及
所述内核策略还指定将要提供所述指定的操作系统服务的一个操作系统服务节点。
4.权利要求3所述的方法,其中测量所述计算系统的性能进一步包括测量所述计算节点的性能。
5.权利要求3所述的方法,其中测量所述计算系统的性能进一步包括测量所述操作系统服务节点的性能。
6.权利要求3所述的方法,进一步包括:
根据所述性能规则集和测量到的性能管理所述操作系统服务节点。
7.权利要求6所述的方法,其中根据所述性能规则集和测量到的性能管理所述操作系统服务节点进一步包括:
根据所述性能规则集和测量到的性能确定所述多个操作系统服务节点之一是否被过度利用;及
分配额外的操作系统服务节点来提供所述过度利用的操作系统服务节点所提供的所述操作系统服务。
8.权利要求6所述的方法,其中根据所述性能规则集和测量到的性能管理所述操作系统服务节点进一步包括:
根据所述性能规则集和测量到的性能确定所述多个操作系统服务节点之一是否利用不足;及
重新配置所述利用不足的操作系统服务节点。
9.权利要求3所述的方法,其中所述分布式计算系统是并行计算机。
10.一种用于在操作系统中提供基于策略的操作系统服务的计算系统,该计算系统包括至少一个计算节点,所述计算节点包括操作系统,所述操作系统进一步包括一内核和一种服务类型的多个操作系统服务,该计算系统进一步包括:
用于在所述计算节点上建立一内核策略的装置,该内核策略指定了所述操作系统中的所述内核使用的所述服务类型的所述多个操作系统服务之一;
用于建立一性能规则集的装置,该性能规则集规定了用于分析所述计算系统的性能的规则;
用于测量所述计算系统的所述性能的装置;及
用于根据所述性能规则集和测量到的性能调整所述内核策略的装置。
11.权利要求10所述的计算系统,其中:
所述计算系统是进一步包括一个或多个操作系统服务节点的分布式计算系统;
一个或多个所述操作系统服务被分布在所述多个操作系统服务节点中;及
所述内核策略还指定将要提供所述指定的操作系统服务的一个操作系统服务节点。
12.权利要求11所述的计算系统,进一步包括:
用于根据所述性能规则集和测量到的性能确定所述多个操作系统服务节点之一是否被过度利用的装置;及
用于分配额外的操作系统服务节点来提供所述过度利用的操作系统服务节点所提供的所述操作系统服务的装置。
13.权利要求11所述的计算系统,进一步包括:
用于根据所述性能规则集和测量到的性能确定所述多个操作系统服务节点之一是否利用不足的装置;及
用于重新配置所述利用不足的操作系统服务节点的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/553,095 | 2006-10-26 | ||
US11/553,095 US7634388B2 (en) | 2006-10-26 | 2006-10-26 | Providing policy-based operating system services in an operating system on a computing system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101169734A CN101169734A (zh) | 2008-04-30 |
CN100559348C true CN100559348C (zh) | 2009-11-11 |
Family
ID=39331349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007101536374A Expired - Fee Related CN100559348C (zh) | 2006-10-26 | 2007-09-07 | 用于提供基于策略的操作系统服务的方法和计算系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7634388B2 (zh) |
CN (1) | CN100559348C (zh) |
Families Citing this family (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8713582B2 (en) * | 2006-10-26 | 2014-04-29 | International Business Machines Corporation | Providing policy-based operating system services in an operating system on a computing system |
US8656448B2 (en) * | 2006-10-26 | 2014-02-18 | International Business Machines Corporation | Providing policy-based application services to an application running on a computing system |
US8032899B2 (en) | 2006-10-26 | 2011-10-04 | International Business Machines Corporation | Providing policy-based operating system services in a hypervisor on a computing system |
US8589541B2 (en) | 2009-01-28 | 2013-11-19 | Headwater Partners I Llc | Device-assisted services for protecting network capacity |
US8402111B2 (en) | 2009-01-28 | 2013-03-19 | Headwater Partners I, Llc | Device assisted services install |
US8725123B2 (en) | 2008-06-05 | 2014-05-13 | Headwater Partners I Llc | Communications device with secure data path processing agents |
US8548428B2 (en) | 2009-01-28 | 2013-10-01 | Headwater Partners I Llc | Device group partitions and settlement platform |
US8635335B2 (en) | 2009-01-28 | 2014-01-21 | Headwater Partners I Llc | System and method for wireless network offloading |
US8275830B2 (en) | 2009-01-28 | 2012-09-25 | Headwater Partners I Llc | Device assisted CDR creation, aggregation, mediation and billing |
US8406748B2 (en) | 2009-01-28 | 2013-03-26 | Headwater Partners I Llc | Adaptive ambient services |
US8340634B2 (en) | 2009-01-28 | 2012-12-25 | Headwater Partners I, Llc | Enhanced roaming services and converged carrier networks with device assisted services and a proxy |
US8924469B2 (en) | 2008-06-05 | 2014-12-30 | Headwater Partners I Llc | Enterprise access control and accounting allocation for access networks |
US8391834B2 (en) | 2009-01-28 | 2013-03-05 | Headwater Partners I Llc | Security techniques for device assisted services |
US8023425B2 (en) | 2009-01-28 | 2011-09-20 | Headwater Partners I | Verifiable service billing for intermediate networking devices |
US8898293B2 (en) | 2009-01-28 | 2014-11-25 | Headwater Partners I Llc | Service offer set publishing to device agent with on-device service selection |
US8626115B2 (en) | 2009-01-28 | 2014-01-07 | Headwater Partners I Llc | Wireless network service interfaces |
US8924543B2 (en) | 2009-01-28 | 2014-12-30 | Headwater Partners I Llc | Service design center for device assisted services |
US8346225B2 (en) | 2009-01-28 | 2013-01-01 | Headwater Partners I, Llc | Quality of service for device assisted services |
US8832777B2 (en) | 2009-03-02 | 2014-09-09 | Headwater Partners I Llc | Adapting network policies based on device service processor configuration |
US9858559B2 (en) | 2009-01-28 | 2018-01-02 | Headwater Research Llc | Network service plan design |
US8606911B2 (en) | 2009-03-02 | 2013-12-10 | Headwater Partners I Llc | Flow tagging for service policy implementation |
US10783581B2 (en) | 2009-01-28 | 2020-09-22 | Headwater Research Llc | Wireless end-user device providing ambient or sponsored services |
US9578182B2 (en) | 2009-01-28 | 2017-02-21 | Headwater Partners I Llc | Mobile device and service management |
US10484858B2 (en) | 2009-01-28 | 2019-11-19 | Headwater Research Llc | Enhanced roaming services and converged carrier networks with device assisted services and a proxy |
US10715342B2 (en) | 2009-01-28 | 2020-07-14 | Headwater Research Llc | Managing service user discovery and service launch object placement on a device |
US9647918B2 (en) | 2009-01-28 | 2017-05-09 | Headwater Research Llc | Mobile device and method attributing media services network usage to requesting application |
US11985155B2 (en) | 2009-01-28 | 2024-05-14 | Headwater Research Llc | Communications device with secure data path processing agents |
US9565707B2 (en) | 2009-01-28 | 2017-02-07 | Headwater Partners I Llc | Wireless end-user device with wireless data attribution to multiple personas |
US8745191B2 (en) | 2009-01-28 | 2014-06-03 | Headwater Partners I Llc | System and method for providing user notifications |
US10057775B2 (en) | 2009-01-28 | 2018-08-21 | Headwater Research Llc | Virtualized policy and charging system |
US10841839B2 (en) | 2009-01-28 | 2020-11-17 | Headwater Research Llc | Security, fraud detection, and fraud mitigation in device-assisted services systems |
US10492102B2 (en) | 2009-01-28 | 2019-11-26 | Headwater Research Llc | Intermediate networking devices |
US10237757B2 (en) | 2009-01-28 | 2019-03-19 | Headwater Research Llc | System and method for wireless network offloading |
US9270559B2 (en) | 2009-01-28 | 2016-02-23 | Headwater Partners I Llc | Service policy implementation for an end-user device having a control application or a proxy agent for routing an application traffic flow |
US8793758B2 (en) | 2009-01-28 | 2014-07-29 | Headwater Partners I Llc | Security, fraud detection, and fraud mitigation in device-assisted services systems |
US9572019B2 (en) | 2009-01-28 | 2017-02-14 | Headwater Partners LLC | Service selection set published to device agent with on-device service selection |
US10200541B2 (en) | 2009-01-28 | 2019-02-05 | Headwater Research Llc | Wireless end-user device with divided user space/kernel space traffic policy system |
US9706061B2 (en) | 2009-01-28 | 2017-07-11 | Headwater Partners I Llc | Service design center for device assisted services |
US9253663B2 (en) | 2009-01-28 | 2016-02-02 | Headwater Partners I Llc | Controlling mobile device communications on a roaming network based on device state |
US10798252B2 (en) | 2009-01-28 | 2020-10-06 | Headwater Research Llc | System and method for providing user notifications |
US9571559B2 (en) | 2009-01-28 | 2017-02-14 | Headwater Partners I Llc | Enhanced curfew and protection associated with a device group |
US9955332B2 (en) | 2009-01-28 | 2018-04-24 | Headwater Research Llc | Method for child wireless device activation to subscriber account of a master wireless device |
US10326800B2 (en) | 2009-01-28 | 2019-06-18 | Headwater Research Llc | Wireless network service interfaces |
US11218854B2 (en) | 2009-01-28 | 2022-01-04 | Headwater Research Llc | Service plan design, user interfaces, application programming interfaces, and device management |
US10264138B2 (en) | 2009-01-28 | 2019-04-16 | Headwater Research Llc | Mobile device and service management |
US9954975B2 (en) | 2009-01-28 | 2018-04-24 | Headwater Research Llc | Enhanced curfew and protection associated with a device group |
US9351193B2 (en) | 2009-01-28 | 2016-05-24 | Headwater Partners I Llc | Intermediate networking devices |
US9557889B2 (en) | 2009-01-28 | 2017-01-31 | Headwater Partners I Llc | Service plan design, user interfaces, application programming interfaces, and device management |
US11973804B2 (en) | 2009-01-28 | 2024-04-30 | Headwater Research Llc | Network service plan design |
US9980146B2 (en) | 2009-01-28 | 2018-05-22 | Headwater Research Llc | Communications device with secure data path processing agents |
US10779177B2 (en) | 2009-01-28 | 2020-09-15 | Headwater Research Llc | Device group partitions and settlement platform |
US9392462B2 (en) | 2009-01-28 | 2016-07-12 | Headwater Partners I Llc | Mobile end-user device with agent limiting wireless data communication for specified background applications based on a stored policy |
US10064055B2 (en) | 2009-01-28 | 2018-08-28 | Headwater Research Llc | Security, fraud detection, and fraud mitigation in device-assisted services systems |
US10248996B2 (en) | 2009-01-28 | 2019-04-02 | Headwater Research Llc | Method for operating a wireless end-user device mobile payment agent |
US9755842B2 (en) | 2009-01-28 | 2017-09-05 | Headwater Research Llc | Managing service user discovery and service launch object placement on a device |
US8893009B2 (en) | 2009-01-28 | 2014-11-18 | Headwater Partners I Llc | End user device that secures an association of application to service policy with an application certificate check |
US9154826B2 (en) | 2011-04-06 | 2015-10-06 | Headwater Partners Ii Llc | Distributing content and service launch objects to mobile devices |
US9100306B2 (en) * | 2012-02-16 | 2015-08-04 | International Business Machines Corporation | Managing cloud services |
WO2014159862A1 (en) | 2013-03-14 | 2014-10-02 | Headwater Partners I Llc | Automated credential porting for mobile devices |
RU2600538C2 (ru) * | 2014-04-08 | 2016-10-20 | Интел Корпорейшн | Запуск приложения на основе интерфейса передачи сообщения (mpi) в гетерогенной среде |
US9547540B1 (en) * | 2015-12-21 | 2017-01-17 | International Business Machines Corporation | Distributed operating system functions for nodes in a rack |
US10732961B1 (en) * | 2017-12-02 | 2020-08-04 | Juniper Networks, Inc | Systems and methods for performing in-service software upgrades on active network devices |
US10503543B1 (en) | 2019-02-04 | 2019-12-10 | Cohesity, Inc. | Hosting virtual machines on a secondary storage system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1664803A (zh) * | 2004-03-04 | 2005-09-07 | 国际商业机器公司 | 用于使能多节点计算机系统中操作系统资源的分配的机制 |
US20060123429A1 (en) * | 2004-12-07 | 2006-06-08 | International Business Machines Corporation | Method and computer program product for handling application references to undefined operating system services |
WO2006092589A1 (en) * | 2005-03-02 | 2006-09-08 | Symbian Software Limited | Dual mode operating system for a computing device |
-
2006
- 2006-10-26 US US11/553,095 patent/US7634388B2/en not_active Expired - Fee Related
-
2007
- 2007-09-07 CN CNB2007101536374A patent/CN100559348C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1664803A (zh) * | 2004-03-04 | 2005-09-07 | 国际商业机器公司 | 用于使能多节点计算机系统中操作系统资源的分配的机制 |
US20060123429A1 (en) * | 2004-12-07 | 2006-06-08 | International Business Machines Corporation | Method and computer program product for handling application references to undefined operating system services |
WO2006092589A1 (en) * | 2005-03-02 | 2006-09-08 | Symbian Software Limited | Dual mode operating system for a computing device |
Also Published As
Publication number | Publication date |
---|---|
CN101169734A (zh) | 2008-04-30 |
US20080103728A1 (en) | 2008-05-01 |
US7634388B2 (en) | 2009-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100559348C (zh) | 用于提供基于策略的操作系统服务的方法和计算系统 | |
CN101169733B (zh) | 用于提供基于策略的操作系统服务的方法和系统 | |
CN100570565C (zh) | 在管理程序中提供基于策略的操作系统服务的方法和系统 | |
US6839892B2 (en) | Operating system debugger extensions for hypervisor debugging | |
CN101233489B (zh) | 自适应进程分派的方法和系统 | |
US7603669B2 (en) | Upgrade and downgrade of data resource components | |
US8386636B2 (en) | Business process system management method | |
US9026655B2 (en) | Method and system for load balancing | |
US9378066B2 (en) | Dynamic resizing of applications running on virtual machines | |
US7171470B2 (en) | Grid service scheduling of related services using heuristics | |
US20080196043A1 (en) | System and method for host and virtual machine administration | |
US20080052726A1 (en) | Application connector parallelism in enterprise application integration systems | |
US6971002B2 (en) | Method, system, and product for booting a partition using one of multiple, different firmware images without rebooting other partitions | |
US7424722B2 (en) | Method and system for creating a dynamic OGSI service proxy framework using runtime introspection of an OGSI service | |
US20110219373A1 (en) | Virtual machine management apparatus and virtualization method for virtualization-supporting terminal platform | |
US20070074074A1 (en) | Application health checks | |
US7721278B2 (en) | Modular server architecture for multi-environment HTTP request processing | |
JP2004318880A (ja) | ロジカル・パーティション・データ処理システムにおいてパーティション・ファームウェアを同時更新及び活動化するための方法及び装置 | |
US8296552B2 (en) | Dynamically migrating channels | |
US8862786B2 (en) | Program execution with improved power efficiency | |
CN109426544A (zh) | 虚拟机部署方法和装置 | |
US8656448B2 (en) | Providing policy-based application services to an application running on a computing system | |
CN112559336A (zh) | 自适应调试异构计算芯片的方法、装置、系统及主板芯片 | |
Goodwin et al. | What goes wrong in serverless runtimes? A survey of bugs in Knative Serving | |
CN114185660A (zh) | 任务管理系统、方法、装置、设备及存储介质 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20091111 Termination date: 20200907 |