Hi all,

We are a system research group from UCLA focusing on managed runtimes. We 
have some experience in kernel/JVM codesign. In our last project we 
modified Linux kernel to expose virtual memory subsystem to JVM to improve 
its GC performance under resource disaggregated datacenters. It will be 
subimitted to OSDI this year. 

Recently we've been looking for new directions. One of the ideas is to 
merge JVM and kernel together, so that kernel can expose more system 
information (e.g., memory usage and layout, scheduling, network stack) to 
JVM. Some potential benefits may include better Java application 
performance, better GC performance, faster bootstrapping time, etc.  The 
main target will be serverless functions (e.g., AWS Lambda) where most 
tasks are short lived function invocations. A slow start of JVM is 
prohibitive. An insight is that both the guest OS and JVM are virtual 
machines essentially, a lot of language and security checks in JVM may be 
redundant given that the guest OS is already well isolated. Memory 
allocation and reclaim may also work better since OS can see semantic 
information of memory pages. So our first try will be making JVM and kernel 
share the same memory management subsystem.

For the new project, I am doing preliminary experiments to collect 
performance numbers and estimate potential benefits of the design. OSv is a 
very interesting and promising kernel that we'd like to dig more. Its boot 
time is blazing fast with Firecracker. I also saw from the original ATC 
paper and source code that it has a JVM ballooning mechanism. But I didn't 
see how it could work with unmodified JVM. In addition, if I want to 
compile both OSv and OpenJDK together from source into a single bootable 
image, is there any solutions or resources? I didn't see such documentation 
in OSv's github wiki.

I know that OSv is designed to support arbitrary unmodifed Linux binaries. 
So our idea diverges from OSv's goal. But given the popularity of FaaS and 
microservices, a dedicated bootable JVM worths a try. Or we may later find 
some low-intrusive disign that doesn't conflict with OSv's goal.

I know that academic projects often sound unrealistic and not get concerned 
by open source communities and industrial level projects. But I'd like to 
hear your opionions and ideas in this design.

Thanks,
Yuanqi

-- 
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/d636edd3-ca49-4858-8e47-ae85011549f4%40googlegroups.com.

Reply via email to