Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Last revision Both sides next revision
wiki:managing_resources_cpu_gpu [2018/10/16 09:10]
neyron [Managing GPUs]
wiki:managing_resources_cpu_gpu [2018/10/17 00:41]
neyron [Managing processing unit topologies]
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.
wiki/managing_resources_cpu_gpu.txt · Last modified: 2019/06/25 14:25 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