This is ScalaProust, a software transactional memory library.
$ git submodule init # to get scala-stm
$ git submodule update
$ apt-get install sbt
$ sbt compile
$ sbt run
If using Ubuntu Desktop 16.04, first downgrade to Java 8:
# Java 1.8
$ sudo apt-get install openjdk-8-jre openjdk-8-jdk
$ sudo update-java-alternatives -l
$ sudo update-java-alternatives -s <whatever is 1.8>
For development, you need to have SBT installed.
Also, you must install:
$ sudo apt-get install libjson-perl
If you prefer to work in an IDE, Eclipse project files can be generate by executing sbt eclipse
. You may have to manually exclude scala.concurrent.stm.stamp.{kmeans,labyrinth}
from your project files for now.
After installing SBT, simply go to the root directory of this project
and run sbt
, this will start sbt in interactive mode. You just have
to run compile
in interactive mode. Alternatively, you can ask sbt
to automatically recompile whenever you save a source file by run ~ compile
in interactive mode.
If you want to change the dependencies or Scala version, modify the content of build.sbt and then restart sbt.
$ sbt ...
run -I scala.concurrent.stm.boosting.StampImpl$ -c 7 -verbose true
If you want to run the some benchamrks on GridEngine:
$ cat bench/batches/tmap/all.json | DUMMY=1 bench/benchloop.py 165 (?= 165) $ cd tmp
$ qsub -t 1-165 -l short -pe smp 32 -q '*@@mblade12' -cwd ../bench/gridenginetask.sh