Added support for multiple event loop / IO threads for libev.

The current approach to I/O in libprocess, with a single thread
performing all of the the I/O polling and I/O syscalls, cannot keep
up with the I/O load on massive scale mesos clusters (which use
libev rather than libevent).

This adds support via a LIBPROCESS_LIBEV_NUM_IO_THREADS env variable
for configuring the number of threads running libev event loops,
which allows users to spread the IO load across multiple threads.

Review: https://reviews.apache.org/r/73136
3 files changed
tree: 00b863ef151ae6b107d11a6ea1a0fcccee1769a1
  1. 3rdparty/
  2. bin/
  3. cmake/
  4. docs/
  5. include/
  6. m4/
  7. site/
  8. src/
  9. support/
  10. .gitattributes
  11. bootstrap
  12. CHANGELOG
  13. CMakeLists.txt
  14. configure.ac
  15. Doxyfile
  16. LICENSE
  17. Makefile.am
  18. mesos.pc.in
  19. NOTICE
  20. README.md
README.md

Apache Mesos

Apache Mesos is a cluster manager that provides efficient resource isolation and sharing across distributed applications, or frameworks. It can run Hadoop, Jenkins, Spark, Aurora, and other frameworks on a dynamically shared pool of nodes.

Visit us at mesos.apache.org.

Mailing Lists

Documentation

Documentation is available in the docs/ directory. Additionally, a rendered HTML version can be found on the Mesos website's Documentation page.

Installation

Instructions are included on the Getting Started page.

License

Apache Mesos is licensed under the Apache License, Version 2.0.

For additional information, see the LICENSE and NOTICE files.