EP0422945A2

Parallel processing trace data manipulation.

Abstract

A computer implemented system by which trace data from concurrently executing virtual processors is reformatted and organized as a linked list of successive events evoking parallel activity for any given parallel task. A selective traverse of the links operates to drive time process displays of processor utilization and the executing hierarchy of parallel constructs.

EP0422945A2, drawing sheet 1
Sheet 1 of 11

Term

Term ended

Projected expiry passed 11 October 2010, 16 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

7 claims: 6 independent, 1 dependent

  1. 1
    A method for converting computer trace data into graphical form, said trace data being obtained from concurrently executing virtual processors, comprising the steps of:(a) reformatting said trace data into a linked list of successive events evoking parallel activity for any given parallel task;and(b) selectively traversing the links of said list to produce time process display of processor utilization and any executing hierarchy of parallel activity constructs, said displays being in synchronism with said traversal.
  2. 2
    A method for converting computer trace data into graphical form, said trace data being generated by operating system dispatchers indicative of the concurrent execution of tasks of an application upon one or more virtual processors, comprising the steps of:(a) forming a table (33,35;31′) from the trace data (31;31′) identifying and cross-linking the virtual processor, task ID, parallel activity, and one or more parallel activity metrics for each trace data event;and(b) graphically mapping the table elements onto a display (1) as indexed by the processor and activity crosslinks for processor utilization 67-93;and(2)as indexed by the task and activity crosslinks for the executing hierarchy of parallel tasks (99-119).
  3. 4
    A method as claimed in any of claims 2 or 3, wherein the step of graphically mapping the table elements onto a display includes invoking a graphics data display utility to colour the display as indexed by selected processor, task ID, and activity.
  4. 5
    A method as claimed in any of claims 2, 3 or 4, wherein the displays include a time process diagram depicting virtual processor utilization, said mapping step including processing said table once for each virtual processor ID, each time process diagram being susceptible to a zoom forward, and backward view expressed as a time range or interval, and said mapping step further including the steps of expressing parallel activity in the form of primary and secondary threads, comparing the beginning and end times for each primary thread to the time range of the selected view (Tmin, Tmax), and selectively adjusting the view to conform the thread activity to the diagram time range to enhance visibility.
  5. 6
    A method for processing and displaying information about the parallel execution of an application program (21-23) across N virtual processors (15-19) as derived from computer trace records (31;31′), said trace records being generated by dispatching functions embedded in either the application or operating system, comprising the steps of:(a) ascertaining and identifying parallel activity by scanning the trace records generated by said processors;(b) creating and populating a table (33,35;33′) of time sequence events from the identified parallel activity, computing average concurrency, and cross-linking the terms of the table (34;34′);and(c) extracting data from the table as indexed by a selected subset of crosslinks and graphically mapping said extracted data onto a visually perceptible medium.
  6. 7
    A data processing apparatus having storage for storing computer trace data obtained from concurrently executing threads of a program, and processor logic for reformatting said trace data into a linked list of events initiating and terminating parallel executing threads and for traversing the links of said list to produce a display indicative of the performance of said program.