Highly Scalable, Parallel and Distributed AdaBoost Algorithm using Light
  Weight Threads and Web Services on a Network of Multi-Core Machines
  AdaBoost is an important algorithm in machine learning and is being widely
used in object detection. AdaBoost works by iteratively selecting the best
amongst weak classifiers, and then combines several weak classifiers to obtain
a strong classifier. Even though AdaBoost has proven to be very effective, its
learning execution time can be quite large depending upon the application e.g.,
in face detection, the learning time can be several days. Due to its increasing
use in computer vision applications, the learning time needs to be drastically
reduced so that an adaptive near real time object detection system can be
incorporated. In this paper, we develop a hybrid parallel and distributed
AdaBoost algorithm that exploits the multiple cores in a CPU via light weight
threads, and also uses multiple machines via a web service software
architecture to achieve high scalability. We present a novel hierarchical web
services based distributed architecture and achieve nearly linear speedup up to
the number of processors available to us. In comparison with the previously
published work, which used a single level master-slave parallel and distributed
implementation [1] and only achieved a speedup of 2.66 on four nodes, we
achieve a speedup of 95.1 on 31 workstations each having a quad-core processor,
resulting in a learning time of only 4.8 seconds per feature.
