• DocumentCode
    296671
  • Title

    Friendly and efficient message handling

  • Author

    Bhoedjang, R.A.F. ; Langendoen, K.G.

  • Author_Institution
    Dept. of Math. & Comput. Sci., Vrije Univ., Amsterdam, Netherlands
  • Volume
    1
  • fYear
    1996
  • fDate
    3-6 Jan 1996
  • Firstpage
    121
  • Abstract
    Since communication software spends a significant amount of time on handling incoming messages, it is desirable that message handlers avoid expensive context-switches on frequently executed paths. High-performance active message systems demand that handlers run to completion without blocking. Unfortunately, disallowing all blocking in handlers makes it hard to integrate them into large, preemption-based systems, because each potentially blocking action, including library calls, must be rewritten. We have implemented a portable, hybrid upcall mechanism that is easier to use than active messages yet avoids unnecessary thread switching. The key idea is that message handlers are only allowed to block on locks protecting shared data. Inside message handlers, blocking on synchronous communication and condition variables is not allowed. This restriction allows most messages to be processed without unnecessary thread switching on the critical path. When a message handler has to suspend its work, it explicitly creates a continuation. We have added hybrid upcalls to the runtime system (RTS) of Orca, an object-based distributed shared memory system. By removing a thread switch from the critical path, remote object invocation latencies dropped by 300 μs. By building application-specific continuations rather than blocking a thread, we significantly reduced memory consumption by the Orca RTS. Finally, fewer undesired thread preemptions occur, because most messages are handled by a single thread
  • Keywords
    computer communications software; distributed memory systems; electronic messaging; object-oriented programming; shared memory systems; 300 mus; Orca runtime system; application-specific continuations; blocking; condition variables; context switches; efficient message handling; frequently executed paths; high-performance active message systems; library calls; locks; memory consumption; object-based distributed shared memory system; portable, hybrid upcall mechanism; preemption-based systems; remote object invocation latencies; shared data protection; synchronous communication; thread preemptions; thread switching; Communication switching; Context; Delay; Ethernet networks; Hardware; Libraries; Mathematics; Protection; Switches; Yarn;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    System Sciences, 1996., Proceedings of the Twenty-Ninth Hawaii International Conference on ,
  • Conference_Location
    Wailea, HI
  • Print_ISBN
    0-8186-7324-9
  • Type

    conf

  • DOI
    10.1109/HICSS.1996.495455
  • Filename
    495455