Open MPI logo

PLPA Users' Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all PLPA Users mailing list

Subject: [PLPA users] [PATCH 0/5] Greatly reduce memory needs for socket arrays
From: Bert Wesarg (bert.wesarg_at_[hidden])
Date: 2009-07-23 17:47:45


I just got access to an SGI Altix machine with 192 dual core Itaniums and I
noticed the vary high socket id numbers, they range from 262144 to 359936.
For the (temporary) cores_on_sockets array that would be around 43MB.

This patch series addresses this problem.

The first two patches will abstract between the socket_ids and the socket
arrays, to make the actual changes less intrusive.

Patch 1/5 will introduce a mapping function from socket_id to indexes into the
socket arrays and back. There is no functional change.

Patch 2/5 will introduce a variable which holds the extent of the indexes of
the socket arrays (i.e. the actual size of these arrays). There is no
functional change.

Patch 3/5 will maintain the minimum socket_id, so that we can subtract this
minimum from all the array extent.

Patch 4/5 will calculate the length of common trailing zeros in all socket_ids,
so that we can safely shift away these zeros.

(Optional) Patch 5/5 will introduce get_socket_info3(), so that the user can have access
to the min_socket_id.

After this patch the range of socket indexes is down to 0..191, which gives
nice small arrays.

Bye,
Bert

PS: I will test this on the SGI machine tomorrow.

---
 src/libplpa/plpa.h.in  |    6 ++
 src/libplpa/plpa_map.c |  131 +++++++++++++++++++++++++++++++++++------------
 2 files changed, 103 insertions(+), 34 deletions(-)