Patent US5325530A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5325530A Expired / Lapsed US ⏱️ 0.0 years remaining

Controller for sequential programming tools executed in a parallel computing environment

Assignee: International Business Machines Corp
•
Filing: 1993-01-29
•
Granted: 1994-06-28
•
Expires: 2013-01-29
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A controller (210) for controlling a plurality of sequential tools (220 1 , 220 2 , . . . , 220 n ), such as dbx debuggers (dbx tools), operating in a parallel computing system. The controller executes each of these sequential tools on an individual node (245 1 , 245 2 , . . . , 245 n ) of a parallel computing system (100). The controller associates each tool with a particular process (230 1 , 230 2 , . . . , 230 n ) of a user program executing on a particular node. Typically, each tool accumulates specific performance characteristics of its associated process as data and transfers the data to the controller for ultimate display to a programmer. In particular, the controller in combination with various dbx tools operating on various nodes in the parallel computing environment produces a parallel program debugger (pdbx). As pdbx, the controller sends commands to particular nodes to control the operation of each dbx tool executing on that particular node. Additionally, nodes can be grouped together to permit pdbx to simultaneously send commands to a group of nodes and effectuate group control of multiple dbx tools.

Inventors

  • 👤 Richard L. Mohrmann

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-28 18:52
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/48; G06F9/4806; G06F9/4843; G06F11/00; G06F11/30; G06F11/34; G06F11/3404; G06F11/36; G06F11/362

Claims Analysis

Total Claims: 16
Claim 1
Independent Claim 222 words
A computer system for executing a parallel user program and multiple sequential tools in a parallel computing environment comprising: a user terminal; a plurality of remote computing units; an operating system located in said user terminal having means responsive to said parallel user program for forming said parallel computing environment by connecting said remote computing units in parallel with said user terminal, each said unit and said user terminal forming a node in said parallel computing environment; means, located in each said unit, for executing a task of said parallel user program under control of said operating system to execute said parallel user program concurrently in more than one of said units; means, located in each said unit, for executing one of said sequential tools and a task under the control of said sequential tool; means, located at at least one of said nodes, for issuing commands to block said parallel user program from executing, to execute at least one of said sequential tools and to attach said sequential tool to said parallel user program such that said sequential tool controls the execution of one of said tasks; and controlling means responsive to said commands for executing a controller process on said user terminal node within said parallel computing environment, wherein said controller process controls each of said sequential tools executing thereat.
Claim 2
Dependent Claim 222 words
A computer system for executing a parallel user program and multiple sequential tools in a parallel computing environment comprising: a user terminal; a plurality of remote computing units; an operating system located in said user terminal having means responsive to said parallel user program for forming said parallel computing environment by connecting said remote computing units in parallel with said user terminal, each said unit and said user terminal forming a node in said parallel computing environment; means, located in each said unit, for executing a task of said parallel user program under control of said operating system to execute said parallel user program concurrently in more than one of said units; means, located in each said unit, for executing one of said sequential tools and a task under the control of said sequential tool; means, located at at least one of said nodes, for issuing commands to block said parallel user program from executing, to execute at least one of said sequential tools and to attach said sequential tool to said parallel user program such that said sequential tool controls the execution of one of said tasks; and controlling means responsive to said commands for executing a controller process on said user terminal node within said parallel computing environment, wherein said controller process controls each of said sequential tools executing thereat.
Claim 3
Dependent Claim 68 words
The system of claim 1 wherein said means for issuing commands further comprises means for issuing, from at least one of said nodes, a "client" call that invokes a "fork" system call to produce a parent process means for blocking said parallel user program from executing and a child process means for operating one of said sequential tools and connecting said sequential tool to said parent process means.
Claim 4
Dependent Claim 29 words
The system of claim 2 wherein said controlling means further comprises means for grouping said sequential tools such that a single command controls a plurality of said sequential tools.
Claim 5
Dependent Claim 40 words
The system of claim 2 wherein said controlling means further comprises: means for adding additional nodes to said parallel computing environment executing an additional sequential tool on each new node, and controlling said additional sequential tool via said controlling means.
Claim 6
Dependent Claim 20 words
The system of claim 1 wherein said sequential tool is a symbolic serial debugger means for serially debugging said task.
Claim 7
Dependent Claim 233 words
In a computer system operating in a parallel computing environment having a user terminal with an operating system, multiple sequential tools and a plurality of remote computing units, each said unit having means for executing a task of a parallel user program being executed concurrently on more than one of said units under the control of said operating system, and means for executing one of said sequential tools and said task under the control of said sequential tool, a method for controlling said multiple sequential tools comprising: forming, in response to said parallel user program being executed by said operating system on said computer system, said parallel computing environment by connecting said remote computing units in parallel with said user terminal to permit said operating system to execute said parallel user program concurrently in more than one of said units, each said unit and said user terminal forming a node in said parallel computing environment; issuing, from at least one of said nodes, commands to block said parallel user program from executing, to execute a sequential tool and to attach said sequential tool to said parallel user program such that said sequential tool controls the execution of one of said tasks; and executing, in response to said commands, a controller process on said user terminal node within said parallel computing environment, wherein said controller process controls each of said sequential tools executing thereat.
Claim 8
Dependent Claim 233 words
In a computer system operating in a parallel computing environment having a user terminal with an operating system, multiple sequential tools and a plurality of remote computing units, each said unit having means for executing a task of a parallel user program being executed concurrently on more than one of said units under the control of said operating system, and means for executing one of said sequential tools and said task under the control of said sequential tool, a method for controlling said multiple sequential tools comprising: forming, in response to said parallel user program being executed by said operating system on said computer system, said parallel computing environment by connecting said remote computing units in parallel with said user terminal to permit said operating system to execute said parallel user program concurrently in more than one of said units, each said unit and said user terminal forming a node in said parallel computing environment; issuing, from at least one of said nodes, commands to block said parallel user program from executing, to execute a sequential tool and to attach said sequential tool to said parallel user program such that said sequential tool controls the execution of one of said tasks; and executing, in response to said commands, a controller process on said user terminal node within said parallel computing environment, wherein said controller process controls each of said sequential tools executing thereat.
Claim 9
Dependent Claim 19 words
The method of claim 6 wherein said sequential tool is a symbolic serial debugger that serially debugs said task.
Claim 10
Dependent Claim 68 words
The method of claim 7 further comprising the steps of: parsing commands from an input device into control process commands for controlling said controller process and sequential tool commands for controlling said sequential tools; directing said control process commands for controlling said controller process to execute particular controller functions; and directing said sequential tool commands for controlling said sequential tools to at least one of said sequential tools.
Claim 11
Dependent Claim 37 words
The method of claim 8 wherein said step of directing said sequential tool commands further comprises the step of defining a particular sequential tool to which the sequential tool command is directed using a control process command.
Claim 12
Dependent Claim 35 words
The method of claim 9 wherein said defining step further comprises the step of defining a group of said particular sequential tools to which the sequential tool command is directed using a control process command.
Claim 13
Dependent Claim 35 words
The method of claim 8 wherein said step of directing said control process commands further comprises the step of attaching, in response to a control process command, said sequential tool to said parallel user program.
Claim 14
Dependent Claim 35 words
The method of claim 8 wherein said step of directing said control process commands further comprises the step of detaching, in response to a control process command, said sequential tool from said parallel user program.
Claim 15
Dependent Claim 68 words
The method of claim 6 wherein said issuing step further comprises the step of issuing, from at least one of said nodes, a "client" call that invokes a "fork" system call to produce a parent process and a child process, wherein the parent process blocks said parallel user program from executing and said child process executes a sequential tool and attaches said sequential tool to said parent process.
Claim 16
Dependent Claim 40 words
The method of claim 6 further comprising the steps of: executing, in response to additional nodes being added to said parallel computing system, additional sequential tools on each additional node; and connecting said additional sequential tools to said controller process.

References Cited (Backward Citations)

US5274797A Cited
US5287511A Cited
US5212792A Cited
US5226162A Cited
US5255385A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-06-27 1997-12-27 1998-06-28 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-06-27 2001-12-27 2002-06-28 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-06-27 2005-12-27 2006-06-28 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag