Presentation on theme: "GridSim Toolkit 3.1: Modelling and Simulation of Global Grids"— Presentation transcript:
1 GridSim Toolkit 3.1: Modelling and Simulation of Global Grids WW GridDr. Rajkumar BuyyaFellow of Grid ComputingGrid Computing and Distributed Systems (GRIDS) Lab. Dept. of Computer Science and Software Engineering The University of Melbourne, Australia
3 Performance Evaluation: With Large Scenarios Varying the number ofResources (1 to 100s..1000s..).Resource capability.Cost (Access Price).Users.Deadline and Budget.Workload.Different Time (Peak and Off-Peak).We need a repeatable and controllable environment.Can this be achieved on Real Grid testbed ?
4 Grid Environment Dynamic: Grid testbed size is limited. Resource and User Properties vary with time.Experiment cannot be repeated.Resources are distributed and owned by different organisations. Heterogeneous users.It is hard to create a controllable environment.Grid testbed size is limited.Also, creating testbed infrastructure is time consuming and expensive.Hence, grid computing researchers turn to modelling and simulation.
5 GridSim Toolkit GridSim 1.0 released in Dec. 2001 GridSim and GridBroker.GridSim 2.0 released in Nov. SC 2002.Improvements in GridSim and GridBroker.Add Visual Modeler.Few functionalities of GridSim:Allows modelling of heterogeneous of resources & users.Supports simulation of both static & dynamic schedulers.Simulates applications with different parallel models.
6 System ArchitectureApplication, User, Grid Scenario’s Input and ResultsApplication ConfigurationResource ConfigurationVisual ModelerGridScenario. . .OutputGrid Resource Brokers or SchedulersGridSim ToolkitApplication ModelingResource EntitiesInformationServicesJob ManagementResource AllocationStatisticsResource Modeling and Simulation (with Time and Space shared schedulers)Single CPUSMPsClustersLoad PatternNetworkReservationBasic Discrete Event Simulation InfrastructureSimJavaDistributed SimJavaVirtual Machine (Java, cJVM, RMI)PCsWorkstationsSMPsClustersDistributed Resources
7 Statistics Recorder #i GridSim EntitiesShutdown Signal Manager #iUser #iBroker #iOutputInternetOutputResource #jSchedulerApplicationJobsJob Out QueueProcessQueueJob In QueueInputInputOutputInputStatistics Recorder #iReport Writer #iResource ListInformation Service
9 GridSim Resource Extensibility GridResourceGridSimAllocPolicyAdvanceReservation. . .SpaceSharedARPolicyTimeShared. . .ARSpaceSharedNew architecture allows flexibility to add new scheduling policies for AR and non-AR resources.
10 GridSim Entities Communication Model EAOutput_EAInput_EAEBOutput_EBInput_EBbody()Send(output, data, EB)…Receive(input, data, EA)Timed Event Deliverydata, t2(Deliver t2)
11 Time Shared: Multitasking and Multiprocessing Tasks on PEs/CPUsP1-G1P1-G2P3-G2P2-G3P2-G2P1-G3G3G2G3PE2G2PE1G1G22691216192226TimeG1G2G3G1FG2FG3FG1G1: Gridlet1 ArrivesGridlet1 (10 MIs)G1F: Gridlet1 FinishesG2Gridlet2 (8.5 MIs)P1-G2: Gridlet2 didn’t finish at the 1st prediction time.G3Gridlet3 (9.5 MIs)P2-G2: Gridlet2 finishes at the 2nd prediction time.
12 Space Shared: Multicomputing Tasks on PEs/CPUsP1-G1P1-G2P1-G3G2G3PE2PE1G1G32691216192226TimeG1G2G3G1FG2FG3FG1G1: Gridlet1 ArrivesGridlet1 (10 MIs)G1F: Gridlet1 FinishesG2Gridlet2 (8.5 MIs)P1-G2: Gridlet2 finishes as per the 1st PredicationG3Gridlet3 (9.5 MIs)
13 Visual Modeler Available in GridSim 2.0 Functionalities: Create and delete many users and resources.Able to save and load the model file (XML format).Generate Java source code.
17 GridSim with AR capability GridSim 3.0 has the framework to handle:Creation of a new reservationCommitment of a new resevationActivation of a reservation once it is startedModification of an existing reservationCancellation of an existing reservationQuery of an existing reservation
18 State Transition Diagram for AR RequestRequest AcceptedRequest RejectedCommit ExpiredAcceptedRejectedCommit AcceptedChange SpecificationChange RequestCommittedChange Accepted / RejectedStart TimeCancellationRequestActiveCancelledFinish TimeTermination RequestCompletedTerminated
19 1. Create a New Reservation Required information:Start timeDuration time or Finish timeNumber of Processing Elements (PEs)Designated resource idIf successful: returns booking id (resID_reservID) e.g. 8_1 & expiry timeIf not successful: returns approx. busy time interval (1, 5, 15, 30, 45 seconds or minutes)
20 Steps of making a reservation ReceiveRequestCreate aRequestSend toResourceCheck forconflictsYESNOGenerateReservationBooking IDRequest ResultAdd to ListUser or BrokerAllocPolicy
21 Finding Empty SlotsIf (reservation list is empty) then accept reservation & put into the listElseFind the begin and end interval in the listFind the exact slot for a new reservationFind empty slotRemove redundant reservationsCalculate total PE used during the interval
22 2. Commit a ReservationIf a request for reservation has been successful, then need to commit or to confirm it before an expiry timeWhen committing a reservation, need to submit:Booking IDJob or a list of jobs
23 3. Activation of a Reservation Once a reservation has committed:Put the job(s) into a queue listSet the timerSend event to itselfOnce the time is up:If PEs are full, then:Remove unreserved jobsRemove reserved jobs that run longer than durationLook through the queue list and move into execution list
24 4. Modification of a Reservation Required information:Start timeDuration time or Finish timeNumber of Processing Elements (PEs)Booking IDAt the moment, only able to reduce reservationImportant: If modification fails, the original reservation must not be lost.
25 5. Cancellation of a Reservation Required information:Booking IDResource IDCancellation issues:Before a reservation has been committedBefore a reservation has been activatedDuring an activeAfter a reservation has been finished
26 6. Query of a Reservation Required information: Status: Booking ID Resource IDStatus:NOT_STARTEDACTIVEFINISHEDCANCELEDEXPIRED