Jump to: navigation, search

MultiProcessCompute

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.