Uploaded image for project: 'Spark'
  1. Spark
  2. SPARK-10620

Look into whether accumulator mechanism can replace TaskMetrics

    XMLWordPrintableJSON

Details

    • Task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2.0.0
    • Spark Core
    • None

    Description

      This task is simply to explore whether the internal representation used by TaskMetrics could be performed by using accumulators rather than having two separate mechanisms. Note that we need to continue to preserve the existing "Task Metric" data structures that are exposed to users through event logs etc. The question is can we use a single internal codepath and perhaps make this easier to extend in the future.

      I think a full exploration would answer the following questions:

      • How do the semantics of accumulators on stage retries differ from aggregate TaskMetrics for a stage? Could we implement clearer retry semantics for internal accumulators to allow them to be the same - for instance, zeroing accumulator values if a stage is retried (see discussion here: SPARK-10042).
      • Are there metrics that do not fit well into the accumulator model, or would be difficult to update as an accumulator.
      • If we expose metrics through accumulators in the future rather than continuing to add fields to TaskMetrics, what is the best way to coerce compatibility?
      • Are there any other considerations?
      • Is it worth it to do this, or is the consolidation too complicated to justify?

      Attachments

        1. accums-and-task-metrics.pdf
          308 kB
          Andrew Or

        Issue Links

          Activity

            People

              andrewor14 Andrew Or
              pwendell Patrick Wendell
              Votes:
              1 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: