[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
RE: Massive scalability
> -----Original Message-----
> From: owner-openldap-software@OpenLDAP.org
> [mailto:owner-openldap-software@OpenLDAP.org]On Behalf Of Michael
> Donnelly
> Has anyone had any experience running OpenLDAP under 64-bit operating
> systems?
>
> I am planning to run
> * OpenLDAP 2.0.23
> * Berkeley DB 4.0.14.
> * OS: SuSE SLES with the 2.4.17 kernel
> * HW: IBM 390
>
> I'm interested in knowing:
> 1) Does going to a 64-bit increase the performance relative to running
> under 32-bit?
> 2) How does going to 64-bit affect the overall number of users that I
> can store in the directory? (I'm looking in the 10-30 million
> entry range.)
>
> Any feedback will be greatly appreciated.
Hello Michael,
1) This is really a question of hardware and system design. In general, a
64-bit compilation of a source base will be twice as large as a 32-bit
compilation of the same code. So the performance difference depends on:
a) does the CPU architecture suffer a performance loss using 32-bit
software
on a 64-bit machine?
b) does the memory bus and I/O subsystem support the increased bandwidth
required to page the larger code in and out?
c) does the CPU cache effectiveness suffer from storing fewer 64-bit
instructions than it could store in 32-bit instructions?
My guess is that unless (a) is true, 32-bit code will always be faster due
to (b) and (c). An instruction prefetch that can handle 64-bit instructions
should be twice as effective at prefetching 32-bit instructions. For most
applications, using 64-bit instructions will actually lower performance. The
only reason to go there is when you need 64-bit addressing because your data
sets are that large. Of course, the only 64-bit machine I've programmed
recently is an UltraSparc, my last experience with an IBM mainframe was a
32-bit IBM 3090 so the experience isn't directly relevant.
2) In general, the data structures in the slapd code assume 32-bit integers.
I can't think of any off the top of my head that would benefit from a 64-bit
int. Given that 32-bit entry IDs can already handle 4 billion entries, I
don't see any relevance for a 30 million entry directory. Maybe someone else
will have an idea here...
-- Howard Chu
Chief Architect, Symas Corp. Director, Highland Sun
http://www.symas.com http://highlandsun.com/hyc
Symas: Premier OpenSource Development and Support