Happy New Year everybody!
Leaving the year 2013 behind us, it's time to recapture what we achieved in the past 12 months and to lay out the activities for this year. I am planning to update our official road map by mid of January and seek your input for doing so.
Review of the past year -----------------------
In 2013, we worked on four construction sites: Framework infrastructure, self-hosting, tooling and optimization, and hardware support. When reviewing the road map for 2013, it is great to see that we largely lived up to our planning.
The framework infrastructure was enhanced with concepts for managing CPUs on multi-processor systems and for dynamically balancing memory resources, it received new audio and file-system capabilities, and, with the addition of Qt5 and the lxIP stack, we could enable highly sophisticated workloads natively on Genode.
On our endeavour of self-hosting Genode on Genode, we could eliminate long-standing show stoppers for several base platforms. We were able to improve them to the point where we can routinely execute Genode's tool chain across several base platforms such as NOVA and Fiasco.OC as part of our nightly automated tests. On the user-facing side, a new command-line interface has seen the light of the day.
Two highlights when it comes to tooling were the new event tracing facilities, and profound support for automated testing. Thanks to the latter, we expose Genode to over 500 test runs including automated performance benchmarks. By executing those tests each night, we have become able to resolve regressions before they enter the master branch. So the master branch remains always in a good shape.
As expected for an operating-system project, most of our work was spent on hardware support. On x86, we added IOMMU support, and the virtualization capabilities on NOVA have seen a major upgrade. On ARM, we enabled or vastly enhanced the device drivers for Samsung Exynos 5, Freescale i.MX, and Raspberry Pi. We also explored the possibilities of combining Genode with ARM TrustZone.
Only two topics, namely Intel wireless and a new user interface concept had been deferred. We decided to postpone the Intel wireless topic to address gigabit networking instead. Even though the new user-interface concept served as a strong motivation behind many improvements of the base system such as dynamic reconfiguration and dynamic resource balancing, the work on those fundamentals left little room to bring forward the actual GUI concept. Now that those pieces are in place, we can go full steam ahead.
The most surprising topic that was not clearly laid out in our last year's road map is the advancement of the base-hw platform. Started as a mere experiment, it received so much love and attention that it unexpectedly became able to host the whole universe of Genode's software stack.
What are we up to? ------------------
Well, the answer to this question is not set in stone. Here are my suggestions:
* Improved handling of 3rd-party code: Many new users of Genode stumble over the installation of 3rd-party code. It is not obvious to see which packages are required for a particular run script. Instead, users have to deal with confusing error messages when a needed package is not installed. We should definitely fix this inconvenience.
* The base-hw platform * Multi-processor support * Kernel-protected capability-based security * Exploring ARM's virtualization extensions
* C runtime: * Revisit libc plugin concept to make the configuration of per- process virtual file systems as easy as it is for Noux. By making Noux' VFS implementation reusable for the libc, normal Genode programs could leverage stacked file systems in very flexible ways. * Abandon helper threads in favour for asynchronous I/O handling, improving performance and the simplicity of the libc-internal code.
* Storage: The work on the file-system stack is in full swing. Personally, I desire a journaling file system as well as a block cache.
* Device drivers: * Intel wireless * Merged SATA drivers: Right now, the high-performance SATA 3.0 driver for the Exynos-5 SoC does not share any code with the older SATA driver for x86. We should consolidate both implementations to get good disk performance on x86.
* Virtualization on NOVA/x86: Port of a "mainstream" VMM to Genode/NOVA. I am a fan of the Seoul (ex Vanvouver) VMM. However, I get repeatedly asked for features that people universally expect but that are unavailable on Seoul, i.e., Windows guest support. In the future, I'd like to pull a positive answer to such questions out of my sleeve.
* User-interface concept: This topic must look like a running gag, but it is not. :-)
* Hardware-accelerated graphics: Even though we looked into this topic some years ago with the experimental port of Gallium3D and the Intel GPU driver, we left the code almost unattended since then. However, with more and more software relying on OpenGL ES2.0 (I am looking at QML in particular), we definitely need to re-address the problem. In the meantime, the Intel Linux graphics stack and Mesa have advanced a lot. So we might even start looking at the problem from scratch.
* Noux performance optimizations: The Noux runtime has reached a state where it runs Unix tools including GCC reliably. But it is not very fast in doing so. To make it more pleasant to use Noux for day-to-day work, we should start to optimize.
The points above are merely my personal preferences.
What are topics that you wish to see in Genode throughout the year 2014? Or are you working on a particular feature that you plan to integrate into Genode?
Cheers Norman
Happy New Year! I, for one, will be spending time on base-hw, hopefully full time in second quarter '14. Main focus will be on arm a7-cortex, although I should be able to find time for RPi and OpenRisc. Should be able to contribute something towards making base-hw 'the' first-tier platform by the end of the year ;) Cheers,Nick
Date: Thu, 2 Jan 2014 12:27:27 +0100 From: norman.feske@...1... To: genode-main@lists.sourceforge.net Subject: Roadmap 2014
Happy New Year everybody!
Leaving the year 2013 behind us, it's time to recapture what we achieved in the past 12 months and to lay out the activities for this year. I am planning to update our official road map by mid of January and seek your input for doing so.
Review of the past year
In 2013, we worked on four construction sites: Framework infrastructure, self-hosting, tooling and optimization, and hardware support. When reviewing the road map for 2013, it is great to see that we largely lived up to our planning.
The framework infrastructure was enhanced with concepts for managing CPUs on multi-processor systems and for dynamically balancing memory resources, it received new audio and file-system capabilities, and, with the addition of Qt5 and the lxIP stack, we could enable highly sophisticated workloads natively on Genode.
On our endeavour of self-hosting Genode on Genode, we could eliminate long-standing show stoppers for several base platforms. We were able to improve them to the point where we can routinely execute Genode's tool chain across several base platforms such as NOVA and Fiasco.OC as part of our nightly automated tests. On the user-facing side, a new command-line interface has seen the light of the day.
Two highlights when it comes to tooling were the new event tracing facilities, and profound support for automated testing. Thanks to the latter, we expose Genode to over 500 test runs including automated performance benchmarks. By executing those tests each night, we have become able to resolve regressions before they enter the master branch. So the master branch remains always in a good shape.
As expected for an operating-system project, most of our work was spent on hardware support. On x86, we added IOMMU support, and the virtualization capabilities on NOVA have seen a major upgrade. On ARM, we enabled or vastly enhanced the device drivers for Samsung Exynos 5, Freescale i.MX, and Raspberry Pi. We also explored the possibilities of combining Genode with ARM TrustZone.
Only two topics, namely Intel wireless and a new user interface concept had been deferred. We decided to postpone the Intel wireless topic to address gigabit networking instead. Even though the new user-interface concept served as a strong motivation behind many improvements of the base system such as dynamic reconfiguration and dynamic resource balancing, the work on those fundamentals left little room to bring forward the actual GUI concept. Now that those pieces are in place, we can go full steam ahead.
The most surprising topic that was not clearly laid out in our last year's road map is the advancement of the base-hw platform. Started as a mere experiment, it received so much love and attention that it unexpectedly became able to host the whole universe of Genode's software stack.
What are we up to?
Well, the answer to this question is not set in stone. Here are my suggestions:
Improved handling of 3rd-party code: Many new users of Genode stumble over the installation of 3rd-party code. It is not obvious to see which packages are required for a particular run script. Instead, users have to deal with confusing error messages when a needed package is not installed. We should definitely fix this inconvenience.
The base-hw platform
- Multi-processor support
- Kernel-protected capability-based security
- Exploring ARM's virtualization extensions
C runtime:
- Revisit libc plugin concept to make the configuration of per- process virtual file systems as easy as it is for Noux. By making Noux' VFS implementation reusable for the libc, normal Genode programs could leverage stacked file systems in very flexible ways.
- Abandon helper threads in favour for asynchronous I/O handling, improving performance and the simplicity of the libc-internal code.
Storage: The work on the file-system stack is in full swing. Personally, I desire a journaling file system as well as a block cache.
Device drivers:
- Intel wireless
- Merged SATA drivers: Right now, the high-performance SATA 3.0 driver for the Exynos-5 SoC does not share any code with the older SATA driver for x86. We should consolidate both implementations to get good disk performance on x86.
Virtualization on NOVA/x86: Port of a "mainstream" VMM to Genode/NOVA. I am a fan of the Seoul (ex Vanvouver) VMM. However, I get repeatedly asked for features that people universally expect but that are unavailable on Seoul, i.e., Windows guest support. In the future, I'd like to pull a positive answer to such questions out of my sleeve.
User-interface concept: This topic must look like a running gag, but it is not. :-)
Hardware-accelerated graphics: Even though we looked into this topic some years ago with the experimental port of Gallium3D and the Intel GPU driver, we left the code almost unattended since then. However, with more and more software relying on OpenGL ES2.0 (I am looking at QML in particular), we definitely need to re-address the problem. In the meantime, the Intel Linux graphics stack and Mesa have advanced a lot. So we might even start looking at the problem from scratch.
Noux performance optimizations: The Noux runtime has reached a state where it runs Unix tools including GCC reliably. But it is not very fast in doing so. To make it more pleasant to use Noux for day-to-day work, we should start to optimize.
The points above are merely my personal preferences.
What are topics that you wish to see in Genode throughout the year 2014? Or are you working on a particular feature that you plan to integrate into Genode?
Cheers Norman
-- Dr.-Ing. Norman Feske Genode Labs
http://www.genode-labs.com · http://genode.org
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clk... _______________________________________________ Genode-main mailing list Genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Hi Nick,
this sounds very cool! So it looks like we should add "Cortex-A7 support for base-hw" to the topics of this year.
Cheers Norman
On 02.01.2014 12:27, Norman Feske wrote:
- Virtualization on NOVA/x86: Port of a "mainstream" VMM to Genode/NOVA. I am a fan of the Seoul (ex Vanvouver) VMM. However, I get repeatedly asked for features that people universally expect but that are unavailable on Seoul, i.e., Windows guest support. In the future, I'd like to pull a positive answer to such questions out of my sleeve.
As discussed with Norman today in the morning, we can add the following to the road map:
For base-nova several extensions are planned to cope better with (or better: to avoid) situations where the kernel runs un-controlled out-of-memory. Some of the goals are
* to limit the amount of kernel memory a process can consume * to adjust the limit based on some policies dynamically * ideally to have a kernel memory allocator per protection domain separately * to not hold/deadlock the whole kernel if one process runs out-of-memory
Several experiments already look promising, so we're expecting here changes this year to base-nova of Genode.
Cheers,
Alex.
On 02.01.2014 12:27, Norman Feske wrote:
- The base-hw platform
- Multi-processor support
- Kernel-protected capability-based security
- Exploring ARM's virtualization extensions
Further suggestion: * Priority-based scheduling in two bands (one for low-latency tasks and another for throughput-intensive tasks), hybrid tasks (with a context for both scheduling bands), and time delegation (on RPC, locks, etc.)
On 01/02/2014 12:27 PM, Norman Feske wrote:
Happy New Year everybody!
Happy New year!
What are topics that you wish to see in Genode throughout the year 2014? Or are you working on a particular feature that you plan to integrate into Genode?
Well, I'd like to see Genode supporting some privacy/security applications for a broader audience. As the non-functional, security aspects of Genode (e.g.: low TCB) are one of its major benefits. Therefore, I would vote for supporting TOR either server, or client side, or even both on Genode. One possibility would be to support a ready to use live image containing TOR client, and a configured browser, which enables users to browse anonymously.
Best regards Stefan
Cheers Norman
Hello,
thanks to everyone who chimed-in into the discussion of our next steps. As result, I have updated the official road map just now:
http://genode.org/about/road-map
Cheers Norman
Spitze! Excellent road-map. Couldn't have asked for anything more. CheersNick
Date: Fri, 17 Jan 2014 14:10:45 +0100 From: norman.feske@...1... To: genode-main@lists.sourceforge.net Subject: Re: Roadmap 2014
Hello,
thanks to everyone who chimed-in into the discussion of our next steps. As result, I have updated the official road map just now:
http://genode.org/about/road-map
Cheers Norman
-- Dr.-Ing. Norman Feske Genode Labs
http://www.genode-labs.com · http://genode.org
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.cl... _______________________________________________ Genode-main mailing list Genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main