Presentation is loading. Please wait.

Presentation is loading. Please wait.

Condor Project Computer Sciences Department University of Wisconsin-Madison What’s new in Condor? What’s coming up? Condor Week 2009.

Similar presentations


Presentation on theme: "Condor Project Computer Sciences Department University of Wisconsin-Madison What’s new in Condor? What’s coming up? Condor Week 2009."— Presentation transcript:

1 Condor Project Computer Sciences Department University of Wisconsin-Madison What’s new in Condor? What’s coming up? Condor Week 2009

2 www.condorproject.org 2 Release Situation › Stable Series  Current: Condor v7.2.2 (April 14 2009)  Last Year: Condor v7.0.1 (Feb 27th 2008) › Development Series  Current: Condor v7.3.0 (Feb 24 2009) v7.3.1 “any day”  Last Year : Condor v7.1.0 (April 1st 2008) › How long is development taking?  v6.9 Series : ~ 18 months  v7.1 Series : ~ 12 months  v7.3 Series : plan says done in July 09

3 www.condorproject.org 3 New Ports In 7.2.0 and Beyond › Full ports: Debian 5.0 x86 & x86_64 › Also added condor_compile support for gfortran

4 www.condorproject.org 4 Big new goodies in v7.0 › Virtual Machine Universe › Scalability Improvements › GCB Improvements › Privilege Separation › New Quill › “Crondor”

5 www.condorproject.org 5 Big new goodies in v7.2 › Job Router › Startd and Job Router hooks › DAGMan tagging and splicing › Green Computing started › GLEXEC › Concurrency Limits

6 www.condorproject.org 6 Job Router › Automated way to let jobs run on a wider array of resources  Transform jobs into different forms  Reroute jobs to different destinations 6

7 www.condorproject.org 7 What is “job routing”? 7 Universe = “vanilla” Executable = “sim” Arguments = “seed=345” Output = “stdout.345” Error = “stderr.345” ShouldTransferFiles = True WhenToTransferOutput = “ON_EXIT” Universe = “grid” GridType = “gt2” GridResource = \ “cmsgrid01.hep.wisc.edu/jobmanager-condor” Executable = “sim” Arguments = “seed=345” Output = “stdout” Error = “stderr” ShouldTransferFiles = True WhenToTransferOutput = “ON_EXIT” JobRouter Routing Table: Site 1 … Site 2 … final status routed (grid) joboriginal (vanilla) job

8 www.condorproject.org 8 Routing is just site-level matchmaking › With feedback from job queue number of jobs currently routed to site X number of idle jobs routed to site X rate of recent success/failure at site X › And with power to modify job ad change attribute values (e.g. Universe) insert new attributes (e.g. GridResource) add a “portal” grid proxy if desired 8

9 www.condorproject.org 9 Startd Job Hooks › Users wanted to take advantage of Condor’s resource management daemon (condor_startd) to run jobs, but they had their own scheduling system.  Specialized scheduling needs  Jobs live in their own database or other storage rather than a Condor job queue 9

10 www.condorproject.org 10 Job Router Hooks › Truly transform jobs, not just reroute them  E.g. stuff a job into a virtual machine (either VM universe or Amazon EC2) › Hooks invoked like startd ones 10

11 www.condorproject.org 11 Our solution › Make a system of generic “hooks” that you can plug into:  A hook is a point during the life-cycle of a job where the Condor daemons will invoke an external program  Hook Condor to your existing job management system without modifying the Condor code 11

12 www.condorproject.org 12 DAGMan Depth First Example

13 www.condorproject.org 13 Category Example Setup Cleanup Big job Small job Big job Small job Big job Small job Run <= 2 Run <= 5

14 www.condorproject.org 14 DAGMan Splicing A B X+A X+CX+B X+D Y+A Y+CY+B Y+D Z+A Z+CZ+B Z+D # Example Use Case JOB A A.sub JOB B B.sub SPLICE X diamond.dag SPLICE Y diamond.dag SPLICE Z diamond.dag PARENT A CHILD X Y Z PARENT X Y Z CHILD B # Notice scoping of node! Splicing creates one “in memory” DAG. No subdags means no extra condor_dagmans.

15 www.condorproject.org 15 Green Computing › The startd has the ability to place a machine into a low power state. (Standby, Hibernate, Soft-Off, etc.)  HIBERNATE, HIBERNATE_CHECK_INTERVAL  If all slots return non-zero, then the machine is powered down; otherwise; it continues running. › Machine ClassAd contains all information required for a client to wake it up  Condor can wake it up, also a standalone tool.  This was NOT as easy as it should be. › Machines in “Offline State”  Stored persistently to disk  Lots of other uses

16 www.condorproject.org 16 Concurrency Limits › Limit job execution based on admin- defined consumable resources  E.g. licenses › Can have many different limits › Jobs say what resources they need › Negotiator enforces limits pool-wide 16

17 www.condorproject.org 17 Concurrency Example › Negotiator config file  MATLAB_LIMIT = 5  NFS_LIMIT = 20 › Job submit file  concurrency_limits = matlab,nfs:3  This requests 1 Matlab token and 3 NFS tokens 17

18 www.condorproject.org 18 Other goodies in v7.2 › ALLOW/DENY_CLIENT › Job queue backup on local disk › PREEMPTION_REQUIREMENTS and RANK can reference additional attributes in negotiator about group resource usage › Start on dynamic provisioning in the startd › $$([])

19 www.condorproject.org 19 Dynamic Slot Partitioning › Divide slots into chunks sized for matched jobs › Readvertise remaining resources › Partitionable resources are cpus, memory, and disk › See Matt Farrellee’s talk 19

20 www.condorproject.org 20 Dynamic Partitioning Caveats › Cannot preempt original slot or group of sub-slots  Potential starvation of jobs with large resource requirements › Partitioning happens once per slot each negotiation cycle  Scheduling of large slots may be slow 20

21 www.condorproject.org 21 New Variable Substitution › $$(Foo) in submit file  Existing feature  Attribute Foo from machine ad substituted › $$([Memory * 0.9]) in submit file  New feature  Expression is evaluated and then substituted 21

22 www.condorproject.org 22 More Info For Preemption › New attributes for these preemption expressions in the negotiator…  PREEMPTION_REQUIREMENTS  PREEMPTION_RANK › Used for controlling preemption due to user priorities 22

23 www.condorproject.org 23 Right then. What about v7.3.x and beyond?

24 Terms of License Any and all dates in these slides are relative from a date hereby unspecified in the event of a likely situation involving a frequent condition. Viewing, use, reproduction, display, modification and redistribution of these slides, with or without modification, in source and binary forms, is permitted only after a deposit by said user into PayPal accounts registered to Todd Tannenbaum ….

25 www.condorproject.org 25 Some tasty dishes cooking in the Condor kitchen Special guest, Julia Child!

26 www.condorproject.org 26 Already served (leftovers) › CCB – Condor Connection Broker  Dan Bradley’s presentation › Bring checkpoint/restart to Vanilla Job  Pete Keller’s presentation re DMTCP › Asynch notification of events to fill a hole in Condor’s web service API  Jungha Woo’s presentation › Grid Universe improvements  Xin Zhao’s presentation

27 www.condorproject.org 27 Data “Drinks” Wando Fishbowl Anyone?

28 www.condorproject.org 28 Condor + Hadoop FS ! › Lots of hard work by Faisal Khan › Motivation  Condor+HDFS = 2 + 2 = 5 !!!  A Synergy exists (next slide) Hadoop as distributed storage system Condor as cluster management system  Large number of distributed disks in a compute cluster Managing disk as a resource

29 www.condorproject.org 29 Condor + HDFS › Dhruba Borthakur’s talk › Synergy  Condor knows a lot about its cluster Capability of individual machines in terms of available memory, CPU load, disk space etc. Availability of JRE (Java Universe)  Condor can easily automate house keeping jobs e.g rebalancing data blocks Implementing user file quota

30 www.condorproject.org 30 Condor + HDFS › Synergy  Failover High availability daemon in Condor  ClassAds Let clients know the current IP of name server Heartbeat

31 www.condorproject.org 31 condor_hdfs daemon › Main integration point of HDFS within Condor › Configures HDFS cluster based on existing condor_config files › Runs under condor_master and can be controlled by existing Condor utilities › Publish interesting parameters to Collector e.g IP address, node type, disk activity › Currently deployed at UW-Madison

32 www.condorproject.org 32 Condor + HDFS : Next Steps › FileNode Failover › Block placement policies & management › Thinking about how Condor can steer jobs to the data  Via a ClassAd function used in the RANK expression? › Integrate with File Transfer Mechanism…

33 www.condorproject.org 33 More Job Sandbox Options › Condor’s File Transfer mechanism  Currently moves files between submit and execute hosts (shadow and starter).  Next : Files can have URLs HTTP HDFS  How about Condor’s SPOOL ? › Need to schedule movement? New Stork  Mehmet Balman’s presentation

34 www.condorproject.org 34 Virtual Meatchine Dishes

35 www.condorproject.org 35 Virtual Machine Sandboxing › We have the Virtual Machine Universe…  Great for provisioning  Nitin Narkhede’s presentation › … and now we are exploring different mechanisms to run a job inside a VM. › Benefits  Isolate the job from execute host.  Stage custom execution environments.  Sandbox and control the job execution.

36 www.condorproject.org 36 One way to do it – via the Condor Job Router › Hard work by Varghese Mathew › Ordinary Jobs & VM Universe Jobs. › Job router – transform a job into a new form. › Job router hook picks them up, sets them up inside a VM job, and submits the VM job. › On completion, job router hook extracts output from the VM and returns to original job.

37 www.condorproject.org 37 Different Flavors › Script Inside VM › Starter Inside VM › Personal Condor Inside VM › VM joins the pool as an execute node › All different ways to bind a job to a specific virtual machine.

38 www.condorproject.org 38 Speaking of VM Universe… › Adding VM Universe Support for  VMWare Server 2.x  KVM Done via libvirt Future VM systems added to libvirt should be easy to add in the future  VMWare ESX, ESXi › Thank you community for contributions!

39 www.condorproject.org 39 “Lightweight Jobs” Salad

40 www.condorproject.org 40 Fast, quick, light jobs › Options to put a Condor job on a diet › Diet ideas:  Leave the luggage at home! No job file sandbox, everything in the job ad.  Don’t pay for strong semantic guarantees if you don’t need em. Define expectations on entry, update, completion. › Want to honor scheduling policy, however.

41 www.condorproject.org 41 Some small side dishes Julia, a spy who really knew her eggs…

42 www.condorproject.org 42 › Non-blocking communication via threads  Refer to Dan/Igor’s talk  Especially all the security session roundtrips  The USCMS scalability testbed needs 70 collectors to support ~20k dynamic machines; replaced with 1 collector w/ threading code. 70:1, baby!!!!! › Configuration knob management  Think about:config in firefox  Hard-coded configurations now possible › Nested groups

43 www.condorproject.org 43 Mmmm, tasty Condor Wiki

44 www.condorproject.org 44 Scheduling Dessert Pabst and Jack, a dessert favorite!

45 www.condorproject.org 45 Back to Green Computing › The startd has the ability to place a machine into a low power state. (Standby, Hibernate, Soft-Off, etc.). › Machine ClassAd contains all information required for a client to wake it up › Machines in “Offline State”  Stored persistently to disk › NOW… have the matchmaker publish “match pressure” into these offline ads, enabling policies for auto-wakeup

46 www.condorproject.org 46 Scheduling in Condor Today CM schedd CMschedd startd › Distributed Ownership › Settings reflect 3 separate viewpoints:  Pool manager, Resource Owner, Job Submitter

47 www.condorproject.org 47 But some sites want to use Condor like this: schedd startd › Just one submission point (schedd) › All resources owned by one entity › We can do better for these sites.  Policy configurations are complicated.  Some useful policies not present because they are hard to do a wide-area distributed system.  Today the dedicated “scheduler” only supports FIFO and a naive Best Fit algorithms.

48 www.condorproject.org 48 So what to do? schedd startd › Give the schedd more scheduling options.  Examples: why can’t the schedd do priority preemption without the matchmakers help? Or move jobs from slow to fast claimed resources ?

49 www.condorproject.org 49 Thank you to an awesome community!!!


Download ppt "Condor Project Computer Sciences Department University of Wisconsin-Madison What’s new in Condor? What’s coming up? Condor Week 2009."

Similar presentations


Ads by Google