[Date Prev][Date Next] [Chronological] [Thread] [Top]

RE: Thread-local malloc discussion summary

Here are some porfile results.

1. slapd without local malloc


servers/slapd/slapd : 44.5%
libpthread : 12.2%
libc : 19.4%
vmlinux : 10.7%
libdb : 8.2%

DirMark : 2104.5

2. slapd with  local malloc


servers/slapd/slapd : 50.74%
libpthread : 5.5%
libc : 16.7%
vmlinux : 12.2%
libdb : 9.6%

DirMark : 2302.0

As shown, the % of time spent in libpthread is reduced from 12.2% to 5.5%.
As more of the global malloc was replaced with local malloc as of now,
the numbers might go down further.
DirMark was up around 10% (from 2100 to 2300).

>From the profile result file, libdb also consumes quite high % of time
even when entries are all cached. This is because back-bdb uses
BDB locking facility. Considering that all the requests in the experiment
consists of only searches and it is highly unlikely to request the same
directory entry at the same time in the experiment, 10% of BDB locking
overhead seems very high.

libc overhead also quite high. I'll try to get further dissection to see
where in libc time is spent.

The above is a UP result on PIII 1G machine.
MP result will be posted somewhat later, because I have to setup
profiling environment for it.

- Jong

Jong Hyuk Choi
IBM Thomas J. Watson Research Center - Enterprise Linux Group
P. O. Box 218, Yorktown Heights, NY 10598
email: jongchoi@us.ibm.com
(phone) 914-945-3979    (fax) 914-945-4425   TL: 862-3979