• DocumentCode
    656201
  • Title

    A Flexible Approach to Staged Events

  • Author

    Salmito, Tiago ; de Moura, Ana Lucia ; Rodriguez, N.

  • Author_Institution
    Dept. de Inf., Pontificia Univ. Catolica do Rio de Janeiro (PUC-Rio), Rio de Janeiro, Brazil
  • fYear
    2013
  • fDate
    1-4 Oct. 2013
  • Firstpage
    661
  • Lastpage
    670
  • Abstract
    The Staged Event Driven Architecture (SEDA) can be seen as a milestone as regards integration of threads and events in a single model. By decomposing applications into sets of multi-threaded stages connected by event queues, SEDA allows for the use of each concurrency model where most appropriate. Inside each SEDA stage, the number and scheduling policy of threads can be adjusted to enhance performance. SEDA lends itself to parallelization on multicores and is well-suited for many high-volume data stream processing systems and highly concurrent event processing systems. In this paper, we discuss the design of Leda, a platform that extends the staged model proposed by SEDA, decoupling application design from specific execution environments. In Leda, stages are defined purely by their role in application logic, with no concern for locality of execution, and are bound together through asynchronous communication channels, called connectors, to form a directed graph representing the flow of events inside the application. Decisions about the configuration of the application at execution time are delayed to later phases of the implementation process. Stages in the application graph can then be grouped to form clusters, and each cluster is mapped to an exclusive OS process, running on an arbitrary host. The paper briefly reviews a classification of hybrid concurrent models in order to establish SEDA´s and Leda´s role in this space. It then describes the design of Leda, which emphasizes decoupling at several levels, and discusses how its implementation in Lua helped to reinforce these design goals.
  • Keywords
    concurrency control; directed graphs; multi-threading; parallel architectures; Leda; SEDA; application logic; asynchronous communication channels; directed graph; hybrid concurrent model classification; staged event driven architecture; Concurrent computing; Connectors; Instruction sets; Kernel; Parallel processing; Runtime; Servers; concurrency; event-driven; stages; threads;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel Processing (ICPP), 2013 42nd International Conference on
  • Conference_Location
    Lyon
  • ISSN
    0190-3918
  • Type

    conf

  • DOI
    10.1109/ICPP.2013.80
  • Filename
    6687404