GridSim 5.0 beta

gridsim
Class ARGridResource

Object
  extended by Thread
      extended by Sim_entity
          extended by GridSimCore
              extended by GridResource
                  extended by ARGridResource
All Implemented Interfaces:
Cloneable, Runnable

public class ARGridResource
extends GridResource

ARGridResource class handles all Advanced Reservation functionalities. All the functionalities are done by its internal or private methods.
NOTE: It is important to set the allocation policy inside ResourceCharacteristics object into ResourceCharacteristics.ADVANCE_RESERVATION. In addition, a resource's scheduler should be extending from ARPolicy class.

Since:
GridSim Toolkit 3.0
Author:
Anthony Sulistio
See Also:
GridResource, GridSim, ResourceCharacteristics, AllocPolicy, ARPolicy
Invariant:
$none

Nested Class Summary
 
Nested classes/interfaces inherited from class Thread
Thread.State, Thread.UncaughtExceptionHandler
 
Field Summary
 
Fields inherited from class GridResource
policy_, policyType_, regionalGISName_, resCalendar_, resource_, SIZE
 
Fields inherited from class GridSimCore
input, NETWORK_TYPE, output
 
Fields inherited from class Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
ARGridResource(String name, double baud_rate, ResourceCharacteristics resource, ResourceCalendar calendar, ARPolicy policy)
          Allocates a new GridResource object that supports Advanced Reservation.
ARGridResource(String name, Link link, ResourceCharacteristics resource, ResourceCalendar calendar, ARPolicy policy)
          Allocates a new GridResource object that supports Advanced Reservation.
 
Method Summary
protected  void processOtherEvent(Sim_event ev)
          Processes other events or services related to Advanced Reservations.
 
Methods inherited from class GridResource
body, getAllocationPolicy, getResourceCharacteristics, registerOtherEntity, setRegionalGIS, setRegionalGIS
 
Methods inherited from class GridSimCore
finalizeGridSimulation, getLink, getPingResult, isNetworked, ping, ping, ping, ping, pingBlockingCall, pingBlockingCall, pingBlockingCall, pingBlockingCall, send, send, send, send, send, send, setBackgroundTraffic, setBackgroundTraffic, terminateIOEntities
 
Methods inherited from class Sim_entity
add_generator, add_param, add_port, clone, get_id, get_name, get_port, get_port, get_stat, run, send_on, set_invisible, set_stat, sim_cancel, sim_completed, sim_current, sim_get_next, sim_get_next, sim_hold_for, sim_hold, sim_pause_for, sim_pause_for, sim_pause_until, sim_pause_until, sim_pause, sim_process_for, sim_process_for, sim_process_until, sim_process_until, sim_process, sim_putback, sim_schedule, sim_schedule, sim_schedule, sim_schedule, sim_schedule, sim_schedule, sim_select, sim_trace, sim_wait_for, sim_wait_for, sim_wait_for, sim_wait, sim_waiting, sim_waiting
 
Methods inherited from class Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ARGridResource

public ARGridResource(String name,
                      double baud_rate,
                      ResourceCharacteristics resource,
                      ResourceCalendar calendar,
                      ARPolicy policy)
               throws Exception
Allocates a new GridResource object that supports Advanced Reservation.

Parameters:
name - the name to be associated with this entity (as required by Sim_entity class from simjava package)
baud_rate - network communication or bandwidth speed
resource - an object of ResourceCharacteristics
calendar - an object of ResourceCalendar
policy - a scheduler for this Grid resource. The scheduler should be able to handle Advanced Reservations.
Throws:
Exception - This happens when one of the following scenarios occur:
  • creating this entity before initializing GridSim package
  • this entity name is null or empty
  • this entity has zero number of PEs (Processing Elements).
    No PEs mean the Gridlets can't be processed. A GridResource must contain one or more Machines. A Machine must contain one or more PEs.
See Also:
AllocPolicy, GridSim.init(int, Calendar, boolean, String[], String[], String), GridSim.init(int, Calendar, boolean)
Pre Condition:
$none
Post Condition:
$none

ARGridResource

public ARGridResource(String name,
                      Link link,
                      ResourceCharacteristics resource,
                      ResourceCalendar calendar,
                      ARPolicy policy)
               throws Exception
Allocates a new GridResource object that supports Advanced Reservation.

Parameters:
name - the name to be associated with this entity (as required by Sim_entity class from simjava package)
link - the link that will be used to connect this ARGridResource to another Entity or Router.
resource - an object of ResourceCharacteristics
calendar - an object of ResourceCalendar
policy - a scheduler for this Grid resource. The scheduler should be able to handle Advanced Reservations.
Throws:
Exception - This happens when one of the following scenarios occur:
  • creating this entity before initializing GridSim package
  • this entity name is null or empty
  • this entity has zero number of PEs (Processing Elements).
    No PEs mean the Gridlets can't be processed. A GridResource must contain one or more Machines. A Machine must contain one or more PEs.
See Also:
AllocPolicy, GridSim.init(int, Calendar, boolean, String[], String[], String), GridSim.init(int, Calendar, boolean)
Pre Condition:
$none
Post Condition:
$none
Method Detail

processOtherEvent

protected void processOtherEvent(Sim_event ev)
Processes other events or services related to Advanced Reservations. This method overrides from a parent class.

The services or tags available for this resource are:

Overrides:
processOtherEvent in class GridResource
Parameters:
ev - a Sim_event object
See Also:
GridResource.processOtherEvent(Sim_event)
Pre Condition:
ev != null
Post Condition:
$none

GridSim 5.0 beta

The University of Melbourne, Australia, 2009