Class SimProcessorSharingResource
- java.lang.Object
-
- de.uka.ipd.sdq.simulation.abstractsimengine.SimulationElement
-
- de.uka.ipd.sdq.simulation.abstractsimengine.AbstractSimEntityDelegator
-
- de.uka.ipd.sdq.scheduler.entities.SchedulerEntity
-
- de.uka.ipd.sdq.scheduler.resources.AbstractSimResource
-
- de.uka.ipd.sdq.scheduler.resources.active.AbstractActiveResource
-
- de.uka.ipd.sdq.scheduler.resources.active.SimProcessorSharingResource
-
- All Implemented Interfaces:
IActiveResource,de.uka.ipd.sdq.simulation.abstractsimengine.IEntity
public class SimProcessorSharingResource extends AbstractActiveResource
-
-
Field Summary
-
Fields inherited from class de.uka.ipd.sdq.scheduler.resources.AbstractSimResource
capacity
-
-
Constructor Summary
Constructors Constructor Description SimProcessorSharingResource(SchedulerModel model, String name, String id, long capacity, IResourceTableManager resourceTableManager)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddequeue(ISchedulableProcess process)protected voiddoProcessing(ISchedulableProcess process, int resourceServiceID, double demand)protected voidenqueue(ISchedulableProcess process)intgetQueueLengthFor(SchedulerEntity schedulerEntity, int coreID)Get the number of processes currently having requests issued to this resource and waiting for the request to complete.doublegetRemainingDemand(ISchedulableProcess process)Returns the remaining demand for a process.voidregisterProcess(ISchedulableProcess process)voidscheduleNextEvent()voidstart()Creates the initial events for the resource.voidstop()voidupdateDemand(ISchedulableProcess process, double demand)Update (currently consuming) demand for a process.-
Methods inherited from class de.uka.ipd.sdq.scheduler.resources.active.AbstractActiveResource
addObserver, doProcessing, fireDemandCompleted, fireStateChange, notifyTerminated, process, removeObserver
-
Methods inherited from class de.uka.ipd.sdq.scheduler.resources.AbstractSimResource
equals, getCapacity, getId, getName, hashCode, toString
-
Methods inherited from class de.uka.ipd.sdq.scheduler.entities.SchedulerEntity
getModel
-
Methods inherited from class de.uka.ipd.sdq.simulation.abstractsimengine.AbstractSimEntityDelegator
getEncapsulatedEntity, isScheduled, reschedule
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface de.uka.ipd.sdq.scheduler.IActiveResource
getId, getName
-
-
-
-
Constructor Detail
-
SimProcessorSharingResource
public SimProcessorSharingResource(SchedulerModel model, String name, String id, long capacity, IResourceTableManager resourceTableManager)
-
-
Method Detail
-
scheduleNextEvent
public void scheduleNextEvent()
-
start
public void start()
Description copied from interface:IActiveResourceCreates the initial events for the resource.
-
dequeue
protected void dequeue(ISchedulableProcess process)
- Specified by:
dequeuein classAbstractActiveResource
-
doProcessing
protected void doProcessing(ISchedulableProcess process, int resourceServiceID, double demand)
- Specified by:
doProcessingin classAbstractActiveResource
-
getRemainingDemand
public double getRemainingDemand(ISchedulableProcess process)
Description copied from interface:IActiveResourceReturns the remaining demand for a process.
-
updateDemand
public void updateDemand(ISchedulableProcess process, double demand)
Description copied from interface:IActiveResourceUpdate (currently consuming) demand for a process.
-
enqueue
protected void enqueue(ISchedulableProcess process)
- Specified by:
enqueuein classAbstractActiveResource
-
registerProcess
public void registerProcess(ISchedulableProcess process)
-
getQueueLengthFor
public int getQueueLengthFor(SchedulerEntity schedulerEntity, int coreID)
Description copied from interface:IActiveResourceGet the number of processes currently having requests issued to this resource and waiting for the request to complete.- Returns:
-
stop
public void stop()
-
-