Mathematical Programming Computation

, Volume 7, Issue 4, pp 429–469

PEBBL: an object-oriented framework for scalable parallel branch and bound

  • Jonathan Eckstein
  • William E. Hart
  • Cynthia A. Phillips
Full Length Paper

DOI: 10.1007/s12532-015-0087-1

Cite this article as:
Eckstein, J., Hart, W.E. & Phillips, C.A. Math. Prog. Comp. (2015) 7: 429. doi:10.1007/s12532-015-0087-1

Abstract

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.

Keywords

Branch and bound Parallel computation 

Mathematics Subject Classification

90C57 65Y05 

Copyright information

© Springer-Verlag Berlin Heidelberg and The Mathematical Programming Society 2015

Authors and Affiliations

  • Jonathan Eckstein
    • 1
  • William E. Hart
    • 2
  • Cynthia A. Phillips
    • 3
  1. 1.Department of Management Science and Information Systems and RUTCORRutgers UniversityPiscatawayUSA
  2. 2.Center for Computing ResearchSandia National LaboratoriesAlbuquerqueUSA
  3. 3.Center for Computing ResearchSandia National LaboratoriesAlbuquerqueUSA

Personalised recommendations