Jump to: navigation, search

MultiProcessCompute

Revision as of 23:29, 17 February 2013 by Ryan Lane (talk | contribs) (Text replace - "__NOTOC__" to "")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

All services in Nova currently use eventlet as it's basis for concurrency. Experience with eventlet has resulted in a handful of downsides:

  • Integration with Python and third-party libraries is less than perfect
  • It is a source of some hard-to-troubleshoot bugs in logging and exception handlers

Experience with running the compute service has shown that there is little shared state between threads. As a result, switching to a multi-process model should help avoid the downsides of eventlet, while providing an well understood and easy to use model.