The Cell processor is an example of the trade-o s made when designing a mass market power e cient multi-core machine, but the machine-exposing architecture and raw communication mechanisms of Cell are hard to manage for a programmer. Cell's design is simple and causes software complexity to go up in the areas of achieving low threading overhead, good bandwidth e ciency, and load balance. Several attempts have been made to produce e cient and e ective programming systems for Cell, but the attempts have been too specialized and thus fall short. We present Jack Rabbit, an e cient thread pool work queue implementation, with load balancing mechanisms and double bu ering. Our system incurs low threading overhead, gets good load balance, and achieves bandwidth e ciency. Our system represents a step towards an e ective way to program Cell and any similar current or future processors."