App on L4Re

Adam Lackorzynski adam at os.inf.tu-dresden.de
Fri Nov 30 11:49:36 CET 2012


On Fri Nov 30, 2012 at 17:52:30 +0800, OSDepend wrote:
> > Could you please tell more about your project, what do you want to get
> > and how do you want to use. That is can help us to assess needs.
> > As I understand, you want to use something performance-critical  in
> > bash? In case of L4Linux you will have small loss of performance but
> > you will have 'quick start'. And for several types of application,
> > performance of L4Linux is equal to performance  of independent L4Re
> > application.
> > btw, maybe Noux from Genode can be useful for you.
> 
> I just take bash and sphinx as examples, and i have not decided yet
> which software to port. Web Server maybe my first choice. According to
> Professor Liedtke's paper, specific software with synchronous L4 RPC
> (on L4) has much more performance benifit than the software in
> L4Linux. So I want to port some common application to prove that idea.

There's nothing _automatically_ faster here. Before starting to do
practical work you should know pretty well where and why performance
is lost. Looking at a webserver I think Linux is doing a pretty good job
in that use-case, let alone because of sendfile and their TCP/IP stack.
And there's one more problem: drivers. For a standalone webserver, you
need at least a network card driver, and not the simple version of the
driver but one that uses all the features of the device so you get all
the features for performance. Same probably valid for disk if you'd want
to go beyond benchmarking. And that's actually the tricky part...

> > I do not understand what you mean with rebuilding every library for an
> > application. Do you mean those available on L4Re already or new ones?
> 
> Yes, I mean the new ones. L4Re has already rebuild many libraries, but
> when I try to port some complicated software on top of the L4Re, I may
> need to rebuild some new libraries. So I'd like to ask for your
> experience to evaluate the engnieer time it could take. It will decide
> the software i will port ultimately.

That depends on the library (of course!). Basically their dependencies
to other libraries and the functionality they use. Generic ones just
work out of the box, others need adaption work. Not easy to come up with
a generic formula.

> > Actually it's an quite easy choice. L4Linux is an OS layer but not your
> > choice for your target application. So you need a different one that
> > better fits your target application, such as scalability. That can maybe
> > be L4Re, maybe it's L4Re + some additions, maybe something different.
> > Possibilities exist.
> 
> Indeed!:>
> 
> > We've developed and deployed several applications directly on top of
> > L4Re. One of the applications for instance is a video streaming
> > application which can be controlled from an external Android app. Just
> > to be clear: we do not employ L4Linux for this in any way.
> > Personally, I don't really know why you want to run Bash and Sphinx on
> > top of L4Re at this point, except as a proof of concept or something.
> > Can you explain why you would want to do this? Perhaps it will clarify
> > your question so we can assist you better.
> 
> That sounds amazing, and you did some solid work. Have your
> application been included in Genode or other released OS yet?
> The reason that I want to port software instead of developing from
> scratch is I want to know about the performance in L4 comparing with
> in L4Linux. So if i port a software onto L4Re, I can run the original
> app in L4Linux without any changes! That's my point, Do you have any
> advice or experiece to share?

Not sure I understand that right, but any original app can be run in
L4Linux. That's the purpose of it. Using L4Re for an app has nothing to
do with L4Linux. This L4Re-application is at the same level as L4Linux
because L4Linux is also an L4Re-application.

> > If your applications are ported from Linux or unix-like OS, they maybe need some sysycalls or system functions that 
> > don't be implemented in L4Re, you may have to re-implement and maintain them. Those functions are also called the
> > "Lightweight OS layer".
> 
> That's true! I just begin my journey on L4, and excited for what the
> ideal structure and benifit of the microkernel may bring us. I have
> already done my homework on the theory of L4, L4Re, and L4Linux, but I
> have no experience about the software-porting things on L4Re. So I'd
> like some helps or existing examples in advance, from which  i could
> get a quick start to port some useful software to the L4Re (or native
> L4).

Well just start it and check what problems you run into.



Adam
-- 
Adam                 adam at os.inf.tu-dresden.de
  Lackorzynski         http://os.inf.tu-dresden.de/~adam/




More information about the l4-hackers mailing list