Thanks Haosdent,

If what you say about Marathon is right (i.e., that Marathon’s constraints only 
work with Mesos’ attributes), then I cannot use --resources="gpu(*):4", since I 
have no way in Marathon to specify my job needs a GPU resource (at least using 
the web interface), right?

I guess I will have to experiment with attributes.

Cheers,
Humberto



From: haosdent [mailto:[email protected]]
Sent: 14. januar 2016 19:07
To: user
Subject: Re: Share GPU resources via attributes or as custom resources 
(INTERNAL)

>Then, if a job is sent to the machine when the 4 GPUs are already busy, the 
>job will fail to start, right?
I not sure this. But if job fail, Marathon would retry as you said.

>a job is sent to the machine, all 4 GPUs will become busy
If you specify your task only use 1 gpu in resources field. I think Mesos could 
continue provide offers which have gpu. And I remember Marathon constraints 
only could work with --attributes.

On Fri, Jan 15, 2016 at 1:02 AM, 
<[email protected]<mailto:[email protected]>> wrote:
I have a machine with 4 GPUs and want to use Mesos+Marathon to schedule the 
jobs to be run in the machine. Each job will use maximum 1 GPU and sharing 1 
GPU between small jobs would be ok.
I know Mesos does not directly support GPUs, but it seems I might use custom 
resources or attributes to do what I want. But how exactly should this be done?

If I use --attributes="hasGpu:true", would a job be sent to the machine when 
another job is already running in the machine (and only using 1 GPU)? I would 
say all jobs requesting a machine with a hasGpu attribute would be sent to the 
machine (as long as it has free CPU and memory resources). Then, if a job is 
sent to the machine when the 4 GPUs are already busy, the job will fail to 
start, right? Could then Marathon be used to re-send the job after some time, 
until it is accepted by the machine?

If I specify --resources="gpu(*):4", it is my understanding that once a job is 
sent to the machine, all 4 GPUs will become busy to the eyes of Mesos (even if 
this is not really true). If that is right, would this work-around work: 
specify 4 different resources: gpu:A, gpu:B, gpu:C and gpu:D; and use 
constraints in Marathon like this  "constraints": [["gpu", "LIKE", " [A-D]"]]?

Cheers



--
Best Regards,
Haosdent Huang

Reply via email to