Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/2387841.2387854acmotherconferencesArticle/Chapter ViewAbstractPublication PagesapsysConference Proceedingsconference-collections
Article

Correct, fast, maintainable - choose any three!

Published: 23 July 2012 Publication History

Abstract

The common-case IPC handler in microkernels, referred to as the fastpath, is performance-critical and thus is often optimised using hand-written assembly. However, compiler technology has advanced significantly in the past decade, which suggests that we should re-evaluate this approach.
We present a case study of optimising the IPC fast-path in the seL4 microkernel. This fastpath is written in C and relies on an optimising C compiler for good performance. We present our techniques in modifying the C sources to assist with compiler optimisation. We compare our results with a hand-optimised assembly implementation, which gains no extra benefit from hand-tuning.

References

[1]
Charles Gray, Matthew Chapman, Peter Chubb, David Mosberger-Tang, and Gernot Heiser. Itanium -- a system implementor's tale. In 2005 USENIX, pages 264-278, Anaheim, CA, USA, Apr 2005.
[2]
Randall Hyde. The great debate. http://webster.cs.ucr.edu/Page TechDocs/GreatDebate/.
[3]
Gerwin Klein, Kevin Elphinstone, Gernot Heiser, June Andronick, David Cock, Philip Derrin, Dhammika Elkaduwe, Kai Engelhardt, Rafal Kolanski, Michael Norrish, Thomas Sewell, Harvey Tuch, and Simon Winwood. seL4: Formal verification of an OS kernel. In 22nd SOSP, pages 207-220, Big Sky, MT, USA, Oct 2009. ACM.
[4]
The L4 headquarters. http://l4hq.org.
[5]
Implementations of the L4 µ-kernel interface. http://os.inf.tu-dresden.de/L4/impl.html.
[6]
Jochen Liedtke, Kevin Elphinstone, Sebastian Schönberg, Herrman Härtig, Gernot Heiser, Nayeem Islam, and Trent Jaeger. Achieved IPC performance (still the foundation for extensibility). In 6th HotOS, pages 28-31, Cape Cod, MA, USA, May 1997.
[7]
Jochen Liedtke. Improving IPC by kernel design. In 14th SOSP, pages 175-188, Asheville, NC, USA, Dec 1993.
[8]
Henry Massalin. Superoptimizer: a look at the smallest program. SIGARCH Computer Architecture News, Oct 1987.

Cited By

View all
  • (2016)Lightweight Capability DomainsACM SIGOPS Operating Systems Review10.1145/2883591.288360149:2(44-50)Online publication date: 20-Jan-2016
  • (2015)Lightweight capability domainsProceedings of the 8th Workshop on Programming Languages and Operating Systems10.1145/2818302.2818307(8-14)Online publication date: 4-Oct-2015
  • (2014)Comprehensive formal verification of an OS microkernelACM Transactions on Computer Systems10.1145/256053732:1(1-70)Online publication date: 26-Feb-2014
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
APSys '12: Proceedings of the Third ACM SIGOPS Asia-Pacific conference on Systems
July 2012
16 pages
  • General Chair:
  • Sue Moon

Sponsors

  • Microsoft Research: Microsoft Research
  • LG Electronics

In-Cooperation

Publisher

USENIX Association

United States

Publication History

Published: 23 July 2012

Check for updates

Qualifiers

  • Article

Acceptance Rates

Overall Acceptance Rate 169 of 430 submissions, 39%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 15 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2016)Lightweight Capability DomainsACM SIGOPS Operating Systems Review10.1145/2883591.288360149:2(44-50)Online publication date: 20-Jan-2016
  • (2015)Lightweight capability domainsProceedings of the 8th Workshop on Programming Languages and Operating Systems10.1145/2818302.2818307(8-14)Online publication date: 4-Oct-2015
  • (2014)Comprehensive formal verification of an OS microkernelACM Transactions on Computer Systems10.1145/256053732:1(1-70)Online publication date: 26-Feb-2014
  • (2013)Code optimizations using formally verified propertiesACM SIGPLAN Notices10.1145/2544173.250951348:10(427-442)Online publication date: 29-Oct-2013
  • (2013)From L3 to seL4 what have we learnt in 20 years of L4 microkernels?Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles10.1145/2517349.2522720(133-150)Online publication date: 3-Nov-2013
  • (2013)Code optimizations using formally verified propertiesProceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications10.1145/2509136.2509513(427-442)Online publication date: 29-Oct-2013

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media