SlideShare a Scribd company logo
1 of 20
Download to read offline
Packet	Manipulator	Processor:		
Smashing	«atomic»	ac8ons	
Speaker:	Marco	Spaziani	Brunella	
marco.spaziani.brunella@uniroma2.it	
	
DevLab	19	&	20	September	2017	
San	Josè,	CA
Talk	Summary	
1.  Current	state	and	background	
2.  What	is	Packet	Manipulator	Processor?	
3.  Programming	the	PMP	
4.  Packet	Manipulator	System	
5.  Performance	highlights		
6.  Synthesis	details		
7.  Future	works,	resources	and	acknowledgements
1– Current	state	and	background	
Open	Flow	
Match	 Ac8on	
Very	flexible	
Pre-
implemented;	
can	only	be	
“chosen”	
Custom	NAT?	
Custom	
encapsula8on?
NAT	
IP	in	IP	
ARP	reply	
Packet	
Manipulator	
Processor	
	
	
Hardware-implemented	ac8ons	
	
	
Sodware	programmable	“ac8ons”	
NAT	
rou8ne	
IP	in	IP	
rou8ne	
ARP	
Reply	
rou8ne	
Instruc8on	memory	
Sodware	code	
Eg.	ASM,	C,	P4	…..	
1.1	– Our	proposal	
Idea	1:	MIPS	processor	
Idea	2:	VLIW	processor	
Too	slow!!!	
Custom	
ac8on	
rou8ne	
Had	to	build	it	from	
scratch	☺
1.2	–	PISA	differences		
We	don’t	want	“atomic”	ac8on	on	a	packet	going	on	a	pipeline.	Instead,	we	want	to	collect	all	the	matches	for	the	
packet	and	then	arrange	the	code	to	perform	the	desired	ac8ons	op8mizing	the	hardware.	
Programmable	Parser	
Match	
Gatherer	
Scheduler	
Ac8on	
Performer
•  Sta8c	8-issue	microprocessor	(VLIW)	
•  32bit	dataplane	
•  32x32bit	general	purpose	registers	and	32x1bit	branch	registers	
•  VHDL	described		
•  Branch	predic8on	
•  Lane	forwarding	
•  Unaligned	output	memory	handling	
2	– What	is	Packet	Manipulator	
Processor?
2.1	– Architectural	overview	1/2
2.1	– Architectural	overview	2/2
•  The	ISA	is	derived	from	the	one	of	the	MIPS	(altough	has	been	enriched	with	specific	
instruc8on	to	handle	branches	and	fine-grained	memory	opera8ons).	
	
•  At	the	current	development	phase,	the	compiler	toolchain	is	missing,	altough	we	have	a	
parser	that	translates	ASM	to	bytecode.	
3	–	Programming	the	PMP
To	ease	the	task	of	implemen8ng	the	PMP,	we	provide	a	complete	PMS	(Packet	Manipulator	
System)	wich	includes:	
	
•  PMP	Core	
•  AXI-S	Input	interface	
•  AXI-S	Output	Interface	(providing	unaligned	memory)	
•  Instruc8on	Memory	
•  Toolchain	(early	development	stage)	
	
4	– Packet	Manipulator	System
4.1	–	AXI-S	input	interface
4.2	–	AXI-S	output	interface
•  One	instruc8on	(=	8	syllables)	per	clock	cycle	
•  3-stage	pipeline	for	each	lane	
•  3	clock	cycle	delay	
•  1	clock	cycle	branch	penalty	
•  Heavy	use	of	prefetch	(data	to	be	used	in	decode	stage	are	required	in	fetch	stage…)		
•  256	bit	parallel	load/store	in	one	clock	cycle	(ideal	for	AXIS	NetFPGA-SUME	data	interface☺)	
•  	Lane	forwarding	to	avoid	penalty	arising	from	the	pipes	(if	data	required	is	the	same	as	the	
one	currently	in	writeback,	the	data	is	forwarded	in	an	earlier	stage	of	the	lane	to	avoid	data	
hazards)	
5	–	Performance	highlights
5.1	– What	we	have	achieved	so	far	
•  Full	data-plane	programmability	
•  50Gbps	worst	case	packet	processing	(in	some	applica8ons,	we	reach	100+	
Gbps)
Very	small	HW	footprint	on	a	NetFPGA	SUME,	equipped	with	a	Virtex	7	FPGA	
	
6	– Synthesis	details	1/2
Fully	synthesized	at	250MHz!	
Way	over	156.25MHz	needed	for	in-out	
interface!	
6	– Synthesis	details	2/2
•  Provide	a	complete	toolchain	for	the	PMP	(including	a	new	programming	language)	
•  Por8ng	of	the	ISA	to	RISC-V	(almost	done!)		
•  Adding	more	network-specific	instruc8on	(eg.	Fast	checksum	recalcula8on)	
•  DPDK	sodware	integra8on	
•  Use	Intel®	Smart	NICs	to	validate	&	improve	the	design	
•  Ul8mate	goal	->	ASIC	produc8on	
7.1	–	Future	work
•  hwps://bitbucket.org/marco_spaz/pmp	
•  hwps://devmesh.intel.com/projects/packet-manipulator-processor	
•  hwps://devmesh.intel.com/projects/open-packet-processor	
•  hwps://riscv.org/	
7.2	– Resources
Q&A
7.2	– Acknowledgements	
This	project	has	been	developed	within	the	European	project	Superfluidity.	
	
	
Thank	for	your	awen8on!

More Related Content

Similar to Packet Manipulator Processor: Smashing «Atomic» Actions

Icg hpc-user
Icg hpc-userIcg hpc-user
Icg hpc-user
gdburton
 
BlackHat 2009 - Hacking Zigbee Chips (slides)
BlackHat 2009 - Hacking Zigbee Chips (slides)BlackHat 2009 - Hacking Zigbee Chips (slides)
BlackHat 2009 - Hacking Zigbee Chips (slides)
Michael Smith
 

Similar to Packet Manipulator Processor: Smashing «Atomic» Actions (20)

Iygapyisi cause10-slideshare
Iygapyisi cause10-slideshareIygapyisi cause10-slideshare
Iygapyisi cause10-slideshare
 
8 Ways Network Engineers use Snabb (RIPE 77)
8 Ways Network Engineers use Snabb (RIPE 77)8 Ways Network Engineers use Snabb (RIPE 77)
8 Ways Network Engineers use Snabb (RIPE 77)
 
Network Programming with Umit project
Network Programming with Umit projectNetwork Programming with Umit project
Network Programming with Umit project
 
Cracking the nut, solving edge ai with apache tools and frameworks
Cracking the nut, solving edge ai with apache tools and frameworksCracking the nut, solving edge ai with apache tools and frameworks
Cracking the nut, solving edge ai with apache tools and frameworks
 
D. Fast, Simple User-Space Network Functions with Snabb (RIPE 77)
D. Fast, Simple User-Space Network Functions with Snabb (RIPE 77)D. Fast, Simple User-Space Network Functions with Snabb (RIPE 77)
D. Fast, Simple User-Space Network Functions with Snabb (RIPE 77)
 
PyCon_India_2017_MicroPython_Ayan
PyCon_India_2017_MicroPython_AyanPyCon_India_2017_MicroPython_Ayan
PyCon_India_2017_MicroPython_Ayan
 
Icg hpc-user
Icg hpc-userIcg hpc-user
Icg hpc-user
 
BlackHat 2009 - Hacking Zigbee Chips (slides)
BlackHat 2009 - Hacking Zigbee Chips (slides)BlackHat 2009 - Hacking Zigbee Chips (slides)
BlackHat 2009 - Hacking Zigbee Chips (slides)
 
Method of NUMA-Aware Resource Management for Kubernetes 5G NFV Cluster
Method of NUMA-Aware Resource Management for Kubernetes 5G NFV ClusterMethod of NUMA-Aware Resource Management for Kubernetes 5G NFV Cluster
Method of NUMA-Aware Resource Management for Kubernetes 5G NFV Cluster
 
Introduction to DPDK
Introduction to DPDKIntroduction to DPDK
Introduction to DPDK
 
IoT: Internet of Things with Python
IoT: Internet of Things with PythonIoT: Internet of Things with Python
IoT: Internet of Things with Python
 
Sun Spot Talk
Sun Spot TalkSun Spot Talk
Sun Spot Talk
 
IoT exploitation: from memory corruption to code execution by Marco Romano
IoT exploitation: from memory corruption to code execution by Marco RomanoIoT exploitation: from memory corruption to code execution by Marco Romano
IoT exploitation: from memory corruption to code execution by Marco Romano
 
IoT exploitation: from memory corruption to code execution - Marco Romano - C...
IoT exploitation: from memory corruption to code execution - Marco Romano - C...IoT exploitation: from memory corruption to code execution - Marco Romano - C...
IoT exploitation: from memory corruption to code execution - Marco Romano - C...
 
Tos tutorial
Tos tutorialTos tutorial
Tos tutorial
 
PGI Compilers & Tools Update- March 2018
PGI Compilers & Tools Update- March 2018PGI Compilers & Tools Update- March 2018
PGI Compilers & Tools Update- March 2018
 
Automating hard things may 2015
Automating hard things   may 2015Automating hard things   may 2015
Automating hard things may 2015
 
Nagios Conference 2012 - Robert Bolton - Custom SNMP OID Creation
Nagios Conference 2012 - Robert Bolton - Custom SNMP OID CreationNagios Conference 2012 - Robert Bolton - Custom SNMP OID Creation
Nagios Conference 2012 - Robert Bolton - Custom SNMP OID Creation
 
Mina2
Mina2Mina2
Mina2
 
100 M pps on PC.
100 M pps on PC.100 M pps on PC.
100 M pps on PC.
 

More from Michelle Holley

Service Mesh on Kubernetes with Istio
Service Mesh on Kubernetes with IstioService Mesh on Kubernetes with Istio
Service Mesh on Kubernetes with Istio
Michelle Holley
 

More from Michelle Holley (20)

NFF-GO (YANFF) - Yet Another Network Function Framework
NFF-GO (YANFF) - Yet Another Network Function FrameworkNFF-GO (YANFF) - Yet Another Network Function Framework
NFF-GO (YANFF) - Yet Another Network Function Framework
 
Edge and 5G: What is in it for the developers?
Edge and 5G: What is in it for the developers?Edge and 5G: What is in it for the developers?
Edge and 5G: What is in it for the developers?
 
5G and Open Reference Platforms
5G and Open Reference Platforms5G and Open Reference Platforms
5G and Open Reference Platforms
 
De-fogging Edge Computing: Ecosystem, Use-cases, and Opportunities
De-fogging Edge Computing: Ecosystem, Use-cases, and OpportunitiesDe-fogging Edge Computing: Ecosystem, Use-cases, and Opportunities
De-fogging Edge Computing: Ecosystem, Use-cases, and Opportunities
 
Building the SD-Branch using uCPE
Building the SD-Branch using uCPEBuilding the SD-Branch using uCPE
Building the SD-Branch using uCPE
 
Enabling Multi-access Edge Computing (MEC) Platform-as-a-Service for Enterprises
Enabling Multi-access Edge Computing (MEC) Platform-as-a-Service for EnterprisesEnabling Multi-access Edge Computing (MEC) Platform-as-a-Service for Enterprises
Enabling Multi-access Edge Computing (MEC) Platform-as-a-Service for Enterprises
 
Accelerating Edge Computing Adoption
Accelerating Edge Computing Adoption Accelerating Edge Computing Adoption
Accelerating Edge Computing Adoption
 
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
 
DPDK & Cloud Native
DPDK & Cloud NativeDPDK & Cloud Native
DPDK & Cloud Native
 
OpenDaylight Update (June 2018)
OpenDaylight Update (June 2018)OpenDaylight Update (June 2018)
OpenDaylight Update (June 2018)
 
Tungsten Fabric Overview
Tungsten Fabric OverviewTungsten Fabric Overview
Tungsten Fabric Overview
 
Orchestrating NFV Workloads in Multiple Clouds
Orchestrating NFV Workloads in Multiple CloudsOrchestrating NFV Workloads in Multiple Clouds
Orchestrating NFV Workloads in Multiple Clouds
 
Convergence of device and data at the Edge Cloud
Convergence of device and data at the Edge CloudConvergence of device and data at the Edge Cloud
Convergence of device and data at the Edge Cloud
 
Intel® Network Builders - Network Edge Ecosystem Program
Intel® Network Builders - Network Edge Ecosystem ProgramIntel® Network Builders - Network Edge Ecosystem Program
Intel® Network Builders - Network Edge Ecosystem Program
 
Design Implications, Challenges and Principles of Zero-Touch Management Envir...
Design Implications, Challenges and Principles of Zero-Touch Management Envir...Design Implications, Challenges and Principles of Zero-Touch Management Envir...
Design Implications, Challenges and Principles of Zero-Touch Management Envir...
 
Using Microservices Architecture and Patterns to Address Applications Require...
Using Microservices Architecture and Patterns to Address Applications Require...Using Microservices Architecture and Patterns to Address Applications Require...
Using Microservices Architecture and Patterns to Address Applications Require...
 
Intel Powered AI Applications for Telco
Intel Powered AI Applications for TelcoIntel Powered AI Applications for Telco
Intel Powered AI Applications for Telco
 
Artificial Intelligence in the Network
Artificial Intelligence in the Network Artificial Intelligence in the Network
Artificial Intelligence in the Network
 
Service Mesh on Kubernetes with Istio
Service Mesh on Kubernetes with IstioService Mesh on Kubernetes with Istio
Service Mesh on Kubernetes with Istio
 
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...
 

Recently uploaded

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

Packet Manipulator Processor: Smashing «Atomic» Actions