61 lines
1.6 KiB
C#
61 lines
1.6 KiB
C#
|
////////////////////////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
// Microsoft Research Singularity
|
||
|
//
|
||
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
//
|
||
|
// File: RecurringReservation.cs
|
||
|
//
|
||
|
// Note:
|
||
|
//
|
||
|
|
||
|
using System;
|
||
|
using Microsoft.Singularity.Scheduling;
|
||
|
|
||
|
namespace Microsoft.Singularity.Scheduling.Rialto
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// Summary description for RecurringReservation.
|
||
|
/// </summary>
|
||
|
public class RecurringReservation : ISchedulerCpuReservation
|
||
|
{
|
||
|
private CpuResourceReservation enclosingCpuReservation;
|
||
|
|
||
|
internal TimeSpan SliceLeft;
|
||
|
// CPU time left from the last run
|
||
|
internal GraphNode AssignedNodes;
|
||
|
// nodes assigned to the activity
|
||
|
internal GraphNode TempAssignedNodes;
|
||
|
// same as above in the new scheduling plan
|
||
|
|
||
|
|
||
|
internal RecurringReservation()
|
||
|
{
|
||
|
SliceLeft = new TimeSpan(0);
|
||
|
AssignedNodes = null;
|
||
|
TempAssignedNodes = null;
|
||
|
}
|
||
|
|
||
|
internal TimeSpan Slice;
|
||
|
internal TimeSpan Period;
|
||
|
|
||
|
public override CpuResourceAmount ReservedAmount
|
||
|
{
|
||
|
get { return CpuResource.Provider().TimeToCpu(Slice); }
|
||
|
}
|
||
|
|
||
|
public override TimeSpan ReservedPeriod
|
||
|
{
|
||
|
get { return Period; }
|
||
|
}
|
||
|
|
||
|
#region ISchedulerCpuReservation Members
|
||
|
public override CpuResourceReservation EnclosingCpuReservation
|
||
|
{
|
||
|
get { return enclosingCpuReservation; }
|
||
|
set { enclosingCpuReservation = value; }
|
||
|
}
|
||
|
#endregion
|
||
|
}
|
||
|
}
|