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
高速なBitTorrent DHTクローラ
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Keichi Takahashi
June 09, 2016
Programming
650
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
高速なBitTorrent DHTクローラ
Keichi Takahashi
June 09, 2016
More Decks by Keichi Takahashi
See All by Keichi Takahashi
先進高性能計算基盤システム講座 研究室紹介
keichi
0
570
NISQ時代を見据えたバッチ型量子回路シミュレータの開発
keichi
0
53
Performance analysis of mdx II: A next-generation cloud platform for cross- disciplinary data science research
keichi
0
110
Modernizing an Operational Real-time Tsunami Simulator to Support Diverse Hardware Platforms
keichi
0
210
Prototype of a Batched Quantum Circuit Simulator for the Vector Engine
keichi
0
220
ベクトル型スーパーコンピュータ「AOBA-S」の性能評価
keichi
0
840
Implementation and Application of High-Performance Empirical Dynamic Modeling
keichi
0
260
Performance Evaluation of a Next-Generation SX-Aurora TSUBASA Vector Supercomputer
keichi
0
750
Accelerating Empirical Dynamic Modeling using High Performance Computing
keichi
0
1k
Other Decks in Programming
See All in Programming
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
190
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
780
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
210
外から家のPCの電源入れたい!をPHPで解決する
kawashimo0
1
130
R8 の設定見直しでアプリサイズ削減
andpad
0
210
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
170
Ghostty + Neovimで作る 透明でカッコ良い開発環境
j341nono
0
170
気持ちぃ〜角丸 Squircle
ryu1013
0
290
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
150
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
8
5.7k
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
970
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
210
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
260
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.4k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
WENDY [Excerpt]
tessaabrams
14
40k
KATA
mclloyd
PRO
35
16k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
エンジニアに許された特別な時間の終わり
watany
109
250k
Unsuck your backbone
ammeep
672
58k
Skip the Path - Find Your Career Trail
mkilby
1
250
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
540
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
430
Transcript
ߴͳ#JU5PSSFOU%)5Ϋϩʔϥ ݄ શମྠߨϑϦʔτʔΫ Լᑍݚ%ߴڮܛஐ
#JU5PSSFOU w ੈք࠷େͷ11ϑΝΠϧڞ༗ιϑτΣΞ ‣ ৗ࣌ສਓʙສਓͷΦϯϥΠϯϢʔβ ‣ ԯສਓͷΞΫςΟϒϢʔβ
w ༷ʑͳԠ༻ྫ ‣ #JU5PSSFOU4ZOD 11൛%SPQCPY ‣ ΦϯϥΠϯήʔϜͷΞοϓσʔτͷ৴ $"1$0. #MJ[[BSE ʜ ‣ Ϋϥελʹ͓͚ΔΞϓϦέʔγϣϯͷσϓϩΠπʔϧɾ ڞ༗ϑΝΠϧγεςϜͱͯ͠
#JU5PSSFOUͷΈ %)5ແ 5PSSFOUϑΝΠϧ ݕࡧΫΤϦ ϐΞऔಘϦΫΤετ ϐΞใ ϐʔεϦΫΤετ ϐʔε 4FFE1FFS
5SBDLFS *OEFYJOH8FCTJUF
%JTUSJCVUFE)BTI5BCMF %)5 w )BTI5BCMF ‣ Ωʔ͔ΒޮతʹΛݕࡧͰ͖Δσʔλߏ w %JTUSJCVUFE)BTI5BCMF ‣ σʔλΛෳͷίϯϐϡʔλ্ʹࢄ͢Δ)BTI5BCMF
w ैདྷͷ#JU5PSSFOUͷऑ ‣ 5SBDLFS͕ఀࢭ͢ΔͱɺϐΞͷใͷ୳ࡧ͕Ͱ͖ͳ͘ͳΓɺ μϯϩʔυɾΞοϓϩʔυෆೳʹͳΔ ‣ ϐΞ͕૿Ճ͢Δͱ5SBDLFS͕ϘτϧωοΫʹͳΓ͏Δ w #JU5PSSFOU.BJOMJOF%)5 ‣ ϐΞͷใΛ%)5ʹอଘ͢Δ͜ͱͰɺোੑͱεέʔϥϏϦςΟ Λ্
#JU5PSSFOUͷΈ %)5༗ 4FFE1FFS%)5/PEF %)5ʹࢀՃ ϐΞใऔಘ ϐʔεऔಘ
#JU5PSSFOU.BJOMJOF%)5ͷΈ w ,BEFNMJBΛϕʔεʹͨ͠%)5 ‣ CJUͷΞυϨεۭؒ ‣ 903ܭྔͱͰΞυϨεۭؒΛߏԽ w %)5ϊʔυؒ,31$ͱ͍͏ϓϩτίϧͰ௨৴ ‣
6%1্ͷඇಉظతͳϓϩτίϧ w QJOH pOE@OPEF HFU@QFFS BOOOPVODF@QFFSͷछͷϝοηʔδ ‣ QJOH JE ϊʔυͷੜࢮΛ֬ೝ ‣ pOE@OPEF JE UBSHFU UBSHFUʹۙͦ͏ͳϊʔυΛऔಘ ‣ HFU@QFFS JE JOGPIBTI JOGPIBTIΛ͍࣋ͬͯͦ͏ͳϐΞΛऔಘ ‣ BOOPVDF@QFFS JE JNQMJFE@QPSU JOGP@IBTI QPSU UPLFO ϐΞͷμϯϩʔυΛΞφϯε
#JU5PSSFOU%)5ͷΫϩʔϥ w ͳͥͭ͘Δ͔ ‣ #JU5PSSFOUͱ%)5ͷཧղΛਂΊΔ ‣ Ϋϩʔϥͷઃܭɾ࣮ٕज़Λशಘ͢Δ ‣ Ԡ༻
#JU5PSSFOUωοτϫʔΫͷࢹɾੳ ྲྀ௨͍ͯ͠Δ5PSSFOUใͷऩू ‣ ָ͍͔͠Β w ͳʹΛͭ͘Δ͔ ‣ %)5ʹࢀՃ͍ͯ͠ΔϊʔυΛҶͮΔࣜʹ୳ࡧ͍ͯ͘͠Ϋϩʔϥ ‣ ͨͩ࡞Δ͚ͩͰ໘ന͘ͳ͍ͷͰɺΫϩʔϦϯάΛۃΊΔ
ઌߦݚڀ 1 DHTの迅速で膨大なモニタリング : 24時間以内に 1000万ノードの情報をクローリングする PacSec Tokyo November
2011 In this presentation, we present our high-speed DHT Crawler to monitor 10 millions of nodes in 24 hours ! 情報通信研究機構 ネットエージェント株式会社 25 Rapid crawling: 24 hours to reach 10000000 nodes ! node 0 2000000 4000000 6000000 8000000 10000000 12000000 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 hour diff 10000 100000 1000000 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 PacSec 2011 ·ͣ͜ΕΛඪʹ
"SBDIOF., w ࣌ؒͰສϊʔυΛΫϩʔϧ ϫʔΧ w ϐʔΫੑೳϊʔυඵϫʔΧ w OPEFKTͰૉʹ࣮ ಛผʹ࠷దԽͳͲ͍ͯ͠ͳ͍
w ϫʔΧΛ૿͢͜ͱͰεέʔϧΞτՄೳ w %JHJUBM0DFBO 714ϓϩόΠμ ্ʹߏஙͨ͠ΫϥελͰಈ࡞ ‣ ϫʔΧ ίΞ.# 7. ‣ δϣϒΩϡʔ ίΞ.# 7. ‣ σʔλϕʔε ίΞ(# 7. w ֤ϫʔΧͰฒྻͰಈ࡞ ^IPVS IUUQTHJUIVCDPNLFJDIJBSBDIOFNL
"SBDIOF.,ͷΈ ϫʔΧ ࣍ʹϦΫΤετΛૹΔ ϊʔυΛσΩϡʔ pOE@OPEFϦΫΤετΛૹ৴ ϦϓϥΠ͔ΒϊʔυΛநग़ ൃݟͨ͠ϊʔυΛ ΤϯΩϡʔ δϣϒΩϡʔ
3FEJT 3%# .Z42- ॏෳνΣοΫ ϊʔυใొ Πϯλʔωοτ
ͬͱ͘ͳΔͣ
"SBDIOF., w ͰສϊʔυΛΫϩʔϧ ‣ %JHJUBM0DFBOͷίΞ(#44%ͷ7.্Ͱͷੑೳ w ϐʔΫੑೳສϊʔυඵ w ݱࡏ ͨͿΜ
ੈք࠷ w ϊʔυͰͷ࣮ߦΛલఏͱͯ͠ઃܭ w ৭ʑ࠷దԽΛࢪͯ͋͠Δ IUUQTHJUIVCDPNLFJDIJBSBDIOFNL /"5ԼͰ࣮ߦ͢Δͱ /"5ςʔϒϧ͕ॠ࣌ʹᷓΕΔ
"SBDIOF.,࠷దԽͷΞΠσΟΞ w ,31$ϝοηʔδͷૹ৴ͱड৴Λඇಉظʹ࣮ߦ͢Δ ‣ ,31$6%1্Ͱͷಈ࡞͢ΔɺίωΫγϣϯ͕ෆཁͳϓϩτίϧ ‣ ,31$ϦΫΤετΛ͔͛ͯΒɺϦεϙϯε͕དྷΔ·Ͱͭඞཁͳ͠ w ΫϩʔϦϯάʹඞཁͳػೳҎ֎ΛపఈతʹΔ ‣
,31$ϝοηʔδͷγϦΞϥΠβɾσγϦΞϥΠβͳͲ w ΠϯϝϞϦͰಈ࡞ ‣ σΟεΫ*0ΛߦΘͳ͍ ‣ %#ΛΘͳ͍
"SBDIOF.,ͷΈ pOE@OPEF ϦΫΤετߏங ૹ৴εϨου ϦΫΤετૹ৴ pOE@OPEF ϦϓϥΠͷύʔε ड৴εϨου ϦϓϥΠड৴
ϊʔυΛ σΩϡʔ ཚιʔε 6%1ιέοτ ϊʔυΛ ΤϯΩϡʔ ΠϯϝϞϦ%# ϊʔυͷΩϡʔ
ฒྻΩϡʔͷ࠷దԽ w Ωϡʔͷ࣮ ‣ ํ࿈݁Ϧετ ཁૉΛḷΔࡍʹϝϞϦΞΫηε͕ඈͼඈͼʹͳΔ ‣ ϦϯάόοϑΝ
ϝϞϦΞΫηε͕γʔέϯγϟϧʹͳΓΩϟογϡώοτ্ ݻఆͳͷͰࣄલʹϝϞϦΛ֬อ͓͚ͯ͠Δ w ഉଞ੍ޚ ‣ ϛϡʔςοΫεͰΩϡʔશମΛϩοΫ ϩοΫɾΞϯϩοΫͷίετ͕ߴ͍ ‣ ΞτϛοΫ໋ྩΛͬͨϩοΫϑϦʔͳΩϡʔ
Ϋϩʔϧ݁Ռͷอଘɾ͍߹Θͤ w Ϋϩʔϧͨ͠ϊʔυͷใΛอଘ͠ͳ͚Ε͍͚ͳ͍ w ϥϯμϜϦʔυɾϥΠτͷϨΠςϯγΛ࠷খԽ͍ͨ͠ ‣ ελϯυΞϩʔϯ%# %#ͱͷ௨৴ͷϨΠςϯγ͕େ͖͗͢Δ ‣
Τϯϕου,74 #PMU%#ͱ-FWFM%#Ͱࢼͨ݁͠ՌɺϨΠςϯγ͕େ͖͗͢Δ ‣ ΠϯϝϞϦ%# ࣮ࡍʹͨͩͷHPඪ४ͷNBQ ࠷͕ͩҰӬଓԽ͠ͳ͍ Ωϟογϡͱ͍ͯ͠ɺఆظతʹ42-JUFͳͲʹॻ͘ͷ͕ݱ࣮త
ͦͷଞͷࡉ͔͍࠷దԽ w CFODPEFͷγϦΞϥΠβɾσγϦΞϥΠβ ‣ طଘϥΠϒϥϦϦϑϨΫγϣϯͳͲΛ͍ͬͯΔͨΊ͗͢Δ ‣ γϦΞϥΠβpOE@OPEFϦΫΤετͷΈʹରԠ ‣ σγϦΞϥΠβpOE@OPEFϦΫΤετͷϦεϙϯεͷΈʹରԠ w
ϝϞϦΞϩέʔγϣϯͷݮ ‣ ՄೳͳݶΓࣄલʹϝϞϦ֬อ͍ͯ͠ճ͢ w ϊʔυʹෳճpOE@OPEFϦΫΤετΛૹ৴ ‣ ֤ϊʔυ͔ΒϊʔυͷใΛͰ͖Δ͚ͩଟ͘Ҿ͖ग़͢ w (PݴޠͰ࣮ ‣ OPEFKT͍ͱ͍͑ɺػցޠʹίϯύΠϧ͢Δݴޠͷํ͕͍
·ͱΊ w #JU5PSSFOU%)5োੑͱεέʔϥϏϦςΟΛ্͢ΔͨΊͷΈ w %)5ͷΫϩʔϥΛछྨ։ൃ ‣ "SBDIOF., ฒྻࢄܕͷΫϩʔϥ
࣌ؒͰສϊʔυΛൃݟ ‣ "SBDIOF., ୯ҰϊʔυͰͷ࣮ߦ͢ΔΫϩʔϥ ͰສϊʔυΛൃݟ w কདྷ՝ ‣ ͞ΒͳΔ࠷దԽ ‣ UPSSFOUϝλใͷऩू
ࢀߟจݙ w #&1 ‣ IUUQXXXCJUUPSSFOUPSHCFQTCFQ@IUNM w ͳͥͳʹ5PSSFOU ‣ IUUQTXXXHJUCPPLDPNCPPLLZPSPIJSPEPD@IFUJNBUPSSFOUEFUBJMT w
%)5ͷਝͰେͳϞχλϦϯά࣌ؒҎʹສϊʔυͷใΛΫ ϩʔϦϯά͢Δ ‣ IUUQTQBDTFDKQQTK1BD4FD@.BTTJWF.POJUPSJOH@KQQEG w %)5᠓ᗡ ‣ IUUQFOHJZDPNUFDI w ,BEFNMJB ‣ IUUQXXXTIVEPOFUBSUJDMF,BEFNMJBTIVEP,BEFNMJBQEG