Skip to content

houjun/trace_analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Access Pattern

  • Data access pattern describes how data are accessed in a logical perspective. Different parts of the data often share a given meaning, especially those generated by scientific simulations.
  • One such example is FLASH simulation will generate three variables: rho, P, and T that corresponds to gas density, pressure, and temperature. When performing analysis on this data set, it is often the case that only one variable is needed, accessing that variable over time will result in a fixed-strided access pattern with the stride size equal to the number of variables which is three here.

Trace Analyzer

  • The access pattern analyzer is designed in a way that is suitable for both online and offline analysis. The analyzer starts with an empty known pattern list and information of patterns to be detected. With the incoming trace records, it tries to fit it in all known patterns.

  • Each pattern in the known pattern list act like an automata that only accepts records matching its pattern information. If the trace record doesn’t match any known patterns, it will be inserted into a temporary trace list. When the number of records in that list reaches a user defined number, it triggers the analyzer to find new patterns with the pattern information and insert found patterns into the known pattern list.

  • If the record could fit into a pattern then that pattern will be updated with the record's information. In this way, the analyzer is capable of dealing with interleaved trace records which is often the case in HPC systems.

  • TODO: Take recency factor into consideration, trace records that stayed in the list for a long time will be discarded.

Input Format

  • HEADER -<Full File path> <MPI file comm size> <Total Bytes>
  • PROCESS <n: number of trace entries>
  • Trace record 1

  • <m: # of accesses> [ … ]
  • # repeats m times
  • Trace record 2

  • Trace record n

  • Sample input see trace

Output Format

  • {Operation, Pattern type, MPI rank, Start time, Start offset, End offset, Access size, Number of records, Stride size} for contiguous and fixed-strided pattern,
  • {Operation, Pattern type, MPI rank, Start time, Start offset, End offset, Access size, Number of records, Stride size,(Access size five number summary)} for sequential pattern, and
  • {Operation, Pattern type, MPI rank, Start time, Start offset, End offset, (Access size, number of records, Stride size)_k, ..., (Access length, Number of records, Stride size)_1} for kd-strided pattern.
  • Sample output see ...

About

Trace analyzer for RADAR framework. Paper published in ISC 14 conference: "RADAR: Runtime Asymmetric Data-access Driven Scientific Data Replication"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published