boolean DEBUG;
boolean XML_REPORT;
+
public LeeRouter(String file, boolean test, boolean debug, boolean rel) {
//Constructor initializing
MAX_SAMPLE_THRESHOLD = 60000;
boolean exitByTimeout = false;
int sampleInterval = 10000;
- System.out.println("Threads: " + numThreads);
+ System.out.println("Numthreads: " + numThreads);
LeeThread[] thread = new LeeThread[numThreads];
thread[i].start();
//currentTime = System.currentTimeMillis();
- //LeeThread.stop = true; // notify threads to stop
for (int i = 0; i < numThreads; i++) {
thread[i].join();
}
//long elapsedTime = startTime - currentTime;
- System.out.println("Numthreads: " + numThreads);
+ //System.out.println("Numthreads: " + numThreads);
//System.out.println("Throughput: " + throughput);
//System.out.println("ElapsedTime: " + elapsedTime);
lr.sanityCheck();
--- /dev/null
+Introduction
+------------
+
+ Lee's routing algorithm is one of the first algorithms used in
+ automatic circuit routing. Lee's routing algorithm is interesting
+ for TM because: it is an example of a real-world application, it
+ contains an abundance of potential parallelism due to the number
+ of routings that need to be performed in a typical realistic circuit,
+ and this abundance of parallelism is difficult to exploit efficiently
+ using locks. For example, routes are sorted by increasing length and
+ each grid point is assigned a weight to attempt to keep routes away
+ from pins. The layout contains over 3000 connections points and
+ 1506 interconnections, and the data is available in the file mainboard.txt.
+
+Compiling and Running
+---------------------
+
+To build the application, simply run:
+
+ make
+
+By default, this produces an executable named "LeeRouter.bin", which can then be
+run in the following manner:
+ ./LeeRouter.bin <number of threads> <input-filename>
+
+ low contention: ./LeeRouter.bin 1 sparseshort.txt
+ high contention: ./LeeRouter.bin 8 sparseshort.txt
+
+For runs with a larger input file, (more info below) can be used
+instead:
+
+ low contention: ./LeeRouter.bin 1 mainboard.txt
+ high contention: ./LeeRouter.bin 8 mainboard.txt
+
+References
+----------
+
+[1] Ian Watson, Chris Kirkham and Mikel Luján.
+A Study of a Transactional Parallel Routing Algorithm.
+In Proceedings of the 16th International Conference on Parallel Architectures
+and Compilation Techniques (PACT 2007), Brasov, Romania, Sept. 2007, pp 388-398.
+
+[2] Mohammad Ansari, Christos Kotselidis, Kim Jarvis, Mikel Luján, Chris Kirkham, and Ian Watson.
+Lee-TM: A Non-trivial Benchmark for Transactional Memory.
+In Proceedings of the 8th International Conference on Algorithms and Architectures
+for Parallel Processing (ICA3PP 2008), Aiya Napa, Cyprus, June 2008.