Road map 2013
Daniel Waddington
d.waddington at ...60...
Fri Jan 4 18:11:10 CET 2013
Dear Norman,
Congratulations to you and the Genode team on your 2012 achievements.
You are truly doing a fantastic job!
W.r.t 2013 road map, we have already discussed this but I thought I
would bring it to the broader audience.
On the theme of debunking the low-performance myth, I personally would
like to see better SMP support. Ideally I would like to see Genod's
'core' process become multi-threaded (with service threads on each core)
so that we can minimize cross-core IPC and cross-application
interference. This would allow more localized thread/memory management
etc. as well as IRQ handling. Doing a better job of resource management
and QoS partitioning is a potential strength over monolithic kernels
that we should (as a community) be striving for.
I also agree that a shift towards more "native" drivers and filesystems
would be good. Although using wrappers such as the various DDE
frameworks helps to get off the ground fast, it comes at a cost of
performance and reduces the ability to manage resources in the Genode way.
Ourselves, we plan to look at a native implementation of a 10G driver
(probably Myricom but yet TBD). We are also interested in a more
scalable and better performing TCP stack.
Finally I would second your opinion about debugging tools being very
important to the broader adoption of Genode.
All the best,
Daniel
On 01/04/2013 04:55 AM, Norman Feske wrote:
> Hello and happy New Year everybody,
>
> the advent of 2013 is a good opportunity to make up our minds about
> Genode's road map for this year. But before I will start with explaining
> my preferences, I'd like to outline my thoughts about the last year's
> road map.
>
> In 2012, we labeled our activities as "Eating our own dog food". Our
> goal was to bring Genode into a shape that makes it usable as working
> environment for conducting Genode development. On our road-map website
> (http://genode.org/about/road-map) we listed a long list of desirable
> goals. Looking through the list makes me proud of our achievements. Just
> to name a few highlights, there is the ability to build Genode on
> Genode, SSH, lighttpd, the new file-system infrastructure, the new DDE
> linux and DDE OSS. But even though the list is impressive and the pieces
> nicely come together, we are not quite there yet to realistically make
> the switch to Genode as development environment. Two major missing
> points are a solid UI concept that leverages Genode's unique
> architecture and a "real" file system. You will find those points in my
> suggestions for this year's road map below.
>
> Even though we missed our ambitious main goal for 2012, there is no
> cause for despair. There are indeed many achievements in addition to our
> road-map items to be proud of. The most visible addition is the thorough
> support for ARM-based platforms reaching from versatile express, over
> freescale i.MX, to OMAP4. Another amazing development is the added
> base-hw platform that enables Genode to be executed without a 3rd-party
> kernel. Furthermore, the largely revised support for the Linux base
> platform makes Genode fit to be used as component framework on Linux,
> which is a quite unexpected turn of events.
>
> So what is coming next?
>
> >From my point of view, I see four major construction sites that we
> should address this year: framework infrastructure, self-hosting,
> tooling and optimizations, and hardware support.
>
>
> Framework infrastructure
> ========================
>
> The primary group of people Genode tries to cater well are developers
> and integrators of systems. Genode is meant as a tool box to empower
> those people to build real-world component-based system solutions. From
> this audience, we receive requests for improvements in the following areas:
>
> * Multi-processor support: On some base platforms, SMP support is
> available but the framework still misses a holistic concept to
> manage and configure the use of multiple CPUs.
>
> * Storage: Block-device access is a general concern. Even though we
> laid the foundations for Genode's storage infrastructure, several
> pieces are still missing, in particular a "real" (non-FAT) file
> system, block/file/directory caching, and I/O scheduling. Without
> those pieces, there is no way to achieve the application performance
> that we desire.
>
> * Networking: The current TCP/IP performance using lwIP has room
> for improvement. So I'd like to find a solution to bring TCP/IP
> performance on Genode on par with Linux. Maybe this means to find
> the bottlenecks in our lwIP port, or even going for another TCP/IP
> stack?
>
> * Qt5: Now that Qt5 is officially released, we should consider to
> switch from Qt4 to Qt5.
>
> * Low-latency audio: The current audio_out-session interface was
> our first shot into the direction of audio processing. To enable
> use cases where streaming audio and sporadic sounds must be
> accommodated at the same time, we need to revise our approach.
> There is already work in progress on this topic.
>
> * Cryptography
> * Random numbers
> * Block-device encryption
>
> Self-hosting
> ============
>
> The second major topic is redeeming the promise stated for the past year
> - using Genode as a real-world OS. The following pieces are missing.
> Compared to the list on the old road map, this one is rather small. So I
> am very positive!
>
> * UI concept for pleasant working environment
> * Tiled window manager
> * Terminal improvements (e.g., scroll buffer)
> * Noux improvements (e.g., signals)
>
> * Tools
> * Git (work is already in progress)
> * Mail user agent
> * Instant-messaging software
> * Support for 'make prepare' (e.g., SVN, wget, mawk)
> * Support for run tool: expect, Qemu
>
> Tooling and optimization
> ========================
>
> Now that Genode's work loads get ever more complex, we feel the
> drastically increased need to understand its inner behavior and detect
> possible black holes where the performance goes.
>
> When the system scenarios were rather small, printf-debugging was quite
> feasible. But now, with multiple instances of Noux running concurrently
> with several drivers, we need better tools for understanding, debugging,
> and tracing the system. In a component-based system like Genode, the
> creation of such tooling support of especially challenging because we
> need to walk on new grounds. In my opinion, good tooling is key to
> direct our efforts spent with performance optimizations. The goal should
> be to ultimately debunk the slow performance of microkernel-based
> systems as a myth.
>
> Hardware support
> ================
>
> The attractiveness of our framework corresponds to the degree of
> hardware support. Since we want to make Genode more attractive, we need
> to continue our efforts with creating custom drivers, porting drivers,
> and enabling platforms. The following points are the most interesting
> ones from my point of view:
>
> * Intel architecture
> * IOMMU support
> * Improved virtualization support (Vancouver on NOVA)
> * Intel wireless
> * ARM architecture
> * Extending support for SoC platforms
> * TrustZone
>
>
> Of course, Genode's road map for 2013 is not meant to be dictated by me.
> Please chime in, discuss the topics above and propose additional items.
> I hope that we will reach consent for the goals of this year by mid
> January. Then I will update the official road map on the website.
>
> Cheers
> Norman
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.genode.org/pipermail/users/attachments/20130104/566aa6d1/attachment.html>
More information about the users
mailing list