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

Dynamic seamless reconfiguration of executing parallel software

a parallel software and seamless reconfiguration technology, applied in the field of parallel computer processing, can solve the problems of system performance degradation, application failure, and add to the complexity of the driver application, and achieve the effect of preventing access to information and/or code, and greatly simplifying software design

Inactive Publication Date: 2006-06-22
ELMENDORF PETER C +3
View PDF3 Cites 17 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Benefits of technology

"The present invention provides a method for dynamically stitching new modules of executable code in a parallel processing environment. This method allows for the addition of new modules without needing information about the internal details of other modules. The method also allows for the unloading of target modules without needing information about the old data objects they reference. The method includes the use of data pointers and freshness indicators to manage access to data objects. The technical effects of the invention include simplified software design, improved performance, and more efficient module management."

Problems solved by technology

A problem therefore arises when it is desired to modify the software (specifically, add or remove modules) while multiple, parallel threads are executing.
For example, if a loaded module is removed while a thread is executing code contained in that module, the execution will fail (or at best yield unreliable results).
This approach adds to the complexity of the driver application by requiring startup, pause and shutdown routines.
Furthermore, system performance is degraded as the number of threads increases.

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
  • Dynamic seamless reconfiguration of executing parallel software
  • Dynamic seamless reconfiguration of executing parallel software
  • Dynamic seamless reconfiguration of executing parallel software

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0040] In accordance with the present invention, the runtime library manages the parallel processing environment by using (1) a dynamic stitching or “hot plug” method, (2) data freshness indicators, and (3) a usage blocking method, as detailed below.

[0041] A module 103 accesses data using a data pointer unique to the module. This arrangement is shown in FIG. 4. Data pointer 400 is an indexed array; each index 411, 412, 413 points to data 421, 422, 423 respectively. The data can be any data required by the module to provide a service to the driver application 102. (The indexing scheme is described in greater detail in the related previously filed disclosures.) When the module is in a context, the data pointer is an index of where data may be found for that context. When a module is loaded in the memory 100, a data structure of the form shown in FIG. 4 is created for each module and managed by the system.

[0042] The data objects may be “private” data (that is, accessed by only one mo...

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

A method is described for dynamic stitching of a new module of executable code in a parallel processing environment, where access to a data object is shared by the new module and another module previously loaded. A new data object is created for shared access by the new module and by the other module; a data freshness indicator is updated in accordance therewith. A pointer value for the data pointer associated with the other module is modified, thereby terminating reference to an old data object previously accessed and substituting reference to the new data object. A second data freshness indicator is updated in accordance with access by the other module to the new data object. The old data object is deleted when a comparison between freshness indicators shows that access to the old data object is no longer required.

Description

RELATED APPLICATIONS [0001] This application is related to application Ser. Nos. 09 / 597,523, 09 / 597,524 and 09 / 597,525, all filed Jun. 20, 2000. All of these related applications are assigned to the same assignee as the present application. The disclosures of all these related applications are incorporated herein by reference.FIELD OF THE INVENTION [0002] This invention relates to parallel computer processing, and more particularly to the management of a parallel processing environment in which software is dynamically loaded, unloaded or modified. BACKGROUND OF THE INVENTION [0003] In parallel computer processing, a single program can simultaneously run different threads (that is, independent flows of control) managed by the program. An important feature of parallel processing is dynamic loading and unloading of executable modules which are portions of an executing program. This dynamic loading and unloading is performed by support code generally called the “runtime library.” The ru...

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
Patent Type & Authority Applications(United States)
IPC IPC(8): G06F17/30G06F7/00G06F9/445
CPCG06F8/67Y10S707/99957G06F8/656
Inventor ELMENDORF, PETER C.BALLAL, UNMESH A.BEATTY, HARRY J. IIIYAN, QI
Owner ELMENDORF PETER C
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