skip to main content
10.1145/1863523.1863536acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
research-article

Scalable i/o event handling for GHC

Published:30 September 2010Publication History

ABSTRACT

We have developed a new, portable I/O event manager for the Glasgow Haskell Compiler (GHC) that scales to the needs of modern server applications. Our new code is transparently available to existing Haskell applications. Performance at lower concurrency levels is comparable with the existing implementation. We support millions of concurrent network connections, with millions of active timeouts, from a single multithreaded program, levels far beyond those achievable with the current I/O manager. In addition, we provide a public API to developers who need to create event-driven network applications.

Skip Supplemental Material Section

Supplemental Material

haskell-1445-osullivan.mov

mov

93.9 MB

References

  1. }}P. Haller and M. Odersky. Actors that unify threads and events. In Proceedings of the International Conference on Coordination Models and Languages, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. }}T. Harris, S. Marlow, and S. Peyton Jones. Haskell on a shared-memory multiprocessor. In Haskell '05: Proceedings of the 2005 ACM SIGPLAN workshop on Haskell, pages 49--61. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. }}T. Harris, S. Marlow, S. Peyton Jones, and M. Herlihy. Composable memory transactions. In PPoPP '05: Proceedings of the tenth ACM SIGPLAN symposium on Principles and Practice of Parallel Programming, pages 48--60. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. }}R. Hinze. A simple implementation technique for priority search queues. In Proceedings of the 2001 International Conference on Functional Programming, pages 110--121. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. }}D. Jones Jr., S. Marlow, and S. Singh. Parallel performance tuning for Haskell. In Proceedings of the 2009 Haskell Symposium. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. }}S. Marlow, S. Peyton Jones, and W. Thaller. Extending the Haskell foreign function interface with concurrency. In Haskell '04: Proceedings of the ACM SIGPLAN workshop on Haskell, pages 57--68. URL http://www.haskell.org/~simonmar/papers/conc-ffi.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. }}C. Okasaki and A. Gill. Fast mergeable integer maps. In Workshop on ML, pages 77--86, 1998.Google ScholarGoogle Scholar
  8. }}B. O'Sullivan. Criterion, a new benchmarking library for Haskell. http://bit.ly/rUuAa, 2009.Google ScholarGoogle Scholar
  9. }}L. Peng and S. Zdancewic. Combining events and threads for scalable network services. In PLDI '07: Proceedings of the 2007 ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 189--199. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. }}S. Peyton Jones, A. Gordon, and S. Finne. Concurrent Haskell. In POPL '96: Proceedings of the 1996 Annual Symposium on Principles of Programming Languages, pages 295--308. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. }}R. von Behren, J. Condit, and E. Brewer. Why events are a bad idea (for high-concurrency servers). In HotOS IX: 9th Workshop on Hot Topics in Operating Systems, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Scalable i/o event handling for GHC

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in
              • Published in

                cover image ACM Conferences
                Haskell '10: Proceedings of the third ACM Haskell symposium on Haskell
                September 2010
                166 pages
                ISBN:9781450302524
                DOI:10.1145/1863523
                • cover image ACM SIGPLAN Notices
                  ACM SIGPLAN Notices  Volume 45, Issue 11
                  HASKELL '10
                  November 2010
                  156 pages
                  ISSN:0362-1340
                  EISSN:1558-1160
                  DOI:10.1145/2088456
                  Issue’s Table of Contents

                Copyright © 2010 ACM

                Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 30 September 2010

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • research-article

                Acceptance Rates

                Overall Acceptance Rate57of143submissions,40%

                Upcoming Conference

                ICFP '24

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader