$30 off During Our Annual Pro Sale. View Details »

BitVisorであやつるコンテナネットワーク/BitVisorSummit11

 BitVisorであやつるコンテナネットワーク/BitVisorSummit11

Yuki Nakata chikuwait

December 07, 2022
Tweet

More Decks by Yuki Nakata chikuwait

Other Decks in Technology

Transcript


  1. ͘͞ΒΠϯλʔωοτגࣜձࣾ ͘͞ΒΠϯλʔωοτݚڀॴ
    தా ༟وʢUXJUUFS!DIJLV@XBJUʣ
    ೥݄೔ #JU7JTPS4VNNJU
    #JU7JTPSͰ͋΍ͭΔίϯςφωοτϫʔΫ

    View Slide



  2. #JU7JTPSΛ׆༻ͯ͠ίϯςφִؒ཭Λ
    ݎ࿚ʹ͢Δݚڀͱ࣮૷ͷ࿩Λ͠·͢
    ͸͡Ίʹ
    • ֶ෦ɾम࢜࣌୅ͷݚڀ
    ͸ͩͯ͜ະདྷେγεςϜιϑτ΢ΣΞݚʢদݪࠀ໻ઌੜʣ
    • UI*&&&"$.*OUFSOBUJPOBM$POGFSFODFPO
    6UJMJUZBOE$MPVE$PNQVUJOH 6$$
    Ͱൃද
    - $PODFOUSBUFEJTPMBUJPOGPSDPOUBJOFSOFUXPSLT
    UPXBSEBQQMJDBUJPOBXBSFTBOECPYUBJMPSJOH
    - IUUQTEMBDNPSHEPJ
    - IUUQTTQFBLFSEFDLDPNDIJLVXBJUVDD

    View Slide


  3. ݚڀ঺հ

    View Slide



  4. • ίϯςφ͸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

    View Slide



  5. • αϯυϘοΫεɿ௥Ճͷִ཭؀ڥ
    - ίϯςφ͝ͱʹԾ૝Ϛγϯͷ࡞੒ʢ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

    View Slide



  6. ຊݚڀͷΰʔϧ4BOECPY5BJMPSJOH
    • Ϋϥ΢υج൫ͱΞϓϦέʔγϣϯͷಛੑʹண໨
    - Ϧιʔε͝ͱʹ࢖༻ಛੑ͸ҟͳΓݸผͷִ཭ɾੑೳཁ͕݅ଘࡏ
    • طଘख๏ɿ࠷΋ݫ֨ͳཁ݅ͷϦιʔεʹ߹Θͤͯ
    શϦιʔεΛ୯Ұख๏Ͱִ཭
    - ݸผͷཁ݅Λຬͨ͢ͷ͕೉͘͠ɺཁ݅Ҏ্ͷִ཭͕ΦʔόϔουͷཁҼ
    • 4BOECPY5BJMPSJOHͷར఺
    - ಛఆͷϦιʔεΛूதతʹִ཭͢Δख๏Λ૊Έ߹Θͤɼ
    ଞͷϦιʔεʹ༩͑ΔΦʔόϔουΛ࡟ݮ
    - Ϧιʔεຖʹִ཭ɾੑೳɾߴ଎ͳىಈͷόϥϯεΛઃఆՄೳ
    ΞϓϦέʔγϣϯಛੑʹ߹Θͤͯɺ֤Ϧιʔεʹ
    ࠷దͳִ཭ख๏Λ૊Έ߹ΘͤͯαϯυϘοΫεΛߏ੒
    4BOECPY5BJMPSJOH
    ίϯςφ
    ख๏" ख๏# ख๏$ ख๏$
    طଘͷαϯυϘοΫεख๏
    ίϯςφ
    ୯Ұͷִ཭ख๏ FH Ծ૝Ϛγϯ


    View Slide



  7. म࢜࿦จ6$$࿦จͷείʔϓ
    • Ϋϥ΢υαʔϏεͱ࣮ߦ͞ΕΔΞϓϦέʔγϣϯಛੑʹண໨
    - ωοτϫʔΫϦΫΤετΛτϦΨʔʹͨ͠
    ίϯςφىಈऴྃɾεέʔϧΞ΢τΠϯ
    - ωοτϫʔΫΠϯςϯγϒͳΞϓϦέʔγϣϯͷ࣮ߦ
    • ωοτϫʔΫΛհͯ͠ίϯϙʔωϯτؒͷ௨৴Λߦ͏
    ϚΠΫϩαʔϏεΞʔΩςΫνϟ
    ίϯςφϕʔε1BB4'BB4ʹ͓͚Δ4BOECPY5BJMPSJOHʹ޲͚ͨ
    ूதܕωοτϫʔΫִ཭ख๏ͷ࣮ݱ
    ίϯϙʔωϯτ
    "
    ίϯϙʔωϯτ
    #
    ίϯϙʔωϯτ
    $
    %#
    ίϯϙʔωϯτ
    $`
    ࣌ܥྻ
    ίϯςφϕʔε1BB4'BB4Ϋϥ΢υ
    ίϯςφ
    ʢऴྃঢ়ଶʣ
    ίϯςφ
    ίϯςφ
    ʢऴྃʣ
    ωοτϫʔΫ
    ϦΫΤετ
    ίϯςφ
    εέʔϧΞ΢τ
    εέʔϧΠϯΞ΢τ

    View Slide



  8. ωοτϫʔΫִ཭ཁ݅
    .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ίϯςφͷ࣮ߦ࣌ؒ͸ඵҎ಺Ͱ͋Γɺ
    ىಈʹ͔͔Δ࣌ؒͱωοτϫʔΫॲཧ͕ॲཧͷେ൒Λࢧ഑

    View Slide



  9. • 1BDLFU7FSJGJFSِ଄͞Εͨύέοτ͔ݕࠪ
    • 4VCBDP3PVUFSωοτϫʔΫִ཭Λ
    04ΑΓԼͷϨΠϠͰڧ੍
    • #JU7JTPS಺ʹ࣮૷
    • ఏڙ͢ΔԾ૝/*$͸WJSUJPOFU/*$Λ࢖༻
    - 7.ɾίϯςφ໰Θͣ޿͘ར༻
    - ༷ʑͳख๏ͱ૊Έ߹ΘͤΔ͜ͱ͕༰қ
    • 4FDVSFBOE6OXFJHIUFE#PPU"CMF$0OUBJOFS ໋໊ɿদݪઌੜ

    ωοτϫʔΫִ཭ػೳΛڧ੍͢Δ
    Ծ૝/*$Λίϯςφʹఏڙ
    4VCBDP
    04
    Ծ૝/*$
    ίϯςφ
    ίϯςφ
    Ծ૝/*$
    1BDLFU
    7FSJGJFS
    1BDLFU
    7FSJGJFS
    طଘͷִ཭ख๏
    4VCBDP3PVUFS
    ෺ཧ/*$
    4VCBDPɿ 4BOECPY5BJMPSJOHͷͨΊͷωοτϫʔΫִ཭ίϯϙʔωϯτ

    View Slide



  10. 04Χʔωϧ
    ѱҙͷ͋Δِ଄͞Εͨύέοτͷݕग़ ཁ݅ʹؔ࿈


    ߴ଎ಛఆϞʔυɿύέοτϔομͷِ଄Λݕग़
    • ίϯςφʹׂΓ౰ͯͨ/*$ͷ৘ใͱ*1."$ΞυϨεͱରԠ෇͚
    • ύέοτૹ৴ݩ/*$ͷ৘ใʹରԠ෇͚ΒΕͨΞυϨεͱ
    ύέοτϔομͷૹ৴ݩΞυϨεΛൺֱ
    - Ұக͠ͳ͍৔߹͸ɺِ଄͞Εͨύέοτͱͯ͠ഁغ
    • ϥϯλΠϜ͸*1ΞυϨεΛ
    4VCBDP͔Βऔಘͯ͠ίϯςφʹઃఆ
    - /*$ʹઃఆ͢ΔΞυϨεͱ
    4VCBDP಺Ͱ/*$ʹରԠ෇͚ΒΕͨ*1."$ΞυϨε৘ใΛҰகͤ͞ΔͨΊ
    • 4VCBDP಺ͷ৘ใ͚ͩΛ༻͍ΔͨΊߴ଎ͳಛఆ͕Մೳ
    1BDLFU7FSJGJFSɿ
    Ͳͷίϯςφ͕ύέοτΛૹ৴͔ͨ͠ಛఆ
    ίϯςφ
    ίϯςφ
    ϥϯλΠϜ
    4VCBDP
    W/*$
    1BDLFU
    7FSJGJFS
    /*$ΞυϨε
    ରԠ৘ใ
    ෺ཧ
    /*$
    ِ଄͞Εͨ
    ύέοτ
    *1ΞυϨε
    औಘ
    *1ΞυϨεઃఆ
    ಛఆॲཧ

    View Slide



  11. ਫ਼ີಛఆϞʔυɿଞίϯςφͷ/*$Λѱ༻ͨ͠ૹ৴Λݕग़
    • ߴ଎ಛఆϞʔυͷಛఆ಺༰ʹՃ͑ͯɺ
    ύέοτૹ৴ݩίϯςφͷϓϩηεΛಛఆ
    • ίϯςφ͕ύέοτΛૹ৴ͨ͠ࡍʹɼ
    04͕؅ཧ͍ͯ͠Δϓϩηε؅ཧ৘ใΛ୳ࡧ
    • ύέοτ͕ૹ৴͞ΕΔ౓ʹ04ͷσʔλߏ଄Λ୳ࡧ͢ΔͨΊ
    ੑೳ͕௿Լ͢Δ͕ɺૹ৴ݩίϯςφΛਖ਼֬ʹಛఆՄೳ
    ѱҙͷ͋Δِ଄͞Εͨύέοτͷݕग़ ཁ݅ʹؔ࿈


    04Χʔωϧ
    ίϯςφ
    ίϯςφ
    ϥϯλΠϜ
    4VCBDP
    W/*$
    1BDLFU
    7FSJGJFS
    /*$ΞυϨε
    ରԠ৘ใ
    ෺ཧ
    /*$

    View Slide



  12. ωοτϫʔΫִ཭ϙϦγͷڧ੍ ཁ݅ʹؔ࿈

    • 04্ͷωοτϫʔΫִ཭ϙϦγ͕վม͞Εͯ΋ִ཭Λҡ࣋
    • Ϣʔβ΍ϩʔϧͳͲΛϥϕϧϕʔεͷϙϦγʹهड़
    - ϥϕϧϚονϧʔϧʹج͍ͮͯ௨৴ͷڐՄɾෆڐՄΛܾఆ
    • ڐՄ͞Ε͍ͯͳ͍Ѽઌ΁ͷ௨৴ͷ৔߹ɺ-ϨΠϠͰ௨৴Λڋ൱
    - ίϯςφͱ֎෦ͷ௨৴͸ϙϦγͰ໌ࣔతʹڐՄ͢Δඞཁ
    • 4VCBDP$POUSPMMFSϙϦγΛϦϞʔτͰ؅ཧ
    - ࡞੒͞ΕͨίϯςφͷϙϦγΛ4VCBDP3PVUFSʹఏڙ
    - ίϯςφΛϗετ͢Δ04͔Β௚઀ϙϦγΛઃఆ͠ͳ͍͜ͱͰɺ
    4VCBDPʹର͢Δ߈ܸΛ๷ࢭ
    ϋΠύʔόΠβͰ
    ϧʔςΟϯάͱΞΫηε੍ޚΛ࣮ࢪ
    4VCBDP$POUSPMMFS
    4VCBDP
    ίϯςφ$
    W/*$
    4VCBDP3PVUFS
    ෺ཧ/*$
    ίϯςφ#
    W/*$
    ίϯςφ"
    W/*$
    04
    QPMJDJFT
    $POUBJOFS"
    MBCFMVTFS"
    $POUBJOFS#
    MBCFMVTFS"
    FYQPTFUSVF
    MBCFMT
    VTFS"
    SVMFNBUDI
    ؅ཧ༻/*$

    View Slide



  13. ߴ଎ͳىಈͱΞϓϦέʔγϣϯੑೳͷҡ࣋ ཁ݅ʹؔ࿈

    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େ׆༂ʂʂʂ

    View Slide



  14. 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εϧʔϓοτ

    View Slide



  15. ධՁɿΞϓϦέʔγϣϯੑೳ
    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

    View Slide



  16. ηΩϡϦςΟධՁ
    '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

    View Slide


  17. ࣮૷ͷ͸ͳ͠

    View Slide



  18. WJSUJPOFU/*$ͷεέʔϧ
    ϞνϕʔγϣϯɿίϯςφΛ࢖༻ͨ͠Ϋϥ΢υαʔϏε͸
    ୆ͷϚγϯ্Ͱ਺ඦͷίϯςφΛ࣮ߦ͢Δ
    • 4VCBDPͰ࡞੒Ͱ͖Δ/*$਺ʹಉ࣮࣌ߦՄೳͳίϯςφ਺্ݶ
    #JU7JTPSɿ࣮σόΠεͱԾ૝σόΠε͸جຊతʹ͸ର
    • ຊདྷ͸Ծ૝σόΠεΛେྔʹੜ΍͢࢖͍ํʹ͸ෆ޲͖ʁ
    • ೥ʹԾ૝1$*σόΠεʢԾ૝WJSUJPOFUʣରԠ͕ೖͬͨ
    - ࣮σόΠεͱ͸ແؔ܎ͷԾ૝σόΠεΛੜ΍ͤΔ
    • ଔݚ͕೥౓ͩͬͨͷͰ࠷ߴͷλΠϛϯάʂ
    ᒇᒜ ӳथ#JU7JTPS ೥ͷओͳมߋ఺ #JU7JTPS 4VNNJU IUUQTXXXTMJEFTIBSFOFUCJUWJTPSCJUWJTPSTVNNJUCJUWJTPS "DDFTTFEPO

    View Slide



  19. Ͳ͜·Ͱεέʔϧ͢Δ͔ʁ
    ݸఔ౓Ͱݶք͕དྷΔ
    • 1BOJDͯ͠ࢮ͵
    • *0)BOEMFSͷσΟεΫϦϓλͷ্ݶ͕ݸ
    ˠ্ݶΛ૿΍ͯ͠ରॲ
    ݸ͙Β͍·Ͱεέʔϧ͢Δ
    • ؀ڥґଘ
    • Ծ૝1$*σόΠε͸1$*όε൪ͷۭ͖σόΠε൪߸Λ࢖༻ͯ͠࡞੒͞ΕΔ
    • ෳ਺ݸ࡞੒͞ΕΔͱɺۭ͖σόΠε൪߸ҎԼͷϑΝϯΫγϣϯ

    View Slide



  20. 思ったよりスケールしない…

    View Slide



  21. ͞Βʹεέʔϧͤ͞ΔͨΊʹ
    ࣮σόΠεͷ࢖ΘΕ͍ͯͳ͍ϑΝϯΫγϣϯ͕͋Δ
    • )PTU#SJEHF΍༷ʑͳίϯτϩʔϥ
    • ΋ͬͨͳ͍ͷͰഈआ͍ͨ͠
    ࣮σόΠεʹԾ૝WJSUJPOFU/*$Λدੜͤ͞Δ
    • ࡞੒࣌ʹ࣮σόΠεͷະ࢖༻ϑΝϯΫγϣϯΛ࢖༻͢ΔΑ͏मਖ਼
    • 1$*$POGJHVSBUJPO4QBDF΁ͷΞΫηεͷϋϯυϥΛमਖ਼
    - دੜ͞Ε࣮ͨσόΠεΛԾ૝σόΠεͱͯ͠ೝࣝͯ͠͠·͍ɺ
    ࣮σόΠε΁ͷશΞΫηε͕Ծ૝σόΠεଆʹٵΘΕͯ04͕ىಈ͠ͳ͍
    - ࢖༻ϑΝϯΫγϣϯ൪߸ͷ৘ใΛอ࣋͠ɺ
    ࣮σόΠε͔Ծ૝σόΠεͲͪΒ΁ͷΞΫηε͔൑ผ͢Δͱ͖ʹ
    ϑΝϯΫγϣϯΛߟྀ͢ΔΑ͏ʹมߋ
    • ݸ͘Β͍·Ͱ૿͑ͨ
    ϝϞϦ
    $16
    ϗετϒϦοδ
    /*$ /*$ /*$
    σόΠε /*$ /*$
    /*$ /*$

    View Slide



  22. ࣮σόΠεʹدੜ͢ΔԾ૝WJSUJPOFU/*$
    実デバイス番号の使われていないファンクションがある

    View Slide



  23. Ծ૝WJSUJPOFU/*$͸ϩάग़ྗ΍5$1*1ελοΫར༻͕ϝΠϯ
    • ࣮/*$Λհͨ͠֎෦ͱͷ௨৴΍Ծ૝WJSUJPOFU/*$ؒͰ௨৴͢Δʹ͸ػೳ͕ෆ଍
    Ծ૝WJSUJPOFU/*$͔Β֎෦΁ͷ௨৴
    • #JU7JTPSͷωοτϫʔΫυϥΠό
    - 7JSUJPOFUଆɿήετόοϑΝͱதؒόοϑΝؒ
    - ࣮σόΠευϥΠόଆɿதؒόοϑΝɾγϟυ΢ؒ
    - Ծ૝1$*σόΠευϥΠόɿதؒόοϑΝ͔Βઌ͕ͳ͍
    • Ծ૝1$*σόΠευϥΠό͔Β
    ࣮σόΠευϥΠόͷγϟυ΢ʹίϐʔ͢ΔΑ͏ʹվม
    WJSUJPOFU/*$
    ήετ
    όοϑΝ
    Ծ૝WJSUJPOFU/*$
    ήετ
    όοϑΝ
    ࣮/*$
    Ծ૝1$*σόΠ
    ε
    γϟυ΢
    όοϑΝ
    தؒόοϑΝ தؒόοϑΝ
    -ϧʔςΟϯάͷ࣮ݱ

    View Slide



  24. ֎෦͔ΒԾ૝WJSUJPOFU/*$Ծ૝WJSUJPOFU/*$ؒ௨৴
    • Ծ૝WJSUJPOFU/*$ͷ."$ΞυϨεͷमਖ਼
    - ݻఆ͔Β
    Ϛγϯ಺ͰϢχʔΫͳϩʔΧϧΞυϨεʹมߋ
    • ."$ΞυϨεͱWJSUJPOFUͷߏ଄ମ΁ͷ
    ϙΠϯλͷςʔϒϧ
    - &UIFSOFUϑϨʔϜͷѼઌ."$ΞυϨε͔Β
    ͲͷԾ૝WJSUJPOFU/*$ͷWJSURVFVFʹసૹ͢Δ͔ܾఆ
    • ࣮/*$ͷϓϩϛεΩϟεϞʔυ༗ޮԽ
    - Ծ૝WJSUJPOFU/*$ѼͷϑϨʔϜΛड৴͢ΔͨΊ
    WJSUJPOFU/*$
    ήετ
    όοϑΝ
    Ծ૝WJSUJPOFU/*$
    ήετ
    όοϑΝ
    ࣮/*$
    ϓϩϛεΩϟε

    Ծ૝1$*σόΠε
    γϟυ΢
    όοϑΝ
    தؒόοϑΝ
    தؒόοϑΝ
    Ծ૝WJSUJPOFU/*$
    ήετ
    όοϑΝ
    Ծ૝1$*σόΠε
    தؒόοϑΝ
    Ծ૝WJSUJPOFU/*$
    ήετ
    όοϑΝ
    Ծ૝1$*σόΠε
    தؒόοϑΝ
    Ծ૝WJSUJPOFU/*$
    ήετ
    όοϑΝ
    Ծ૝1$*σόΠε
    தؒόοϑΝ
    -ϧʔςΟϯάͷ࣮ݱ

    View Slide



  25. *0ൃߦݩίϯςφ ϓϩηε
    ͷಛఆ
    7.&YJU࣌ʹऔಘͰ͖ΔήετͷϨδελ৘ใ͔ΒUBTL@TUSVDUΛݟ͚ͭΔ
    • 341ʹ֨ೲ͞Ε͍ͯΔ
    ΧʔωϧελοΫͷϙΠϯλΛ࢖༻
    - ετϨʔτϚοϓ͞Ε͍ͯΔྖҬͷԾ૝ΞυϨε
    • Ծ૝ΞυϨε͔Β෺ཧΞυϨε΁ͷม׵
    - WJSU@UP@QIZTΛҠ২
    • ελοΫϙΠϯλͷΞυϨε͔Β
    UBTL@TUSVDUΛಛఆ
    - 1*%1(*%ɾ-JOVY/BNFTQBDFͷJOPEF൪߸Λऔಘ
    - ίϯςφϥϯλΠϜ͔Β
    औಘͨ͠৘ใͱಥ͖߹ΘͤΔ
    Ϣʔβۭؒ
    Χʔωϧۭؒ
    ෺ཧ
    ΞυϨε
    YGGGGGGGGGGG
    Y
    YGGGG
    YGGGGD
    341
    UBTL@TUSVDU

    View Slide



  26. *0ൃߦݩίϯςφͷಛఆػೳͷ੍໿

    ಈ࡞͢Δ-JOVYΧʔωϧͷόʔδϣϯ΍σΟετϦϏϡʔγϣϯʹڧ͘ґଘ
    • UBTL@TUSVDUͷߏ଄͕มΘΔͱऴΘΔ
    - 3FE)BUܥʹ͸UBTL@TUSVDU಺ʹ3)@,"#*@3&4&37&ͱ͍͏༧໿ྖҬ͕͋Δ
    - ։ൃ࣌ʹ$FOU04Λ࢖༻͍ͯͯ͠ɺ༧໿ྖҬͷݟམͱ͠Ͱ͔ͳΓ࣌ؒΛ༹͔ͨ͠
    - όχϥΧʔωϧͷιʔείʔυ͚ͩͰ͸ͳ͘ɺσΟετϦϏϡʔγϣϯ΋ߟྀ͢Δඞཁ
    • UISFBE@JOGP಺ʹUBTL@TUSVDU΁ͷϙΠϯλ͕͋ΔΧʔωϧͷόʔδϣϯ͡Όͳ͍ͱಈ࡞͠ͳ͍
    - UISFBE@JOGPͱΧʔωϧελοΫ͸VOJPOͳͨΊɺΧʔωϧελοΫͷαΠζ͔Β
    ઌ಄ΞυϨεΛࢉग़ͯ͠UISFBE@JOGPΛऔಘ͠ɺ͔ͦ͜ΒUBTL@TUSVDUʹ౸ୡͰ͖Δ
    - UISFBE@JOGPɺελοΫϙΠϯλ͔ΒUBTL@TUSVDUΛ୧ͬͯѱ͍͜ͱΛ͢Δෆಧ͖ऀ͕͍ΔͨΊɺফ໓
    - ҎલͷΧʔωϧ͕ඞཁ
    • MJC7.*ͳͲΛ࢖͏΂͖ͩͬͨʁ
    - ଔ࿦ʹؒʹ߹ΘͤΔͨΊʹŚŘźŕͱ࣮૷ͨ͠ͷͰɺ࡞Γ௚͢ͳΒ7.*ܥͷπʔϧΛ׆༻͍ͨ͠

    View Slide



  27. *0ൃߦݩίϯςφͷಛఆػೳͷ੍໿

    ,"4-3͕͋Δͱ͏·͘͏͔͝ͳ͍
    • Ծ૝ΞυϨε͔Β෺ཧΞυϨε΁ͷม׵͕೉͘͠ͳΔ
    • Կ͔͍͍ํ๏͕͋Ε͹ڭ͑ͯԼ͍͞
    ύϑΥʔϚϯε͕௿Լ͢Δ
    • ύέοτ͕ૹ৴͞Εͯ7.&YJU͢ΔͨͼʹϓϩηεͷಛఆॲཧΛ࣮ߦ
    • UBTL@TUSVDUͳͲͷΧʔωϧ಺ͷߏ଄ମΛ#JU7JTPSͰෳ਺ճϚοϐϯά͢Δඞཁ
    • (C&Ͱεϧʔϓοτ͕໿ˋ͘Β͍௿Լͨ͠

    View Slide



  28. ؆қɾߴ଎ͳίϯςφૹ৴ݩίϯςφಛఆ
    ίϯςφ΁ͷ/*$ׂΓ౰ͯ࣌ʹɺ/*$ͷ1$*όεɾσόΠεɾϑΝϯΫγϣϯ൪߸ͱ
    ."$ΞυϨεɾ*1ΞυϨεΛରԠ෇͚
    • ѱҙͷ͋Δίϯςφ͔Βૹ৴͞Εͨ
    ૹ৴ݩΞυϨεِ͕଄͞ΕͨύέοτΛݕग़
    • ύέοτͱσόΠε΁ͷΞΫηε৘ใ͚ͩͰ׬݁͢ΔͨΊ
    7.&YJU࣌ʹ௥Ճͷ৘ใऔಘ͕ෆཁ
    - ύϑΥʔϚϯεྼԽ͕΄΅ͳ͍

    View Slide


  29. ݚڀͷཪ࿩ɾܦҢʢ͕࣌ؒ͋Ε͹ʣ

    View Slide



  30. ݚڀͷ͖͔͚ͬ #

    ίϯςφͱ#JU7JTPSΛ૊Έ߹ΘͤͯԿ͔Λ͔ͨͬͨ͠ʢϘτϜΞοϓతʣ
    • #ͷ࣌ʹ#JU7JTPS΁ͷNSVCZͷҠ২Λ΍͍ͬͯͯ਌͠Έ
    ͕͋ͬͨ
    • #JU7JTPSίϯςφ୭΋΍ͬͯͳ͍͓͠΋͠Ζͦ͏
    ,BUB$POUBJOFSͱH7JTPSͷதؒΛૂ͏ίϯςφΛ࡞Δ
    • 04ΧʔωϧΛڞ༗ͨ͠··ͲΕ͚ͩίϯςφִؒ཭ΛڧԽͰ͖Δ͔ʁ
    • #JU7JTPSΛ׆༻ͯ͠ίϯςφؒͰڞ༗͢ΔϦιʔε΍σόΠεʹରͯ͠
    Կ͔͠ΒͷΞΫηε੍ޚΛڧ੍
    • ಛఆͷϦιʔε΍σόΠεʹಛԽͯ͠ੑೳ໘Ͱύϥύεεϧʔͷྑ͞ΛڗडͰ͖ͳ͍͔

    View Slide



  31. ͳͥ#JU7JTPSͰωοτϫʔΫִ཭ͳͷ͔
    • ϑΝΠϧ͸04ͷந৅ԽΛอͬͨ··੍ޚ͢Δͷ͕೉͍͠
    • ϝϞϦ͸&15Ͱ΍͍ͬͯΔઌߦݚڀ͕͋ͬͨ
    • -JOVY$BQBCJMJUZΛ༻͍ͯίϯςφʹݖݶΛ෇༩ͨ͠৔߹ɺ
    ωοτϫʔΫपΓͷݖݶ෼ׂͷཻ౓͕ߥ͔ͬͨ
    - ౰࣌͸QJOHΛ࣮ߦ͢Δʹ͸$"1@/&5@3"8͕ඞཁͰɺ
    ෇༩͢Δͱ"31εϓʔϑΟϯάͰ͖ͯ͠·͏ͱ͍ͬͨ͜ͱ͕͋ͬͨ
    - #JU7JTPSΛ࢖ͬͯίϯςφʹ෇༩͢ΔݖݶΛ'JOF(SBJOFEʹͰ͖ͳ͍͔ʁ
    • ѱҙͷ͋ΔίϯςφʹΑΔ"31εϓʔϑΟϯάͳͲΛ๷͙ͱ͍͏಺༰ͷଔ࿦
    +JYJOH (V $IVOZBO -JV4FDVSF$POUBJOFST8JUI&15*TPMBUJPO -JOVY$PO $POUBJOFS$PO $MPVE0QFO $IJOB IUUQTXXXTMJEFTIBSFOFU-$$IJOBTFDVSFDPOUBJOFSTXJUIFQUJTPMBUJPO "DDFTTFEPO

    View Slide



  32. ํ޲ੑͷస׵ .

    #JU7JTPSΛ࢖ͬͯωοτϫʔΫ͚ͩΛݎ࿚ʹ͢Δྑ͞Λ͖ࣔ͠Εͳ͔ͬͨ ഊ

    • -JOVY$BQBCJMJUZ͸ωοτϫʔΫҎ֎΋'JOF(SBJOFEͱ͸ݴ͑ͳ͍
    • ͦΕ͸εΠον΍ϧʔλͷ࢓ࣄͰ͸ʁ
    • ηϚϯςΟοΫΪϟοϓղফͷͨΊͷίϯςφಛఆػೳͰ
    ωοτϫʔΫੑೳ͕େ෯ʹ௿Լ͢Δ͕ɺϋΠύʔόΠβͰ΍Δҙٛ͸Կ͔ʁ
    #JU7JTPSͰίϯςφωοτϫʔΫͷσʔλύε࠷దԽ
    • WFUI΍ϒϦοδͳͲΛ࢖༻͢ΔͨΊɺσʔλύε͕௕͘ɺίϯςΩετεΠον͕૿Ճ
    • #JU7JTPSͰίϯςφԾ૝43*07Έ͍ͨʹͯ͠ɺγϯϓϧͳߏ੒ʹͳͬͯੑೳ͕޲্͠ͳ͍͔ʁ
    • ಛʹมΘΓ·ͤΜͰͨ͠ ഊ

    - WFUI΍ϒϦοδʹΑΔΦʔόϔουΛ࡟ݮͯ͠΋ɺ
    ϋΠύʔόΠβͷΦʔόϔουͰ݁ہมΘΒͳ͍

    View Slide



  33. ֶ෦ͷ಺༰ʹ໭Δ .

    ݪ఺ճؼͯ͠ݎ࿚ͳωοτϫʔΫִ཭ͰݚڀͷཱͪҐஔΛ࠶ݕ౼
    • 04ΑΓԼͰσόΠε৘ใͱ૊Έ߹ΘͤͨϙϦγͷڧ੍΍ѱҙͷ͋Δύέοτͷݕग़
    - Ϛγϯ֎ͷεΠον΍ϧʔλͩͱɺύέοτϔομ಺ͷ৘ใҎ֎ͷίϯςΩετ͕૕ࣦ
    - ݎ࿚ͳִ཭ͱ*0ؔ࿈ʢؤுΕ͹ήετ04ʣίϯςΩετͷཱ͕྆ϋΠύʔόΠβͰ΍Δྑ͞
    - ͱ͸͍͑ɺηϚϯςΟοΫΪϟοϓΛ৐Γӽ͑Δͷ͸େม
    - "14ZTͱ͍͏ࠃࡍձٞʹ౤ߘɿ3FKFDU 8FBL3FKFDUºɺ8FBL"DDFQUº

    • ωοτϫʔΫ͚ͩݎ࿚ʹ͢Δҙຯ͕෼͔ΒΜͱ͍ΘΕͯഊ๺
    • 4BOECPY5BJMPSJOHͱ͍͏ίϯηϓτ
    - ΞϓϦέʔγϣϯಛੑʹ߹Θͤͯɺ
    ύϥύεεϧʔͰಛఆϦιʔεಛԽͷݎ࿚ͳִ཭Λ࣮ݱ͠ɺଞͷख๏ͱ૊Έ߹ΘͤΔ
    • #͔ΒݟΔͱឯ༨ۂં͕͋ͬͨɺͱΓ͋͑ͣண஍ʜ
    - 6$$ɿ"DDFQU "DDFQUºɺ8FBL"DDFQUɺ#PSEFS

    View Slide



  34. ·ͱΊ
    4VCBDPɿ#JU7JTPSΛ׆༻ͨ͠ίϯςφωοτϫʔΫִ཭ػߏ
    • Ծ૝WJSUJPOFU/*$Λίϯςφʹఏڙ
    • ѱҙͷ͋Δύέοτͷݕग़΍ΞΫηε੍ޚͷڧ੍
    ࠓޙͷ༧ఆ
    • ӳޠδϟʔφϧԽ
    ΍Γ͔͚ͨͬͨͲ࣌ؒͷ౎߹ͰͰ͖ͳ͔ͬͨ͜ͱ
    • #JU7JTPS૊ΈࠐΈͷNSVCZΛ༻͍ͨಈతͳ੍ޚ
    • ෳ਺Ϛγϯ؀ڥͰͷίϯςφωοτϫʔΫ
    - ݱঢ়͸୯ҰϚγϯલఏͷߏ੒
    - #JU7JTPSͰ79-"/ʁ#(1ʁ

    View Slide