Abstract
The simplex method has been successfully used in solving linear programming (LP) problems for many years. Parallel approaches have also extensively been studied due to the intensive computations required, especially for the solution of large LP problems. Furthermore, the rapid proliferation of multicore CPU architectures as well as the computational power provided by the massive parallelism of modern GPUs have turned CPU / GPU collaboration models increasingly into focus over the last years for better performance. In this paper, a highly scalable implementation framework of the standard full tableau simplex method is first presented, over a hybrid parallel platform which consists of multiple multicore nodes interconnected via a high-speed communication network. The proposed approach is based on the combined use of MPI and OpenMP, adopting a suitable column-based distribution scheme for the simplex tableau. The parallelization framework is then extended in such a way that it can exploit concurrently the full power of the provided resources on a multicore single-node environment with a CUDA-enabled GPU (i.e. using the CPU cores and the GPU concurrently), based on a suitable hybrid multithreading/GPU offloading scheme with OpenMP and CUDA. The corresponding experimental results show that the hybrid MPI+OpenMP based parallelization scheme leads to particularly high speed-up and efficiency values, considerably better than in other competitive approaches, and scaling well even for very large / huge linear problems. Furthermore, the performance of the hybrid multithreading/GPU offloading scheme is clearly superior to both the OpenMP-only and the GPU-only based implementations in almost all cases, which validates the worth of using both resources concurrently. The most important, when it is used in combination with MPI in a multi-node (fully hybrid) environment, it leads to substantial improvements in the speedup achieved for large and very large LP problems.
Highlights
Linear programming is the most important and well studied optimization problem
In this work we focus on the parallelization of the standard full tableau simplex method and we firstly present and evaluate a relevant highly scalable implementation for the most efficient of the hybrid parallelization alternatives referred above (MPI+OpenMP) assuming there are not GPUaccelerators in our hybrid hardware platform
We focus here on the standard full tableau format of the simplex method, which is more efficient for full dense linear problems and it can be converted to a distributed version for cluster platforms or hybrid environments
Summary
Linear programming is the most important and well studied optimization problem. The simplex method, which can be found in many textbooks, has been successfully used for solving linear programming problems for many years. In this work we focus on the parallelization of the standard full tableau simplex method and we firstly present and evaluate a relevant highly scalable implementation (on the basis of a carefully designed column-based distribution scheme) for the most efficient of the hybrid parallelization alternatives referred above (MPI+OpenMP) assuming there are not GPUaccelerators in our hybrid hardware platform. In all cases the hybrid MPI+OpenMP based parallelization scheme leads to considerably high speedup and efficiency values and performs better than other alternatives [18] Note that it has been shown (over the less powerful platform of [18]) to perform quite better than the relevant, higly competitive, approach presented in the work of [4].
Published Version (Free)
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have