Exemple #1
0
        public static void RunLab1()
        {
            for (int i = 1; i < 16; i++)
            {
                RingTopology ring = new RingTopology(ClusterType.Cluster_Lab1,
                                                     Libraries.Lab1_Rule[ClusterType.Cluster_Lab1], i * 9);

                var topologyMatrix = ring.GlobalMatrix;
                //DextraTest
                DextraHelper dextra         = new DextraHelper(topologyMatrix);
                var          distanceMatrix = dextra.CalculateShortestDistances();

                //Console.WriteLine("shortest distance matrix:");

                //MatrixOperations.OutPutMatrix(distanceMatrix);
                double diametr        = CalculateDiameter(distanceMatrix);
                double averageDiametr = CalculateAverageDiameter(distanceMatrix);

                int stage = CalculateStage(topologyMatrix);
                Console.OutputEncoding = Encoding.UTF8;
                Console.WriteLine("<-------------------------------------------------->");
                Console.WriteLine("Итерация " + i);
                Console.WriteLine("Количество процессоров " + i * 9);
                Console.WriteLine("Диаметр: " + CalculateDiameter(distanceMatrix));
                Console.WriteLine("Средний диаметр: " + averageDiametr);
                Console.WriteLine("Степень = " + stage);
                Console.WriteLine("Цена = " + CalculateCost(diametr, i * 9, stage));
                Console.WriteLine("Торологический трафик = " + CalculateTopologyGraph(averageDiametr, stage));
                Console.WriteLine();
            }

            Console.ReadKey();
        }
Exemple #2
0
        public static void RunLab3()
        {
            for (int i = 1; i < 10; i++)
            {
                TreeTopology treeTopology = new TreeTopology(ClusterType.Cluster_Lab3, Libraries.Lab3_Cross_Levels_Rule[ClusterType.Cluster_Lab3],
                                                             Libraries.Lab3_Inner_Level_Rule[ClusterType.Cluster_Lab3],
                                                             Libraries.Lab3_Inner_Side_Rule[ClusterType.Cluster_Lab3], i);

                var topologyMatrix = treeTopology.GlobalMatrix;
                //DextraTest
                DextraHelper dextra         = new DextraHelper(topologyMatrix);
                var          distanceMatrix = dextra.CalculateShortestDistances();
                double       diametr        = CalculateDiameter(distanceMatrix);
                double       averageDiametr = CalculateAverageDiameter(distanceMatrix);
                int          stage          = CalculateStage(topologyMatrix);

                Console.OutputEncoding = Encoding.UTF8;
                Console.WriteLine("<-------------------------------------------------->");
                Console.WriteLine("Итерация " + i);
                Console.WriteLine("Количество процессоров " + treeTopology.processors);
                Console.WriteLine("Диаметр: " + CalculateDiameter(distanceMatrix));
                Console.WriteLine("Средний диаметр: " + averageDiametr);
                Console.WriteLine("Степень = " + stage);
                Console.WriteLine("Цена = " + CalculateCost(diametr, treeTopology.processors, stage));
                Console.WriteLine("Торологический трафик = " + CalculateTopologyGraph(averageDiametr, stage));
                Console.WriteLine();
            }



            Console.ReadKey();
        }