Hello,
I have a question about IPC performance of Fiasco.OC and Pistachio. When I compared the performance for a pingpong benchmark, Pistachio provides better performance than Fiasco.OC (about 1.5 times faster). Is there anyone who can explain the reasons that Fiasco.OC's IPC is slower compared to Pistachio?
Thanks,
Jaeyeon
On 03/10/2011 07:52 PM, Jaeyeon Kang wrote:
Hello,
I have a question about IPC performance of Fiasco.OC and Pistachio. When I compared the performance for a pingpong benchmark, Pistachio provides better performance than Fiasco.OC (about 1.5 times faster). Is there anyone who can explain the reasons that Fiasco.OC’s IPC is slower compared to Pistachio?
Fiasco is a real-time implementation of the L4 API.
Compared to the vanilla, general-purpose L4:Pistachio, Fiasco has to manage carefully the priorities of tasks which interact through IPC in order to keep the real-time scheduling algorithms working properly.
Thanks,
Jaeyeon
To get the full story with all the details, you should read some papers about Fiasco and L4, which you can find listed here:
http://os.inf.tu-dresden.de/L4/doc.html http://en.wikipedia.org/wiki/L4_microkernel_family
You may be also interested in some papers about the real-time properties of general-purpose L4 microkernels. I wrote few of them a while ago; my most recent one is:
http://www.hindawi.com/journals/es/2008/234710/abs/
It contains a discussion of some real-time issues found in Pistachio (and their solutions), and a list of further references you can refer to.
I hope this answers your question.
Ciao,
Sergio
l4-hackers@os.inf.tu-dresden.de