WL#3695: Using epoll instead of select to enhance scalability of MySQL Cluster

Affects: Server-6.0   —   Status: Code-Review

Both select and poll have large overhead to set-up each
file descriptor. For ndbd and mysqld communication within
the cluster the select call always sets up the same file
descriptors for waiting for events.

When the number of file descriptors are low this is not a
problem, as number of file descriptors become large in the
range of one hundred then this overhead is too large.

In Linux there is a system call to handle this called epoll.
This WL is aimed as a first step to analyse epoll and see
how well it can be used in the NDB environment. If this is
successful a prototype and test can be set-up as well and
performance of it measured to it if the improvement is
positive. Finally if this is successful then consider it for
introduction in MySQL Cluster.

This WL is only about the analysis phase.

Links:
  http://www.kegel.com/c10k.html - "The C10K problem", a very nice article about
how to improve select/poll as the number of connections grow.