You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@mesos.apache.org by Tobias Knaup <to...@knaup.me> on 2014/03/20 15:57:59 UTC

Load simulator/benchmark tool

Hi all,

We started working on a load simulator/benchmark tool for Mesos. The idea
is to use this tool to simulate typical workloads in a reproducible way so
we can test different scheduling algorithms, reservations, etc. Would love
to hear what you think, and see contributions of course :)
https://github.com/mesosphere/mesosaurus

Cheers,

Tobi

Re: Load simulator/benchmark tool

Posted by Benjamin Mahler <be...@gmail.com>.
Jie recently pointed me to the Sparrow talk:
http://www.youtube.com/watch?v=A4k0WqjUY9A

In light of the concerns over the latency penalty of centralized scheduler
systems, it would be awesome to measure task / update / message latencies
when dealing with very large clusters. Does mesosaurus aim to provide such
end-to-end latency metrics?

On Thu, Mar 20, 2014 at 7:57 AM, Tobias Knaup <to...@knaup.me> wrote:

> Hi all,
>
> We started working on a load simulator/benchmark tool for Mesos. The idea
> is to use this tool to simulate typical workloads in a reproducible way so
> we can test different scheduling algorithms, reservations, etc. Would love
> to hear what you think, and see contributions of course :)
> https://github.com/mesosphere/mesosaurus
>
> Cheers,
>
> Tobi
>

Re: Load simulator/benchmark tool

Posted by Sharma Podila <sp...@netflix.com>.
Ah, yes, that works too. The slaves/meta-slaves then simulate the running
of the tasks. Such a meta-slave would be useful within Mesosaurus.
In general, Mesosaurus sounds like a very useful tool. I had developed a
similar tool at a prior job and we had tuned scheduling algorithms, SLA
policies, and runtime configurations for large scale environments. It helps
build confidence in replacing the scheduler in a running cluster.


On Fri, Mar 21, 2014 at 3:17 PM, Benjamin Mahler
<be...@gmail.com>wrote:

> You can run N slaves on one machine, or you can run meta-slaves (slaves
> within slaves). We've used meta-slaves in the past to run scaling
> simulations as it is more accurate and easier than stubbing out the task
> launching.
>
>
> On Fri, Mar 21, 2014 at 12:55 PM, Sharma Podila <sp...@netflix.com>wrote:
>
>> Am I interpreting things right that in order to simulate/benchmark
>> scheduling algorithms working in, say, a 100-slave cluster, although this
>> tool generates the jobs, the slaves need to actually exist and run the
>> tasks (I see there is mesosaurus / task /mesosaurus-task.cpp)? If so, have
>> you considered "stub"ing out Mesos' launching of tasks such that launched
>> tasks don't need to physically run? This could allow
>> simulating/benchmarking arbitrary size clusters since scheduling algorithms
>> don't need tasks to run physically. The scheduler just needs to be told
>> when tasks finish.
>>
>> Sharma
>>
>>
>> On Thu, Mar 20, 2014 at 7:57 AM, Tobias Knaup <to...@knaup.me> wrote:
>>
>>> Hi all,
>>>
>>> We started working on a load simulator/benchmark tool for Mesos. The
>>> idea is to use this tool to simulate typical workloads in a reproducible
>>> way so we can test different scheduling algorithms, reservations, etc.
>>> Would love to hear what you think, and see contributions of course :)
>>> https://github.com/mesosphere/mesosaurus
>>>
>>> Cheers,
>>>
>>> Tobi
>>>
>>
>>
>

Re: Load simulator/benchmark tool

Posted by Sharma Podila <sp...@netflix.com>.
Ah, yes, that works too. The slaves/meta-slaves then simulate the running
of the tasks. Such a meta-slave would be useful within Mesosaurus.
In general, Mesosaurus sounds like a very useful tool. I had developed a
similar tool at a prior job and we had tuned scheduling algorithms, SLA
policies, and runtime configurations for large scale environments. It helps
build confidence in replacing the scheduler in a running cluster.


On Fri, Mar 21, 2014 at 3:17 PM, Benjamin Mahler
<be...@gmail.com>wrote:

> You can run N slaves on one machine, or you can run meta-slaves (slaves
> within slaves). We've used meta-slaves in the past to run scaling
> simulations as it is more accurate and easier than stubbing out the task
> launching.
>
>
> On Fri, Mar 21, 2014 at 12:55 PM, Sharma Podila <sp...@netflix.com>wrote:
>
>> Am I interpreting things right that in order to simulate/benchmark
>> scheduling algorithms working in, say, a 100-slave cluster, although this
>> tool generates the jobs, the slaves need to actually exist and run the
>> tasks (I see there is mesosaurus / task /mesosaurus-task.cpp)? If so, have
>> you considered "stub"ing out Mesos' launching of tasks such that launched
>> tasks don't need to physically run? This could allow
>> simulating/benchmarking arbitrary size clusters since scheduling algorithms
>> don't need tasks to run physically. The scheduler just needs to be told
>> when tasks finish.
>>
>> Sharma
>>
>>
>> On Thu, Mar 20, 2014 at 7:57 AM, Tobias Knaup <to...@knaup.me> wrote:
>>
>>> Hi all,
>>>
>>> We started working on a load simulator/benchmark tool for Mesos. The
>>> idea is to use this tool to simulate typical workloads in a reproducible
>>> way so we can test different scheduling algorithms, reservations, etc.
>>> Would love to hear what you think, and see contributions of course :)
>>> https://github.com/mesosphere/mesosaurus
>>>
>>> Cheers,
>>>
>>> Tobi
>>>
>>
>>
>

Re: Load simulator/benchmark tool

Posted by Benjamin Mahler <be...@gmail.com>.
You can run N slaves on one machine, or you can run meta-slaves (slaves
within slaves). We've used meta-slaves in the past to run scaling
simulations as it is more accurate and easier than stubbing out the task
launching.


On Fri, Mar 21, 2014 at 12:55 PM, Sharma Podila <sp...@netflix.com> wrote:

> Am I interpreting things right that in order to simulate/benchmark
> scheduling algorithms working in, say, a 100-slave cluster, although this
> tool generates the jobs, the slaves need to actually exist and run the
> tasks (I see there is mesosaurus / task /mesosaurus-task.cpp)? If so, have
> you considered "stub"ing out Mesos' launching of tasks such that launched
> tasks don't need to physically run? This could allow
> simulating/benchmarking arbitrary size clusters since scheduling algorithms
> don't need tasks to run physically. The scheduler just needs to be told
> when tasks finish.
>
> Sharma
>
>
> On Thu, Mar 20, 2014 at 7:57 AM, Tobias Knaup <to...@knaup.me> wrote:
>
>> Hi all,
>>
>> We started working on a load simulator/benchmark tool for Mesos. The idea
>> is to use this tool to simulate typical workloads in a reproducible way so
>> we can test different scheduling algorithms, reservations, etc. Would love
>> to hear what you think, and see contributions of course :)
>> https://github.com/mesosphere/mesosaurus
>>
>> Cheers,
>>
>> Tobi
>>
>
>

Re: Load simulator/benchmark tool

Posted by Benjamin Mahler <be...@gmail.com>.
You can run N slaves on one machine, or you can run meta-slaves (slaves
within slaves). We've used meta-slaves in the past to run scaling
simulations as it is more accurate and easier than stubbing out the task
launching.


On Fri, Mar 21, 2014 at 12:55 PM, Sharma Podila <sp...@netflix.com> wrote:

> Am I interpreting things right that in order to simulate/benchmark
> scheduling algorithms working in, say, a 100-slave cluster, although this
> tool generates the jobs, the slaves need to actually exist and run the
> tasks (I see there is mesosaurus / task /mesosaurus-task.cpp)? If so, have
> you considered "stub"ing out Mesos' launching of tasks such that launched
> tasks don't need to physically run? This could allow
> simulating/benchmarking arbitrary size clusters since scheduling algorithms
> don't need tasks to run physically. The scheduler just needs to be told
> when tasks finish.
>
> Sharma
>
>
> On Thu, Mar 20, 2014 at 7:57 AM, Tobias Knaup <to...@knaup.me> wrote:
>
>> Hi all,
>>
>> We started working on a load simulator/benchmark tool for Mesos. The idea
>> is to use this tool to simulate typical workloads in a reproducible way so
>> we can test different scheduling algorithms, reservations, etc. Would love
>> to hear what you think, and see contributions of course :)
>> https://github.com/mesosphere/mesosaurus
>>
>> Cheers,
>>
>> Tobi
>>
>
>

Re: Load simulator/benchmark tool

Posted by Sharma Podila <sp...@netflix.com>.
Am I interpreting things right that in order to simulate/benchmark
scheduling algorithms working in, say, a 100-slave cluster, although this
tool generates the jobs, the slaves need to actually exist and run the
tasks (I see there is mesosaurus / task /mesosaurus-task.cpp)? If so, have
you considered "stub"ing out Mesos' launching of tasks such that launched
tasks don't need to physically run? This could allow
simulating/benchmarking arbitrary size clusters since scheduling algorithms
don't need tasks to run physically. The scheduler just needs to be told
when tasks finish.

Sharma


On Thu, Mar 20, 2014 at 7:57 AM, Tobias Knaup <to...@knaup.me> wrote:

> Hi all,
>
> We started working on a load simulator/benchmark tool for Mesos. The idea
> is to use this tool to simulate typical workloads in a reproducible way so
> we can test different scheduling algorithms, reservations, etc. Would love
> to hear what you think, and see contributions of course :)
> https://github.com/mesosphere/mesosaurus
>
> Cheers,
>
> Tobi
>

Re: Load simulator/benchmark tool

Posted by Benjamin Mahler <be...@gmail.com>.
Jie recently pointed me to the Sparrow talk:
http://www.youtube.com/watch?v=A4k0WqjUY9A

In light of the concerns over the latency penalty of centralized scheduler
systems, it would be awesome to measure task / update / message latencies
when dealing with very large clusters. Does mesosaurus aim to provide such
end-to-end latency metrics?

On Thu, Mar 20, 2014 at 7:57 AM, Tobias Knaup <to...@knaup.me> wrote:

> Hi all,
>
> We started working on a load simulator/benchmark tool for Mesos. The idea
> is to use this tool to simulate typical workloads in a reproducible way so
> we can test different scheduling algorithms, reservations, etc. Would love
> to hear what you think, and see contributions of course :)
> https://github.com/mesosphere/mesosaurus
>
> Cheers,
>
> Tobi
>

Re: Load simulator/benchmark tool

Posted by Benjamin Hindman <be...@eecs.berkeley.edu>.
Great to see this!

MESOS-971 is more about benchmarking individual components of Mesos itself.


On Thu, Mar 20, 2014 at 8:55 AM, Bernd Mathiske <be...@mesosphere.io> wrote:

> Maybe it's related to MESOS-971 ("Add a benchmark tool")? I left a comment
> there pointing to Mesosaurus.
>
> On Mar 20, 2014, at 7:57 AM, Tobias Knaup <to...@knaup.me> wrote:
>
> > Hi all,
> >
> > We started working on a load simulator/benchmark tool for Mesos. The idea
> > is to use this tool to simulate typical workloads in a reproducible way
> so
> > we can test different scheduling algorithms, reservations, etc. Would
> love
> > to hear what you think, and see contributions of course :)
> > https://github.com/mesosphere/mesosaurus
> >
> > Cheers,
> >
> > Tobi
>
>

Re: Load simulator/benchmark tool

Posted by Benjamin Hindman <be...@eecs.berkeley.edu>.
Great to see this!

MESOS-971 is more about benchmarking individual components of Mesos itself.


On Thu, Mar 20, 2014 at 8:55 AM, Bernd Mathiske <be...@mesosphere.io> wrote:

> Maybe it's related to MESOS-971 ("Add a benchmark tool")? I left a comment
> there pointing to Mesosaurus.
>
> On Mar 20, 2014, at 7:57 AM, Tobias Knaup <to...@knaup.me> wrote:
>
> > Hi all,
> >
> > We started working on a load simulator/benchmark tool for Mesos. The idea
> > is to use this tool to simulate typical workloads in a reproducible way
> so
> > we can test different scheduling algorithms, reservations, etc. Would
> love
> > to hear what you think, and see contributions of course :)
> > https://github.com/mesosphere/mesosaurus
> >
> > Cheers,
> >
> > Tobi
>
>

Re: Load simulator/benchmark tool

Posted by Bernd Mathiske <be...@mesosphere.io>.
Maybe it’s related to MESOS-971 (“Add a benchmark tool")? I left a comment there pointing to Mesosaurus.

On Mar 20, 2014, at 7:57 AM, Tobias Knaup <to...@knaup.me> wrote:

> Hi all,
> 
> We started working on a load simulator/benchmark tool for Mesos. The idea
> is to use this tool to simulate typical workloads in a reproducible way so
> we can test different scheduling algorithms, reservations, etc. Would love
> to hear what you think, and see contributions of course :)
> https://github.com/mesosphere/mesosaurus
> 
> Cheers,
> 
> Tobi