The Linux Foundation Projects
Skip to main content
BlogUncategorized

Magma: Taking a Systems Approach to Mobile Networking

By November 28, 2022No Comments
By Bruce Davie

 

My day job for the last couple of years has been to write, edit, update and publish a series of books that take a “Systems Approach” to topics in networking. Most recently, I’ve been working with Larry Peterson on an updated book on 5G networks, while also writing blogs and other papers about Magma. I also co-authored, with several members of the Magma engineering team, a paper that was accepted for publication at NSDI ‘23 (pre-print here). All of this has shown me that mobile networks are both quite complex and full of jargon, making it easy to get lost in the weeds. Drawing out the systems principles is a challenge, which I’ll try to tackle in this post.

First of all, what do I mean by the “Systems Approach”? The term is used commonly by computer science researchers and practitioners who study the issues that arise when building complex computing systems such as operating systems, networks, distributed applications, and so on. The key to the systems approach is a “big picture” view – you need to look at how the components of a system interact with each other to achieve an overall result, rather than fixating on a single component (either unnecessarily optimizing it or trying to solve too many problems in that one component). The End-to-End Argument, often cited by networking people, is a landmark paper for systems thinking.

Rigid layering can be an impediment to systems thinking in networking–something that was pointed out by David Clark (of End-to-End fame) in his foreword to the first edition of our networking textbook. I’ve written previously about the value of rethinking protocol layers. In the standard descriptions of mobile networks, there is an analogous tendency to use a box-level view with precise specifications of all the interfaces between boxes, as illustrated in the figure. It’s a bit more free-form than layering, but it still constrains our thinking. If we think that the main job of a mobile network is to implement all those boxes and the interfaces between them–which is what the 3GPP specifications tell us–then it is hard to take a system-level view of the mobile network.