Ignore:
Timestamp:
04/06/12 11:05:53 (13 years ago)
Author:
wojtekp
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • xssim/trunk/src/simulator/stats/implementation/GSSimStatistics.java

    r126 r229  
    6565import simulator.GenericUser; 
    6666import simulator.GridSchedulingSimulator; 
     67import simulator.stats.GSSAccumulator; 
    6768import simulator.stats.SimulationStatistics; 
    6869import simulator.stats.implementation.out.AbstractStringSerializer; 
     
    7778import test.rewolucja.resources.exception.ResourceException; 
    7879import test.rewolucja.resources.physical.base.ComputingResource; 
     80import test.rewolucja.resources.physical.implementation.ComputingNode; 
     81import test.rewolucja.resources.physical.implementation.Processor; 
    7982import test.rewolucja.resources.utils.ResourceController; 
    8083import test.rewolucja.scheduling.JobRegistry; 
     
    313316                        } 
    314317                        if(type_stats.containsKey(resType)){ 
     318                                Map<String, GSSAccumulator> energyCategoryStats = new TreeMap<String, GSSAccumulator>(); 
     319                                Map<String, GSSAccumulator> loadCategoryStats = new TreeMap<String, GSSAccumulator>(); 
    315320                                for(ComputingResource resource: resources){ 
    316321                                        ResourceUsageStats resourceUsage = null; 
     
    344349                                                } 
    345350                                        } 
    346                                 } 
     351                                         
     352                                         
     353                                        if(resType == ResourceType.COMPUTING_NODE){ 
     354                                                ComputingNode compNode = (ComputingNode) resource; 
     355                                                if(energyCategoryStats.containsKey(resType+"#"+compNode.getCategory().getName())){ 
     356                                                        GSSAccumulator acc = energyCategoryStats.get(resType+"#"+compNode.getCategory().getName()); 
     357                                                        acc.add(energyUsage.meanUsage); 
     358                                                        energyCategoryStats.put(resType+"#"+compNode.getCategory().getName(), acc); 
     359                                                } else{ 
     360                                                        GSSAccumulator acc = new GSSAccumulator(); 
     361                                                        acc.add(energyUsage.meanUsage); 
     362                                                        energyCategoryStats.put(resType+"#"+compNode.getCategory().getName(), acc); 
     363                                                } 
     364                                                 
     365                                                if(loadCategoryStats.containsKey(resType+"#"+compNode.getCategory().getName())){ 
     366                                                        GSSAccumulator acc = loadCategoryStats.get(resType+"#"+compNode.getCategory().getName()); 
     367                                                        acc.add(resourceUsage.meanUsage); 
     368                                                        loadCategoryStats.put(resType+"#"+compNode.getCategory().getName(), acc); 
     369                                                } else{ 
     370                                                        GSSAccumulator acc = new GSSAccumulator(); 
     371                                                        acc.add(resourceUsage.meanUsage); 
     372                                                        loadCategoryStats.put(resType+"#"+compNode.getCategory().getName(), acc); 
     373                                                } 
     374                                        } else if(resType == ResourceType.CPU){ 
     375                                                Processor proc = (Processor)resource; 
     376                                                if(energyCategoryStats.containsKey(resType+"#"+proc.getComputingNode().getCategory().getName())){ 
     377                                                        GSSAccumulator acc = energyCategoryStats.get(resType+"#"+proc.getComputingNode().getCategory().getName()); 
     378                                                        acc.add(energyUsage.meanUsage); 
     379                                                        energyCategoryStats.put(resType+"#"+proc.getComputingNode().getCategory().getName(), acc); 
     380                                                } else{ 
     381                                                        GSSAccumulator acc = new GSSAccumulator(); 
     382                                                        acc.add(energyUsage.meanUsage); 
     383                                                        energyCategoryStats.put(resType+"#"+proc.getComputingNode().getCategory().getName(), acc); 
     384                                                } 
     385                                                 
     386                                                if(loadCategoryStats.containsKey(resType+"#"+proc.getComputingNode().getCategory().getName())){ 
     387                                                        GSSAccumulator acc = loadCategoryStats.get(resType+"#"+proc.getComputingNode().getCategory().getName()); 
     388                                                        acc.add(resourceUsage.meanUsage); 
     389                                                        loadCategoryStats.put(resType+"#"+proc.getComputingNode().getCategory().getName(), acc); 
     390                                                } else{ 
     391                                                        GSSAccumulator acc = new GSSAccumulator(); 
     392                                                        acc.add(resourceUsage.meanUsage); 
     393                                                        loadCategoryStats.put(resType+"#"+proc.getComputingNode().getCategory().getName(), acc); 
     394                                                } 
     395                                        } 
     396                                } 
     397                                 
     398                                if(energyCategoryStats.size()>0) 
     399                                { 
     400                                        energyStatsFile.println("\n=========BY CATEGORY==========="); 
     401                                        for(String key: energyCategoryStats.keySet()){ 
     402                                                GSSAccumulator acc = energyCategoryStats.get(key); 
     403                                                energyStatsFile.println(key + "- mean: "  +acc.getMean()+ " sum: " +acc.getMean()*(endSimulationTime-startSimulationTime)/(3600*1000)*acc.getCount()); 
     404                                        } 
     405                                        energyStatsFile.println("\n\n"); 
     406                                } 
     407                                 
     408                                if(loadCategoryStats.size()>0) 
     409                                { 
     410                                        resourceLoadStatsFile.println("\n=========BY CATEGORY==========="); 
     411                                        for(String key: loadCategoryStats.keySet()){ 
     412                                                GSSAccumulator acc = loadCategoryStats.get(key); 
     413                                                resourceLoadStatsFile.println(key + "- mean: "  +acc.getMean()); 
     414                                        } 
     415                                        resourceLoadStatsFile.println("\n\n"); 
     416                                } 
     417 
    347418                        } 
    348419                } 
Note: See TracChangeset for help on using the changeset viewer.