Uploaded image for project: 'Accumulo'
  1. Accumulo
  2. ACCUMULO-3510

Create mechanism to support priority based scheduling of read ahead tasks.

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Minor
    • Resolution: Duplicate
    • Affects Version/s: 1.6.0
    • Fix Version/s: None
    • Component/s: tserver

      Description

      I have many cases where ScanSessions will consume resources that I otherwise want shorter running scans to utilize. In some cases, a scan may continue for hours, while a short running scan may come in and execute quickly. As a result, I want to be able to adjust the priority of these scan sessions.

      I have a patch which is forthcoming, that breaks Session out of TabletServer and replaces the queue in the readAheadThreadPool with a priority pool. The comparator I have created as a proof of concept, which can be adjustable, reduces the priority of the oldest scan. Using an aging technique, we guarantee execute of these older running scans based upon the previous run time. As a result, we give preference to newer scans. If they execute quickly, older scans will have an inherent rise in priority. If they also take a while, their priority will be reduced and incoming scans will yet again be given a greater priority with the intent (and/or hope ) their execution will be faster.

      Priority should be configurable based on the desired Session Comparator.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                phrocker Mr TheSegfault
                Reporter:
                phrocker Mr TheSegfault
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 1h
                  1h