+
+
+ /**
+ * Compute and return the real available computing power of the cluster,
+ * including the heterogeneity degree of the platform.
+ * @param _het The heterogeneity degree of the platform
+ * @return The real available computing power
+ */
+ public double getAvailablePower( double _het )
+ {
+ double ret = 0 ;
+
+ /** If there is some available nodes **/
+ if( freenodes.size() > 0 )
+ {
+ double het = _het ;
+ double totalPower = 0 ;
+
+ if( het == 0 )
+ het = 0.00001 ;
+
+ for( int i = 0 ; i < freenodes.size() ; i++ )
+ {
+ totalPower += freenodes.get( i ).getPower() ;
+ }
+
+ ret = Math.pow( ( totalPower / freenodes.size() ), ( 2 * het) ) *
+ ( freenodes.size() / ( het * het) ) ;
+ }
+
+ return ret ;
+ }