HackerTrans
TopNewTrendsCommentsPastAskShowJobs

lasiotus

no profile record

Submissions

Motor OS is now a Tier-3 target in Rust

doc.rust-lang.org
2 points·by lasiotus·9 miesięcy temu·1 comments

Motor OS website is now served from Motor OS VMs

github.com
15 points·by lasiotus·2 lata temu·0 comments

Ask HN: Why Google is a poster startup, and not Amazon?

2 points·by lasiotus·3 lata temu·3 comments

Ask HN: Are there any useful pure Rust servers/utilities?

3 points·by lasiotus·4 lata temu·1 comments

comments

lasiotus
·9 miesięcy temu·discuss
Motor OS is now a Tier-3 target in Rust.
lasiotus
·w zeszłym roku·discuss
> If anything does present a concrete issue we are eager to address it.

That's great to hear! I think it is a bit too early to spend extra effort on porting Wasmtime to Motor OS at the moment, as there are a couple of more pressing issues to sort out (e.g. FS performance is not yet where it should be), but in a couple of months I may reach out!
lasiotus
·w zeszłym roku·discuss
> Not sure how to help with this [...]

I guess not much can be done at the moment: dependencies are often the primary obstacle in porting crates to new targets, and just comparing the list of dependencies of wasmtime vs wasmi gives a pretty good indication of which crate is a bit more careful in this regard:

https://crates.io/crates/wasmtime/33.0.0/dependencies https://crates.io/crates/wasmi/0.47.0/dependencies
lasiotus
·w zeszłym roku·discuss
I'm not the OP, but I have a similar experience with Motor OS: wasmi compiles and works "out of the box", while wasmtime has a bunch of dependencies (e.g. target-lexicon) that won't compile on custom targets even if all features are turned off in wasmtime.
lasiotus
·2 lata temu·discuss
Motor OS
lasiotus
·2 lata temu·discuss
Motor OS (https://motor-os.org) attempts to do exactly that, by focusing on a rather narrow, from a "mainstream OS", point of view, niche. Kind of "do this one thing better" approach.
lasiotus
·2 lata temu·discuss
Motūrus OS (https://github.com/moturus/motor-os) has a newer microkernel.
lasiotus
·2 lata temu·discuss
Some extra context for comparison: Talc is faster than Frusa when there is no contention, but slower when there are concurrent allocations. Both are much slower than Rust's system allocator. Benchmark here: https://crates.io/crates/frusa.
lasiotus
·2 lata temu·discuss
SEEKING VOLUNTEERS: Motūrus OS

Motūrus OS is a new operating system for VMs written in Rust. A lot of interesting things to do for someone interested in systems-level Rust projects, from a simple Elf loader to a crash-resistant filesystem.

Or just porting C stuff like vim.

https://github.com/moturus/motor-os
lasiotus
·3 lata temu·discuss
The lainding page at https://github.com/moturus/motor-os explicitly says that both networking and file I/O are slow and have to be improved. The only claim is about fast bootup, and the number is there, and can easily be verified.

Where do you see any unsupported claims re: performance?
lasiotus
·3 lata temu·discuss
I tried with async in the kernel first, but the cruft that was needed two years ago was not worth it in the kernel itself. The net I/O is actually async-first, see here: https://github.com/moturus/moto-runtime/blob/main/src/net.rs

File I/O will move to this model later (the current file I/O code is quite old and mostly a placeholder).
lasiotus
·3 lata temu·discuss
Yes! And because of sandbagging :)
lasiotus
·3 lata temu·discuss
I'm the project author/dev. Thanks a lot for posting this, and for comments/discussions!

I see two main concerns raised here:

(a) long-term viability and support (b) compilers, binary compatibility, etc.

While the first concern is definitely valid, and without a community this project will not succeed, I do believe that potential benefits of Motor OS (or a similarly focused/structured project) will eventually result in a widely used new operating system. There are major problems with Linux inside VMs (and sometimes outside), and the Linux devs are not focused on this enough to clean things up anytime soon. I work on Linux Kernel at my day job, I know.

Re: compiler instability, binary compatibility, etc.: I'm sorry, I don't understand what is the issue here. The latest Linux kernel can be compiled with different GCC or LLVM toolchains on x86_64, and the result will happily run old binaries compiled years ago with who knows what. repr(C) structs in rust are stable... So why so many concerns here?

Again, thank you all for your comments and questions - I'm happy to answer more (at least until my day job kicks in).