Singularity RDK 2.0 ETA?

Aug 20, 2008 at 7:04 AM
Not to rush you or anything but I'm hoping you can give us an updated ETA for Singularity RDK 2.0 and maybe a hint of some things that will be in it.

I'm working on a number of things right now like a generic vesa driver and raw socket support (things I need for other applications and libraries I'm working on) but with Singularity RDK 2.0 slated for release anytime now I don't want to duplicate a lot of effort.


Aug 20, 2008 at 8:48 PM
Hi jclary. I'm responsible for the Singularity RDK 2.0. There isn't a firm release date at this point, but my current expectation is that a release will be available on Codeplex by the end of October. There may also be follow-up drops for additional features and fixes. VESA will be available in RDK 2 and is currently planned to be enabled by default. The RDK 2 codebase does not include support for raw sockets. May I ask what project you're working on and what features would be most helpful for it? Hope this helps.
Derrick Coetzee
Microsoft Research Operating Systems Group developer

Aug 21, 2008 at 1:23 AM
Edited Aug 21, 2008 at 1:35 AM

Thanks.  You might want to update the planned release page which says July/August so the natives don't get too restless.  ;)

I actually created a RawSocket and extended Socket with ReceiveFrom and SendTo and it works ok.  I need SocketOptions, though, and that looks a bit more involved but I'm happy to do it and submit a patch.  I'm looking at some distributed programming concepts on top of Singularity and having more feature-rich networking would enable development of additional protocols.  Rdm is also on my wish-list and I may give that a go as well.  Multicast support would also be quite useful.  I'd like to get one of my distributed NEAT (NeuroEvolution of Augmented Topologies) applications running on Singularity and some other things that require slightly more advanced networking than is currently supported.

There is enough time before RDK 2.0 that I might as well complete my vesa driver even if it's sub-optimal unless it's trivial to release yours as a patch for RDK 1.1. I'm sure a lot of people would be really happy to see that based on all the talk of getting things running on Hyper-V and VMWare in these forums.   I haven't done low-level driver work in over a decade so I doubt mine will ever work as well as yours but VirtualPC is painfully slow on a machine that has Hyper-V installed and I need my other VMs.  I'm planning to port over my jpeg2000 library to investigate parallel computation performance with a real-world application and I'd prefer to see it in action rather than just looking at statistical output.

I was also thinking about trying to write a WPF-Light (no 3D or multimedia features initially) just for fun and because it'd help me better understand WPF.  I think things would really take off if Singularity had a UI foundation for people to use.  You have captured a lot of people's imagination with this project and I'm sure you'd get a lot of really interesting tools developed for the OS once there is a UI.  I expect most of the people interested in this are not hardcore kernel hackers and driver developers but that doesn't mean they can't make valuable contributions once the basics are in place.   A lot of people tend to specialize in various areas and while they may not be interested in or able to develop video drivers or a UI framework, once they are in place they might be motivated to develop other applications, drivers and kernel features that otherwise might not be developed.  A lot of useful libraries just need to be ported and have their native bits replaced and I'm sure a lot of that would get done satisfactorily by the community.

The biggest limitation right now (aside from the lack of a UI) would seem to be the incomplete runtime library which is perfectly understandable considering how much of rotor depends on PInvoke to OS-specific shared libraries written in other languages.  Unfortunately there isn't a whole lot of motivation for people to add complex features they need when there's no real community development going on and their work will likely be broken by future releases.  I'm not really sure how you'd solve that even if you want the extra help but possibly splitting some things that aren't overly dependent on the kernel into a codeplex project that's actually used as intended might help.

As for really pie-in-the-sky features I'd wish for...  I'd love to see some advanced libraries like Joins/ParallelFX and Accelerator although the latter I'm sure would be especially difficult and would require much more than just a basic vesa driver.  The abilitiy to crank out nearly 3TFLOPS on a relatively cheap deskotp machine (3x nVidia gtx280+ cards) would be hard for any researher doing computationally intensive simulations to pass up.  From reading some of the project documents it sounds like you may already have a more interesting direction for GPU processing anyway.

Nov 14, 2008 at 4:32 AM
Sorry, already the middle of November, but Singularity RDK 2.0 not released yet.
Nov 14, 2008 at 4:36 AM
Hi rommanio. We delayed the release a couple weeks in order to make sure the documentation would be as complete as possible, but we plan to release by the end of tomorrow, at the latest, so you won't have to wait much longer!
Derrick Coetzee
Microsoft Research Operating Systems Group developer
Nov 14, 2008 at 5:14 AM
Hi Derrick.
Thanks a lot and excuse me that I haven't enough patience! :-)