Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-3200 Replace BufferedBlockMgr with new buffer pool
  3. IMPALA-3748

Compute memory reservation in planner and claim atomically in Prepare()

    XMLWordPrintableJSON

Details

    Description

      Once we have the reservation infrastructure available, we want to make use of it by claiming memory reservations upfront in the Prepare() phase of the query.

      • Compute minimum buffer pool memory requirements for each operator, and compute the peak requirement (execution of some nodes does not overlap, so this depends on the plan shape).
      • Claim those reservations for the query at start of Prepare(), so we can fail fast if the memory isn't available
      • Distribute the reservations to the exec nodes.

      For the initial work, we can assume conservatively that all fragments run on all daemons, so that we don't need scheduling information to compute the estimates. This may over-reserve memory in some cases, since some fragments are unpartitioned or have fewer scan ranges than daemons.

      Attachments

        Issue Links

          Activity

            People

              tarmstrong Tim Armstrong
              tarmstrong Tim Armstrong
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: