[prev in list] [next in list] [prev in thread] [next in thread] 

List:       mesos-user
Subject:    Re: Compiling Slave on Windows
From:       Alexandre Mclean <alexandre.mclean () gmail ! com>
Date:       2015-02-20 21:10:31
Message-ID: CA+tYMhVef3ty0cnHpxt4SGnEzLrxN9GUNpkobi8FXTMsF=CUyg () mail ! gmail ! com
[Download RAW message or body]

In that case, is it possible to make a stripped down Slave implementation
that only does the minimum to interact with the Master to relay the
resources and tasks?

I'm not sure I understand fully the complete responsibilities of the Slave
and how the Master sees it.

On Fri, Feb 20, 2015 at 3:49 PM, Timothy Chen <tim@mesosphere.io> wrote:

> Hi Alexandre,
>
> That seems reasonable, for Mesos requirement standpoint a slave minimal
> needs to be able to recieve and send HTTP messages to executor.
>
> There are other wants from a containerizer standpoint such as logging,
> isolation, updating limits, etc. But not everything is a hard requirement.
>
> Tim
>
> On Feb 20, 2015, at 12:30 PM, Alexandre Mclean <alexandre.mclean@gmail.com>
> wrote:
>
> Hi Tim,
> if we're operating in a cloud base environment (OpenStack), would that
> mean we could run this containerizer on the hypervisor host, or anywhere
> else, and manage remotely the executors inside Windows cloud instances?
>
> On Fri, Feb 20, 2015 at 3:14 PM, Tim Chen <tim@mesosphere.io> wrote:
>
>> Hi Alexandre,
>>
>> Porting the slave will not be straightforward since it inherently was
>> operating with the assumption of a unix based system throughout.
>>
>> What is much easier to accomplish, is to provide a containerizer in Mesos
>> that can manage VMs, which can then spawn Windows based VMs. This does has
>> higher perf hit than containers ofcourse.
>>
>> Tim
>>
>> On Fri, Feb 20, 2015 at 11:43 AM, Alexandre Mclean <
>> alexandre.mclean@gmail.com> wrote:
>>
>>> Hi James,
>>> I agree this is a compelling feature, but it might not be an absolute
>>> requirement for many use cases.
>>>
>>> We're evaluating Mesos to build custom frameworks for distributed
>>> computation that needs to be cross-platform (Windows mainly), where some
>>> tasks would be oriented for video rendering (e.g render farm, like many
>>> existing commercial solutions). This is pretty popular in the Entertainment
>>> industry, like video games.
>>>
>>> We'd be willing to sacrifice that isolation and just be able to build a
>>> job distribution framework on top of Mesos.
>>>
>>> Also, correct me if I'm wrong but Slaves can already run on OSX which
>>> has no support for cgroups.
>>>
>>> I'm curious to know if anyone tried this before and what are the
>>> blocking issues to port the Slave component.
>>>
>>> Otherwise, maybe someone can propose an alternative approach to
>>> accomplish this.
>>>
>>> Many thanks
>>>
>>>
>>>
>>>
>>>
>>> On Fri, Feb 20, 2015 at 2:26 PM, James DeFelice <
>>> james.defelice@gmail.com> wrote:
>>>
>>>> One of the major, compelling cases for using mesos is the resource
>>>> partitioning and isolation between process groups that slave containerizers
>>>> manage. And that, of course, OS containers are lightweight and low-overhead.
>>>>
>>>> Windows has a ways to go here. You can read about Drawbridge, or even
>>>> the latest speculation re: Docker+Windows Server integration and what that
>>>> might look like.
>>>>
>>>> On Fri, Feb 20, 2015 at 12:17 AM, Alexandre Mclean <
>>>> alexandre.mclean@gmail.com> wrote:
>>>>
>>>>> Hi everyone,
>>>>> what are the current limitations to make the Slave work on a Windows
>>>>> platform?
>>>>>
>>>>> Would it be possible to extract the slave component from the main
>>>>> Mesos codebase and compile it on Windows?
>>>>>
>>>>> Also, could we have a pure implementation of the Slave that wouldn't
>>>>> depend on libmesos, like we do for the newest bindings like mesos-go? Does
>>>>> it even make sense to want this?
>>>>>
>>>>> --
>>>>> Alexandre
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> James DeFelice
>>>> 585.241.9488 (voice)
>>>> 650.649.6071 (fax)
>>>>
>>>
>>>
>>>
>>> --
>>> Alexandre
>>>
>>
>>
>
>
> --
> Alexandre
>
>


-- 
Alexandre

[Attachment #3 (text/html)]

<div dir="ltr">In that case, is it possible to make a stripped down Slave \
implementation that only does the minimum to interact with the Master to relay the \
resources and tasks?<div><br></div><div>I&#39;m not sure I understand fully the \
complete responsibilities of the Slave and how the Master sees it.</div></div><div \
class="gmail_extra"><br><div class="gmail_quote">On Fri, Feb 20, 2015 at 3:49 PM, \
Timothy Chen <span dir="ltr">&lt;<a href="mailto:tim@mesosphere.io" \
target="_blank">tim@mesosphere.io</a>&gt;</span> wrote:<br><blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"><div dir="auto"><div>Hi \
Alexandre,</div><div><br></div><div>That seems reasonable, for Mesos requirement \
standpoint a slave minimal needs to be able to recieve and send HTTP messages to \
executor.</div><div><br></div><div>There are other wants from a containerizer \
standpoint such as logging, isolation, updating limits, etc. But not everything is a \
hard requirement.</div><div><br></div><div>Tim</div><div><br>On Feb 20, 2015, at \
12:30 PM, Alexandre Mclean &lt;<a href="mailto:alexandre.mclean@gmail.com" \
target="_blank">alexandre.mclean@gmail.com</a>&gt; wrote:<br><br></div><blockquote \
type="cite"><div><div dir="ltr">Hi Tim,<div>if we&#39;re operating in a cloud base \
environment (OpenStack), would that mean we could run this containerizer on the \
hypervisor host, or anywhere else, and manage remotely the executors inside Windows \
cloud instances?</div></div><div class="gmail_extra"><br><div class="gmail_quote">On \
Fri, Feb 20, 2015 at 3:14 PM, Tim Chen <span dir="ltr">&lt;<a \
href="mailto:tim@mesosphere.io" target="_blank">tim@mesosphere.io</a>&gt;</span> \
wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px \
#ccc solid;padding-left:1ex"><div dir="ltr">Hi Alexandre,<div><br></div><div>Porting \
the slave will not be straightforward since it inherently was operating with the \
assumption of a unix based system throughout.  </div><div><br></div><div>What is much \
easier to accomplish, is to provide a containerizer in Mesos that can manage VMs, \
which can then spawn Windows based VMs. This does has higher perf hit than containers \
ofcourse.</div><span><font \
color="#888888"><div><br></div><div>Tim</div></font></span></div><div><div><div \
class="gmail_extra"><br><div class="gmail_quote">On Fri, Feb 20, 2015 at 11:43 AM, \
Alexandre Mclean <span dir="ltr">&lt;<a href="mailto:alexandre.mclean@gmail.com" \
target="_blank">alexandre.mclean@gmail.com</a>&gt;</span> wrote:<br><blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"><div dir="ltr">Hi James,<div>I agree this is a compelling \
feature, but it might not be an absolute requirement for many use \
cases.</div><div><br></div><div>We&#39;re evaluating Mesos to build custom frameworks \
for distributed computation that needs to be cross-platform (Windows mainly), where \
some tasks would be oriented for video rendering (e.g render farm, like many existing \
commercial solutions). This is pretty popular in the Entertainment industry, like \
video games.</div><div><br></div><div>We&#39;d be willing to sacrifice that isolation \
and just be able to build a job distribution framework on top of \
Mesos.<br></div><div><br></div><div>Also, correct me if I&#39;m wrong but Slaves can \
already run on OSX which has no support for cgroups.  \
</div><div><br></div><div>I&#39;m curious to know if anyone tried this before and \
what are the blocking issues to port the Slave \
component.</div><div><br></div><div>Otherwise, maybe someone can propose an \
alternative approach to accomplish this.</div><div><br></div><div>Many \
thanks</div><div><br></div><div><br></div><div><br></div><div><br></div></div><div \
class="gmail_extra"><div><div><br><div class="gmail_quote">On Fri, Feb 20, 2015 at \
2:26 PM, James DeFelice <span dir="ltr">&lt;<a href="mailto:james.defelice@gmail.com" \
target="_blank">james.defelice@gmail.com</a>&gt;</span> wrote:<br><blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"><div dir="ltr">One of the major, compelling cases for using \
mesos is the resource partitioning and isolation between process groups that slave \
containerizers manage. And that, of course, OS containers are lightweight and \
low-overhead.<div><br></div><div>Windows has a ways to go here. You can read about \
Drawbridge, or even the latest speculation re: Docker+Windows Server integration and \
what that might look like.</div></div><div class="gmail_extra"><div><div><br><div \
class="gmail_quote">On Fri, Feb 20, 2015 at 12:17 AM, Alexandre Mclean <span \
dir="ltr">&lt;<a href="mailto:alexandre.mclean@gmail.com" \
target="_blank">alexandre.mclean@gmail.com</a>&gt;</span> wrote:<br><blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"><div dir="ltr">Hi everyone,<div>what are the current \
limitations to make the Slave work on a Windows \
platform?</div><div><br></div><div>Would it be possible to extract the slave \
component from the main Mesos codebase and compile it on \
Windows?</div><div><br></div><div>Also, could we have a pure implementation of the \
Slave that wouldn&#39;t depend on libmesos, like we do for the newest bindings like \
mesos-go? Does it even make sense to want this?</div><span><font \
color="#888888"><div><br></div><div>-- <br><div>Alexandre</div> \
</div></font></span></div> </blockquote></div><br><br \
clear="all"><div><br></div></div></div><span><font color="#888888">-- <br><div>James \
DeFelice<br><a href="tel:585.241.9488" value="+15852419488" \
target="_blank">585.241.9488</a> (voice)<br><a href="tel:650.649.6071" \
value="+16506496071" target="_blank">650.649.6071</a> (fax)</div> \
</font></span></div> </blockquote></div><br><br clear="all"><span \
class="HOEnZb"><font color="#888888"><div><br></div></font></span></div></div><span \
class="HOEnZb"><font color="#888888"><span><font color="#888888">-- \
<br><div>Alexandre</div> </font></span></font></span></div><span class="HOEnZb"><font \
color="#888888"> </font></span></blockquote></div><span class="HOEnZb"><font \
color="#888888"><br></font></span></div><span class="HOEnZb"><font color="#888888"> \
</font></span></div></div></blockquote></div><span class="HOEnZb"><font \
color="#888888"><br><br clear="all"><div><br></div>-- <br><div>Alexandre</div> \
</font></span></div> </div></blockquote></div></blockquote></div><br><br \
clear="all"><div><br></div>-- <br><div class="gmail_signature">Alexandre</div> </div>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic