Hi Wassim,

It's definitely possible to get the image size of MirageOS builds down from 
where they are right now.  As background, there are two ways to build unikernel 
images:

- Native code compilation: this generates fast x86_64/ARM unikernels that link 
against the OCaml 'libasmrun' runtime to run as native executables.  In this 
mode, touching a single module will link the whole thing in, even if only one 
function is used.  Thus, as modules grow, the hello world library size also 
grows.

- Bytecode compilation: this generates portable bytecode that is interpreted by 
the 'ocamlrun' or 'libcamlrun' runtime.  There exists a utility called 
'ocamlclean' that does dead-code elimination that eliminates all unused 
functions: https://github.com/avsm/ocamlclean.  This is how we got our sub-300k 
unikernels for DNS.

Now, we need to do a little work to get these back.  Either a native code 
ocamlclean, or add a bytecode backend to the latest MirageOS (which is native 
code only).  I suspect the easiest path is to build the bytecode backend in 
again, and then get ocamlclean working with the latest OCaml (shouldnt be 
hard), and then investigate a native code ocamlclean as a Pioneer Project.

regards,
Anil

> On 18 Nov 2015, at 23:05, Amir Chaudhry <[email protected]> wrote:
> 
> Hello Wassim,
> 
> There are likely further things that can be done to reduce image size but I’m 
> not sure of the status of that work.  It might be time to revisit some of 
> that to see where it stands.
> 
> If you add an agenda item to the next MirageOS call (and join the call too) 
> [1], then we can remember to discuss it!
> 
> [1] https://github.com/mirage/mirage-www/wiki/Call-Agenda
> 
> Best wishes,
> Amir
> 
>> On 13 Nov 2015, at 22:05, Wassim Haddad <[email protected]> wrote:
>> 
>> Dear colleagues,
>> 
>> A question please about the size of unikernel images:
>> 
>> I built mirage console "hello world" and the stripped disk image size is 3.2 
>> MBytes. The runtime memory required to run the image is ~ 9 MBytes. Is it 
>> possible to reduce futher the memory footprint?
>> 
>> 
>> Thanks much!
>> 
>> Wassim H.
>> _______________________________________________
>> MirageOS-devel mailing list
>> [email protected]
>> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
> 
> 
> _______________________________________________
> MirageOS-devel mailing list
> [email protected]
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


_______________________________________________
MirageOS-devel mailing list
[email protected]
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

Reply via email to