×

PEBBL

swMATH ID: 13809
Software Authors: Eckstein, Jonathan; Hart, William E.; Phillips, Cynthia A.
Description: PEBBL: an object-oriented framework for scalable parallel branch and bound. Parallel Enumeration and Branch-and-Bound Library (PEBBL) is a C++ class library implementing the underlying operations needed to support a wide variety of branch-and-bound algorithms on MPI-based message-passing distributed-memory parallel computing environments. PEBBL can be customized to support application-specific operations, while managing the generic aspects of branch and bound, such as maintaining the active subproblem pool across multiple processors, load balancing, and termination detection. PEBBL is designed to provide highly scalable performance on large numbers of processor cores. We describe the basics of PEBBL’s architecture, with emphasis on the features most critical to is high scalability, including its flexible two-level load balancing architecture and its support for a synchronously parallel ramp-up phase. We also present an example application: the maximum monomial agreement problem arising from certain machine learning applications. For sufficiently difficult problem instances, we show essentially linear speedup on over 6000 processor cores, demonstrating a new state of the art in scalability for branch-and-bound implementations. We also show how processor cache effects can lead to reproducibly superlinear speedups.
Homepage: http://link.springer.com/article/10.1007%2Fs12532-015-0087-1
Keywords: branch and bound; parallel computation
Related Software: FiberSCIP; SCIP; CHiPPS; ParaSCIP; UG; SYMPHONY; ALPS; XPRESS; GAMS; MIPLIB2003; BiCePS; MIPLIB; MINLPLib; ParaXpress; ParaLEX; CPLEX; ParSSSE; BLIS; PICO; MINOTAUR
Cited in: 13 Documents

Citations by Year