Exemplo n.º 1
0
        public override void StartSSSPHandler(StartSSSPMessageReader request)
        {
            //get info
            thresholdFactor = request.thresholdFactor;
            suffix          = request.node_count + "_" + thresholdFactor + ".txt";

            //iterations
            writeToFile("Node_count:\t" + request.node_count + "\tThreasholdFactor:\t" + thresholdFactor);
            writeToFile("Iteration\tTime(ms)\tUnConverged_node_count");
            for (int cnt = 0; cnt < request.iteration_time; cnt++)
            {
                DateTime dt         = DateTime.Now;
                long     node_count = request.node_count;

                step_one(node_count);
                step_two(node_count);

                /*
                 * using (var rootCell = Global.LocalStorage.UseSSSPCell(0))
                 * {
                 *  Console.WriteLine("Cell 0: " + rootCell.rankValue);
                 * }
                 */
                TimeSpan ts = DateTime.Now - dt;

                String s = cnt + "\t" + ts.TotalMilliseconds.ToString() + "\t" + unConvergedNodeCount;
                writeToFile(s);
            }
        }
Exemplo n.º 2
0
        public override void StartSSSPHandler(StartSSSPMessageReader request)
        {
            //Console.SetOut(writer);
            //get info
            //thresholdFactor = request.thresholdFactor;
            precision  = request.precision;
            node_count = request.node_count;
            suffix     = request.node_count + "_" + precision + ".txt";

            //
            //writeToFile("Node_count:\t" + node_count + "\tPrecision:\t" + precision);
            //writeToFile("Iteration\tTime(ms)\tActived_Node_Count");

            //doit
            //parseFile("C:\\Users\\Administrator\\Desktop\\b.txt");
            for (long k = 0; k < request.node_count; k++)
            {
                if (Global.CloudStorage.Contains(k) && Global.CloudStorage.IsLocalCell(k))
                {
                    //!!! UseSSSPCell must be wrapped in using clause
                    using (var cell = Global.LocalStorage.UseSSSPCell(k))
                    {
                        initialPropagate(cell, true);
                    }
                }
            }
        }
Exemplo n.º 3
0
        public override void StartSSSPHandler(StartSSSPMessageReader request)
        {
            if (Global.CloudStorage.IsLocalCell(request.root))
            {
                using (var rootCell = Global.LocalStorage.UseSSSPCell(request.root)) {
                    rootCell.distance = 0;
                    rootCell.parent   = -1;

                    MessageSorter sorter = new MessageSorter(rootCell.neighbors);
                    for (int i = 0; i < Global.ServerCount; i++)
                    {
                        DistanceUpdatingMessageWriter msg = new DistanceUpdatingMessageWriter(rootCell.CellId, 0, sorter.GetCellRecipientList(i));
                        Global.CloudStorage.DistanceUpdatingToSSSPServer(i, msg);
                    }
                }
            }
        }
Exemplo n.º 4
0
        public override void StartSSSPHandler(StartSSSPMessageReader request)
        {
            //get info
            thresholdFactor = request.thresholdFactor;
            node_count      = request.node_count;
            suffix          = request.node_count + "_" + thresholdFactor + ".txt";

            //
            writeToFile("Node_count:\t" + node_count + "\tThreasholdFactor:\t" + thresholdFactor);
            writeToFile("Iteration\tTime(ms)\tActived_Node_Count");

            //set initialization
            DateTime dt = DateTime.Now;

            for (long k = 0; k < request.node_count; k++)
            {
                if (Global.CloudStorage.Contains(k) && Global.CloudStorage.IsLocalCell(k))
                {
                    //!!! UseSSSPCell must be wrapped in using clause
                    using (var rootCell = Global.LocalStorage.UseSSSPCell(k))
                    {
                        if (rootCell.status == true)
                        {
                            newNodeSet.Add(k);
                        }
                    }
                }
            }
            TimeSpan ts = DateTime.Now - dt;

            Console.WriteLine("Initialization Set Time: " + ts.TotalMilliseconds.ToString());
            //try only active the maximum node //localSet.Add(request.number - 1);

            //doit
            runAllNodes();
            runActiveNodes();
        }
Exemplo n.º 5
0
        public override void StartSSSPHandler(StartSSSPMessageReader request)
        {
            //Console.SetOut(writer);
            //get info
            //thresholdFactor = request.thresholdFactor;
            precision = request.precision;
            node_count = request.node_count;
            suffix = request.node_count + "_" + precision + ".txt";

            //
            //writeToFile("Node_count:\t" + node_count + "\tPrecision:\t" + precision);
            //writeToFile("Iteration\tTime(ms)\tActived_Node_Count");

            //doit
            //parseFile("C:\\Users\\Administrator\\Desktop\\b.txt");
            for (long k = 0; k < request.node_count; k++)
            {
                if (Global.CloudStorage.Contains(k) && Global.CloudStorage.IsLocalCell(k))
                {
                    //!!! UseSSSPCell must be wrapped in using clause
                    using (var cell = Global.LocalStorage.UseSSSPCell(k))
                    {
                        initialPropagate(cell, true);
                    }
                }
            }
        }
Exemplo n.º 6
0
        public override void StartSSSPHandler(StartSSSPMessageReader request)
        {
            //get info
            thresholdFactor = request.thresholdFactor;
            node_count = request.node_count;
            suffix = request.node_count + "_" + thresholdFactor + ".txt";

            //
            writeToFile("Node_count:\t" + node_count + "\tThreasholdFactor:\t" + thresholdFactor);
            writeToFile("Iteration\tTime(ms)\tActived_Node_Count");

            //set initialization
            DateTime dt = DateTime.Now;
            for (long k = 0; k < request.node_count; k++)
            {
                if (Global.CloudStorage.Contains(k) && Global.CloudStorage.IsLocalCell(k))
                {
                    //!!! UseSSSPCell must be wrapped in using clause
                    using (var rootCell = Global.LocalStorage.UseSSSPCell(k))
                    {
                        if (rootCell.status == true) newNodeSet.Add(k);
                    }
                }
            }
            TimeSpan ts = DateTime.Now - dt;
            Console.WriteLine("Initialization Set Time: " + ts.TotalMilliseconds.ToString());
            //try only active the maximum node //localSet.Add(request.number - 1);

            //doit
            runAllNodes();
            runActiveNodes();
        }
Exemplo n.º 7
0
        public override void StartSSSPHandler(StartSSSPMessageReader request)
        {
            //Console.SetOut(writer);
            //get info
            //thresholdFactor = request.thresholdFactor;
            precision = request.precision;
            node_count = request.node_count;
            suffix = request.node_count + "_" + precision + ".txt";

            //
            writeToFile("Node_count:\t" + node_count + "\tPrecision:\t" + precision);
            writeToFile("Iteration\tTime(ms)\tActived_Node_Count");

            //doit
            //parseFile("C:\\Users\\Administrator\\Desktop\\b.txt");
            for (long k = 0; k < request.node_count; k++)
            {
                if (Global.CloudStorage.Contains(k) && Global.CloudStorage.IsLocalCell(k))
                {
                    //!!! UseSSSPCell must be wrapped in using clause
                    using (var cell = Global.LocalStorage.UseSSSPCell(k))
                    {
                        initialSend(cell);
                    }
                }
            }

            long old = -1;
            long i = 0;

            DateTime dt = DateTime.Now;
            while (true)
            {
                Thread.Sleep(1000);

                //if (i % 100000 == 0)
                //{
                    //Console.WriteLine(returnCount());
                    long d = returnCount();
                    //Console.WriteLine(d + " " + old + " " + returnLevel());

                    if (d == old)
                    {
                        TimeSpan ts = DateTime.Now - dt;
                        Console.WriteLine("Time: " + ts.TotalMilliseconds.ToString());
                        break;
                    }

                    //changeLevel(d, old);
                    old = returnCount();

                    //Console.WriteLine(old);
                //}
            }

            //writeToFile("End!------");
            //print(nodes);
        }
Exemplo n.º 8
0
        public override void StartSSSPHandler(StartSSSPMessageReader request)
        {
            //get info
            thresholdFactor = request.thresholdFactor;
            suffix = request.node_count + "_" + thresholdFactor + ".txt";

            //iterations
            writeToFile("Node_count:\t" + request.node_count + "\tThreasholdFactor:\t" + thresholdFactor);
            writeToFile("Iteration\tTime(ms)\tUnConverged_node_count");
            for (int cnt = 0; cnt < request.iteration_time; cnt++)
            {
                DateTime dt = DateTime.Now;
                long node_count = request.node_count;

                step_one(node_count);
                step_two(node_count);

                /*
                using (var rootCell = Global.LocalStorage.UseSSSPCell(0))
                {
                    Console.WriteLine("Cell 0: " + rootCell.rankValue);
                }
                 */
                TimeSpan ts = DateTime.Now - dt;

                String s = cnt + "\t" + ts.TotalMilliseconds.ToString() + "\t" + unConvergedNodeCount;
                writeToFile(s);
            }
        }
Exemplo n.º 9
0
        public override void StartSSSPHandler(StartSSSPMessageReader request)
        {
            //get info
            thresholdFactor = request.thresholdFactor;
            suffix = request.node_count + "_" + thresholdFactor + ".txt";

            //set initialization
            DateTime dt = DateTime.Now;
            for (long k = 0; k < request.node_count; k++)
            {
                if (Global.CloudStorage.Contains(k) && Global.CloudStorage.IsLocalCell(k))
                {
                    //!!! UseSSSPCell must be wrapped in using clause
                    using (var rootCell = Global.LocalStorage.UseSSSPCell(k))
                    {
                        if (rootCell.status == true) localSet.Add(k);
                    }
                }
            }
            TimeSpan ts = DateTime.Now - dt;
            Console.WriteLine("Initialization Set Time: " + ts.TotalMilliseconds.ToString());

            //try only active the maximum node //localSet.Add(request.number - 1);

            //iterations
            writeToFile("Node_count:\t" + request.node_count + "\tThreasholdFactor:\t" + thresholdFactor);
            writeToFile("Iteration\tTime(ms)\tActived_Node_Count");
            int cnt = 0;
            while (localSet.Count != 0)
            {
                //Console.WriteLine(localSet.Count);
                cnt++;
                dt = DateTime.Now;
                List<long> list = localSet.ToList();
                //Console.WriteLine(-2);
                for (int i = 0; i < list.Count; i++)
                {
                    //Console.WriteLine("-1 " + i);
                    //Console.WriteLine(list[i]);
                    performAction(list[i]);
                    //Console.WriteLine(7);
                    localSet.Remove(list[i]);
                    //Console.WriteLine(i);
                }
                ts = DateTime.Now - dt;

                String s = cnt + "\t" + ts.TotalMilliseconds.ToString() + "\t" + list.Count;
                writeToFile(s);
            }
        }
Exemplo n.º 10
0
        public override void StartSSSPHandler(StartSSSPMessageReader request)
        {
            //Console.SetOut(writer);
            //get info
            //thresholdFactor = request.thresholdFactor;
            precision  = request.precision;
            node_count = request.node_count;
            suffix     = request.node_count + "_" + precision + ".txt";

            //
            writeToFile("Node_count:\t" + node_count + "\tPrecision:\t" + precision);
            writeToFile("Iteration\tTime(ms)\tActived_Node_Count");

            //doit
            //parseFile("C:\\Users\\Administrator\\Desktop\\b.txt");
            for (long k = 0; k < request.node_count; k++)
            {
                if (Global.CloudStorage.Contains(k) && Global.CloudStorage.IsLocalCell(k))
                {
                    //!!! UseSSSPCell must be wrapped in using clause
                    using (var cell = Global.LocalStorage.UseSSSPCell(k))
                    {
                        initialSend(cell);
                    }
                }
            }

            long old = -1;
            long i   = 0;

            DateTime dt = DateTime.Now;

            while (true)
            {
                Thread.Sleep(1000);

                //if (i % 100000 == 0)
                //{
                //Console.WriteLine(returnCount());
                long d = returnCount();
                //Console.WriteLine(d + " " + old + " " + returnLevel());


                if (d == old)
                {
                    TimeSpan ts = DateTime.Now - dt;
                    Console.WriteLine("Time: " + ts.TotalMilliseconds.ToString());
                    break;
                }

                //changeLevel(d, old);
                old = returnCount();


                //Console.WriteLine(old);
                //}
            }

            //writeToFile("End!------");
            //print(nodes);
        }