Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
wiki:managing_resources_cpu_gpu [2018/10/16 09:08] – [Managing GPUs] neyronwiki:managing_resources_cpu_gpu [2018/10/17 00:41] – [Managing processing unit topologies] neyron
Line 2: Line 2:
  
 ====== Managing processing unit topologies ====== ====== Managing processing unit topologies ======
-OAR'resources tables provides several kinds of information: +The OAR database ''resources'' tables provides several kinds of information: 
-  1. resources states (Alive/Absent/Dead/..., maintenance mode, availability...) ; +  resources **states** (Alive/Absent/Dead/..., maintenance mode, availability...) ; 
-  2. resources characteristics (CPU speed, CPU model, memory size...) ; +  resources **characteristics** (CPU speed, CPU model, memory size...) ; 
-  3. and also it defines the computing resources hierarchy (topology) ; +  and also it defines the computing resources **hierarchy** (topology) ; 
-  4. and finally some hardware related identifiers (e.g. cpusets). +  and finally some **hardware** related **identifiers** (e.g. cpusets). 
-They are called OAR resources ''properties''+They are called OAR resources **properties**
  
-In database these kinds of properties are all stored as columns of the table. A rows then gives the set of properties for one resource.+In database these kinds of resource properties are all stored as **columns** of the ''resources'' table. A rows then gives the set of properties for one resource.
  
-Given a hierarchy (chosen by the administrator for its cluster setup, for instance cluster/switch/host/cpu/core, but thread could be added, or other customizations), one row in the table gives information for the lowest level of resources of the hierarchy (e.g. core). Then groups of lines define higher levels, like russian dolls (e.g. ''#C'' rows for CPUs, ''#H*#C'' rows for hosts, ...).+**Given a hierarchy** (chosen by the administrator for its cluster setup, for instance cluster/switch/host/cpu/core, but thread could be added, or other customizations), one row in the table gives information for the **lowest level of resources of the hierarchy** (e.g. core). Then **groups of lines** define higher levels, like Russian dolls (e.g. ''#C'' rows for CPUs, ''#H*#C'' rows for hosts, ...).
      
-One rule must be kept in mind: any unique object in the resources hierarchy must have a unique id among its set of object. For example:+One rule must be kept in mind: **any unique object in the resources hierarchy must have a unique id among its set of object**. For example:
   * any of the cores (of any of the CPUs, of any of the hosts...) must have a unique id among the whole set of cores ;   * any of the cores (of any of the CPUs, of any of the hosts...) must have a unique id among the whole set of cores ;
   * any of the CPUs (of any of the nodes, of any of the clusters...)  must have a unique id among the whole set of CPUs ;   * any of the CPUs (of any of the nodes, of any of the clusters...)  must have a unique id among the whole set of CPUs ;
   * and so one of any resource.   * and so one of any resource.
  
-Then, when it comes to the hardware identifiers (cpusets, or see below for GPU devices id), the administrator must take a special attention so that a correct mapping is done between the logical hierarchy (e.g. id of the host, CPUs, cores, hyperthreads) and the hardware processing unit ids (cpuset value). Using a tool such as ''hwloc'' may help at this point.+Then, when it comes to the hardware identifiers (cpusets, or see below for GPU devices id), the administrator must take a special attention so that a **correct mapping** is done between the **logical hierarchy** (e.g. id of the host, CPUs, cores, hyperthreads) and the **hardware** processing unit **ids** (cpuset value). Using a tool such as ''hwloc'' may help at this point.
  
-The ''oarnodes'' command gives an extract of the resources table. The ''oarnodesetting'' command can be used to modify or create rows in the resources table. The ''oarproperty'' command can be used to modify resource properties (columns of the table).+The basic commands to work with resources are: 
 +  * The ''oarnodes'' command gives an extract of the resources table.  
 +  * The ''oarnodesetting'' command can be used to modify or create rows in the resources table.  
 +  * The ''oarproperty'' command can be used to modify resource properties (columns of the table).
  
-Two meta-command are provided to build the resource table (using underneath the ''oarpropery'' and ''oarnodesetting'' commands):+But two meta-command are provided to build the resource table (using underneath the ''oarpropery'' and ''oarnodesetting'' commands):
   * ''oar_resource_init'' first looks at the machines hardware topology (connecting to them using SSH) and then provides the relevant ''oarnodesetting'' commands ;   * ''oar_resource_init'' first looks at the machines hardware topology (connecting to them using SSH) and then provides the relevant ''oarnodesetting'' commands ;
   * ''oar_resource_add'' builds ''oarnodesetting'' commands from a model defined in the command line.   * ''oar_resource_add'' builds ''oarnodesetting'' commands from a model defined in the command line.
Line 38: Line 41:
   * some explanations about it: https://github.com/oar-team/oar/issues/107   * some explanations about it: https://github.com/oar-team/oar/issues/107
  
-Next releases of OAR may provide tools to help setup GPU resources, but for now, here are some explanations for the setup (for //advanced OAR admins// only). +The next release of OAR will provide tools to help setup GPU resources (see the ''oar_resources_add'' command included in OAR starting from version 2.5.8 RC6), but for now, here are some explanations for the setup (for //advanced OAR admins// only). 
  
  
wiki/managing_resources_cpu_gpu.txt · Last modified: 2020/03/03 14:10 by neyron
Recent changes RSS feed GNU Free Documentation License 1.3 Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki