├── .gitignore
├── README.md
├── simulation_code
├── README.md
├── projects
│ └── sppifo
│ │ ├── analyze_all.sh
│ │ └── runs
│ │ ├── rackscale
│ │ └── mix
│ │ │ ├── HCSFQ.properties
│ │ │ └── TCP.properties
│ │ ├── sppifo_analysis
│ │ ├── alternative_distributions
│ │ │ ├── convex
│ │ │ │ ├── FIFO.properties
│ │ │ │ ├── Greedy.properties
│ │ │ │ └── SPPIFO.properties
│ │ │ ├── exponential
│ │ │ │ ├── FIFO.properties
│ │ │ │ ├── Greedy.properties
│ │ │ │ └── SPPIFO.properties
│ │ │ ├── inverse_exponential
│ │ │ │ ├── FIFO.properties
│ │ │ │ ├── Greedy.properties
│ │ │ │ └── SPPIFO.properties
│ │ │ └── poisson
│ │ │ │ ├── FIFO.properties
│ │ │ │ ├── Greedy.properties
│ │ │ │ └── SPPIFO.properties
│ │ └── uniform_rank_distribution
│ │ │ ├── adaptation_strategies
│ │ │ ├── SPPIFO_1.properties
│ │ │ ├── SPPIFO_cost.properties
│ │ │ ├── SPPIFO_queuebound.properties
│ │ │ └── SPPIFO_rank.properties
│ │ │ ├── uniform_32_queues
│ │ │ ├── FIFO_32.properties
│ │ │ ├── Fixed_queue_bounds_32.properties
│ │ │ ├── Greedy_32.properties
│ │ │ └── SPPIFO_32.properties
│ │ │ ├── uniform_8_queues
│ │ │ ├── FIFO.properties
│ │ │ ├── Fixed_queue_bounds.properties
│ │ │ ├── Greedy.properties
│ │ │ ├── SPPIFO.properties
│ │ │ └── TOY.properties
│ │ │ └── utilization
│ │ │ ├── FIFO_20.properties
│ │ │ ├── FIFO_40.properties
│ │ │ ├── FIFO_60.properties
│ │ │ ├── FIFO_80.properties
│ │ │ ├── FIFO_90.properties
│ │ │ ├── Greedy_20.properties
│ │ │ ├── Greedy_40.properties
│ │ │ ├── Greedy_60.properties
│ │ │ ├── Greedy_80.properties
│ │ │ ├── Greedy_90.properties
│ │ │ ├── SPPIFO_20.properties
│ │ │ ├── SPPIFO_40.properties
│ │ │ ├── SPPIFO_60.properties
│ │ │ ├── SPPIFO_80.properties
│ │ │ └── SPPIFO_90.properties
│ │ └── sppifo_evaluation
│ │ ├── fairness
│ │ ├── data_mining_workload
│ │ │ ├── 3600
│ │ │ │ ├── AFQ_32.properties
│ │ │ │ ├── AFQ_8.properties
│ │ │ │ ├── CSFQ.properties
│ │ │ │ ├── DCTCP.properties
│ │ │ │ ├── PIFOWFQ_32.properties
│ │ │ │ ├── PIFOWFQ_8.properties
│ │ │ │ ├── SPPIFOWFQ_32.properties
│ │ │ │ ├── SPPIFOWFQ_8.properties
│ │ │ │ └── TCP.properties
│ │ │ ├── 5200
│ │ │ │ ├── AFQ_32.properties
│ │ │ │ ├── AFQ_8.properties
│ │ │ │ ├── CSFQ.properties
│ │ │ │ ├── DCTCP.properties
│ │ │ │ ├── PIFOWFQ_32.properties
│ │ │ │ ├── PIFOWFQ_8.properties
│ │ │ │ ├── SPPIFOWFQ_32.properties
│ │ │ │ ├── SPPIFOWFQ_8.properties
│ │ │ │ └── TCP.properties
│ │ │ ├── 7000
│ │ │ │ ├── AFQ_32.properties
│ │ │ │ ├── AFQ_8.properties
│ │ │ │ ├── CSFQ.properties
│ │ │ │ ├── DCTCP.properties
│ │ │ │ ├── PIFOWFQ_32.properties
│ │ │ │ ├── PIFOWFQ_8.properties
│ │ │ │ ├── SPPIFOWFQ_32.properties
│ │ │ │ ├── SPPIFOWFQ_8.properties
│ │ │ │ └── TCP.properties
│ │ │ ├── 8900
│ │ │ │ ├── AFQ_32.properties
│ │ │ │ ├── AFQ_8.properties
│ │ │ │ ├── CSFQ.properties
│ │ │ │ ├── DCTCP.properties
│ │ │ │ ├── PIFOWFQ_32.properties
│ │ │ │ ├── PIFOWFQ_8.properties
│ │ │ │ ├── SPPIFOWFQ_32.properties
│ │ │ │ ├── SPPIFOWFQ_8.properties
│ │ │ │ └── TCP.properties
│ │ │ ├── 11100
│ │ │ │ ├── AFQ_32.properties
│ │ │ │ ├── AFQ_8.properties
│ │ │ │ ├── CSFQ.properties
│ │ │ │ ├── DCTCP.properties
│ │ │ │ ├── PIFOWFQ_32.properties
│ │ │ │ ├── PIFOWFQ_8.properties
│ │ │ │ ├── SPPIFOWFQ_32.properties
│ │ │ │ ├── SPPIFOWFQ_8.properties
│ │ │ │ └── TCP.properties
│ │ │ ├── 14150
│ │ │ │ ├── AFQ_32.properties
│ │ │ │ ├── AFQ_8.properties
│ │ │ │ ├── CSFQ.properties
│ │ │ │ ├── DCTCP.properties
│ │ │ │ ├── PIFOWFQ_32.properties
│ │ │ │ ├── PIFOWFQ_8.properties
│ │ │ │ ├── SPPIFOWFQ_32.properties
│ │ │ │ ├── SPPIFOWFQ_8.properties
│ │ │ │ └── TCP.properties
│ │ │ ├── 19000
│ │ │ │ ├── AFQ_32.properties
│ │ │ │ ├── AFQ_8.properties
│ │ │ │ ├── CSFQ.properties
│ │ │ │ ├── DCTCP.properties
│ │ │ │ ├── PIFOWFQ_32.properties
│ │ │ │ ├── PIFOWFQ_8.properties
│ │ │ │ ├── SPPIFOWFQ_32.properties
│ │ │ │ ├── SPPIFOWFQ_8.properties
│ │ │ │ └── TCP.properties
│ │ │ ├── analyze_data_mining.py
│ │ │ └── analyze_web_search_tput.py
│ │ ├── incast
│ │ │ └── web_search_workload
│ │ │ │ ├── 3600
│ │ │ │ ├── AFQ_32.properties
│ │ │ │ ├── AFQ_8.properties
│ │ │ │ ├── CSFQ.properties
│ │ │ │ ├── DCTCP.properties
│ │ │ │ ├── HCSFQ.properties
│ │ │ │ ├── PIFOWFQ_32.properties
│ │ │ │ ├── PIFOWFQ_8.properties
│ │ │ │ ├── SPPIFOWFQ_32.properties
│ │ │ │ ├── SPPIFOWFQ_8.properties
│ │ │ │ └── TCP.properties
│ │ │ │ ├── 5200
│ │ │ │ ├── AFQ_32.properties
│ │ │ │ ├── AFQ_8.properties
│ │ │ │ ├── CSFQ.properties
│ │ │ │ ├── DCTCP.properties
│ │ │ │ ├── HCSFQ.properties
│ │ │ │ ├── PIFOWFQ_32.properties
│ │ │ │ ├── PIFOWFQ_8.properties
│ │ │ │ ├── SPPIFOWFQ_32.properties
│ │ │ │ ├── SPPIFOWFQ_8.properties
│ │ │ │ └── TCP.properties
│ │ │ │ ├── 7000
│ │ │ │ ├── AFQ_32.properties
│ │ │ │ ├── AFQ_8.properties
│ │ │ │ ├── CSFQ.properties
│ │ │ │ ├── DCTCP.properties
│ │ │ │ ├── HCSFQ.properties
│ │ │ │ ├── PIFOWFQ_32.properties
│ │ │ │ ├── PIFOWFQ_8.properties
│ │ │ │ ├── SPPIFOWFQ_32.properties
│ │ │ │ ├── SPPIFOWFQ_8.properties
│ │ │ │ └── TCP.properties
│ │ │ │ ├── 8900
│ │ │ │ ├── AFQ_32.properties
│ │ │ │ ├── AFQ_8.properties
│ │ │ │ ├── CSFQ.properties
│ │ │ │ ├── DCTCP.properties
│ │ │ │ ├── HCSFQ.properties
│ │ │ │ ├── PIFOWFQ_32.properties
│ │ │ │ ├── PIFOWFQ_8.properties
│ │ │ │ ├── SPPIFOWFQ_32.properties
│ │ │ │ ├── SPPIFOWFQ_8.properties
│ │ │ │ └── TCP.properties
│ │ │ │ ├── 11100
│ │ │ │ ├── AFQ_32.properties
│ │ │ │ ├── AFQ_8.properties
│ │ │ │ ├── CSFQ.properties
│ │ │ │ ├── DCTCP.properties
│ │ │ │ ├── HCSFQ.properties
│ │ │ │ ├── PIFOWFQ_32.properties
│ │ │ │ ├── PIFOWFQ_8.properties
│ │ │ │ ├── SPPIFOWFQ_32.properties
│ │ │ │ ├── SPPIFOWFQ_8.properties
│ │ │ │ └── TCP.properties
│ │ │ │ ├── 14150
│ │ │ │ ├── AFQ_32.properties
│ │ │ │ ├── AFQ_8.properties
│ │ │ │ ├── CSFQ.properties
│ │ │ │ ├── DCTCP.properties
│ │ │ │ ├── HCSFQ.properties
│ │ │ │ ├── PIFOWFQ_32.properties
│ │ │ │ ├── PIFOWFQ_8.properties
│ │ │ │ ├── SPPIFOWFQ_32.properties
│ │ │ │ ├── SPPIFOWFQ_8.properties
│ │ │ │ └── TCP.properties
│ │ │ │ ├── 19000
│ │ │ │ ├── AFQ_32.properties
│ │ │ │ ├── AFQ_8.properties
│ │ │ │ ├── CSFQ.properties
│ │ │ │ ├── DCTCP.properties
│ │ │ │ ├── HCSFQ.properties
│ │ │ │ ├── PIFOWFQ_32.properties
│ │ │ │ ├── PIFOWFQ_8.properties
│ │ │ │ ├── SPPIFOWFQ_32.properties
│ │ │ │ ├── SPPIFOWFQ_8.properties
│ │ │ │ └── TCP.properties
│ │ │ │ ├── analyze_web_search.py
│ │ │ │ ├── analyze_web_search_hierarchy.py
│ │ │ │ ├── analyze_web_search_tput.py
│ │ │ │ └── queue_analysis
│ │ │ │ ├── 3600
│ │ │ │ ├── AFQ_16.properties
│ │ │ │ ├── AFQ_24.properties
│ │ │ │ ├── AFQ_32.properties
│ │ │ │ ├── AFQ_8.properties
│ │ │ │ ├── PIFOWFQ_32.properties
│ │ │ │ ├── SPPIFOWFQ_16.properties
│ │ │ │ ├── SPPIFOWFQ_24.properties
│ │ │ │ ├── SPPIFOWFQ_32.properties
│ │ │ │ └── SPPIFOWFQ_8.properties
│ │ │ │ ├── 7000
│ │ │ │ ├── AFQ_16.properties
│ │ │ │ ├── AFQ_24.properties
│ │ │ │ ├── AFQ_32.properties
│ │ │ │ ├── AFQ_8.properties
│ │ │ │ ├── PIFOWFQ_32.properties
│ │ │ │ ├── SPPIFOWFQ_16.properties
│ │ │ │ ├── SPPIFOWFQ_24.properties
│ │ │ │ ├── SPPIFOWFQ_32.properties
│ │ │ │ └── SPPIFOWFQ_8.properties
│ │ │ │ ├── 11100
│ │ │ │ ├── AFQ_16.properties
│ │ │ │ ├── AFQ_24.properties
│ │ │ │ ├── AFQ_32.properties
│ │ │ │ ├── AFQ_8.properties
│ │ │ │ ├── PIFOWFQ_32.properties
│ │ │ │ ├── SPPIFOWFQ_16.properties
│ │ │ │ ├── SPPIFOWFQ_24.properties
│ │ │ │ ├── SPPIFOWFQ_32.properties
│ │ │ │ └── SPPIFOWFQ_8.properties
│ │ │ │ └── 19000
│ │ │ │ ├── AFQ_16.properties
│ │ │ │ ├── AFQ_24.properties
│ │ │ │ ├── AFQ_32.properties
│ │ │ │ ├── AFQ_8.properties
│ │ │ │ ├── PIFOWFQ_32.properties
│ │ │ │ ├── SPPIFOWFQ_16.properties
│ │ │ │ ├── SPPIFOWFQ_24.properties
│ │ │ │ ├── SPPIFOWFQ_32.properties
│ │ │ │ └── SPPIFOWFQ_8.properties
│ │ └── web_search_workload
│ │ │ ├── 3600
│ │ │ ├── AFQ_32.properties
│ │ │ ├── AFQ_8.properties
│ │ │ ├── CSFQ.properties
│ │ │ ├── DCTCP.properties
│ │ │ ├── HCSFQ.properties
│ │ │ ├── PIFOWFQ_32.properties
│ │ │ ├── PIFOWFQ_8.properties
│ │ │ ├── SPPIFOWFQ_32.properties
│ │ │ ├── SPPIFOWFQ_8.properties
│ │ │ └── TCP.properties
│ │ │ ├── 5200
│ │ │ ├── AFQ_32.properties
│ │ │ ├── AFQ_8.properties
│ │ │ ├── CSFQ.properties
│ │ │ ├── DCTCP.properties
│ │ │ ├── HCSFQ.properties
│ │ │ ├── PIFOWFQ_32.properties
│ │ │ ├── PIFOWFQ_8.properties
│ │ │ ├── SPPIFOWFQ_32.properties
│ │ │ ├── SPPIFOWFQ_8.properties
│ │ │ └── TCP.properties
│ │ │ ├── 7000
│ │ │ ├── AFQ_32.properties
│ │ │ ├── AFQ_8.properties
│ │ │ ├── CSFQ.properties
│ │ │ ├── DCTCP.properties
│ │ │ ├── HCSFQ.properties
│ │ │ ├── PIFOWFQ_32.properties
│ │ │ ├── PIFOWFQ_8.properties
│ │ │ ├── SPPIFOWFQ_32.properties
│ │ │ ├── SPPIFOWFQ_8.properties
│ │ │ └── TCP.properties
│ │ │ ├── 8900
│ │ │ ├── AFQ_32.properties
│ │ │ ├── AFQ_8.properties
│ │ │ ├── CSFQ.properties
│ │ │ ├── DCTCP.properties
│ │ │ ├── HCSFQ.properties
│ │ │ ├── PIFOWFQ_32.properties
│ │ │ ├── PIFOWFQ_8.properties
│ │ │ ├── SPPIFOWFQ_32.properties
│ │ │ ├── SPPIFOWFQ_8.properties
│ │ │ └── TCP.properties
│ │ │ ├── 11100
│ │ │ ├── AFQ_32.properties
│ │ │ ├── AFQ_8.properties
│ │ │ ├── CSFQ.properties
│ │ │ ├── DCTCP.properties
│ │ │ ├── HCSFQ.properties
│ │ │ ├── PIFOWFQ_32.properties
│ │ │ ├── PIFOWFQ_8.properties
│ │ │ ├── SPPIFOWFQ_32.properties
│ │ │ ├── SPPIFOWFQ_8.properties
│ │ │ └── TCP.properties
│ │ │ ├── 14150
│ │ │ ├── AFQ_32.properties
│ │ │ ├── AFQ_8.properties
│ │ │ ├── CSFQ.properties
│ │ │ ├── DCTCP.properties
│ │ │ ├── HCSFQ.properties
│ │ │ ├── PIFOWFQ_32.properties
│ │ │ ├── PIFOWFQ_8.properties
│ │ │ ├── SPPIFOWFQ_32.properties
│ │ │ ├── SPPIFOWFQ_8.properties
│ │ │ └── TCP.properties
│ │ │ ├── 19000
│ │ │ ├── AFQ_32.properties
│ │ │ ├── AFQ_8.properties
│ │ │ ├── CSFQ.properties
│ │ │ ├── DCTCP.properties
│ │ │ ├── HCSFQ.properties
│ │ │ ├── PIFOWFQ_32.properties
│ │ │ ├── PIFOWFQ_8.properties
│ │ │ ├── SPPIFOWFQ_32.properties
│ │ │ ├── SPPIFOWFQ_8.properties
│ │ │ └── TCP.properties
│ │ │ ├── 25000
│ │ │ ├── AFQ_32.properties
│ │ │ ├── AFQ_8.properties
│ │ │ ├── CSFQ.properties
│ │ │ ├── DCTCP.properties
│ │ │ ├── HCSFQ.properties
│ │ │ ├── PIFOWFQ_32.properties
│ │ │ ├── PIFOWFQ_8.properties
│ │ │ ├── SPPIFOWFQ_32.properties
│ │ │ ├── SPPIFOWFQ_8.properties
│ │ │ └── TCP.properties
│ │ │ ├── 32000
│ │ │ ├── AFQ_32.properties
│ │ │ ├── AFQ_8.properties
│ │ │ ├── CSFQ.properties
│ │ │ ├── DCTCP.properties
│ │ │ ├── HCSFQ.properties
│ │ │ ├── PIFOWFQ_32.properties
│ │ │ ├── PIFOWFQ_8.properties
│ │ │ ├── SPPIFOWFQ_32.properties
│ │ │ ├── SPPIFOWFQ_8.properties
│ │ │ └── TCP.properties
│ │ │ ├── analyze_web_search.py
│ │ │ ├── analyze_web_search_hierarchy.py
│ │ │ ├── analyze_web_search_tput.py
│ │ │ └── queue_analysis
│ │ │ ├── 3600
│ │ │ ├── AFQ_16.properties
│ │ │ ├── AFQ_24.properties
│ │ │ ├── AFQ_32.properties
│ │ │ ├── AFQ_8.properties
│ │ │ ├── PIFOWFQ_32.properties
│ │ │ ├── SPPIFOWFQ_16.properties
│ │ │ ├── SPPIFOWFQ_24.properties
│ │ │ ├── SPPIFOWFQ_32.properties
│ │ │ └── SPPIFOWFQ_8.properties
│ │ │ ├── 7000
│ │ │ ├── AFQ_16.properties
│ │ │ ├── AFQ_24.properties
│ │ │ ├── AFQ_32.properties
│ │ │ ├── AFQ_8.properties
│ │ │ ├── PIFOWFQ_32.properties
│ │ │ ├── SPPIFOWFQ_16.properties
│ │ │ ├── SPPIFOWFQ_24.properties
│ │ │ ├── SPPIFOWFQ_32.properties
│ │ │ └── SPPIFOWFQ_8.properties
│ │ │ ├── 11100
│ │ │ ├── AFQ_16.properties
│ │ │ ├── AFQ_24.properties
│ │ │ ├── AFQ_32.properties
│ │ │ ├── AFQ_8.properties
│ │ │ ├── PIFOWFQ_32.properties
│ │ │ ├── SPPIFOWFQ_16.properties
│ │ │ ├── SPPIFOWFQ_24.properties
│ │ │ ├── SPPIFOWFQ_32.properties
│ │ │ └── SPPIFOWFQ_8.properties
│ │ │ └── 19000
│ │ │ ├── AFQ_16.properties
│ │ │ ├── AFQ_24.properties
│ │ │ ├── AFQ_32.properties
│ │ │ ├── AFQ_8.properties
│ │ │ ├── PIFOWFQ_32.properties
│ │ │ ├── SPPIFOWFQ_16.properties
│ │ │ ├── SPPIFOWFQ_24.properties
│ │ │ ├── SPPIFOWFQ_32.properties
│ │ │ └── SPPIFOWFQ_8.properties
│ │ └── pFabric
│ │ ├── data_mining_workload
│ │ ├── 4000
│ │ │ ├── CSFQ.properties
│ │ │ ├── DCTCP.properties
│ │ │ ├── PF.properties
│ │ │ ├── PIFO.properties
│ │ │ ├── SPPIFO.properties
│ │ │ ├── TCP.properties
│ │ │ └── TOY.properties
│ │ ├── 6000
│ │ │ ├── CSFQ.properties
│ │ │ ├── DCTCP.properties
│ │ │ ├── PF.properties
│ │ │ ├── PIFO.properties
│ │ │ ├── SPPIFO.properties
│ │ │ ├── TCP.properties
│ │ │ └── TOY.properties
│ │ ├── 10000
│ │ │ ├── CSFQ.properties
│ │ │ ├── DCTCP.properties
│ │ │ ├── PF.properties
│ │ │ ├── PIFO.properties
│ │ │ ├── SPPIFO.properties
│ │ │ ├── TCP.properties
│ │ │ └── TOY.properties
│ │ ├── 15000
│ │ │ ├── CSFQ.properties
│ │ │ ├── DCTCP.properties
│ │ │ ├── PF.properties
│ │ │ ├── PIFO.properties
│ │ │ ├── SPPIFO.properties
│ │ │ ├── TCP.properties
│ │ │ └── TOY.properties
│ │ ├── 22500
│ │ │ ├── CSFQ.properties
│ │ │ ├── DCTCP.properties
│ │ │ ├── PF.properties
│ │ │ ├── PIFO.properties
│ │ │ ├── SPPIFO.properties
│ │ │ ├── TCP.properties
│ │ │ └── TOY.properties
│ │ ├── 37000
│ │ │ ├── CSFQ.properties
│ │ │ ├── DCTCP.properties
│ │ │ ├── PF.properties
│ │ │ ├── PIFO.properties
│ │ │ ├── SPPIFO.properties
│ │ │ ├── TCP.properties
│ │ │ └── TOY.properties
│ │ ├── 60000
│ │ │ ├── CSFQ.properties
│ │ │ ├── DCTCP.properties
│ │ │ ├── PF.properties
│ │ │ ├── PIFO.properties
│ │ │ ├── SPPIFO.properties
│ │ │ ├── TCP.properties
│ │ │ └── TOY.properties
│ │ └── 100000
│ │ │ ├── CSFQ.properties
│ │ │ ├── DCTCP.properties
│ │ │ ├── PIFO.properties
│ │ │ ├── SPPIFO.properties
│ │ │ ├── TCP.properties
│ │ │ └── TOY.properties
│ │ ├── data_mining_workload_modified
│ │ ├── 4000
│ │ │ ├── DCTCP.properties
│ │ │ ├── PIFO.properties
│ │ │ ├── SPPIFO.properties
│ │ │ ├── TCP.properties
│ │ │ └── TOY.properties
│ │ ├── 6000
│ │ │ ├── DCTCP.properties
│ │ │ ├── PIFO.properties
│ │ │ ├── SPPIFO.properties
│ │ │ ├── TCP.properties
│ │ │ └── TOY.properties
│ │ ├── 10000
│ │ │ ├── DCTCP.properties
│ │ │ ├── PIFO.properties
│ │ │ ├── SPPIFO.properties
│ │ │ ├── TCP.properties
│ │ │ └── TOY.properties
│ │ ├── 15000
│ │ │ ├── DCTCP.properties
│ │ │ ├── PIFO.properties
│ │ │ ├── SPPIFO.properties
│ │ │ ├── TCP.properties
│ │ │ └── TOY.properties
│ │ ├── 22500
│ │ │ ├── DCTCP.properties
│ │ │ ├── PIFO.properties
│ │ │ ├── SPPIFO.properties
│ │ │ ├── TCP.properties
│ │ │ └── TOY.properties
│ │ ├── 37000
│ │ │ ├── DCTCP.properties
│ │ │ ├── PIFO.properties
│ │ │ ├── SPPIFO.properties
│ │ │ ├── TCP.properties
│ │ │ └── TOY.properties
│ │ └── 60000
│ │ │ ├── DCTCP.properties
│ │ │ ├── PIFO.properties
│ │ │ ├── SPPIFO.properties
│ │ │ ├── TCP.properties
│ │ │ └── TOY.properties
│ │ └── web_search_workload
│ │ ├── 3600
│ │ ├── DCTCP.properties
│ │ ├── PF.properties
│ │ ├── PIFO.properties
│ │ ├── SPPIFO.properties
│ │ ├── TCP.properties
│ │ └── TOY.properties
│ │ ├── 5200
│ │ ├── DCTCP.properties
│ │ ├── PF.properties
│ │ ├── PIFO.properties
│ │ ├── SPPIFO.properties
│ │ ├── TCP.properties
│ │ └── TOY.properties
│ │ ├── 7000
│ │ ├── DCTCP.properties
│ │ ├── PF.properties
│ │ ├── PIFO.properties
│ │ ├── SPPIFO.properties
│ │ ├── TCP.properties
│ │ └── TOY.properties
│ │ ├── 8900
│ │ ├── DCTCP.properties
│ │ ├── PF.properties
│ │ ├── PIFO.properties
│ │ ├── SPPIFO.properties
│ │ ├── TCP.properties
│ │ └── TOY.properties
│ │ ├── 11100
│ │ ├── DCTCP.properties
│ │ ├── PF.properties
│ │ ├── PIFO.properties
│ │ ├── SPPIFO.properties
│ │ ├── TCP.properties
│ │ └── TOY.properties
│ │ ├── 14150
│ │ ├── DCTCP.properties
│ │ ├── PF.properties
│ │ ├── PIFO.properties
│ │ ├── SPPIFO.properties
│ │ ├── TCP.properties
│ │ └── TOY.properties
│ │ └── 19000
│ │ ├── DCTCP.properties
│ │ ├── PF.properties
│ │ ├── PIFO.properties
│ │ ├── SPPIFO.properties
│ │ ├── TCP.properties
│ │ └── TOY.properties
├── src
│ └── main
│ │ └── java
│ │ ├── ch
│ │ └── ethz
│ │ │ └── systems
│ │ │ └── netbench
│ │ │ ├── core
│ │ │ ├── Simulator.java
│ │ │ ├── config
│ │ │ │ ├── BaseAllowedProperties.java
│ │ │ │ ├── GraphDetails.java
│ │ │ │ ├── GraphReader.java
│ │ │ │ ├── NBProperties.java
│ │ │ │ ├── TopologyServerExtender.java
│ │ │ │ └── exceptions
│ │ │ │ │ ├── ConfigurationReadFailException.java
│ │ │ │ │ ├── PropertyConflictException.java
│ │ │ │ │ ├── PropertyMissingException.java
│ │ │ │ │ ├── PropertyNotExistingException.java
│ │ │ │ │ └── PropertyValueInvalidException.java
│ │ │ ├── log
│ │ │ │ ├── FlowLogger.java
│ │ │ │ ├── LogFailureException.java
│ │ │ │ ├── LoggerCallback.java
│ │ │ │ ├── PortLogger.java
│ │ │ │ └── SimulationLogger.java
│ │ │ ├── network
│ │ │ │ ├── Event.java
│ │ │ │ ├── Intermediary.java
│ │ │ │ ├── Link.java
│ │ │ │ ├── NetworkDevice.java
│ │ │ │ ├── OutputPort.java
│ │ │ │ ├── Packet.java
│ │ │ │ ├── PacketArrivalEvent.java
│ │ │ │ ├── PacketDispatchedEvent.java
│ │ │ │ ├── PacketHeader.java
│ │ │ │ ├── Socket.java
│ │ │ │ ├── TransportLayer.java
│ │ │ │ ├── TransportLayer.java.changed
│ │ │ │ └── UDPSendPacketEvent.java
│ │ │ ├── random
│ │ │ │ └── RandomManager.java
│ │ │ ├── run
│ │ │ │ ├── InfrastructureSelector.java
│ │ │ │ ├── MainFromIntelliJ.java
│ │ │ │ ├── MainFromIntelliJ.java.aifo
│ │ │ │ ├── MainFromProperties.java
│ │ │ │ ├── MainSimulation.java
│ │ │ │ ├── RoutingSelector.java
│ │ │ │ ├── TrafficSelector.java
│ │ │ │ ├── infrastructure
│ │ │ │ │ ├── BaseInitializer.java
│ │ │ │ │ ├── IntermediaryGenerator.java
│ │ │ │ │ ├── LinkGenerator.java
│ │ │ │ │ ├── NetworkDeviceGenerator.java
│ │ │ │ │ ├── OutputPortGenerator.java
│ │ │ │ │ └── TransportLayerGenerator.java
│ │ │ │ ├── routing
│ │ │ │ │ └── RoutingPopulator.java
│ │ │ │ └── traffic
│ │ │ │ │ ├── FlowStartEvent.java
│ │ │ │ │ └── TrafficPlanner.java
│ │ │ └── utility
│ │ │ │ └── UnitConverter.java
│ │ │ ├── ext
│ │ │ ├── bare
│ │ │ │ ├── BarePacket.java
│ │ │ │ ├── BarePacketResendEvent.java
│ │ │ │ ├── BareSocket.java
│ │ │ │ ├── BareTransportLayer.java
│ │ │ │ └── BareTransportLayerGenerator.java
│ │ │ ├── basic
│ │ │ │ ├── EcnTailDropOutputPort.java
│ │ │ │ ├── EcnTailDropOutputPortGenerator.java
│ │ │ │ ├── IpHeader.java
│ │ │ │ ├── IpPacket.java
│ │ │ │ ├── PerfectSimpleLink.java
│ │ │ │ ├── PerfectSimpleLinkGenerator.java
│ │ │ │ ├── SplitBandwidthLinkGenerator.java
│ │ │ │ ├── TcpHeader.java
│ │ │ │ └── TcpPacket.java
│ │ │ ├── demo
│ │ │ │ ├── DemoIntermediary.java
│ │ │ │ ├── DemoIntermediaryGenerator.java
│ │ │ │ ├── DemoPacket.java
│ │ │ │ ├── DemoPacketHeader.java
│ │ │ │ ├── DemoSocket.java
│ │ │ │ ├── DemoTransportLayer.java
│ │ │ │ └── DemoTransportLayerGenerator.java
│ │ │ ├── ecmp
│ │ │ │ ├── EcmpRoutingUtility.java
│ │ │ │ ├── EcmpSwitch.java
│ │ │ │ ├── EcmpSwitchGenerator.java
│ │ │ │ ├── EcmpSwitchRouting.java
│ │ │ │ ├── EcmpSwitchRoutingInterface.java
│ │ │ │ ├── ForwarderSwitch.java
│ │ │ │ ├── ForwarderSwitchGenerator.java
│ │ │ │ └── ForwarderSwitchRouting.java
│ │ │ ├── flowlet
│ │ │ │ ├── FixedGapFlowletIntermediary.java
│ │ │ │ ├── FlowletIntermediary.java
│ │ │ │ ├── FlowletLogger.java
│ │ │ │ ├── IdentityFlowletIntermediary.java
│ │ │ │ ├── IdentityFlowletIntermediaryGenerator.java
│ │ │ │ ├── UniformFlowletIntermediary.java
│ │ │ │ └── UniformFlowletIntermediaryGenerator.java
│ │ │ ├── hybrid
│ │ │ │ ├── EcmpThenValiantSwitch.java
│ │ │ │ └── EcmpThenValiantSwitchGenerator.java
│ │ │ ├── poissontraffic
│ │ │ │ ├── FromStringArrivalPlanner.java
│ │ │ │ ├── ParetoDistribution.java
│ │ │ │ ├── PoissonArrivalPlanner.java
│ │ │ │ ├── RandomCollection.java
│ │ │ │ └── flowsize
│ │ │ │ │ ├── FlowSizeDistribution.java
│ │ │ │ │ ├── PFabricDataMiningLowerBoundFSD.java
│ │ │ │ │ ├── PFabricDataMiningUpperBoundFSD.java
│ │ │ │ │ ├── PFabricWebSearchLowerBoundFSD.java
│ │ │ │ │ ├── PFabricWebSearchUpperBoundFSD.java
│ │ │ │ │ ├── ParetoFSD.java
│ │ │ │ │ ├── UniformFSD.java
│ │ │ │ │ ├── pFabricDataMiningAlbert.java
│ │ │ │ │ └── pFabricWebSearchAlbert.java
│ │ │ ├── trafficpair
│ │ │ │ └── TrafficPairPlanner.java
│ │ │ └── valiant
│ │ │ │ ├── RangeValiantSwitch.java
│ │ │ │ ├── RangeValiantSwitchGenerator.java
│ │ │ │ ├── ValiantEcmpSwitch.java
│ │ │ │ ├── ValiantEncapsulation.java
│ │ │ │ └── ValiantEncapsulationHeader.java
│ │ │ └── xpt
│ │ │ ├── asaf
│ │ │ └── routing
│ │ │ │ └── priority
│ │ │ │ ├── PriorityFlowletIntermediary.java
│ │ │ │ └── PriorityFlowletIntermediaryGenerator.java
│ │ │ ├── newreno
│ │ │ ├── TcpRetransmissionTimeOutEvent.java
│ │ │ ├── newrenodctcp
│ │ │ │ ├── NewRenoDctcpSocket.java
│ │ │ │ ├── NewRenoDctcpTransportLayer.java
│ │ │ │ └── NewRenoDctcpTransportLayerGenerator.java
│ │ │ └── newrenotcp
│ │ │ │ ├── NewRenoTcpSocket.java
│ │ │ │ ├── NewRenoTcpTransportLayer.java
│ │ │ │ └── NewRenoTcpTransportLayerGenerator.java
│ │ │ ├── simple
│ │ │ ├── TcpPacketResendEvent.java
│ │ │ ├── simpledctcp
│ │ │ │ ├── SimpleDctcpSocket.java
│ │ │ │ ├── SimpleDctcpTransportLayer.java
│ │ │ │ └── SimpleDctcpTransportLayerGenerator.java
│ │ │ ├── simpletcp
│ │ │ │ ├── SimpleTcpSocket.java
│ │ │ │ ├── SimpleTcpTransportLayer.java
│ │ │ │ └── SimpleTcpTransportLayerGenerator.java
│ │ │ └── simpleudp
│ │ │ │ ├── SimpleUdpPacket.java
│ │ │ │ ├── SimpleUdpSocket.java
│ │ │ │ ├── SimpleUdpTransportLayer.java
│ │ │ │ └── SimpleUdpTransportLayerGenerator.java
│ │ │ ├── sourcerouting
│ │ │ ├── EcmpThenKspNoShortestRouting.java
│ │ │ ├── EcmpThenKspRouting.java
│ │ │ ├── EcmpThenSourceRoutingSwitch.java
│ │ │ ├── EcmpThenSourceRoutingSwitchGenerator.java
│ │ │ ├── KShortestPathsSwitchRouting.java
│ │ │ ├── SourceRoutingEncapsulation.java
│ │ │ ├── SourceRoutingPath.java
│ │ │ ├── SourceRoutingSwitch.java
│ │ │ └── SourceRoutingSwitchGenerator.java
│ │ │ ├── sppifo
│ │ │ └── ports
│ │ │ │ ├── AFQ
│ │ │ │ ├── AFQOutputPort.java
│ │ │ │ ├── AFQOutputPortGenerator.java
│ │ │ │ └── AFQQueue.java
│ │ │ │ ├── CSFQ
│ │ │ │ ├── CSFQOutputPort.java
│ │ │ │ ├── CSFQOutputPortGenerator.java
│ │ │ │ ├── EstFairShareRate.java
│ │ │ │ └── FlowState.java
│ │ │ │ ├── FIFO
│ │ │ │ ├── FIFOOutputPort.java
│ │ │ │ └── FIFOOutputPortGenerator.java
│ │ │ │ ├── Greedy
│ │ │ │ ├── GreedyOutputPortGenerator_Advanced.java
│ │ │ │ ├── GreedyOutputPortGenerator_Simple.java
│ │ │ │ ├── GreedyOutputPort_Advanced.java
│ │ │ │ ├── GreedyOutputPort_Simple.java
│ │ │ │ ├── GreedyQueue.java
│ │ │ │ └── GreedyQueue_Advanced.java
│ │ │ │ ├── HCSFQ
│ │ │ │ ├── EstFairShareRate.java
│ │ │ │ ├── FlowState.java
│ │ │ │ ├── HCSFQOutputPort.java
│ │ │ │ └── HCSFQOutputPortGenerator.java
│ │ │ │ ├── PIFO
│ │ │ │ ├── PIFOOutputPort.java
│ │ │ │ ├── PIFOOutputPortGenerator.java
│ │ │ │ └── PIFOQueue.java
│ │ │ │ ├── PIFO_WFQ
│ │ │ │ ├── WFQPIFOLeafQueue.java
│ │ │ │ ├── WFQPIFOOutputPort.java
│ │ │ │ ├── WFQPIFOOutputPort.java.two_layer
│ │ │ │ ├── WFQPIFOOutputPortGenerator.java
│ │ │ │ ├── WFQPIFOOutputPortGenerator.java.two_layer
│ │ │ │ ├── WFQPIFOQueue.java
│ │ │ │ └── WFQPIFOQueue.java.two_layer
│ │ │ │ ├── SPPIFO
│ │ │ │ ├── SPPIFOOutputPort.java
│ │ │ │ ├── SPPIFOOutputPortGenerator.java
│ │ │ │ └── SPPIFOQueue.java
│ │ │ │ ├── SPPIFO_WFQ
│ │ │ │ ├── WFQSPPIFOOutputPort.java
│ │ │ │ ├── WFQSPPIFOOutputPortGenerator.java
│ │ │ │ └── WFQSPPIFOQueue.java
│ │ │ │ ├── TOY
│ │ │ │ ├── TOYOutputPort.java
│ │ │ │ └── TOYOutputPortGenerator.java
│ │ │ │ └── TailDrop
│ │ │ │ ├── TailDropOutputPort.java
│ │ │ │ └── TailDropOutputPortGenerator.java
│ │ │ ├── tcpbase
│ │ │ ├── AckRange.java
│ │ │ ├── AckRangeSet.java
│ │ │ ├── EchoHeader.java
│ │ │ ├── FullExtTcpPacket.java
│ │ │ ├── PriorityHeader.java
│ │ │ ├── SelectiveAckHeader.java
│ │ │ └── TcpLogger.java
│ │ │ ├── utility
│ │ │ ├── ExcelCombinator.java
│ │ │ ├── FTEcmpFC.java
│ │ │ ├── FileLineComparator.java
│ │ │ ├── FullCrossbarTopologyCreator.java
│ │ │ ├── HashTestMain.java
│ │ │ ├── NodeTransportLayerMapper.java
│ │ │ ├── NormalizeIt.java
│ │ │ ├── NumberShortestPathsCheck.java
│ │ │ ├── SequenceUtility.java
│ │ │ ├── TestMain.java
│ │ │ ├── TestSkewness.java
│ │ │ ├── TestSkewness2.java
│ │ │ ├── TrafficPairProbabilitiesCreator.java
│ │ │ ├── TwoExclusionRange.java
│ │ │ ├── TwoSequenceHashTest.java
│ │ │ ├── UniformServerLinksToNodesCreator.java
│ │ │ ├── XpanderTrafficPairProbabilitiesCreator.java
│ │ │ ├── dataprocessing
│ │ │ │ ├── CalculateAverageStatistics.java
│ │ │ │ ├── InFolderCombinator.java
│ │ │ │ ├── InFolderCombinatorProjecToR.java
│ │ │ │ ├── NiceExcelCreator.java
│ │ │ │ ├── ProcessAll.java
│ │ │ │ ├── SingularCombinator.java
│ │ │ │ ├── SingularCombinatorParetoGraph.java
│ │ │ │ └── SingularCombinatorProjector.java
│ │ │ └── pairprob
│ │ │ │ ├── NodePairProbabilityCreator.java
│ │ │ │ ├── SPPCAllToAllInFraction.java
│ │ │ │ ├── SPPCDegreeOfSkew.java
│ │ │ │ ├── SPPCNodePairsFromFile.java
│ │ │ │ └── deprecated
│ │ │ │ ├── SkewedTrafficPairProbabilitiesCreator.java
│ │ │ │ └── SkewedTrafficPairProbabilitiesOneStageCreator.java
│ │ │ └── voijslav_and_sppifo
│ │ │ ├── ports
│ │ │ ├── BoundedPriorityOutputPort.java
│ │ │ ├── BoundedPriorityOutputPortGenerator.java
│ │ │ ├── PriorityOutputPort.java
│ │ │ ├── PriorityOutputPortGenerator.java
│ │ │ ├── UnlimitedOutputPort.java
│ │ │ └── UnlimitedOutputPortGenerator.java
│ │ │ ├── tcp
│ │ │ ├── buffertcp
│ │ │ │ ├── BufferTcpSocket.java
│ │ │ │ ├── BufferTcpTransportLayer.java
│ │ │ │ └── BufferTcpTransportLayerGenerator.java
│ │ │ ├── distmeantcp
│ │ │ │ ├── DistMeanTcpSocket.java
│ │ │ │ ├── DistMeanTcpTransportLayer.java
│ │ │ │ └── DistMeanTcpTransportLayerGenerator.java
│ │ │ ├── distrandtcp
│ │ │ │ ├── DistRandTcpSocket.java
│ │ │ │ ├── DistRandTcpTransportLayer.java
│ │ │ │ └── DistRandTcpTransportLayerGenerator.java
│ │ │ ├── lstftcp
│ │ │ │ ├── LstfTcpSocket.java
│ │ │ │ ├── LstfTcpTransportLayer.java
│ │ │ │ ├── LstfTcpTransportLayerGenerator.java
│ │ │ │ └── RandomNumberGenerator.java
│ │ │ ├── pfabric
│ │ │ │ ├── PfabricSocket.java
│ │ │ │ ├── PfabricTransportLayer.java
│ │ │ │ └── PfabricTransportLayerGenerator.java
│ │ │ ├── pfzero
│ │ │ │ ├── PfzeroSocket.java
│ │ │ │ ├── PfzeroTransportLayer.java
│ │ │ │ └── PfzeroTransportLayerGenerator.java
│ │ │ ├── sparktcp
│ │ │ │ ├── SparkSocket.java
│ │ │ │ ├── SparkTransportLayer.java
│ │ │ │ └── SparkTransportLayerGenerator.java
│ │ │ ├── sphalftcp
│ │ │ │ ├── SpHalfTcpSocket.java
│ │ │ │ ├── SpHalfTcpTransportLayer.java
│ │ │ │ └── SpHalfTcpTransportLayerGenerator.java
│ │ │ └── sptcp
│ │ │ │ ├── SpTcpSocket.java
│ │ │ │ ├── SpTcpTransportLayer.java
│ │ │ │ └── SpTcpTransportLayerGenerator.java
│ │ │ └── utility
│ │ │ └── FctDistributions.java
│ │ └── edu
│ │ └── asu
│ │ └── emit
│ │ └── algorithm
│ │ ├── graph
│ │ ├── BaseElementWithWeight.java
│ │ ├── BaseGraph.java
│ │ ├── Graph.java
│ │ ├── Path.java
│ │ ├── VariableGraph.java
│ │ ├── Vertex.java
│ │ └── algorithms
│ │ │ ├── DijkstraShortestPathAlg.java
│ │ │ └── YenTopKShortestPathsAlg.java
│ │ └── utils
│ │ └── QYPriorityQueue.java
└── temp
│ └── .gitignore
└── testbed_code
├── README.md
├── client_dpdk
├── README.md
├── client
│ ├── Makefile
│ ├── client.c
│ └── util.h
├── server
│ ├── Makefile
│ ├── server.c
│ └── util.h
└── tools.sh
├── config.py
├── console.py
├── hcsfq
├── controller_init
│ ├── ports.json
│ └── test.py
└── p4src
│ ├── hcsfq.p4
│ ├── hcsfq_actions.p4
│ ├── hcsfq_blackboxs.p4
│ ├── hcsfq_routing.p4
│ ├── hcsfq_tables.p4
│ ├── includes
│ ├── hcsfq_defines.p4
│ ├── hcsfq_defines_mixed.p4
│ ├── hcsfq_defines_normal.p4
│ ├── hcsfq_defines_tcp_alg.p4
│ ├── hcsfq_defines_tcp_converge.p4
│ ├── hcsfq_defines_tcp_diff.p4
│ ├── hcsfq_defines_tcp_equal.p4
│ ├── hcsfq_defines_tcp_hierarchy.p4
│ ├── hcsfq_defines_tcp_rtt.p4
│ ├── hcsfq_headers.p4
│ └── hcsfq_parser.p4
│ ├── pseudo.py
│ └── tool.py
└── simple_switch
├── controller_init
├── ports.json
└── test.py
└── p4src
├── includes
├── simpleswitch_defines.p4
├── simpleswitch_headers.p4
└── simpleswitch_parser.p4
├── simpleswitch.p4
├── simpleswitch_actions.p4
├── simpleswitch_blackboxs.p4
├── simpleswitch_routing.p4
├── simpleswitch_tables.p4
└── tool.py
/.gitignore:
--------------------------------------------------------------------------------
1 | # Mac
2 | .DS_Store
3 |
4 | # Excutable file
5 | bin/
6 |
7 | # Playground
8 | playground/
9 |
10 | *.pcap
11 |
12 | # Backup file
13 | *.bak
14 | *.bak.*
15 |
16 | # Python byte code
17 | *.pyc
18 |
19 | # Object file
20 | *.o
21 |
22 | *.e
23 |
24 | # Temp file
25 | *.swp
26 | *.tmp
27 | tmp.*
28 |
29 | # Data
30 | *.csv
31 | *.in
32 | *.out
33 | *.stat
34 |
35 | # Figures
36 | !*.pdf
37 |
38 | # Function code
39 | simulator.py
40 |
41 | *.zip
42 |
43 | results/
44 | *_bak/
45 | .ipynb_checkpoints/
46 |
--------------------------------------------------------------------------------
/simulation_code/README.md:
--------------------------------------------------------------------------------
1 | ## Contents
2 | - projects: contains the parameters for different algorithms (e.g., AFQ, SP-PIFO, HCSFQ)
3 | - src: source code
4 | - temp: the log files are saved here
5 | - results: the results are generated here
6 |
7 | ## How to setup and run the simulator
8 | - Software dependencies
9 | - Java 8
10 | - Python 2
11 | - Building
12 | - `mvn clean compile assembly:single`
13 | - Running
14 | - `java -jar -ea NetBench.jar [config_dir]`
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/rackscale/mix/HCSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/rack.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=HCSFQ
8 | run_folder_base_dir=temp/rackscale/mix
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=hcsfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=25000
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/rackscale/mix/TCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/rack.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TCP
8 | run_folder_base_dir=temp/rackscale/mix
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=tcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=25000
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
33 |
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/data_mining_workload/11100/CSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=CSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/data_mining_workload/11100
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/data_mining_workload/analyze_data_mining.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=csfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=11100
31 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/data_mining_workload/14150/CSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=CSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/data_mining_workload/14150
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/data_mining_workload/analyze_data_mining.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=csfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=14150
31 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/data_mining_workload/19000/CSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=CSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/data_mining_workload/19000
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/data_mining_workload/analyze_data_mining.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=csfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=19000
31 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/data_mining_workload/5200/CSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=CSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/data_mining_workload/5200
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/data_mining_workload/analyze_data_mining.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=csfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=5200
31 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/data_mining_workload/7000/CSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=CSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/data_mining_workload/7000
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/data_mining_workload/analyze_data_mining.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=csfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=7000
31 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/data_mining_workload/8900/CSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=CSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/data_mining_workload/8900
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/data_mining_workload/analyze_data_mining.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=csfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=8900
31 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/incast/web_search_workload/11100/CSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=CSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/11100
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=csfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=11100
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/incast/web_search_workload/14150/CSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=CSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/14150
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=csfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=14150
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/incast/web_search_workload/19000/CSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=CSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/19000
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=csfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=19000
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/incast/web_search_workload/5200/CSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=CSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/5200
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=csfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=5200
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/incast/web_search_workload/5200/HCSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=HCSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/5200
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=hcsfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=5200
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/incast/web_search_workload/7000/CSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=CSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/7000
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=csfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=7000
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/incast/web_search_workload/7000/HCSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=HCSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/7000
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=hcsfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=7000
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/incast/web_search_workload/8900/CSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=CSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/8900
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=csfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=8900
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/incast/web_search_workload/8900/HCSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=HCSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/8900
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=hcsfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=8900
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/11100/CSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=CSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/11100
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=csfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=11100
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/11100/HCSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=HCSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/11100
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=hcsfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=11100
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/11100/PIFOWFQ_32.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=PIFOWFQ_32
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/11100
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=wfqpifo
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=11100
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/11100/PIFOWFQ_8.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=PIFOWFQ_8
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/11100
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=wfqpifo
21 | output_port_max_size_packets=80
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=11100
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/11100/TCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/11100
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=tcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=11100
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
33 |
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/14150/CSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=CSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/14150
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=csfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=14150
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/14150/HCSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=HCSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/14150
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=hcsfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=14150
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/14150/PIFOWFQ_32.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=PIFOWFQ_32
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/14150
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=wfqpifo
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=14150
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/14150/PIFOWFQ_8.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=PIFOWFQ_8
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/14150
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=wfqpifo
21 | output_port_max_size_packets=80
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=14150
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/14150/TCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/14150
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=tcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=14150
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
33 |
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/19000/CSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=CSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/19000
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=csfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=19000
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/19000/HCSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=HCSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/19000
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=hcsfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=19000
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/19000/PIFOWFQ_32.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=PIFOWFQ_32
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/19000
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=wfqpifo
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=19000
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/19000/PIFOWFQ_8.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=PIFOWFQ_8
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/19000
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=wfqpifo
21 | output_port_max_size_packets=80
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=19000
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/19000/TCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/19000
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=tcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=19000
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
33 |
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/25000/CSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=CSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/25000
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=csfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=25000
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/25000/HCSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=HCSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/25000
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=hcsfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=25000
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/25000/PIFOWFQ_32.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=PIFOWFQ_32
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/25000
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=wfqpifo
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=25000
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/25000/PIFOWFQ_8.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=PIFOWFQ_8
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/25000
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=wfqpifo
21 | output_port_max_size_packets=80
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=25000
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/25000/TCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/25000
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=tcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=25000
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
33 |
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/32000/CSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=CSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/32000
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=csfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=32000
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/32000/HCSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=HCSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/32000
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=hcsfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=32000
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/32000/PIFOWFQ_32.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=PIFOWFQ_32
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/32000
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=wfqpifo
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=32000
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/32000/PIFOWFQ_8.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=PIFOWFQ_8
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/32000
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=wfqpifo
21 | output_port_max_size_packets=80
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=32000
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/32000/TCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/32000
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=tcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=32000
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
33 |
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/3600/CSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=CSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/3600
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=csfq
22 | output_port_max_size_packets=320
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=3600
32 | traffic_flow_size_dist=pfabric_web_search_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/3600/HCSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=HCSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/3600
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=hcsfq
22 | output_port_max_size_packets=320
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=3600
32 | traffic_flow_size_dist=pfabric_web_search_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/5200/CSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=CSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/5200
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=csfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=5200
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/5200/HCSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=HCSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/5200
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=hcsfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=5200
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/5200/PIFOWFQ_32.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=PIFOWFQ_32
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/5200
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=wfqpifo
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=5200
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/5200/PIFOWFQ_8.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=PIFOWFQ_8
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/5200
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=wfqpifo
21 | output_port_max_size_packets=80
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=5200
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/5200/TCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/5200
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=tcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=5200
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
33 |
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/7000/CSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=CSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/7000
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=csfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=7000
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/7000/HCSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=HCSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/7000
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=hcsfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=7000
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/7000/PIFOWFQ_32.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=PIFOWFQ_32
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/7000
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=wfqpifo
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=7000
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/7000/PIFOWFQ_8.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=PIFOWFQ_8
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/7000
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=wfqpifo
21 | output_port_max_size_packets=80
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=7000
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/7000/TCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/7000
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=tcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=7000
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
33 |
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/8900/CSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=CSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/8900
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=csfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=8900
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/8900/HCSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=HCSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/8900
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 | second_transport_layer=udp
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=hcsfq
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=8900
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/8900/PIFOWFQ_32.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=PIFOWFQ_32
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/8900
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=wfqpifo
21 | output_port_max_size_packets=320
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=8900
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/8900/PIFOWFQ_8.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=PIFOWFQ_8
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/8900
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=wfqpifo
21 | output_port_max_size_packets=80
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=8900
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/8900/TCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/fairness/web_search_workload/8900
9 | analysis_command=python3 projects/sppifo/runs/sppifo_evaluation/fairness/web_search_workload/analyze_web_search.py
10 |
11 | # Transport layer protocol
12 | transport_layer=tcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=8900
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
33 |
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/10000/CSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=CSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/10000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=csfq
22 | output_port_max_size_packets=80
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=10000
32 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/10000/DCTCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=DCTCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/10000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=ecn_tail_drop
21 | output_port_max_queue_size_bytes=146000
22 | output_port_ecn_threshold_k_bytes=14600
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=10000
32 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
33 | traffic_probabilities_generator=all_to_all
34 |
35 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/10000/PF.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=pfabric
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/10000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=pfabric
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=10000
31 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
32 | traffic_probabilities_generator=all_to_all
33 |
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/10000/PIFO.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=PIFO
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/10000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=pifo
22 | output_port_max_size_packets=80
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=10000
32 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/10000/TCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/10000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=tcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=10000
31 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
32 | traffic_probabilities_generator=all_to_all
33 |
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/10000/TOY.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TOY
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/10000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=toy
22 | output_port_max_size_packets=80
23 | window_size=1000
24 | items_per_window=800
25 |
26 | # Link
27 | link=split_bw
28 | link_delay_ns=20
29 | link_bandwidth_bit_per_ns=1
30 |
31 | # Traffic
32 | traffic=poisson_arrival
33 | traffic_lambda_flow_starts_per_s=10000
34 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
35 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/100000/CSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=CSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/100000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=csfq
22 | output_port_max_size_packets=80
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=100000
32 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/100000/DCTCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=DCTCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/100000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=ecn_tail_drop
21 | output_port_max_queue_size_bytes=146000
22 | output_port_ecn_threshold_k_bytes=14600
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=100000
32 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
33 | traffic_probabilities_generator=all_to_all
34 |
35 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/100000/PIFO.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=PIFO
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/100000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=pifo
22 | output_port_max_size_packets=80
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=100000
32 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/100000/TCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/100000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=tcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=100000
31 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
32 | traffic_probabilities_generator=all_to_all
33 |
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/15000/CSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=CSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/15000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=csfq
22 | output_port_max_size_packets=80
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=15000
32 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/15000/DCTCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=DCTCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/15000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=ecn_tail_drop
21 | output_port_max_queue_size_bytes=146000
22 | output_port_ecn_threshold_k_bytes=14600
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=15000
32 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
33 | traffic_probabilities_generator=all_to_all
34 |
35 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/15000/PF.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=pfabric
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/15000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=pfabric
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=15000
31 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
32 | traffic_probabilities_generator=all_to_all
33 |
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/15000/PIFO.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=PIFO
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/15000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=pifo
22 | output_port_max_size_packets=80
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=15000
32 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/15000/TCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/15000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=tcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=15000
31 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
32 | traffic_probabilities_generator=all_to_all
33 |
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/15000/TOY.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TOY
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/15000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=toy
22 | output_port_max_size_packets=80
23 | window_size=1000
24 | items_per_window=800
25 |
26 | # Link
27 | link=split_bw
28 | link_delay_ns=20
29 | link_bandwidth_bit_per_ns=1
30 |
31 | # Traffic
32 | traffic=poisson_arrival
33 | traffic_lambda_flow_starts_per_s=15000
34 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
35 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/22500/CSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=CSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/22500
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=csfq
22 | output_port_max_size_packets=80
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=22500
32 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/22500/DCTCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=DCTCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/22500
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=ecn_tail_drop
21 | output_port_max_queue_size_bytes=146000
22 | output_port_ecn_threshold_k_bytes=14600
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=22500
32 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
33 | traffic_probabilities_generator=all_to_all
34 |
35 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/22500/PF.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=pfabric
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/22500
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=pfabric
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=22500
31 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
32 | traffic_probabilities_generator=all_to_all
33 |
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/22500/PIFO.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=PIFO
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/22500
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=pifo
22 | output_port_max_size_packets=80
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=22500
32 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/22500/TCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/22500
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=tcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=22500
31 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
32 | traffic_probabilities_generator=all_to_all
33 |
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/22500/TOY.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TOY
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/22500
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=toy
22 | output_port_max_size_packets=80
23 | window_size=1000
24 | items_per_window=800
25 |
26 | # Link
27 | link=split_bw
28 | link_delay_ns=20
29 | link_bandwidth_bit_per_ns=1
30 |
31 | # Traffic
32 | traffic=poisson_arrival
33 | traffic_lambda_flow_starts_per_s=22500
34 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
35 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/37000/CSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=CSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/37000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=csfq
22 | output_port_max_size_packets=80
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=37000
32 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/37000/DCTCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=DCTCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/37000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=ecn_tail_drop
21 | output_port_max_queue_size_bytes=146000
22 | output_port_ecn_threshold_k_bytes=14600
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=37000
32 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
33 | traffic_probabilities_generator=all_to_all
34 |
35 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/37000/PF.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=pfabric
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/37000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=pfabric
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=37000
31 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
32 | traffic_probabilities_generator=all_to_all
33 |
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/37000/PIFO.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=PIFO
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/37000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=pifo
22 | output_port_max_size_packets=80
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=37000
32 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/37000/TCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/37000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=tcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=37000
31 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
32 | traffic_probabilities_generator=all_to_all
33 |
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/37000/TOY.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TOY
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/37000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=toy
22 | output_port_max_size_packets=80
23 | window_size=1000
24 | items_per_window=800
25 |
26 | # Link
27 | link=split_bw
28 | link_delay_ns=20
29 | link_bandwidth_bit_per_ns=1
30 |
31 | # Traffic
32 | traffic=poisson_arrival
33 | traffic_lambda_flow_starts_per_s=37000
34 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
35 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/4000/CSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=CSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/4000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=csfq
22 | output_port_max_size_packets=80
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=4000
32 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/4000/DCTCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=DCTCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/4000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=ecn_tail_drop
21 | output_port_max_queue_size_bytes=146000
22 | output_port_ecn_threshold_k_bytes=14600
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=4000
32 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
33 | traffic_probabilities_generator=all_to_all
34 |
35 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/4000/PF.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=pfabric
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/4000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=pfabric
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=4000
31 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
32 | traffic_probabilities_generator=all_to_all
33 |
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/4000/PIFO.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=PIFO
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/4000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=pifo
22 | output_port_max_size_packets=80
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=4000
32 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/4000/TCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/4000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=tcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=4000
31 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
32 | traffic_probabilities_generator=all_to_all
33 |
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/4000/TOY.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TOY
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/4000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=toy
22 | output_port_max_size_packets=80
23 | window_size=1000
24 | items_per_window=800
25 |
26 | # Link
27 | link=split_bw
28 | link_delay_ns=20
29 | link_bandwidth_bit_per_ns=1
30 |
31 | # Traffic
32 | traffic=poisson_arrival
33 | traffic_lambda_flow_starts_per_s=4000
34 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
35 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/6000/CSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=CSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/6000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=csfq
22 | output_port_max_size_packets=80
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=6000
32 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/6000/DCTCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=DCTCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/6000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=ecn_tail_drop
21 | output_port_max_queue_size_bytes=146000
22 | output_port_ecn_threshold_k_bytes=14600
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=6000
32 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
33 | traffic_probabilities_generator=all_to_all
34 |
35 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/6000/PF.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=pfabric
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/6000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=pfabric
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=6000
31 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
32 | traffic_probabilities_generator=all_to_all
33 |
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/6000/PIFO.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=PIFO
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/6000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=pifo
22 | output_port_max_size_packets=80
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=6000
32 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/6000/TCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/6000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=tcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=6000
31 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
32 | traffic_probabilities_generator=all_to_all
33 |
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/6000/TOY.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TOY
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/6000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=toy
22 | output_port_max_size_packets=80
23 | window_size=1000
24 | items_per_window=800
25 |
26 | # Link
27 | link=split_bw
28 | link_delay_ns=20
29 | link_bandwidth_bit_per_ns=1
30 |
31 | # Traffic
32 | traffic=poisson_arrival
33 | traffic_lambda_flow_starts_per_s=6000
34 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
35 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/60000/CSFQ.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=CSFQ
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/60000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=csfq
22 | output_port_max_size_packets=80
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=60000
32 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/60000/DCTCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=DCTCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/60000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=ecn_tail_drop
21 | output_port_max_queue_size_bytes=146000
22 | output_port_ecn_threshold_k_bytes=14600
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=60000
32 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
33 | traffic_probabilities_generator=all_to_all
34 |
35 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/60000/PF.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=pfabric
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/60000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=pfabric
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=60000
31 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
32 | traffic_probabilities_generator=all_to_all
33 |
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/60000/PIFO.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=PIFO
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/60000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=pifo
22 | output_port_max_size_packets=80
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=60000
32 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/60000/TCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/60000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=tcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=60000
31 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
32 | traffic_probabilities_generator=all_to_all
33 |
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload/60000/TOY.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TOY
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/60000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=toy
22 | output_port_max_size_packets=80
23 | window_size=1000
24 | items_per_window=800
25 |
26 | # Link
27 | link=split_bw
28 | link_delay_ns=20
29 | link_bandwidth_bit_per_ns=1
30 |
31 | # Traffic
32 | traffic=poisson_arrival
33 | traffic_lambda_flow_starts_per_s=60000
34 | traffic_flow_size_dist=pfabric_data_mining_lower_bound
35 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload_modified/10000/TCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/simple/simple_n2.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/10000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=tcp
13 |
14 | # Switch type
15 | network_device=forwarder_switch
16 | network_device_intermediary=identity
17 | network_device_routing=single_forward
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=perfect_simple
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=10
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=10000
31 | traffic_flow_size_dist=uniform
32 | traffic_flow_size_dist_uniform_mean_bytes=1000000
33 | traffic_probabilities_generator=all_to_all
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload_modified/15000/TCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/simple/simple_n2.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/15000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=tcp
13 |
14 | # Switch type
15 | network_device=forwarder_switch
16 | network_device_intermediary=identity
17 | network_device_routing=single_forward
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=perfect_simple
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=10
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=15000
31 | traffic_flow_size_dist=uniform
32 | traffic_flow_size_dist_uniform_mean_bytes=1000000
33 | traffic_probabilities_generator=all_to_all
34 |
35 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload_modified/22500/TCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/simple/simple_n2.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/22500
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=tcp
13 |
14 | # Switch type
15 | network_device=forwarder_switch
16 | network_device_intermediary=identity
17 | network_device_routing=single_forward
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=perfect_simple
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=10
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=22500
31 | traffic_flow_size_dist=uniform
32 | traffic_flow_size_dist_uniform_mean_bytes=1000000
33 | traffic_probabilities_generator=all_to_all
34 |
35 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload_modified/37000/TCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/simple/simple_n2.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/37000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=tcp
13 |
14 | # Switch type
15 | network_device=forwarder_switch
16 | network_device_intermediary=identity
17 | network_device_routing=single_forward
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=perfect_simple
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=10
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=37000
31 | traffic_flow_size_dist=uniform
32 | traffic_flow_size_dist_uniform_mean_bytes=1000000
33 | traffic_probabilities_generator=all_to_all
34 |
35 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload_modified/4000/TCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/simple/simple_n2.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/4000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=tcp
13 |
14 | # Switch type
15 | network_device=forwarder_switch
16 | network_device_intermediary=identity
17 | network_device_routing=single_forward
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=perfect_simple
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=10
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=4000
31 | traffic_flow_size_dist=uniform
32 | traffic_flow_size_dist_uniform_mean_bytes=1000000
33 | traffic_probabilities_generator=all_to_all
34 |
35 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload_modified/6000/TCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/simple/simple_n2.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/6000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=tcp
13 |
14 | # Switch type
15 | network_device=forwarder_switch
16 | network_device_intermediary=identity
17 | network_device_routing=single_forward
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=perfect_simple
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=10
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=6000
31 | traffic_flow_size_dist=uniform
32 | traffic_flow_size_dist_uniform_mean_bytes=1000000
33 | traffic_probabilities_generator=all_to_all
34 |
35 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/data_mining_workload_modified/60000/TCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/simple/simple_n2.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/data_mining_workload/60000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=tcp
13 |
14 | # Switch type
15 | network_device=forwarder_switch
16 | network_device_intermediary=identity
17 | network_device_routing=single_forward
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=perfect_simple
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=10
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=60000
31 | traffic_flow_size_dist=uniform
32 | traffic_flow_size_dist_uniform_mean_bytes=1000000
33 | traffic_probabilities_generator=all_to_all
34 |
35 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/11100/DCTCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=DCTCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/11100
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=ecn_tail_drop
21 | output_port_max_queue_size_bytes=146000
22 | output_port_ecn_threshold_k_bytes=14600
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=11100
32 | traffic_flow_size_dist=pfabric_web_search_lower_bound
33 | traffic_probabilities_generator=all_to_all
34 |
35 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/11100/PF.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=pfabric
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/11100
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=tail_drop
22 | output_port_max_queue_size_bytes=146000
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=11100
32 | traffic_flow_size_dist=pfabric_web_search_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/11100/PIFO.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=PIFO
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/11100
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=pifo
22 | output_port_max_size_packets=80
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=11100
32 | traffic_flow_size_dist=pfabric_web_search_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/11100/TCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/11100
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=tcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=11100
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
33 |
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/11100/TOY.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TOY
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/11100
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=toy
22 | output_port_max_size_packets=80
23 | window_size=1000
24 | items_per_window=800
25 |
26 | # Link
27 | link=split_bw
28 | link_delay_ns=20
29 | link_bandwidth_bit_per_ns=1
30 |
31 | # Traffic
32 | traffic=poisson_arrival
33 | traffic_lambda_flow_starts_per_s=11100
34 | traffic_flow_size_dist=pfabric_web_search_lower_bound
35 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/14150/DCTCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=DCTCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/14150
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=ecn_tail_drop
21 | output_port_max_queue_size_bytes=146000
22 | output_port_ecn_threshold_k_bytes=14600
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=14150
32 | traffic_flow_size_dist=pfabric_web_search_lower_bound
33 | traffic_probabilities_generator=all_to_all
34 |
35 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/14150/PF.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=pfabric
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/14150
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=tail_drop
22 | output_port_max_queue_size_bytes=146000
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=14150
32 | traffic_flow_size_dist=pfabric_web_search_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/14150/PIFO.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=PIFO
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/14150
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=pifo
22 | output_port_max_size_packets=80
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=14150
32 | traffic_flow_size_dist=pfabric_web_search_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/14150/TCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/14150
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=tcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=14150
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
33 |
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/14150/TOY.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TOY
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/14150
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=toy
22 | output_port_max_size_packets=80
23 | window_size=1000
24 | items_per_window=800
25 |
26 | # Link
27 | link=split_bw
28 | link_delay_ns=20
29 | link_bandwidth_bit_per_ns=1
30 |
31 | # Traffic
32 | traffic=poisson_arrival
33 | traffic_lambda_flow_starts_per_s=14150
34 | traffic_flow_size_dist=pfabric_web_search_lower_bound
35 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/19000/DCTCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=DCTCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/19000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=ecn_tail_drop
21 | output_port_max_queue_size_bytes=146000
22 | output_port_ecn_threshold_k_bytes=14600
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=19000
32 | traffic_flow_size_dist=pfabric_web_search_lower_bound
33 | traffic_probabilities_generator=all_to_all
34 |
35 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/19000/PF.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=pfabric
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/19000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=tail_drop
22 | output_port_max_queue_size_bytes=146000
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=19000
32 | traffic_flow_size_dist=pfabric_web_search_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/19000/PIFO.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=PIFO
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/19000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=pifo
22 | output_port_max_size_packets=80
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=19000
32 | traffic_flow_size_dist=pfabric_web_search_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/19000/TCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/19000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=tcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=19000
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
33 |
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/19000/TOY.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TOY
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/19000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=toy
22 | output_port_max_size_packets=80
23 | window_size=1000
24 | items_per_window=800
25 |
26 | # Link
27 | link=split_bw
28 | link_delay_ns=20
29 | link_bandwidth_bit_per_ns=1
30 |
31 | # Traffic
32 | traffic=poisson_arrival
33 | traffic_lambda_flow_starts_per_s=19000
34 | traffic_flow_size_dist=pfabric_web_search_lower_bound
35 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/3600/DCTCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=DCTCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/3600
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=ecn_tail_drop
21 | output_port_max_queue_size_bytes=146000
22 | output_port_ecn_threshold_k_bytes=14600
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=3600
32 | traffic_flow_size_dist=pfabric_web_search_lower_bound
33 | traffic_probabilities_generator=all_to_all
34 |
35 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/3600/PF.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=pfabric
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/3600
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=tail_drop
22 | output_port_max_queue_size_bytes=146000
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=3600
32 | traffic_flow_size_dist=pfabric_web_search_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/3600/PIFO.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=PIFO
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/3600
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=pifo
22 | output_port_max_size_packets=80
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=3600
32 | traffic_flow_size_dist=pfabric_web_search_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/3600/TCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/3600
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=tcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=3600
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
33 |
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/3600/TOY.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TOY
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/3600
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=toy
22 | output_port_max_size_packets=80
23 | window_size=1000
24 | items_per_window=800
25 |
26 | # Link
27 | link=split_bw
28 | link_delay_ns=20
29 | link_bandwidth_bit_per_ns=1
30 |
31 | # Traffic
32 | traffic=poisson_arrival
33 | traffic_lambda_flow_starts_per_s=3600
34 | traffic_flow_size_dist=pfabric_web_search_lower_bound
35 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/5200/DCTCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=DCTCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/5200
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=ecn_tail_drop
21 | output_port_max_queue_size_bytes=146000
22 | output_port_ecn_threshold_k_bytes=14600
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=5200
32 | traffic_flow_size_dist=pfabric_web_search_lower_bound
33 | traffic_probabilities_generator=all_to_all
34 |
35 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/5200/PF.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=pfabric
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/5200
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=tail_drop
22 | output_port_max_queue_size_bytes=146000
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=5200
32 | traffic_flow_size_dist=pfabric_web_search_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/5200/PIFO.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=PIFO
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/5200
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=pifo
22 | output_port_max_size_packets=80
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=5200
32 | traffic_flow_size_dist=pfabric_web_search_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/5200/TCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/5200
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=tcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=5200
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
33 |
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/5200/TOY.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TOY
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/5200
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=toy
22 | output_port_max_size_packets=80
23 | window_size=1000
24 | items_per_window=800
25 |
26 | # Link
27 | link=split_bw
28 | link_delay_ns=20
29 | link_bandwidth_bit_per_ns=1
30 |
31 | # Traffic
32 | traffic=poisson_arrival
33 | traffic_lambda_flow_starts_per_s=5200
34 | traffic_flow_size_dist=pfabric_web_search_lower_bound
35 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/7000/DCTCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=DCTCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/7000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=ecn_tail_drop
21 | output_port_max_queue_size_bytes=146000
22 | output_port_ecn_threshold_k_bytes=14600
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=7000
32 | traffic_flow_size_dist=pfabric_web_search_lower_bound
33 | traffic_probabilities_generator=all_to_all
34 |
35 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/7000/PF.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=pfabric
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/7000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=tail_drop
22 | output_port_max_queue_size_bytes=146000
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=7000
32 | traffic_flow_size_dist=pfabric_web_search_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/7000/PIFO.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=PIFO
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/7000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=pifo
22 | output_port_max_size_packets=80
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=7000
32 | traffic_flow_size_dist=pfabric_web_search_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/7000/TCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/7000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=tcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=7000
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
33 |
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/7000/TOY.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TOY
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/7000
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=toy
22 | output_port_max_size_packets=80
23 | window_size=1000
24 | items_per_window=800
25 |
26 | # Link
27 | link=split_bw
28 | link_delay_ns=20
29 | link_bandwidth_bit_per_ns=1
30 |
31 | # Traffic
32 | traffic=poisson_arrival
33 | traffic_lambda_flow_starts_per_s=7000
34 | traffic_flow_size_dist=pfabric_web_search_lower_bound
35 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/8900/DCTCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=DCTCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/8900
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=dctcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=ecn_tail_drop
21 | output_port_max_queue_size_bytes=146000
22 | output_port_ecn_threshold_k_bytes=14600
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=8900
32 | traffic_flow_size_dist=pfabric_web_search_lower_bound
33 | traffic_probabilities_generator=all_to_all
34 |
35 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/8900/PF.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=pfabric
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/8900
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=tail_drop
22 | output_port_max_queue_size_bytes=146000
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=8900
32 | traffic_flow_size_dist=pfabric_web_search_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/8900/PIFO.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=PIFO
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/8900
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=pifo
22 | output_port_max_size_packets=80
23 |
24 | # Link
25 | link=split_bw
26 | link_delay_ns=20
27 | link_bandwidth_bit_per_ns=1
28 |
29 | # Traffic
30 | traffic=poisson_arrival
31 | traffic_lambda_flow_starts_per_s=8900
32 | traffic_flow_size_dist=pfabric_web_search_lower_bound
33 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/8900/TCP.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TCP
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/8900
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | transport_layer=tcp
13 |
14 | # Switch type
15 | network_device=ecmp_switch
16 | network_device_routing=ecmp
17 | network_device_intermediary=identity
18 |
19 | # Output port
20 | output_port=tail_drop
21 | output_port_max_queue_size_bytes=146000
22 |
23 | # Link
24 | link=split_bw
25 | link_delay_ns=20
26 | link_bandwidth_bit_per_ns=1
27 |
28 | # Traffic
29 | traffic=poisson_arrival
30 | traffic_lambda_flow_starts_per_s=8900
31 | traffic_flow_size_dist=pfabric_web_search_lower_bound
32 | traffic_probabilities_generator=all_to_all
33 |
34 |
--------------------------------------------------------------------------------
/simulation_code/projects/sppifo/runs/sppifo_evaluation/pFabric/web_search_workload/8900/TOY.properties:
--------------------------------------------------------------------------------
1 | # General
2 | scenario_topology_file=example/topologies/leaf_spine/pFabric_9leaf_4spine_16servers.topology
3 |
4 | seed=83599
5 | run_time_s=1
6 |
7 | run_folder_name=TOY
8 | run_folder_base_dir=temp/sppifo/sppifo_evaluation/pFabric/web_search_workload/8900
9 | analysis_command=python3 analysis/analyze.py
10 |
11 | # Transport layer protocol
12 | ## In pFabric RTO is hardcoded in the socket
13 | transport_layer=pfabric
14 |
15 | # Switch type
16 | network_device=ecmp_switch
17 | network_device_routing=ecmp
18 | network_device_intermediary=identity
19 |
20 | # Output port
21 | output_port=toy
22 | output_port_max_size_packets=80
23 | window_size=1000
24 | items_per_window=800
25 |
26 | # Link
27 | link=split_bw
28 | link_delay_ns=20
29 | link_bandwidth_bit_per_ns=1
30 |
31 | # Traffic
32 | traffic=poisson_arrival
33 | traffic_lambda_flow_starts_per_s=8900
34 | traffic_flow_size_dist=pfabric_web_search_lower_bound
35 | traffic_probabilities_generator=all_to_all
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/core/config/exceptions/ConfigurationReadFailException.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.core.config.exceptions;
2 |
3 | import ch.ethz.systems.netbench.core.config.NBProperties;
4 |
5 | import java.io.IOException;
6 |
7 | public class ConfigurationReadFailException extends RuntimeException {
8 |
9 | public ConfigurationReadFailException(NBProperties properties, IOException cause) {
10 | super("[" + properties.getFileName() + "]: " + cause.getMessage());
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/core/config/exceptions/PropertyConflictException.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.core.config.exceptions;
2 |
3 | import ch.ethz.systems.netbench.core.config.NBProperties;
4 | import org.apache.commons.lang3.StringUtils;
5 |
6 | public class PropertyConflictException extends RuntimeException {
7 |
8 | public PropertyConflictException(NBProperties properties, String... keys) {
9 | super("[" + properties.getFileName() + "]: properties {" +
10 | StringUtils.join(keys, ", ") + "} conflict in the configuration file.");
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/core/config/exceptions/PropertyMissingException.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.core.config.exceptions;
2 |
3 | import ch.ethz.systems.netbench.core.config.NBProperties;
4 |
5 | public class PropertyMissingException extends RuntimeException {
6 |
7 | public PropertyMissingException(NBProperties config, String key) {
8 | super("[" + config.getFileName() + "]: essential property \"" + key + "\" was not found in the configuration file.");
9 | }
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/core/config/exceptions/PropertyNotExistingException.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.core.config.exceptions;
2 |
3 | import ch.ethz.systems.netbench.core.config.NBProperties;
4 |
5 | public class PropertyNotExistingException extends RuntimeException {
6 |
7 | public PropertyNotExistingException(NBProperties properties, String key) {
8 | super("[" + properties.getFileName() + "]: property \"" + key + "\" is not a valid property key. " +
9 | "Three possibilities: (a) Did you make a typo in the code? " +
10 | "(b) Did you make a typo in the configuration file? " +
11 | "(c) Did you introduce your own property and forgot to add it to the static list in the NBProperties class?"
12 | );
13 | }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/core/config/exceptions/PropertyValueInvalidException.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.core.config.exceptions;
2 |
3 | import ch.ethz.systems.netbench.core.config.NBProperties;
4 |
5 | public class PropertyValueInvalidException extends RuntimeException {
6 |
7 | public PropertyValueInvalidException(NBProperties properties, String key) {
8 | super("[" + properties.getFileName() + "]: essential property \"" + key + "\" has invalid value \"" + properties.getPropertyOrFail(key) + "\".");
9 | }
10 |
11 | }
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/core/log/LogFailureException.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.core.log;
2 |
3 | import java.io.IOException;
4 |
5 | /**
6 | * A logging action has failed, presumably due to failure of an I/O action.
7 | */
8 | public class LogFailureException extends RuntimeException {
9 |
10 | public LogFailureException(IOException cause) {
11 | super(cause.getMessage());
12 | }
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/core/log/LoggerCallback.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.core.log;
2 |
3 | public interface LoggerCallback {
4 |
5 | /**
6 | * Called by the {@link SimulationLogger} just before
7 | * all streams are closed. Can be used e.g. to write away overall statistics.
8 | */
9 | void callBeforeClose();
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/core/network/UDPSendPacketEvent.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.core.network;
2 |
3 | import ch.ethz.systems.netbench.core.log.SimulationLogger;
4 | import ch.ethz.systems.netbench.xpt.tcpbase.FullExtTcpPacket;
5 |
6 | public class UDPSendPacketEvent extends Event {
7 | private final Socket udpsocket;
8 | public UDPSendPacketEvent(long timeFromNowNS, Socket udpsocket) {
9 | super(timeFromNowNS);
10 | this.udpsocket = udpsocket;
11 | }
12 | @java.lang.Override
13 | public void trigger() {
14 | this.udpsocket.start();
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/core/run/MainSimulation.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.core.run;
2 |
3 | public class MainSimulation {
4 |
5 | public static void main(String args[]) {
6 | if (args.length == 0) {
7 | System.out.println("Please specify which experiments to run!");
8 | }
9 |
10 | for (String arg : args) {
11 | // switch(arg) {
12 | // }
13 | // MainFromProperties.main(new String[]{arg});
14 | }
15 | MainFromIntelliJ.main(args);
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/core/run/infrastructure/IntermediaryGenerator.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.core.run.infrastructure;
2 |
3 | import ch.ethz.systems.netbench.core.network.Intermediary;
4 |
5 | public abstract class IntermediaryGenerator {
6 | public abstract Intermediary generate(int networkDeviceIdentifier);
7 | }
8 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/core/run/infrastructure/LinkGenerator.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.core.run.infrastructure;
2 |
3 | import ch.ethz.systems.netbench.core.network.NetworkDevice;
4 | import ch.ethz.systems.netbench.core.network.Link;
5 |
6 | public abstract class LinkGenerator {
7 | public abstract Link generate(NetworkDevice fromNetworkDevice, NetworkDevice toNetworkDevice);
8 | }
9 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/core/run/infrastructure/NetworkDeviceGenerator.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.core.run.infrastructure;
2 |
3 | import ch.ethz.systems.netbench.core.network.NetworkDevice;
4 | import ch.ethz.systems.netbench.core.network.TransportLayer;
5 |
6 | public abstract class NetworkDeviceGenerator {
7 | public abstract NetworkDevice generate(int identifier);
8 | public abstract NetworkDevice generate(int identifier, TransportLayer server);
9 | }
10 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/core/run/infrastructure/OutputPortGenerator.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.core.run.infrastructure;
2 |
3 | import ch.ethz.systems.netbench.core.network.NetworkDevice;
4 | import ch.ethz.systems.netbench.core.network.Link;
5 | import ch.ethz.systems.netbench.core.network.OutputPort;
6 |
7 | public abstract class OutputPortGenerator {
8 | public abstract OutputPort generate(NetworkDevice ownNetworkDevice, NetworkDevice towardsNetworkDevice, Link link);
9 | }
10 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/core/run/infrastructure/TransportLayerGenerator.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.core.run.infrastructure;
2 |
3 |
4 | import ch.ethz.systems.netbench.core.network.TransportLayer;
5 |
6 | public abstract class TransportLayerGenerator {
7 | public abstract TransportLayer generate(int identifier);
8 | }
9 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/core/run/routing/RoutingPopulator.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.core.run.routing;
2 |
3 | public abstract class RoutingPopulator {
4 | public abstract void populateRoutingTables();
5 | }
6 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/core/utility/UnitConverter.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.core.utility;
2 |
3 | public class UnitConverter {
4 |
5 | private UnitConverter() {
6 | // Cannot be instantiated
7 | }
8 |
9 | public static long convertSecondsToNanoseconds(double seconds) {
10 | return (long) (seconds * 1000000000L);
11 | }
12 |
13 | public static long convertSecondsToNanoseconds(long seconds) {
14 | return seconds * 1000000000L;
15 | }
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/ext/bare/BarePacket.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.ext.bare;
2 |
3 | import ch.ethz.systems.netbench.ext.basic.TcpPacket;
4 |
5 | class BarePacket extends TcpPacket {
6 |
7 | BarePacket(long flowId, long dataSizeByte, int sourceId, int destinationId, long sequenceNumber, long acknowledgementNumber, boolean ECE, boolean ACK, double windowSize) {
8 | super(
9 | flowId,
10 | dataSizeByte,
11 | sourceId,
12 | destinationId,
13 | 0,
14 | 0,
15 | 0,
16 | sequenceNumber,
17 | acknowledgementNumber,
18 | false,
19 | false,
20 | ECE,
21 | false,
22 | ACK,
23 | false,
24 | false,
25 | false,
26 | false,
27 | windowSize
28 | );
29 | }
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/ext/bare/BareTransportLayerGenerator.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.ext.bare;
2 |
3 | import ch.ethz.systems.netbench.core.log.SimulationLogger;
4 | import ch.ethz.systems.netbench.core.network.TransportLayer;
5 | import ch.ethz.systems.netbench.core.run.infrastructure.TransportLayerGenerator;
6 |
7 | public class BareTransportLayerGenerator extends TransportLayerGenerator {
8 |
9 | public BareTransportLayerGenerator() {
10 | // No parameters needed
11 | SimulationLogger.logInfo("Transport layer", "BARE");
12 | }
13 |
14 | @Override
15 | public TransportLayer generate(int identifier) {
16 | return new BareTransportLayer(identifier);
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/ext/demo/DemoIntermediary.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.ext.demo;
2 |
3 | import ch.ethz.systems.netbench.core.network.Intermediary;
4 | import ch.ethz.systems.netbench.core.network.Packet;
5 |
6 | /**
7 | * The demonstrative basic identity intermediary does not match modify packets.
8 | */
9 | public class DemoIntermediary extends Intermediary {
10 |
11 | DemoIntermediary() {
12 | super();
13 | }
14 |
15 | @Override
16 | public Packet adaptOutgoing(Packet packet) {
17 | return packet;
18 | }
19 |
20 | @Override
21 | public Packet adaptIncoming(Packet packet) {
22 | return packet;
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/ext/demo/DemoIntermediaryGenerator.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.ext.demo;
2 |
3 | import ch.ethz.systems.netbench.core.log.SimulationLogger;
4 | import ch.ethz.systems.netbench.core.network.Intermediary;
5 | import ch.ethz.systems.netbench.core.run.infrastructure.IntermediaryGenerator;
6 |
7 | public class DemoIntermediaryGenerator extends IntermediaryGenerator {
8 |
9 | public DemoIntermediaryGenerator() {
10 | SimulationLogger.logInfo("Network device intermediary", "DEMO");
11 | }
12 |
13 | @Override
14 | public Intermediary generate(int networkDeviceIdentifier) {
15 | return new DemoIntermediary();
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/ext/demo/DemoPacket.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.ext.demo;
2 |
3 | import ch.ethz.systems.netbench.ext.basic.IpPacket;
4 |
5 | class DemoPacket extends IpPacket implements DemoPacketHeader {
6 |
7 | private final long dataSizeByte;
8 | private final long ackSizeByte;
9 |
10 | DemoPacket(long flowId, long dataSizeByte, int sourceId, int destinationId, int TTL, long ackSizeByte) {
11 | super(flowId, dataSizeByte * 8, sourceId, destinationId, TTL);
12 | this.dataSizeByte = dataSizeByte;
13 | this.ackSizeByte = ackSizeByte;
14 | }
15 |
16 | @Override
17 | public long getDataSizeByte() {
18 | return dataSizeByte;
19 | }
20 |
21 | @Override
22 | public long getAckSizeByte() {
23 | return ackSizeByte;
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/ext/demo/DemoPacketHeader.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.ext.demo;
2 |
3 | public interface DemoPacketHeader {
4 |
5 | /**
6 | * Get the amount of data in bytes carried by the packet.
7 | *
8 | * @return Data carried in bytes
9 | */
10 | long getDataSizeByte();
11 |
12 | /**
13 | * Get the amount of bytes this packet acknowledges.
14 | *
15 | * @return Number of bytes acknowledged
16 | */
17 | long getAckSizeByte();
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/ext/demo/DemoTransportLayerGenerator.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.ext.demo;
2 |
3 | import ch.ethz.systems.netbench.core.log.SimulationLogger;
4 | import ch.ethz.systems.netbench.core.network.TransportLayer;
5 | import ch.ethz.systems.netbench.core.run.infrastructure.TransportLayerGenerator;
6 |
7 | public class DemoTransportLayerGenerator extends TransportLayerGenerator {
8 |
9 | public DemoTransportLayerGenerator() {
10 | // No parameters needed
11 | SimulationLogger.logInfo("Transport layer", "DEMO");
12 | }
13 |
14 | @Override
15 | public TransportLayer generate(int identifier) {
16 | return new DemoTransportLayer(identifier);
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/ext/ecmp/EcmpSwitchRouting.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.ext.ecmp;
2 |
3 | import ch.ethz.systems.netbench.core.log.SimulationLogger;
4 | import ch.ethz.systems.netbench.core.network.NetworkDevice;
5 | import ch.ethz.systems.netbench.core.run.routing.RoutingPopulator;
6 |
7 | import java.util.Map;
8 |
9 | public class EcmpSwitchRouting extends RoutingPopulator {
10 |
11 | private final Map idToNetworkDevice;
12 |
13 | public EcmpSwitchRouting(Map idToNetworkDevice) {
14 | this.idToNetworkDevice = idToNetworkDevice;
15 | SimulationLogger.logInfo("Routing", "ECMP");
16 | }
17 |
18 | /**
19 | * Initialize the multi-forwarding routing tables in the network devices.
20 | */
21 | @Override
22 | public void populateRoutingTables() {
23 | EcmpRoutingUtility.populateShortestPathRoutingTables(idToNetworkDevice, true);
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/ext/ecmp/EcmpSwitchRoutingInterface.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.ext.ecmp;
2 |
3 | import ch.ethz.systems.netbench.core.network.OutputPort;
4 |
5 | public interface EcmpSwitchRoutingInterface {
6 |
7 | /**
8 | * Add another hop opportunity to the routing table for the given destination.
9 | *
10 | * @param destinationId Destination identifier
11 | * @param nextHopId A network device identifier where it could go to next (must have already been added
12 | * as connection}, else will throw an illegal
13 | * argument exception.
14 | */
15 | void addDestinationToNextSwitch(int destinationId, int nextHopId);
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/ext/ecmp/ForwarderSwitchRouting.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.ext.ecmp;
2 |
3 | import ch.ethz.systems.netbench.core.log.SimulationLogger;
4 | import ch.ethz.systems.netbench.core.network.NetworkDevice;
5 | import ch.ethz.systems.netbench.core.run.routing.RoutingPopulator;
6 |
7 | import java.util.Map;
8 |
9 | public class ForwarderSwitchRouting extends RoutingPopulator {
10 |
11 | private final Map idToNetworkDevice;
12 |
13 | public ForwarderSwitchRouting(Map idToNetworkDevice) {
14 | this.idToNetworkDevice = idToNetworkDevice;
15 | SimulationLogger.logInfo("Routing", "SINGLE_FORWARD");
16 | }
17 |
18 | /**
19 | * Initialize the single-forward routing tables in the network devices.
20 | */
21 | @Override
22 | public void populateRoutingTables() {
23 | EcmpRoutingUtility.populateShortestPathRoutingTables(idToNetworkDevice, false);
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/ext/flowlet/FlowletLogger.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.ext.flowlet;
2 |
3 | public class FlowletLogger {
4 |
5 | // TODO
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/ext/flowlet/IdentityFlowletIntermediaryGenerator.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.ext.flowlet;
2 |
3 | import ch.ethz.systems.netbench.core.log.SimulationLogger;
4 | import ch.ethz.systems.netbench.core.network.Intermediary;
5 | import ch.ethz.systems.netbench.core.run.infrastructure.IntermediaryGenerator;
6 |
7 | public class IdentityFlowletIntermediaryGenerator extends IntermediaryGenerator {
8 |
9 | public IdentityFlowletIntermediaryGenerator() {
10 | SimulationLogger.logInfo("Network device flowlet intermediary", "IDENTITY");
11 | }
12 |
13 | @Override
14 | public Intermediary generate(int networkDeviceIdentifier) {
15 | return new IdentityFlowletIntermediary();
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/ext/flowlet/UniformFlowletIntermediaryGenerator.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.ext.flowlet;
2 |
3 | import ch.ethz.systems.netbench.core.log.SimulationLogger;
4 | import ch.ethz.systems.netbench.core.network.Intermediary;
5 | import ch.ethz.systems.netbench.core.run.infrastructure.IntermediaryGenerator;
6 |
7 | public class UniformFlowletIntermediaryGenerator extends IntermediaryGenerator {
8 |
9 | public UniformFlowletIntermediaryGenerator() {
10 | SimulationLogger.logInfo("Network device flowlet intermediary", "UNIFORM");
11 | }
12 |
13 | @Override
14 | public Intermediary generate(int networkDeviceIdentifier) {
15 | return new UniformFlowletIntermediary();
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/ext/poissontraffic/flowsize/FlowSizeDistribution.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.ext.poissontraffic.flowsize;
2 |
3 | import ch.ethz.systems.netbench.core.Simulator;
4 |
5 | import java.util.Random;
6 |
7 | public abstract class FlowSizeDistribution {
8 |
9 | Random independentRng;
10 |
11 | FlowSizeDistribution() {
12 | this.independentRng = Simulator.selectIndependentRandom("flow_size");
13 | }
14 |
15 | public abstract long generateFlowSizeByte();
16 | }
17 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/ext/valiant/ValiantEncapsulationHeader.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.ext.valiant;
2 |
3 | import ch.ethz.systems.netbench.ext.basic.TcpPacket;
4 |
5 | public interface ValiantEncapsulationHeader {
6 |
7 | /**
8 | * Retrieve the encapsulated packet.
9 | *
10 | * @return Encapsulated packet
11 | */
12 | TcpPacket getPacket();
13 |
14 | /**
15 | * Get the valiant destination.
16 | *
17 | * @return Valiant destination
18 | */
19 | int getValiantDestination();
20 |
21 | /**
22 | * Mark that it has passed the valiant node.
23 | */
24 | void markPassedValiant();
25 |
26 | /**
27 | * Check whether it has already passed the valiant node.
28 | *
29 | * @return True iff passed valiant (and should be directly routed to the true destination
30 | * of the underlying encapsulated packet)
31 | */
32 | boolean passedValiant();
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/xpt/asaf/routing/priority/PriorityFlowletIntermediaryGenerator.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.xpt.asaf.routing.priority;
2 |
3 | import ch.ethz.systems.netbench.core.log.SimulationLogger;
4 | import ch.ethz.systems.netbench.core.run.infrastructure.IntermediaryGenerator;
5 | import ch.ethz.systems.netbench.ext.flowlet.FlowletIntermediary;
6 |
7 | public class PriorityFlowletIntermediaryGenerator extends IntermediaryGenerator{
8 |
9 | public PriorityFlowletIntermediaryGenerator() {
10 | SimulationLogger.logInfo("Network device flowlet intermediary", "PRIORITY_UNIFORM_FLOWLET");
11 | }
12 |
13 | @Override
14 | public FlowletIntermediary generate(int networkDeviceIdentifier) {
15 | return new PriorityFlowletIntermediary();
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/xpt/newreno/newrenodctcp/NewRenoDctcpTransportLayerGenerator.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.xpt.newreno.newrenodctcp;
2 |
3 | import ch.ethz.systems.netbench.core.log.SimulationLogger;
4 | import ch.ethz.systems.netbench.core.network.TransportLayer;
5 | import ch.ethz.systems.netbench.core.run.infrastructure.TransportLayerGenerator;
6 |
7 | public class NewRenoDctcpTransportLayerGenerator extends TransportLayerGenerator {
8 |
9 | public NewRenoDctcpTransportLayerGenerator() {
10 | // No parameters needed
11 | SimulationLogger.logInfo("Transport layer", "DCTCP");
12 | }
13 |
14 | @Override
15 | public TransportLayer generate(int identifier) {
16 | return new NewRenoDctcpTransportLayer(identifier);
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/xpt/newreno/newrenotcp/NewRenoTcpTransportLayerGenerator.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.xpt.newreno.newrenotcp;
2 |
3 | import ch.ethz.systems.netbench.core.log.SimulationLogger;
4 | import ch.ethz.systems.netbench.core.network.TransportLayer;
5 | import ch.ethz.systems.netbench.core.run.infrastructure.TransportLayerGenerator;
6 |
7 | public class NewRenoTcpTransportLayerGenerator extends TransportLayerGenerator {
8 |
9 | public NewRenoTcpTransportLayerGenerator() {
10 | // No parameters needed
11 | SimulationLogger.logInfo("Transport layer", "TCP");
12 | }
13 |
14 | @Override
15 | public TransportLayer generate(int identifier) {
16 | return new NewRenoTcpTransportLayer(identifier);
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/xpt/simple/simpledctcp/SimpleDctcpTransportLayerGenerator.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.xpt.simple.simpledctcp;
2 |
3 | import ch.ethz.systems.netbench.core.log.SimulationLogger;
4 | import ch.ethz.systems.netbench.core.network.TransportLayer;
5 | import ch.ethz.systems.netbench.core.run.infrastructure.TransportLayerGenerator;
6 |
7 | public class SimpleDctcpTransportLayerGenerator extends TransportLayerGenerator {
8 |
9 | public SimpleDctcpTransportLayerGenerator() {
10 | // No parameters needed
11 | SimulationLogger.logInfo("Transport layer", "SIMPLE_DCTCP");
12 | }
13 |
14 | @Override
15 | public TransportLayer generate(int identifier) {
16 | return new SimpleDctcpTransportLayer(identifier);
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/xpt/simple/simpletcp/SimpleTcpTransportLayerGenerator.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.xpt.simple.simpletcp;
2 |
3 | import ch.ethz.systems.netbench.core.log.SimulationLogger;
4 | import ch.ethz.systems.netbench.core.network.TransportLayer;
5 | import ch.ethz.systems.netbench.core.run.infrastructure.TransportLayerGenerator;
6 |
7 | public class SimpleTcpTransportLayerGenerator extends TransportLayerGenerator {
8 |
9 | public SimpleTcpTransportLayerGenerator() {
10 | // No parameters needed
11 | SimulationLogger.logInfo("Transport layer", "TCP");
12 | }
13 |
14 | @Override
15 | public TransportLayer generate(int identifier) {
16 | return new SimpleTcpTransportLayer(identifier);
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/xpt/simple/simpleudp/SimpleUdpTransportLayerGenerator.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.xpt.simple.simpleudp;
2 |
3 |
4 | import ch.ethz.systems.netbench.core.log.SimulationLogger;
5 | import ch.ethz.systems.netbench.core.network.TransportLayer;
6 | import ch.ethz.systems.netbench.core.run.infrastructure.TransportLayerGenerator;
7 |
8 | public class SimpleUdpTransportLayerGenerator extends TransportLayerGenerator {
9 |
10 | public SimpleUdpTransportLayerGenerator() {
11 | SimulationLogger.logInfo("Transport layer", "UDP");
12 | }
13 |
14 | @Override
15 | public TransportLayer generate(int identifier) {
16 | return new SimpleUdpTransportLayer(identifier);
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/xpt/sourcerouting/SourceRoutingPath.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.xpt.sourcerouting;
2 |
3 | import java.util.ArrayList;
4 |
5 | public class SourceRoutingPath extends ArrayList {
6 | // No adaptations needed, it is only created for
7 | // semantic purpose.
8 | }
9 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/xpt/sppifo/ports/HCSFQ/FlowState.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.xpt.sppifo.ports.HCSFQ;
2 |
3 | import ch.ethz.systems.netbench.core.Simulator;
4 |
5 | public class FlowState {
6 | private final double K;
7 | private long lastArrTime;
8 | private double r;
9 |
10 | public FlowState(double K) {
11 | this.K = K;
12 | this.lastArrTime = - 1;
13 | this.r = 0;
14 | }
15 |
16 | public double getEstArrRate(long newArrTime, long l) {
17 | // Only update estimate if coming from a different batch
18 | if (1==1) {
19 | long T = newArrTime - lastArrTime;
20 | double _inc = 20;
21 | // System.out.println(T);
22 |
23 | lastArrTime = newArrTime;
24 | r = (1 - Math.exp(-(T+_inc) / K)) * (l * 1.0 / (T+_inc)) + Math.exp(-(T+_inc) / K) * r;
25 | }
26 |
27 | return r;
28 | }
29 |
30 | public double getEstRate() {
31 | return r;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/xpt/sppifo/ports/PIFO/PIFOOutputPort.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.xpt.sppifo.ports.PIFO;
2 |
3 | import ch.ethz.systems.netbench.core.network.Link;
4 | import ch.ethz.systems.netbench.core.network.NetworkDevice;
5 | import ch.ethz.systems.netbench.core.network.OutputPort;
6 | import ch.ethz.systems.netbench.core.network.Packet;
7 |
8 |
9 | public class PIFOOutputPort extends OutputPort {
10 |
11 |
12 | public PIFOOutputPort(NetworkDevice ownNetworkDevice, NetworkDevice targetNetworkDevice, Link link, long sizePackets) {
13 | super(ownNetworkDevice, targetNetworkDevice, link, new PIFOQueue(sizePackets));
14 | }
15 |
16 | /**
17 | * Enqueue the given packet.
18 | *
19 | * @param packet Packet instance
20 | */
21 | @Override
22 | public void enqueue(Packet packet) {
23 |
24 | //Enqueue packet
25 | push(packet);
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/xpt/sppifo/ports/PIFO/PIFOOutputPortGenerator.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.xpt.sppifo.ports.PIFO;
2 |
3 | import ch.ethz.systems.netbench.core.log.SimulationLogger;
4 | import ch.ethz.systems.netbench.core.network.Link;
5 | import ch.ethz.systems.netbench.core.network.NetworkDevice;
6 | import ch.ethz.systems.netbench.core.network.OutputPort;
7 | import ch.ethz.systems.netbench.core.run.infrastructure.OutputPortGenerator;
8 |
9 | public class PIFOOutputPortGenerator extends OutputPortGenerator {
10 |
11 | private final long sizePackets;
12 |
13 | public PIFOOutputPortGenerator(long sizePackets) {
14 | this.sizePackets = sizePackets;
15 | SimulationLogger.logInfo("Port", "PIFO(sizePackets=" + sizePackets + ")");
16 | }
17 |
18 | @Override
19 | public OutputPort generate(NetworkDevice ownNetworkDevice, NetworkDevice towardsNetworkDevice, Link link) {
20 | return new PIFOOutputPort(ownNetworkDevice, towardsNetworkDevice, link, sizePackets);
21 | }
22 |
23 | }
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/xpt/tcpbase/AckRange.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.xpt.tcpbase;
2 |
3 | /**
4 | * Acknowledgment range (immutable object).
5 | */
6 | public class AckRange {
7 |
8 | final long lowBound;
9 | final long highBound;
10 |
11 | AckRange(long lowBound, long highBound) {
12 | this.lowBound = lowBound;
13 | this.highBound = highBound;
14 | }
15 |
16 | long getLowBound() {
17 | return lowBound;
18 | }
19 |
20 | long getHighBound() {
21 | return highBound;
22 | }
23 |
24 | public String toString() {
25 | return "[" + lowBound + ", " + highBound + ")";
26 | }
27 |
28 | public boolean isWithin(long intLowBound, long intHighBound) {
29 | return intLowBound >= this.lowBound && intHighBound <= this.highBound;
30 | }
31 |
32 | }
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/xpt/tcpbase/PriorityHeader.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.xpt.tcpbase;
2 |
3 | import ch.ethz.systems.netbench.ext.basic.TcpHeader;
4 |
5 | public interface PriorityHeader extends TcpHeader {
6 |
7 | /**
8 | * Retrieve the priority of the packet.
9 | *
10 | * @return Packet priority
11 | */
12 | long getPriority();
13 |
14 | /**
15 | * Increase the priority of the packet.
16 | */
17 | void increasePriority();
18 |
19 | /**
20 | * Set the current priority of the packet.
21 | *
22 | * @param val Priority value
23 | */
24 | void setPriority(long val);
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/xpt/tcpbase/SelectiveAckHeader.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.xpt.tcpbase;
2 |
3 | import ch.ethz.systems.netbench.core.network.Packet;
4 | import ch.ethz.systems.netbench.core.network.PacketHeader;
5 |
6 | import java.util.Collection;
7 |
8 | public interface SelectiveAckHeader extends PacketHeader {
9 |
10 | /**
11 | * Set the selective acknowledgment.
12 | *
13 | * @param selectiveAck Selective acknowledgment
14 | */
15 | Packet setSelectiveAck(Collection selectiveAck);
16 |
17 | /**
18 | * Get the selective acknowledgment field.
19 | *
20 | * @return Selective acknowledgment
21 | */
22 | Collection getSelectiveAck();
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/xpt/utility/FTEcmpFC.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.xpt.utility;
2 |
3 | public class FTEcmpFC {
4 |
5 | public static void main(String args[]) {
6 |
7 | System.out.println("#server_pair_id,src,dst,pdf_num_bytes");
8 | int c = 0;
9 | for (int i = 320; i < 333; i++) {
10 | if (i > 324 && i < 328) {
11 | continue;
12 | }
13 | for (int j = 320; j < 333; j++) {
14 | if (j > 324 && j < 328) {
15 | continue;
16 | }
17 | if (i == j) {
18 | continue;
19 | }
20 | System.out.println(c + "," + i + "," + j + "," + (1.0/90.0));
21 | c++;
22 | }
23 | }
24 |
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/xpt/utility/NodeTransportLayerMapper.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.xpt.utility;
2 |
3 | /**
4 | * Main utility tool to generate the node list whether a node has a transport
5 | * layer in a scenario topology file.
6 | */
7 | public class NodeTransportLayerMapper {
8 |
9 | public static void main(String[] args) {
10 |
11 | int n = 100;
12 | for (int i = 0; i < n; i++) {
13 | if (matchCriteria(i)) {
14 | System.out.println(i + " 1");
15 | } else {
16 | System.out.println(i + " 0");
17 | }
18 | }
19 |
20 | }
21 |
22 | private static boolean matchCriteria(int i) {
23 | return i < 80;
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/xpt/utility/TestMain.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.xpt.utility;
2 |
3 | /**
4 | * Created by Zimon on 23/01/2017.
5 | */
6 | public class TestMain {
7 |
8 | public static void main(String args[]) {
9 |
10 | int c = 0;
11 | for (int i = 0; i < 8; i++) {
12 | for (int j = 0; j < 8; j++) {
13 | System.out.println(c + "," + (216 + i) + "," + (728 + j) + "," + (1.0 / 64));
14 | c++;
15 | }
16 |
17 | }
18 |
19 | }
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/xpt/utility/dataprocessing/NiceExcelCreator.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.xpt.utility.dataprocessing;
2 |
3 | public class NiceExcelCreator {
4 |
5 | public static void main(String args[]) {
6 |
7 | // Read in files
8 | // Write out one-by-one header and file content...
9 |
10 | }
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/xpt/voijslav_and_sppifo/ports/PriorityOutputPortGenerator.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.xpt.voijslav_and_sppifo.ports;
2 |
3 | import ch.ethz.systems.netbench.core.log.SimulationLogger;
4 | import ch.ethz.systems.netbench.core.network.Link;
5 | import ch.ethz.systems.netbench.core.network.NetworkDevice;
6 | import ch.ethz.systems.netbench.core.network.OutputPort;
7 | import ch.ethz.systems.netbench.core.run.infrastructure.OutputPortGenerator;
8 |
9 | public class PriorityOutputPortGenerator extends OutputPortGenerator {
10 |
11 | public PriorityOutputPortGenerator() {
12 | SimulationLogger.logInfo("Port", "PRIORITY_PORT");
13 | }
14 |
15 | @Override
16 | public OutputPort generate(NetworkDevice ownNetworkDevice, NetworkDevice towardsNetworkDevice, Link link) {
17 | return new PriorityOutputPort(ownNetworkDevice, towardsNetworkDevice, link);
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/xpt/voijslav_and_sppifo/ports/UnlimitedOutputPort.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.xpt.voijslav_and_sppifo.ports;
2 |
3 |
4 | import ch.ethz.systems.netbench.core.network.Link;
5 | import ch.ethz.systems.netbench.core.network.NetworkDevice;
6 | import ch.ethz.systems.netbench.core.network.OutputPort;
7 | import ch.ethz.systems.netbench.core.network.Packet;
8 |
9 | import java.util.concurrent.LinkedBlockingQueue;
10 |
11 | /**
12 | * The unlimited output port employs a First-In-First-Out output
13 | * queue without limiting the size it can take.
14 | */
15 | public class UnlimitedOutputPort extends OutputPort {
16 |
17 | public UnlimitedOutputPort(NetworkDevice ownNetworkDevice, NetworkDevice targetNetworkDevice, Link link) {
18 | super(ownNetworkDevice, targetNetworkDevice, link, new LinkedBlockingQueue());
19 | }
20 |
21 | @Override
22 | public void enqueue(Packet packet) {
23 | guaranteedEnqueue(packet);
24 | }
25 |
26 | }
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/xpt/voijslav_and_sppifo/ports/UnlimitedOutputPortGenerator.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.xpt.voijslav_and_sppifo.ports;
2 |
3 |
4 | import ch.ethz.systems.netbench.core.log.SimulationLogger;
5 | import ch.ethz.systems.netbench.core.network.Link;
6 | import ch.ethz.systems.netbench.core.network.NetworkDevice;
7 | import ch.ethz.systems.netbench.core.network.OutputPort;
8 | import ch.ethz.systems.netbench.core.run.infrastructure.OutputPortGenerator;
9 |
10 | public class UnlimitedOutputPortGenerator extends OutputPortGenerator {
11 |
12 | public UnlimitedOutputPortGenerator() {
13 | SimulationLogger.logInfo("Port", "UNLIMITED_PORT");
14 | }
15 |
16 | @Override
17 | public OutputPort generate(NetworkDevice ownNetworkDevice, NetworkDevice towardsNetworkDevice, Link link) {
18 | return new UnlimitedOutputPort(ownNetworkDevice, towardsNetworkDevice, link);
19 | }
20 |
21 | }
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/xpt/voijslav_and_sppifo/tcp/buffertcp/BufferTcpTransportLayerGenerator.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.xpt.voijslav_and_sppifo.tcp.buffertcp;
2 |
3 |
4 | import ch.ethz.systems.netbench.core.Simulator;
5 | import ch.ethz.systems.netbench.core.log.SimulationLogger;
6 | import ch.ethz.systems.netbench.core.network.TransportLayer;
7 | import ch.ethz.systems.netbench.core.run.infrastructure.TransportLayerGenerator;
8 |
9 | public class BufferTcpTransportLayerGenerator extends TransportLayerGenerator {
10 |
11 | public BufferTcpTransportLayerGenerator() {
12 | // No parameters needed
13 | SimulationLogger.logInfo("Transport layer", "BufferTCP");
14 | }
15 |
16 | @Override
17 | public TransportLayer generate(int identifier) {
18 | return new BufferTcpTransportLayer(
19 | identifier,
20 | Simulator.getConfiguration().getLongPropertyOrFail("seed")
21 | );
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/xpt/voijslav_and_sppifo/tcp/distmeantcp/DistMeanTcpTransportLayerGenerator.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.xpt.voijslav_and_sppifo.tcp.distmeantcp;
2 |
3 | import ch.ethz.systems.netbench.core.Simulator;
4 | import ch.ethz.systems.netbench.core.log.SimulationLogger;
5 | import ch.ethz.systems.netbench.core.network.TransportLayer;
6 | import ch.ethz.systems.netbench.core.run.infrastructure.TransportLayerGenerator;
7 |
8 | public class DistMeanTcpTransportLayerGenerator extends TransportLayerGenerator {
9 |
10 | public DistMeanTcpTransportLayerGenerator() {
11 | // No parameters needed
12 | SimulationLogger.logInfo("Transport layer", "DistMeanTcp");
13 | }
14 |
15 | @Override
16 | public TransportLayer generate(int identifier) {
17 | return new DistMeanTcpTransportLayer(
18 | identifier,
19 | Simulator.getConfiguration().getLongPropertyOrFail("seed")
20 | );
21 | }
22 |
23 | }
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/xpt/voijslav_and_sppifo/tcp/distrandtcp/DistRandTcpTransportLayerGenerator.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.xpt.voijslav_and_sppifo.tcp.distrandtcp;
2 |
3 | import ch.ethz.systems.netbench.core.Simulator;
4 | import ch.ethz.systems.netbench.core.log.SimulationLogger;
5 | import ch.ethz.systems.netbench.core.network.TransportLayer;
6 | import ch.ethz.systems.netbench.core.run.infrastructure.TransportLayerGenerator;
7 |
8 | public class DistRandTcpTransportLayerGenerator extends TransportLayerGenerator {
9 |
10 | public DistRandTcpTransportLayerGenerator() {
11 | // No parameters needed
12 | SimulationLogger.logInfo("Transport layer", "DistRandTcp");
13 | }
14 |
15 | @Override
16 | public TransportLayer generate(int identifier) {
17 | return new DistRandTcpTransportLayer(
18 | identifier,
19 | Simulator.getConfiguration().getLongPropertyOrFail("seed")
20 | );
21 | }
22 |
23 | }
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/xpt/voijslav_and_sppifo/tcp/lstftcp/LstfTcpTransportLayerGenerator.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.xpt.voijslav_and_sppifo.tcp.lstftcp;
2 |
3 | import ch.ethz.systems.netbench.core.log.SimulationLogger;
4 | import ch.ethz.systems.netbench.core.network.TransportLayer;
5 | import ch.ethz.systems.netbench.core.run.infrastructure.TransportLayerGenerator;
6 |
7 | public class LstfTcpTransportLayerGenerator extends TransportLayerGenerator {
8 |
9 | private String rankDistribution;
10 | private long rankBound;
11 |
12 | public LstfTcpTransportLayerGenerator(String rankDistribution, long rankBound) {
13 | SimulationLogger.logInfo("Transport layer", "LSTF TCP");
14 | this.rankDistribution = rankDistribution;
15 | this.rankBound = rankBound;
16 | }
17 |
18 | @Override
19 | public TransportLayer generate(int identifier) {
20 | return new LstfTcpTransportLayer(identifier, rankDistribution, rankBound);
21 | }
22 |
23 | }
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/xpt/voijslav_and_sppifo/tcp/pfabric/PfabricTransportLayerGenerator.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.xpt.voijslav_and_sppifo.tcp.pfabric;
2 |
3 |
4 | import ch.ethz.systems.netbench.core.Simulator;
5 | import ch.ethz.systems.netbench.core.log.SimulationLogger;
6 | import ch.ethz.systems.netbench.core.network.TransportLayer;
7 | import ch.ethz.systems.netbench.core.run.infrastructure.TransportLayerGenerator;
8 |
9 | public class PfabricTransportLayerGenerator extends TransportLayerGenerator {
10 |
11 | public PfabricTransportLayerGenerator() {
12 | // No parameters needed
13 | SimulationLogger.logInfo("Transport layer", "PFABRIC");
14 | }
15 |
16 | @Override
17 | public TransportLayer generate(int identifier) {
18 | return new PfabricTransportLayer(
19 | identifier,
20 | Simulator.getConfiguration().getLongPropertyOrFail("seed")
21 | );
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/xpt/voijslav_and_sppifo/tcp/pfzero/PfzeroTransportLayerGenerator.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.xpt.voijslav_and_sppifo.tcp.pfzero;
2 |
3 |
4 | import ch.ethz.systems.netbench.core.Simulator;
5 | import ch.ethz.systems.netbench.core.log.SimulationLogger;
6 | import ch.ethz.systems.netbench.core.network.TransportLayer;
7 | import ch.ethz.systems.netbench.core.run.infrastructure.TransportLayerGenerator;
8 |
9 | public class PfzeroTransportLayerGenerator extends TransportLayerGenerator {
10 |
11 | public PfzeroTransportLayerGenerator() {
12 | // No parameters needed
13 | SimulationLogger.logInfo("Transport layer", "PFZERO");
14 | }
15 |
16 | @Override
17 | public TransportLayer generate(int identifier) {
18 | return new PfzeroTransportLayer(
19 | identifier,
20 | Simulator.getConfiguration().getLongPropertyOrFail("seed")
21 | );
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/xpt/voijslav_and_sppifo/tcp/sparktcp/SparkTransportLayerGenerator.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.xpt.voijslav_and_sppifo.tcp.sparktcp;
2 |
3 |
4 | import ch.ethz.systems.netbench.core.Simulator;
5 | import ch.ethz.systems.netbench.core.log.SimulationLogger;
6 | import ch.ethz.systems.netbench.core.network.TransportLayer;
7 | import ch.ethz.systems.netbench.core.run.infrastructure.TransportLayerGenerator;
8 |
9 | public class SparkTransportLayerGenerator extends TransportLayerGenerator {
10 |
11 | public SparkTransportLayerGenerator() {
12 | // No parameters needed
13 | SimulationLogger.logInfo("Transport layer", "SparkTCP");
14 | }
15 |
16 | @Override
17 | public TransportLayer generate(int identifier) {
18 | return new SparkTransportLayer(
19 | identifier,
20 | Simulator.getConfiguration().getLongPropertyOrFail("seed")
21 | );
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/xpt/voijslav_and_sppifo/tcp/sphalftcp/SpHalfTcpTransportLayerGenerator.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.xpt.voijslav_and_sppifo.tcp.sphalftcp;
2 |
3 | import ch.ethz.systems.netbench.core.log.SimulationLogger;
4 | import ch.ethz.systems.netbench.core.network.TransportLayer;
5 | import ch.ethz.systems.netbench.core.run.infrastructure.TransportLayerGenerator;
6 |
7 | public class SpHalfTcpTransportLayerGenerator extends TransportLayerGenerator {
8 |
9 | public SpHalfTcpTransportLayerGenerator() {
10 | // No parameters needed
11 | SimulationLogger.logInfo("Transport layer", "SP HALF TCP");
12 | }
13 |
14 | @Override
15 | public TransportLayer generate(int identifier) {
16 | return new SpHalfTcpTransportLayer(identifier);
17 | }
18 |
19 | }
--------------------------------------------------------------------------------
/simulation_code/src/main/java/ch/ethz/systems/netbench/xpt/voijslav_and_sppifo/tcp/sptcp/SpTcpTransportLayerGenerator.java:
--------------------------------------------------------------------------------
1 | package ch.ethz.systems.netbench.xpt.voijslav_and_sppifo.tcp.sptcp;
2 |
3 | import ch.ethz.systems.netbench.core.log.SimulationLogger;
4 | import ch.ethz.systems.netbench.core.network.TransportLayer;
5 | import ch.ethz.systems.netbench.core.run.infrastructure.TransportLayerGenerator;
6 |
7 | public class SpTcpTransportLayerGenerator extends TransportLayerGenerator {
8 |
9 | public SpTcpTransportLayerGenerator() {
10 | // No parameters needed
11 | SimulationLogger.logInfo("Transport layer", "SP TCP");
12 | }
13 |
14 | @Override
15 | public TransportLayer generate(int identifier) {
16 | return new SpTcpTransportLayer(identifier);
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/simulation_code/temp/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netx-repo/HCSFQ/01574b9fbc64c8c63d1fbf916795e6860395c100/simulation_code/temp/.gitignore
--------------------------------------------------------------------------------
/testbed_code/client_dpdk/README.md:
--------------------------------------------------------------------------------
1 | # server (netx8):
2 | go to `/home/user/hz/incast_dpdk/server`
3 |
4 | Compile:
5 | `make`
6 |
7 | Run:
8 | `sudo ./build/server -l 0`
9 |
10 | ### Note:
11 | - `-l` denotes the list of thread IDs.
12 |
13 |
14 | # client (netx1,2,3)
15 | go to `/home/user/hz/incast_dpdk/client`
16 |
17 | Compile:
18 | `make`
19 |
20 | Run:
21 | `sudo ./build/client -l 0 -- -x 1 -s 100000`
22 |
23 | ### how to modify the ethernet frame size:
24 | modify the length of the int array on L93 in `util/util.h`
25 |
26 | ### Note:
27 | - `-l` denotes the list of thread IDs.
28 | - `-x 1`: specify the client_ip: "10.1.0."
29 | - `-s 100000`: pkts/ms
30 |
--------------------------------------------------------------------------------
/testbed_code/client_dpdk/client/Makefile:
--------------------------------------------------------------------------------
1 | ifeq ($(RTE_SDK),)
2 | $(error "Please define RTE_SDK environment variable")
3 | endif
4 |
5 | # Default target, can be overriden by command line or environment
6 | RTE_TARGET ?= x86_64-native-linuxapp-gcc
7 |
8 | include $(RTE_SDK)/mk/rte.vars.mk
9 |
10 | # binary name
11 | APP = client
12 |
13 | # all source are stored in SRCS-y
14 | SRCS-y := client.c
15 |
16 | CFLAGS += -O3# -g for gdb debugging
17 | #CFLAGS += $(WERROR_FLAGS)
18 |
19 | include $(RTE_SDK)/mk/rte.extapp.mk
20 |
--------------------------------------------------------------------------------
/testbed_code/client_dpdk/server/Makefile:
--------------------------------------------------------------------------------
1 | ifeq ($(RTE_SDK),)
2 | $(error "Please define RTE_SDK environment variable")
3 | endif
4 |
5 | # Default target, can be overriden by command line or environment
6 | RTE_TARGET ?= x86_64-native-linuxapp-gcc
7 |
8 | include $(RTE_SDK)/mk/rte.vars.mk
9 |
10 | # binary name
11 | APP = server
12 |
13 | # all source are stored in SRCS-y
14 | SRCS-y := server.c
15 |
16 | CFLAGS += -O3# -g #for gdb debugging
17 | #CFLAGS += $(WERROR_FLAGS)
18 |
19 | include $(RTE_SDK)/mk/rte.extapp.mk
20 |
--------------------------------------------------------------------------------
/testbed_code/hcsfq/p4src/includes/hcsfq_defines_tcp_alg.p4:
--------------------------------------------------------------------------------
1 | #define CSFQ_PORT 8888
2 | #define LOWER_BOUND 0
3 | #define UPPER_BOUND 15
4 | #define NUM_FLOWS 600
5 | #define NUM_TENANTS 10
6 | #define RATE_ESTIMATED 1
7 | #ifdef BPS
8 | #define EPOCH_THRESHOLD 1000 * 8
9 | #define WINDOW_SIZE 4382
10 | #else
11 | #define EPOCH_THRESHOLD 30720
12 | #define WINDOW_SIZE 5001
13 | #endif
14 |
15 | #define RECIRCULATED 1
16 | #define UPDATE_ALPHA 1
17 | #define UPDATE_TOTAL_ALPHA 1
18 | #define UPDATE_RATE 1
19 | #define bitwidth 1
20 |
21 | #ifdef BPS
22 | #define C 1151456
23 | #define DELTA_C 4800
24 | #define INIT_C 215145
25 | #else
26 | #define C 35000
27 | #define DELTA_C 123
28 | #endif
--------------------------------------------------------------------------------
/testbed_code/hcsfq/p4src/includes/hcsfq_defines_tcp_diff.p4:
--------------------------------------------------------------------------------
1 | #define CSFQ_PORT 8888
2 | #define LOWER_BOUND 0
3 | #define UPPER_BOUND 15
4 | #define NUM_FLOWS 600
5 | #define NUM_TENANTS 10
6 | #define RATE_ESTIMATED 1
7 | #ifdef BPS
8 | #define EPOCH_THRESHOLD 100000 * 8
9 | #define WINDOW_SIZE 43828
10 | #else
11 | #define EPOCH_THRESHOLD 30720
12 | #define WINDOW_SIZE 5001
13 | #endif
14 |
15 | #define RECIRCULATED 1
16 | #define UPDATE_ALPHA 1
17 | #define UPDATE_TOTAL_ALPHA 1
18 | #define UPDATE_RATE 1
19 | #define bitwidth 1
20 |
21 | #ifdef BPS
22 | #define C 115145657
23 | #define INIT_C 11514565
24 | #else
25 | #define C 35000
26 | #define DELTA_C 123
27 | #endif
--------------------------------------------------------------------------------
/testbed_code/hcsfq/p4src/includes/hcsfq_defines_tcp_hierarchy.p4:
--------------------------------------------------------------------------------
1 | #define CSFQ_PORT 8888
2 | #define LOWER_BOUND 0
3 | #define UPPER_BOUND 15
4 | #define NUM_FLOWS 600
5 | #define NUM_TENANTS 10
6 | #define RATE_ESTIMATED 1
7 | #ifdef BPS
8 | #define EPOCH_THRESHOLD 1000 * 8
9 | // #define EPOCH_THRESHOLD 2382
10 | // #define EPOCH_THRESHOLD (238 * 2)
11 | #define WINDOW_SIZE 4382
12 | #else
13 | #define EPOCH_THRESHOLD 30720
14 | #define WINDOW_SIZE 5001
15 | #endif
16 |
17 | #define RECIRCULATED 1
18 | #define UPDATE_ALPHA 1
19 | #define UPDATE_TOTAL_ALPHA 1
20 | #define UPDATE_RATE 1
21 | #define bitwidth 1
22 |
23 | #ifdef BPS
24 | #define C 1151456
25 | #define DELTA_C 6000
26 | #define INIT_C 215145
27 | #else
28 | #define C 35000
29 | #define DELTA_C 123
30 | #endif
--------------------------------------------------------------------------------
/testbed_code/hcsfq/p4src/includes/hcsfq_defines_tcp_rtt.p4:
--------------------------------------------------------------------------------
1 | #define CSFQ_PORT 8888
2 | #define LOWER_BOUND 0
3 | #define UPPER_BOUND 15
4 | #define NUM_FLOWS 600
5 | #define NUM_TENANTS 10
6 | #define RATE_ESTIMATED 1
7 | #ifdef BPS
8 | #define EPOCH_THRESHOLD 1000 * 8
9 | #define WINDOW_SIZE 4382
10 | #else
11 | #define EPOCH_THRESHOLD 30720
12 | #define WINDOW_SIZE 5001
13 | #endif
14 |
15 | #define RECIRCULATED 1
16 | #define UPDATE_ALPHA 1
17 | #define UPDATE_TOTAL_ALPHA 1
18 | #define UPDATE_RATE 1
19 | #define bitwidth 1
20 |
21 | #ifdef BPS
22 | #define C 1151456
23 | #define DELTA_C 4800
24 | #define INIT_C 215145
25 | #else
26 | #define C 35000
27 | #define DELTA_C 123
28 | #endif
--------------------------------------------------------------------------------
/testbed_code/simple_switch/p4src/includes/simpleswitch_defines.p4:
--------------------------------------------------------------------------------
1 | #define CSFQ_PORT 8888
2 | #define LOWER_BOUND 0
3 | #define UPPER_BOUND 15
4 | #define NUM_FLOWS 65536
5 | #define EPOCH_THRESHOLD 1024
6 | #define WINDOW_SIZE 1024
7 | #define RECIRCULATED 1
8 | #define C 5120
9 | #define DELTA_C 250
--------------------------------------------------------------------------------
/testbed_code/simple_switch/p4src/simpleswitch_actions.p4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netx-repo/HCSFQ/01574b9fbc64c8c63d1fbf916795e6860395c100/testbed_code/simple_switch/p4src/simpleswitch_actions.p4
--------------------------------------------------------------------------------
/testbed_code/simple_switch/p4src/simpleswitch_blackboxs.p4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netx-repo/HCSFQ/01574b9fbc64c8c63d1fbf916795e6860395c100/testbed_code/simple_switch/p4src/simpleswitch_blackboxs.p4
--------------------------------------------------------------------------------
/testbed_code/simple_switch/p4src/simpleswitch_tables.p4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netx-repo/HCSFQ/01574b9fbc64c8c63d1fbf916795e6860395c100/testbed_code/simple_switch/p4src/simpleswitch_tables.p4
--------------------------------------------------------------------------------