[Haskell-cafe] Haskell and concurrency

S. Alexander Jacobson haskell at alexjacobson.com
Fri Jun 25 16:03:28 EDT 2004


On Fri, 25 Jun 2004, Simon Marlow wrote:
> Concurrent Haskell is designed to provide exactly the kind of
> lightweight concurrency you're after.  It won't be as quick as a custom
> application-specific threading model in the way you describe, but it's a
> *lot* faster than using one OS-thread for each thread in your system.
>
> And if you find it to be still too slow for your application, we know of
> several ways to speed it up...

That's exciting.  I am currently working on a
web-appserver framework that relies on concurent
Haskell (hence all my postings to the list about
concurrent haskell issues).

My theory is, given that you were able to achieve
~1000 requests/second in 2000, I should be able to
serve 10k HTTP requests per second on a regular
modern beige box. (~5m unique users at 1 visit/day
10 clicks per visit 10 request per click). If I
need less than 5k of server state per visitor then
I can operate a fairly substantial web site on
e.g. a 32GB Dell PowerEdge for under $50k ($.01/user)!
http://configure.us.dell.com/dellstore/config.aspx?c=us&cs=555&l=en&oc=PE7250PAD&s=biz

I currently have working:

* ACID semantics on an abstract serializable state
  Constraints:
  * each request must encapsulate the entire transaction
  * requests and state must be instances of Read/Show
  * state must fit in memory (though this is looser than it appears)
* in order execution of all sideeffects
* multiple sideeffect queues
* at least once execution of all sideeffects
* very basic HTTP serving framework for these apps
  (SMTP framework coming soon)
* a basic relational database (not yet serializable)
  that will eventually be used as a concrete state
  implementation

I am now working on an application to run on the
framework and use these features.  I'll post
when the design is more proven and its time to
reach those performance levels.

-Alex-

_________________________________________________________________
S. Alexander Jacobson                  mailto:me at alexjacobson.com
tel:917-770-6565                       http://alexjacobson.com






More information about the Haskell-Cafe mailing list