Parallelizing a serial algorithm
- by user643813
Hej folks,
I am working on porting a Text mining/Natural language application from single-core to a Map-Reduce style system. One of the steps involves a while loop similar to this:
Queue<Element>;
while (!queue.empty()) {
Element e = queue.next();
Set<Element> result = calculateResultSet(e);
if (!result.empty()) {
queue.addAll(result);
}
}
Each iteration depends on the result of the one before (kind of). There is no way of determining the number of iterations this loop will have to perform.
Is there a way of parallelizing a serial algorithm such as this one? I am trying to think of a feedback mechanism, that is able to provide its own input, but how would one go about parallelizing it?
Thanks for any help/remarks