diff --git a/DAS/node.py b/DAS/node.py index 6bd5bfd..a66636a 100644 --- a/DAS/node.py +++ b/DAS/node.py @@ -36,9 +36,9 @@ class Validator: self.rowIDs = rowIDs self.columnIDs = columnIDs -def initValidator(blockSizeC, chiR, blockSizeR, chiC): - rowIDs = set(random.sample(range(blockSizeC), chiR)) - columnIDs = set(random.sample(range(blockSizeR), chiC)) +def initValidator(blockSizeC, custodyRows, blockSizeR, custodyCols): + rowIDs = set(random.sample(range(blockSizeC), custodyRows)) + columnIDs = set(random.sample(range(blockSizeR), custodyCols)) return Validator(rowIDs, columnIDs) class Node: @@ -53,7 +53,7 @@ class Node: """It initializes the node, and eventual validators, following the simulation configuration in shape and config. If rows/columns are specified these are observed, otherwise (default) - chiR rows and chiC columns are selected randomly. + custodyRows rows and custodyCols columns are selected randomly. """ self.shape = shape @@ -93,7 +93,7 @@ class Node: self.statsRxDupInSlot = 0 self.statsRxDupPerSlot = [] - # Set uplink bandwidth. + # Set uplink bandwidth. # Assuming segments of ~560 bytes and timesteps of 50ms, we get # 1 Mbps ~= 1e6 mbps * 0.050 s / (560*8) bits ~= 11 segments/timestep if self.amIproposer: diff --git a/smallConf.py b/smallConf.py index b1434af..8ab5a32 100644 --- a/smallConf.py +++ b/smallConf.py @@ -63,7 +63,7 @@ blockSizes = range(64, 113, 128) netDegrees = range(8, 9, 2) # number of rows and columns a validator is interested in -chis = range(2, 3, 2) +custody = range(2, 3, 2) # ratio of class1 nodes (see below for parameters per class) class1ratios = [0.8] @@ -102,12 +102,12 @@ diagnostics = False saveGit = False def nextShape(): - for run, fm, fr, class1ratio, chi, vpn1, vpn2, blockSize, nn, netDegree, bwUplinkProd, bwUplink1, bwUplink2 in itertools.product( - runs, failureModels, failureRates, class1ratios, chis, validatorsPerNode1, validatorsPerNode2, blockSizes, numberNodes, netDegrees, bwUplinksProd, bwUplinks1, bwUplinks2): + for run, fm, fr, class1ratio, cust, vpn1, vpn2, blockSize, nn, netDegree, bwUplinkProd, bwUplink1, bwUplink2 in itertools.product( + runs, failureModels, failureRates, class1ratios, custody, validatorsPerNode1, validatorsPerNode2, blockSizes, numberNodes, netDegrees, bwUplinksProd, bwUplinks1, bwUplinks2): # Network Degree has to be an even number if netDegree % 2 == 0: blockSizeR = blockSizeC = blockSize blockSizeRK = blockSizeCK = blockSize // 2 - chiR = chiC = chi - shape = Shape(blockSizeR, blockSizeRK, blockSizeC, blockSizeCK, nn, fm, fr, class1ratio, chiR, chiC, vpn1, vpn2, netDegree, bwUplinkProd, bwUplink1, bwUplink2, run) + custodyRows = custodyCols = cust + shape = Shape(blockSizeR, blockSizeRK, blockSizeC, blockSizeCK, nn, fm, fr, class1ratio, custodyRows, custodyCols, vpn1, vpn2, netDegree, bwUplinkProd, bwUplink1, bwUplink2, run) yield shape