Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Research Paper Introduction #17 P4DNS in-Networ...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
cafenero_777
May 21, 2021
Technology
210
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Research Paper Introduction #17 P4DNS in-Network dns
https://eng.ox.ac.uk/computing/blogs/p4dns-wins-xilinx-open-hardware-2020-competition/
cafenero_777
May 21, 2021
More Decks by cafenero_777
See All by cafenero_777
#51 “Empowering Azure Storage with RDMA”
cafenero_777
3
600
#49 “Gray Failure: The Achilles’ Heel of Cloud-Scale Systems”
cafenero_777
2
190
#50 “Scalable Hierarchical Aggregation Protocol (SHArP): A Hardware Architecture for Efficient Data Reduction”
cafenero_777
0
180
#33 “Destroying networks for fun (and profit)”
cafenero_777
0
130
#34 “MTPSA: Multi-Tenant Programmable Switches”
cafenero_777
0
120
#37 “Bluebird: High-performance SDN for Bare-metal Cloud Services”
cafenero_777
1
200
#39 “Profiling a warehouse-scale computer”
cafenero_777
0
85
#23 “VFP: A Virtual Switch Platform for Host SDN in the Public Cloud”
cafenero_777
0
320
#24 “Ananta: Cloud Scale Load Balancing”
cafenero_777
0
380
Other Decks in Technology
See All in Technology
1万名の社員が使う認証基盤で どう信頼性を担保するか?
kairim0
0
160
DORA_Metrics.pdf
wagnerfusca
1
140
個別開発で終わらせない。 現場の課題をプロダクトの強さに変える StockmarkのFDE
ktkrhr
0
530
AIは爆速なのに、私が詰まっていた話 ― 音声入力と鳴くマスコットでボトルネックを削る
yama3133
0
230
顧客の成果創出とプロダクトの成長を 両立するためのFDE
sansantech
PRO
0
600
企業の現実世界をグラフで写し取る
sansantech
PRO
0
230
20260929_AmazonGuardDutyの検出通知メールにAWS DevOpsAgentの調査結果を追加する
yhana
1
410
「大丈夫そう?」をObservabilityで確かめる
mrmtsu
0
250
メルカリにおけるAI時代の高速プロトタイピング基盤「Arca」
ryotarai
18
14k
Execution in the Kingdom of Agents: Reflections on Abstraction and Complexity
bcantrill
0
640
「とりあえず動く」の先へ。 AI時代のチーム開発と内部設計/2026-slsdays
slsops
0
100
HacobuにおけるFDEとは/登壇資料(戸井田 裕貴)
hacobu
PRO
1
700
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Navigating Weather and Climate Data
rabernat
0
540
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.8k
We Have a Design System, Now What?
morganepeng
55
8.3k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
840
The Cost Of JavaScript in 2023
addyosmani
55
10k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
490
For a Future-Friendly Web
brad_frost
183
10k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
Are puppies a ranking factor?
jonoalderson
2
4k
Transcript
Research Paper Introduction #17 “P4DNS: In-Network DNS” ௨ࢉ#61 @cafenero_777 2020/12/10
Agenda • ରจ • ֓ཁͱಡ͏ͱͨ͠ཧ༝ 1. INTRODUCTION 2. BACKGROUND 3.
ARCHITECTURE 4. DATA PLANE 5. CONTROL PLANE 6. EVALUATION 7. DISCUSSION 8. RELATED AND FUTURE Work 9. CONCLUSION
$ which • P4DNS: In-Network DNS • Jackson Woodru ff
, Murali Ramanujam, Noa Zilberman • University of Cambridge • ANCS ’19 • EuroP4_2019 • https://p4.org/assets/EuroP4_2019/EuroP4-2019-slides-02.pdf • ຊମ • https://github.com/cucl-srg/P4DNS • OxfordͰͷIn-network computingݚڀϦετʢʁʣ • https://eng.ox.ac.uk/computing/projects/in-network-computing/
࠶ܝɿIn-network computing? • Endpointؒͷpath্ʹ͋ΔʢCPUҎ֎ͷʣ༷ʑͳϦιʔεcomputingʹ͓͏ɺσʔλΛத৺ʹߟ͑Α͏ɺͱ͍͏ • GPU (nodeGPUs, nodeؒGPUs) • NW
endpoint (NIC, SW) • HW acceleration (NW, RDMA, P4, SmartNIC) • ༻్ɿετϦʔϜॲཧɺKVS, ετϨʔδసૹΦϑϩʔυɺNWΦϑϩʔυɺଳҬʢover 100Gbpsʣ& ిྗޮԽ http://nowlab.cse.ohio-state.edu/static/media/workshops/presentations/exacomm17/exacomm17-invited-talk-gilad-shainer.pdf
֓ཁͱಡ͏ͱͨ͠ཧ༝ • ֓ཁ • In-network computingΛ͏ڥͱͯ͠ͷεέʔϥϒϧDNS • P4/NetFPGAΛͬͯDNSαʔόΛ࣮ɺSoftwareͱൺͯ52ഒੑೳ্ • C/D-planeͷτϨʔυΦϑΛٞ
• ಡ͏ͱͨ͠ཧ༝ • P4ͷར༻ࣄྫΛΓ͔ͨͬͨ • IN-Network ArchitectureͱͷؔੑʢͷҰྫʁʣ
1. Introduction • NWधཁͷ૿Ճ -> programable NWͰscalability֬อ -> HW o
ffl oad • NW͚ͩͰͳ͘ΞϓϦέʔγϣϯo ffl oad͍ͨ͠ • ΠϯϑϥΞϓϦέʔγϣϯ (in-network application)ͱͯ͠DNSΦϑϩʔυΛࢼ͍ͨ͠ • P4-NetFPGAΛ͍ɺσόΠεͰαʔϏε݁ͤ͞Δ • https://github.com/cucl-srg/P4DNS • ΞʔΩςΫνϟɾD-plane࣮ɾC-planeઃܭ • P4ͱͷɺC-planeͱͷ࿈ܞ • ͦΕͰಋೖΛ᪳ • C/D-planeʹ͍ͭͯͷ՝Λਫ਼ࠪ • ຆͲͷC/Dʢisolation/manageability/։ൃ༰қੑʣΛ
2. Background • DNSύέοτϑΥʔϚοτ • Request/ResponseͰڞ༻ • υϝΠϯ໊: ࠷େ255ΦΫςοτ •
ϦΫΤετλΠϓΛࢦఆ • هɾ্ॻ͖ͯ͠ฦ͢ • ࠶ؼత͍߹Θͤ • RFC1034, RFC1035
3. Architecture (1/2) • P4DNSͷσβΠϯ • ϨϕϧʢػೳͳʣωʔϜαʔόΛࢦ͢ • Snoopͯ͠ϨεϙϯεΛฦ͢ʢܦ࿏্ʹಁաతʹೖΕࠐΉɻϢʔβʹؾ͔ͮΕͳ͍ʣ •
Ωϟογϡ͞Εͯͳ͚Ε࠶ؼతղܾɺͦ͏Ͱͳ͚Ε௨ৗͷSWతʹసૹ • ੑೳ֓ཁ • εϧʔϓοτ52ഒ (NSDൺ), 10ഒ (Emuൺ)ɺதԝͱTail-latencyͷࠩ30ns • D/C-plane౷߹͔ͨ͠Βੑೳྑ͍ʁ • ಛ • DNS௨৴Ҏ֎ී௨ʹSwitching/Forwarding͢Δ • AϨίʔυΫΤϦՄมʹରԠ • DNS cacheߋ৽ͱTTLཧ • ࠶ؼ߹ͤϚϧνεϨουͰɻ • Match-action pipelineʹ߹Θͳ͍ͷC-planeͰॲཧͯ͠ϘτϧωοΫճආ https://p4.org/assets/EuroP4_2019/EuroP4-2019-slides-02.pdf
3. Architecture (2/2) • MACͷֶश • ࠶ؼ߹ͤɺΩϟογϡϛεεϨουੜͯ͠C-plane • C-plane֤DͷTTL/CacheཧɺΤϯτϦཧ •
P4ར༻͚ͩͰෆՄೳ • D-planeύϑΥʔϚϯεϝΠϯɺparser/match-action pipeline w/ exact match table • NetFPGA SUME্ʹP4DNSΛ࣮ɻP4 -> NetFPGA on Switch • Ҡ২༰қʢΒ͍͠ʣ
4. Data Plane (1/2) • Parser: • DNSύέοτͷΈDNSϔομΛநग़ • ՄมͳύέοτP4ίϯύΠϥతʹະαϙʔτ
• Ίʹ֬อͯ͠zero- fi ll • Main Action • ϔομ͔ΒDNSϨεϙϯε͕ඞཁ͔அ • Cacheʹ͋ΕϔΞϐϯ • Deparser • ύέοτ࠶ߏஙͯ͠์ग़ C-plane
4. Data Plane (2/2) • Limitation and Challenge • Parser/Actionͷ؆ུԽɿίϯύΠϧ࣌ؒͱFPGAϦιʔεͱͷτϨʔυΦϑ
• ϒʔϧϩδοΫʢਅཧදʁʣΛΘͳ͍ • DNS໊ࣗମ͕FPGAͰѻ͍ʹ͍͘ʢCݴޠͷforͰѻ͍͍͢ʣ • Ҡ২ੑΛ٘ਜ਼ʹͯ͠externΛͬͨ
5. Control Plane • DMA͔Βड৴ͨ͠ύέοτΛॲཧ͢ΔεϨου(pythonͰͷฒྻॲཧ) //ӈਤͷ௨Γ • Ωϟογϡߋ৽͕ओͳత • DNS
response͕௨աͨ࣌͠ • ࠶ؼΫΤϦԠड৴࣌ • TTLߋ৽࣌ (SW/HW྆ํʹอ࣋) • ઃܭ্ͷ՝ • ฒߦॲཧ (concurrent)Ͱڞ༗HWϦιʔεڝ߹ͰϘτϧωοΫ • P4 -> NetFPGA͕ΞτϛοΫͰͳ͍ɺεϨουηʔϑͰͳ͍ʢʂʣ • ϩοΫͰճආɺσουϩοΫා͍ • ྫɿTTL=0సૹ͢Δલʹআ͍ͨ͠ɺ͕ɺͦͷ࣌ʹΫϥογϡ͢ΔͱҰ؏ੑΛࣦ͏ • SDNet API: HW tableॻ͖ࠐΈ࣌ʹsilent fail • ScapyͰύέοτॲཧɻύέοτ͕࣮ࡍͷwire্ͱҟͳΔṖόΫ • ݪҼDNSѹॖʢϝοηʔδѹॖʣɺScapy͕”ʹ”ղౚͯ͘͠ΕͨɻղౚࢭύονΛͯͨɻ
6. Evaluation (1/2) • ΩϟογϡԠʹ͍ͭͯɺP4DNSͱNSD/Emuͱൺֱ • Setup • ޫλοϓͰϛϥʔϦϯάɺΩϟϓνϟΧʔυͰ࣌ؒଌఆ •
RequestͱResponseͷ͕ࠩΫϥΠΞϯτͷͪ࣌ؒ • OSNT: OSS tester, DNSύέοτੜ༻ • NSD: Intel Xeon E5-2637 v4 3.50GHz, 64GB RAM, Solar fl are SFC9220 10G NIC Server Client TX RX Capture
6. Evaluation (2/2) • Throughput • OSNTͰ1000ສ݅ͷ64B DNSΫΤϦੜ • ॲཧ͔࣌ؒΒThroughputΛܭࢉ
• NSDͷ52ഒɺEmuͷ10ഒྑ͍ • Latency • 1000ύέοτૹ৴࣌ͷlatency • 1.6usఔɻͱͯ͘ɺύέοταΠζͰͷӨڹۃখ • match-actionͷεςʔδΛ૿͢ͱlatency૿ • SDNetʢίϯύΠϥʣͷόʔδϣϯΛ্͛Δͱվળ͞ΕΔ༧ఆ • ௨ৗͷDCͷଟஈεΠονߏʹֻ͔ΔlatencyίετΛഉআ • NSD/Emuൺֱ • P4DNS”ͬͱར༻͞ΕΔػೳ”ͷݶఆ࣮ɻޮॏࢹɻͦͷͨΊNSDͱػೳڝ߹͠ͳ͍ɻ • Emuݶఆ࣮Λ൚༻Խͨͨ͠ΊػೳʢखಈͰͷυϝΠϯ໊બʣ͔ͭඇύΠϓϥΠϯɻ 10G wire-rate 1.6us
7. Discussion • P4 -> NetFPGA3ͰՄมϑΟʔϧυΛαϙʔτ͍ͯ͠ͳ͍ • ΑΓγϯϓϧͳΒͬͱෳࡶͳ͜ͱͰ͖ͦ͏͕ͩɺɺʁ • CݴޠελΠϧʹґଘ͗͢͠ʂʢnullऴจࣈྻܗࣜͳͲʣ
• extern (֎෦ϑΝΠϧґଘʹϥΠϒϥϦ)ʹڧ͘ґଘɻP4͚ͩͰॻ͚ͳ͍ɺɺ • Control plane͍ • D-planeͰͷγϯϓϧͳϨεϙϯεΛฦ͢͜ͱҎ֎͍ʹҙ • TCP-based DNSαϙʔτͰ͖ͳ͍
8 Related and future work • In-network computingͰϗετෛՙݮ • cachingɾࢄγεςϜػೳɾstreamॲཧ
• P4DNS • programable switchʹҠ২Ͱ͖Δ • طଘͷϓϩτίϧʢDNSʣΛͦͷ··ॲཧͰ͖Δ • ػೳੑEmuΑΓྑ͍ɺੑೳNSDΑΓྑ͍ • future work • ΑΓେ͖ͳcacheͷαϙʔτ • ϦμΠϨΫτΛ͏NSԠʢϥϕϧ୯ҐͷυϝΠϯϚονϯά ʣͷαϙʔτ • DNSSEC, DoH (DNS over HTTPS)ͳͲ͏·͘౷߹͍͖͍ͤͯͨ͞
9. Conclusion • P4DNS • hostͷۙ͘Ͱॲཧɾฦ͢Δ͜ͱͰੑೳ (latency, throughput) ͷେ෯վળ •
= in-network computing! • NSDൺͰ52ഒɺEmuൺͰ10ഒ • εΠονͰNW/caching/Appͷػೳ͕ಈ࡞ͤ͞Δ͜ͱ͕Ͱ͖ͨ • Parserʢlogic areaతͳʣϦιʔεΛ৯͏ͷͰ͕ඞཁ • stateཧ͕HWઃܭΛ੍ݶ͍ͯ͠ΔʢͷͰɺC-planeͱͯ͠֎ʹग़ͨ͠ʣ • ߋʹεέʔϧͤ͞Δʹඞཁ
EoP