US2005223275A1PendingUtilityA1

Performance data access

38
Assignee: JARDINE ROBERT LPriority: Mar 30, 2004Filed: Mar 4, 2005Published: Oct 6, 2005
Est. expiryMar 30, 2024(expired)· nominal 20-yr term from priority
G06F 11/3636G06F 11/1645G06F 9/52G06F 11/1683G06F 11/185G06F 11/3476G06F 11/1687G06F 11/3404G06F 11/1641G06F 2201/88G06F 11/366G06F 11/165G06F 11/184G06F 11/3495G06F 11/1658
38
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Performance data access is described. In an embodiment, events are processed with non-synchronized processor elements of a logical processor in a redundant processor system. Performance data associated with execution of the processor events is stored in one or more accumulators corresponding to a respective processor element. The performance data from each of the non-synchronized processor elements is exchanged via a logical synchronization unit such that each processor element includes the performance data from each of the processor elements. Each processor element then conforms the performance data to generate synchronized performance data which is then communicated to a performance monitoring application that requests the performance data from the logical processor.

Claims

exact text as granted — not AI-modified
1 . A redundant processor system, comprising: 
 non-synchronized processor elements of a logical processor, each processor element configured to process events and store performance data associated with execution of the processor events, each processor element including one or more accumulators configured to maintain the performance data corresponding to a respective processor element;    performance monitoring logic configured to request the performance data from the logical processor; and    a logical synchronization unit configured to exchange the performance data from each of the non-synchronized processor elements and return synchronized performance data to the performance monitoring logic, the synchronized performance data being generated by the processor elements.    
   
   
       2 . A redundant processor system as recited in  claim 1 , wherein each of the processor elements are further configured to conform the performance data exchanged from each of the processor elements to generate the synchronized performance data.  
   
   
       3 . A redundant processor system as recited in  claim 2 , wherein each of the processor elements are further configured to average the performance data exchanged from each of the processor elements to generate the synchronized performance data.  
   
   
       4 . A redundant processor system as recited in  claim 2 , wherein each of the processor elements are further configured to conform the performance data exchanged from each of the processor elements based on a deterministic algorithm to generate the synchronized performance data.  
   
   
       5 . A redundant processor system as recited in  claim 2 , wherein each of the processor elements are further configured to select the performance data from a particular processor element to generate the synchronized performance data, the selected performance data being at least one of a minimum, a middle, or a maximum of the performance data exchanged from each of the processor elements.  
   
   
       6 . A redundant processor system as recited in  claim 1 , wherein: 
 a first time duration of a processor event is stored as performance data in a first accumulator of a first processor element;    a second time duration of the processor event is stored as performance data in a second accumulator of a second processor element;    a third time duration of the processor event is stored as performance data in a third accumulator of a third processor element; and    the logical synchronization unit is further configured to receive the first time duration, the second time duration, and the third time duration, and exchange the time durations with each of the processor elements.    
   
   
       7 . Non-synchronized processors of a multiple redundant processor system each configured to maintain and update performance data associated with executing processor events, the performance data stored in one or more accumulators of a respective non-synchronized processor, and the performance data from each of the non-synchronized processors being conformed as synchronized performance data after being exchanged via a logical synchronization unit in response to a request for the performance data from a performance monitoring application.  
   
   
       8 . Non-synchronized processors as recited in  claim 7 , wherein each of the non-synchronized processors are further configured to conform the performance data from each of the non-synchronized processors after the performance data is exchanged via the logical synchronization unit.  
   
   
       9 . Non-synchronized processors as recited in  claim 7 , wherein each of the non-synchronized processors are further configured to average the performance data from each of the non-synchronized processors after the performance data is exchanged via the logical synchronization unit.  
   
   
       10 . Non-synchronized processors as recited in  claim 7 , wherein a time duration of a processor event is stored as the performance data in an accumulator of the respective non-synchronized processor.  
   
   
       11 . Non-synchronized processors as recited in  claim 7 , wherein counts for multiple executions of a repeated processor event are stored as the performance data in an accumulator of the respective non-synchronized processor.  
   
   
       12 . Non-synchronized processors as recited in  claim 7 , wherein time durations for multiple executions of a repeated processor event are stored and updated as the performance data in an accumulator of the respective non-synchronized processor.  
   
   
       13 . Non-synchronized processors as recited in  claim 7 , wherein each non-synchronized processor includes a clock, and wherein: 
 a first time is obtained from the clock at a beginning of a processor event, and the first time is subtracted from an initial time stored in an accumulator of the respective non-synchronized processor;    a second time is obtained from the clock after the processor event has been executed by the non-synchronized processor; and    the second time is added to the accumulator such that a time difference between the first time and the second time is a time duration of the processor event that is maintained as the performance data in the accumulator of the respective non-synchronized processor.    
   
   
       14 . A method, comprising: 
 processing events with non-synchronized processor elements of a logical processor in a redundant processor system;    storing performance data associated with execution of the processor events in one or more accumulators corresponding to a respective processor element;    exchanging the performance data such that each of the processor elements includes the performance data from each of the other non-synchronized processor elements;    conforming the performance data from each of the non-synchronized processor elements to generate synchronized performance data; and    communicating the synchronized performance data to a performance monitoring application that requests the performance data from the logical processor.    
   
   
       15 . A method as recited in  claim 14 , wherein each of the processor elements conform the performance data exchanged from each of the processor elements to generate the synchronized performance data.  
   
   
       16 . A method as recited in  claim 14 , wherein conforming the performance data includes each of the processor elements averaging the performance data to generate the synchronized performance data.  
   
   
       17 . A method as recited in  claim 14 , wherein conforming the performance data includes each of the processor elements using a deterministic algorithm to conform the performance data to generate the synchronized performance data.  
   
   
       18 . A method as recited in  claim 14 , wherein conforming the performance data includes each of the processor elements selecting the performance data from a particular processor element, the selected performance data being at least one of a minimum, a middle, or a maximum of the performance data exchanged from each of the processor elements.  
   
   
       19 . A method as recited in  claim 14 , further comprising determining a time duration of a processor event, and wherein storing the performance data includes storing the time duration of the processor event as the performance data.  
   
   
       20 . A method as recited in  claim 14 , further comprising accumulating counts for multiple executions of a repeated processor event, and wherein storing the performance data includes storing the counts of the repeated processor event as the performance data.  
   
   
       21 . A method as recited in  claim 14 , wherein storing the performance data includes: 
 storing a first time duration of a processor event in a first accumulator of a first processor element;    storing a second time duration of the processor event in a second accumulator of a second processor element;    storing a third time duration of the processor event in a third accumulator of a third processor element; and    wherein conforming the performance data includes conforming the first time duration, the second time duration, and the third time duration to generate the synchronized performance data.    
   
   
       22 . A method as recited in  claim 14 , wherein communicating the synchronized performance data includes communicating the synchronized performance data to the performance monitoring application in a remote computing device configured for communication with the redundant processor system.  
   
   
       23 . One or more computer readable media comprising computer executable instructions that, when executed, direct a performance data access system to: 
 process events with non-synchronized processor elements of a logical processor in a redundant processor system;    store performance data associated with execution of the processor events in one or more accumulators corresponding to a respective processor element;    conform the performance data from each of the non-synchronized processor elements to generate synchronized performance data; and    communicate the synchronized performance data to a performance monitoring application that requests the performance data from the logical processor.    
   
   
       24 . One or more computer readable media as recited in  claim 23 , further comprising computer executable instructions that, when executed, direct the performance data access system to exchange the performance data such that each of the non-synchronized processor elements includes the performance data from each of the other non-synchronized processor elements.  
   
   
       25 . One or more computer-readable media as recited in  claim 23 , further comprising computer executable instructions that, when executed, direct the performance data access system to: 
 store a first time duration of a processor event in a first accumulator of a first processor element;    store a second time duration of the processor event in a second accumulator of a second processor element;    store a third time duration of the processor event in a third accumulator of a third processor element; and    conform the first time duration, the second time duration, and the third time duration to generate the synchronized performance data.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.