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 TypeMethodDescriptionvoid
addObserver
(IActiveResourceStateSensor observer) getId()
Unique identifier of the resource.getName()
Name of the resource.int
getQueueLengthFor
(SchedulerEntity schedulerEntity, int coreID) Get the number of processes currently having requests issued to this resource and waiting for the request to complete.double
getRemainingDemand
(ISchedulableProcess process) Returns the remaining demand for a process.void
notifyTerminated
(ISchedulableProcess simProcess) void
process
(ISchedulableProcess process, int resourceServiceId, Map<String, Serializable> parameterMap, double demand) Processes the specified demand of the process.void
registerProcess
(ISchedulableProcess runningProcess) void
removeObserver
(IActiveResourceStateSensor observer) void
start()
Creates the initial events for the resource.void
stop()
void
updateDemand
(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
-