GraphLab : how I understood it with sample code. Aapo Kyrola , Carnegie Mellon Univ. Oct 1, 2009. To test if I got your idea…. … I created two imaginary GraphLab sample applications by using imaginary GraphLab Java API Is this how you imagined GraphLab applications would look like?.
Carnegie Mellon Univ.
Oct 1, 2009
Maintained by Khronos group
OpenGL graphics card drivers
By Nvidia, ATI, …; interface with their hardware
BayesNetwork and ClusterFactorGraph are classes defined by the GraphLab API or/and extend some more abstract Graph class
This implicitly marks each node ‘dirty’ (which the engine will add to task queue)
Only if message changes significantly, do we send it. Sending a message flags recipient as dirty -> it will be added to task queue.
Note: edge might be remote or local, depending on graph partitioning. Kernel may or may not care about it. (For example, threshold could be higher for remote edges?)
After lightning fast computation, we have calibrated belief network. We can use this to efficiently ask marginal distributions.
Next example of eigenvalue calculation shows how we can calculate partition-level accumulative functions efficiently and deliver them to the central unit
Note: in this model, nodes are not able to read from other nodes. Instead they can send data to other nodes, which can then cache this information.
Two players in Markov’s chain talking
But does it work? Good question!
Invokes update on outbound nodes only if its value changed significantly. When converging, there are less and less dirty nodes.
Interceptor-idea is copied from certain web application frameworks