Algorithm for Splitting Tasks During a Multi-Stream Restore Operation

Updated

For optimum multi-stream restore operations, the restore data (AFiles) is split into tasks based on an algorithm.

Additional Settings Used in the Algorithm

Additional Settings

Category

Type

Default Value

nRestoreStreamStarvationFactor

FileSystemAgent

Integer

2

nMaxRestoreTasksPerAFile

FileSystemAgent

Integer

4

Algorithm for Splitting Tasks

Procedure

  1. NumberofTasksPerAFile = nRestoreStreamStarvationFactor x NumberOfStreams.

  2. Decision matrix:

    If

    Returns

    Then

    NumberOfItemsPerTask is Equal to

    NumberofTasksPerAFile > nMaxRestoreTasksPerAFile

    True

    NumberofTasksPerAFile := nMaxRestoreTasksPerAFile

    NumberOfItemsInAFile / NumberofTasksPerAFile

Example 1

Restore parameters:

NumberOfItemsInAFile = 20,000

NumberOfStreams = 5

Procedure

  1. NumberofTasksPerAFile = nRestoreStreamStarvationFactor x NumberOfStreams = 2 x 5 = 10.

  2. Decision matrix:

    If

    Returns

    Then

    NumberOfItemsPerTask is Equal to

    10 > 4

    True

    10 := 4

    20000/4= 5000

Result

NumberOfItemsPerTask = 5000

NumberofTasksPerAFile = 4

Example 2

Restore parameters:

NumberOfItemsInAFile = 20,000

NumberOfStreams = 2

Procedure

  1. NumberofTasksPerAFile = nRestoreStreamStarvationFactor x NumberOfStreams = 2 x 2 = 4.

  2. Decision matrix:

    If

    Returns

    Then

    NumberOfItemsPerTask is Equal to

    4 > 4

    False

    NA

    20000/4= 5000

Result

NumberOfItemsPerTask = 5000

NumberofTasksPerAFile = 4

Example 3

Restore parameters:

NumberOfItemsInAFile = 4

NumberOfStreams = 2

Procedure

  1. NumberofTasksPerAFile = nRestoreStreamStarvationFactor x NumberOfStreams = 2 x 2 = 4.

  2. Decision matrix:

    If

    Returns

    Then

    NumberOfItemsPerTask is Equal to

    4 > 4

    False

    NA

    4/4= 1

Result

NumberOfItemsPerTask = 1

NumberofTasksPerAFile = 4

Control the Minimum Number of Files Required for a Task