Capability-based abstraction of software-defined infrastructure
AssigneeInternational Business Machines Corporation
InventorsBrad L. Brech, Scott W. Crowder, Hubertus Franke, Jeffrey A. Frey, Nagui Halim, Matt R. Hogstrom, Yu-Cheng Hsu, Dilip D. Kandlur, Chung-Sheng Li, David B. Lindquist, Stefan Pappe, Pratap C. Pattnaik, Balachandar Rajaraman, Radha P. Ratnaparkhi, Renato J. Recio, Rodney A. Smith, Michael D. Williams
There is a method and system for capability-based resource allocation in a software-defined environment that performs the following steps (not necessarily in the following order): (i) determining a set of capability characteristics for a plurality of workload resources within a software-defined environment; (ii) determining a set of workload components for a specified workload; and (iii) identifying a set of workload resources from the plurality of workload resources to allocate to the specified workload based, at least in part, on the set of capability characteristics corresponding to each workload within the set of workload resources. A workload component of the set of workload components has a unique set of workload characteristics.
Drawings
Claims18
A method for capability-based resource allocation in a software-defined environment, the method comprising:
establishing a set of logical abstractions corresponding to a set of workload resources, each logical abstraction based on a particular capability of the set of workload resources;
assigning to a first logical abstraction a capability profile identifying a first capability on which the first logical abstraction is based;
dividing a specified workload into a set of workload components for individual assignment of logical abstractions in the set of logical abstractions to perform individual workload components in the set of workload components;
determining a workload characteristic of a workload component;
and
allocating the first logical abstraction to the workload component based, at least in part, on the capability profile and the workload characteristic of the workload component;
wherein:
the workload component has a unique set of workload characteristics compared to a second workload component within the set of workload components;
at least the allocating step is performed by computer software running on computer hardware;
the specified workload is a print job;
and
the particular capability is a color imaging capability.
9 more elements
A computer program product for capability-based resource allocation in a software-defined environment, the computer program product comprising a computer readable storage medium having stored thereon program instructions programmed to:
establish a set of logical abstractions corresponding to a set of workload resources, each logical abstraction based on a particular capability of the set of workload resources;
assign to a first logical abstraction a capability profile identifying a first capability on which the first logical abstraction is based;
divide a specified workload into a set of workload components for individual assignment of logical abstractions in the set of logical abstractions to perform individual workload components in the set of workload components;
determine a workload characteristic of a workload component;
and
allocate the first logical abstraction to the workload component based, at least in part, on the capability profile and the workload characteristic of the workload component;
wherein:
the workload component has a unique set of workload characteristics compared to a second workload component within the set of workload components;
the specified workload is a print job;
and
the particular capability is a color imaging capability.
8 more elements
A computer system for capability-based resource allocation in a software-defined environment, the computer system comprising:
a processor(s) set;
and
a computer readable storage medium;
wherein:
the processor set is structured, located, connected, and/or programmed to run program instructions stored on the computer readable storage medium;
and
the program instructions include program instructions programmed to:
establish a set of logical abstractions corresponding to a set of workload resources, each logical abstraction based on a particular capability of the set of workload resources;
assign to a first logical abstraction a capability profile identifying a first capability on which the first logical abstraction is based;
dividing a specified workload into a set of workload components for individual assignment of logical abstractions in the set of logical abstractions to perform individual workload components in the set of workload components;
determine a workload characteristic of a workload component;
and
allocate the first logical abstraction to the workload component based, at least in part, on the capability profile and the workload characteristic of the workload component;
wherein:
the workload component has a unique set of workload characteristics compared to a second workload component within the set of workload components;
the specified workload is a print job;
and
the particular capability is a color imaging capability.
26 Aug 2035Estimated · howhide20 years from earliest known nonprovisional domestic filing plus recorded patent term adjustment, including 154 days of adjustment. Maintenance-fee lapses, terminal disclaimers and statutory extensions have not been checked. The continuity chain may be incomplete; this is not an enforceability determination.
Configuration management of networks or network elements: configuration of virtualised networks or elements, e.g. virtualised network function or…
Life of this patent
About 8 years 10 months of term left · ends 26 Aug 2035 (estimated)
Priority25 Mar 2015
Published29 Sep 2016
Granted26 Dec 2017
Today12 Oct 2026
Term ends26 Aug 2035
Priority25 Mar 2015
Granted26 Dec 2017
Term ends26 Aug 2035
Application filedUS 14/667,740
Assigned to International Business Machines Corporationassignment of assignor's interest
PublishedUS 2016/0285966 A1
GrantedUS 9,851,933 B2
TodayWithin its term
Term endsEstimated, includes 154 days of adjustment
Description7,530 words
Summary577 words
#The present invention relates generally to the field of virtualization in cloud computing, and more particularly to workload management.
#Current virtualization and cloud solution allow abstraction of the computing, storage, and network resources in terms of their capacity through standardization of the underlying system architecture to simplify the abstraction of these resources. On the other hand, the workload-optimized system approach relies on tight integration of the workload (including compiler) to the underlying system architecture. This approach allows direct leverage of the special capabilities offered by each micro-architecture and by the system level capabilities at the expense of required labor-intensive optimization and tuning.
#A framework, referred to herein as the “Pfister framework,” has been used to describe workload characteristics of a given application. The Pfister framework considers “thread contention” versus “data contention.” With that in mind, four workload categories are defined: (i) mixed workload updating shared data or queues (such as enterprise software, also known as application and integration middleware); (ii) highly threaded applications; (iii) parallel data structures with analytics (such as frameworks for storage and large-scale processing of data sets on cluster computing environments); and (iv) small discrete applications.
Brief description of the drawings7 figures
#FIG. 1 depicts a cloud computing node used in a first embodiment of a system according to the present invention;
#FIG. 2 depicts an embodiment of a cloud computing environment (also called the “first embodiment system”) according to the present invention;
#FIG. 3 depicts abstraction model layers used in the first embodiment system;
Detailed description6,829 words
#Computing resources are characterized according to their capability to develop capability-based resource abstractions. Resource abstractions are assigned to a specified workload according to workload requirements. The present invention is a system, a method, and/or a computer program product. The computer program product includes a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
#The computer readable storage medium is a tangible device that retains and/or stores instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
#Computer readable program instructions described herein are, according to some embodiments, downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network comprises copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.