On Thursday, June 11, 2020 at 2:25:06 AM UTC-4 Pekka Enberg wrote:

> Hi Dor,
>
> On Thu, Jun 11, 2020 at 8:21 AM Dor Laor <[email protected]> wrote:
>
>> Waldek, can you please describe what's your motivation in shrinking
>> the size of the kernel? Compared for example to modern RAM and also
>> to the JVM that many times will be there, the current size is already
>> 'small enough', isn't it?
>>
>
> Not necessarily if the lifetime of a VM is in the order of, say, hundreds 
> of milliseconds.
>
> My understanding is that these extreme optimizations to reduce size are 
> motivated by the emergence of light-weight VMs, which allow cloud providers 
> to launch VMs on-demand for a group of service requests. This allows them 
> to more efficiently utilize the hardware because an idle VM still consumes 
> some resources. And in any case, smaller image size anyway means shorter 
> boot time and more packing of VMs per node.
>
Exactly. The density is the main motivation. But also somewhat better 
security - the app has only access to (in terms of the dynamic linker at 
least) to the subset of libc so at least in theory it should not be able to 
do anything else than advertised per its ELF.  

With the kernel of size 2.7M we can run hello app on OSv with 11M memory 
only (~5MB less) and boot 1-2ms faster - now I pretty consistently get boot 
times of ~4ms on firecracker (20-30% faster). 

Another advantage is that there are fewer symbols in the kernel the dynamic 
linker has to search to resolve. I know it uses a hashmap that makes things 
pretty fast already but still smaller the hashmap with smaller buckets the 
faster lookup should be. 

Finally, whatever mechanism to build custom kernels is, it should also 
account for the usage of syscall instruction and properly eliminate stuff 
from linux.cc so that the linker can garbage collect even better.

>
> - Pekka
>

-- 
You received this message because you are subscribed to the Google Groups "OSv 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/osv-dev/1af0216b-a783-47d5-972c-6ea3d5eb262an%40googlegroups.com.

Reply via email to