Hi Mark,

Sorry for responding late, but Pankaj & Mangirish have already summarized some 
very good options for the problem you mentioned. I am not sure if you already 
have, but I would recommend taking a look at Aurora – a job scheduler framework 
for Mesos.

The scenario you mentioned, where there are compute resources, some with & 
without GPU and delegating jobs according to the resource requirements. Well, 
Aurora does this intelligently by detecting the availability of resources (cpu, 
gpu, ram, etc) on target slaves, based on the job needs; and runs the job on 
that resource. It also provides the ability to set resource quotas for specific 
users that submit jobs. Overall, they provide a rich set of features.

Thanks and Regards,
Gourav Shenoy

From: "Miller, Mark" <[email protected]>
Reply-To: "[email protected]" <[email protected]>
Date: Wednesday, October 26, 2016 at 11:11 AM
To: "[email protected]" <[email protected]>
Subject: RE: mesos and moving jobs between clusters

Hi Folks,

Thanks for your kind answers.
We are very specifically interested in how Mesos might allow us to submit to 
multiple machines without changing the “rules” we impose that are machine 
dependent.
For example, Gordon has 16 cores per node and no gpu
Comet has 24 cores per node, and 4 gpu nodes.
So we adjust our running rules depending on the resource.

I can imagine one solution would be to find the least common denominator, and 
run all jobs
On virtual clusters with 16 cores maximum, and no gpus.
Or we might only submit jobs that can use gpus to resources that have them.

Anyway, since we will all be in SD soon, it seems like we should chat a bit 
about this in person?.
Maybe we can find a coffee break time, or set up a meeting during the meeting?

Mark




From: Pankaj Saha [mailto:[email protected]]
Sent: Tuesday, October 25, 2016 3:10 PM
To: dev <[email protected]>
Subject: Re: mesos and moving jobs between clusters


Hi Mark,


Mesos collects the resource information from all the nodes in the cluster 
(cores, memory, disk, and gpu) and presents a unified view, as if it is a 
single operating system. The Mesosphere, who a commercial entity for Mesos, has 
built an ecosystem around Mesos as the kernel called the "Data Center Operating 
System (DCOS)".  Frameworks interact  with Mesos to reserve resources and then 
use these resources to run jobs on the cluster. So, for example, if multiple 
frameworks such as Marathon, Apache Aurora, and a custom-MPI-framework are 
using Mesos, then there is a negotiation between Mesos and each framework on 
how many resources each framework gets. Once the framework, say Aurora, gets 
resources, it can decide how to use those resources. Some of the strengths of 
Mesos include fault tolerance at scale and the ability to co-schedule 
applications/frameworks on the cluster such that cluster utilization is high.


Mesos off-the-shelf only works when the Mater and agent nodes have a line of 
communication to each other. We have worked on modifying the Mesos installation 
so that it even works when agents are behind firewalls on campus clusters. We 
are also working on getting the same setup to work on Jetstream and Chameleon 
where allocations are a mix of public IPs and internally accessible nodes. This 
will allow us to use Mesos to meta-schedule across clusters. We are also 
developing our own framework, to be able to customize scheduling and resource 
negotiations for science gateways on Mesos clusters. Our plan is to work with 
Suresh and Marlon's team so that it works with Airavata.


I will be presenting at the Gateways workshop in November, and then I will also 
be at SC along with my adviser (Madhu Govindaraju), if you would like to 
discuss any of these projects.


We are working on packaging our work so that it can be shared with this 
community.



Thanks

Pankaj

On Tue, Oct 25, 2016 at 11:36 AM, Mangirish Wagle 
<[email protected]<mailto:[email protected]>> wrote:
Hi Mark,

Thanks for your question. So if I understand you correctly, you need kind of 
load balancing between identical clusters through a single Mesos master?

With the current setup, from what I understand, we have a separate mesos 
masters for every cluster on separate clouds. However, its a good investigative 
topic if we can have single mesos master targeting multiple identical clusters. 
We have some work ongoing to use a virtual cluster setup with compute resources 
across clouds to install mesos, but not sure if that is what you are looking 
for.

Regards,
Mangirish





On Tue, Oct 25, 2016 at 11:05 AM, Miller, Mark 
<[email protected]<mailto:[email protected]>> wrote:
Hi all,

I posed a question to Suresh (see below), and he asked me to put this question 
on the dev list.
So here it is. I will be grateful for any comments about the issues you all are 
facing, and what has come up in trying this, as
It seems likely that this is a much simpler problem in concept than it is in 
practice, but its solution has many benefits.

Here is my question:
A group of us have been discussing how we might simplify submitting jobs to 
different compute resources in our current implementation of CIPRES, and how 
cloud computing might facilitate this. But none of us are cloud experts. As I 
understand it, the mesos cluster that I have been seeing in the Airavata email 
threads is intended to make it possible to deploy jobs to multiple virtual 
clusters. I am (we are) wondering if Mesos manages submissions to identical 
virtual clusters on multiple machines, and if that works efficiently.

In our implementation, we have to change the rules to run efficiently on 
different machines, according to gpu availability, and cores per node. I am 
wondering how Mesos/ virtual clusters affect those considerations.
Can mesos create basically identical virtual clusters independent of machine?

Thanks for any advice.

Mark






Reply via email to