diff --git a/pmd-dcpd/src/net/sourceforge/pmd/dcpd/DCPD.java b/pmd-dcpd/src/net/sourceforge/pmd/dcpd/DCPD.java index a85e989f45..fb1b02b97f 100644 --- a/pmd-dcpd/src/net/sourceforge/pmd/dcpd/DCPD.java +++ b/pmd-dcpd/src/net/sourceforge/pmd/dcpd/DCPD.java @@ -41,7 +41,7 @@ public class DCPD { space.write(tokenSetWrapper, null, Lease.FOREVER); System.out.println("Crunching"); - DGST dgst = new DGST(space, job, tokenSetWrapper.tokenSets, 2); + DGST dgst = new DGST(space, job, tokenSetWrapper.tokenSets, 30); Results results = dgst.crunch(new CPDListenerImpl()); System.out.println("Cleaning up"); diff --git a/pmd-dcpd/src/net/sourceforge/pmd/dcpd/DCPDWorker.java b/pmd-dcpd/src/net/sourceforge/pmd/dcpd/DCPDWorker.java index 786d9e1515..4324444445 100644 --- a/pmd-dcpd/src/net/sourceforge/pmd/dcpd/DCPDWorker.java +++ b/pmd-dcpd/src/net/sourceforge/pmd/dcpd/DCPDWorker.java @@ -49,11 +49,9 @@ public class DCPDWorker { System.out.println("Read a TokenSetsWrapper with " + tsw.tokenSets.size() + " token lists"); while (true) { - System.out.println("Starting expansion"); TileExpander te = new TileExpander(space, tsw); te.expandAvailableTiles(); - System.out.println("Done, sleeping"); - Thread.currentThread().sleep(1000); + Thread.currentThread().yield(); } } catch (Exception e) { diff --git a/pmd-dcpd/src/net/sourceforge/pmd/dcpd/DGST.java b/pmd-dcpd/src/net/sourceforge/pmd/dcpd/DGST.java index e6bdc74105..db547aa24d 100644 --- a/pmd-dcpd/src/net/sourceforge/pmd/dcpd/DGST.java +++ b/pmd-dcpd/src/net/sourceforge/pmd/dcpd/DGST.java @@ -32,7 +32,7 @@ public class DGST { public Results crunch(CPDListener listener) { Occurrences occ = new Occurrences(tokenSets, listener); try { - TileScatterer scatterer = new TileScatterer(space, job); + TilePlanter scatterer = new TilePlanter(space, job); scatterer.scatter(occ); space.write(job, null, Lease.FOREVER); expand(occ); @@ -45,11 +45,11 @@ public class DGST { private void expand(Occurrences occ) throws RemoteException, UnusableEntryException, TransactionException, InterruptedException { while (!occ.isEmpty()) { - TileGatherer tg = new TileGatherer(space, job); + TileHarvester tg = new TileHarvester(space, job); occ = tg.gather(occ.size()); addToResults(occ); System.out.println("************* Scatter..gather complete; tile count now " + occ.size()); - TileScatterer scatterer = new TileScatterer(space, job); + TilePlanter scatterer = new TilePlanter(space, job); scatterer.scatter(occ); } } @@ -58,6 +58,7 @@ public class DGST { for (Iterator i = occ.getTiles(); i.hasNext();) { Tile tile = (Tile)i.next(); if (tile.getTokenCount() > this.minimumTileSize) { + //System.out.println("Adding " + tile.getImage()); for (Iterator j = occ.getOccurrences(tile); j.hasNext();) { TokenEntry te = (TokenEntry)j.next(); results.addTile(tile, te); diff --git a/pmd-dcpd/src/net/sourceforge/pmd/dcpd/TileExpander.java b/pmd-dcpd/src/net/sourceforge/pmd/dcpd/TileExpander.java index b0790a7390..0c8e01feb7 100644 --- a/pmd-dcpd/src/net/sourceforge/pmd/dcpd/TileExpander.java +++ b/pmd-dcpd/src/net/sourceforge/pmd/dcpd/TileExpander.java @@ -31,7 +31,9 @@ public class TileExpander { Entry twQuery = space.snapshot(new TileWrapper(null, null, tsw.jobID, TileWrapper.NOT_DONE, null, null, null)); TileWrapper tileWrapperToExpand = null; + int total = 0; while ((tileWrapperToExpand = (TileWrapper)space.take(twQuery, null, 10)) != null) { + total++; //System.out.println("Expanding " + tileWrapperToExpand.tile.getImage()); Occurrences results = expand(tileWrapperToExpand); int expansionIndex = 0; @@ -45,10 +47,11 @@ public class TileExpander { new Integer(expansionIndex), new Integer(results.size())); space.write(tileWrapperToWrite, null, Lease.FOREVER); - System.out.println("Wrote " + tileWrapperToWrite + "; occurrences = " + tileWrapperToWrite.occurrences.size()); + //System.out.println("Wrote " + tileWrapperToWrite + "; occurrences = " + tileWrapperToWrite.occurrences.size()); expansionIndex++; } } + if (total>0) System.out.println("Expanded " + total + " tiles"); } diff --git a/pmd-dcpd/src/net/sourceforge/pmd/dcpd/TileGatherer.java b/pmd-dcpd/src/net/sourceforge/pmd/dcpd/TileHarvester.java similarity index 78% rename from pmd-dcpd/src/net/sourceforge/pmd/dcpd/TileGatherer.java rename to pmd-dcpd/src/net/sourceforge/pmd/dcpd/TileHarvester.java index d2680ff014..dc138dbc5a 100644 --- a/pmd-dcpd/src/net/sourceforge/pmd/dcpd/TileGatherer.java +++ b/pmd-dcpd/src/net/sourceforge/pmd/dcpd/TileHarvester.java @@ -16,12 +16,12 @@ import net.jini.space.JavaSpace; import java.rmi.RemoteException; -public class TileGatherer { +public class TileHarvester { private JavaSpace space; private Job job; - public TileGatherer(JavaSpace space, Job job) { + public TileHarvester(JavaSpace space, Job job) { this.space = space; this.job = job; } @@ -39,17 +39,17 @@ public class TileGatherer { return occ; } - private void addAllExpansions(int originalPosition, TileWrapper firstTileWrapper, Occurrences occ) throws RemoteException, UnusableEntryException, TransactionException, InterruptedException { - TileWrapper nextExpansion = firstTileWrapper; - for (int i=0; i0) { nextExpansion = (TileWrapper)space.take(new TileWrapper(null, null, - firstTileWrapper.jobID, + firstExpansion.jobID, TileWrapper.DONE, new Integer(originalPosition), new Integer(i), - firstTileWrapper.expansionsTotal), null, Lease.FOREVER); + firstExpansion.expansionsTotal), null, Lease.FOREVER); } //System.out.println("Gathered " + nextExpansion + "; occurrences = " + nextExpansion.occurrences.size()); // here's where we discard solo tiles @@ -60,8 +60,8 @@ public class TileGatherer { } private void addTileWrapperToOccurrences(TileWrapper tw, Occurrences occ) { - for (int i=0; i" + tw.occurrences.size()); + //System.out.println("Scattering " + tw.tile.getImage() + "->" + tw.occurrences.size()); if (tilesSoFar++ % 25 == 0) { System.out.println("Written " + tilesSoFar + " tiles so far"); }