graph_cluster_utils.alg.mem.didic
Class AlgMemDiDiCExpBal

java.lang.Object
  extended by graph_cluster_utils.alg.mem.AlgMem
      extended by graph_cluster_utils.alg.mem.didic.AlgMemDiDiCExpBal
All Implemented Interfaces:
Alg

public class AlgMemDiDiCExpBal
extends AlgMem

WARNING: Functional, but has had only minimal testing. Inherits from AlgMem. Experimental implementation of the DiDiC clustering/partitioning algorithm, computed on an in-memory graph. Diffusion systems (clusters/partitions) are enabled/disabled based on their size. This is the first step in modifying the DiDiC algorithm to produce clusters/partitions of near-equal size. Initial results are promising, but more experimenting and modifications are still needed. SYNCHRONY: This implementation ensures a low level on synchrony. Nodes compute on the same time step at all times. Nodes compute on the same diffusion system (cluster/partition) and same FOS/T iteration most of the time, and very rarely on the same FOS/B iteration. Moreover, some diffusion systems may be disabled completely at times.

Since:
2010-04-01
Author:
Alex Averbuch

Constructor Summary
AlgMemDiDiCExpBal(java.lang.String databaseDir, Supervisor supervisor, graph_gen_utils.memory_graph.MemGraph memGraph)
           
 
Method Summary
 void start(Conf config)
          Run the clustering/partitioning algorithm
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AlgMemDiDiCExpBal

public AlgMemDiDiCExpBal(java.lang.String databaseDir,
                         Supervisor supervisor,
                         graph_gen_utils.memory_graph.MemGraph memGraph)
Method Detail

start

public void start(Conf config)
Description copied from interface: Alg
Run the clustering/partitioning algorithm

Parameters:
config - an implementation of Conf containing algorithm specific configuration parameters