Esempio n. 1
0
        private static ExplainedInteractionHappinessGrade ValidateOpenfoam(Telemetry telemetry)
        {
            if (telemetry?.BenchmarkTelemetry?.OpenfoamTelemetry?.Results == null)
            {
                return ExplainedInteractionHappinessGrade.Unacceptable("No telemetry available");
            }
            
            var thresholds = new Dictionary<int, decimal>
            {
                {128, new decimal(8.151072)},
                {256, new decimal(8.151072)},
                {512, new decimal(8.151072)},
                {1024, new decimal(8.151072)}
            };

            var nodesBelowThreshold = telemetry.BenchmarkTelemetry.OpenfoamTelemetry.Results
                .Where(r => thresholds.ContainsKey(r.Workers) && r.AvgElapsedTimeInSec >= thresholds[r.Workers])
                .ToList();
            if (nodesBelowThreshold.Any())
            {
                return ExplainedInteractionHappinessGrade.Unacceptable(
                    $"OpenFoam results for the cores {string.Join(", ", nodesBelowThreshold.Select(n => n.Workers))} were below allowed thresholds" );
            }
            
            return ExplainedInteractionHappinessGrade.Perfect();
        }
Esempio n. 2
0
        private static ExplainedInteractionHappinessGrade ValidateLinpack(Telemetry telemetry)
        {
            const int threshold = 630;
            
            if (telemetry?.SingleHplTelemetry?.Results == null)
            {
                return ExplainedInteractionHappinessGrade.Unacceptable("No telemetry available");
            }

            var nodesBelowThreshold = telemetry.SingleHplTelemetry.Results.Where(r => r.Gflops < threshold).ToList();
            if (nodesBelowThreshold.Any())
            {
                return ExplainedInteractionHappinessGrade.Unacceptable(
                    $"GFlops value from nodes {string.Join(", ", nodesBelowThreshold)} was below the threshold: {threshold}" );
            }
            
            return ExplainedInteractionHappinessGrade.Perfect();
        }
Esempio n. 3
0
 private static ExplainedInteractionHappinessGrade ValidatePingPong(Telemetry telemetry)
 {
     return ExplainedInteractionHappinessGrade.Perfect();
 }