Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

mTags: augmenting microkernel messages with lightweight metadata

Published: 16 July 2012 Publication History

Abstract

In this work we propose mTags, an efficient mechanism that augments microkernel interprocess messages with lightweight metadata to enable the development of new, system-wide functionality without requiring modification of the application source code. As such it is well suited for systems with a large legacy code base or third-party applications like phone and tablet applications.
We explored mTags in a variety of different contexts in local and distributed system scenarios. For example, we detail use cases in areas including messaging-induced deadlocks and mode propagation. To demonstrate that mTags is technically feasible and practical, we implemented it in a commercial microkernel and executed multiple sets of standard benchmarks on two different computing architectures. The results clearly demonstrate that mTags has only negligible overhead and strong potential for many applications.

References

[1]
M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tevanian, and M. Young. Mach: A New Kernel Foundation for UNIX Development. In Proceedings of the USENIX Summer Conference, pages 93--112, 1986.
[2]
A. Alonso and J. Antonio de la Puente. Implementation of Mode Changes with the Ravenscar Profile. In Proc. of the 10th International Workshop on Real-time Ada Workshop, pages 27--32, New York, NY, USA, 2001. ACM.
[3]
Android. Android Operating System, 2011. http://www.android.com.
[4]
I. Branovic, R. Giorgi, and E. Martinelli. A Workload Characterization of Elliptic Curve Cryptography Methods in Embedded Environments. In Proc. of the 2003 Workshop on Memory Performance (MEDEA), pages 27--34, New York, NY, USA, 2003. ACM.
[5]
B. Cantrill, M. Shapiro, and A. Leventhal. Dynamic Instrumentation of Production Systems. In USENIX 2004 Annual Technical Conference, pages 15--28, 2004.
[6]
K. M. Chandy, J. Misra, and L. M. Haas. Distributed Deadlock Detection. ACM Trans. Comput. Syst., 1:144--156, May 1983.
[7]
G. Coulouris, J. Dollimore, and T. Kindberg. Distributed Systems (3rd ed.): Concepts and Design. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2001.
[8]
P. Efstathopoulos, M. Krohn, S. VanDeBogart, C. Frey, D. Ziegler, E. Kohler, D. Maziàres, F. Kaashoek, and R. Morris. Labels and Event Processes in the Asbestos Operating System. In Proc. of the Twentieth ACM Symposium on Operating Systems Principles (SOSP), pages 17--30, New York, NY, USA, 2005. ACM.
[9]
W. Enck, P. Gilbert, B.-G. Chun, L. P. Cox, J. Jung, P. McDaniel, and A. N. Sheth. TaintDroid: an Information-Flow Tracking System for Realtime Privacy Monitoring on Smartphones. In Proceedings of the 9th USENIX conference on Operating systems design and implementation, OSDI'10, pages 1--6, Berkeley, CA, USA, 2010. USENIX Association.
[10]
D. Engler and K. Ashcraft. RacerX: Effective, Static Detection of Race Conditions and Deadlocks. In Proceedings of the Nineteenth ACM Symposium on Operating Systems Principles, SOSP '03, pages 237--252, New York, NY, USA, 2003. ACM.
[11]
A. C. for Science Department. NetLogger Toolkit - Example: Lifelines, 2010. http://acs.lbl.gov/NetLoggerWiki/index.php/NetLogger_Toolkit.
[12]
J. Fusco. The Linux Programmer's Toolbox. Prentice Hall PTR, Upper Saddle River, NJ, USA, 2007.
[13]
M. R. Guthaus, J. S. Ringenberg, D. Ernst, T. M. Austin, T. Mudge, and R. B. Brown. MiBench: A Free, Commercially Representative Embedded Benchmark Suite. In Proc. of the IEEE International Workload Characterization (WWC-4), pages 3--14, Washington, DC, USA, 2001. IEEE Computer Society.
[14]
D. Hildebrand. An Architectural Overview of QNX. In Proc. of the Workshop on Micro-kernels and Other Kernel Architectures, pages 113--126, Berkeley, CA, USA, 1992. USENIX Association.
[15]
G. C. Hunt and J. R. Larus. Singularity: Rethinking the Software Stack. SIGOPS Oper. Syst. Rev., 41(2):37--49, 2007.
[16]
I. S. Institute. Internet Protocol. RFC 791, Sept. 1981.
[17]
A. Kejariwal, A. V. Veidenbaum, A. Nicolau, M. Girkar, X. Tian, and H. Saito. On the Exploitation of Loop-level Parallelism in Embedded Applications. ACM Trans. Embed. Comput. Syst., 8(2):1--34, 2009.
[18]
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. V. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-Oriented Programming. In ECOOP, pages 220--242, 1997.
[19]
R. Krishnakumar. Kernel korner: kprobes-a Kernel Debugger. Linux J., 2005(133):11, 2005.
[20]
N. Krivokapić, A. Kemper, and E. Gudes. Deadlock Detection in Distributed Database Systems: a New Algorithm and a Comparative Performance Analysis. The VLDB Journal, 8:79--100, October 1999.
[21]
D. Li, P. Chou, and N. Bagherzadeh. Mode Selection and Mode-Dependency Modeling for Power-Aware Embedded Systems. In Proc. of the 2002 Asia and South Pacific Design Automation Conference (ASP-DAC), page 697, Washington, DC, USA, 2002.
[22]
T. Li, C. S. Ellis, A. R. Lebeck, and D. J. Sorin. Pulse: a Dynamic Deadlock Detection Mechanism Using Speculative Execution. In Proceedings of the annual conference on USENIX Annual Technical Conference, ATEC '05, pages 3--3, Berkeley, CA, USA, 2005. USENIX Association.
[23]
J. Liedtke. Toward Real Microkernels. Commun. ACM, 39:70--77, September 1996.
[24]
R. J. Moore. Dynamic Probes and Generalised Kernel Hooks Interface for Linux. In Proc. of the 4th Annual Linux Showcase & Conference (ALS), pages 35--35, Berkeley, CA, USA, 2000. USENIX Association.
[25]
S. Mysore, B. Mazloom, B. Agrawal, and T. Sherwood. Understanding and Visualizing Full Systems with Data Flow Tomography. SIGARCH Comput. Archit. News, 36(1):211--221, 2008.
[26]
W. D. Norcott. Filesystem Benchmark iozone. http://www.iozone.org/.
[27]
K. E. Philip Derrin, Dhammika Elkaduwe. sel4 Reference Manual. http://www.ertos.nicta.com.au/research/sel4/sel4-refman.pdf.
[28]
J. Poovey, T. Conte, M. Levy, and S. Gal-On. A Benchmark Characterization of the EEMBC Benchmark Suite. IEEE Micro, 29(5):18--29, 2009.
[29]
J. Real and A. Crespo. Mode Change Protocols for Real-Time Systems: A Survey and a New Proposal. Real-Time Systems, 26(2):161--197, 2004.
[30]
M. Rozier, V. Abrossimov, F. Armand, I. Boule, M. Gien, M. Guillemont, F. Herrmann, C. Kaiser, S. Langlois, P. Lonard, and W. Neuhauser. Overview of the CHORUS Distributed Operating Systems. Computing Systems, 1:39--69, 1991.
[31]
S. Schäfer and B. Scholz. Optimal Chain Rule Placement for Instruction Selection based on SSA Graphs. In Proc. of the 10th International Workshop on Software & Compilers for Embedded Systems (SCOPES), pages 91--100, New York, NY, USA, 2007. ACM.
[32]
B. Scholz, B. Burgstaller, and J. Xue. Minimal Placement of Bank Selection Instructions for Partitioned Memory Architectures. ACM Trans. Embed. Comput. Syst., 7(2):1--32, 2008.
[33]
Q. S. Systems. System Architecture - Interprocess Communication (IPC), 2010. http://www.qnx.com/developers/docs/6.4.1/neutrino/sys_arch/ipc.html.
[34]
I. Underbit Technologies. MAD: MPEG Audio Decoder, 2010. http://www.underbit.com/products/mad/.
[35]
R. Wilhelm, J. Engblom, A. Ermedahl, N. Holsti, S. Thesing, D. Whalley, G. Bernat, C. Ferdinand, R. Heckmann, T. Mitra, F. Mueller, I. Puaut, P. Puschner, J. Staschulat, and P. Stenström. The Worst-Case Execution-Time Problem - Overview of Methods and Survey of Tools. ACM Trans. Embed. Comput. Syst., 7:36:1--36:53, May 2008.
[36]
K. Yaghmour and M. R. Dagenais. Measuring and Characterizing System Behavior using Kernel-level Event Logging. In Proc. of the Annual Conference on USENIX Annual Technical Conference (ATC), pages 2--2, Berkeley, CA, USA, 2000. USENIX Association.

Cited By

View all
  • (2019)The use of mTags for mandatory securitySoftware—Practice & Experience10.1002/spe.222244:12(1511-1523)Online publication date: 4-Jan-2019
  • (2017)Intersert: Assertions on Distributed Process Interaction Sessions2017 IEEE International Conference on Software Quality, Reliability and Security (QRS)10.1109/QRS.2017.32(216-223)Online publication date: Jul-2017
  • (2017)A Reordering Framework for Testing Message-Passing Systems2017 IEEE 20th International Symposium on Real-Time Distributed Computing (ISORC)10.1109/ISORC.2017.6(109-116)Online publication date: May-2017
  • Show More Cited By
  1. mTags: augmenting microkernel messages with lightweight metadata

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM SIGOPS Operating Systems Review
    ACM SIGOPS Operating Systems Review  Volume 46, Issue 2
    July 2012
    92 pages
    ISSN:0163-5980
    DOI:10.1145/2331576
    Issue’s Table of Contents

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 16 July 2012
    Published in SIGOPS Volume 46, Issue 2

    Check for updates

    Qualifiers

    • Research-article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)3
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 12 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2019)The use of mTags for mandatory securitySoftware—Practice & Experience10.1002/spe.222244:12(1511-1523)Online publication date: 4-Jan-2019
    • (2017)Intersert: Assertions on Distributed Process Interaction Sessions2017 IEEE International Conference on Software Quality, Reliability and Security (QRS)10.1109/QRS.2017.32(216-223)Online publication date: Jul-2017
    • (2017)A Reordering Framework for Testing Message-Passing Systems2017 IEEE 20th International Symposium on Real-Time Distributed Computing (ISORC)10.1109/ISORC.2017.6(109-116)Online publication date: May-2017
    • (2014)D-RES: Correct transitive distributed service sharingProceedings of the 2014 IEEE Emerging Technology and Factory Automation (ETFA)10.1109/ETFA.2014.7005359(1-6)Online publication date: Sep-2014

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media