Finding congestion point for monitoring traffic

We sweep the amount of monitoring traffic generated by each felix server. All other parameters are fixed.

Conclusions

Simulated Topology

Based on this meeting: https://docs.google.com/presentation/d/1N5GnG82JvsASUJ6sl-gmuMBRjMWG6OWtybIjOMikb-M/edit#slide=id.g13d0d6ef37_0_236

We agreed to add the full path of the monitoring traffic all the way to the monitoring servers in the HLT farm.

We sweep the amount of monitoring traffic generated by each felix server from 0.4Gbps to 0.8Gbps (the congestion point is ~0.633Gbps) . All other parameters are fixed.

Monitoring flows (NFelix -> 1 MonServer

Topology Description (topologyGenerator)

NUMBER_OF_FELIX_SERVERS = 13 # this generates 1:1 connections with sw_rod, so NUMBER_OF_FELIX_SERVERS=numberOfSWRODServers
NUMBER_OF_MONITORING_SERVERS = 5
LINK_BW_40G_BITS_S = 40 * G # 40 Gbps
LINK_BW_1G_BITS_S = 1 * G # 1 Gbps
FELIX_FLOW_PRIORITY = 0
FELIX_GBT_ELINKS = 10 # #GBT e-links in each felix server. There will be one flow created per e-link (because there will be 1 thread, one connection per e-link)

# felix data-flow distributions (one per GBT)
FELIX_GBT_PERIOD_sec = ExponentialDistribution.new 1.0 / (100*K) # distribution period in seconds
#FELIX_GBT_PERIOD_sec = ExponentialDistribution.new 1.0 / (100) #TODO: this is just for testing quick simulations. Normal rate should be 100*k
FELIX_GBT_SIZE_bytes = NormalDistribution.new 4.0*K, 1.0*K # (in bytes)
FELIX_GBT_BUFFER_bytes = 1*M # (in bytes)
FELIX_GBT_TIME_OUT_sec = 2 # (in seconds)
FELIX_GBT_OUT_SIZE_bytes = TCP_MTU_bytes # (in bytes)

FELIX_GENERATION_PERIOD = FelixDistribution.new FELIX_GBT_PERIOD_sec,
FelixDistribution::FELIX_MODE_HIGH_THROUGHOUT,
FELIX_GBT_SIZE_bytes,
FELIX_GBT_BUFFER_bytes,
FELIX_GBT_TIME_OUT_sec,
FELIX_GBT_OUT_SIZE_bytes
FELIX_GENERATION_SIZE = ConstantDistribution.new TCP_MTU_bytes*8 #distribution size in bits

# monitoring flows (one per GBT)
FELIX_MONITORING_PRIORITY = 0
MONITORING_SIZE_bits = (TCP_MTU_bytes - 300)*8
TOTAL_MONITORING_PER_SERVER_bits = 0.3 * G --> this is the value we are sweeping
MONITORING_GENERATION_PERIOD = ExponentialDistribution.new 1.0 / (TOTAL_MONITORING_PER_SERVER_bits / (MONITORING_SIZE_bits * FELIX_GBT_ELINKS))
MONITORING_GENERATION_SIZE = NormalDistribution.new MONITORING_SIZE_bits, 300*8 #distribution size in bits

-- MatiasAlejandroBonaventura - 2016-12-12

Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r1 - 2016-12-12 - MatiasAlejandroBonaventura
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback