Re: dup() scales badly on multicore platform

From: Robert Watson <rwatson_at_FreeBSD.org>
Date: Thu, 2 Apr 2009 11:52:36 +0100 (BST)
On Thu, 2 Apr 2009, 崔岩ccuiyyan_at_sina.com wrote:

>       i benchchmark the dup() system call on 32 cores machine in 
> FreeBSD-current8.0.
>
>       The results are bad. The phenomenon is easy to come out. Each 
> process(not thread) on the core
>
>       dup() its private file, and close() in a tight loop. The time 
> completing the parallel workload
>
>       is considered as performance. At first, i think there are some locks. 
> However, lock profiling
>
>       in FreeBSD is strange and interesting. I attach the graph and lock 
> profiling. Any ideas?

Could you post your benchmark code?  It sounds from the above as though you 
have 32 processes, ecah dup'ing and closing a descriptor originally created in 
that process (and not a shared descriptor with other processes)?

Robert N M Watson
Computer Laboratory
University of Cambridge
Received on Thu Apr 02 2009 - 08:52:37 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:45 UTC