[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ 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 2010 Publication 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.

Supplementary Material

JPG File (haskell-1445-osullivan.jpg)
MOV File (haskell-1445-osullivan.mov)

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.
[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.
[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.
[4]
}}R. Hinze. A simple implementation technique for priority search queues. In Proceedings of the 2001 International Conference on Functional Programming, pages 110--121.
[5]
}}D. Jones Jr., S. Marlow, and S. Singh. Parallel performance tuning for Haskell. In Proceedings of the 2009 Haskell Symposium.
[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.
[7]
}}C. Okasaki and A. Gill. Fast mergeable integer maps. In Workshop on ML, pages 77--86, 1998.
[8]
}}B. O'Sullivan. Criterion, a new benchmarking library for Haskell. http://bit.ly/rUuAa, 2009.
[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.
[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.
[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.

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

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
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 30 September 2010

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. event management
  2. networking
  3. performance

Qualifiers

  • Research-article

Conference

ICFP '10
Sponsor:

Acceptance Rates

Overall Acceptance Rate 57 of 143 submissions, 40%

Upcoming Conference

ICFP '25
ACM SIGPLAN International Conference on Functional Programming
October 12 - 18, 2025
Singapore , Singapore

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 21 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2013)MioACM SIGPLAN Notices10.1145/2578854.250379048:12(129-140)Online publication date: 23-Sep-2013
  • (2013)MioProceedings of the 2013 ACM SIGPLAN symposium on Haskell10.1145/2503778.2503790(129-140)Online publication date: 23-Sep-2013
  • (2012)Analysis of event processing design patterns and their performance dependency on i/o notification mechanismsProceedings of the 2012 international conference on Multicore Software Engineering, Performance, and Tools10.1007/978-3-642-31202-1_6(54-65)Online publication date: 31-May-2012
  • (2011)Parallel and concurrent programming in HaskellProceedings of the 4th Summer School conference on Central European Functional Programming School10.1007/978-3-642-32096-5_7(339-401)Online publication date: 14-Jun-2011
  • (2011)Thread-Safe priority queues in haskell based on skiplistsProceedings of the 12th international conference on Trends in Functional Programming10.1007/978-3-642-32037-8_8(114-129)Online publication date: 16-May-2011
  • (2014)Eve: A Parallel Event-Driven Programming LanguageEuro-Par 2014: Parallel Processing Workshops10.1007/978-3-319-14313-2_15(170-181)Online publication date: 2014
  • (2012)A meta-scheduler for the par-monadACM SIGPLAN Notices10.1145/2398856.236456247:9(235-246)Online publication date: 9-Sep-2012
  • (2012)A meta-scheduler for the par-monadProceedings of the 17th ACM SIGPLAN international conference on Functional programming10.1145/2364527.2364562(235-246)Online publication date: 9-Sep-2012
  • (2012)Performance Modeling of Design Patterns for Distributed ComputationProceedings of the 2012 IEEE 20th International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems10.1109/MASCOTS.2012.37(251-258)Online publication date: 7-Aug-2012

View Options

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