示例#1
0
        public IStringInstance newInstance(string s)
        {
            IStringInstance instance = (IStringInstance)newInstance();

            instance.Value = s;
            return(instance);
        }
        public override void main()
        {
            count = 0;
            IKVPairInstance <IString, IIterator <ICliqueNode> > input = (IKVPairInstance <IString, IIterator <ICliqueNode> >)Input_values.Instance;
            IStringInstance pivot = (IStringInstance)input.Key;
            IIteratorInstance <ICliqueNode> input_value = (IIteratorInstance <ICliqueNode>)input.Value;

            bigCliques = new List <IList <int> > ();
            bigger     = 0;

            HashSet <int> upper = new HashSet <int>();
            HashSet <int> lower = new HashSet <int>();

            IDictionary <int, IList <int> > dicValues = splitting_In_Left_Pivot_Right(input_value, pivot.Value, upper, lower);

            IList <int> R = new List <int>();

            R.Add(int.Parse(pivot.Value));

            bronKerboschAlgorithm(1, dicValues, upper, R, lower);

            //if (count > 0) {
            IKVPairInstance <IString, ICliqueNode> kvpair = (IKVPairInstance <IString, ICliqueNode>)Output_value.newInstance();

            ((IStringInstance)kvpair.Key).Value            = pivot.Value;
            ((ICliqueNodeInstance)kvpair.Value).IdInstance = count;                     //bigCliques [0].Count;
            //((ICliqueNodeInstance)kvpair.Value).NeighborsInstance = bigCliques [0];
            //} else {
            //	IKVPairInstance<IString,ICliqueNode> kvpair = (IKVPairInstance<IString,ICliqueNode>)Output_value.newInstance ();
            //	((IStringInstance)kvpair.Key).Value = pivot.Value;
            //	((ICliqueNodeInstance)kvpair.Value).IdInstance = 0;
            //}
        }
示例#3
0
        public override void main()
        {
            string[] string_iteracoes = readInput("/home/hpe/iteracoes").Split(new char[] { System.Environment.NewLine[0] });
            int      iteracoes        = int.Parse(string_iteracoes [0]);

            IStringInstance input_data_instance = (IStringInstance)Input_data.Instance;
            IIteratorInstance <IKVPair <IString, IDouble> > output_data_instance = (IIteratorInstance <IKVPair <IString, IDouble> >)Output_data.Instance;

            int count = 0;

            while (count++ < iteracoes)
            {
                double X = 0.0;
                this.Page_rank.go();
                object o;
                string saida = "";
                while (output_data_instance.fetch_next(out o))
                {
                    IKVPairInstance <IString, IDouble> kvp = (IKVPairInstance <IString, IDouble>)o;
                    IStringInstance k = (IStringInstance)kvp.Key;
                    IDoubleInstance v = (IDoubleInstance)kvp.Value;
                    if (!k.Value.Equals("X"))
                    {
                        saida = saida + k.Value + " " + v.Value + System.Environment.NewLine;
                    }
                    else
                    {
                        X = v.Value;
                    }
                }
                input_data_instance.Value = "X " + X + System.Environment.NewLine + saida;
                System.Console.WriteLine("PAGERANK ITERATION: " + count + " X:" + X);
            }
        }
示例#4
0
        public override void main()
        {
            Trace.WriteLine(WorldComm.Rank + ": STARTING BREAK IN LINE  (SPLIT FUNCTION)");
            IStringInstance input_data_instance = (IStringInstance)Input_data.Instance;
            IIteratorInstance <IKVPair <IInteger, IString> > output_data_instance = (IIteratorInstance <IKVPair <IInteger, IString> >)Output_data.Instance;

            string s = input_data_instance.Value;

            string[] lines        = s.Split(new char[] { System.Environment.NewLine[0] });
            int      line_counter = 0;

            foreach (string line in lines)
            {
                if (!line.Trim().Equals(""))
                {
                    Trace.WriteLine(WorldComm.Rank + ": LINE = " + line);
                    IKVPairInstance <IInteger, IString> line_pair = (IKVPairInstance <IInteger, IString>)Output_data.createItem();
                    ((IIntegerInstance)line_pair.Key).Value  = line_counter++;
                    ((IStringInstance)line_pair.Value).Value = line;
                    output_data_instance.put(line_pair);
                }
            }

            Trace.WriteLine(WorldComm.Rank + ": FINISH BREAK IN LINES #1 !!! " + output_data_instance.GetHashCode());
            output_data_instance.finish();
            Trace.WriteLine(WorldComm.Rank + ": FINISH BREAK IN LINES #2 !!!");
        }
示例#5
0
        public override void main()
        {
            int              done = 0;
            IStringInstance  input_data_instance  = (IStringInstance)Input_data.Instance;
            IStringInstance  output_data_instance = (IStringInstance)Output_data.Instance;
            IIntegerInstance termination_flag     = (IIntegerInstance)Termination_flag.Instance;

            string setE = input_data_instance.Value;

            string setV = "1 c 0" + System.Environment.NewLine;


            IDictionary <int, int> vertices = new Dictionary <int, int>();

            foreach (string edge in setE.Split(System.Environment.NewLine.ToCharArray()))
            {
                if (edge.Length > 0)
                {
                    int vertex = edge [0];
                    if (!vertices.ContainsKey(vertex))
                    {
                        setV += edge [0] + " d " + int.MaxValue + System.Environment.NewLine;
                        vertices.Add(vertex, vertex);
                    }
                }
            }

            input_data_instance.Value = setV + System.Environment.NewLine + setE;

            int count = 0;

            while (done == 0)
            {
                Console.WriteLine(Rank + ": ITERATION PATH_FLOW.GO ! - " + (++count));

                this.Path_flow.go();

                setV = output_data_instance.Value;
                Trace.WriteLine(Rank + ": --- setV = " + setV);

                done = setV.EndsWith("True") ? 1 : 0;
                termination_flag.Value = done;
                Set_termination_flag.go();

                setV = setV.Remove(setV.IndexOf(done == 1 ? "True" : "False") - 2);

                Trace.WriteLine(Rank + ": --- END ITERATION PATH_FLOW.GO ! - " + count);

                input_data_instance.Value = setV;
            }



            Console.WriteLine(Rank + ": --- FINISH PATH_FLOW.GO !");
        }
        public override void main()
        {
            IStringInstance  input_string_instance  = (IStringInstance)Input_key.Instance;
            IIntegerInstance output_string_instance = (IIntegerInstance)Output_key.Instance;

            int value = Math.Abs(input_string_instance.Value.GetHashCode());

            // Trace.WriteLine("PARTITION FUNCTION " + (value % NumberOfPartitions));

            output_string_instance.Value = value % NumberOfPartitions;
        }
示例#7
0
        public override void main()
        {
            int             done = 0;
            IStringInstance input_data_instance  = (IStringInstance)Input_data.Instance;
            IStringInstance output_data_instance = (IStringInstance)Output_data.Instance;
            IIteratorInstance <IPathInfo> initial_data_instance = (IIteratorInstance <IPathInfo>)Initial_data.Instance;
            IKVPairInstance <IInteger, IIterator <IPathInfo> > final_distances_instance = (IKVPairInstance <IInteger, IIterator <IPathInfo> >)Final_distances.Instance;
            IIntegerInstance termination_flag = (IIntegerInstance)Termination_flag.Instance;

            string setE = input_data_instance.Value;
            string setV = "1 c 0" + System.Environment.NewLine;
            IDictionary <int, int> vertices = new Dictionary <int, int>();

            foreach (string edge in setE.Split(System.Environment.NewLine.ToCharArray()))
            {
                if (edge.Length > 0)
                {
                    int vertex = edge [0];
                    if (!vertices.ContainsKey(vertex))
                    {
                        setV += edge [0] + " d " + int.MaxValue + System.Environment.NewLine;
                        vertices.Add(vertex, vertex);
                    }
                }
            }

            feedInitialData(setV + System.Environment.NewLine + setE, initial_data_instance);

            int count = 0;

            while (done == 0)
            {
                Console.WriteLine(Rank + ": ITERATION PATH_FLOW FAST GO ! - " + (++count));

                this.Path_flow.go();

                done = ((IIntegerInstance)final_distances_instance.Key).Value;

                termination_flag.Value = done;
                Set_termination_flag.go();

                if (done == 0)
                {
                    Trace.WriteLine(Rank + ": Exchange #1");
                    initial_data_instance.putAll((IIteratorInstance <IPathInfo>)final_distances_instance.Value);
                    initial_data_instance.finish();
                    Trace.WriteLine(Rank + ": Exchange #2");
                }
            }

            outputFinalDistances((IIteratorInstance <IPathInfo>)final_distances_instance.Value, output_data_instance);

            Trace.WriteLine(Rank + ": --- FINISH PATH_FLOW.GO !");
        }
        public override void main()
        {
            IStringInstance input = (IStringInstance)Input_value.Instance;
            IIteratorInstance <IKVPair <IString, IString> > output = (IIteratorInstance <IKVPair <IString, IString> >)Output_data.Instance;

            if (!input.Value.Equals(""))
            {
                string[] words = input.Value.Split(' ');
                IKVPairInstance <IString, IString> kvpair = (IKVPairInstance <IString, IString>)Output_data.createItem();
                ((IStringInstance)kvpair.Key).Value   = words [0];
                ((IStringInstance)kvpair.Value).Value = words [1] + " " + words [2];
                output.put(kvpair);
            }
        }
        public override void main()
        {
            Console.WriteLine("################################*IAplicacaoImpl Start ###############################");
            IDoubleInstance tDouble = (IDoubleInstance)T_double.Instance;
            IKVPairInstance <IString, IDouble> tKVPair = (IKVPairInstance <IString, IDouble>)T_kvpair.Instance;  //.newInstance ();
            IIntegerInstance             tInteger      = (IIntegerInstance)T_integer.Instance;
            IIteratorInstance <IInteger> tIterator     = (IIteratorInstance <IInteger>)T_iterator.Instance;      //.newInstance ();
            IStringInstance tString = (IStringInstance)T_string.Instance;

            tDouble.Value  = 0.8;
            tInteger.Value = 8;
            tString.Value  = "Tipo String";

            ((IStringInstance)tKVPair.Key).Value   = tString.Value;
            ((IDoubleInstance)tKVPair.Value).Value = tDouble.Value;

            tIterator.put(tInteger);
            tIterator.finish();

            object o; int count = 0;

            while (tIterator.fetch_next(out o))
            {
                IIntegerInstance oI = (IIntegerInstance)o;
                Console.WriteLine("Item Iterator " + (count++) + ": " + oI.Value);
            }
            Console.WriteLine("tDouble.Value=" + tDouble.Value + " : " + "tInteger.Value=" + tInteger.Value + " : " + "tString.Value=" + tString.Value);
            Console.WriteLine("tKVPair.Key=" + ((IStringInstance)tKVPair.Key).Value + " : " + "tKVPair.Value=" + ((IDoubleInstance)tKVPair.Value).Value);

            IPageNodeInstance instance = (IPageNodeInstance)T_aplicacao_node.Instance;

            ((IIntegerInstance)instance.IdInstance).Value = 8;
            IIntegerInstance item = (IIntegerInstance)T_aplicacao_node.Edge_node.createItem();

            item.Value = 7;

            instance.NeighborsInstance.put(item);
            instance.NeighborsInstance.put(((IIntegerInstance)instance.IdInstance));
            instance.NeighborsInstance.finish();
            while (instance.NeighborsInstance.fetch_next(out o))
            {
                IIntegerInstance II = (IIntegerInstance)o;
                Console.WriteLine("%%%%%%%%%%%%%%%%%%%%%%%%%%%% Valor no Iterator=" + II.Value);
            }
            Console.WriteLine("%%%%%%%%%%%%%%%%%%%%%%%%%%%% Resultado Id_node=" + ((IIntegerInstance)instance.IdInstance).Value + " PGRank=" + instance.PgrankInstance.Value);

            Console.WriteLine("################################ IAplicacaoImpl End ###############################");
        }
示例#10
0
        public override void main()
        {
            IStringInstance input = (IStringInstance)Input_data.Instance;

            string setE = readInput(PATH);

            input.Value = setE;

            long t0 = (long)(DateTime.UtcNow - (new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc))).TotalMilliseconds;

            Path_bsp.go();
            long t1 = (long)(DateTime.UtcNow - (new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc))).TotalMilliseconds;

            IStringInstance output = (IStringInstance)Output_data.Instance;             //output.Value

            //clearWriteFile ("./outPathBspApp-"+getDateTime(),""+(t1 - t0));
            clearWriteFile("./outPathBspApp", "TIME: " + (t1 - t0) + " ms." + System.Environment.NewLine + output.Value);
        }
        public override void main()
        {
            IStringInstance input = (IStringInstance)Input_data.Instance;

            string setE = readInput(PATH);

            input.Value = setE;

            Console.WriteLine(Rank + ": SSSP APP - GO START !!!");
            var watch = Stopwatch.StartNew();

            Path_flow.go();
            watch.Stop();
            Console.WriteLine(Rank + ": SSSP APP - GO END JOIN !!! " + watch.ElapsedMilliseconds + "ms");

            IStringInstance output = (IStringInstance)Output_data.Instance;

            Console.WriteLine(Rank + " END SSSP (output = " + output.Value + ")");
        }
        public override void main()
        {
            IIteratorInstance <ORV> input_data_instance  = (IIteratorInstance <ORV>)Input_data.Instance;
            IStringInstance         output_data_instance = (IStringInstance)Output_data.Instance;

            string setV = "";
            bool   done = true;
            object o;

            while (input_data_instance.fetch_next(out o))
            {
                IKVPairInstance <IString, IString> kv = (IKVPairInstance <IString, IString>)o;
                IStringInstance k = (IStringInstance)kv.Key;
                IStringInstance v = (IStringInstance)kv.Value;
                Trace.WriteLine(Rank + ": COMBINE FUNCTION - done:" + k.Value + " {" + System.Environment.NewLine + v.Value + "}");
                setV = setV + v.Value;        // + System.Environment.NewLine;

                done = done && k.Value.Equals("1");
            }

            output_data_instance.Value = setV + done;
        }
        public override void main()
        {
            IStringInstance input_value_instance = (IStringInstance)Input_value.Instance;
            IIteratorInstance <IKVPair <IString, IInteger> > output_value_instance = (IIteratorInstance <IKVPair <IString, IInteger> >)Output_data.Instance;

            string input_string = input_value_instance.Value;
            string chars        = " ;?.!:,*<>+";

            string[] words = input_string.Split(new char[] { chars[0], chars[1], chars[2], chars[3], chars[4], chars[5], chars[6], chars[7], chars[8], chars[9], chars[10] });

            IDictionary <string, int> index = new Dictionary <string, int>();

            foreach (string word_ in words)
            {
                string word = word_.ToLower().Trim();
                if (word != "")
                {
                    int counter;
                    if (index.TryGetValue(word, out counter))
                    {
                        index.Remove(word);
                    }
                    else
                    {
                        counter = 0;
                    }
                    index.Add(word, counter + 1);
                }
            }

            foreach (KeyValuePair <string, int> occurrences in index)
            {
                //	Trace.WriteLine(WorldComm.Rank + ": MAP (WORD COUNTER) - " + occurrences.Key + ":" + occurrences.Value);
                IKVPairInstance <IString, IInteger> item = (IKVPairInstance <IString, IInteger>)Output_data.createItem();
                ((IStringInstance)item.Key).Value    = occurrences.Key;
                ((IIntegerInstance)item.Value).Value = occurrences.Value;
                output_value_instance.put(item);
            }
        }
        public override void main()
        {
            //	TextWriterTraceListener writer = new TextWriterTraceListener(System.Console.Out);
            //	Trace.Listeners.Add(writer);

            IStringInstance input = (IStringInstance)Input_data.Instance;

            string setE = readInput(PATH);

            input.Value = setE;


            Console.WriteLine(Rank + ": SSSP APP FAST - GO START !!!");
            var watch = Stopwatch.StartNew();

            Path_flow.go();
            watch.Stop();
            Console.WriteLine(Rank + ": SSSP APP FAST - GO END JOIN !!! " + watch.ElapsedMilliseconds + "ms");

            IStringInstance output = (IStringInstance)Output_data.Instance;

            Console.WriteLine(Rank + " END SSSP (output = " + output.Value + ")");
        }
示例#15
0
        public override void main()
        {
            IStringInstance input_data_instance = (IStringInstance)Input_data.Instance;

            input_data_instance.Value = readInput();

            long t0 = (long)(DateTime.UtcNow - (new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc))).TotalMilliseconds;

            Clique.go();
            long t1 = (long)(DateTime.UtcNow - (new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc))).TotalMilliseconds;

            IIteratorInstance <IKVPair <IString, ICliqueNode> > output_data_instance = (IIteratorInstance <IKVPair <IString, ICliqueNode> >)Output_data.Instance;
            int    sum = 0;
            object o;

            while (output_data_instance.fetch_next(out o))
            {
                IKVPairInstance <IString, ICliqueNode> KMV = (IKVPairInstance <IString, ICliqueNode>)o;
                IStringInstance     pivo       = (IStringInstance)KMV.Key;
                ICliqueNodeInstance cliqueNode = (ICliqueNodeInstance)KMV.Value;
                sum += cliqueNode.IdInstance;
            }
            clearWriteFile("./outCliqueApp", "Soma:" + sum + "Tempo:" + (t1 - t0));
        }
示例#16
0
        void outputFinalDistances(IIteratorInstance <IPathInfo> final_distances_instance, IStringInstance output_data_instance)
        {
            string output_string = "";
            object o;

            while (final_distances_instance.fetch_next(out o))
            {
                IPathInfoInstance path_info     = (IPathInfoInstance)o;
                DistanceInfo      distance_info = (DistanceInfo)path_info.Value;
                if (distance_info.info_type.Equals(Info.PATH_INFO_TYPE_DISTANCE_PARTIAL))
                {
                    Console.WriteLine("OUTPUT : " + path_info.Value);
                    output_string += distance_info.vertex + " d " + distance_info.distance + System.Environment.NewLine;
                }
                else
                {
                    throw new Exception("PathFlowImpl.IMasterImpl.outputFinalDistances: something goes wrong when reading output distances (unexpected result : " + distance_info + ")"
                                        + distance_info.info_type + " --- " + Info.PATH_INFO_TYPE_DISTANCE_PARTIAL);
                }
            }

            output_data_instance.Value = output_string;
        }
        public override void main()
        {
            double di   = int.MaxValue;
            double dmin = int.MaxValue;
            int    done = 1;

//			var t = Tuple.Create<string,int>("dd",333);

            IKVPairInstance <IString, IIterator <IString> > input = (IKVPairInstance <IString, IIterator <IString> >)Input_values.Instance;
            IStringInstance             k = (IStringInstance)input.Key;
            IIteratorInstance <IString> v = (IIteratorInstance <IString>)input.Value;

            int k_int = int.Parse(k.Value);

            if (!neighbours.ContainsKey(k_int))
            {
                neighbours [k_int] = new Dictionary <int, double> ();
            }

            string buffer = "";
            object o;

            while (v.fetch_next(out o))
            {
                IStringInstance item = (IStringInstance)o;

                string[] values = item.Value.Split(' ');
                switch (values[0][0])
                {
                case 'c':
                    double tmp = double.Parse(values [1]);
                    dmin = min(dmin, tmp);
                    break;

                case 'd':
                    di = double.Parse(values [1]);
                    break;

                default:
                    //neighbours [k_int] [int.Parse (values [0])] = double.Parse (values [1]);
                    IDictionary <int, double> output_neibours = neighbours[k_int];
                    int    n = int.Parse(values [0]);
                    double d = 0.0;
                    if (!output_neibours.TryGetValue(n, out d))
                    {
                        output_neibours[n] = double.Parse(values [1]);
                    }
                    else
                    if (double.Parse(values [1]) < d)
                    {
                        output_neibours[n] = double.Parse(values [1]);
                    }
                    break;
                }
            }

            dmin = min(dmin, di);
            if (dmin != di)
            {
                foreach (KeyValuePair <int, double> kv in neighbours[k_int])
                {
                    buffer = buffer + kv.Key + " c " + (kv.Value + dmin) + System.Environment.NewLine;
                }
                done = 0;
            }
            buffer = buffer + k.Value + " d " + dmin + " " + System.Environment.NewLine;

            IKVPairInstance <IString, IString> orv = (IKVPairInstance <IString, IString>)Output_value.newInstance();

            ((IStringInstance)orv.Key).Value   = done.ToString();
            ((IStringInstance)orv.Value).Value = buffer;
        }
示例#18
0
        public override void main()
        {
            IKVPairInstance <IString, IIterator <IString> > input = (IKVPairInstance <IString, IIterator <IString> >)Input_values.Instance;
            IStringInstance             k = (IStringInstance)input.Key;
            IIteratorInstance <IString> v = (IIteratorInstance <IString>)input.Value;

            int k_int = int.Parse(k.Value);

            if (!neighbours.ContainsKey(k_int))
            {
                neighbours [k_int] = new Dictionary <int, double> ();
                Di[k_int]          = int.MaxValue;
                Dmin[k_int]        = int.MaxValue;
                Vertexs.Add(k_int);
            }

            double di   = Di[k_int];
            double dmin = Dmin[k_int];
            int    done = 1;

            object o;

            while (v.fetch_next(out o))
            {
                IStringInstance item = (IStringInstance)o;

                string[] values = item.Value.Split(' ');
                switch (values[0][0])
                {
                case 'c':
                    double tmp = double.Parse(values [1]);
                    dmin = min(dmin, tmp);
                    break;

                case 'i':
                    break;

                case 'd':
                    di = double.Parse(values [1]);
                    break;

                default:
                    IDictionary <int, double> output_neibours = neighbours [k_int];
                    int    n = int.Parse(values [0]);
                    double d = 0.0;
                    if (!output_neibours.TryGetValue(n, out d))
                    {
                        output_neibours [n] = double.Parse(values [1]);
                    }
                    else
                    if (double.Parse(values [1]) < d)
                    {
                        output_neibours[n] = double.Parse(values [1]);
                    }
                    break;
                }
            }

            dmin = min(dmin, di);
            if (dmin != di)
            {
                di = dmin;
                foreach (KeyValuePair <int, double> kv in neighbours[k_int])
                {
                    int dest = Math.Abs((kv.Key + "").GetHashCode()) % this.Communicator.Size;
                    CandidatesBuffer[dest] = CandidatesBuffer[dest] + kv.Key + " " + (kv.Value + dmin) + System.Environment.NewLine;
                }
                done = 0;
            }
            Active = done;

            Di[k_int]    = di;
            Dmin [k_int] = dmin;
        }
示例#19
0
        public override void main()
        {
            string[] string_iteracoes = readInput("/home/hpe/iteracoes").Split(new char[] { System.Environment.NewLine[0] });
            int      iteracoes        = int.Parse(string_iteracoes [0]);

            int              done = 0;
            IStringInstance  input_data_instance  = (IStringInstance)Input_data.Instance;
            IStringInstance  output_data_instance = (IStringInstance)Output_data.Instance;
            IIntegerInstance termination_flag     = (IIntegerInstance)Termination_flag.Instance;

            string setE = input_data_instance.Value;

            string setV = "1 c 0" + System.Environment.NewLine;

            string setVsetE = setV + setE;

            IDictionary <int, int> vertices = new Dictionary <int, int>();

            foreach (string edge in setE.Split(System.Environment.NewLine.ToCharArray()))
            {
                if (edge.Length > 0)
                {
                    int vertex = edge [0];
                    if (!vertices.ContainsKey(vertex))
                    {
                        setV += edge [0] + " d " + int.MaxValue + System.Environment.NewLine;
                        vertices.Add(vertex, vertex);
                    }
                }
            }

            input_data_instance.Value = setV + System.Environment.NewLine + setE;

            int count = 0;

            while (count++ < iteracoes)           //done == 0)
            {
                ////////Console.WriteLine (Rank + ": --- BEGIN ITERATION PATH_FLOW.GO ! - " + (++count)  + System.Environment.NewLine + setV);
                ////////Console.WriteLine (Rank + ": iteration = " + count);
                long t0 = (long)(DateTime.UtcNow - (new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc))).TotalMilliseconds;
                this.Path_bsp.go();
                long t1 = (long)(DateTime.UtcNow - (new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc))).TotalMilliseconds;
                writeFile("./outPathBspApp-" + Rank, "" + (t1 - t0));               // + getDateTime (), "" + (t1 - t0));
                Console.WriteLine("Time: " + (t1 - t0) + " ms");

                //writeFile ("./outPathBspApp-IT"+count, output_data_instance.Value);// + getDateTime (), "" + (t1 - t0));

                //setV = output_data_instance.Value;
                ////////Trace.WriteLine (Rank + ": --- setV = " + setV);

                //done = setV.EndsWith ("True") ? 1 : 0;
                //termination_flag.Value = done;
                //Set_termination_flag.go ();

                //setV = setV.Remove (setV.IndexOf (done == 1 ? "True" : "False") - 2);

                ////////Trace.WriteLine (Rank + ": --- END ITERATION PATH_FLOW.GO ! - " + count);

                input_data_instance.Value = setVsetE;                //setV;
            }
            ////////Console.WriteLine (Rank + ": --- FINISH PATH_FLOW.GO !");
        }