Difference between revisions of "RQS Common Uses"

From GridWiki
Jump to: navigation, search
(minor updates)
m (Reverted edits by LindaLopez (talk) to last revision by Jbecker)
 
Line 109: Line 109:
 
}
 
}
 
</pre>
 
</pre>
 
== 10 Keys to Happier Living ==
 
 
Action for Happiness has developed the 10 Keys to Happier Living based on a review of the latest scientific research relating to happiness. Everyones path to happiness is different, but the research suggests these Ten Keys consistently tend to have a positive impact on peoples overall happiness and well-being.
 
 
[[http://goodvillenews.com/10-Keys-to-Happier-Living-vxnwik.html 10 Keys to Happier Living]]
 
 
[[http://goodvillenews.com/wk.html GoodvilleNews.com - good, positive news, inspirational stories, articles]]
 
 
== 9-yr-old Helps Disabled Brother Finish Triathlons ==
 
 
Over the weekend, brothers Cayden and Connor Long joined hundreds of other children as they competed in the first annual New England Kids Triathlon in Cambridge. The boys did not win the event -- they didnt even come close. But that didnt stop them from winning hearts across the Internet. The Long brothers are not your typical triathletes. Six-year-old Cayden has cerebral palsy and can neither walk nor talk. But thanks to the dedication of his older brother, Connor, the young boy has participated in several triathlons. A touching video
 
 
[[http://goodvillenews.com/9-yr-old-Helps-Disabled-Brother-Finish-Triathlons-mozmuF.html 9-yr-old Helps Disabled Brother Finish Triathlons]]
 
 
[[http://goodvillenews.com/wk.html GoodvilleNews.com - good, positive news, inspirational stories, articles]]
 
 
== Why Have Good When You Can Have Better? ==
 
 
As I look back on my life, I realize that every time I thought I was being rejected from something good, I was actually being re-directed to something better. Steve Maraboli
 
 
[[http://goodvillenews.com/Why-Have-Good-When-You-Can-Have-Better-PdMtIo.html Why Have Good When You Can Have Better?]]
 
 
[[http://goodvillenews.com/wk.html GoodvilleNews.com - good, positive news, inspirational stories, articles]]
 
 
== Use Your Talents Give More Receive More ==
 
 
When I stand before God at the end of my life, I would hope that I would not have a single bit of talent left, and could say, I used everything you gave me.Erma Bombeck
 
 
[[http://goodvillenews.com/Use-Your-Talents-Give-More-Receive-More-n807aT.html Use Your Talents Give More Receive More]]
 
 
[[http://goodvillenews.com/wk.html GoodvilleNews.com - good, positive news, inspirational stories, articles]]
 
 
== Starting A Slow Story Movement ==
 
 
"It is said that we become the stories that we tell among ourselves. This might have been true before we became salespersons. For a few decades now, I think we have become numb to the stories that we tell among ourselves. So stories have become shorter and crisper to the length of a tweet. We are so committed to telling a story to the point that finally what remains is a dimensionless point.
 
 
[[http://goodvillenews.com/Starting-A-Slow-Story-Movement-V4LmVD.html Starting A Slow Story Movement]]
 
 
[[http://goodvillenews.com/wk.html GoodvilleNews.com - good, positive news, inspirational stories, articles]]
 

Latest revision as of 03:49, 5 October 2012

Note: this is a draft page where I'm trying to document probable common use cases for the new Resource Quota Syntax that will appear in Grid Engine 6.1. Don't link to this yet :) --Dag 11:54, 20 December 2006 (EST)


About Resource Quotas

The Resource Quota feature allows administrators to apply limits to:

  • Grid Engine resources
  • Grid Engine resource consumers (individual consumers or groups of consumers)
  • Grid Engine jobs

A Grid Engine resource can be any predefined or custom complex attribute known to the grid. Popular examples include slots, arch, num_proc, mem_free, mem_total, etc. The command qconf -sc will list the currently configured attributes. Specific information on complex attributes can be found within the . A Grid Engine resource consumer is one of the following: user, queue, host, project, department or parallel environment. Command-line implementation of this new feature is accomplished via the qquota and qconf commands. Resource quota support has also been built into the X11 qmon GUI tool.

Resource Quota Sets

Resource quotas are configured and defined as sets. Any set can contain one or more resource quota limits. The grid engine scheduler considers all configured sets all of the time and if multiple sets are found, the most restrictive set wins.

Resource quota syntax and rule sets behave and are processed very much like firewall rules on Linux systems -- individual rules defined within a set are evaluated in the order in which they have been defined -- the first rule that matches a specific request will be used (all other rules after the first match are ignored).

A resource quota set contains the following fields:

  • name -- The name of the set
  • enabled -- A boolean expression indicating if the set should be used for making scheduling decisions. Acceptable values are true|false and the default value is false.
  • description -- Optional string field for describing the set. Defaults to NONE.
  • limit rule -- Each set must contain one or more limit rules
    • scope filter -- Designate which resource consumers are affected by the quota limit being implemented. Multiple resource consumers can be named and are space separated. Braces "{ }" can be used to list or group individual consumer objects and the "!" character is used to imply NOT.
    • resource limit -- The actual rule specifying the actual limit for the resource. Must be an attribute-value pair separated by an "=" sign.

Resource Quota Set structure:

{
     name 
     description "NONE"
     enabled  true|false
     limit <scope filter> to <resource limit>
     limit <scope filter> to <resource limit>
     limit <scope filter> to <resource limit>
     ...
}


Resource Quota Set Example:

{
     name         example_resource_quota_set
     description  "limit slot access to user1 and user2 on every host in the LinuxHosts hostgroup (except penguin03)"
     enabled      true
     limit        users {user1,user2} hosts {@LinuxHosts, !penguin03} to slots=1
}

Per User Limits

Global limits on maximum user jobs

It is now possible to set limits on a per-user basis rather than just having one global value that affects everyone.

{
   name         max_per_user
   description  "per user rule sets"
   enabled      TRUE
   limit        users dag to slots=1
}

Max user jobs in a particular queue

Note that the keyword "queues" refers to a Grid Engine cluster queue

{
   name         max_per_queue
   description  NONE
   enabled      TRUE
   limit        users dag queues all.q to slots=2
   limit        users dag queues testQueue to slots=1
}

Max user jobs on a particular execution host

{
 name max_per_host
 enabled TRUE
 limit users dag hosts chrisdag-laptop to slots=2
}

The RQS Design Specification document contains the following more complicated example:

  1. All users together should never take more than 20 slots
  2. All users should maximal take 5 slots on all linux hosts
  3. Every user is restricted to one slot per linux host, only user "roland" is restricted to 2 slots and all other slots on hosts are set to 0

In that case, the ruleset would look like this, note that "@linux" is a predefined hostgroup:

{
 name maxujobs
 limit users * to slots=20
}

{
 name max_linux
 limit users * hosts @linux to slots=5
}

{
 name max_per_host
 limit users roland hosts {@linux} to slots=2
 limit users {*} hosts {@linux} to slots=1
 limit users * hosts * to slots=0
}