00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 package org.objectweb.proactive.benchmarks.timit.util;
00032
00033 import java.io.Serializable;
00034
00035 import org.objectweb.proactive.ProActive;
00036 import org.objectweb.proactive.benchmarks.timit.util.observing.EventDataBag;
00037 import org.objectweb.proactive.core.group.ProActiveGroup;
00038
00045 public class TimItManager implements Serializable {
00046
00050 private static final long serialVersionUID = -2687394905241420341L;
00051
00052 private static TimItManager instance = new TimItManager();
00053
00054 private BenchmarkStatistics benchStats;
00055
00056 private TimItReductor timitReductor;
00057
00058 private int groupSize;
00059
00063 private TimItManager() {
00064 }
00065
00066 public static TimItManager getInstance() {
00067 return TimItManager.instance;
00068 }
00069
00070 public void setTimitReductor(TimItReductor reductor) {
00071 this.timitReductor = reductor;
00072 }
00073
00082 public void setTimedObjects(Timed timed) {
00083 if( this.timitReductor == null ) return;
00084 if (ProActiveGroup.isGroup(timed)) {
00085 this.groupSize = ProActiveGroup.size(timed);
00086 } else {
00087 this.groupSize = 1;
00088 }
00089 timed.setTimerReduction(this.timitReductor);
00090 this.timitReductor.setGroupSize(this.groupSize);
00091 }
00092
00099 public void setTimedObjects(Timed[] timed) {
00100 if( this.timitReductor == null ) return;
00101 this.groupSize = timed.length;
00102 for (int i = 0; i < this.groupSize; i++) {
00103 timed[i].setTimerReduction(this.timitReductor);
00104 }
00105 this.timitReductor.setGroupSize(this.groupSize);
00106 }
00107
00116 @Deprecated
00117 public void finalizeStats() {
00118 if( this.timitReductor == null ) return;
00119 this.benchStats = this.timitReductor.getStatistics();
00120 ProActive.waitFor(this.benchStats);
00121 }
00122
00128 public EventDataBag getEventCollapsedBag() {
00129 if( this.timitReductor == null ) return null;
00130 return this.timitReductor.getEventDataBag();
00131 }
00132
00138 public BenchmarkStatistics getBenchmarkStatistics() {
00139 if( this.timitReductor == null ) return null;
00140 this.benchStats = this.timitReductor.getStatistics();
00141 ProActive.waitFor(this.benchStats);
00142 return this.benchStats;
00143 }
00144 }