Tumblelog by Soup.io
Newer posts are loading.
You are at the newest post.
Click here to check if anything new just came in.

December 18 2013

Mio: A High-Performance Multicore IO Manager for GHC

Evaluations of the GHC RTS [...] show that it does not scale well on multicore processors, leading to poor performance of many network applications that try to use lightweight Haskell threads. In this paper, we show that the GHC IO manager, which is a crucial component of the GHC RTS, is the scaling bottleneck. Through a series of experiments, we identify key data structure, scheduling, and dispatching bottlenecks of the GHC IO manager. We then design a new multicore IO manager named Mio that eliminates all these bottlenecks. Our evaluations show that the new Mio manager improves realistic web server throughput by 6.5x and reduces expected web server response time by 5.7x. We also show that with Mio, McNettle (an SDN controller written in Haskell) can scale effectively to 40+ cores, reach a throughput of over 20 million new requests per second on a single machine, and hence become the fastest of all existing SDN controllers.

Mio: A High-Performance Multicore IO Manager for GHC

Evaluations of the GHC RTS [...] show that it does not scale well on multicore processors, leading to poor performance of many network applications that try to use lightweight Haskell threads. In this paper, we show that the GHC IO manager, which is a crucial component of the GHC RTS, is the scaling bottleneck. Through a series of experiments, we identify key data structure, scheduling, and dispatching bottlenecks of the GHC IO manager. We then design a new multicore IO manager named Mio that eliminates all these bottlenecks. Our evaluations show that the new Mio manager improves realistic web server throughput by 6.5x and reduces expected web server response time by 5.7x. We also show that with Mio, McNettle (an SDN controller written in Haskell) can scale effectively to 40+ cores, reach a throughput of over 20 million new requests per second on a single machine, and hence become the fastest of all existing SDN controllers.

January 19 2013

Simonpj/Talk:FunWithTypeFuns - HaskellWiki

Ole Kiselyov, Simon Peyton Jones, Chung-chieh Shan: Tony Hoare has always been a leader in writing down and proving properties of programs. To prove properties of programs automatically, the most widely used technology today is by far the ubiquitous type checker. Alas, static type systems inevitably exclude some good programs and allow some bad ones. This dilemma motivates us to describe some fun we've been having with Haskell, by making the type system more expressive without losing the benefits of automatic proof and compact expression.

Simonpj/Talk:FunWithTypeFuns - HaskellWiki

Ole Kiselyov, Simon Peyton Jones, Chung-chieh Shan: Tony Hoare has always been a leader in writing down and proving properties of programs. To prove properties of programs automatically, the most widely used technology today is by far the ubiquitous type checker. Alas, static type systems inevitably exclude some good programs and allow some bad ones. This dilemma motivates us to describe some fun we've been having with Haskell, by making the type system more expressive without losing the benefits of automatic proof and compact expression.

January 17 2013

IO inside

The following text is an attempt to explain the details of Haskell I/O implementations.

IO inside

The following text is an attempt to explain the details of Haskell I/O implementations.

January 03 2013

Tackling the Awkward Squad: monadic input/output, concurrency, exceptions, and foreign-language calls in Haskell

Simon Peyton Jones: This tutorial focuses on explaining the "bits round the edges" of Haskell programs, rather than the beautiful functional core we all know and love.

Tackling the Awkward Squad: monadic input/output, concurrency, exceptions, and foreign-language calls in Haskell

Simon Peyton Jones: This tutorial focuses on explaining the "bits round the edges" of Haskell programs, rather than the beautiful functional core we all know and love.

December 26 2012

A History of Haskell - Being Lazy With Class

Paul Hudak, John Hughes, Simon Peyton Jones, Philip Wadler - This paper describes the history of Haskell, including its genesis and principles, technical contributions, implementations and tools, and applications and impact.

A History of Haskell - Being Lazy With Class

Paul Hudak, John Hughes, Simon Peyton Jones, Philip Wadler - This paper describes the history of Haskell, including its genesis and principles, technical contributions, implementations and tools, and applications and impact.

The Downfall of Imperative Programming

Bartosz Milewski: "After dedicating many years of my life to C++ and imperative languages, I decided to switch to functional programming and try to convince as many programmers as I can to make the same decision."

The Downfall of Imperative Programming

Bartosz Milewski: "After dedicating many years of my life to C++ and imperative languages, I decided to switch to functional programming and try to convince as many programmers as I can to make the same decision."

September 05 2012

Type Families

Type families are a Haskell extension supporting ad-hoc overloading of data types

Generalized Algebraic Datatypes (GADT)

Generalized Algebraic Datatypes basically allow you to explicitly write down the types of the constructors of a type

Phantom type

A phantom type is a parametrized type whose parameters do not all appear on the right-hand side of its definition

Hoopl: A Modular, Reusable Library for Dataflow Analysis and Transformation

Norman Ramsey, John Dias, and Simon Peyton Jones. Haskell Symposium 2010.

July 31 2012

August 24 2011

August 20 2011

Older posts are this way If this message doesn't go away, click anywhere on the page to continue loading posts.
Could not load more posts
Maybe Soup is currently being updated? I'll try again automatically in a few seconds...
Just a second, loading more posts...
You've reached the end.

Don't be the product, buy the product!

Schweinderl