Uploaded image for project: 'Giraph'
  1. Giraph
  2. GIRAPH-256

Partitioning outgoing graph data during INPUT_SUPERSTEP by # of vertices results in wide variance in RPC message sizes

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.0.0
    • Fix Version/s: 1.0.0
    • Component/s: bsp, graph
    • Labels:

      Description

      This relates to GIRAPH-247. The unfortunately named "MAX_VERTICES_PER_PARTITION" fooled me into thinking this value was regulating the size of initial Partition objects as they were composed during INPUT_SUPERSTEP from InputSplits each worker reads.

      In fact this configuration option only regulates the size of the outgoing RPC messages, stored locally in Partition objects but decomposed into Collections of BasicVertex for transfer to their eventual homes on another (or this) worker. There they are combined into the actual Partitions they will exist in for the job run.

      By partitioning these outgoing messages by # of vertices, metrics load tests have shown the size of the average message is not well regulated and can create overloads on either side of these transfers. This is important because:

      1. Throughput and memory are at a premium during INPUT_SUPERSTEP.
      2. Only one crashed worker in a Giraph job causes cascading job failure, even in an otherwise healthy workflow.

      This JIRA renames the offending variables/config options and further regulates outgoing graph data in INPUT_SUPERSTEP by the # of edges and THEN the # of vertices in a candidate for transfer. This much more effectively regulates message size for typical social graph data and has been show in testing to greatly improve the amount of load-in data Giraph can handle without failure given fixed memory and worker limits.

        Attachments

        1. GIRAPH-256-7.patch
          16 kB
          Eli Reisman
        2. GIRAPH-256-6.patch
          16 kB
          Eli Reisman
        3. GIRAPH-256-5.patch
          6 kB
          Eli Reisman
        4. GIRAPH-256-4.patch
          6 kB
          Eli Reisman
        5. GIRAPH-256-3.patch
          6 kB
          Eli Reisman
        6. GIRAPH-256-2.patch
          5 kB
          Eli Reisman
        7. GIRAPH-256-1.patch
          5 kB
          Eli Reisman

          Activity

            People

            • Assignee:
              initialcontext Eli Reisman
              Reporter:
              initialcontext Eli Reisman
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: