Announcement

Collapse
No announcement yet.

XCP-ng Initating Effort To Rewrite Xen Components In Rust

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • XCP-ng Initating Effort To Rewrite Xen Components In Rust

    Phoronix: XCP-ng Initating Effort To Rewrite Xen Components In Rust

    The focus of this new effort isn't to immediately rewrite the Xen virtualization hypervisor in Rust but to begin gradually working toward rewriting some of the smaller Xen Project components in the Rust programming language and to see how everything pans out...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    I can get rewriting C, or maybe Python if performance is an issue, components in Rust. But why Go or OCaml? These are fine languages.

    Comment


    • #3
      But... why "Riir"? I mean, I don't know Rust and I assume it must be a good thing (TM) since so many C/C++ project move to it, but why rewriting something that already works? Wouldn't be better to just start something new instead? Porting existing code without adding anything new, being forced to keep compatibility with what exists, is among the most boring things a programmer could be asked to do. And it gains you nothing in the short term, so you only delay innovation of your existing product.

      Comment


      • #4
        Rust really does seem to be coming for everything.

        Originally posted by archkde View Post
        I can get rewriting C, or maybe Python if performance is an issue, components in Rust. But why Go or OCaml? These are fine languages.
        I haven't read any of the discussions so working with only the phoronix article, I can at least think of a few reasons. anecdotally, go is kinda a pita to work with IMO, I also know many developers are jumping ship from the telemetry shenanigans. another part of it could just be the massive surge in rust adoption we are seeing, meaning it will be easier to attract new contributors. but IMO the largest part of it is that rust suits the needs of the low level C bits, and the high level bits, and having a heterogeneous codebase is better. so it could simply be a consolidation effort

        Comment


        • #5
          Originally posted by archkde View Post
          I can get rewriting C, or maybe Python if performance is an issue, components in Rust. But why Go or OCaml? These are fine languages.
          Your questions are answered in the XCP-ng blog post

          OCaml: AFAIK there's no plan to rewrite entirely the whole OCaml code base. More the "common" part shared with other toolstack. As explained in the article, hiring OCaml dev is hard, and contributions are also harder to have from outside the project.

          Go: it's not the language itself, but the way it's used (code quality, repository outside Xen Project, global choices made): it's the opportunity to use Rust to ramp up for later use in the whole project.

          Comment


          • #6
            Originally posted by Quackdoc View Post
            Rust really does seem to be coming for everything.
            I haven't read any of the discussions so working with only the phoronix article, I can at least think of a few reasons. anecdotally, go is kinda a pita to work with IMO, I also know many developers are jumping ship from the telemetry shenanigans. another part of it could just be the massive surge in rust adoption we are seeing, meaning it will be easier to attract new contributors. but IMO the largest part of it is that rust suits the needs of the low level C bits, and the high level bits, and having a heterogeneous codebase is better. so it could simply be a consolidation effort
            That's indeed part of the reasons. Rust have the potential to be from the whole stack in there, and getting contributors might be easier too.

            Comment


            • #7
              Originally posted by olivier View Post

              That's indeed part of the reasons. Rust have the potential to be from the whole stack in there, and getting contributors might be easier too.
              I personally mostly use KVM, but I have been looking into learning about xen to diversify, seems like as good of a time as any to learn xD, at the very least, best of luck to anyone working on it.

              Comment


              • #8
                Originally posted by Quackdoc View Post

                I personally mostly use KVM, but I have been looking into learning about xen to diversify, seems like as good of a time as any to learn xD, at the very least, best of luck to anyone working on it.
                I would sum up Xen this way: it's a different but very interesting design (vs KVM). However, like KVM, there's little chances you might use Xen "alone" if you want to scale a bit. What matters in this case is the toolstack around. In a way, XCP-ng is closer to VMware (regarding the design). That's not a coincidence that almost all our new comers are from VMware

                Comment


                • #9
                  So it will be Rust, C, Python, OCaml, and Go code. ;-)

                  Comment


                  • #10
                    Originally posted by olivier View Post

                    That's indeed part of the reasons. Rust have the potential to be from the whole stack in there, and getting contributors might be easier too.
                    I am not so sure. Rust is a difficult language by design. For many things Python should be easier.

                    Comment

                    Working...
                    X