Skip to content
  • Priyanka Sangam's avatar
    bcf82645
    WL#8517 Backup parallelism : Part 4 of 25 · bcf82645
    Priyanka Sangam authored
    mt-backup
    
    Modify signal flow for multithreaded backup so that the major 'control'
    signals which control backup execution are sent to all LDM instances
    instead of to LDM1 alone. These signals are DEFINE_BACKUP_REQ,
    START_BACKUP_REQ, STOP_BACKUP_REQ and ABORT_BACKUP_ORD.
    
    1) Add signal handling to BackupProxy to accept DEFINE_BACKUP_REQ,
    START_BACKUP_REQ, STOP_BACKUP_REQ and ABORT_BACKUP_ORD. These signals
    are forwarded to all LDMs.
    
    2) Modify BACKUP to check backup type and send control signals
    accordingly: send to LDM1 for single-threaded backup and to proxy
    for multithreaded backup.
    
    3) Add masterRef to DEFINE_BACKUP_REQ so that all participants set a
    masterRef explicitly specified by the master.
    
    4) Use senderRef instead of masterRef as destination for all
    DEFINE/START/STOP_BACKUP_CONFs and REFs.
    
    The masterRef is the BACKUP block which coordinates the backup
    across all the nodes, i.e. LDM1 on the master node. The senderRef
    is the BACKUP block which sent the last REQ signal. The masterRef
    sends signals to the BackupProxies on all the nodes, and each
    BackupProxy sends the signals to the LDMs. So the LDMs need to reply
    to the BackupProxy, not the master.
    
    - For single-threaded backup: backup master directly controls
    participants on all nodes, so
      masterRef = senderRef = LDM1_on_master_node.
    - For multithreaded backup: backup master sends control signals to
    BackupProxy on each node + each BackupProxy controls backup exec
    across LDMs, so:
      For all LDMs on node N, senderRef = BackupProxy_on_node_N
      For all LDMs on all nodes, masterRef = LDM1_on_master_node.
    
    5) Add checks to detect and handle case where BackupProxy failed to
    clean up SignalSenders from previous backups.
    bcf82645
    WL#8517 Backup parallelism : Part 4 of 25
    Priyanka Sangam authored
    mt-backup
    
    Modify signal flow for multithreaded backup so that the major 'control'
    signals which control backup execution are sent to all LDM instances
    instead of to LDM1 alone. These signals are DEFINE_BACKUP_REQ,
    START_BACKUP_REQ, STOP_BACKUP_REQ and ABORT_BACKUP_ORD.
    
    1) Add signal handling to BackupProxy to accept DEFINE_BACKUP_REQ,
    START_BACKUP_REQ, STOP_BACKUP_REQ and ABORT_BACKUP_ORD. These signals
    are forwarded to all LDMs.
    
    2) Modify BACKUP to check backup type and send control signals
    accordingly: send to LDM1 for single-threaded backup and to proxy
    for multithreaded backup.
    
    3) Add masterRef to DEFINE_BACKUP_REQ so that all participants set a
    masterRef explicitly specified by the master.
    
    4) Use senderRef instead of masterRef as destination for all
    DEFINE/START/STOP_BACKUP_CONFs and REFs.
    
    The masterRef is the BACKUP block which coordinates the backup
    across all the nodes, i.e. LDM1 on the master node. The senderRef
    is the BACKUP block which sent the last REQ signal. The masterRef
    sends signals to the BackupProxies on all the nodes, and each
    BackupProxy sends the signals to the LDMs. So the LDMs need to reply
    to the BackupProxy, not the master.
    
    - For single-threaded backup: backup master directly controls
    participants on all nodes, so
      masterRef = senderRef = LDM1_on_master_node.
    - For multithreaded backup: backup master sends control signals to
    BackupProxy on each node + each BackupProxy controls backup exec
    across LDMs, so:
      For all LDMs on node N, senderRef = BackupProxy_on_node_N
      For all LDMs on all nodes, masterRef = LDM1_on_master_node.
    
    5) Add checks to detect and handle case where BackupProxy failed to
    clean up SignalSenders from previous backups.
Loading