Peers act as equals, merging the roles of clients and server. There is no central server managing the network ... For non-dedicated desktops (university lab),.
Decentralized Resource Availability Prediction for a Desktop Grid
Karthick Ramachandran
Dr. Hanan Lutfiyya
Dr. Mark Perry
Distributed and Grid Systems, Department of Computer Science University of Western Ontario
4th Workshop on Desktop Grids and Volunteer Computing Systems (PCGRID 2010)
Motivation
Focus of our work
Architecture
Implementation and Experiments
Conclusion
Outline
1
Motivation
2
Focus of our work
3
Architecture
4
Implementation and Experiments
5
Conclusion
Decentralized Resource Availability Prediction for a Desktop Grid 2 / 25
Motivation
Focus of our work
Architecture
Implementation and Experiments
Conclusion
Motivation
“Companies across US are wasting $2.8 billion every year powering 1.8 million unused computers during night” - PC Energy Report 2009 Decentralized Resource Availability Prediction for a Desktop Grid 3 / 25
Motivation
Focus of our work
Architecture
Implementation and Experiments
Conclusion
Volunteer Computing Volunteer computing (desktop grid) is a type of distributed computing in which computer owners donate their computing resources (such as processing power and storage) to one or more projects.
Characteristics Leverages the idle CPU cycles for number crunching tasks Answer to the demand for huge processing power
Decentralized Resource Availability Prediction for a Desktop Grid 4 / 25
Motivation
Focus of our work
Architecture
Implementation and Experiments
Conclusion
The Problem
? Can the system behave the same way irrespective of the number of participating nodes? (Scalability) What is the guarantee that the peer selected for job execution will not terminate the execution because of some user activity? (Predictability)
Decentralized Resource Availability Prediction for a Desktop Grid 5 / 25
Motivation
Focus of our work
Architecture
Implementation and Experiments
Conclusion
Focus of our work
The focus of this system is to create a desktop grid that minimizes centralization of resource selection process that can do resource availability prediction We build a P2P desktop grid framework which does resource availability prediction
None of the work we surveyed has taken the approach of performing availability prediction in a P2P environment
Decentralized Resource Availability Prediction for a Desktop Grid 6 / 25
Motivation
Focus of our work
Architecture
Implementation and Experiments
Conclusion
Approach - Scalability
Peer to Peer Network Peers act as equals, merging the roles of clients and server There is no central server managing the network There is no central router
Decentralized Resource Availability Prediction for a Desktop Grid 7 / 25
Motivation
Focus of our work
Architecture
Implementation and Experiments
Conclusion
Approach - Resource Availability Prediction
Resource Availability Prediction Recording the resource availability pattern over a period of time Using the saved data to calculate the probability of the machine availability at a given time of the day of the week
Decentralized Resource Availability Prediction for a Desktop Grid 8 / 25
Motivation
Focus of our work
Architecture
Implementation and Experiments
Conclusion
Stakeholders
Desktop User Desktop Grid Service Client Desktop Grid Service Provider Job is a work unit which the Desktop Grid Service Client wants to execute in the desktop user’s machine.
Decentralized Resource Availability Prediction for a Desktop Grid 9 / 25
Motivation
Focus of our work
Architecture
Implementation and Experiments
Conclusion
Overview Management Server
Job Server
P2P Desktop Cloud (Collection of all desktops)
Monitoring Server
Result Server
Figure: Birds eye view of the system Decentralized Resource Availability Prediction for a Desktop Grid 10 / 25
Motivation
Focus of our work
Architecture
Implementation and Experiments
Conclusion
Client Software Code Executor in Sandbox (Java Virtual Machine)
Monitoring and Prediction Engine Resource Discovery Module
Resource and Group Availability Data
Peer Communication Module Underlying P2P Framework (JXTA)
Figure: Components of Client Software Decentralized Resource Availability Prediction for a Desktop Grid 11 / 25
Motivation
Focus of our work
Architecture
Implementation and Experiments
Conclusion
Job
Components of work unit are encapsulated in a mobile agent to form a job A mobile agent is a software module which moves from node to node autonomously and is executed at each node it moves to The mobile agent is responsible for the following Migration Communication with Monitoring and Result Server
Decentralized Resource Availability Prediction for a Desktop Grid 12 / 25
Motivation
Focus of our work
Architecture
Implementation and Experiments
Conclusion
Prediction Engine Group 1
Group 2
Dedicated Desktops Non-dedicated Desktops (Group 1) Non-dedicated Desktops (Group 2)
Figure: Prediction Engine Decentralized Resource Availability Prediction for a Desktop Grid 13 / 25
Motivation
Focus of our work
Architecture
Implementation and Experiments
Conclusion
Prediction Engine
The peer-to-peer system is used to classify the network into groups (g1 , g2 ... gn ). Every machine in the group returns the following parameters, in response to the resource request query. Resource Availability Factor (raf ) Group Availability (ga)
Decentralized Resource Availability Prediction for a Desktop Grid 14 / 25
Motivation
Focus of our work
Architecture
Implementation and Experiments
Conclusion
raf and ga The resource availability factor (raf ) denotes the probability of an individual machine’s availability at a given time of the day in a week. raf (t) =
Navailable (t) Ntotal (t)
The group availability quantifies the total group availability at a given time of the day in a week (t). This is represented by the following: ga(t) = currentga (t) − avgb (t)
Decentralized Resource Availability Prediction for a Desktop Grid 15 / 25
Motivation
Focus of our work
Architecture
Implementation and Experiments
Conclusion
Probability of Resource Availability
For non-dedicated desktops (university lab), Presourceavailability = (raf (t) ∗ ga(t))
For dedicated desktops (individually owned machines), Presourceavailability = raf (t)
Decentralized Resource Availability Prediction for a Desktop Grid 16 / 25
Motivation
Focus of our work
Architecture
Implementation and Experiments
Conclusion
Softwares Used
JDK 1.5 Java Axis2 webservices JXTA P2P Framework Aglets agents framework C++ MySQL SqlLite GNU/Linux and MS Windows XP
Decentralized Resource Availability Prediction for a Desktop Grid 17 / 25
Motivation
Focus of our work
Architecture
Implementation and Experiments
Conclusion
Verification and Validation
Scalability - Real time experiments
Efficiency of Prediction Algorithm - Simulation
Decentralized Resource Availability Prediction for a Desktop Grid 18 / 25
Motivation
Focus of our work
Architecture
Implementation and Experiments
Conclusion
Scalability Testing Management Server
Job Server 1
Monitoring Server 1
Job Server 2
Monitoring Server 2
Result Server 2
Resource 1
Resource 4
Resource n-2
Resource 2
Resource 5
Resource n-1
Resource 3
Resource 6
Resource n
Result Server 1
HFT Cluster Machines
n >= 20
Desktop Machine (Windows) + HFT Cluster Workstations
Figure: Scalability Testing Decentralized Resource Availability Prediction for a Desktop Grid 19 / 25
Motivation
Focus of our work
Architecture
Implementation and Experiments
Conclusion
Simulation of Prediction models
Random Scheduling - Simulating the first come first serve model Single Machine Predictive Scheduling - Simulating the predictive algorithm based on the single machine prediction without group availability Group Predictive Scheduling - Simulating the predictive algorithm based on the group algorithm
Decentralized Resource Availability Prediction for a Desktop Grid 20 / 25
Motivation
Focus of our work
Architecture
Implementation and Experiments
Conclusion
Results Input (num_of_jobs, duration, time) 10, 30, 2008-12-01 12:00:00
10, 100, 2008-12-01 12:00:00
10, 200, 2008-12-11 10:00:00
10, 300, 2008-12-11 10:00:00
100, 30, 2008-12-01 12:00:00
100, 100, 2008-12-01 12:00:00
100, 100, 2008-12-11 10:00:00
1000, 100, 2008-12-11 10:00:00
Sched. type R GP SP R GP SP R GP SP R GP SP R GP SP R GP SP R GP SP R GP SP
Migrations
Elapsedtime
4 0 1 10 2 6 16 1 0 19 14 18 55 49 50 427 296 284 2 3 3 42 34 33
35 minutes 30 minutes 35 minutes 1:50hrs 1:45 hours 1:45 hours 3:30hrs 3:25hrs 3:20hrs 5:20hrs 5:15hrs 5:15hrs 2:00hrs 1:55hrs 2:00hrs 8:25hrs 7:05hrs 7:05hrs 3:25hrs 3:30hrs 3:30hrs 1 day 3:55hrs 1 day 3:55hrs 1 day 3:55hrs
Table: Simulation Results Decentralized Resource Availability Prediction for a Desktop Grid 21 / 25
Motivation
Focus of our work
Architecture
Implementation and Experiments
Conclusion
Results Input (num_of_jobs, duration, time) 10, 30, 2008-12-01 12:00:00
10, 100, 2008-12-01 12:00:00
10, 200, 2008-12-11 10:00:00
10, 300, 2008-12-11 10:00:00
100, 30, 2008-12-01 12:00:00
Sched. type R GP SP R GP SP R GP SP R GP SP R GP SP R GP SP R GP SP R GP SP
Migrations
Elapsedtime
4 0 1 10 2 6 16 1 0 19 14 18 55 49 50 427 296 284 2 3 3 42 34 33
35 minutes 30 minutes 35 minutes 1:50hrs 1:45 hours 1:45 hours 3:30hrs 3:25hrs 3:20hrs 5:20hrs 5:15hrs 5:15hrs 2:00hrs 1:55hrs 2:00hrs 8:25hrs 7:05hrs 7:05hrs 3:25hrs 3:30hrs 3:30hrs 1 day 3:55hrs 1 day 3:55hrs 1 day 3:55hrs
The predictive scheduling decreases the amount of 100, 100, 2008-12-01 12:00:00 migrations when num_of _jobs < num_of _machines 100, 100, 2008-12-11 10:00:00
1000, 100, 2008-12-11 10:00:00
Table: Simulation Results Decentralized Resource Availability Prediction for a Desktop Grid 21 / 25
Motivation
Focus of our work
Architecture
Implementation and Experiments
Conclusion
Results Input (num_of_jobs, duration, time)
Sched. type R GP SP R GP SP R GP SP R GP SP R GP SP R GP SP R GP SP R GP SP
Migrations
Elapsedtime
4 0 1 10 2 6 16 1 0 19 14 18 55 49 50 427 296 284 2 3 3 42 34 33
35 minutes 30 minutes 35 minutes 1:50hrs 1:45 hours 1:45 hours 3:30hrs 3:25hrs 3:20hrs 5:20hrs 5:15hrs 5:15hrs 2:00hrs 1:55hrs 2:00hrs 8:25hrs 7:05hrs 7:05hrs 3:25hrs 3:30hrs 3:30hrs 1 day 3:55hrs 1 day 3:55hrs 1 day 3:55hrs
10, 30, 2008-12-01 12:00:00 predictive scheduling is more During peak hours,
effective 10, 100, 2008-12-01 12:00:00 10, 200, 2008-12-11 10:00:00
10, 300, 2008-12-11 10:00:00
100, 30, 2008-12-01 12:00:00
100, 100, 2008-12-01 12:00:00
100, 100, 2008-12-11 10:00:00
1000, 100, 2008-12-11 10:00:00
Table: Simulation Results Decentralized Resource Availability Prediction for a Desktop Grid 21 / 25
Motivation
Focus of our work
Architecture
Implementation and Experiments
Conclusion
Results Input (num_of_jobs, duration, time) 10, 30, 2008-12-01 12:00:00
10, 100, 2008-12-01 12:00:00
Sched. type R GP SP R GP SP R GP SP R GP SP R GP SP R GP SP R GP SP R GP SP
Migrations
Elapsedtime
4 0 1 10 2 6 16 1 0 19 14 18 55 49 50 427 296 284 2 3 3 42 34 33
35 minutes 30 minutes 35 minutes 1:50hrs 1:45 hours 1:45 hours 3:30hrs 3:25hrs 3:20hrs 5:20hrs 5:15hrs 5:15hrs 2:00hrs 1:55hrs 2:00hrs 8:25hrs 7:05hrs 7:05hrs 3:25hrs 3:30hrs 3:30hrs 1 day 3:55hrs 1 day 3:55hrs 1 day 3:55hrs
Predictive scheduling also makes a difference with long10, 200, 2008-12-11 10:00:00
duration jobs (> 45 minutes) 10, 300, 2008-12-11 10:00:00
100, 30, 2008-12-01 12:00:00
100, 100, 2008-12-01 12:00:00
100, 100, 2008-12-11 10:00:00
1000, 100, 2008-12-11 10:00:00
Table: Simulation Results Decentralized Resource Availability Prediction for a Desktop Grid 21 / 25
Motivation
Focus of our work
Architecture
Implementation and Experiments
Conclusion
Results Input (num_of_jobs, duration, time) 10, 30, 2008-12-01 12:00:00
10, 100, 2008-12-01 12:00:00
10, 200, 2008-12-11 10:00:00
10, 300, 2008-12-11 10:00:00
Sched. type R GP SP R GP SP R GP SP R GP SP R GP SP R GP SP R GP SP R GP SP
Migrations
Elapsedtime
4 0 1 10 2 6 16 1 0 19 14 18 55 49 50 427 296 284 2 3 3 42 34 33
35 minutes 30 minutes 35 minutes 1:50hrs 1:45 hours 1:45 hours 3:30hrs 3:25hrs 3:20hrs 5:20hrs 5:15hrs 5:15hrs 2:00hrs 1:55hrs 2:00hrs 8:25hrs 7:05hrs 7:05hrs 3:25hrs 3:30hrs 3:30hrs 1 day 3:55hrs 1 day 3:55hrs 1 day 3:55hrs
When100,num_of _jobs > num_of _machines 30, 2008-12-01 12:00:00
the predictive scheduling is not that effective 100, 100, 2008-12-01 12:00:00
100, 100, 2008-12-11 10:00:00
1000, 100, 2008-12-11 10:00:00
Table: Simulation Results Decentralized Resource Availability Prediction for a Desktop Grid 21 / 25
Motivation
Focus of our work
Architecture
Implementation and Experiments
Conclusion
Related Work Peer to Peer Grids Kim et.al - P2P desktop grid built over Distributed Hash Tables El-Desoky et.al - Fault tolerant P2P desktop grid Drost et.al - proposed a P2P supercomputing middleware system that was locality aware Resource Availability Selection RIDGE (Budati et.al) - Reliability Ratings over a client/server architecture TMDG (L Shang et.al) - Client/Server with Trust Model to predict machine availability Kondo et.al - Identify groups of internet resource with correlated availability Decentralized Resource Availability Prediction for a Desktop Grid 22 / 25
Motivation
Focus of our work
Architecture
Implementation and Experiments
Conclusion
Contribution
Development of a robust desktop grid which takes into account multiple job servers, mobility of the job and desktop volatility An approach to decentralized resource availability prediction of both dedicated and non-dedicated desktops
Decentralized Resource Availability Prediction for a Desktop Grid 23 / 25
Motivation
Focus of our work
Architecture
Implementation and Experiments
Conclusion
Future Work Resource Discovery Improvements to JXTA’s basic filtering of resources Studying the system’s performance with more than 20 clients Resource Availability Prediction Study of efficiency of models in dedicated resources Implementation of advanced mathematical models and probabilistic models in the system. Trust Socio-Economic Models Fault Tolerance Leveraging Free Disk Space Decentralized Resource Availability Prediction for a Desktop Grid 24 / 25
http://digs.csd.uwo.ca/
Thank you! http://www.csd.uwo.ca/~kramach/presentation/pcgrid2010.pdf