Posts tagged concurrency


Threads Suck

concurrency erlang eventmachine queueing | comments

Ricky Ho gives an excellent description of two competing models for concurrency: theads vs. sequential message passing.

Continue reading »


Versioned Concurrency Instead of Locks

databases concurrency | comments

Locking access to the data store is one way to provide safe concurrent access, but it starts to fall over as soon as you have more than a few scripts accessing the same Storage object. We have no locks in CouchDB, accomplished by using multi version concurrency control, a storage technique popularized by the PostgreSQL database. The MVCC approach would seem to be a simpler and more humane solution to the problem of concurrent storage usage.

Continue reading »


Backlogs and Request Time

dynos queueing scaling concurrency | comments

When we say that an http request takes 300ms on the server side, that number actually encompasses two phases. One phase is the time the request spends in the backlog, waiting for an available backend process (mongrel/thin/dyno). The second phase is how long it takes to process the request once it reaches the backend process. Conflating these two is a mistake, as it masks important information about what steps you can take to make your app able to handle more traffic.

Continue reading »