hunter of idle workstations
DESCRIPTION
Hunter of Idle Workstations. Miron Livny Marvin Solomon University of Wisconsin-Madison Email: [email protected] URL: http://www.cs.wisc.edu/condor. Outline. Condor overview Potential uses of Java in Condor Current use of Java in Condor: Classified Advertisements. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/1.jpg)
Hunter of Idle Workstations
Miron LivnyMarvin Solomon
University of Wisconsin-MadisonEmail: [email protected]
URL: http://www.cs.wisc.edu/condor
![Page 2: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/2.jpg)
2
![Page 3: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/3.jpg)
3
Outline
Condor overview Potential uses of Java in Condor Current use of Java in Condor:
• Classified Advertisements
![Page 4: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/4.jpg)
4
What is Condor?
Resource finder Batch queue manager Scheduler Checkpoint/Restart Process migration Remote system calls
All jobs
Jobs linked
with the Condor
library
![Page 5: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/5.jpg)
5
Condor is Real
In production use at dozens (hundreds?) of sites
In production use for over a decade Basis of commercial products
• Load leveler• LCF
Evolving
![Page 6: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/6.jpg)
6
Condor System Structure
Submit Machine Execution Machine
Collector
CA[...A]
[...B]
[...C]
CN
RA
Negotiator
Customer Agent Resource Agent
Central Manager
![Page 7: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/7.jpg)
7
Customer Agent
Maintains queue of submitted jobs Advertises status Selects jobs to run
![Page 8: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/8.jpg)
8
Resource Agent
Monitors system status• Load average• Keyboard and mouse idle time• Memory, disk space, ...
Advertises status Listens for requests to run jobs
![Page 9: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/9.jpg)
9
Central Manager
Collector• Accepts ads from resource agents and
customer agents Negotiator
• Matches customers with resources Accountant
• Records resource usage by customers
![Page 10: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/10.jpg)
10
Condor System Structure
Submit Machine Execution Machine
Collector
CA[...A]
[...B]
[...C]
CN
RA
Negotiator
Customer Agent Resource Agent
Central Manager
![Page 11: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/11.jpg)
11
Advertising Protocol
CA[...A]
[...B]
[...C]
CN
RA
[...N]
[...M]
[...M]
![Page 12: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/12.jpg)
12
Advertising Protocol
CA[...A]
[...B]
[...C]
CN
RA
[...M]
[...N]
![Page 13: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/13.jpg)
13
Matching Protocol
CA[...A]
[...B]
[...C]
CN
RA
[...M]
[...N]
![Page 14: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/14.jpg)
14
Claiming Protocol
CA[...A]
[...C]
CN
RA
[...S]
![Page 15: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/15.jpg)
15
Claiming Protocol
CA[...A]
[...C]
CN
RA
[...S]
Job
![Page 16: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/16.jpg)
16
Remote System Calls
CA[...A]
[...C]
CN
RA
[...S]
JobShadow
![Page 17: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/17.jpg)
17
Condor Meets Java
Java jobs Java for Condor implementation
![Page 18: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/18.jpg)
18
Running Java Jobs Run JVM as “vanilla” job
• Class files are treated as ordinary jobs• Requires uniform environment (same
CLASSPATH everywhere)• No checkpointing
Re-link JVM as “standard” job• Remote system calls for class loader
Checkpoint/restart of “vanilla” jobs
![Page 19: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/19.jpg)
19
Java-Aware Condor
Class file as “job”• Requires “pre-installed” JVM, class
libraries and/or job “package” (code + files)
• Also useful for remote compilation Checkpoint JVM state Platform-independent checkpoint
![Page 20: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/20.jpg)
20
Java for Implementing Condor
![Page 21: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/21.jpg)
21
Classified Advertisements
Simple yet powerful Extensible Active matching Symmetric matching
![Page 22: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/22.jpg)
22
Symmetric Active Matching Job requires a workstation
• X86 architecture• Solaris 2.6• 1 GB memory
Resource is only avialable• Between 6pm and 6am• If the keyboard is idle at least 15 mintues• To DOE Contractors
![Page 23: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/23.jpg)
23
The ClassAd Language
Set of bindings of Attribute Names to Expressions
Self-describing (no separate schema) Combine query and data Arbitrarily composed and nested
![Page 24: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/24.jpg)
24
Examples[ Type = "Job"; Owner = "raman"; Cmd = "run_sim"; Args = "-Q 17 3200"; Cwd = "/u/raman"; Memory = 31; Qdate = 886799469; ... Rank = other.Kflops... Constraint =
other.Type = ...]
[ Type = "Machine"; Name = "xxy.cs. ..."; Arch = "iX86"; OpSys = "Solaris"; Mips = 104; Kflops = 21893; State = "Unclaimed"; LoadAvg = 0.042969; ... Rank = ...; Constraint = ...;]
![Page 25: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/25.jpg)
25
Attribute Expressions
Constants104, 0.042969, "iX86" References attr, self.attr, other.attr,
expr.attr Operators+, *, >>, <, >=, &&, ... Functions strcat, substr, floor, member, ... Lists { expr, expr, ... } ClassAds [ name=expr; name=expr; ... ]
![Page 26: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/26.jpg)
26
Example Attributes
Descriptive attributes• Type = "Job";• Owner = "raman";• Arch = "iX86";• OpSys = "Solaris";• Memory = 64; // megabytes• Disk = 323496; // k bytes
![Page 27: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/27.jpg)
27
Example Attributes
Current state• Daytime = 36017; // secs past
midnight • KeyboardIdle = 1432; // seconds• State = "Unclaimed";• LoadAvg = 0.042969;
![Page 28: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/28.jpg)
28
Example Attributes
Parameters• ResearchGrp = { "raman", "miron",
"solomon", "jbasney" };• Friends = { "tannenba", "wright" };• Untrusted = { "rival", "riffraff" };• WantCheckpoint = 1;
![Page 29: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/29.jpg)
29
Complex Attributes
Derived data
Rank = // machine's rank for job10 * member(other.Owner,ResearchGrp) + member(other.Owner, Friends);
Rank = // job's rank for machineKflops/1E3 + other.Memory/32;
![Page 30: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/30.jpg)
30
Constraints
Job constraint
Constraint =other.Type = "Machine"&& Arch = "iX86"&& OpsSys = "Solaris"&& Disk > 10000&& other.Memory >= self.Memory;
![Page 31: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/31.jpg)
31
Constraints
Machine constraint
Constraint = ! member(other.Owner, Untrusted) && Rank >= 10 ? true : Rank > 0 ? (LoadAvg < 0.3 && KeyboardIdle > 15*60) : DayTime < 6*60*60 || DayTime > 18*60*60;
![Page 32: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/32.jpg)
32
Matching Algorithm To match two ads A and B
• Set up enironment such that in A– self self evaluates to Aevaluates to A– otherother evaluates to B evaluates to B– other attributes are searched for first in A other attributes are searched for first in A
and then in Band then in B– and and vice versavice versa (with A and B interchanged) (with A and B interchanged)
• Check if A.Constraint and B.Constraint both evaluate to true
• A.Rank and B.Rank for preferences
![Page 33: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/33.jpg)
33
Three-valued Logic
other.Memory > 32 all
other.Memory == 32 UNDEFINED
other.Memory != 32 if other has no
!(other.Memory == 32) "Memory" attribute
other.Mips >= 10 || other.Kflps >= 1000
TRUE if either attribute exists and
satisfies the given condition
![Page 34: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/34.jpg)
34
Summary
Distributed resource allocation• Distributed clients, servers• Heterogeneous resources• Distributed ownership
Classified advertisements• Semi-structured data model• Schema, data, and query in one
language• Separation of matching from claiming
![Page 35: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/35.jpg)
35
Summary
ClassAds are currently in use throughout Condor• Flexible• Robust
C++ and Java implementations Freely available as part of Condor
and as stand-alone libraries
![Page 36: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/36.jpg)
36
Future Work
Get “Java” customers Support “Java” customers
• Vanilla jobs• Standard jobs• Java-aware Condor execution engine
![Page 37: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/37.jpg)
37
Future Work
Application of ClassAds to other distributed resource-allocation and discovery problems
Bulk operations and aggregation• Structural regularity• Value regularity
User interfaces Tools
![Page 38: Hunter of Idle Workstations](https://reader036.vdocuments.mx/reader036/viewer/2022062422/56813a26550346895da207ae/html5/thumbnails/38.jpg)
38
Information About Condor
WWW• http://www.cs.wisc.edu/condor
Email• [email protected] • [email protected]