Bug 463327 - [LTC 6.0 FEAT] 201721:BSR Support Library
[LTC 6.0 FEAT] 201721:BSR Support Library
Status: CLOSED WONTFIX
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: distribution (Show other bugs)
6.0
ppc64 All
high Severity high
: alpha
: ---
Assigned To: RHEL Product and Program Management
Daniel Riek
:
Depends On:
Blocks: 356741
  Show dependency treegraph
 
Reported: 2008-09-22 18:10 EDT by IBM Bug Proxy
Modified: 2009-08-11 22:32 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-06-24 13:50:13 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description IBM Bug Proxy 2008-09-22 18:10:39 EDT
=Comment: #0=================================================
Emily J. Ratliff <emilyr@us.ibm.com> - 2008-09-16 18:29 EDT
1. Feature Overview:
Feature Id:	[201721]
a. Name of Feature:	BSR Support Library
b. Feature Description
The BSR facility provides low-latency barrier synchronization, which is useful for HPC and other
multi-threaded applications that wish to wait until all threads have reached a certain point in the
program. The kernel support will be a device driver for a /dev/bsr device (or /dev/misc/bsr) which
supports mmap calls. A userspace library will provide an API similar to that provided by the AIX
bsr_alloc, bsr_query and bsr_free calls.

2. Feature Details:
Sponsor:	PPC
Architectures:
ppc64

Arch Specificity: Purely Arch Specific Code
Affects Installer: Yes
Delivery Mechanism: Direct from community
Category:	Power
Request Type:	Package - New
d. Upstream Acceptance:	Not Evaluated
Sponsor Priority	1
f. Severity: High
IBM Confidential:	no
Code Contribution:	IBM code
g. Component Version Target:	http://sourceforge.net/projects/libbsr/

3. Business Case
HPC improvement. This will be needed for parallel-processing applications so that the application
uses a BSR to perform barrier synchronization, which is a method for synchronizing the threads in
the parallel-processing application.

4. Primary contact at Red Hat: 
John Jarvis
jjarvis@redhat.com

5. Primary contacts at Partner:
Project Management Contact:
Michael Hohnbaum, hbaum@us.ibm.com, 503-578-5486

Technical contact(s):
Michael Wolf, mjwolf@us.ibm.com

IBM Manager:
Pat Gaughen, gaughen@us.ibm.com
Comment 1 Bill Nottingham 2008-10-02 11:52:38 EDT
See comments on bug 463320.
Comment 2 IBM Bug Proxy 2008-10-07 09:46:11 EDT
The question in 463320 is:
"Comment #1 From  Bill Nottingham (notting@redhat.com)  2008-10-02 11:43:48 EDT   (-) [reply] -------

Is there a reason this isn't done via libc support in pthread_barrier_*?"

BSR is really too restrictive to be used in a general barrier

implementation like in the pthreads library.
Comment 3 Bill Nottingham 2008-10-07 10:26:20 EDT
OK; it's just a shame that apps who would want to use this would have to use the POSIX pthread_* functions on one platform, and a platform-specific library function on another.
Comment 4 IBM Bug Proxy 2008-11-05 18:20:59 EST
(In reply to comment #7)
> ------- Comment From notting@redhat.com 2008-10-07 10:26:20 EDT-------
> OK; it's just a shame that apps who would want to use this would have to use
> the POSIX pthread_* functions on one platform, and a platform-specific library
> function on another.
>

Well the problem is that is is a very limited resource typically equal to the number of cpus on the system, and further it can only be partitioned in certain chunk sizes.  So the pthread library would have to track who was using it anyway and
fall back if it were unavailable.  In general I feel this would be slower.

The BSR probably _will_ be explited by OpenMP applications though where
the library itself abstracts all the details of locking away from the application and
it is very common to be running one thread per cpu across a whole machine.
Comment 5 IBM Bug Proxy 2009-03-02 13:12:23 EST
The code is complete and resides at http://sourceforge.net/projects/libbsr/
libbsr - 0.2
Comment 6 Siddharth Nagar 2009-06-24 13:38:30 EDT
This library is best suited for inclusion in EPEL. All enablers currently exist in glibc and the kernel to support this functionality. Product Management doesn't see sufficient justification for inclusion in RHEL proper.
Comment 7 RHEL Product and Program Management 2009-06-24 13:50:13 EDT
Product Management has reviewed and declined this request.  You may appeal this
decision by reopening this request.
Comment 8 IBM Bug Proxy 2009-08-11 22:32:40 EDT
------- Comment From tonyb@au1.ibm.com 2009-08-11 20:07 EDT-------
(In reply to comment #10)
> This library is best suited for inclusion in EPEL. All enablers currently exist
> in glibc and the kernel to support this functionality. Product Management
> doesn't see sufficient justification for inclusion in RHEL proper.
>

EPEL doesn't support the ppc64 architecture (only ppc)  libbsr dosn't make sense on the ppc platform.  This creates somewhat of an impass.

Note You need to log in before you can comment on or make changes to this bug.