[sheepdog] [PATCH 0/3] work: implement a dynamically changing thread pool

MORITA Kazutaka morita.kazutaka at lab.ntt.co.jp
Mon Oct 22 06:31:02 CEST 2012


Currently, sheep calls a pthread_create for every I/O request, but the
overhead is not so cheap.  On my environment, it takes 320
microseconds for sheep to process 4 KB write, but I found that sheep
spends 30~40 microseconds in pthread_create.

This series removes a short thread and implements a dynamic worker
thread pool based on the previous work queue implementation.  With
this series, the 4 KB write performance was increased from 3100 IOPS
to 3350 IOPS on my environment.

MORITA Kazutaka (3):
  work: remove short thread
  work: enlarge the number of worker threads dynamically
  work: shrink the number of worker threads dynamically

 include/util.h |    2 +-
 lib/logger.c   |    4 +-
 sheep/work.c   |  168 +++++++++++++++++++++++++++----------------------------
 sheep/work.h   |    5 +-
 4 files changed, 89 insertions(+), 90 deletions(-)

-- 
1.7.2.5




More information about the sheepdog mailing list