X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/mapping.git/blobdiff_plain/23387ed9d46023e630c4e061a68fcb90cc17e52a..732a7291d1f84c7c95026129b8550b84f69337e5:/src/and/Mapping/DefaultMapping.java diff --git a/src/and/Mapping/DefaultMapping.java b/src/and/Mapping/DefaultMapping.java index 2f096b8..3de90b1 100644 --- a/src/and/Mapping/DefaultMapping.java +++ b/src/and/Mapping/DefaultMapping.java @@ -2,6 +2,7 @@ package and.Mapping ; import java.util.ArrayList; +import java.util.Random; /** @@ -23,6 +24,7 @@ public class DefaultMapping extends Algo public DefaultMapping() { super() ; + name = "DefaultMapping" ; } @@ -35,6 +37,7 @@ public class DefaultMapping extends Algo { super( _gr, _gd ) ; archi = _gnodes ; + name = "DefaultMapping" ; } @@ -60,9 +63,6 @@ public class DefaultMapping extends Algo } else { System.err.println( "\n\n!!! Unable to map application !\n\n" ) ; } - - /** Update in cluster the status of nodes **/ - updateGrid() ; } @@ -71,7 +71,7 @@ public class DefaultMapping extends Algo { GNode ret = null ; - if( _dead != null ) + if( _dead != null && _ag != null ) { int pos = 0 ; pos = mp.getIdOfAssociation( _dead ) ; @@ -84,18 +84,17 @@ public class DefaultMapping extends Algo if( _ag.size() > 0 ) { - ret = _ag.get( 0 ) ; - + Random r = new Random() ; + ret = _ag.get( r.nextInt( _ag.size() ) ) ; } else { System.err.println( "Not enought available nodes in gnodes to replace one !" ) ; return null ; - } + } + + nb_fault++ ; } - /** Update in cluster the status of nodes **/ - updateGrid() ; - return ret ; } @@ -106,7 +105,7 @@ public class DefaultMapping extends Algo /** Returning the first node in the list **/ if( _ag.size() > 0 ) { - return _ag.get( 1 ) ; + return _ag.get( 0 ) ; } return null ;