Thumbnail
Access Restriction
Open

Author Li, Peng
Source CiteSeerX
Content type Text
File Format PDF
Language English
Subject Domain (in DDC) Computer science, information & general works ♦ Data processing & computer science
Subject Keyword Concurrent Software ♦ Linux Nptl ♦ Symmetrical Multiprocessing ♦ Application-level Network Protocol Stack ♦ Haskell Implementation Support Exception ♦ Real-world Network Service ♦ Concurrent Network Service ♦ Concurrency Monad ♦ Application Level ♦ Monad-based Approach ♦ Hybrid Design ♦ Event-driven Model ♦ Subject Descriptor ♦ Programming Model ♦ Multithreaded Model ♦ Hybrid Model ♦ Experimental Result ♦ Scalable Network Service ♦ Type-safe Abstraction ♦ Good Performance ♦ Software Transactional Memory
Description This paper proposes to combine two seemingly opposed programming models for building massively concurrent network services: the event-driven model and the multithreaded model. The result is a hybrid design that offers the best of both worlds—the ease of use and expressiveness of threads and the flexibility and performance of events. This paper shows how the hybrid model can be implemented entirely at the application level using concurrency monads in Haskell, which provides type-safe abstractions for both events and threads. This approach simplifies the development of massively concurrent software in a way that scales to real-world network services. The Haskell implementation supports exceptions, symmetrical multiprocessing, software transactional memory, asynchronous I/O mechanisms and application-level network protocol stacks. Experimental results demonstrate that this monad-based approach has good performance: the threads are extremely lightweight (scaling to ten million threads), and the I/O performance compares favorably to that of Linux NPTL. Categories and Subject Descriptors D.1.1 [Programming techniques]:
In Proc. 2007 PLDI
Educational Role Student ♦ Teacher
Age Range above 22 year
Educational Use Research
Education Level UG and PG ♦ Career/Technical Study
Learning Resource Type Article
Publisher Date 2007-01-01