Esempio n. 1
0
 private ProducerVertex(int id, Stage <Epoch> stage, int numberToSend)
     : base(id, stage)
 {
     this.numberToSend = numberToSend;
     this.output       = new VertexOutputBuffer <int, Epoch>(this);
     this.NotifyAt(new Epoch(0));
 }
Esempio n. 2
0
        public IntegratorShard(int index, Stage <Epoch> stage)
            : base(index, stage)
        {
            this.input  = new VertexInputBuffer <Weighted <R>, Epoch>(this);
            this.output = new VertexOutputBuffer <Weighted <R>, Epoch>(this);

            this.currentIntegration = new Dictionary <R, Int64>();
        }
Esempio n. 3
0
        internal ProgressUpdateCentralizer(int index, Stage <Pointstamp> stage, ProgressUpdateAggregator aggregator)
            : base(index, stage)
        {
            this.Aggregator = aggregator;

            this.Output = new VertexOutputBuffer <long, Pointstamp>(this);

            this.PCS = new PointstampCountSet(this.Stage.InternalGraphManager.Reachability);
        }
Esempio n. 4
0
        internal ProgressUpdateCentralizer(int index, Stage <Empty> stage, ProgressUpdateAggregator aggregator)
            : base(index, stage)
        {
            this.Aggregator = aggregator;

            this.Output = new VertexOutputBuffer <Update, Empty>(this);

            this.PCS = new PointstampCountSet(this.Stage.InternalComputation.Reachability);
        }
Esempio n. 5
0
            public Reporting(
                VertexContext <T> c, Stream <string, T> inlineStats,
                Stream <Pair <string, ReportingRecord <Int64> >, T> aggInt, Stream <Pair <string, ReportingRecord <double> >, T> aggDouble)
            {
                context = c;

                if (c.parent.parent.manager.Reporting.HasDomain)
                {
                    rootVertex = c.parent.parent.manager.Reporting.RootDomainVertex(c.Vertex.VertexId);
                }
                else
                {
                    rootVertex = null;
                }

                if (inlineStats == null)
                {
                    inlineStatistics = null;
                }
                else
                {
                    inlineStatistics = new VertexOutputBuffer <string, T>(c.Vertex);
                    inlineStats.StageOutput.Register(inlineStatistics);
                }

                if (aggInt == null)
                {
                    aggregateInt    = null;
                    aggregateDouble = null;
                }
                else
                {
                    aggregateInt = new VertexOutputBuffer <Pair <string, ReportingRecord <long> >, T>(c.Vertex);
                    aggInt.StageOutput.Register(aggregateInt);
                    aggregateDouble = new VertexOutputBuffer <Pair <string, ReportingRecord <double> >, T>(c.Vertex);
                    aggDouble.StageOutput.Register(aggregateDouble);
                }
            }
Esempio n. 6
0
 /// <summary>
 /// Creates a new BinaryVertex
 /// </summary>
 /// <param name="index">vertex index</param>
 /// <param name="stage">host stage</param>
 public BinaryVertex(int index, Stage <TTime> stage)
     : base(index, stage)
 {
     this.Output = new VertexOutputBuffer <TOutput, TTime>(this);
 }
Esempio n. 7
0
 public ProgressUpdateAggregator(int index, Stage <Pointstamp> stage)
     : base(index, stage)
 {
     this.Output = new VertexOutputBuffer <long, Pointstamp>(this);
 }
Esempio n. 8
0
 public AggregateStatisticsVertex(int index, Stage <T> parent)
     : base(index, parent)
 {
     output = new VertexOutputBuffer <Pair <string, ReportingRecord <R> >, T>(this);
 }
Esempio n. 9
0
 internal IngressVertex(int index, Stage <IterationIn <T> > stage, Func <R, int> initialIteration)
     : base(index, stage)
 {
     Output = new VertexOutputBuffer <R, IterationIn <T> >(this);
     this.InitialIteration = initialIteration;
 }
Esempio n. 10
0
 internal EgressVertex(int index, Stage <T> stage, int iterationNumber)
     : base(index, stage)
 {
     outputs           = new VertexOutputBuffer <R, T>(this);
     this.releaseAfter = iterationNumber;
 }
Esempio n. 11
0
 public ProgressUpdateAggregator(int index, Stage <Empty> stage)
     : base(index, stage)
 {
     this.Output = new VertexOutputBuffer <Update, Empty>(this);
 }
Esempio n. 12
0
 internal StreamingInputVertex(int index, Stage <Epoch> stage)
     : base(index, stage)
 {
     this.inputQueue = new System.Collections.Concurrent.ConcurrentQueue <Instruction>();
     this.output     = new VertexOutputBuffer <S, Epoch>(this);
 }
Esempio n. 13
0
 public ProgressUpdateAggregator(int index, Stage <Empty> stage)
     : base(index, stage)
 {
     this.Output = new VertexOutputBuffer <Update, Empty>(this);
     NaiadTracing.Trace.LockInfo(this.Lock, "Aggregator Lock");
 }