Пример #1
0
        // par(io(1), cpu(1))  sleep 2s  mem(2)
        private async Task <object> Operation1()
        {
            var tasks = new List <Task <ExecutionResult> >();

            tasks.Add(IoHelper(1));

            var cpuWorkload = new CpuWorkload();

            tasks.Add(cpuWorkload.Run(1));

            await Task.WhenAll(tasks.ToArray());

            await Task.Delay(2000);

            var resultList = new Dictionary <string, ExecutionResult>();

            //resultList.Add("io", tasks[0].Result.Payload.Length);
            resultList.Add("cpu", tasks[1].Result);
            {
                var memoryWorkload = new MemoryWorkload();
                var resultMem      = await memoryWorkload.Run(2);

                resultList.Add("memory", resultMem);
            }

            return(resultList);
        }
Пример #2
0
        // mem(1) cpu(1)
        private async Task <object> Operation4()
        {
            var resultList     = new Dictionary <string, ExecutionResult>();
            var memoryWorkload = new MemoryWorkload();

            var resultMem = await memoryWorkload.Run(1);

            resultList.Add("memory", resultMem);

            var cpuWorkload = new CpuWorkload();
            await cpuWorkload.Run(1);


            return(resultList);
        }
Пример #3
0
        // io(1) sleep 1 mem(3)
        private async Task <object> Operation3()
        {
            await IoHelper(1);

            await Task.Delay(1000);

            var resultList = new Dictionary <string, ExecutionResult>();

            var memoryWorkload = new MemoryWorkload();
            var resultMem      = await memoryWorkload.Run(3);

            resultList.Add("memory", resultMem);

            return(resultList);
        }
        public async Task <JsonResult> RunMemory(int round)
        {
            DateTime currentTime = System.DateTime.Now;
            Guid     id          = Guid.NewGuid();

            Console.WriteLine(id.ToString() + ":Start." + Convert.ToString(currentTime));

            var task   = new MemoryWorkload();
            var result = await task.Run(round);

            Console.WriteLine(id + ":Done." + Convert.ToString(System.DateTime.Now));

            return(new JsonResult(
                       new {
                Status = "OK",
                MemoryWorkload = result
            }
                       ));
        }