george goulas, christos gogos, panayiotis alefragis, efthymios housos computer systems laboratory,...
TRANSCRIPT
George Goulas, Christos Gogos, Panayiotis Alefragis, Efthymios Housos
Computer Systems Laboratory,Electrical & Computer Engineering Dept.,
University of Patras
Scheduling Human ResourcesScheduling Problem: Assign a set of ACTIVITIES to
a set of RESOURCES given a set of DEMANDS and a set of CONSTRAINTS to produce a set of PRODUCTS(Goods or services)
Resources include humans (opposed to computer process scheduling)Upfront knowledge of task details
NP-hard/NP-Complete problem, Combinatorial Explosion
Problem Domains: Transportation, bus/driver scheduling, airline crew pairing, course /exams timetabling, Production, job-shop scheduling, ..
SchedScripterSupport the creation of Distributed Human Resources Scheduling
Applications On a grid infrastructure like the EGEEUsing a distributed scheduling application
model Supports dynamic component composition
guided by the solution process and progressUsing open, widely used protocols and
implementations for communications and coordination
Distributed Scheduling AppPre
Processing
Sub Problem Selection
Strategy Selector
Post Processing
Finish Subproble
mFinish
Feedback
Alternative Schedule
Generators
Legality / Regulation Evaluation
Cost Calculation
Optimization / Solution Selection
Scheduling Coordinator
Problem Solver
Different Problem Solvers
SchedScripter FeaturesScheduling Application Templates based on
Distributed Design PatternsApplication Coordination using Application
Templates or BPEL or ad-hoc Web Services usage
Submit web services container as grid jobs on the worker nodes
Application Structure
WORKER
NODE
Application
Code
WORKER
NODE
Application
Code
WORKER
NODE
Application
Code
WORKER
NODE
Application
Code
WORKER
NODE
Application
Code
WORKER
NODE
Application
Code
WORKER
NODE
Application
Code
Registry
Application Coordination
Workflow Mgmt
Bulletin
WN Matcher
Grid
Application Coordination 1/3Master / Worker
CoordinationJava implementation of
the master/worker distributed design pattern
For developers not familiar with WS-*/BPEL
CoordinatorBulletin
ImproverImprover
Improver Host
ImproverImprover
Improver Host
Application Coordination 2/3Swarm Pattern (peer-
to-peer)Java implementation of
p2p design pattern“Master” receives
messages and collects final result when ready
For developers not familiar with WS-*/BPEL
Application Coordination 3/3BPEL based Coordination
WN MatcherHierarchical Pattern
proposed Master BPEL invoking
worker BPEL processes Worker BPEL process on
single WN
Web Services ad-hoc integrationToolkit to assign workload
Master Node
Master Node
RegistryWS
Workflow Mgmt
WS-Security using Grid X509 Certificates
Simple WS Container
WN Matcher
WS
Port Forwardin
gWS
BulletinWS
Scheduling Application Coordinato
rMaster File Manageme
ntWS
It can optionally live inside Bulletin or it
can use its web services interface
SwarmMaster
BPEL Composite Services
User Applications and User Services
Worker Node
Worker Node
Job Mgmt
WS
File Mgmt
WS
WN Mgmt
WS
JobHostWS
WS-Security using Grid X509 Certificates
Simple WS Container
User Define
dWS
Improver Host
MesageBox
Improver
Improver
Improver
Improver
Improver
Improver
Exams Timetabling Case Study*Based on an already available examination
timetabling application from our teamInitial Tests
Independent Improvers Parameter SweepTournament between Improvers, 50% chance to
use best available solution or one of the 2-10 top, synchronous
asynchronousModifiable parameters were the Simulated
Annealing meta-heuristic parameters, used in the application
* Gogos C., Goulas G., Alefragis P. and Housos E. Pursuit of Better Results for the Examination Timetabling Problem Using Grid Resources, 2009, IEEE Symposium on Computational Intelligence in Scheduling (CI-Sched), Nashville, Tennessee, USA, 30 Mar-2 Apr 2009 (to appear).
Results
*Best of 100 sequential runs, ~10 min runtime** Same as sequential, more independent parallel runs*** 1200 sec total runtime, 15 synchronous steps, 30 WNs
Problem Sequential* Param. Sweep**
Tournament***
Dataset 1 4.775 4.699 4.699
Dataset 2 385 385 385
Dataset 3 8.996 8.546 8500
Dataset 4 16.204 15.884 14.879
Dataset 5 2.929 2.823 2.795
Dataset 6 25.740 25.565 25.410
Dataset 7 4.087 3.975 3.884
Dataset 8 7.777 7493 7.440
Case Study ExperienceEasy to use environment
1 week effort to adapt application to SchedScripterApplication refactoring to break it into components
Create initial solutionImprove using parameters, initial solution and
specific configuration of meta-heuristicsRestart with different initial solution but keep
problem in memory (problem loading up to a minute long process)
Significant solution quality improvements with grid
Solution Quality (Cost function) Progress Sample
ConclusionsEasy to use frameworkJava templates for non- BPEL/WS-* -savvy developer
Developer provides “strategy” or “coordinator” and “improver” classes
EGEE compatible but not limited, runs even on cluster
BPEL and web-services support for application coordination
BPEL and web services abstractions and “details” could be hard to understand for developers !EPRs, namespaces, deploy.xml, WSDL files, BPEL
engine artifacts, packaging, deployment, partner links, ..
Future WorkExamination timetabling using scatter search is
almost readyDevelop /adapt various scheduling applications
from different scheduling domainsSeeking non-scheduling scientific computing
applicationsAdapting SchedScripter for GT4/WSRF is
interesting but EGEE middleware compliance is a major choicelargest infrastructure we could have access to at
the moment !