У меня есть этот код, который объединяет/объединяет коллекцию изображений. Я хочу реструктурировать этот последовательный код в параллельное/распределенное приложение, поскольку моя коллекция изображений довольно велика (большие данные :-)). Я обдумываю Map/Reduce, но не уверен, что это возможно в Map/Reduce.
#Sequential Code
Result.Image <- NULL
foreach(Image in Image.Collection) {
Result.Image <- CombineImage(Result.Image, Image)
}
Примечание: порядок не имеет значения; Объединение изображений 1,2,3,4,5 так же хорошо, как объединение изображений 2,3,1,4,5.
В идеале я хотел бы что-то вроде этого (больше похоже на классический разделяй и властвуй, чем на map/reduce):
1,2,3,4 - исходные изображения. Один узел объединяет изображение № 1 и изображение № 2 в новое изображение, называемое изображением № 5. Второй узел объединяет изображение № 3 и изображение № 4 в изображение № 6, и, наконец, узел объединяет изображение № 5 и изображение № 6 в окончательный результат.
Любые идеи о том, какой фреймворк/параллельный или распределенный шаблон проектирования я должен использовать, чтобы делать такие вещи?
Ваше здоровье !!