Alain Roy Computer Sciences Department University of Wisconsin-Madison ClassAds: Present and Future
What Are ClassAds? › A ClassAd maps attributes to expressions › Expressions Constants: strings, numbers, etc. Expressions: other.Memory > 600M Lists: { “roy”, “pfc”, “melski” } Other ClassAds › Powerful tool for grid computing Semi-structured (you pick your structure) Matchmaking
ClassAd Example [ Type = “Job”; Owner = “roy”; Universe = “Standard”; Requirements = (other.OpSys == “Linux” && other.DiskSpace > 140M); Rank = (other.DiskSpace > 300M ? 10 : 1); ClusterID = 12314; JobID = 0; Env = “”; … ] (To see a real ClassAd, try: condor_q –l or condor_status –l )
ClassAd Matchmaking [ Type = “Job”; Owner = “roy”; Requirements = (other.OpSys == “Linux” && other.DiskSpace > 140M); Rank = (other.DiskSpace > 300M ? 10 : 1); ] [ Type = “Machine”; OpSys = “Linux”; DiskSpace = 500M; AllowedUsers = {“roy”, “melski”, “pfc”}; Requirements = (IsMember(other.Owner, AllowedUsers); ]
ClassAds Are Open Source › Library GNU Public License (LGPL) › Complete source code included Library code Test program › Available from: › Version 0.9.3
Who Uses ClassAds? › Condor › European Data Grid › NeST › Web site › …You?
ClassAd User: Condor › ClassAds describe jobs and machines › Matchmaking figures out what jobs run on which machines › DAGMan will soon internally represent DAGs as ClassAds
ClassAd User: EU Datagrid › JDL: ClassAd schema to describe jobs/machines › ResourceBroker: matches jobs to machines
ClassAd User: NeST › NeST is a storage appliance › NeST uses ClassAd collections for persistent storage of: User Information File meta-data Disk Information Lots (storage space allocations)
ClassAd User: Web Site › Web-based application in Germany › User actions (transitions) are constrained › Constraints expressed through ClassAds
What’s New? › ClassAd collections › XML representation
New: ClassAd Collections › A collection is a “bag” of ClassAds › Can have views on a collection: Sub view: contains ClassAds matching a constraint, like (memory > 300M) Partition view: contains sub view for each value of a constraint
Collection Views Root View (all machine ClassAds)OpSys == “Linux”Memory > 600MOwner: royOwner: pfcOwner: ned
New: XML Representation › Does not replace original representation › Sample: Job Roy (other.Memory > 600M)
What’s Coming? › 1.0—real soon now Smoothing out minor issues Updated documentation › After 1.0 Set-extensions (with University of Chicago) Gang-matching, indexing Recoverable transmission of ClassAds (two- phase commit) Access from multiple languages (SWIG)
Cool! Tell Me More! Q&A: 9:00am-noon, Wed., Room ClassAd users mailing list