MXPA06009282A - Facilitating allocation of resources in a heterogeneous computing environment - Google Patents

Facilitating allocation of resources in a heterogeneous computing environment

Info

Publication number
MXPA06009282A
MXPA06009282A MXPA/A/2006/009282A MXPA06009282A MXPA06009282A MX PA06009282 A MXPA06009282 A MX PA06009282A MX PA06009282 A MXPA06009282 A MX PA06009282A MX PA06009282 A MXPA06009282 A MX PA06009282A
Authority
MX
Mexico
Prior art keywords
environment
node
resource manager
request
attribute
Prior art date
Application number
MXPA/A/2006/009282A
Other languages
Spanish (es)
Inventor
Ferri Richard
Kim Moon
Meliksetian Dikran
Original Assignee
International Business Machines Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corporation filed Critical International Business Machines Corporation
Publication of MXPA06009282A publication Critical patent/MXPA06009282A/en

Links

Abstract

Allocation of resources in a heterogeneous computing environment is facilitated A resource manager of the heterogeneous computing environment obtains information that describes which nodes of the heterogeneous computing environment are capable of supporting additional operating systems and platforms over and above their native operating systems and platforms. This information is then used by the resource manager in allocating resources to satisfy a particular job.

Description

Europoan (? T, BR, BG, CH, CY, CZ, DR, DK, RE, ES, Fl, (88) Date of publication of the international search report: FR, GB, GR, HU, IE, IS, IT , LT, LU, MC, NL, PL, PT, RO, 17 November 2005 SE, SI, SK, TR), OAPI (BF, BJ, CF, CG, Cl, CM, GA, GN, GQ, GW, ML , MR, NE, SN, TD, TG). For two-leller codcs and other abbrevialions, refer to the "Guid-Publishcd: anee Notes on Codes and Abbreviations" appearing at the hegin- - wilh intemalional search repon no ofeach regular issue. oflhe PCT Gazelle. - before the expiralion qf the time limit for amending the claims and what is republished in the. event of receipl of amendmenls FACILITATION OF ALLOCATION OF RESOURCES IN A HETEROGENEOUS COMPUTER ENVIRONMENT Field of the Invention This invention relates, in general, to heterogeneous computing environments, and in particular, to the facilitation of the allocation of resources in a heterogeneous computing environment.
Background of the Invention A heterogeneous computing environment includes a plurality of nodes that have different architectures and operating systems. For example, at least one environment node is based on a different architecture running a different operating system than at least one other node in the environment. An example of a heterogeneous computing environment is a grid computing environment. A grid computing environment includes several nodes, such as workstations or servers, which cooperate to solve large computing problems. Typically, a grid extends over a large geographic area. The individual nodes that contribute to the grid can have many other alternative purposes, at various times, which can be used as nodes within a cluster or as individual workstations, as well as members of the grid. Typically, the decision to make available to the grid an individual node or group of nodes, is based on several points, including how busy the node is in its roles outside the grid, the demand for nodes in the grid, and the types of resources dedicated to the node. These resources, such as storage resources, memory, compute power, and file system, can be mapped to the largest grid to create a powerful and dynamic problem-solving environment. In the current state of the art, there is a strong affinity between the grid node and the characteristics of the work to be executed in that node. In particular, the node selected to run the work to a portion of it will have the correct version of the operating system and the correct architecture of the platform (that is, the correct environment). This is the result of work that has compromised executable files that are compiled and linked for a particular operating system on a particular platform. For example, executable files contain machine-level instructions that can only be run on machines in the same environment. This drawback restricts the grid to allocate resources from only those nodes that have the same environment as the work that is to be executed. Previously, attempts have been made to overcome this drawback. However, there is still a need for a capacity that facilitates the allocation of resources in a heterogeneous computing environment.
Description of the Invention The drawbacks of the prior art are overcome and additional advantages are provided through the provision of a method to facilitate the allocation of resources in a heterogeneous computing environment as claimed in claim 1. The products of the computer program corresponding to the method summarized above are also described and claimed herein.
BRIEF DESCRIPTION OF THE DRAWINGS The features and advantages of the invention will be apparent from the following detailed description taken in conjunction with the accompanying Figures in which: Figure 1 depicts a mode of a heterogeneous computing environment that incorporates and uses one or more aspects of the present invention; Figure 2 depicts an example of a cluster that can be employed in the heterogeneous computing environment of Figure 1, in accordance with one aspect of the present invention; Figure 3 depicts an example of a plurality of arrays of a grid computing environment, in accordance with one aspect of the present invention. Figure 4 represents a modality of a grid computing environment in which the available resources are restricted to the grid; Figure 5 represents a modality of the logic circuit associated with the provision of additional resources to the grid, in accordance with an aspect of the present invention; and Figure 6 represents a mode of a grid computing environment in. which additional resources are available to the grid for allocation, according to one aspect of the present invention.
Best Mode to Carry Out the Invention The ability to facilitate the allocation of resources in a heterogeneous computing environment is provided. The heterogeneous environment includes at least one resource manager that is responsible for determining which nodes in the environment can process a particular request. To make this determination, previously, the resource manager will consider those nodes that have the same environment (ie, architecture and operating system) as the request.
Additionally, as an improvement, the resource manager may also consider nodes of different generations of the same architecture as the request, as described in the PCT patent application co-pending No. PCT / EP2004 / 051499, entitled "Managing Processing Within Computing Environments Including Initiation of Virtual Machines". The scope of the nodes that will be considered to process a particular request extends for the most part, for example, nodes that have different native environments can be considered than the request. These heterogeneous nodes can be considered, since they are capable of supporting other environments, although their native environments are different from the request. The resource manager of the heterogeneous computing environment obtains information from the various nodes in the environment and uses this information to determine which nodes can be used to process a request. The information obtained for the resource manager includes attributes that relate to one or more environments (for example, platforms and operating systems) that are supported by, but are not native to, the nodes. These compatibility attributes are made available to the resource manager to broaden the scope of the nodes, and therefore, the resources available to process a specific request. Figure 1 shows an example of a heterogeneous computing environment. In this example, the heterogeneous environment is a grid computing environment 100 that includes, for example, a plurality of user workstations 102 (e.g., laptops, electronic notebooks, such as ThinkPads, personal computers, RS / 6000 , etc.) coupled to a work management service 104 by, for example, the Internet, an extranet, or an intranet. The work management service 104 includes, for example, a web application to be executed in a web application server, such as Websp ere offered by IBM1 ^, or distributed through a plurality of servers. It has the responsibility to accept user requests and to pass requests to the appropriate nodes of the environment. As an example, a user interacts with the work service through a client application, such as a Web browser or a separate application. There are several products that include a work management service, including, for example, LSF offered by Platform (www.platform.com), and Maui, an open source programmer available at http://www.supercluster.org. (IBMMR is a registered trademark of International Business Machines Corporation, Armonk, New York, E.U.A. Other names used herein may be registered trademarks, trademarks or product names of International Business Machines Corporation or other companies). The work management service 104 is additionally coupled via the internet, an extranet or an intranet to one or more data centers 106. Each data center includes, for example, one or more nodes 108, such as central computers, workstations and / or servers. The nodes of the environment are heterogeneous nodes since at least one node is based on a different architecture and / or is running a different operating system than at least one other node. For example, a node can be based on the x86 architecture running a Linux operating system and another node can be based on the PowerPC architecture running AIX. As described herein, a grid computing environment includes a plurality of nodes cooperating to solve a large computing problem. The individual nodes that contribute to the grid can have many other alternative purposes. For example, the nodes within the grid can be used as individual work stations or form a cluster, an example of which is represented in Figure 2. A cluster 200 includes, for example, a set of homogeneous nodes 202, which they are managed by a resource manager 204, such as a resource manager of the pool. The resource manager of the pool receives user requests and is responsible for allocating pool resources to individual requests. The manner in which resources are allocated depends on the requirements (for example, storage, CPU requirements, etc.) of the request. It is the responsibility of the resource manager of the cluster to use resources efficiently to maximize production. An example of a pool resource manager is Loadleveler, offered by International Business Machines Corporation, Armonk, New York. One or more groupings can be coupled together to form a grid computing environment. In a grid environment, an additional software layer is added, which assigns the nodes to the larger grid, as shown in Figure 3. A grid computing environment 300 includes a job management service, such as a resource manager 302 of the grid, which is coupled to a plurality of resource managers 304 of the grouping of a plurality of groupings. A request is submitted to the grid resource manager, and the grid resource manager is aware of one or more sets of nodes, each of which may have different architectures and operating systems. It is from this set of architectures and operating systems that the grid resource manager extracts when it evaluates the resources available for a grid request. For example, if a grid request is presented (for example, a job or a portion of it) that is a Linux executable program compiled for an x86 pool, the grid manager only considers the set of nodes that exactly satisfy these conditions to select the candidate resources. This drawback is illustrated in Figure 4, where a large number of resources must remain unoccupied due to the restrictions of the operating system and architecture of the submitted petition. With reference to Figure 4, a grid resource manager 400 only considers computing the nodes 402 coupled to the resource manager 404 of the cluster, since the resource manager of the grid is aware that these nodes have the same environment as the executable program that is going to run. That is, the executable Linux program compiled for an x86 cluster can run on these nodes, since they are based on the x86 architecture and are running the Linux operating system. Nodes 406, managed by a resource manager 408 of the cluster, running an AIX operating system in a PowerPC architecture are not considered for resource allocation, since they are not from the same environment as the presented executable program. Nevertheless, according to one aspect of the present invention, the nodes 406 can be considered. That is, a compatibility is provided for coupling a grid resource manager to consider additional nodes, if these nodes can support additional operating systems and additional architectures. . For example, it is possible that even if one or more nodes in a grid are native to an environment (that is, they have a particular equipment platform and a particular equipment operating system), they may also be able to support other environments. For example, a node that has a native PowerPC operating environment that runs AIX may be able to support an x86 environment running Linux. In this way, this node can process requests (for example, execute programs) that require any environment, as indicated by the request either explicitly or implicitly. In order for a request to be executed on a node that is not native to the request, the request is moved to the other environment. For example, if the request is to run a program, the program, which is written for the native environment, moves to the other environment. There are techniques to move a program from one environment and make it executable in another environment. This technique includes using an application programming interface (API). Programs have access to operating system routines, such as reading and writing files, through a series of well-defined functions of the operating system defined in an API. A well-constructed program, written in a high-level programming language, such as the C programming language, can be easily adapted from one operating system or another if both operating systems support the same API. For example, a program written in C with several API calls can run on an AIX operating system, but can be adapted to run on Linux, if Linux supports the same set of APIs as AIX does. The same can be true in the adaptation of an application from an x86 platform (Intel 32 bit) to a 64 bit platform, if an API is provided, the program should be adapted rather easily. The disadvantage of APIs is that they are programming interfaces, and they require code recompilation to adapt the application from one environment to another. Again, returning to the example of a C program running on AIX, the same program will require a recompilation in a Linux environment, using the Linux APIs, to make the program easily executable under Linux. This concept of forcing a recompilation for each program that adapts from one environment to another is a consumer of time, and sometimes reveals hidden defects in the API. In this way, other techniques have been sought. A technique, referred to as an ABI or Binary Application Interface, provides a more direct technique for running a program in a different environment. The ABI provides a technique to take an executable program from one environment and run it in another environment without recompilation through the use of an emulation program (software) layer or through direct equipment support on a target machine. One architecture that ABI uses is the AMD64 architecture, offered by AMD, Sunnyvale, California. An example of ABI is described in "Binary Compatibility", http: // gcc. gnu org / onlinedocs / gcc / Compatibility. html Nodes that are capable of supporting different architectures, such as those that are capable of ABI, are exposed to the resource manager of the grid, so that the grid resource manager can use this information when assigning tasks to the groupings or individual nodes. This allows a larger group of nodes to become available to the larger grid. A modality of the logic circuit associated with exposing the different capabilities to the grid resource manager, which is then able to use this information in its resource allocation, is described, with reference to Figure 5. When a node, such as a workstation, goes online, STEP 500, provides a set of attributes to its resource manager, such as the resource manager of the pool, STEP 502. These attributes include, as examples, the platform (architecture) of the node; the operating system and the operating system level of the node; as well as a set of compatibility attributes, including, for example, any additional operating system and / or additional platforms (architectures) supported by the node through, for example, the ABI. This information is provided to the resource manager of the pool, for example, through Web Services Calls or Web Services Notifications. For example, an XML document that specifies these attributes is transferred to the resource manager of the cluster using Calls or Web Services Notifications, such as a SOAP call. An example of SOAP is described in "SOAP Version 1.2 Part 0; First," Nilo Mitra, http://www.w3.org/TR/2003/REC-soapl2-part0-20030624/. The resource manager of the pool receives this information and filters at least the node's compatibility attributes (for example, one or more non-native environments that it supports) to the grid resource manager, STEP 504. In one mode, this information it is provided to the resource manager of the grid using a similar mechanism as it is used to send information from a node to the resource manager of the pool. For example, the compatibility attributes are provided by a Web Services Call, such as a SOAP call, to a Web Service exposed by the grid resource manager. Although an example is given in the present to provide the information, many other means of communication are possible. The grid resource manager then takes these attributes into consideration when allocating resources to a request, STEP 506. Figure 6 represents a graphic illustration of the resource manager of the pool that obtains the compatibility attributes, such that the manager Grid resources can use these attributes in the allocation of resources. As shown in Figure 6, the computer nodes 600 each have a native AIX and PowerPC environment, but are compatible with Linux and x86 ABI. The nodes provide this information to their resource manager 602 of the pool. The resource manager of the pool then filters this information to the resource manager 604 of the grid. In this way, when the grid resource manager receives a request for a Linux executable program, it can consider the nodes 606, as well as the nodes 600 when it determines how it allocates the resources. For example, you can send requests to managers at nodes 600 and 606 to see if these nodes have the necessary resources. If one or more of the nodes have the resources, then at least one of the nodes is selected to process the request. Described in detail above is a capacity to facilitate the allocation of resources in a heterogeneous computing environment. A resource manager, such as a grid resource manager, obtains information that identifies these nodes in the heterogeneous environment that are capable of supporting additional operating systems and platforms. The resource manager then uses this information to determine how to allocate resources. This advantageously extends the number of resources available to the heterogeneous computing environment for a particular request. The nodes can be of different classes than those described here (for example, other central computers, workstations or servers) and / or can support different environments. Additionally, a heterogeneous environment can include a node that has the same architecture but a different generation as another node. Additionally, you can also use several types of interfaces, different from ABI to move jobs to different environments. In addition, several mechanisms can be used to filter the compatibility attributes of the nodes to the grid resource manager or other manager. As yet another example, the user can be replaced by an automated service or program. Additionally, a request or individual work can include multiple works that run simultaneously from multiple nodes. This is achieved in a manner similar to that described above. For example, the resource manager of the grids contacts a plurality of managers of the cluster and causes these managers to manage the plurality of nodes. There are also many other variations. As a further example, the environment may include one or more nodes that are divided. As a further example, one or more aspects of the present invention apply to the Hitachi Compatible Connection Machine (PCM). Other examples are also possible. The present invention allows the use of unused computing power that provides immediate economic benefits to an organization that has a large installed base of nodes. The present invention can be implemented in software, circuit program, computer hardware or some combination thereof. The present invention can be included in a manufacturing article (for example, one or more computer program products), which has, for example, computer-usable means. The media has in the present, for example, a means or logic circuit of program code, free by computer (for example, instructions, code, commands, etc.) to provide and facilitate the capabilities of the present invention. The article of manufacture can be included as part of a computer system or sold separately. Additionally, at least one free program storage device can be provided by a machine that incorporates at least one program of instructions executable by the machine to realize the capabilities of the present invention. The flow diagrams represented by the present are only examples. There may be many variations of these diagrams or the steps (or operations) described herein without departing from the spirit of the invention. For example, the steps can be performed in a different order, or the steps can be added, deleted or modified.

Claims (19)

  1. CLAIMS 1. Method to facilitate the allocation of resources in a heterogeneous computing environment, the method is characterized in that it comprises: obtaining, by a resource manager of the heterogeneous computing environment, an attribute that is related to a node in communication with the manager resource, the attribute that specifies at least one compatible non-native environment supported by the node; and take into consideration, by the resource manager, the attribute when allocating a resource from a node to a request. Method according to claim 1, characterized in that the attribute of a compatible non-native environment specifies an operating system and an environment processor. Method according to claim 1, characterized in that the taking into consideration comprises considering at least one node that has a native environment different from an environment indicated by the request but is capable of supporting the environment indicated by the request. 4. Method according to claim 1, characterized in that it also comprises receiving by the resource manager the request, the request indicating an environment in which the request is going to be processed, and wherein the node having the resource that is it is able to support that environment, as indicated by an attribute of the node, even if that environment is not a native environment of the node. 5. Method of compliance with the claim 4, characterized in that the request comprises a program to be executed. 6. Method according to claim 1, characterized in that the obtaining comprises providing the attribute to the resource manager by the node. Method according to claim 6, characterized in that the provision of the attribute by the node to the resource manager is through one or more different resource managers coupled to one or more nodes. 8. Method of compliance with the claim 5, characterized in that the application binary interface is used to run the program in a non-native environment. Method according to claim 1, characterized in that the heterogeneous computing environment comprises a grid computing environment and the resource manager comprises a grid resource manager. 10. System that facilitates the allocation of resources in a heterogeneous computing environment, the system is characterized in that it comprises: a means to obtain, by a resource manager of the heterogeneous computing environment, an attribute that is related to a node in communication with the resource manager, the attribute that specifies at least one compatible non-native environment supported by the node; and a means to take into account, by the resource manager, the attribute when allocating a resource from a node to a request. System according to claim 1, characterized in that the attribute of a compatible non-native environment specifies an operating system and an environment processor. System according to claim 10, characterized in that the consideration considers at least one node having a native environment different from an environment indicated by the request but which is capable of supporting the environment indicated by the request. 13. System according to claim 10, characterized in that it also comprises a means for receiving by the resource manager, the request, this request indicating an environment in which the request will be processed, and wherein the node that has the resource to be assigned is capable of supporting that environment, as indicated by a node attribute, even if that environment is not a native environment of the node. System according to claim 13, characterized in that the request comprises a program to be executed. 15. System according to claim 10, characterized in that the means for obtaining comprises means for providing the attribute to the resource manager by the node. 16. System according to claim 15, characterized in that the means for providing the attribute by the node to the resource manager is through one or more resource managers coupled to one or more nodes. System according to claim 14, characterized in that the application binary interface is used to run the program in the non-native environment. System according to claim 10, characterized in that the heterogeneous computing environment comprises a grid computing environment, and the resource manager comprises a grid resource manager. 19. Computer program product stored in a free storage medium by computer, characterized for, when running in a computer system, instructions are given to the computer system to carry out the method of any of the previous method claims.
MXPA/A/2006/009282A 2004-03-10 2006-08-16 Facilitating allocation of resources in a heterogeneous computing environment MXPA06009282A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10798108 2004-03-10

Publications (1)

Publication Number Publication Date
MXPA06009282A true MXPA06009282A (en) 2006-12-13

Family

ID=

Similar Documents

Publication Publication Date Title
EP1730638B1 (en) Facilitating allocation of resources in a heterogeneous computing environment
US10261815B2 (en) Methods and systems to determine and improve cost efficiency of virtual machines
CN100485623C (en) Method and system for dynamic resources allocation
US7631069B2 (en) Maintainable grid managers
US7594015B2 (en) Grid organization
US7574707B2 (en) Install-run-remove mechanism
US11508021B2 (en) Processes and systems that determine sustainability of a virtual infrastructure of a distributed computing system
US7546553B2 (en) Grid landscape component
Neary et al. Javelin++ Scalability Issues in Global Computing
CN101512488B (en) System and method for providing hardware virtualization in virtual machine environment
US11385883B2 (en) Methods and systems that carry out live migration of multi-node applications
US10057377B2 (en) Dynamic resolution of servers in a distributed environment
US7703029B2 (en) Grid browser component
EP1649364A1 (en) Application start protocol
Awasare et al. Survey and comparative study on resource allocation strategies in cloud computing environment
MXPA06009282A (en) Facilitating allocation of resources in a heterogeneous computing environment
Kielmann Programming models for grid applications and systems: Requirements and approaches
van Geest et al. System-level DFT for consumer products
Skagos Load balancing in a heterogeneous, distributed environment.