X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/mapping.git/blobdiff_plain/3b32e9bd1892798769f5c25ae3a0e5ca9bf53b3b..77c32a045a9083933acf6a7a931c990ca96426fc:/src/and/Mapping/Cluster.java diff --git a/src/and/Mapping/Cluster.java b/src/and/Mapping/Cluster.java index 712f17c..588c26e 100644 --- a/src/and/Mapping/Cluster.java +++ b/src/and/Mapping/Cluster.java @@ -168,15 +168,24 @@ public class Cluster implements Serializable { if( moreNode >= freenodes.size() ) { - moreNode = 0 ; + System.err.println( "No more free node available" ); + } else { + ret = freenodes.get( moreNode ) ; + moreNode++ ; } - - ret = freenodes.get( moreNode ) ; - moreNode++ ; } return ret ; } + + + /** + * (Re-)Initialize the moreNode counter. + */ + public void initMoreGNode() + { + moreNode = 0 ; + } /** @@ -270,9 +279,8 @@ public class Cluster implements Serializable /** - * Compute and return the real available computing power of the cluster, - * including the heterogeneity degree of the platform. - * @return The real available computing power + * Compute and return the available computing power of the cluster. + * @return The available computing power */ public double getAvailablePower() { @@ -289,7 +297,65 @@ public class Cluster implements Serializable return ret ; } + + + /** + * Compute and return the average available computing power of the cluster. + * @return The available available computing power + */ + public double getAvgAvailablePower() + { + double ret = 0 ; + + /** If there is some available nodes **/ + if( freenodes.size() > 0 ) + { + for( int i = 0 ; i < freenodes.size() ; i++ ) + { + ret += freenodes.get( i ).getPower() ; + } + + ret = ret / freenodes.size() ; + } + + return ret ; + } + + public double getAvgPower() + { + double ret = 0 ; + + /** If there is some available nodes **/ + if( nodes.size() > 0 ) + { + for( int i = 0 ; i < nodes.size() ; i++ ) + { + ret += nodes.get( i ).getPower() ; + } + + ret = ret / nodes.size() ; + } + + return ret ; + } + + + public double getPower() + { + double ret = 0 ; + + /** If there is some available nodes **/ + if( nodes.size() > 0 ) + { + for( int i = 0 ; i < nodes.size() ; i++ ) + { + ret += nodes.get( i ).getPower() ; + } + } + + return ret ; + } /** * Initialization of computing nodes in this cluster. Set all