machine ip addr change and small changes
[IRC.git] / Robust / src / Benchmarks / Prefetch / MicroBenchmarks / OneMCReadcommit.java
1 public class ReadArray extends Thread {
2   int id;
3   ReadArray[] myra;
4   int val;
5
6   public ReadArray() {
7   }
8
9   public ReadArray(int id, ReadArray[] ra) {
10     this.id = id;
11     myra = ra;
12   }
13
14   public void run() {
15     int tmpid;
16     //Create tmpidth array object locally
17     atomic {
18       tmpid = id;
19       myra[tmpid] = global new ReadArray();
20       myra[tmpid].val = tmpid*10+1;
21     }
22   }
23
24
25   public static void main(String[] args) {
26     int nthreads;
27     if(args.length>0) {
28       nthreads = Integer.parseInt(args[0]);
29     }
30     int[] mid = new int[8];
31     mid[0] = (128<<24)|(195<<16)|(136<<8)|162; //dc-1.calit2
32         mid[1] = (128<<24)|(195<<16)|(136<<8)|163; //dc-2.calit2
33         mid[2] = (128<<24)|(195<<16)|(136<<8)|164; //dc-3.calit2
34         mid[3] = (128<<24)|(195<<16)|(136<<8)|165; //dc-4.calit2
35         mid[4] = (128<<24)|(195<<16)|(136<<8)|166; //dc-5.calit2
36         mid[5] = (128<<24)|(195<<16)|(136<<8)|167; //dc-6.calit2
37         mid[6] = (128<<24)|(195<<16)|(136<<8)|168; //dc-7.calit2
38         mid[7] = (128<<24)|(195<<16)|(136<<8)|169; //dc-8.calit2
39  
40     ReadArray[] a;
41     atomic {
42       a=global new ReadArray[nthreads]; //create object a
43     }
44
45     ReadArrayWrap[] ra = new ReadArrayWrap[nthreads];
46
47     atomic {
48       for(int i=0;i<nthreads; i++) {
49         ra[i] = new ReadArrayWrap(global new ReadArray(i, a));
50       }
51     }
52     for(int i =0; i<nthreads; i++)
53       ra[i].ra.start(mid[i]);
54
55     for(int i =0; i<nthreads; i++)
56       ra[i].ra.join();
57
58     //Read Array elements
59     for(int j=0; j<10000; j++) {
60       atomic {
61         int val;
62         for(int i=0; i<nthreads; i++) {
63           val = a[i].val;
64         }
65       }
66     }
67
68         System.printString("Finished\n");
69   }
70 }