Thursday, April 2, 2009

Distributed System for Photo Mosaic Processing

My passion for photo mosaics and highly scalable distributed systems has led me to ponder about a distributed system for photo mosaics. Here's a first go of how it would work.

Assume the photos reside in some warehouse available via a REST interface. Assume also that all the photo indices can be received in one get request.

For now, we will assume a star topology with a master node that distributes all work to several worker nodes.

Abstract
A collection of photos is defined. The photos are distributed to several workers. The workers measure the "colorness" of each image and store the colorness with each image locally. The images are then sorted locally and a parallel sorting algorithm is used to sort images globally. Each worker receives subsections of the global image and determines the "colorness" of each subsection. The subsections are then sorted locally and a parallel sorting algorithm is used to sort subsections globally. The subsections and the images and then paired based on their order after sorting. Finally the images are assembled based on their paired subsections original global image placement.





No comments: