SlideShare a Scribd company logo
1 of 11
NS4: Enabling Programmable Data Plane Simulation
Ajay Kharat (2019H1030011G)
BITS-Pilani
Jiasong Bai, Jun Bi, Peng Kuang, Chengze Fan, Yu Zhou, Cheng Zhang
Problem Statement
Network Simulation
Desired
Behavior Model
Phase 1
FPGANPUASIC
Rewrite
Phase 2
Motivation:
Approach & Solution
NS4 <- NS3 + P4
• NS4 exploits P4 to
• Simplify the development of behavioral model
• Bridge the gap between Simulation and Development
• No library dependent simulator calls, leading to denser
source code
• Also NS4 is convenient simulation tool for P4 programmers.
Simulation
Behavior Model
Network
Feature
Network Devices
Simulator
Oblivious
Automatic
Compilation
NS4 Design Approach:
NS4 Runtime
• Every line of the configuration is translated into flow table entries
• Proactively generates flow table entries from user configuration.
• Can Modify flow entries at runtime.
NS4 Controller
• Designed to be optional
• Can populate flow table entries reactively
• Trivial entries that can be derived from network topology
• Called Automatic entries
Statistics Collector
• Creates discrete events for gathering statistical information
• Can set and reset counters for specific values in the flow tables
P4 Configurator
• Takes P4 programs and configures pipelines in NS4 Net Device
• Line-by-line translation from P4 to discrete events
Flow Table Agent
• Populates flow table entries according to NS4Runtime
andNS4Controller
• Offers statistical information to the statistics collector
Channel Manager:
• Eases communication between multiple net devices
• Downward compatibility with traditional devices given
Workflow:
1. Configure the behaviour of data plane by inputting compiled P4 programs to P4
pipeline configurator.
2. Create control plane and configure the flow table operations and statistics collection
tasks to be performed
3. Build network topology, install applications and trigger the simulation. The control
configurations are transformed into discrete events and get performed at the appointed
time.
1. Case Study: SilkRoad vs SLB
• Software Load Balancer (SLB)
• Map virtual IP addresses (VIP) to direct IP
addresses (DIP)
• Load balancing done in software by dedicated
load balancing servers.
• Bringing high cost for dedicated devices
• Higher forwarding latencies due to redirection
of packets
• SilkRoad
• Implement SLB on switch ASIC with large
performance improvement
• Switches themselves decide how to forward
incoming packets.
• NS4 supports simulating SilkRoad and SLB
in a typical data center topology.
Evaluation
Packet Processing delay
Device throughput
Development Complexity:
Conclusion:
• NS4: Enabling programmable data plane simulation
• Programmable data plane with multiple devices can now be simulated
• Simulation setup much easier compared to ns-3
• Direct migration of simulated behaviour to real-world devices possible
• Less error prone code writing.
• Performance improved significantly.
Future Work:
• Strengthen NS4 Database to fully support various element in P4.
• Improve execution efficiency of NS4 Implementation by reducing memory usage.
Related Work
Predecessors of NS4
• ns-1 (1989)
Terminal based, C++ & Tcl(Tool Command Language)
• ns-2 (1995)
Otcl, support sensor networks, wireless, satellites...
• ns-3 (2011)
Python besides OTcl and adherence to C++ style patterns.
Improved incorporation with other open-source network simulators.
Other network simulators (excerpt)
• OPNet
GUI, but no P4 support
• PFPSim
Supports only one P4 enabled device
THANK YOU!!!

More Related Content

What's hot

OSMC 2021 | Advanced MySQL optimization and troubleshooting using PMM 2
OSMC 2021 | Advanced MySQL optimization and troubleshooting using PMM 2OSMC 2021 | Advanced MySQL optimization and troubleshooting using PMM 2
OSMC 2021 | Advanced MySQL optimization and troubleshooting using PMM 2NETWAYS
 
Flink Forward San Francisco 2019: Building production Flink jobs with Airstre...
Flink Forward San Francisco 2019: Building production Flink jobs with Airstre...Flink Forward San Francisco 2019: Building production Flink jobs with Airstre...
Flink Forward San Francisco 2019: Building production Flink jobs with Airstre...Flink Forward
 
WINLAB Poster Final
WINLAB Poster FinalWINLAB Poster Final
WINLAB Poster FinalParth Parikh
 
Flink Forward Berlin 2017: Steffen Hausmann - Build a Real-time Stream Proces...
Flink Forward Berlin 2017: Steffen Hausmann - Build a Real-time Stream Proces...Flink Forward Berlin 2017: Steffen Hausmann - Build a Real-time Stream Proces...
Flink Forward Berlin 2017: Steffen Hausmann - Build a Real-time Stream Proces...Flink Forward
 
Aengus Rooney [Grafana] | What's New with Grafana and InfluxDB | InfluxDays E...
Aengus Rooney [Grafana] | What's New with Grafana and InfluxDB | InfluxDays E...Aengus Rooney [Grafana] | What's New with Grafana and InfluxDB | InfluxDays E...
Aengus Rooney [Grafana] | What's New with Grafana and InfluxDB | InfluxDays E...InfluxData
 
Building a real time Tweet map with Flink in six weeks
Building a real time Tweet map with Flink in six weeksBuilding a real time Tweet map with Flink in six weeks
Building a real time Tweet map with Flink in six weeksMatthias Kricke
 
Flink Forward SF 2017: Scott Kidder - Building a Real-Time Anomaly-Detection ...
Flink Forward SF 2017: Scott Kidder - Building a Real-Time Anomaly-Detection ...Flink Forward SF 2017: Scott Kidder - Building a Real-Time Anomaly-Detection ...
Flink Forward SF 2017: Scott Kidder - Building a Real-Time Anomaly-Detection ...Flink Forward
 
Apache Kafka : Monitoring vs Alerting
Apache Kafka : Monitoring vs AlertingApache Kafka : Monitoring vs Alerting
Apache Kafka : Monitoring vs AlertingRatish Ravindran
 
TechChat - What’s New in Sumo Logic 7/21/15
TechChat - What’s New in Sumo Logic 7/21/15TechChat - What’s New in Sumo Logic 7/21/15
TechChat - What’s New in Sumo Logic 7/21/15Sumo Logic
 
ChronoLogic Tools Demo: 6/12/18
ChronoLogic Tools Demo: 6/12/18ChronoLogic Tools Demo: 6/12/18
ChronoLogic Tools Demo: 6/12/18ChronoLogic
 
Flink Forward San Francisco 2019: Massive Scale Data Processing at Netflix us...
Flink Forward San Francisco 2019: Massive Scale Data Processing at Netflix us...Flink Forward San Francisco 2019: Massive Scale Data Processing at Netflix us...
Flink Forward San Francisco 2019: Massive Scale Data Processing at Netflix us...Flink Forward
 
Zoltán Zvara - Advanced visualization of Flink and Spark jobs

Zoltán Zvara - Advanced visualization of Flink and Spark jobs
Zoltán Zvara - Advanced visualization of Flink and Spark jobs

Zoltán Zvara - Advanced visualization of Flink and Spark jobs
Flink Forward
 
End to-end example: consumer loan acceptance scoring using kubeflow
End to-end example: consumer loan acceptance scoring using kubeflowEnd to-end example: consumer loan acceptance scoring using kubeflow
End to-end example: consumer loan acceptance scoring using kubeflowRadovan Parrak
 
The Many Faces of Apache Kafka: Leveraging Real-time Data at Scale
The Many Faces of Apache Kafka: Leveraging Real-time Data at ScaleThe Many Faces of Apache Kafka: Leveraging Real-time Data at Scale
The Many Faces of Apache Kafka: Leveraging Real-time Data at ScaleMessaging Meetup
 
Nova Update - OpenStack Ops Midcycle, Manchester, Feb 2016
Nova Update - OpenStack Ops Midcycle, Manchester, Feb 2016Nova Update - OpenStack Ops Midcycle, Manchester, Feb 2016
Nova Update - OpenStack Ops Midcycle, Manchester, Feb 2016John Garbutt
 
Sparklint @ Spark Meetup Chicago
Sparklint @ Spark Meetup ChicagoSparklint @ Spark Meetup Chicago
Sparklint @ Spark Meetup ChicagoSimon Whitear
 
Portable Streaming Pipelines with Apache Beam
Portable Streaming Pipelines with Apache BeamPortable Streaming Pipelines with Apache Beam
Portable Streaming Pipelines with Apache Beamconfluent
 
Streaming your Lyft Ride Prices - Flink Forward SF 2019
Streaming your Lyft Ride Prices - Flink Forward SF 2019Streaming your Lyft Ride Prices - Flink Forward SF 2019
Streaming your Lyft Ride Prices - Flink Forward SF 2019Thomas Weise
 
Future of Apache Flink Deployments: Containers, Kubernetes and More - Flink F...
Future of Apache Flink Deployments: Containers, Kubernetes and More - Flink F...Future of Apache Flink Deployments: Containers, Kubernetes and More - Flink F...
Future of Apache Flink Deployments: Containers, Kubernetes and More - Flink F...Till Rohrmann
 
Autonomous workload rebalancing in kafka
Autonomous workload rebalancing in kafkaAutonomous workload rebalancing in kafka
Autonomous workload rebalancing in kafkaIndrajeet Kumar
 

What's hot (20)

OSMC 2021 | Advanced MySQL optimization and troubleshooting using PMM 2
OSMC 2021 | Advanced MySQL optimization and troubleshooting using PMM 2OSMC 2021 | Advanced MySQL optimization and troubleshooting using PMM 2
OSMC 2021 | Advanced MySQL optimization and troubleshooting using PMM 2
 
Flink Forward San Francisco 2019: Building production Flink jobs with Airstre...
Flink Forward San Francisco 2019: Building production Flink jobs with Airstre...Flink Forward San Francisco 2019: Building production Flink jobs with Airstre...
Flink Forward San Francisco 2019: Building production Flink jobs with Airstre...
 
WINLAB Poster Final
WINLAB Poster FinalWINLAB Poster Final
WINLAB Poster Final
 
Flink Forward Berlin 2017: Steffen Hausmann - Build a Real-time Stream Proces...
Flink Forward Berlin 2017: Steffen Hausmann - Build a Real-time Stream Proces...Flink Forward Berlin 2017: Steffen Hausmann - Build a Real-time Stream Proces...
Flink Forward Berlin 2017: Steffen Hausmann - Build a Real-time Stream Proces...
 
Aengus Rooney [Grafana] | What's New with Grafana and InfluxDB | InfluxDays E...
Aengus Rooney [Grafana] | What's New with Grafana and InfluxDB | InfluxDays E...Aengus Rooney [Grafana] | What's New with Grafana and InfluxDB | InfluxDays E...
Aengus Rooney [Grafana] | What's New with Grafana and InfluxDB | InfluxDays E...
 
Building a real time Tweet map with Flink in six weeks
Building a real time Tweet map with Flink in six weeksBuilding a real time Tweet map with Flink in six weeks
Building a real time Tweet map with Flink in six weeks
 
Flink Forward SF 2017: Scott Kidder - Building a Real-Time Anomaly-Detection ...
Flink Forward SF 2017: Scott Kidder - Building a Real-Time Anomaly-Detection ...Flink Forward SF 2017: Scott Kidder - Building a Real-Time Anomaly-Detection ...
Flink Forward SF 2017: Scott Kidder - Building a Real-Time Anomaly-Detection ...
 
Apache Kafka : Monitoring vs Alerting
Apache Kafka : Monitoring vs AlertingApache Kafka : Monitoring vs Alerting
Apache Kafka : Monitoring vs Alerting
 
TechChat - What’s New in Sumo Logic 7/21/15
TechChat - What’s New in Sumo Logic 7/21/15TechChat - What’s New in Sumo Logic 7/21/15
TechChat - What’s New in Sumo Logic 7/21/15
 
ChronoLogic Tools Demo: 6/12/18
ChronoLogic Tools Demo: 6/12/18ChronoLogic Tools Demo: 6/12/18
ChronoLogic Tools Demo: 6/12/18
 
Flink Forward San Francisco 2019: Massive Scale Data Processing at Netflix us...
Flink Forward San Francisco 2019: Massive Scale Data Processing at Netflix us...Flink Forward San Francisco 2019: Massive Scale Data Processing at Netflix us...
Flink Forward San Francisco 2019: Massive Scale Data Processing at Netflix us...
 
Zoltán Zvara - Advanced visualization of Flink and Spark jobs

Zoltán Zvara - Advanced visualization of Flink and Spark jobs
Zoltán Zvara - Advanced visualization of Flink and Spark jobs

Zoltán Zvara - Advanced visualization of Flink and Spark jobs

 
End to-end example: consumer loan acceptance scoring using kubeflow
End to-end example: consumer loan acceptance scoring using kubeflowEnd to-end example: consumer loan acceptance scoring using kubeflow
End to-end example: consumer loan acceptance scoring using kubeflow
 
The Many Faces of Apache Kafka: Leveraging Real-time Data at Scale
The Many Faces of Apache Kafka: Leveraging Real-time Data at ScaleThe Many Faces of Apache Kafka: Leveraging Real-time Data at Scale
The Many Faces of Apache Kafka: Leveraging Real-time Data at Scale
 
Nova Update - OpenStack Ops Midcycle, Manchester, Feb 2016
Nova Update - OpenStack Ops Midcycle, Manchester, Feb 2016Nova Update - OpenStack Ops Midcycle, Manchester, Feb 2016
Nova Update - OpenStack Ops Midcycle, Manchester, Feb 2016
 
Sparklint @ Spark Meetup Chicago
Sparklint @ Spark Meetup ChicagoSparklint @ Spark Meetup Chicago
Sparklint @ Spark Meetup Chicago
 
Portable Streaming Pipelines with Apache Beam
Portable Streaming Pipelines with Apache BeamPortable Streaming Pipelines with Apache Beam
Portable Streaming Pipelines with Apache Beam
 
Streaming your Lyft Ride Prices - Flink Forward SF 2019
Streaming your Lyft Ride Prices - Flink Forward SF 2019Streaming your Lyft Ride Prices - Flink Forward SF 2019
Streaming your Lyft Ride Prices - Flink Forward SF 2019
 
Future of Apache Flink Deployments: Containers, Kubernetes and More - Flink F...
Future of Apache Flink Deployments: Containers, Kubernetes and More - Flink F...Future of Apache Flink Deployments: Containers, Kubernetes and More - Flink F...
Future of Apache Flink Deployments: Containers, Kubernetes and More - Flink F...
 
Autonomous workload rebalancing in kafka
Autonomous workload rebalancing in kafkaAutonomous workload rebalancing in kafka
Autonomous workload rebalancing in kafka
 

Similar to NS4: Enabling Programmable Data Plane Simulation

The Need for Complex Analytics from Forwarding Pipelines
The Need for Complex Analytics from Forwarding Pipelines The Need for Complex Analytics from Forwarding Pipelines
The Need for Complex Analytics from Forwarding Pipelines Netronome
 
LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...
LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...
LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...LF_DPDK
 
RouteFlow & IXPs
RouteFlow & IXPsRouteFlow & IXPs
RouteFlow & IXPsnvirters
 
Runtime Reconfigurable Network-on-chips for FPGA-based Systems
Runtime Reconfigurable Network-on-chips for FPGA-based SystemsRuntime Reconfigurable Network-on-chips for FPGA-based Systems
Runtime Reconfigurable Network-on-chips for FPGA-based SystemsMugdha2289
 
bruce-sdn.pptx
bruce-sdn.pptxbruce-sdn.pptx
bruce-sdn.pptxSameer Ali
 
A Dataflow Processing Chip for Training Deep Neural Networks
A Dataflow Processing Chip for Training Deep Neural NetworksA Dataflow Processing Chip for Training Deep Neural Networks
A Dataflow Processing Chip for Training Deep Neural Networksinside-BigData.com
 
The Challenges of SDN/OpenFlow in an Operational and Large-scale Network
The Challenges of SDN/OpenFlow in an Operational and Large-scale NetworkThe Challenges of SDN/OpenFlow in an Operational and Large-scale Network
The Challenges of SDN/OpenFlow in an Operational and Large-scale NetworkOpen Networking Summits
 
Software defined networking(sdn) vahid sadri
Software defined networking(sdn) vahid sadriSoftware defined networking(sdn) vahid sadri
Software defined networking(sdn) vahid sadriVahid Sadri
 
Virtualization in 4-4 1-4 Data Center Network.
Virtualization in 4-4 1-4 Data Center Network.Virtualization in 4-4 1-4 Data Center Network.
Virtualization in 4-4 1-4 Data Center Network.Ankita Mahajan
 
Webinar: Large Scale Graph Processing with IBM Power Systems & Neo4j
Webinar: Large Scale Graph Processing with IBM Power Systems & Neo4jWebinar: Large Scale Graph Processing with IBM Power Systems & Neo4j
Webinar: Large Scale Graph Processing with IBM Power Systems & Neo4jNeo4j
 
Project Slides for Website 2020-22.pptx
Project Slides for Website 2020-22.pptxProject Slides for Website 2020-22.pptx
Project Slides for Website 2020-22.pptxAkshitAgiwal1
 
ClickHouse Paris Meetup. Pragma Analytics Software Suite w/ClickHouse, by Mat...
ClickHouse Paris Meetup. Pragma Analytics Software Suite w/ClickHouse, by Mat...ClickHouse Paris Meetup. Pragma Analytics Software Suite w/ClickHouse, by Mat...
ClickHouse Paris Meetup. Pragma Analytics Software Suite w/ClickHouse, by Mat...Altinity Ltd
 
08. networking-part-2
08. networking-part-208. networking-part-2
08. networking-part-2Muhammad Ahad
 

Similar to NS4: Enabling Programmable Data Plane Simulation (20)

The Need for Complex Analytics from Forwarding Pipelines
The Need for Complex Analytics from Forwarding Pipelines The Need for Complex Analytics from Forwarding Pipelines
The Need for Complex Analytics from Forwarding Pipelines
 
Tale of a New Bangladeshi NIX
Tale of a New Bangladeshi NIXTale of a New Bangladeshi NIX
Tale of a New Bangladeshi NIX
 
Raga_SDN_NSX_1
Raga_SDN_NSX_1Raga_SDN_NSX_1
Raga_SDN_NSX_1
 
LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...
LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...
LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...
 
RouteFlow & IXPs
RouteFlow & IXPsRouteFlow & IXPs
RouteFlow & IXPs
 
Feec telecom-nw-softwarization-aug-2015
Feec telecom-nw-softwarization-aug-2015Feec telecom-nw-softwarization-aug-2015
Feec telecom-nw-softwarization-aug-2015
 
Runtime Reconfigurable Network-on-chips for FPGA-based Systems
Runtime Reconfigurable Network-on-chips for FPGA-based SystemsRuntime Reconfigurable Network-on-chips for FPGA-based Systems
Runtime Reconfigurable Network-on-chips for FPGA-based Systems
 
10. Lec X- SDN.pptx
10. Lec X- SDN.pptx10. Lec X- SDN.pptx
10. Lec X- SDN.pptx
 
bruce-sdn.pptx
bruce-sdn.pptxbruce-sdn.pptx
bruce-sdn.pptx
 
A Dataflow Processing Chip for Training Deep Neural Networks
A Dataflow Processing Chip for Training Deep Neural NetworksA Dataflow Processing Chip for Training Deep Neural Networks
A Dataflow Processing Chip for Training Deep Neural Networks
 
The Challenges of SDN/OpenFlow in an Operational and Large-scale Network
The Challenges of SDN/OpenFlow in an Operational and Large-scale NetworkThe Challenges of SDN/OpenFlow in an Operational and Large-scale Network
The Challenges of SDN/OpenFlow in an Operational and Large-scale Network
 
Ipx protocol slide share
Ipx protocol slide shareIpx protocol slide share
Ipx protocol slide share
 
Software defined networking(sdn) vahid sadri
Software defined networking(sdn) vahid sadriSoftware defined networking(sdn) vahid sadri
Software defined networking(sdn) vahid sadri
 
Cloud Networking Trends
Cloud Networking TrendsCloud Networking Trends
Cloud Networking Trends
 
Slick: A control plane for middleboxes
Slick: A control plane for middleboxesSlick: A control plane for middleboxes
Slick: A control plane for middleboxes
 
Virtualization in 4-4 1-4 Data Center Network.
Virtualization in 4-4 1-4 Data Center Network.Virtualization in 4-4 1-4 Data Center Network.
Virtualization in 4-4 1-4 Data Center Network.
 
Webinar: Large Scale Graph Processing with IBM Power Systems & Neo4j
Webinar: Large Scale Graph Processing with IBM Power Systems & Neo4jWebinar: Large Scale Graph Processing with IBM Power Systems & Neo4j
Webinar: Large Scale Graph Processing with IBM Power Systems & Neo4j
 
Project Slides for Website 2020-22.pptx
Project Slides for Website 2020-22.pptxProject Slides for Website 2020-22.pptx
Project Slides for Website 2020-22.pptx
 
ClickHouse Paris Meetup. Pragma Analytics Software Suite w/ClickHouse, by Mat...
ClickHouse Paris Meetup. Pragma Analytics Software Suite w/ClickHouse, by Mat...ClickHouse Paris Meetup. Pragma Analytics Software Suite w/ClickHouse, by Mat...
ClickHouse Paris Meetup. Pragma Analytics Software Suite w/ClickHouse, by Mat...
 
08. networking-part-2
08. networking-part-208. networking-part-2
08. networking-part-2
 

More from AJAY KHARAT

Uncovering Bugs in P4 Programs with Assertion-based Verification
Uncovering Bugs in P4 Programs with Assertion-based VerificationUncovering Bugs in P4 Programs with Assertion-based Verification
Uncovering Bugs in P4 Programs with Assertion-based VerificationAJAY KHARAT
 
SDPROBER: A SOFTWARE DEFINED PROBER FOR SDN
SDPROBER: A SOFTWARE DEFINED PROBER FOR SDNSDPROBER: A SOFTWARE DEFINED PROBER FOR SDN
SDPROBER: A SOFTWARE DEFINED PROBER FOR SDNAJAY KHARAT
 
Instrumenting Open vSwitch with Monitoring Capabilities: Designs and Challenges
Instrumenting Open vSwitch with Monitoring Capabilities: Designs and ChallengesInstrumenting Open vSwitch with Monitoring Capabilities: Designs and Challenges
Instrumenting Open vSwitch with Monitoring Capabilities: Designs and ChallengesAJAY KHARAT
 
Memory and Performance Isolation for a Multi-tenant Function-based Data-plane
Memory and Performance Isolation for a Multi-tenant Function-based Data-planeMemory and Performance Isolation for a Multi-tenant Function-based Data-plane
Memory and Performance Isolation for a Multi-tenant Function-based Data-plane AJAY KHARAT
 
YATES: Rapid Prototyping for Traffic Engineering Systems
YATES: Rapid Prototyping forTraffic Engineering SystemsYATES: Rapid Prototyping forTraffic Engineering Systems
YATES: Rapid Prototyping for Traffic Engineering SystemsAJAY KHARAT
 
Life in the Fast Lane: A Line-Rate Linear Road
Life in the Fast Lane: A Line-Rate Linear RoadLife in the Fast Lane: A Line-Rate Linear Road
Life in the Fast Lane: A Line-Rate Linear RoadAJAY KHARAT
 
How to implement complex policies on existing network infrastructure
How to implement complex policies on existing network infrastructure How to implement complex policies on existing network infrastructure
How to implement complex policies on existing network infrastructure AJAY KHARAT
 
Network-Wide Heavy-Hitter Detection with Commodity Switches
Network-Wide Heavy-Hitter Detection with Commodity SwitchesNetwork-Wide Heavy-Hitter Detection with Commodity Switches
Network-Wide Heavy-Hitter Detection with Commodity SwitchesAJAY KHARAT
 
p4pktgen: Automated Test Case Generation for P4 Programs
p4pktgen:  Automated Test Case  Generation for P4 Programsp4pktgen:  Automated Test Case  Generation for P4 Programs
p4pktgen: Automated Test Case Generation for P4 ProgramsAJAY KHARAT
 
Mutual exclusion in distributed systems
Mutual exclusion in distributed systemsMutual exclusion in distributed systems
Mutual exclusion in distributed systemsAJAY KHARAT
 
virtual memory management in multi processor mach os
virtual memory management in multi processor mach osvirtual memory management in multi processor mach os
virtual memory management in multi processor mach osAJAY KHARAT
 
Solutions to byzantine agreement problem
Solutions to byzantine agreement problem Solutions to byzantine agreement problem
Solutions to byzantine agreement problem AJAY KHARAT
 

More from AJAY KHARAT (12)

Uncovering Bugs in P4 Programs with Assertion-based Verification
Uncovering Bugs in P4 Programs with Assertion-based VerificationUncovering Bugs in P4 Programs with Assertion-based Verification
Uncovering Bugs in P4 Programs with Assertion-based Verification
 
SDPROBER: A SOFTWARE DEFINED PROBER FOR SDN
SDPROBER: A SOFTWARE DEFINED PROBER FOR SDNSDPROBER: A SOFTWARE DEFINED PROBER FOR SDN
SDPROBER: A SOFTWARE DEFINED PROBER FOR SDN
 
Instrumenting Open vSwitch with Monitoring Capabilities: Designs and Challenges
Instrumenting Open vSwitch with Monitoring Capabilities: Designs and ChallengesInstrumenting Open vSwitch with Monitoring Capabilities: Designs and Challenges
Instrumenting Open vSwitch with Monitoring Capabilities: Designs and Challenges
 
Memory and Performance Isolation for a Multi-tenant Function-based Data-plane
Memory and Performance Isolation for a Multi-tenant Function-based Data-planeMemory and Performance Isolation for a Multi-tenant Function-based Data-plane
Memory and Performance Isolation for a Multi-tenant Function-based Data-plane
 
YATES: Rapid Prototyping for Traffic Engineering Systems
YATES: Rapid Prototyping forTraffic Engineering SystemsYATES: Rapid Prototyping forTraffic Engineering Systems
YATES: Rapid Prototyping for Traffic Engineering Systems
 
Life in the Fast Lane: A Line-Rate Linear Road
Life in the Fast Lane: A Line-Rate Linear RoadLife in the Fast Lane: A Line-Rate Linear Road
Life in the Fast Lane: A Line-Rate Linear Road
 
How to implement complex policies on existing network infrastructure
How to implement complex policies on existing network infrastructure How to implement complex policies on existing network infrastructure
How to implement complex policies on existing network infrastructure
 
Network-Wide Heavy-Hitter Detection with Commodity Switches
Network-Wide Heavy-Hitter Detection with Commodity SwitchesNetwork-Wide Heavy-Hitter Detection with Commodity Switches
Network-Wide Heavy-Hitter Detection with Commodity Switches
 
p4pktgen: Automated Test Case Generation for P4 Programs
p4pktgen:  Automated Test Case  Generation for P4 Programsp4pktgen:  Automated Test Case  Generation for P4 Programs
p4pktgen: Automated Test Case Generation for P4 Programs
 
Mutual exclusion in distributed systems
Mutual exclusion in distributed systemsMutual exclusion in distributed systems
Mutual exclusion in distributed systems
 
virtual memory management in multi processor mach os
virtual memory management in multi processor mach osvirtual memory management in multi processor mach os
virtual memory management in multi processor mach os
 
Solutions to byzantine agreement problem
Solutions to byzantine agreement problem Solutions to byzantine agreement problem
Solutions to byzantine agreement problem
 

Recently uploaded

Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutionsmonugehlot87
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 

Recently uploaded (20)

Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutions
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 

NS4: Enabling Programmable Data Plane Simulation

  • 1. NS4: Enabling Programmable Data Plane Simulation Ajay Kharat (2019H1030011G) BITS-Pilani Jiasong Bai, Jun Bi, Peng Kuang, Chengze Fan, Yu Zhou, Cheng Zhang
  • 5. Approach & Solution NS4 <- NS3 + P4 • NS4 exploits P4 to • Simplify the development of behavioral model • Bridge the gap between Simulation and Development • No library dependent simulator calls, leading to denser source code • Also NS4 is convenient simulation tool for P4 programmers. Simulation Behavior Model Network Feature Network Devices Simulator Oblivious Automatic Compilation
  • 6. NS4 Design Approach: NS4 Runtime • Every line of the configuration is translated into flow table entries • Proactively generates flow table entries from user configuration. • Can Modify flow entries at runtime. NS4 Controller • Designed to be optional • Can populate flow table entries reactively • Trivial entries that can be derived from network topology • Called Automatic entries Statistics Collector • Creates discrete events for gathering statistical information • Can set and reset counters for specific values in the flow tables P4 Configurator • Takes P4 programs and configures pipelines in NS4 Net Device • Line-by-line translation from P4 to discrete events Flow Table Agent • Populates flow table entries according to NS4Runtime andNS4Controller • Offers statistical information to the statistics collector Channel Manager: • Eases communication between multiple net devices • Downward compatibility with traditional devices given Workflow: 1. Configure the behaviour of data plane by inputting compiled P4 programs to P4 pipeline configurator. 2. Create control plane and configure the flow table operations and statistics collection tasks to be performed 3. Build network topology, install applications and trigger the simulation. The control configurations are transformed into discrete events and get performed at the appointed time.
  • 7. 1. Case Study: SilkRoad vs SLB • Software Load Balancer (SLB) • Map virtual IP addresses (VIP) to direct IP addresses (DIP) • Load balancing done in software by dedicated load balancing servers. • Bringing high cost for dedicated devices • Higher forwarding latencies due to redirection of packets • SilkRoad • Implement SLB on switch ASIC with large performance improvement • Switches themselves decide how to forward incoming packets. • NS4 supports simulating SilkRoad and SLB in a typical data center topology.
  • 8. Evaluation Packet Processing delay Device throughput Development Complexity:
  • 9. Conclusion: • NS4: Enabling programmable data plane simulation • Programmable data plane with multiple devices can now be simulated • Simulation setup much easier compared to ns-3 • Direct migration of simulated behaviour to real-world devices possible • Less error prone code writing. • Performance improved significantly. Future Work: • Strengthen NS4 Database to fully support various element in P4. • Improve execution efficiency of NS4 Implementation by reducing memory usage.
  • 10. Related Work Predecessors of NS4 • ns-1 (1989) Terminal based, C++ & Tcl(Tool Command Language) • ns-2 (1995) Otcl, support sensor networks, wireless, satellites... • ns-3 (2011) Python besides OTcl and adherence to C++ style patterns. Improved incorporation with other open-source network simulators. Other network simulators (excerpt) • OPNet GUI, but no P4 support • PFPSim Supports only one P4 enabled device