Skip to content

[Design] Consider More General Aggregation Decomposition #422

Description

@Selvomega

Problem and why now

Currently ASAPPlanner only break down aggregations in an ad-hoc manner, say, breaking avg into count and sum.
We argue for a more comprehensive design of such decomposition from non-mergeable aggregation to mergeable ones.

Such decomposition will help

  • reduce computation redundancy by sharing "basic building blocks"
  • Maintain incremental computation (since the decomposed states are mergeable)

Intended users and MVP

Intended users can be all 4 down-stream use cases of ASAPPlanner.

For MVP, we can design an aggregation benchmark containing such decomposable aggregations to show the before&after of this design.

Inputs, outputs, and end-to-end outcome

I am visioning this functionality as a small unit in ASAPPlanner with a single aggregation as input, decomposed aggregations as output, say:

  • avg in, sum + count out
  • var in, sum + square_sum out
  • linear_regression in, count + sum_x + sum_y + sum_xy + sum_x_square + sum_y_square out

Simplest viable approach

Adding an extra step to process all aggregations

New concepts or interfaces requiring decisions

I suggest a meeting to crowd-source all decompositions we want.

Alternatives and quality attributes

Acceptance behavior

Human decisions required

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions