FTS2Strategy

mod:FTSStrategy

synopsis:replication strategy for FTS transfers

replication strategy for all FTS transfers

class DIRAC.DataManagementSystem.private.FTS2.FTS2Strategy.FTS2Strategy(csPath=None, ftsSites=None, ftsHistoryViews=None)

Bases: object

class FTSStrategy

helper class to create replication forest for a given file and it’s replicas using several different strategies

__init__(csPath=None, ftsSites=None, ftsHistoryViews=None)

c’tor

Parameters:
  • self – self reference
  • csPath (str) – CS path
  • ftsSites (list) – list of FTSSites
  • ftsHistoryViews (list) – list of FTSHistoryViews
acceptableFailedFiles = 5
acceptableFailureRate = 75
addTreeToGraph(replicationTree=None, size=0.0)

update rw access for nodes (sites) and size anf files for edges (channels)

dynamicThroughput(sourceSEs, targetSEs)

dynamic throughput - many sources, many targets - find dag minimizing overall throughput

Parameters:
  • sourceSEs (list) – list of available source SE names
  • targetSE – list of target SE names
  • lfn (str) – logical file name
ftsGraph = None
classmethod graphLock()

get graph lock

instance = None
minimiseTotalWait(sourceSEs, targetSEs)

find dag minimizing start time

Parameters:
  • sourceSEs (list) – list of available source SEs
  • targetSEs (list) – list of target SEs
  • lfn (str) – logical file name
replicationTree(sourceSEs, targetSEs, size, strategy=None)

get replication tree

Parameters:
  • lfn (str) – LFN
  • sourceSEs (list) – list of sources SE names to use
  • targetSEs (list) – list of target SE names to use
  • size (long) – file size
  • strategy (str) – strategy name
reset()

reset :chosenStrategy:

Parameters:self – self reference
classmethod resetGraph(ftsHistoryViews)

reset graph

Parameters:ftsHistoryViews (list) – list of FTSHistoryViews
schedulingType = 'Files'
simple(sourceSEs, targetSEs)

simple strategy - one source, many targets

Parameters:
  • sourceSEs (list) – list with only one sourceSE name
  • targetSEs (list) – list with target SE names
  • lfn (str) – logical file name
supportedStrategies

Get supported strategies.

Parameters:self – self reference
swarm(sourceSEs, targetSEs)

swarm strategy - one target, many sources, pick up the fastest

Parameters:
  • sourceSEs (list) – list of source SE
  • targetSEs (str) – one element list with name of target SE
  • lfn (str) – logical file name
updateRWAccess()

update RW access in FTS graph