From 1cecd76a398cdfa95045ae778ca4c8258e95b9d4 Mon Sep 17 00:00:00 2001 From: Christian Wulf <chw@informatik.uni-kiel.de> Date: Tue, 11 Aug 2015 05:59:57 +0200 Subject: [PATCH] added WordCounter --- .gitignore | 1 + .../teetime/framework/MonitoringThread.java | 24 ++-- .../exceptionHandling/TerminateException.java | 4 +- .../java/teetime/stage/MappingCounter.java | 5 - .../teetime/stage/string/ToLowerCase.java | 5 +- .../teetime/stage/string/WordCounter.java | 1 - src/main/resources/hugetext.zip | Bin 0 -> 6679313 bytes .../wordcounter/WordCounterConfiguration.java | 123 ++++++++++++++++++ .../examples/wordcounter/WordCounterTest.java | 111 ++++++++++++++++ 9 files changed, 255 insertions(+), 19 deletions(-) create mode 100644 src/main/resources/hugetext.zip create mode 100644 src/test/java/teetime/examples/wordcounter/WordCounterConfiguration.java create mode 100644 src/test/java/teetime/examples/wordcounter/WordCounterTest.java diff --git a/.gitignore b/.gitignore index 952e77c1..f070d111 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /target .DS_Store teetime.log +/src/main/resources/hugetext.txt diff --git a/src/main/java/teetime/framework/MonitoringThread.java b/src/main/java/teetime/framework/MonitoringThread.java index 31905af9..94c3b489 100644 --- a/src/main/java/teetime/framework/MonitoringThread.java +++ b/src/main/java/teetime/framework/MonitoringThread.java @@ -21,21 +21,23 @@ import java.util.List; import org.slf4j.LoggerFactory; import teetime.framework.pipe.IMonitorablePipe; -import teetime.framework.pipe.IPipe; public class MonitoringThread extends Thread { private static final org.slf4j.Logger LOGGER = LoggerFactory.getLogger(MonitoringThread.class); - private final List<IMonitorablePipe> monitoredPipes = new ArrayList<IMonitorablePipe>(); + // private final List<IMonitorablePipe> monitoredPipes = new ArrayList<IMonitorablePipe>(); private volatile boolean terminated; + private final List<AbstractPort<?>> monitoredPorts = new ArrayList<AbstractPort<?>>(); + @Override public void run() { while (!terminated) { - for (final IMonitorablePipe pipe : monitoredPipes) { + for (final AbstractPort<?> port : monitoredPorts) { + IMonitorablePipe pipe = (IMonitorablePipe) port.getPipe(); final long pushThroughput = pipe.getPushThroughput(); final long pullThroughput = pipe.getPullThroughput(); final double ratio = (double) pushThroughput / pullThroughput; @@ -54,12 +56,12 @@ public class MonitoringThread extends Thread { } } - public void addPipe(final IPipe pipe) { - if (!(pipe instanceof IMonitorablePipe)) { - throw new IllegalArgumentException("The given pipe does not implement IMonitorablePipe"); - } - monitoredPipes.add((IMonitorablePipe) pipe); - } + // public void addPipe(final IPipe pipe) { + // if (!(pipe instanceof IMonitorablePipe)) { + // throw new IllegalArgumentException("The given pipe does not implement IMonitorablePipe"); + // } + // monitoredPipes.add((IMonitorablePipe) pipe); + // } /** * Sets the <code>terminated</code> flag and interrupts this thread. @@ -69,4 +71,8 @@ public class MonitoringThread extends Thread { interrupt(); } + public void addPort(final InputPort<String> inputPort) { + monitoredPorts.add(inputPort); + } + } diff --git a/src/main/java/teetime/framework/exceptionHandling/TerminateException.java b/src/main/java/teetime/framework/exceptionHandling/TerminateException.java index a05e2674..47581a81 100644 --- a/src/main/java/teetime/framework/exceptionHandling/TerminateException.java +++ b/src/main/java/teetime/framework/exceptionHandling/TerminateException.java @@ -19,10 +19,10 @@ import teetime.util.StacklessException; /** * Represents an exception that is used to terminate the running thread. - * + * * @since 1.1 */ -public class TerminateException extends StacklessException { +public final class TerminateException extends StacklessException { public static final TerminateException INSTANCE = new TerminateException("Framework Exception"); diff --git a/src/main/java/teetime/stage/MappingCounter.java b/src/main/java/teetime/stage/MappingCounter.java index d3678566..587ed7d1 100644 --- a/src/main/java/teetime/stage/MappingCounter.java +++ b/src/main/java/teetime/stage/MappingCounter.java @@ -35,14 +35,9 @@ public final class MappingCounter<T> extends AbstractConsumerStage<T> { private final CountingMap<T> counter = new CountingMap<T>(); private final OutputPort<CountingMap<T>> port = createOutputPort(); - public MappingCounter() { - - } - @Override protected void execute(final T element) { counter.increment(element); - } @Override diff --git a/src/main/java/teetime/stage/string/ToLowerCase.java b/src/main/java/teetime/stage/string/ToLowerCase.java index 9a6efdd0..f15c1751 100644 --- a/src/main/java/teetime/stage/string/ToLowerCase.java +++ b/src/main/java/teetime/stage/string/ToLowerCase.java @@ -15,6 +15,8 @@ */ package teetime.stage.string; +import java.util.Locale; + import teetime.framework.AbstractConsumerStage; import teetime.framework.OutputPort; @@ -31,8 +33,7 @@ public final class ToLowerCase extends AbstractConsumerStage<String> { @Override protected void execute(final String element) { - this.outputPort.send(element.toLowerCase()); - + this.outputPort.send(element.toLowerCase(Locale.ENGLISH)); } public OutputPort<String> getOutputPort() { diff --git a/src/main/java/teetime/stage/string/WordCounter.java b/src/main/java/teetime/stage/string/WordCounter.java index f7d52982..cef131b0 100644 --- a/src/main/java/teetime/stage/string/WordCounter.java +++ b/src/main/java/teetime/stage/string/WordCounter.java @@ -36,7 +36,6 @@ public final class WordCounter extends AbstractCompositeStage { private final MappingCounter<String> mapCounter; public WordCounter() { - this.tokenizer = new Tokenizer(" "); final ToLowerCase toLowerCase = new ToLowerCase(); this.mapCounter = new MappingCounter<String>(); diff --git a/src/main/resources/hugetext.zip b/src/main/resources/hugetext.zip new file mode 100644 index 0000000000000000000000000000000000000000..1373ce2e9f8356f7308e61a6efb8687ae5021a68 GIT binary patch literal 6679313 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 literal 0 HcmV?d00001 diff --git a/src/test/java/teetime/examples/wordcounter/WordCounterConfiguration.java b/src/test/java/teetime/examples/wordcounter/WordCounterConfiguration.java new file mode 100644 index 00000000..034a2c7d --- /dev/null +++ b/src/test/java/teetime/examples/wordcounter/WordCounterConfiguration.java @@ -0,0 +1,123 @@ +/** + * Copyright (C) 2015 TeeTime (http://teetime.sourceforge.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package teetime.examples.wordcounter; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +import teetime.framework.AbstractPort; +import teetime.framework.Configuration; +import teetime.framework.MonitoringThread; +import teetime.stage.CountingMapMerger; +import teetime.stage.InitialElementProducer; +import teetime.stage.basic.distributor.Distributor; +import teetime.stage.basic.distributor.strategy.RoundRobinStrategy2; +import teetime.stage.basic.merger.Merger; +import teetime.stage.io.File2SeqOfWords; +import teetime.stage.string.WordCounter; +import teetime.stage.util.CountingMap; + +/** + * A simple configuration, which counts the words of a set of files. + * The execution of this configuration is demonstrated in {@link WordCountingTest}. + * + * This configuration is divided into three parts. The first part reads files and distributes them to different {@link WordCounter} instances. + * The second part are a certain number of WordCounter instances. On construction of this class the number of concurrent WordCounter instances is specified with the + * threads parameter. + * The third and last part collects the results from all WordCounter instances and merges them. This final result can be read afterwards. + * + * + * @author Nelson Tavares de Sousa + * + */ +public class WordCounterConfiguration extends Configuration { + + // Last stage is saved as field, to retrieve the result after execution. + private final CountingMapMerger<String> result = new CountingMapMerger<String>(); + + private final List<AbstractPort<?>> distributorPorts = new ArrayList<AbstractPort<?>>(); + private final List<AbstractPort<?>> mergerPorts = new ArrayList<AbstractPort<?>>(); + + private final MonitoringThread monitoringThread; + + private final Distributor<String> distributor; + + public WordCounterConfiguration(final int threads, final File... input) { + // First part of the config + final InitialElementProducer<File> init = new InitialElementProducer<File>(input); + // final File2Lines f2b = new File2Lines(); + final File2SeqOfWords f2b = new File2SeqOfWords("UTF-8", 512); + distributor = new Distributor<String>(new RoundRobinStrategy2()); + + // last part + final Merger<CountingMap<String>> merger = new Merger<CountingMap<String>>(); + // CountingMapMerger (already as field) + + // Connecting the stages of the first part of the config + connectPorts(init.getOutputPort(), f2b.getInputPort()); + connectPorts(f2b.getOutputPort(), distributor.getInputPort()); + + monitoringThread = new MonitoringThread(); + + // Middle part... multiple instances of WordCounter are created and connected to the merger and distrubuter stages + for (int i = 0; i < threads; i++) { + // final InputPortSizePrinter<String> inputPortSizePrinter = new InputPortSizePrinter<String>(); + final WordCounter wc = new WordCounter(); + // intraFact.create(inputPortSizePrinter.getOutputPort(), wc.getInputPort()); + final WordCounter threadableStage = wc; + + connectPorts(distributor.getNewOutputPort(), threadableStage.getInputPort(), 1000); + connectPorts(wc.getOutputPort(), merger.getNewInputPort()); + // Add WordCounter as a threadable stage, so it runs in its own thread + addThreadableStage(threadableStage.getInputPort().getOwningStage()); + + distributorPorts.add(threadableStage.getInputPort()); + mergerPorts.add(wc.getOutputPort()); + + monitoringThread.addPort(threadableStage.getInputPort()); + } + + // Connect the stages of the last part + connectPorts(merger.getOutputPort(), result.getInputPort()); + + // Add the first and last part to the threadable stages + addThreadableStage(init); + addThreadableStage(merger); + } + + public MonitoringThread getMonitoringThread() { + return monitoringThread; + } + + // Further methods are allowed. For e.g. it is possible to read data from certain stages. + public CountingMap<String> getResult() { + return result.getResult(); + } + + public List<AbstractPort<?>> getDistributorPorts() { + return distributorPorts; + } + + public List<AbstractPort<?>> getMergerPorts() { + return mergerPorts; + } + + public Distributor<String> getDistributor() { + return distributor; + } + +} diff --git a/src/test/java/teetime/examples/wordcounter/WordCounterTest.java b/src/test/java/teetime/examples/wordcounter/WordCounterTest.java new file mode 100644 index 00000000..ae65d4fd --- /dev/null +++ b/src/test/java/teetime/examples/wordcounter/WordCounterTest.java @@ -0,0 +1,111 @@ +package teetime.examples.wordcounter; + +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.PrintStream; +import java.io.UnsupportedEncodingException; +import java.util.concurrent.TimeUnit; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import teetime.framework.AbstractPort; +import teetime.framework.Execution; +import teetime.framework.pipe.IMonitorablePipe; +import teetime.stage.basic.distributor.strategy.RoundRobinStrategy2; +import teetime.stage.util.CountingMap; +import teetime.util.StopWatch; + +import com.google.common.base.Joiner; +import com.google.common.primitives.Longs; + +public class WordCounterTest { + + private static final Logger LOGGER = LoggerFactory.getLogger(WordCounterTest.class); + + public static void writeTimingsToFile(final File outputFile, final long[] timings) throws UnsupportedEncodingException, FileNotFoundException { + final PrintStream ps = new PrintStream(new BufferedOutputStream(new FileOutputStream(outputFile, true), 8192 * 8), false, "UTF-8"); + try { + final Joiner joiner = com.google.common.base.Joiner.on(' '); + final String timingsString = joiner.join(Longs.asList(timings)); + ps.println(timingsString); + } finally { + ps.close(); + } + } + + public static void main(final String[] args) throws UnsupportedEncodingException, FileNotFoundException { + int numWorkerThreads; + try { + numWorkerThreads = Integer.valueOf(args[0]); + } catch (final NumberFormatException e) { + numWorkerThreads = 3; + } + LOGGER.info("# worker threads: " + numWorkerThreads); + + int numWarmUps; + try { + numWarmUps = Integer.valueOf(args[1]); + } catch (final NumberFormatException e) { + numWarmUps = 1; + } + LOGGER.info("# warm ups: " + numWarmUps); + + final long[] timings = new long[1]; + + final String fileName = args[2]; + final File testFile = new File(fileName); + + final StopWatch stopWatch = new StopWatch(); + + for (int i = 0; i < numWarmUps; i++) { + LOGGER.info("Warm up #" + i); + final WordCounterConfiguration wcc = new WordCounterConfiguration(numWorkerThreads, testFile); + final Execution<?> analysis = new Execution<WordCounterConfiguration>(wcc); + + stopWatch.start(); + analysis.executeBlocking(); + stopWatch.end(); + + LOGGER.info("duration: " + TimeUnit.NANOSECONDS.toSeconds(stopWatch.getDurationInNs()) + " secs"); + } + + LOGGER.info("Starting analysis..."); + final WordCounterConfiguration wcc = new WordCounterConfiguration(numWorkerThreads, testFile); + final Execution<?> analysis = new Execution<WordCounterConfiguration>(wcc); + + wcc.getMonitoringThread().start(); + stopWatch.start(); + analysis.executeBlocking(); + stopWatch.end(); + wcc.getMonitoringThread().terminate(); + + LOGGER.info("duration: " + TimeUnit.NANOSECONDS.toSeconds(stopWatch.getDurationInNs()) + " secs"); + timings[0] = stopWatch.getDurationInNs(); + + // System.out.println("exceptions: " + exceptions); + + final CountingMap<String> map = wcc.getResult(); + System.out.println("vero: " + (map.get("vero") == 3813850) + "->" + map.get("vero") + " should be " + 3813850); + System.out.println("sit: " + (map.get("sit") == 7627700) + "->" + map.get("sit") + " should be " + 7627700); + + final File outputFile = new File("timings.txt"); + writeTimingsToFile(outputFile, timings); + + System.out.println("distributor pipes:"); + for (final AbstractPort<?> port : wcc.getDistributorPorts()) { + final IMonitorablePipe spscPipe = (IMonitorablePipe) port.getPipe(); + System.out.println("numWaits: " + spscPipe.getNumWaits()); + } + + System.out.println("merger pipes:"); + for (final AbstractPort<?> port : wcc.getMergerPorts()) { + final IMonitorablePipe spscPipe = (IMonitorablePipe) port.getPipe(); + System.out.println("numWaits: " + spscPipe.getNumWaits()); + } + + System.out.println("distributor waits: " + ((RoundRobinStrategy2) wcc.getDistributor().getStrategy()).getNumWaits()); + } +} -- GitLab