Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

The Parrot stable and deterministic multi-threading system.

branch: master

Temp add xtern.

latest commit ae1ff3722a
heming authored November 09, 2013
Octocat-spinner-32 mc-tools Temp remove xtern. November 09, 2013
Octocat-spinner-32 xtern @ 1632f12 Temp add xtern. November 09, 2013
Octocat-spinner-32 .gitmodules Temp add xtern. November 09, 2013
Octocat-spinner-32 readme.txt Nit. April 11, 2013
0. Parrot system evaluation raw data. Please refer to this google doc:

There are multiple tabs in this doc. The "performance overhead" tab
shows the performance overhead of Parrot over nondeterministic executions.
The "A" column in this tab shows what kinds of performance hints are added.
"@" means soft barriers, "N" means performance critical sections, and "x" or blank
means no hints are added. The "performance comparisons" tab shows the performance
comparisons of three systems, Parrot, dthreads and CoreDet.
The "model checking results" tab shows the model checking results
of the Parror+dBug ecosystem.

1. Get the repository (only for those who checkout the repo from git).
If you download the repo in a tar bar from Internet, skip this step.
> git clone
> cd smt+mc
> git submodule init
> git submodule update

Importantly, please note that, if you want to checkout a newer version of 
"smt+mc" sometime later (including its submodules "xtern" and "dbug"),
you have to run BOTH "pull" and "submodule update" in the "smt+mc" directory.
And you can ONLY run the two git commands in the root directory "smt+mc",
otherwise you won't get a correct update. The git submodule mechanism is so painful :)
> cd smt+mc
> git pull
> git submodule update   (if you don't run this step, submodules won't be updated!!!)

2. Export env variable $SMT_MC_ROOT. It will be used
in the repository to compile and run programs.
Add this line to your ~/.bashrc, and run "echo $SMT_MC_ROOT" to make sure it is correct.
> export SMT_MC_ROOT=the absolute path of "smt+mc"

3. How to build Parrot (a.k.a., xtern). Refer to $SMT_MC_ROOT/xtern/readme.txt.
It also contains information of our performance hints.

4. How to build Parrot with a model checking tool dBug.
Refer to $SMT_MC_ROOT/mc-tools/readme.txt.

Something went wrong with that request. Please try again.