26 June 2017 2:00 PM (igalia | networking | p4 | compilers | snabb | vpp)
Happy midsummer, hackfriends!
As you know at work we have been trying to find ways to apply compilers technology to the networking space. We will compile high-level configurations into low-level network processing graphs, search algorithms into lookup routines optimized for the target data structures, packet filters into code ready to be further trace-compiled, or hash functions into parallel AVX2 code.
On one side, we try to provide fast implementations of existing "languages"; on the other side we can't help but try out new co-designed domain-specific languages that can be expressive and run fast. As an example, with pfmatch we extended pflang, the tcpdump language, with a more match-action kind of semantics. It worked fine but the embedding between pfmatch and the host language could have been more smooth; in the end the abstractions it offers don't really apply to what we have needed to build. For a long time we have been wondering if indeed there is a better domain-specific programming language to apply to the networking domain.
P4 claims to be this language, and I think it's worth a look. P4's goal is be able to define switches and other networking equipment in software, with the specific goal that they would like to be able for P4 programs to be synthesized to ASICs, or installed in the FPGA of a "Smart NIC", or compiled to CPUs. It's a wide target domain and the silicon-bakery side of things definitely constrains what is possible. Indeed P4 explicitly disclaims any ambition to be a general-purpose programming language. Still, I think they manage to achieve an admirable balance between declarative programming and transparent low-level compilability.
The best, most current intro to P4 out there is probably Vladimir Gurevich's slides from last month's P4 "developer day" in California. I think it does a good job linking the language's syntax and semantics with how they are intended to be applied to the target domain. For a more PL-friendly and abstract introduction, the P416 specification is a true delight.
Like I said, at work we build software switches and other network functions, and our target is commodity hardware. We write most of our work in Snabb, a powerful network toolkit built on LuaJIT, though we are branching out now to VPP/fd.io as well, just to broaden the offering a bit. Generally we try to build solutions that don't have any dependencies other than a commodity Xeon server and a commodity NIC like Intel's 82599. So how could P4 help us in what we're doing?
My first thought in this regard was that if there is a library of P4 building blocks out there, that it would be really convenient to be able to incorporate a functional block written in P4 within the graph of a Snabb program. For example, if we have an IPFIX collector written in Snabb (and we do!), it would be cool to stick that in the middle of a P4 traffic conditioner.
(Immediately I run into the problem that I am straining my mind to think of a network function that we wouldn't rather just write in Snabb -- something valuable enough that we wouldn't want to "own" it and instead we would import someone else's black box into our data-plane. Maybe this interesting in-network key-value cache counts? But I digress, let's assume that something exists here.)
One question is, why bother doing P4 in software? I can understand that if you have 1Tbps ports that you definitely need custom silicon pushing your packets around. You would like to be able to program that silicon, so P4 looks to be a compelling step forward. But if your needs are satisfied with 40Gbps ports and you have chosen a software networking solution for its low cost, low lock-in, high flexibility, and sufficient performance -- well does P4 buy you something?
Right now it would seem that the answer is "no". A Cisco group wrote a custom P4 compiler to VPP, which is architecturally pretty much the same as Snabb, and they had to do some work to get the performance within a couple percent of the hand-coded application. The only win I can see is if people start building up libraries of reusable P4 components that can be linked together -- but the language itself currently doesn't support any more global composition primitive than #include (yes, it uses CPP :).
Additionally, at least as things are now, it doesn't seem that there's a library of reusable, open source P4 components out there to take advantage of. If this changes, I'll have to have another look. And of course it's worth keeping an eye on what kinds of cool things people are building :)
Thanks to Luke Gorrie for conversations leading to this blog post. All opinions and errors mine, of course!
30 June 2017 7:48 AM
Thanks for sharing this nice resource. It's really interesting. Keep up the good work and keep updating the same.
8 September 2017 7:09 AM
In touch with their friends while some have had the luck use Facebook as a way for them to reach their the facebook site.
24 October 2017 6:07 PM
That's great news for developers, P4 looks very interesting. I will try to take a look at some tutorials whenever I have the time. Programming is a great way to improve your memory, I recommended it to many people.
8 November 2017 2:51 PM
Thank you
13 April 2018 3:28 PM
Thank you for sharing this nice resource. It's really interesting. Keep up the good work and keep updating the same.
14 May 2018 11:09 AM
Your ability to write is amazing. an awesome article ought to include all relevant statistics for the subject in a gentle way in order that readers can get your thought off without problems. In this text, you arranged all your thoughts in a nice way. I'm really inspired with this. I like to ship your website to get top subjects to examine. nearly have all your posts, and this one is satisfactory. this newsletter defined the thoughts in a thrilling way. keep the same first-rate in the rest of the posts, that's the nice issue I've from your articles.
1 August 2018 6:24 AM
This flexibility conceivably brings about cost-effectiveness, enabling systems administration organizations to purchase equipment segments specifically from unique makes, without depending on an outsider. Chip providers in their turn would prefer not to miss the prepare and put into help of P4 to remain in the game.
4 August 2018 4:29 AM
Software-defined networking is an engineering implying to be dynamic, reasonable, manageable, cost-effective, and adaptable, trying to be appropriate for the high-transmission capacity, dynamic nature of the present applications. SDN structures decouple organize control and sending capacities
3 September 2018 2:43 PM
This is a nice book to celebrate learning to read. It has a positive attitude. However, it failed to hold the interest of my 5-year-old and it's moved to the bottom of our book pile
24 September 2018 9:59 AM
Free amazon gift cards.
26 September 2018 10:00 AM
P4 is a great software. You won't be disappointed when using it.
16 October 2018 6:36 AM
Get best assignment help.
30 October 2018 9:31 AM
Looking for someone write my assignment here are Expert Allassignmenthelp well efficient and capable of creating unique assignments for students .Assignment Help is a term which is best for students help, they can easily get help for their assignments online.
31 October 2018 9:43 AM
Thanks my friend this is great and fantastic topic also is helpful i love this weblog so much.
1 November 2018 9:37 AM
That's great news for developers, P4 looks very interesting. I will try to take a look at some tutorials whenever I have the time. Programming is a great way to improve your memory, I recommended it to many people.
4 November 2018 10:47 AM
That's great news for developers, P4 looks very interesting. I will try to take a look at some tutorials whenever I have the time. Programming is a great way to improve your memory, I recommended it to many people.
22 March 2019 8:28 AM
Glad to find here quality piece of content on software networking which are really helpful guidance for IT learners. Keep sharing.
Ida,http://www.assignmenthelpfolks.com/essay-writer/
15 April 2019 12:00 PM
If you are confused that how to sell tickets online checkout yapsody
https://www.yapsody.com/ticketing/
15 April 2019 12:00 PM
Websites that charge their users a listing fee when they want to sell tickets online means that consumers and visitors to the website will deem the listing to sell tickets online is more trustworthy which brings along more potential buyers.https://www.yapsody.com/ticketing/
13 May 2019 3:55 PM
I appreciate the content of this article , it explain more details of information, this is so cool! Keep it up!
18 May 2019 7:32 AM
This Is Really A Great Stuff For Sharing. Keep It Up .Thanks For Sharing.
27 May 2019 3:07 PM
If you are one of those who struggle with comparison and contrast essay writing, today is your happiest day! Order-Essay.org is a perfect solution for all the students who need academic assistance because our reputation speaks for itself. We guarantee excellent quality for the affordable price.
31 May 2019 5:19 AM
I enjoyed reading your articles. This is truly a great read for me.
14 June 2019 8:46 PM
Thanks for sharing! I enjoyed reading this article.
17 June 2019 1:08 PM
Ludo Game is a very interesting game and so many new features in new ludo games, you can try to ludo game and enjoy the new features of Ludo games.
23 June 2019 5:10 PM
Thanks for sharing! Want to know more about academic paper format? When you use accepted formatting standards in an academic paper it shows you understands the customary practices of the academic community. This is, therefore, a great way of boosting your own academic credentials and credibility.
26 June 2019 9:36 AM
Writing research papers can be a challenge to most students, especially where the lecturer expects a well-polished research paper from the student. So, if you want to have the best life and not to put aside all the fun and activity in it, take a chance to have every opportunity right now.
9 July 2019 8:22 AM
Hi there, I found your blog via Google while searching for such kinda informative post and your post looks very interesting for me
20 September 2019 12:34 PM
Every company should have write ups like this. This is incredible.g.page/cincinnati-roofing?share
7 October 2019 4:21 PM
Hi there, I found your site by the use of Google while looking for a comparable topic, your website came up, it appears to be like good. I've bookmarked it in my google bookmarks.
Hi there, just was aware of your weblog thru Google, and located that it is really informative. I am gonna watch out for brussels. I will be grateful in case you proceed this in future. A lot of folks will probably be benefited out of your writing. Cheers!
http://hotmailsignin-account.com/
9 October 2019 9:20 AM
Awesome blog. I enjoyed reading your articles.
16 October 2019 3:39 AM
This is utterly surprising! Ran'D Shine - Magician in Philadelphia
19 October 2019 6:44 AM
Seek Aid is the platform that allows you to support a cause of your choice from the NGOs that have been evaluated for transparency and credibility. Seek Aid is the World’s largest and trustworthy giving platform for donors.
22 October 2019 2:43 PM
hey there if you are interested in website or app development Hivemind
https://wearehivemind.com
29 October 2019 8:18 AM
You would like to be able to program that silicon, so P4 looks to be a compelling step forward. But if your needs are satisfied with 40Gbps ports and you have chosen a software networking solution for its low cost
30 October 2019 8:17 PM
Having read this I believed it was extremely enlightening. I appreciate you finding the time and effort to put this short article together.
I once again find myself personally spending a lot of time both reading and commenting. But so what, it was still worth it!
31 October 2019 5:46 AM
yep, bit old but still interesting content here
6 November 2019 11:41 AM
I'm really impressed about the info you provide in your articles. I must say am highly overwhelmed by your whole story. It's not easy to get such quality information online nowadays. I look forward to staying here for a long time.
7 November 2019 10:35 AM
Great Information,It Has Lot For Stuff Which Is Informative.I Will Share The Post With My Friends.
9 November 2019 10:30 AM
This is additionally a generally excellent post which I truly appreciate perusing. It isn't regular that I have the likelihood to see something like
this.
11 November 2019 3:46 AM
Welcome back to one of the world’s most intense mazes. Will you reach each one of the checkpoints in this epic action game? You’ll need to watch out for everything from moving platforms to bottomless pits!
14 November 2019 8:20 AM
An early look for the Software Networking.. What a great extent you have raised this. :D
20 November 2019 2:32 AM
Generally I don’t read post on blogs, but I would like to say that this write-up very forced me to try and do it! custom car Orlando
23 December 2019 5:02 AM
Katch International is delighted to be supporting the launch of Lewis Hamilton's first plant-based sustainable burger chain,
Neat Burger, with our next-level global PR, project management and integrated communications services At Katch, we pride ourselves on being...
Social media and Communications Agency in Dubai
23 December 2019 11:26 PM
Nice
24 December 2019 6:48 AM
awesome
Thank you for sharing
https://swagbell.in/collections/first-copy-watches
28 December 2019 10:21 AM
This is very good news for developers of p4. I will also download this software then I will share with you about its result.
https://www.theacademicpapers.co.uk/masters-dissertation-help.php
28 December 2019 10:23 AM
This is very good news for developers of p4. I will also download this software then I will share with you about its result.Masters dissertation writing service
24 January 2020 1:04 PM
Something to know about software networking.
25 January 2020 9:30 AM
This strong indica helps patients to gain some mental peace and unwind from a stressful day. This strain's aroma is bright and buttery, exhibiting sweet notes from both its parents.
10 February 2020 3:26 AM
Your article content is being very much interested, I am very impressed with your post. I hope to receive more great posts.
19 February 2020 6:21 AM
Calyx OG (also known as Calyx OG #3) is a balanced 50/50 hybrid from Calyx Garden. Dark Horse Genetics bred this strain from OG Kush and Strawberry Diesel, and its heritage can be found in its diesel aroma with sweet undertones.
10 March 2020 11:27 PM
This article has a lot of useful information in it that I think Im' going to use.
22 March 2020 9:30 AM
Can't wait to see more
24 March 2020 8:21 AM
really intresting basic deep knowlledge in software networking for p4
26 March 2020 7:22 PM
amazing content
19 April 2020 10:23 AM
We offer all Executive Cars on Rent for
Daily, Weekly and Monthly Bases Bahria Town Rawalpindi / Islamabad Contact Us for rent a car islamabadrent a car islamabad
30 April 2020 12:47 PM
You are mighty proud of that essay you finally championed last night. With editing and proofreading done to perfection, what stands in the way of your securing an A+ on your essay? Yeah, you guessed it right. The last hurdle to overcome before you can turn in the best essay you have written in ages is the task of creating a list of references in MLA style.
The digital era has automated the entire process. Hence we present the finest MLA Referencing and Citation Generator that lets you customise your list instantly. And you know what the best part is? MLA Referencing generator is absolutely free at Allessaywriter.com.
7 May 2020 4:41 AM
Your share is the great knowledge I have gathered, you are an important person I admire, thank you
12 May 2020 10:38 AM
This site is excellent and so is how the subject matter was explained. I also like some of the comments too. Waiting for the next post.
23 May 2020 12:34 PM
I 'm an A student because of your assistance!
Thank you for saving me during difficult times and helping me maintain my present GPA standing. More gradesfixer reviews here.
23 May 2020 5:52 PM
I usually use Reddit when I want to learn more about the issue. However, I noticed that even Reddit is not almighty. For example, I was looking for feedback on TrustMyPaper, but couldn't find at least one on Reddit. It seems that nobody even created trustmypaper reddit topic yet. Unbelievable!
1 June 2020 2:50 PM
Anyone can write a couple of lines on a random topic. However, making complete assignments arbitrarily, without any preparation on a topic, is tough. And that is when students need professional study helpers to guide them. Visit MyAssignmenthelp.com if you need study supporter in Malaysia and get rid of the dilemmas of preparing assignments.
Here’s how our veteran writers put their best foot forward to craft assignments-
Researchers include updated ideas for every topic which seems tricky to you. We have solutions readily available for you. Our in-house researchers are well-versed with the day-to-day industry occurrences and accumulate those in the assignments. Need study expert? Consider us as the most trusted source for getting information rich assignments.
Our writers curate papers from scratch to ensure zero repetition and plagiarism. If you need online study material helpers who can draft papers and ensure the best grades against it, we are the one-stop destination for that. We have hired only native and PhD-qualified assignment writers in our team to ensure services to those who need study writer online.
In-house proofreaders and editors confirm technical flawlessness of the assignment that our writers have made. Hurried assignment preparation may have left some loose ends in the assignment. However, with editors and proofreaders in our team providing study help, remain assured of complete flawlessness in the paper. From rectifying contextual flaws to ensuring grammatically accurate papers, you can expect all with just one click.
6 July 2020 10:24 AM
LOTTO PLUS 2 is exactly the same as LOTTO, but gives the player a third chance to win.
10 July 2020 12:54 PM
Get best future predictions related to Marriage, love life, Career or Health over call, chat, query or report. With Astrogurutips you can get the best online astrology services in the comfort of your home. astrology prediction tips
27 August 2020 2:26 PM
RailsCarma offers end-to-end Ruby on Rails development services.
https://www.railscarma.com/
10 September 2020 1:14 PM
Thanks, you guys that is a great explanation. keep up the good work in your granite blog.
12 September 2020 11:26 AM
ntresting to know deep knowledge in software networking
14 September 2020 2:11 PM
Are you looking for Do my International Law assignment services? Well, in that case, you have to take advantage of the expertise of our International Law Assignment Writers. International law, also called public international law or the law of nations, is a set of laws, benchmarks, and standards accepted in connection with nations. Moreover, international laws are set up to negotiate strictly with problems that would personally affect countries, on the whole, moderately targeting on the authority of the distinctive citizens that reside in those nations. An important part of international law is cited as consent-based governance. The meaning of this citation is that the state is not bound to put up with the laws except that it has given its approval to the particular scheme of action. However, many such attributes are not at all consent-based but are still pursued by the countries.
22 October 2020 1:36 PM
We suggest you give longer cutoff times to each assignment however are equipped for finishing your assignment inside 24 hours. We don't exploit the real cutoff time referenced in the prerequisites and guarantee that our specialists additionally have an equivalent methodology. We don't unveil the real accommodation cutoff time of our understudies to the specialists related by us. It is done so as to dispose of postponement in conveyance of assignments driving the understudies to miss his genuine cutoff time or to be punished for delay. This is accomplished by having a group of topic specialists set up who have significant experience, exceptionally qualified and have satisfactory pragmatic experience which enormously decreases the time expected to attempt research accordingly taking into consideration assignments to be set up on critical premise.
23 October 2020 1:41 PM
Love marriage is quite common now. However still sometimes problems occur in love marriages due to parents disapproval, societal norms, etc. Below is the answer for the combination of love marriage in astrology.
4 November 2020 12:54 PM
This is my first time hearing this software networking. I want to learn more about it and hoping you post more topic soon.
3 December 2020 9:09 AM
thank you for this!!!!
3 December 2020 9:10 AM
You have written an amazing article!!!1
3 December 2020 9:11 AM
It's really an interesting one. Keep writing!!!
15 December 2020 12:52 PM
Talkokay is a wonderful online voice chat app. With Talkokay free voice chatting app, you can have a voice chat with millions of people and have a voice talk with talented or humorous people from different countries at any time anywhere. Talkokay has a great number of interesting features more than just audio calling app. This is a free audio calling app that will enable you to make friends from all over the world in less than 30 seconds.
15 December 2020 3:54 PM
Thanks for this info! We at Project Paint appreciate your efforts!
15 December 2020 3:57 PM
Content is King!
15 December 2020 3:57 PM
Content is King!
30 December 2020 5:02 PM
The dawn of software defined networking (SDN) ushered in an era of disaggregation of the networking control plane from the data plane; management of the network was no longer bound to the networking hardware it ran on.
2 January 2021 8:58 PM
I’m really happy to say it was an interesting post to read. I learned new information from your article, you are doing a great job. Replica Watches In India
8 January 2021 9:25 AM
Artificial fragrances are designed to cover up the smell of other chemicals used in traditional health and beauty products.
8 January 2021 9:26 AM
Artificial fragrances are designed to cover up the smell of other chemicals used in traditional health and beauty products.