I have a question about how Mesos manages resources (and then some follow-up questions as well). I will use the power of story time to explain my question.
Say we have a Mesos node. The physical node is running Ubuntu, and from a hardware perspective, it's a E3-1240V2 Intel Processor with 4 physical cores, 32 GB of ram and total disk space of 64 GB. This disk is split into two partitions of 14 GB (3.1 GB Free) and 40 GB (12 GB Free) When I see this node registered as a mesos slave, here is what is reported: CPUs: 8 Memory: 30.4GB Disk 8.6 GB So this is where I would like to further my understanding of Mesos. How does it see and manage resources? 1. Obviously the Ubuntu OS takes resources. How does that factor into Mesos' available resource calculations? Where does these calculations even come from (I can't see how 8.6 GB is my available disk on a node). It obviously shows hyperthreaded cores, not physical cores, and doesn't reserve any cores for OS use, but based on the memory total, is it reserving memory or is that a GB math discrepancy? 2. Does Mesos continually update available resources to take into account resources that are not managed by Mesos? IE. If the node registered with 30.4 GB available memory, and then an hour later some process not managed by mesos take another GB of memory, is Mesos aware of that? Or will Mesos try to give resources away that it may not control and may not exist? What happens if that occurs? 3. Can you tell Mesos Slaves, when they start, to only take X resources? I.e. let's say you were running HDFS or MapRFS outside of Mesos on every node, you wanted to allocate 10% of memory always to that, can you tell Mesos to not give away resources that are statically assigned for something else? Obviously the idea here is to allow Mesos to manage it all, but somethings like MapRFS really need direct access to disks etc. Perhaps it's already doing that to take into account the OS on the box? 4. Has anyone thought of coming up with a smallish linux distro designed to minimize non Mesos resource usage (OS usage). Basically the minimum to allow Mesos and Docker to run on a node, with the idea that all else should be in Mesos. (Not taking into account my HDFS/MapRFS question). Lots weird questions here, I understand, please feel free to point me in the right direction on docs for how to understand some of this, that said, if you know specifics, please share! John

