You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Jonathan Calmels (JIRA)" <ji...@apache.org> on 2015/09/25 22:49:04 UTC

[jira] [Created] (MESOS-3521) Support for hardware topology and resources description

Jonathan Calmels created MESOS-3521:
---------------------------------------

             Summary: Support for hardware topology and resources description
                 Key: MESOS-3521
                 URL: https://issues.apache.org/jira/browse/MESOS-3521
             Project: Mesos
          Issue Type: Improvement
            Reporter: Jonathan Calmels


In heterogeneous clusters, tasks sometimes have strong constraints on the type of hardware they need to execute on. The current solution is to use custom attributes to describe resources on the agents.
While this solution works, the current attribute format is somehow constraining and requires workarounds on both the agent and the scheduler (e.g. Base64 RFC 6920). In addition, we often need to encode the link between an attribute and a resource which is inherently error prone and implementation defined from one scheduler to another.

I would like to propose a unified format to expose hardware topology and resources information at the agent level.
This format would effectively extend the following specification: [http://mesos.apache.org/documentation/attributes-resources/]

{code:title=specification}
kv : text ":" ( range | kvSet | scalar | text )
kvSet : "{" kv ( "," kv )* "}"
info : ( range | text | "*" ) : kvSet
infoSet : "{" info ( "," info )* "}"
resourceName : text | "*"
resourcesInfoValue : text "(" resourceName ")" ":" infoSet
resourcesInfo : resourcesInfoValue ( ";" resourcesInfoValue )*
{code}

{code:javascript|title=example}
--resources= gpus:{card0, card1};ports:[0-100];cpus:8
--resources_info= nvidia(gpus): {		
			card0: {
				uuid: GPU-34e8d7ba-0e4d-ac00-6852-695d5d404f51,
				name: GeForce_GTX_980,
				path: /dev/nvidia0,
				clocks: {
      					graphic: 1392,
      					sm: 1392
				}
			},
			card1: {
				uuid: GPU-12e457ba-0f4e-bf01-3452-674a5b212c21,
				name: GeForce_GTX_970,
				path: /dev/nvidia1
				clocks: {
      					graphic: 1392,
      					sm: 1392
				}
			},
			*: {
				driver: 352.39
			}
	   	 };
		 services(ports): {
			[0-79]: {
				type: daemon,
				user: root
			},
			[80-100]: {
				type: web_services,
				user: www-data
			}
		 };
		 procs(cpus): {
			*: {
				name: Intel_i7_6700K,
				frequency: 4,
				cache: 8
			}
		 }
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)