# Graph Embeddings and Neural Networks

[Dorylus: Affordable, Scalable, and Accurate GNN Training with Distributed CPU Servers and Serverless Threads](https://www.usenix.org/conference/osdi21/presentation/thorpe)&#x20;

[GNNAdvisor: An Adaptive and Efficient Runtime System for GNN Acceleration on GPUs](https://www.usenix.org/conference/osdi21/presentation/wang-yuke)&#x20;

[Marius: Learning Massive Graph Embeddings on a Single Machine](https://www.usenix.org/conference/osdi21/presentation/mohoney)&#x20;

[P3: Distributed Deep Graph Learning at Scale](https://www.usenix.org/conference/osdi21/presentation/gandhi)&#x20;

### Dorylus&#x20;

* Graph / Tensor tasks&#x20;
  * Memory intensive&#x20;
  * Compute intensive&#x20;
* Motivation: GPUs not a good fit&#x20;
  * Compute good&#x20;
  * But scalability (limited memory)&#x20;
* Solution: CPUs&#x20;
  * Not for compute&#x20;
* Solution: GPU + CPU&#x20;
  * Not cost-effective&#x20;
  * GPU idle waiting for CPU&#x20;
* Key insight: serverless fits our goals
  * Large # of parallel threads&#x20;
  * Lost-cost, flexible pricing model&#x20;
  * Fine grained: only pay for compute resources&#x20;
  * Achieve high performance-per-dollar (value)&#x20;
* Challenge&#x20;
  * Weak CPU, limited memory&#x20;
    * Separate tasks&#x20;
  * limited network&#x20;
    * Pipeline&#x20;
      * Waiting: not fully utilized pipeline&#x20;
* Serverless Optimizations&#x20;
  * Task fusion&#x20;
  * Tensor re-materialization&#x20;
  * Tune number of Lambdas&#x20;

### GNNAdvisor&#x20;

* GNN&#x20;
  * High classification accuracy&#x20;
  * Better generality&#x20;
  * Lower computation complexity&#x20;
  * Easier parallelism&#x20;
* GNN: combine graph operations with tensor operations&#x20;
* Acceleration Solutions&#x20;
  * Graph Processing Framework&#x20;
  * Deep Learning Frameworks&#x20;
* Input Extraction (graph)&#x20;
  * Node degree&#x20;
  * Embedding Dimensionality&#x20;
  * Graph community&#x20;
* Input extraction (GNN model information)&#x20;
  * Order of agg and update&#x20;
  * Type
* 2D workload management &#x20;
