[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