Abstract

In recent years, multicore processors have become prevalent in many types of systems and are used for a wide range of applications. Although multicore processors present a popular hardware solution to problems that were not possible with traditional single-core processors, they come with their own set of challenges. As Amdahl's law puts it, the performance gain is limited by the percentage of the software that cannot be run in parallel on multiple cores. Even when an application is “embarrassingly” parallelized by a carefully designed algorithm and implemented, load balancing of tasks across different cores is a critical aspect in utilizing a multicore system as close to its fullest potential as possible. In this paper, we investigated how a solution to a cardinal payoff variant of the secretary problem can be applied to a proactive, decentralized, dynamic load balancing technique in user-space to assist single program, multiple data (SPMD) applications in a multiprogrammed environment so that all tasks can make roughly equal progress distributed over all cores. We examined how this method compares with the default Linux load balancer in terms of scalability and predictability. Our experiments of running NAS Parallel Benchmarks (NPB) in OpenMP had promising results that showed our technique outperformed the default Linux scheduler by an average of 40% speedup in a multiprogrammed environment with less time variance between multiple executions.

Full Text
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

Schedule a call