A Zoomable Interactive Python Thread Visualization

David M Beazley (http://www.dabeaz.com)

512 I/O Bound Threads Running on 1 CPU (Amazon EC2, Linux)

On February 11, 2010, I launched a single large EC2 instance running a custom HTTP server written entirely in Python. That server launched a pool 512 execution threads running inside a version of the interpreter modified to record thread and GIL traces. I then used Twitter and my blog to ask Python programmers to launch an all out assault on the server with the hope of bringing it to a crushing death.

This visualization shows the server behavior when only one CPU core is enabled. If you zoom in, you will astutely observe that almost all of the GIL thrashing has gone away.

Click here to see a continuation of the server running back on 2 CPUs, but with more of a steady load.

512 I/O Bound Threads on 1 CPU (1 CPU)

+ -

Acquired and running Busy Retry

Test Details

Tests were conducted on the following system:

Take Me To More Visualizations!