Does Pregel allow the structure of a graph to be modified? -
if does, how can archive performance when graph needs modifying? mean modifying add or remove vertices or edges.
yes, pregel allows structure modified. called mutations. presented in section 3.4 topology mutations of paper.
according paper, available @ (http://kowshik.github.io/jpregel/pregel_paper.pdf):
"multiple vertices may issue conflicting requests in same superstep (e.g., 2 requests add vertex v , different initial values). use 2 mechanisms achieve determinism: partial ordering , handlers.
as messages, mutations become effective in superstep after requests issued. within superstep removals performed first, edge removal before vertex removal, since removing vertex implicitly removes of out-edges. additions follow removals, vertex addition before edge addition, , mutations precede calls compute(). partial ordering yields deterministic results con icts.
the remaining conflicts resolved user-defined handlers. if there multiple requests create same vertex in same superstep, default system picks 1 arbitrarily, users special needs may specify better conflict resolution policy defining appropriate handler method in vertex subclass. same handler mechanism used resolve conflicts caused multiple vertex removal requests, or multiple edge addition or removal requests. delegate resolution handlers keep code of compute() simple, limits interaction between handler , compute(), has not been issue in practice."
Comments
Post a Comment