ssrg-vt / hermitux

A binary-compatible unikernel
https://ssrg-vt.github.io/hermitux/
391 stars 28 forks source link

Support for real-time applications? #37

Open lucabe72 opened 1 year ago

lucabe72 commented 1 year ago

Hi all,

I am trying to get some simple real-time applications running on hermitux, but I encountered some failures... As an example, cyclictest (https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cyclictest/start) does not run because sched_setscheduler() and clock_nanosleep() are not implemented (and it seems that even e simple usleep() is mapped on clock_nanosleep()).

So, it seems to me that real-time applications are not supported. Is this understanding correct?

olivierpierre commented 1 year ago

Hi there, you are correct, we do not support any form of real-time scheduling.

lucabe72 commented 1 year ago

OK, thanks for confirming.

Is there any interest in this feature? I might have some time to work on it in the next months.

Thanks, Luca

olivierpierre commented 1 year ago

Hi Luca,

Thanks for the proposition! I admit I don't really have cycles to put in HermiTux and the project's development is stalled since ~2020. If you are looking for a unikernel project with real-time-oriented features, nothing comes to my mind but a very active project where this could be implemented would be Unikraft: https://github.com/unikraft/unikraft. They follow a similar idea as HermiTux, being compatible with the Linux ABI.

I'm working with them on a few project and can introduce you if you'd like :)

Pierre

lucabe72 commented 1 year ago

Hi Pierre,

thanks again for the information! I already looked at unikraft (I even managed to compile cyclictest in a unikraft unikernel, but it does not work because of the sched_* system calls), but I did not realize that it is ABI-compatible with Linux (I only saw the API compatibility, implemented using the musl library).

Anyway, I'll look at it again, and I'll try to implement real-time scheduling in an unikraft library.

Thanks, Luca

On Wed, 29 Mar 2023 at 20:08, Pierre Olivier @.***> wrote:

Hi Luca,

Thanks for the proposition! I admit I don't really have cycles to put in HermiTux and the project's development is stalled since ~2020. If you are looking for a unikernel project with real-time-oriented features, nothing comes to my mind but a very active project where this could be implemented would be Unikraft: https://github.com/unikraft/unikraft. They follow a similar idea as HermiTux, being compatible with the Linux ABI.

I'm working with them on a few project and can introduce you if you'd like :)

Pierre

— Reply to this email directly, view it on GitHub https://github.com/ssrg-vt/hermitux/issues/37#issuecomment-1489070881, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABAL5YJVPCPT37OVZ2X3AZ3W6R3A5ANCNFSM6AAAAAAWLU6AZU . You are receiving this because you authored the thread.Message ID: @.***>