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

View file

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