Looking for breakthrough ideas for innovation challenges? Try Patsnap Eureka!

Self-optimizable code

a code and self-optimization technology, applied in the field of software and hardware design, can solve the problems of code path selected by the designer may not have the most favorable performance characteristics for a particular client's server configuration, server failure to return to service for hours or even days, etc., and achieve the effect of increasing task efficiency

Inactive Publication Date: 2006-03-09
IBM CORP
View PDF17 Cites 27 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Benefits of technology

[0012] The problems identified above are in large part addressed by methods, systems, and media to increase efficiency of tasks by observing the performance of generally equivalent code paths during execution of the task. One embodiment provides a method to select between more than one code paths for execution of a task by a computer system. The method generally includes determining performance characteristics from execution of the task by each of the more than one code paths. Each performance characteristic is attributable to a different code path of the more than one code paths. The method also includes comparing the characteristics to identify one code path of the more than one code paths based upon the characteristics and selecting the one code path of the more than one code paths for a subsequent execution of the task. The one code path then executes during the subsequent execution of the task by the computer system.

Problems solved by technology

Performance is also mission-critical.
One problem faced by hardware and software designers for servers is that the servers are designed to increase performance generally for a large number of applications.
Thus, the code path selected by the designer may not have the most favorable performance characteristics for a particular client's server configuration.
Currently, servers may take hours or even days to return to service once they are powered down.
Thus, designers labor to increase the speed of systems related to powering up such servers.
As a result, the designers do not look for solutions that are specifically applicable to a single server configuration.
In other words, the time required to allocate memory increases in a non-linear manner as the amount of memory allocated increases, which depending upon the number of allocations for a particular server, can significantly decrease performance of the boot systems for the server.

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Self-optimizable code
  • Self-optimizable code
  • Self-optimizable code

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0025] The following is a detailed description of example embodiments of the invention depicted in the accompanying drawings. The example embodiments are in such detail as to clearly communicate the invention. However, the amount of detail offered is not intended to limit the anticipated variations of embodiments, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present invention as defined by the appended claims. The detailed descriptions below are designed to make such embodiments obvious to a person of ordinary skill in the art.

[0026] Generally speaking, methods, systems, and media to increase efficiency of code via intelligent selection between generally equivalent code paths and, in one embodiment, significantly improving efficiency of memory allocation by selectively implementing a tunable, linear, memory allocation module in place of a default memory allocation module are contemplated. ...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

Methods, systems, and media to increase efficiency of tasks by observing the performance of generally equivalent code paths during execution of the task are disclosed. Embodiments involve a computer system with software, or hard-coded logic, that includes reflexive code paths. The reflexive code paths may be identified by a software or hardware designer during the design of the computer system. For that particular computer system, however, one of the code paths may offer better performance characteristics so a monitor collects performance data during execution of the reflexive code paths and a code path selector selects the reflexive code with favorable performance characteristics. One embodiment improves the performance of memory allocation by selectively implementing a tunable, linear, memory allocation module in place of a default memory allocation module.

Description

FIELD OF INVENTION [0001] The present invention is in the field of software and hardware design. More particularly, the present invention relates to methods, systems, and media to increase efficiency of tasks by observing the performance of generally equivalent code paths during execution of the task. One embodiment improves the performance of memory allocation by selectively implementing a tunable, linear, memory allocation scheme in place of a default memory allocation scheme. BACKGROUND [0002] Computer systems are well known in the art. They have attained widespread use for providing computer power to many segments of today's modern society. Computers are available in many different forms such as a desktop, floor standing, or portable computers and include, e.g., one or more central processing units (CPUs) and associated volatile and non-volatile memory. Some computer systems also include a display, an input-output device such as a keyboard and / or a mouse, one or more storage dev...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
IPC IPC(8): G06F9/46
CPCG06F9/5016G06F11/3409G06F2201/88G06F2201/865G06F11/3466
Inventor DICKENSON, MARC ALAN
Owner IBM CORP
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Patsnap Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Patsnap Eureka Blog
Learn More
PatSnap group products