This is an ontology for describing performance data.
The ontology is named PERFONTO.
Application
This class is used to model information about one application.
Version
This class is used to model information about a version of an application.
SourceFile
Represent a source file
CodeRegion
represent a code region
SMCodeRegion
Represent a shared memory code region, e.g. OpenMP
MPCodeRegion
Represent a message passing code region, e.g. MPI_Send
SeqCodeRegion
Represent a sequential code region
Experiment
Represent an experiment
ProcessingUnit
Represent a processing unit
RegionInstance
Region instance contains information about an execution of a code region
PerformanceMetric
Performance metric represents a performance metric record
Event
A generic event
EnterEvent
The event happens at the entry of code region
ExitEvent
Exit event
EventAttribute
represent an attribute of a event
appName
Name of Application>
versionInfo
information of version
ofApplication
relationship between application and version
sourceFileName
URI of a source file
crId
code region id of a code region
sourcefile
relationship between code region and source file
crName
code region name
crType
code region type. TODO we can define a set of sub code region type class
crUnit
the program unit containing the code region
startPos_x
line
startPos_y
start column
endPos_x
end line
endPos_y
end column
region summary
The concept of a region summary
processing unit property
Relationship between Regionsummary/Regioninstance with a
processing unit
code region property
Relationship between RegionSummary/RegionInstance with a
CodeRegion
sub regionsummary property
Each region summary may have a set of sub region summaries
performance metric propety
A region summary contains a set of performance metric
childRI
sub region instance
hasEvent
event of a region instance
ofVersion
This property represents information about the version
experimentName
hasRegionSummary
region summary of an experiment
hasRegionInstance
region instance of an experiment
eventName
event name
eventTime
event time of an event
eventattr
event attributes of an event
attrName
attribute name
eventValue
attribute value
inSite
Grid site
inNode
compute node where the code region is executed
puProcess
the process id where the code region is executed
puThread
thread id where the code region is executed
pmName
Name of a performance metric
pmValue
Value of a performance metric
A performance metric name is a name of a metric
Overhead of data movement due to L2 to L1 cache
Overhead of data movement due to L3 to L2 cache
Overhead of data movement due to send
Overhead of data movement due to recv
Overhead of data movement due to put
overhead of data movement due to get
overhead of data movement due to P2P
Overhead of data movement due to collective
Overhead of data movement due to file read
Overhead of data movement due to other file write
Page faults requiring physical I/O
Page faults not requiring physical I/O
Number of swap
Level 1 data cache misses
Level 1 instruction cache misses
Level 2 data cache misses
Level 2 instruction cache misses
Level 3 data cache misses
Level 3 instruction cache misses
Level 1 cache misses
Level 2 cache misses
Level 3 cache misses
Requests for a snoop
Requests for exclusive access to shared cache line
Requests for exclusive access to clean cache line
Requests for cache line invalidation
Requests for cache line intervention
Level 3 load misses
Level 3 store misses
Cycles branch units are idle
Cycles integer units are idle
Cycles floating point units are idle
Cycles load/store units are idle
Data translation lookaside buffer misses
Instruction translation lookaside buffer misses
Total translation lookaside buffer misses
Level 1 load misses
Level 1 store misses
Level 2 load misses
Level 2 store misses
Branch target address cache misses
Data prefetch cache misses
Level 3 data cache hits
Translation lookaside buffer shootdowns
Failed store conditional instructions
Successful store conditional instructions
Total store conditional instructions
Cycles Stalled Waiting for memory accesses
Cycles Stalled Waiting for memory Reads
Cycles Stalled Waiting for memory writes
Cycles with no instruction issue
Cycles with maximum instruction issue
Cycles with no instructions completed
Cycles with maximum instructions completed
Hardware interrupts
Unconditional branch instructions
Conditional branch instructions
Conditional branch instructions taken
Conditional branch instructions not taken
Conditional branch instructions mispredicted
Conditional branch instructions correctly predicted
FMA instructions completed
Instructions issued
Instructions completed
Integer instructions
Floating point instructions
Load instructions
Store instructions
Branch instructions
Vector/SIMD instructions
Floating point instructions per second
Cycles stalled on any resource
Cycles the FP unit(s) are stalled
Total cycles
Instructions per second
Load/store instructions completed
Synchronization instructions completed
Level 1 data cache hits
Level 2 data cache hits
Level 1 data cache accesses
Level 2 data cache accesses
Level 3 data cache accesses
Level 1 data cache reads
Level 2 data cache reads
Level 3 data cache reads
Level 1 data cache writes
Level 2 data cache writes
Level 3 data cache writes
Level 1 instruction cache hits
Level 2 instruction cache hits
Level 3 instruction cache hits
Level 1 instruction cache accesses
Level 2 instruction cache accesses
Level 3 instruction cache accesses
Level 1 instruction cache reads
Level 2 instruction cache reads
Level 3 instruction cache reads
Level 1 instruction cache writes
Level 2 instruction cache writes
Level 3 instruction cache writes
Level 1 total cache hits
Level 2 total cache hits
Level 3 total cache hits
Level 1 total cache accesses
Level 2 total cache accesses
Level 3 total cache accesses
Level 1 total cache reads
Level 2 total cache reads
Level 3 total cache reads
Level 1 total cache writes
Level 2 total cache writes
Level 3 total cache writes
Floating point multiply instructions
Floating point add instructions
Floating point divide instructions
Floating point square root inst