thu-pacman / GeminiGraph

A computation-centric distributed graph processing system.
Apache License 2.0
316 stars 129 forks source link

Questions about the message passing and thread #18

Closed ZebinRenTmp closed 4 years ago

ZebinRenTmp commented 4 years ago

When I read the code, I find out that in dense mode, the message passing seems like socket to socket. For example, the buffered message in 2nd socket in partition 3 will be passed to the 2nd socket in partition in socket 2. And then the reduce is seemed processed in each socket locally, without any communication with other sockets. What if a vertex in the 2nd socket in partition 3 has an outgoing edge which points to a vertex that belongs to a vertex in the 1st socket in partition 2. Since the message will only be passed to the 2nd socket in partition 2, how does it know there is an edge in the 1st socket that should processed?

coolerzxw commented 4 years ago

Hi @Dragon-M-Ren , You seem to misunderstand some concepts in Gemini regarding how data is partitioned and organized, and what dense signals and slots do. You may add some prints in the code to verify your thoughts.

ZebinRenTmp commented 4 years ago

Hi @Dragon-M-Ren , You seem to misunderstand some concepts in Gemini regarding how data is partitioned and organized, and what dense signals and slots do. You may add some prints in the code to verify your thoughts.

Thanks