The document describes the SEDA (Staged Event-Driven Architecture) framework. SEDA divides applications into stages connected by queues. Each stage has a thread pool and dynamic resource controllers that adjust thread allocation to meet performance targets. This allows applications built with SEDA to scale responsive and robustly handle varying load. SEDA was implemented in a system called Sandstorm that provides APIs for building networked services using asynchronous I/O and event-driven programming. Example services implemented with SEDA demonstrated improved throughput and response times under heavy load compared to traditional concurrency approaches.