RPM Community Forums

Mailing List Message of <rpm-users>

Re: rpm errors upon running

From: Jeff Johnson <n3npq@mac.com>
Date: Sat 25 Jun 2011 - 04:40:07 CEST
Message-id: <8AB9F051-659A-4F29-88D1-B4FD52328B2B@mac.com>

On Jun 23, 2011, at 1:04 PM, Miller, Vincent (Rick) wrote:

> I had not loaded berkely-db because I thought I had read somewhere that there was a bundled berkley-db with RPM5.  I have since loaded Berkley-DB 5.1.x from FreeBSD ports and was able to get the compile to move along further.


> It failed later when attempting to link against libgomp which is not installed on the system.  I am planning to reconfigure disabling OpenMP, unless it provides a feature we might be able to utilize.  Can you clarify the features OpenMP provides to RPM5?

RPM is headed towards multi-threaded installs.

One way to achieve parallelism would be to use OpenMP.

When looking at feasibility, I parallelized the loop over multiple digests
(not the digest algorithms per se which are nearly impossible to parallelize)
used by RPM and benchmarked rpm digest (which can run >100 digests
in parallel directly off of input/output buffers) and measured a 7x speed-up
on a 4-way.

Since a 7x speedup from a single #pragma is a quite remarkable gain,
I parallelized --verify to see how much gain might be achieved in a
non-artificial "real world" case. The results there were less impressive
(~1.5x faster from a primitive implementation, since improved to ~2x
back in Jabuary in rpm-5.4.0).

The refactoring cost to use OpenMP #pragma in RPM code would
be considerable, and so likely OpenMP will NOT be used when
RPM becomes multi-threaded.

So the "feature" provided by using OpenMP in 5.3.1 is that --verify
would run ~1.6x faster on SMP.

I personally wouldn't bother too much with OpenMP on FreeBSD based
on my experiences compiling and using RPM on Mac OS X, where attempting
to use GOMP and GCC is a rather rugged wilderness trek, paddling upstream and swatting
lots and lots of mosquitoes while trying to avoid more dangerous fauna.

YMMV of course ;-)


73 de Jeff
Received on Sat Jun 25 21:45:45 2011
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.