Package de.uka.ipd.sdq.scheduler
Interface IActiveResource
- All Known Implementing Classes:
AbstractActiveResource,SimDelayResource,SimFCFSResource,SimProcessorSharingResource,SimProcessorSharingResourceLinuxO1,SimProcessorSharingResourceWindows
public interface IActiveResource
An active resource can execute demands of schedulable processes. Active resources are shared by
multiple processes so that they need to use scheduling strategies to assign processing time of
the resources to processes.
-
Method Summary
Modifier and TypeMethodDescriptionvoidaddObserver(IActiveResourceStateSensor observer) getId()Unique identifier of the resource.getName()Name of the resource.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.voidnotifyTerminated(ISchedulableProcess simProcess) voidprocess(ISchedulableProcess process, int resourceServiceId, Map<String, Serializable> parameterMap, double demand) Processes the specified demand of the process.voidregisterProcess(ISchedulableProcess runningProcess) voidremoveObserver(IActiveResourceStateSensor observer) voidstart()Creates the initial events for the resource.voidstop()voidupdateDemand(ISchedulableProcess process, double demand) Update (currently consuming) demand for a process.
-
Method Details
-
process
void process(ISchedulableProcess process, int resourceServiceId, Map<String, Serializable> parameterMap, double demand) Processes the specified demand of the process. With additional parameters for the resource. -
getRemainingDemand
Returns the remaining demand for a process. -
updateDemand
Update (currently consuming) demand for a process. -
start
void start()Creates the initial events for the resource. -
getId
String getId()Unique identifier of the resource.- Returns:
-
getName
String getName()Name of the resource.- Returns:
-
stop
void stop() -
registerProcess
-
notifyTerminated
-
getQueueLengthFor
Get the number of processes currently having requests issued to this resource and waiting for the request to complete.- Parameters:
schedulerEntity-- Returns:
-
addObserver
-
removeObserver
-