Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

can lkl based app run on vm #535

Open
qsmen opened this issue Dec 13, 2023 · 4 comments
Open

can lkl based app run on vm #535

qsmen opened this issue Dec 13, 2023 · 4 comments

Comments

@qsmen
Copy link

qsmen commented Dec 13, 2023

Hi,
unikernel (App based on libos) can run on a VM without os. Can the app based on lkl run on vm without os too? if not, I choose to compile the app in its targeted enviroment. i.e, if it runs in linux , i compile it in linux.
I want to use lkl to compile a single address space app.
Thank you.
qsmen

@fish4terrisa-MSDSM
Copy link

Hi, unikernel (App based on libos) can run on a VM without os. Can the app based on lkl run on vm without os too? if not, I choose to compile the app in its targeted enviroment. i.e, if it runs in linux , i compile it in linux. I want to use lkl to compile a single address space app. Thank you. qsmen

It runs on linux and some other platforms(mainly linux)

@qsmen
Copy link
Author

qsmen commented Dec 14, 2023

Hi, unikernel (App based on libos) can run on a VM without os. Can the app based on lkl run on vm without os too? if not, I choose to compile the app in its targeted enviroment. i.e, if it runs in linux , i compile it in linux. I want to use lkl to compile a single address space app. Thank you. qsmen

It runs on linux and some other platforms(mainly linux)

I see. Thank you.
It is said that "LKL can run in any environment, as long as the environment provides a few basic primitives" in the paper lkl. My questions are:
1).what are the few primitives? just the io syscalls supported by VMM?
2). If so, a VMM already implemented the few primitives, can the lkl-based app run in a VM?
3).and is the linked lkl-based app similar to the concept of unikernel? That is, the app is selfcontained except io syscall.

@fish4terrisa-MSDSM
Copy link

fish4terrisa-MSDSM commented Dec 14, 2023

Hi, unikernel (App based on libos) can run on a VM without os. Can the app based on lkl run on vm without os too? if not, I choose to compile the app in its targeted enviroment. i.e, if it runs in linux , i compile it in linux. I want to use lkl to compile a single address space app. Thank you. qsmen

It runs on linux and some other platforms(mainly linux)

I see. Thank you. It is said that "LKL can run in any environment, as long as the environment provides a few basic primitives" in the paper lkl. My questions are: 1).what are the few primitives? just the io syscalls supported by VMM? 2). If so, a VMM already implemented the few primitives, can the lkl-based app run in a VM? 3).and is the linked lkl-based app similar to the concept of unikernel? That is, the app is selfcontained except io syscall.

I don't know much about 1) and 2). However, lkl is like a unikernel, but nearly all its syscall is selfcontained(However, host syscall can be called indirectly.

@thehajime
Copy link
Member

1).what are the few primitives? just the io syscalls supported by VMM?
2). If so, a VMM already implemented the few primitives, can the lkl-based app run in a VM?
3).and is the linked lkl-based app similar to the concept of unikernel? That is, the app is selfcontained except io syscall.

there is my previous attempt to integrate LKL as a unikernel. ukontainer is a collection of repositories with running application linked with LKL over container runtime. It uses rump hypercall, which interfaces various underlying environment including VMMs (e.g., QEMU, xen), though the ukontainer hasn't implemented so far.

So technically the answer should be, Yes, but not ready yet as far as I'm aware of.

See more detail in my past documents and repositories.

https://github.com/ukontainer/runu
https://dl.acm.org/doi/10.1145/3453933.3454011

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants