1 public class TransSim {
2 public static void main(String[] args) {
13 //time between transactions
17 long tlazy=0, tcommit=0, tattack=0, tpolite=0, tkarma=0;
18 for(int i=0;i<100;i++) {
19 Executor e=new Executor(numThreads, numTrans, deltaTrans, numObjects, numAccesses, deltaAccesses, readPercent, delay, deltaDelay, nonTrans, deltaNonTrans);
20 System.out.println(e.maxTime());
21 FlexScheduler ls=new FlexScheduler(e, FlexScheduler.LAZY);
23 System.out.println("Lazy Time="+ls.getTime());
24 System.out.println("Aborts="+ls.getAborts()+" Commit="+ls.getCommits());
25 int besttime=ls.getTime();
28 //Kill others at commit
29 ls=new FlexScheduler(e, FlexScheduler.COMMIT);
31 System.out.println("Fast Abort="+ls.getTime());
32 System.out.println("Aborts="+ls.getAborts()+" Commit="+ls.getCommits());
33 if (ls.getTime()<besttime)
34 besttime=ls.getTime();
35 tcommit+=ls.getTime();
38 ls=new FlexScheduler(e, FlexScheduler.ATTACK);
40 System.out.println("Attack Abort="+ls.getTime());
41 System.out.println("Aborts="+ls.getAborts()+" Commit="+ls.getCommits());
42 if (ls.getTime()<besttime)
43 besttime=ls.getTime();
44 tattack+=ls.getTime();
47 ls=new FlexScheduler(e, FlexScheduler.POLITE);
49 System.out.println("Polite Abort="+ls.getTime());
50 System.out.println("Aborts="+ls.getAborts()+" Commit="+ls.getCommits());
51 if (ls.getTime()<besttime)
52 besttime=ls.getTime();
53 tpolite+=ls.getTime();
56 ls=new FlexScheduler(e, FlexScheduler.KARMA);
58 System.out.println("Karma Abort="+ls.getTime());
59 System.out.println("Aborts="+ls.getAborts()+" Commit="+ls.getCommits());
60 if (ls.getTime()<besttime)
61 besttime=ls.getTime();
63 // Scheduler s=new Scheduler(e, besttime);
65 //System.out.println("Optimal Time="+s.getTime());
67 System.out.println("lazy="+tlazy);
68 System.out.println("commit="+tcommit);
69 System.out.println("attack="+tattack);
70 System.out.println("polite="+tpolite);
71 System.out.println("karma="+tkarma);