1 public class TransSim {
2 public static void main(String[] args) {
13 //time between transactions
16 Executor e=new Executor(numThreads, numTrans, deltaTrans, numObjects, numAccesses, deltaAccesses, readPercent, delay, deltaDelay, nonTrans, deltaNonTrans);
17 System.out.println(e.maxTime());
18 FlexScheduler ls=new FlexScheduler(e, FlexScheduler.LAZY);
20 System.out.println("Lazy Time="+ls.getTime());
21 System.out.println("Aborts="+ls.getAborts()+" Commit="+ls.getCommits());
22 int besttime=ls.getTime();
24 //Kill others at commit
25 ls=new FlexScheduler(e, FlexScheduler.COMMIT);
27 System.out.println("Fast Abort="+ls.getTime());
28 System.out.println("Aborts="+ls.getAborts()+" Commit="+ls.getCommits());
29 if (ls.getTime()<besttime)
30 besttime=ls.getTime();
33 ls=new FlexScheduler(e, FlexScheduler.ATTACK);
35 System.out.println("Attack Abort="+ls.getTime());
36 System.out.println("Aborts="+ls.getAborts()+" Commit="+ls.getCommits());
37 if (ls.getTime()<besttime)
38 besttime=ls.getTime();
41 ls=new FlexScheduler(e, FlexScheduler.POLITE);
43 System.out.println("Polite Abort="+ls.getTime());
44 System.out.println("Aborts="+ls.getAborts()+" Commit="+ls.getCommits());
45 if (ls.getTime()<besttime)
46 besttime=ls.getTime();
49 ls=new FlexScheduler(e, FlexScheduler.KARMA);
51 System.out.println("Karma Abort="+ls.getTime());
52 System.out.println("Aborts="+ls.getAborts()+" Commit="+ls.getCommits());
53 if (ls.getTime()<besttime)
54 besttime=ls.getTime();
56 Scheduler s=new Scheduler(e, besttime);
58 System.out.println("Optimal Time="+s.getTime());