State-of-the-art approaches to design, develop and optimize software packet-processing programs are based on static compilation: the compiler’s input is a description of the forwarding plane semantics and the output is a binary that can accommodate any control plane configuration or input traffic. In this paper, we demonstrate that tracking control plane actions and packet-level traffic dynamics at run time opens up new opportunities for code specialization. We present Morpheus, a system working alongside static compilers that continuously optimizes the targeted networking code. We introduce a number of new techniques, from static code analysis to adaptive code instrumentation, and we implement a toolbox of domain specific optimizations that are not restricted to a specific data plane framework or programming language. We apply Morpheus to several systems, from eBPF and DPDK programs including Katran, Meta’s production-grade load balancer to container orchestration solutions such a Kubernets. We compare Morpheus to state-of-the-art optimization frameworks and show that it can bring up to 2x throughput improvement, while halving the 99th percentile latency.
Morpheus: A Run Time Compiler and Optimizer for Software Data Planes / Miano, Sebastiano; Sanaee, Alireza; Risso, Fulvio; Rétvári, Gábor; Antichi, Gianni. - In: IEEE-ACM TRANSACTIONS ON NETWORKING. - ISSN 1063-6692. - 32:3(2024), pp. 2269-2284. [10.1109/TNET.2023.3346286]
Morpheus: A Run Time Compiler and Optimizer for Software Data Planes
Fulvio Risso;
2024
Abstract
State-of-the-art approaches to design, develop and optimize software packet-processing programs are based on static compilation: the compiler’s input is a description of the forwarding plane semantics and the output is a binary that can accommodate any control plane configuration or input traffic. In this paper, we demonstrate that tracking control plane actions and packet-level traffic dynamics at run time opens up new opportunities for code specialization. We present Morpheus, a system working alongside static compilers that continuously optimizes the targeted networking code. We introduce a number of new techniques, from static code analysis to adaptive code instrumentation, and we implement a toolbox of domain specific optimizations that are not restricted to a specific data plane framework or programming language. We apply Morpheus to several systems, from eBPF and DPDK programs including Katran, Meta’s production-grade load balancer to container orchestration solutions such a Kubernets. We compare Morpheus to state-of-the-art optimization frameworks and show that it can bring up to 2x throughput improvement, while halving the 99th percentile latency.| File | Dimensione | Formato | |
|---|---|---|---|
| 
									
										
										
										
										
											
												
												
												    
												
											
										
									
									
										
										
											24-TON-Morpheus.pdf
										
																				
									
										
											 accesso aperto 
											Tipologia:
											2. Post-print / Author's Accepted Manuscript
										 
									
									
									
									
										
											Licenza:
											
											
												Pubblico - Tutti i diritti riservati
												
												
												
											
										 
									
									
										Dimensione
										1.98 MB
									 
									
										Formato
										Adobe PDF
									 
										
										
								 | 
								1.98 MB | Adobe PDF | Visualizza/Apri | 
| 
									
										
										
										
										
											
												
												
												    
												
											
										
									
									
										
										
											Morpheus_A_Run_Time_Compiler_and_Optimizer_for_Software_Data_Planes.pdf
										
																				
									
										
											 accesso riservato 
											Tipologia:
											2a Post-print versione editoriale / Version of Record
										 
									
									
									
									
										
											Licenza:
											
											
												Non Pubblico - Accesso privato/ristretto
												
												
												
											
										 
									
									
										Dimensione
										8.42 MB
									 
									
										Formato
										Adobe PDF
									 
										
										
								 | 
								8.42 MB | Adobe PDF | Visualizza/Apri Richiedi una copia | 
Pubblicazioni consigliate
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/11583/2984957
			
		
	
	
	
			      	