For an overview of ArMOR itself, see our ISCA paper:
Daniel Lustig, Caroline Trippel, Michael Pellauer, and Margaret Martonosi, "ArMOR: Defending Against Memory Consistency Model Mismatches in Heterogeneous Architectures", 42nd International Symposium on Computer Architecture (ISCA), Portland, OR, June 2015. Official link Local link
If you use ArMOR (and we hope you do!), we would also appreciate if you cite the above paper.
Please contact Daniel Lustig ([email protected]) with any questions you may have.
- ArMOR itself is a self-contained Python app. The authors have tested ArMOR using Python v2.7.
- The FSM figures are drawn using GraphViz.
- The summary report is compiled using LaTeX, and pdfLaTeX in particular. Other variants should work, but may require minor script changes, etc.
No need...it's just a Python script!
- Run
./one.py
to build some simple examples. - Run
./build_reports.sh
to build a set of documents summarizing the shim FSMs generated for a variety of use cases. These reports look similar to (or, in one case, are identical to) the appendix of our tech report. - Either script can be easily adapted to any other use cases you may be interested in.
armor.py
: the core ArMOR routinesarchitectures.py
: a set of pre-defined architecturesone.py
: a script for generating one-off shim FSMsreport.py
: an ArMOR script for generating a report summarizing a number of shim FSMsbuild_reports.sh
: a script for compiling the results ofreport.py
into PDF summaries