haskell httpd

S. Alexander Jacobson alex at alexjacobson.com
Mon Nov 10 13:33:06 EST 2003


Thank you for the discussion, but let me ask some more questions:

Simple questions:

1. Is there ssl support for the haskell httpd somewhere?
2. Does this httpd actually build w/ modern GHC?
3. Why doesn't haskell.org run this httpd?

More complex question:

Assumptions:
* This httpd can do >1000 req./sec. on modern CPUs (enough for me)
* I write-ahead log all PUT/POST/DELETE requests before executing
* I can reproduce server state at a given time by replaying the log
* I checkpoint periodically so I don't have to replay the whole log
* I treat each HTTP PUT/POST/DELETE as a discrete state transition

Question:
Can I make sure that I have concurrency only w/r/t client communication?

I don't want the thread of control to change during state
transitions.  What happens if state is too big to fit in memory?

* Does forkIO switch control if a thread writes to the disk but
write-caching is enabled or if the thread access some part of
memory that is swapped to disk?

Optimization question:
If I am using RAID, can I allow control to switch if I am handling
multiple GET requests but lock for PUT/POST/DELETE requests?

Notes:
* Write-caching means the app is not slowed by disk writes

* Write-ahead logs mean not worrying about crashes during writes

* If necessary, I can scale up GET performance using caching and multiple
  CPUs each doing log recovery.

-Alex-

___________________________________________________________________
S. Alexander Jacobson                      Check out my new blog!!!
1-212-787-1914 voice                       http://alexjacobson.com



More information about the Haskell mailing list