Hi Clarke, Yes, you are right, the mesos is now using 1024 * CPUS as cpushare, you can refer to https://github.com/apache/mesos/blob/master/src/docker/docker.cpp#L394 for detail.
Regarding to cpus, I think that by default the container have same number of cores/cpus as the docker server, not sure if you can adjust your task based on the cpu/core number on the docker server. Thanks, Guangya On Wed, Sep 23, 2015 at 11:02 PM, Clarke, Trevor <[email protected]> wrote: > I think you misunderstand. I'm not looking to change the container > resource allocation, I'm looking to have the program in the container make > adjustments (changing static buffer allocations based on memory limits or > adjusting the number of threads based on cpu allocation). But I need a way > to communicate the resource limits to the app in the container. > > > ------------------------------ > *From:* haosdent [[email protected]] > *Sent:* Wednesday, September 23, 2015 10:56 AM > *To:* [email protected] > *Subject:* RE: how does resource allocation work with docker? > > >Is there a way for a process in the docker container to determine how > many cpus it has been allocated? > Because docker limit the resource before start the container, I think > there isn't a way to change container resource usage after it has already > run. You only could allocate resource before launch a container so far. > On Sep 23, 2015 10:31 PM, "Clarke, Trevor" <[email protected]> wrote: > >> That's just the scheduler...I did locate the appropriate docker run call >> and it appears that mesos cpu offer * 1024 is used as the cpu share so >> there's no hard enforcement of total cpus but the scheduler block is scaled >> to the number of requested cpus. It also appears there's no way to >> determine the cpu share from within docker without explicitly passing an >> environment variable, etc. >> ------------------------------ >> *From:* Guangya Liu [[email protected]] >> *Sent:* Wednesday, September 23, 2015 9:41 AM >> *To:* [email protected] >> *Subject:* Re: how does resource allocation work with docker? >> >> Hi Clarke, >> >> You can take a look at the framework for docker here >> https://github.com/apache/mesos/blob/master/src/examples/docker_no_executor_framework.cpp >> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apache_mesos_blob_master_src_examples_docker-5Fno-5Fexecutor-5Fframework.cpp&d=AwMFaQ&c=jF7FvYH6t0RX1HrEjVCgHQ&r=BZAdW7eZ7BA-TVm8CsncxQ&m=myFl_koVz_iyPrvAE5EQBW4Cmn4ocS6C5KCd07WzvjA&s=PWUrWtXV7HgaC4GxJ0HstRpy_b9dqvCptTljtTzQrx0&e=> >> >> All of the resource limitations for a docker task should be defined in >> the framework. >> >> Thanks, >> >> Guangya >> >> On Wed, Sep 23, 2015 at 9:33 PM, Clarke, Trevor <[email protected]> wrote: >> >>> When a framework accepts an offer and starts a docker task, how does >>> mesos enforce the task's allocated cpus? Is CPU share used and scaled >>> appropriately? Are cpu sets explicitly specified to limit execution to the >>> allocated cpus? Is there a way for a process in the docker container to >>> determine how many cpus it has been allocated? (so it can adjust fan-out >>> size, etc. for optimal execution) >>> >>> >>> This message and any enclosures are intended only for the addressee. >>> Please >>> notify the sender by email if you are not the intended recipient. If you >>> are >>> not the intended recipient, you may not use, copy, disclose, or >>> distribute this >>> message or its contents or enclosures to any other person and any such >>> actions >>> may be unlawful. Ball reserves the right to monitor and review all >>> messages >>> and enclosures sent to or from this email address. >>> >> >> >> >> This message and any enclosures are intended only for the addressee. >> Please >> notify the sender by email if you are not the intended recipient. If you >> are >> not the intended recipient, you may not use, copy, disclose, or >> distribute this >> message or its contents or enclosures to any other person and any such >> actions >> may be unlawful. Ball reserves the right to monitor and review all >> messages >> and enclosures sent to or from this email address. >> > > > This message and any enclosures are intended only for the addressee. > Please > notify the sender by email if you are not the intended recipient. If you > are > not the intended recipient, you may not use, copy, disclose, or distribute > this > message or its contents or enclosures to any other person and any such > actions > may be unlawful. Ball reserves the right to monitor and review all > messages > and enclosures sent to or from this email address. >

