CETA : Communication Extraction from
Engineering and Computer Science
Ms. Ai-Hsin Liu
Prof. Robert Dick
||CETA is a fully-automated method of extracting
run-time communication graphs from multithreaded applications. The resulting
graphs may be used to better understand, design, and synthesize
application-specific hardware-software systems. CETA is composed of a
Simics module for extracting dataflow information during the simulation
of multithreaded Linux applications and a number of scripts that
implement graph transformations. It presently supports the analysis of
arbitrary multithreaded applications running on the Linux operating
system. It is freely available for academic and non-profit use.
||The communication patterns among tasks represented in the form
of graphs are are a useful
form of input for embedded system synthesis,
multiprocessor synthesis, and hardware-software co-synthesis
algorithms. CETA is capable of extracting and graphically representing the
communication patterns of complex multithreaded applications
|| CETA provides three types of graphs and several graph
transformations. The three types of graphs are aggregate graphs,
phase partitioned graphs, and directed acyclic graphs. These
graphs represent thread communication patterns. It is also possible
to set threshold values to filter out insignificant data flow. It
is also possible to filter by process ID.
The version below contains source code in C++ and Python
scripts for graph generation and transformation.
How to build CETA module, please see README.
Required environment of CETA
- Simics, a system level instruction set simulator.
Register website: https://www.simics.net/
- Python. Official website: http://www.python.org/
- Graphviz. Website: http://www.graphviz.org/
- NetworkX. Website: https://networkx.lanl.gov/
CETA Source Code
The compressed tar file for CETA version 0.9 is available here. It contains source code,
Python scripts, and README
Please also see Ciprian Radu's documentation on installing CETA on Ubuntu.
ALPBench : http://rsim.cs.uiuc.edu/alp/alpbench/
more information about compiling and executing
ALPBench benchmarks here.
Page maintained by Ai-Hsin Liu.