Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
BitVisorであやつるコンテナネットワーク/BitVisorSummit11
Yuki Nakata chikuwait
December 07, 2022
Technology
0
220
BitVisorであやつるコンテナネットワーク/BitVisorSummit11
Yuki Nakata chikuwait
December 07, 2022
Tweet
Share
More Decks by Yuki Nakata chikuwait
See All by Yuki Nakata chikuwait
コンテナ型クラウドサービス基盤における集中型ネットワーク隔離手法/ master-thesis
chikuwait
0
150
Concentrated Isolation for Container Networks Toward Application-aware Sandbox Tailoring / UCC-21
chikuwait
0
99
SKBパケット選抜総選挙 〜 僕たちは誰について行けばいい? 〜 /osc21do
chikuwait
11
3k
コンテナ型仮想化技術におけるネットワーク分離の研究事情/ Infra-study LT
chikuwait
2
810
「おいしくてつよくなる」eBPFのはじめかた/Learn eBPF
chikuwait
12
4.8k
マルチテナント向けコンテナ環境における軽量かつ柔軟なARPスプーフィング対策の実現 / OS 148
chikuwait
4
1.6k
ゆるくプロセスを学ぼう/yuruhako-0824-process
chikuwait
0
290
権力の話/ryukyu-fun-lt-chikuwa
chikuwait
1
200
Implementation and Status of 'mruby in BitVisor'
chikuwait
0
420
Other Decks in Technology
See All in Technology
創業1年目のスタートアップでAWSコストを抑えるために取り組んでいること / How to Keep AWS Costs Down at a Startup
yuj1osm
3
2.2k
SSMパラメーターストアでクロススタック参照の罠を回避する
shuyakinjo
0
7.1k
20230123_FinJAWS
takuyay0ne
0
120
MoT/コネヒト/Kanmu が語るプロダクト開発xデータ分析 - 分析から機械学習システムの開発まで一人で複数ロールを担う大変さ
masatakashiwagi
3
740
ML PM, DS PMってどんな仕事をしているの?
line_developers
PRO
1
240
Pentesting Password Reset Functionality
anugrahsr
0
470
データベースの発表には RDBMS 以外もありますよ
maroon1st
0
240
Oktaの管理者権限を適切に移譲してみた
shimosyan
2
270
CUEとKubernetesカスタムオペレータを用いた新しいネットワークコントローラをつくってみた
hrk091
1
280
IoTを始めたきっかけの話と個人でできるIoTの今後 / 新年LT会「私の愛するIoT 2023」
you
0
230
書籍を書きました。 そう、VS Codeで。
takumanakagame
4
4.5k
PCI DSS に準拠したシステム開発
yutadayo
0
310
Featured
See All Featured
Docker and Python
trallard
30
1.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
318
19k
Teambox: Starting and Learning
jrom
124
7.9k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
7
580
Rails Girls Zürich Keynote
gr2m
87
12k
The MySQL Ecosystem @ GitHub 2015
samlambert
240
11k
A Tale of Four Properties
chriscoyier
149
21k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
6
840
WebSockets: Embracing the real-time Web
robhawkes
58
6k
Robots, Beer and Maslow
schacon
154
7.3k
Documentation Writing (for coders)
carmenintech
51
2.9k
Scaling GitHub
holman
453
140k
Transcript
͘͞ΒΠϯλʔωοτגࣜձࣾ ͘͞ΒΠϯλʔωοτݚڀॴ தా ༟وʢUXJUUFS
[email protected]
ʣ ݄ #JU7JTPS4VNNJU #JU7JTPSͰ͋ͭΔίϯςφωοτϫʔΫ
#JU7JTPSΛ׆༻ͯ͠ίϯςφִؒΛ ݎ࿚ʹ͢Δݚڀͱ࣮ͷΛ͠·͢ ͡Ίʹ • ֶ෦ɾम࢜࣌ͷݚڀ ͩͯ͜ະདྷେγεςϜιϑτΣΞݚʢদݪࠀઌੜʣ • UI*&&&"$.*OUFSOBUJPOBM$POGFSFODFPO
6UJMJUZBOE$MPVE$PNQVUJOH 6$$ Ͱൃද - $PODFOUSBUFEJTPMBUJPOGPSDPOUBJOFSOFUXPSLT UPXBSEBQQMJDBUJPOBXBSFTBOECPYUBJMPSJOH - IUUQTEMBDNPSHEPJ - IUUQTTQFBLFSEFDLDPNDIJLVXBJUVDD
ݚڀհ
• ίϯςφ04ΧʔωϧΛڞ༗ - 04ίϯςφϥϯλΠϜͷ੬ऑੑΛѱ༻ͯ͠ ίϯςφ͔Βϗετڥͷग़ɾݖݶঢ֨ - ίϯςφͰେྔͷϦιʔεΛ༻͢Δ͜ͱͰ ϗετڥଞίϯςφʹର͢ΔαʔϏε߈ܸ
%P4 • ίϯςφΛ׆༻ͨ͠1BB4'BB4ͳͲͷ ΫϥυαʔϏεෆಛఆଟͷϢʔβ͕ಉډ - ڞ༗͢Δ04ΧʔωϧΛѱ༻͢ΔϢʔβʹΑΔ߈ܸΛఆ͢Δඞཁ ίϯςφִؒͷ ίϯςφैདྷͷԾϚγϯͱൺͯ ࣮ߦڥؒͷִ͕ऑ͘ɺִΛڧԽ͢Δඞཁ 04 -JOVY ίϯςφ ϥϯλΠϜ ίϯςφ ΞϓϦ έʔγϣϯ ίϯςφ ΞϓϦ έʔγϣϯ 9-JOFUBM".FBTVSFNFOU4UVEZPO-JOVY$POUBJOFS4FDVSJUZ"UUBDLTBOE$PVOUFSNFBTVSFTUI"OOVBM$PNQVUFS4FDVSJUZ"QQMJDBUJPOT$POGFSFODF "$4"$` "TTPDJBUJPOGPS$PNQVUJOH.BDIJOFSZ r $IFMMBEIVSBJ FUBM4FDVSJOH%PDLFS$POUBJOFSTGSPN%FOJBMPG4FSWJDF %P4 "UUBDLT*&&&*OUFSOBUJPOBM$POGFSFODFPO4FSWJDFT$PNQVUJOH 4$$ r
• αϯυϘοΫεɿՃͷִڥ - ίϯςφ͝ͱʹԾϚγϯͷ࡞ʢFH ,BUB$POUBJOFST ʣ - ϢʔβۭؒΧʔωϧʹΑΔ04ΧʔωϧʢH7JTPS
ʣ • αϯυϘοΫε࡞ʹΑΔΦʔόϔου - ԾϚγϯͷ࡞ʹΑΔىಈʹ͔͔Δ࣌ؒͷ૿େ - ϢʔβۭؒͰͷ04ػೳ࠶࣮ʹΑΔΞϓϦέʔγϣϯੑೳԼ ίϯςφִؒΛ্͢ΔαϯυϘοΫεͱͦͷ՝ αϯυϘοΫεΛ༻͍Δ͜ͱͰִΛڧԽͰ͖Δ͕ ߴͳىಈΞϓϦέʔγϣϯੑೳ͕τϨʔυΦϑ H7JTPS ,BUB$POUBJOFST 04 -JOVY ίϯςφϥϯλΠϜ ίϯςφ 04Χʔωϧ Ϣʔβۭؒ Χʔωϧ ίϯςφ 0QFO*OGSBTUSVDUVSF'PVOEBUJPO,BUB$POUBJOFST 0QFO4PVSDF $POUBJOFS3VOUJNF4PGUXBSFIUUQTLBUBDPOUBJOFSTJP "DDFTTFEPO 5IFH7JTPS"VUIPSTH7JTPSIUUQTHWJTPSEFW "DDFTTFEPO 98BOH 'VQBO -J,BUB$POUBJOFSTBOEH7JTPSB2VBOUJUBUJWF$PNQBSJTPOIUUQTXXXPQFOTUBDLPSHWJEFPTTVNNJUTCFSMJOLBUBDPOUBJOFSTBOEHWJTPSBRVBOUJUBUJWFDPNQBSJTPO "DDFTTFEPO &(:PVOHFUBM5IF5SVF$PTUPG$POUBJOJOH"H7JTPS$BTF4UVEZ*OUI64&/*98PSLTIPQPO)PU5PQJDTJO$MPVE$PNQVUJOH )PU$MPVE 64&/*9"TTPDJBUJPO
ຊݚڀͷΰʔϧ4BOECPY5BJMPSJOH • Ϋϥυج൫ͱΞϓϦέʔγϣϯͷಛੑʹண - Ϧιʔε͝ͱʹ༻ಛੑҟͳΓݸผͷִɾੑೳཁ͕݅ଘࡏ • طଘख๏ɿ࠷ݫ֨ͳཁ݅ͷϦιʔεʹ߹Θͤͯ શϦιʔεΛ୯Ұख๏Ͱִ
- ݸผͷཁ݅Λຬͨ͢ͷ͕͘͠ɺཁ݅Ҏ্ͷִ͕ΦʔόϔουͷཁҼ • 4BOECPY5BJMPSJOHͷར - ಛఆͷϦιʔεΛूதతʹִ͢Δख๏ΛΈ߹Θͤɼ ଞͷϦιʔεʹ༩͑ΔΦʔόϔουΛݮ - ϦιʔεຖʹִɾੑೳɾߴͳىಈͷόϥϯεΛઃఆՄೳ ΞϓϦέʔγϣϯಛੑʹ߹Θͤͯɺ֤Ϧιʔεʹ ࠷దͳִख๏ΛΈ߹ΘͤͯαϯυϘοΫεΛߏ 4BOECPY5BJMPSJOH ίϯςφ ख๏" ख๏# ख๏$ ख๏$ طଘͷαϯυϘοΫεख๏ ίϯςφ ୯Ұͷִख๏ FH ԾϚγϯ
म࢜จ6$$จͷείʔϓ • ΫϥυαʔϏεͱ࣮ߦ͞ΕΔΞϓϦέʔγϣϯಛੑʹண - ωοτϫʔΫϦΫΤετΛτϦΨʔʹͨ͠ ίϯςφىಈऴྃɾεέʔϧΞτΠϯ - ωοτϫʔΫΠϯςϯγϒͳΞϓϦέʔγϣϯͷ࣮ߦ
• ωοτϫʔΫΛհͯ͠ίϯϙʔωϯτؒͷ௨৴Λߦ͏ ϚΠΫϩαʔϏεΞʔΩςΫνϟ ίϯςφϕʔε1BB4'BB4ʹ͓͚Δ4BOECPY5BJMPSJOHʹ͚ͨ ूதܕωοτϫʔΫִख๏ͷ࣮ݱ ίϯϙʔωϯτ " ίϯϙʔωϯτ # ίϯϙʔωϯτ $ %# ίϯϙʔωϯτ $` ࣌ܥྻ ίϯςφϕʔε1BB4'BB4Ϋϥυ ίϯςφ ʢऴྃঢ়ଶʣ ίϯςφ ίϯςφ ʢऴྃʣ ωοτϫʔΫ ϦΫΤετ ίϯςφ εέʔϧΞτ εέʔϧΠϯΞτ
ωοτϫʔΫִཁ݅ .4IBISBE FUBM4FSWFSMFTTJOUIF8JME$IBSBDUFSJ[JOHBOE0QUJNJ[JOHUIF4FSWFSMFTT8PSLMPBEBUB-BSHF$MPVE1SPWJEFS64&/*9"OOVBM5FDIOJDBM$POGFSFODF 64&/*9"5$ 64&/*9"TTPDJBUJPO r 5:VFUBM$IBSBDUFSJ[JOH4FSWFSMFTT1MBUGPSNTXJUI4FSWFSMFTTCFODI*O1SPDFFEJOHTPGUIFUI"$.4ZNQPTJVNPO$MPVE$PNQVUJOH 4P$$
` "TTPDJBUJPOGPS$PNQVUJOH.BDIJOFSZ r ཁ݅ɽِ͞Εͨύέοτͷݕग़ • ଞίϯςφ͕ૹ৴ݩͷِ͞ΕͨύέοτΛड৴ͤͣ தؒऀ߈ܸ%P4ɺΞΫηε੍ޚͷಥഁΛࢭ ཁ݅ɽωοτϫʔΫִϙϦγͷڧ੍ • ѱҙͷ͋ΔίϯςφʹΑΔݖݶঢ֨ͳͲΛ༻͍ͨ04্ͷϙϦγมߋΛࢭ ཁ݅ɽߴͳىಈͱΞϓϦέʔγϣϯੑೳͷҡ࣋ • 1BB4'BB4ίϯςφ໋ͳੑ࣭Λ࣋ͭ - සൟʹىಈͱऴྃΛ܁Γฦ͢ - ଟ͘ͷ'BB4ίϯςφͷ࣮ߦ࣌ؒඵҎͰ͋Γ ɺ ىಈʹ͔͔Δ࣌ؒͱωοτϫʔΫॲཧ͕ॲཧͷେΛࢧ
• 1BDLFU7FSJGJFSِ͞Εͨύέοτ͔ݕࠪ • 4VCBDP3PVUFSωοτϫʔΫִΛ 04ΑΓԼͷϨΠϠͰڧ੍ • #JU7JTPSʹ࣮ •
ఏڙ͢ΔԾ/*$WJSUJPOFU/*$Λ༻ - 7.ɾίϯςφΘͣ͘ར༻ - ༷ʑͳख๏ͱΈ߹ΘͤΔ͜ͱ͕༰қ • 4FDVSFBOE6OXFJHIUFE#PPU"CMF$0OUBJOFS ໋໊ɿদݪઌੜ ωοτϫʔΫִػೳΛڧ੍͢Δ Ծ/*$Λίϯςφʹఏڙ 4VCBDP 04 Ծ/*$ ίϯςφ ίϯςφ Ծ/*$ 1BDLFU 7FSJGJFS 1BDLFU 7FSJGJFS طଘͷִख๏ 4VCBDP3PVUFS ཧ/*$ 4VCBDPɿ 4BOECPY5BJMPSJOHͷͨΊͷωοτϫʔΫִίϯϙʔωϯτ
04Χʔωϧ ѱҙͷ͋Δِ͞Εͨύέοτͷݕग़ ཁ݅ʹؔ࿈ ߴಛఆϞʔυɿύέοτϔομͷِΛݕग़ • ίϯςφʹׂΓͯͨ/*$ͷใͱ*1."$ΞυϨεͱରԠ͚ •
ύέοτૹ৴ݩ/*$ͷใʹରԠ͚ΒΕͨΞυϨεͱ ύέοτϔομͷૹ৴ݩΞυϨεΛൺֱ - Ұக͠ͳ͍߹ɺِ͞Εͨύέοτͱͯ͠ഁغ • ϥϯλΠϜ*1ΞυϨεΛ 4VCBDP͔Βऔಘͯ͠ίϯςφʹઃఆ - /*$ʹઃఆ͢ΔΞυϨεͱ 4VCBDPͰ/*$ʹରԠ͚ΒΕͨ*1."$ΞυϨεใΛҰகͤ͞ΔͨΊ • 4VCBDPͷใ͚ͩΛ༻͍ΔͨΊߴͳಛఆ͕Մೳ 1BDLFU7FSJGJFSɿ Ͳͷίϯςφ͕ύέοτΛૹ৴͔ͨ͠ಛఆ ίϯςφ ίϯςφ ϥϯλΠϜ 4VCBDP W/*$ 1BDLFU 7FSJGJFS /*$ΞυϨε ରԠใ ཧ /*$ ِ͞Εͨ ύέοτ *1ΞυϨε औಘ *1ΞυϨεઃఆ ಛఆॲཧ
ਫ਼ີಛఆϞʔυɿଞίϯςφͷ/*$Λѱ༻ͨ͠ૹ৴Λݕग़ • ߴಛఆϞʔυͷಛఆ༰ʹՃ͑ͯɺ ύέοτૹ৴ݩίϯςφͷϓϩηεΛಛఆ • ίϯςφ͕ύέοτΛૹ৴ͨ͠ࡍʹɼ 04͕ཧ͍ͯ͠ΔϓϩηεཧใΛ୳ࡧ •
ύέοτ͕ૹ৴͞ΕΔʹ04ͷσʔλߏΛ୳ࡧ͢ΔͨΊ ੑೳ͕Լ͢Δ͕ɺૹ৴ݩίϯςφΛਖ਼֬ʹಛఆՄೳ ѱҙͷ͋Δِ͞Εͨύέοτͷݕग़ ཁ݅ʹؔ࿈ 04Χʔωϧ ίϯςφ ίϯςφ ϥϯλΠϜ 4VCBDP W/*$ 1BDLFU 7FSJGJFS /*$ΞυϨε ରԠใ ཧ /*$
ωοτϫʔΫִϙϦγͷڧ੍ ཁ݅ʹؔ࿈ • 04্ͷωοτϫʔΫִϙϦγ͕վม͞ΕִͯΛҡ࣋ • ϢʔβϩʔϧͳͲΛϥϕϧϕʔεͷϙϦγʹهड़ - ϥϕϧϚονϧʔϧʹج͍ͮͯ௨৴ͷڐՄɾෆڐՄΛܾఆ
• ڐՄ͞Ε͍ͯͳ͍Ѽઌͷ௨৴ͷ߹ɺ-ϨΠϠͰ௨৴Λڋ൱ - ίϯςφͱ֎෦ͷ௨৴ϙϦγͰ໌ࣔతʹڐՄ͢Δඞཁ • 4VCBDP$POUSPMMFSϙϦγΛϦϞʔτͰཧ - ࡞͞ΕͨίϯςφͷϙϦγΛ4VCBDP3PVUFSʹఏڙ - ίϯςφΛϗετ͢Δ04͔ΒϙϦγΛઃఆ͠ͳ͍͜ͱͰɺ 4VCBDPʹର͢Δ߈ܸΛࢭ ϋΠύʔόΠβͰ ϧʔςΟϯάͱΞΫηε੍ޚΛ࣮ࢪ 4VCBDP$POUSPMMFS 4VCBDP ίϯςφ$ W/*$ 4VCBDP3PVUFS ཧ/*$ ίϯςφ# W/*$ ίϯςφ" W/*$ 04 QPMJDJFT $POUBJOFS" MBCFMVTFS" $POUBJOFS# MBCFMVTFS" FYQPTFUSVF MBCFMT VTFS" SVMFNBUDI ཧ༻/*$
ߴͳىಈͱΞϓϦέʔγϣϯੑೳͷҡ࣋ ཁ݅ʹؔ࿈ 54IJOBHBXBFUBM#JU7JTPS"5IJO)ZQFSWJTPSGPS&OGPSDJOHJP%FWJDF4FDVSJUZ *O1SPDFFEJOHTPGUIF"$.4*(1-"/4*(014*OUFSOBUJPOBM$POGFSFODFPO7JSUVBM&YFDVUJPO&OWJSPONFOUT 7&&` "TTPDJBUJPOGPS$PNQVUJOH.BDIJOFSZ r ४ύεεϧʔܕϋΠύʔόΠβ#JU7JTPS
• Πϯλʔηϓτ͢ΔσόΠεΛબՄೳ - ԾԽͱΠϯλʔηϓτͷΦʔόϔουΛड͚ΔσόΠεΛݶఆ • ϋΠύʔόΠβͷϦιʔεফඅΛݮ ४ύεεϧʔܕϋΠύʔόΠβͷ׆༻ • ίϯςφωοτϫʔΫͷִͱ੍ޚʹूத • ଞͷϦιʔεʹ༩͑ΔӨڹΛݮ 4VCBDP ωοτϫʔΫ*0ͷΈΛΠϯλʔηϓτ 4VCBDP 04 ίϯςφ W/*$ 4VCBDP 3PVUFS ࣮/*$ ଞͷσόΠε FH ετϨʔδ ԾԽ͞Ε͍ͯͳ͍ ࣮σόΠεΛ༻ #JU7JTPSେ׆༂ʂʂʂ
Packet size(byte) Throughput (Gbps) 0 1 2 3
4 64 128 256 512 1024 1472 runC gVisor Kata-QEMU Kata-FC Subaco ִख๏ ىಈʹ͔͔Δ࣌ؒ ඵ SVO$ H7JTPS ,BUBRFNV ,BUB'$ 4VCBDP ධՁɿωοτϫʔΫεϧʔϓοτɾىಈʹ͔͔Δ࣌ؒ 9.22 9.22 9.12 9.2 9.22 9.22 9.22 9.22 9.23 9.22 Throughput (Gbps) 0 2 4 6 8 10 runC (Tx) runC (R x) gVisor(Tx) gVisor(R x) Kata-Q EM U (TX) Kata-Q EM U (R X) Kata-FC (Tx) kata-FC (R x) Subaco(Tx) Subaco(R x) 6%1εϧʔϓοτ 5$1εϧʔϓοτ
ධՁɿΞϓϦέʔγϣϯੑೳ Number of connections Throughput x1000 (req/sec) 0
50 100 150 200 0 512 1024 1536 2048 runC gVisor Kata-QEMU Kata-FC Subaco Number of connections Throughput (req/sec) 0 25000 50000 75000 0 200 400 600 800 1000 runC gVisor Kata-QEMU Kata-FC Subaco • ྆ΞϓϦέʔγϣϯͷੑೳɿ 4VCBDP,BUBRFNV ,BUB'$H7JTPS 4VCBDPɺωοτϫʔΫִΛΑΓݎ࿚ʹ͠ͳ͕Β αϯυϘοΫεͷద༻ൣғΛௐͯ͠ΞϓϦέʔγϣϯੑೳͷӨڹΛܰݮ /HJOY .FNDBDIFE Y Y Y Y
ηΩϡϦςΟධՁ 'MBOOFM 0QFOW4XJUDI $BMJDP $JMJVN 4VCBDP SVO$ αϯυϘοΫε
SVO$ αϯυϘοΫε SVO$ αϯυϘοΫε SVO$ αϯυϘοΫε - ✕ ✕ ˚ ˚ 㾎 㾎 㾎 㾎 㾎 -- ✕ ✕ ˚ ˚ ✕ ✕ 㾎 㾎 㾎 /FUXPSL 1PMJDJFT ✕ 㾎 ✕ 㾎 ✕ 㾎 ✕ 㾎 㾎 • -ͱ-Λରͱِͨ͠͞ΕͨύέοτʹΑΔ߈ܸΛࢭ - 1BDLFU7FSJGJFS-ͱ-Λରͱِͨ͠͞ΕͨύέοτΛݕग़ • ωοτϫʔΫִϙϦγʹର͢Δ߈ܸΛࢭ - ϋΠύʔόΠβͰϧʔςΟϯάͱΞΫηε੍ޚΛڧ੍ +BFIZVO /BNFUBM#"45*0/"4FDVSJUZ&OGPSDFNFOU/FUXPSL4UBDLGPS$POUBJOFS/FUXPSLT64&/*9"OOVBM5FDIOJDBM$POGFSFODF 64&/*9"5$ 64&/*9"TTPDJBUJPO r
࣮ͷͳ͠
WJSUJPOFU/*$ͷεέʔϧ ϞνϕʔγϣϯɿίϯςφΛ༻ͨ͠ΫϥυαʔϏε ͷϚγϯ্ͰඦͷίϯςφΛ࣮ߦ͢Δ • 4VCBDPͰ࡞Ͱ͖Δ/*$ʹಉ࣮࣌ߦՄೳͳίϯςφ্ݶ #JU7JTPSɿ࣮σόΠεͱԾσόΠεجຊతʹର • ຊདྷԾσόΠεΛେྔʹੜ͍͢ํʹෆ͖ʁ
• ʹԾ1$*σόΠεʢԾWJSUJPOFUʣରԠ͕ೖͬͨ - ࣮σόΠεͱແؔͷԾσόΠεΛੜͤΔ • ଔݚ͕ͩͬͨͷͰ࠷ߴͷλΠϛϯάʂ ᒇᒜ ӳथ#JU7JTPS ͷओͳมߋ #JU7JTPS 4VNNJU IUUQTXXXTMJEFTIBSFOFUCJUWJTPSCJUWJTPSTVNNJUCJUWJTPS "DDFTTFEPO
Ͳ͜·Ͱεέʔϧ͢Δ͔ʁ ݸఔͰݶք͕དྷΔ • 1BOJDͯ͠ࢮ͵ • *0)BOEMFSͷσΟεΫϦϓλͷ্ݶ͕ݸ ˠ্ݶΛ૿ͯ͠ରॲ ݸ͙Β͍·Ͱεέʔϧ͢Δ
• ڥґଘ • Ծ1$*σόΠε1$*όε൪ͷۭ͖σόΠε൪߸Λ༻ͯ͠࡞͞ΕΔ • ෳݸ࡞͞ΕΔͱɺۭ͖σόΠε൪߸ҎԼͷϑΝϯΫγϣϯ
思ったよりスケールしない…
͞Βʹεέʔϧͤ͞ΔͨΊʹ ࣮σόΠεͷΘΕ͍ͯͳ͍ϑΝϯΫγϣϯ͕͋Δ • )PTU#SJEHF༷ʑͳίϯτϩʔϥ • ͬͨͳ͍ͷͰഈआ͍ͨ͠ ࣮σόΠεʹԾWJSUJPOFU/*$Λدੜͤ͞Δ •
࡞࣌ʹ࣮σόΠεͷະ༻ϑΝϯΫγϣϯΛ༻͢ΔΑ͏मਖ਼ • 1$*$POGJHVSBUJPO4QBDFͷΞΫηεͷϋϯυϥΛमਖ਼ - دੜ͞Ε࣮ͨσόΠεΛԾσόΠεͱͯ͠ೝࣝͯ͠͠·͍ɺ ࣮σόΠεͷશΞΫηε͕ԾσόΠεଆʹٵΘΕͯ04͕ىಈ͠ͳ͍ - ༻ϑΝϯΫγϣϯ൪߸ͷใΛอ࣋͠ɺ ࣮σόΠε͔ԾσόΠεͲͪΒͷΞΫηε͔ผ͢Δͱ͖ʹ ϑΝϯΫγϣϯΛߟྀ͢ΔΑ͏ʹมߋ • ݸ͘Β͍·Ͱ૿͑ͨ ϝϞϦ $16 ϗετϒϦοδ /*$ /*$ /*$ σόΠε /*$ /*$ /*$ /*$
࣮σόΠεʹدੜ͢ΔԾWJSUJPOFU/*$ 実デバイス番号の使われていないファンクションがある
ԾWJSUJPOFU/*$ϩάग़ྗ5$1*1ελοΫར༻͕ϝΠϯ • ࣮/*$Λհͨ͠֎෦ͱͷ௨৴ԾWJSUJPOFU/*$ؒͰ௨৴͢Δʹػೳ͕ෆ ԾWJSUJPOFU/*$͔Β֎෦ͷ௨৴ • #JU7JTPSͷωοτϫʔΫυϥΠό - 7JSUJPOFUଆɿήετόοϑΝͱதؒόοϑΝؒ
- ࣮σόΠευϥΠόଆɿதؒόοϑΝɾγϟυؒ - Ծ1$*σόΠευϥΠόɿதؒόοϑΝ͔Βઌ͕ͳ͍ • Ծ1$*σόΠευϥΠό͔Β ࣮σόΠευϥΠόͷγϟυʹίϐʔ͢ΔΑ͏ʹվม WJSUJPOFU/*$ ήετ όοϑΝ ԾWJSUJPOFU/*$ ήετ όοϑΝ ࣮/*$ Ծ1$*σόΠ ε γϟυ όοϑΝ தؒόοϑΝ தؒόοϑΝ -ϧʔςΟϯάͷ࣮ݱ
֎෦͔ΒԾWJSUJPOFU/*$ԾWJSUJPOFU/*$ؒ௨৴ • ԾWJSUJPOFU/*$ͷ."$ΞυϨεͷमਖ਼ - ݻఆ͔Β ϚγϯͰϢχʔΫͳϩʔΧϧΞυϨεʹมߋ • ."$ΞυϨεͱWJSUJPOFUͷߏମͷ
ϙΠϯλͷςʔϒϧ - &UIFSOFUϑϨʔϜͷѼઌ."$ΞυϨε͔Β ͲͷԾWJSUJPOFU/*$ͷWJSURVFVFʹసૹ͢Δ͔ܾఆ • ࣮/*$ͷϓϩϛεΩϟεϞʔυ༗ޮԽ - ԾWJSUJPOFU/*$ѼͷϑϨʔϜΛड৴͢ΔͨΊ WJSUJPOFU/*$ ήετ όοϑΝ ԾWJSUJPOFU/*$ ήετ όοϑΝ ࣮/*$ ϓϩϛεΩϟε Ծ1$*σόΠε γϟυ όοϑΝ தؒόοϑΝ தؒόοϑΝ ԾWJSUJPOFU/*$ ήετ όοϑΝ Ծ1$*σόΠε தؒόοϑΝ ԾWJSUJPOFU/*$ ήετ όοϑΝ Ծ1$*σόΠε தؒόοϑΝ ԾWJSUJPOFU/*$ ήετ όοϑΝ Ծ1$*σόΠε தؒόοϑΝ -ϧʔςΟϯάͷ࣮ݱ
*0ൃߦݩίϯςφ ϓϩηε ͷಛఆ 7.&YJU࣌ʹऔಘͰ͖ΔήετͷϨδελใ͔Β
[email protected]
Λݟ͚ͭΔ • 341ʹ֨ೲ͞Ε͍ͯΔ ΧʔωϧελοΫͷϙΠϯλΛ༻ -
ετϨʔτϚοϓ͞Ε͍ͯΔྖҬͷԾΞυϨε • ԾΞυϨε͔ΒཧΞυϨεͷม -
[email protected]
@QIZTΛҠ২ • ελοΫϙΠϯλͷΞυϨε͔Β
[email protected]
Λಛఆ - 1*%1(*%ɾ-JOVY/BNFTQBDFͷJOPEF൪߸Λऔಘ - ίϯςφϥϯλΠϜ͔Β औಘͨ͠ใͱಥ͖߹ΘͤΔ Ϣʔβۭؒ Χʔωϧۭؒ ཧ ΞυϨε YGGGGGGGGGGG Y YGGGG YGGGGD 341
[email protected]
*0ൃߦݩίϯςφͷಛఆػೳͷ੍ ಈ࡞͢Δ-JOVYΧʔωϧͷόʔδϣϯσΟετϦϏϡʔγϣϯʹڧ͘ґଘ •
[email protected]
ͷߏ͕มΘΔͱऴΘΔ - 3FE)BUܥʹ
[email protected]
ʹ3)@,"#*@3&4&37&ͱ͍͏༧ྖҬ͕͋Δ -
։ൃ࣌ʹ$FOU04Λ༻͍ͯͯ͠ɺ༧ྖҬͷݟམͱ͠Ͱ͔ͳΓ࣌ؒΛ༹͔ͨ͠ - όχϥΧʔωϧͷιʔείʔυ͚ͩͰͳ͘ɺσΟετϦϏϡʔγϣϯߟྀ͢Δඞཁ •
[email protected]
ʹ
[email protected]
ͷϙΠϯλ͕͋ΔΧʔωϧͷόʔδϣϯ͡Όͳ͍ͱಈ࡞͠ͳ͍ -
[email protected]
ͱΧʔωϧελοΫVOJPOͳͨΊɺΧʔωϧελοΫͷαΠζ͔Β ઌ಄ΞυϨεΛࢉग़ͯ͠
[email protected]
Λऔಘ͠ɺ͔ͦ͜Β
[email protected]
ʹ౸ୡͰ͖Δ -
[email protected]
ɺελοΫϙΠϯλ͔Β
[email protected]
Λ୧ͬͯѱ͍͜ͱΛ͢Δෆಧ͖ऀ͕͍ΔͨΊɺফ໓ - ҎલͷΧʔωϧ͕ඞཁ • MJC7.*ͳͲΛ͏͖ͩͬͨʁ - ଔʹؒʹ߹ΘͤΔͨΊʹŚŘźŕͱ࣮ͨ͠ͷͰɺ࡞Γ͢ͳΒ7.*ܥͷπʔϧΛ׆༻͍ͨ͠
*0ൃߦݩίϯςφͷಛఆػೳͷ੍ ,"4-3͕͋Δͱ͏·͘͏͔͝ͳ͍ • ԾΞυϨε͔ΒཧΞυϨεͷม͕͘͠ͳΔ • Կ͔͍͍ํ๏͕͋Εڭ͑ͯԼ͍͞ ύϑΥʔϚϯε͕Լ͢Δ
• ύέοτ͕ૹ৴͞Εͯ7.&YJU͢ΔͨͼʹϓϩηεͷಛఆॲཧΛ࣮ߦ •
[email protected]
ͳͲͷΧʔωϧͷߏମΛ#JU7JTPSͰෳճϚοϐϯά͢Δඞཁ • (C&Ͱεϧʔϓοτ͕ˋ͘Β͍Լͨ͠
؆қɾߴͳίϯςφૹ৴ݩίϯςφಛఆ ίϯςφͷ/*$ׂΓͯ࣌ʹɺ/*$ͷ1$*όεɾσόΠεɾϑΝϯΫγϣϯ൪߸ͱ ."$ΞυϨεɾ*1ΞυϨεΛରԠ͚ • ѱҙͷ͋Δίϯςφ͔Βૹ৴͞Εͨ ૹ৴ݩΞυϨεِ͕͞ΕͨύέοτΛݕग़ • ύέοτͱσόΠεͷΞΫηεใ͚ͩͰ݁͢ΔͨΊ
7.&YJU࣌ʹՃͷใऔಘ͕ෆཁ - ύϑΥʔϚϯεྼԽ͕΄΅ͳ͍
ݚڀͷཪɾܦҢʢ͕࣌ؒ͋Εʣ
ݚڀͷ͖͔͚ͬ # ίϯςφͱ#JU7JTPSΛΈ߹ΘͤͯԿ͔Λ͔ͨͬͨ͠ʢϘτϜΞοϓతʣ • #ͷ࣌ʹ#JU7JTPSͷNSVCZͷҠ২Λ͍ͬͯͯ͠Έ ͕͋ͬͨ • #JU7JTPS
ίϯςφ୭ͬͯͳ͍͓͠͠Ζͦ͏ ,BUB$POUBJOFSͱH7JTPSͷதؒΛૂ͏ίϯςφΛ࡞Δ • 04ΧʔωϧΛڞ༗ͨ͠··ͲΕ͚ͩίϯςφִؒΛڧԽͰ͖Δ͔ʁ • #JU7JTPSΛ׆༻ͯ͠ίϯςφؒͰڞ༗͢ΔϦιʔεσόΠεʹରͯ͠ Կ͔͠ΒͷΞΫηε੍ޚΛڧ੍ • ಛఆͷϦιʔεσόΠεʹಛԽͯ͠ੑೳ໘Ͱύϥύεεϧʔͷྑ͞ΛڗडͰ͖ͳ͍͔
ͳͥ#JU7JTPSͰωοτϫʔΫִͳͷ͔ • ϑΝΠϧ04ͷநԽΛอͬͨ··੍ޚ͢Δͷ͕͍͠ • ϝϞϦ&15Ͱ͍ͬͯΔઌߦݚڀ͕͋ͬͨ • -JOVY$BQBCJMJUZΛ༻͍ͯίϯςφʹݖݶΛ༩ͨ͠߹ɺ ωοτϫʔΫपΓͷݖݶׂͷཻ͕ߥ͔ͬͨ
- ࣌QJOHΛ࣮ߦ͢Δʹ$"
[email protected]
/&
[email protected]
"8͕ඞཁͰɺ ༩͢Δͱ"31εϓʔϑΟϯάͰ͖ͯ͠·͏ͱ͍ͬͨ͜ͱ͕͋ͬͨ - #JU7JTPSΛͬͯίϯςφʹ༩͢ΔݖݶΛ'JOF(SBJOFEʹͰ͖ͳ͍͔ʁ • ѱҙͷ͋ΔίϯςφʹΑΔ"31εϓʔϑΟϯάͳͲΛ͙ͱ͍͏༰ͷଔ +JYJOH (V $IVOZBO -JV4FDVSF$POUBJOFST8JUI&15*TPMBUJPO -JOVY$PO $POUBJOFS$PO $MPVE0QFO $IJOB IUUQTXXXTMJEFTIBSFOFU-$$IJOBTFDVSFDPOUBJOFSTXJUIFQUJTPMBUJPO "DDFTTFEPO
ํੑͷస . #JU7JTPSΛͬͯωοτϫʔΫ͚ͩΛݎ࿚ʹ͢Δྑ͞Λ͖ࣔ͠Εͳ͔ͬͨ ഊ • -JOVY$BQBCJMJUZωοτϫʔΫҎ֎'JOF(SBJOFEͱݴ͑ͳ͍ • ͦΕεΠονϧʔλͷࣄͰʁ
• ηϚϯςΟοΫΪϟοϓղফͷͨΊͷίϯςφಛఆػೳͰ ωοτϫʔΫੑೳ͕େ෯ʹԼ͢Δ͕ɺϋΠύʔόΠβͰΔҙٛԿ͔ʁ #JU7JTPSͰίϯςφωοτϫʔΫͷσʔλύε࠷దԽ • WFUIϒϦοδͳͲΛ༻͢ΔͨΊɺσʔλύε͕͘ɺίϯςΩετεΠον͕૿Ճ • #JU7JTPSͰίϯςφԾ43*07Έ͍ͨʹͯ͠ɺγϯϓϧͳߏʹͳͬͯੑೳ্͕͠ͳ͍͔ʁ • ಛʹมΘΓ·ͤΜͰͨ͠ ഊ - WFUIϒϦοδʹΑΔΦʔόϔουΛݮͯ͠ɺ ϋΠύʔόΠβͷΦʔόϔουͰ݁ہมΘΒͳ͍
ֶ෦ͷ༰ʹΔ . ݪճؼͯ͠ݎ࿚ͳωοτϫʔΫִͰݚڀͷཱͪҐஔΛ࠶ݕ౼ • 04ΑΓԼͰσόΠεใͱΈ߹ΘͤͨϙϦγͷڧ੍ѱҙͷ͋Δύέοτͷݕग़ - Ϛγϯ֎ͷεΠονϧʔλͩͱɺύέοτϔομͷใҎ֎ͷίϯςΩετ͕ࣦ -
ݎ࿚ͳִͱ*0ؔ࿈ʢؤுΕήετ04ʣίϯςΩετͷཱ͕྆ϋΠύʔόΠβͰΔྑ͞ - ͱ͍͑ɺηϚϯςΟοΫΪϟοϓΛΓӽ͑Δͷେม - "14ZTͱ͍͏ࠃࡍձٞʹߘɿ3FKFDU 8FBL3FKFDUºɺ8FBL"DDFQUº • ωοτϫʔΫ͚ͩݎ࿚ʹ͢Δҙຯ͕͔ΒΜͱ͍ΘΕͯഊ • 4BOECPY5BJMPSJOHͱ͍͏ίϯηϓτ - ΞϓϦέʔγϣϯಛੑʹ߹Θͤͯɺ ύϥύεεϧʔͰಛఆϦιʔεಛԽͷݎ࿚ͳִΛ࣮ݱ͠ɺଞͷख๏ͱΈ߹ΘͤΔ • #͔ΒݟΔͱឯ༨ۂં͕͋ͬͨɺͱΓ͋͑ͣணʜ - 6$$ɿ"DDFQU "DDFQUºɺ8FBL"DDFQUɺ#PSEFS
·ͱΊ 4VCBDPɿ#JU7JTPSΛ׆༻ͨ͠ίϯςφωοτϫʔΫִػߏ • ԾWJSUJPOFU/*$Λίϯςφʹఏڙ • ѱҙͷ͋Δύέοτͷݕग़ΞΫηε੍ޚͷڧ੍ ࠓޙͷ༧ఆ •
ӳޠδϟʔφϧԽ Γ͔͚ͨͬͨͲ࣌ؒͷ߹ͰͰ͖ͳ͔ͬͨ͜ͱ • #JU7JTPSΈࠐΈͷNSVCZΛ༻͍ͨಈతͳ੍ޚ • ෳϚγϯڥͰͷίϯςφωοτϫʔΫ - ݱঢ়୯ҰϚγϯલఏͷߏ - #JU7JTPSͰ79-"/ʁ#(1ʁ