add config option for k-choices rebalance interval

This commit is contained in:
Trolli Schmittlauch 2020-10-06 16:01:29 +02:00
parent ecb127e6af
commit b111515178
2 changed files with 5 additions and 1 deletions

View file

@ -31,6 +31,7 @@ readConfig = do
-- waiting for timeout
let
speedup = read speedupString
statsEvalD = 120 * 10^6 `div` speedup
confBootstrapNodes' = case remainingArgs of
bootstrapHost : bootstrapPortString : _ ->
[(bootstrapHost, read bootstrapPortString)]
@ -52,6 +53,7 @@ readConfig = do
, confKChoicesOverload = 0.9
, confKChoicesUnderload = 0.1
, confKChoicesMaxVS = 8
, confKChoicesRebalanceInterval = round (realToFrac statsEvalD * 1.1 :: Double)
}
sConf = ServiceConf
{ confSubscriptionExpiryTime = 24*3600 / fromIntegral speedup
@ -59,7 +61,7 @@ readConfig = do
, confServiceHost = confDomainString
, confLogfilePath = "../simulationData/logs/" <> confDomainString <> ".log"
, confSpeedupFactor = speedup
, confStatsEvalDelay = 120 * 10^6 `div` speedup
, confStatsEvalDelay = statsEvalD
}
pure (fConf, sConf)

View file

@ -459,6 +459,8 @@ data FediChordConf = FediChordConf
-- ^ fraction of capacity below which a node considers itself underloaded
, confKChoicesMaxVS :: Word8
-- ^ upper limit of vserver index κ
, confKChoicesRebalanceInterval :: Int
-- ^ interval between vserver rebalance attempts
}
deriving (Show, Eq)