Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ゆううきの研究開発まとめ (2019年2月版) / The summary of yuuki's research and development in 02/2019

ゆううきの研究開発まとめ (2019年2月版) / The summary of yuuki's research and development in 02/2019

さくらインターネット研究所 研究会 2019.02.13

これまでの研究開発や開発運用について、さくらインターネット研究所内の研究会で話しました。

研究員 坪内佑樹

Yuuki Tsubouchi (yuuk1)

February 13, 2019
Tweet

More Decks by Yuuki Tsubouchi (yuuk1)

Other Decks in Research

Transcript

  1. ͘͞ΒΠϯλʔωοτ
    גࣜձࣾ
    (C) Copyright 1996-2019 SAKURA Internet Inc
    ͘͞ΒΠϯλʔωοτ
    ݚڀॴ
    Ώ͏͏͖ͷݚڀ։ൃ·ͱΊ
    (2019೥2݄൛)
    2019/02/13 ݚڀһ ௶಺ ༎थ
    ͘͞ΒΠϯλʔωοτݚڀॴ ݚڀձ 2019.02.13
    @yuuk1t / id:y_uuki

    View Slide

  2. 2
    1. ݚڀςʔϚ
    2. େֶɾେֶӃ࣌୅ͷݚڀ
    3. ΤϯδχΞͱͯ͠ͷݚڀ։ൃ
    4. ͘͞ΒͰͷݚڀ։ൃ΍͍͖ͬͯ
    5. ·ͱΊ
    ΞδΣϯμ

    View Slide

  3. 1.
    ݚڀςʔϚ

    View Slide

  4. 4
    ਓؒͱίϯϐϡʔλʔͷؔ܎ੑͱӡ༻
    ίϯϐϡʔλʔ
    γεςϜ
    Ϣʔβʔ ։ൃӡ༻ऀ
    ӡ༻
    ӡ༻
    • ։ൃӡ༻ऀ޲͚ͷίϯϐϡʔλʔγεςϜ΋ଟ਺͋Γ
    Ϣʔβʔͱ։ൃӡ༻ऀͷ۠ผ΋ᐆດʹͳ͍ͬͯΔ
    • ਓؒͱίϯϐϡʔλʔͷؔ܎ੑ͸มԽͯ͠΋”ӡ༻”͕
    ଘࡏ͢Δ͜ͱʹมΘΓ͸ͳ͍
    “ӡ༻”: มߋ => ҭ੒ => ର࿩
    ݱ࣮͸ίϯϐϡʔλʔͷมߋ͕
    ා͍

    View Slide

  5. 5
    ݚڀςʔϚ: ӡ༻Λָ͘͢͠Δ
    ɾίϯϐϡʔλʔγεςϜ΁ͷڪාΛͳ͘͠ӡ༻Λָ͠ΊΔΑ͏ʹ͢
    Δ
    ɾָ͘͠ͳ͍ͱਐ·ͳ͍
    ɾίϯϐϡʔλʔ͕ਓͷ࢓ࣄΛୣ͍ͬͯͬͨ͋ͱʹ࢒Δ΋ͷͷҰͭʹ
    ίϯϐϡʔλʔͷӡ༻Λָ͠Ή͜ͱͰ͸ͳ͍͔

    View Slide

  6. 6
    ɾා͞ͷݪҼ͸৴པੑͷ௿Լ
    ɾ৴པੑΛ੍ޚ͠ɺมߋ଎౓Λ࠷େԽ͢Δ
    ɾมߋͰ͖Δ͜ͱ͸ָ͍͠
    Site Reliability Engineering (SRE)
    https://blog.yuuk.io/entry/2019/thinking-sre

    View Slide

  7. 7
    ɾ؍ଌͱ࣮ݧͷϧʔϓΛߴ଎ʹճ͠ɺ৴པੑΛ੍ޚͭͭ͠มߋ଎౓Λ
    ߴΊΔγεςϜϏδϣϯ
    Experimentable Infrastructure

    View Slide

  8. 8
    ɾมߋ͕೉͍͠ͷ͸σʔλΛ΋ͭγεςϜ
    ɾ͜Ε͔Β͸ਓ͕ؒੜ੒͢ΔίϯςϯπΑΓ
    ΋ػց͕ੜ੒͢Δσʔλ͕ٸ૿
    ɾOS΍ϛυϧ΢ΣΞͷϨΠϠͷΈͰ͋ΒΏΔ
    ཁٻΛຬͨ͢ͷ͸ࠔ೉
    ɾΞϓϦέʔγϣϯ΍ӡ༻ٕज़·Ͱ౿ΈࠐΜ
    ͩਨ௚౷߹తͳΞϓϩʔν͕ඞཁ
    Data-Intensive Applications

    View Slide

  9. 2.
    ֶ෦ɾେֶӃ࣌୅ͷݚڀ

    View Slide

  10. 10
    ɾେֶֶ෦࣌୅
    ɾॏෳഉআετϨʔδͷͨΊͷSHA-1ܭࢉγεςϜͷSSE໋ྩʹΑΔߴ
    εϧʔϓοτԽ
    ɾେֶӃത࢜લظ՝ఔ࣌୅
    ɾTCP/IPελοΫʹ͓͚ΔνΣοΫαϜܭࢉͷGPUΦϑϩʔσΟϯά
    2011~2013೥

    View Slide

  11. 11
    ϓϩηοαͷΩϟογϡϝϞϦͱSIMDԋࢉ

    View Slide

  12. 12
    GPGPUͱLinuxΧʔωϧύέοτॲཧ
    ɾLinuxΧʔωϧͷTCP/IPελοΫॲཧͷ͏ͪɺTCPϔομͷνΣοΫα
    ϜܭࢉΛGPUʹ·͔ͤͯεϧʔϓοτΛ޲্ͤ͞Δ
    ɾGPUͷϝϞϦ্ʹର৅σʔλ͕ἧͬͯͳ͍ͱGPUͷ࣮ޮޮ཰͕௿͍
    ɾύέοτ܊Λ1ͭͷετϦʔϜʹ٧ΊࠐΜͰɺGPU্Ͱ·ͱΊͯܭࢉ
    ͤ͞Δ
    ɾ1500όΠτఔ౓ͷύέοτͰ͸ੑೳ͕ͰͣɺJumbo Frame (7000ό
    Πτ͙Β͍) ར༻࣌ʹطଘख๏ΑΓ΋εϧʔϓοτ͕ߴ͘ͳΔ

    View Slide

  13. 13
    ֶ෦ɾେֶӃ࣌୅ͷৼΓฦΓ
    ɾϓϩηοαɺฒྻॲཧɺLinuxΧʔωϧɺTCP/IPʹֶ͍ͭͯ΂ͨ
    ɾ͜ͷ͋ͨΓͷॲཧϞσϧͱ࣮ߦ࣌ؒɺϦιʔεফඅͷഽײ͕֮ͳΜͱ
    ͳ͘Θ͔͍ͬͯΔͱɺ্ҐͷWebαʔό΍σʔλϕʔεΛѻ͏্Ͱϒ
    ϥοΫϘοΫε͕গͳ͘ݟ͑ͨ
    ɾ࣮ࡍʹଘࡏ͠ͳ͍໰୊Λղ͍͍ͯΔΑ͏ͳؾ࣋ͪʹͳΔ͜ͱ΋͋ͬͨ
    ɾاۀʹೖͬͯɺ࣮ࣾձͷ໰୊ҙࣝΛ࣮ײ্ͨ͠ͰɺݚڀͰ͖ΔͱΑΓ
    Αͦ͞͏ͩͱߟ͑࢝Ίͨ

    View Slide

  14. 14
    ͜ͷ͜Ζͷϒϩά
    ɾ΄ͦ΅ͦͱॻ͍͍ͯͨϒϩά͕ಡ·ΕΔΑ͏ʹ

    View Slide

  15. 3.
    ΤϯδχΞͱͯ͠ͷݚڀ։ൃ

    View Slide

  16. 16
    ɾαʔό؂ࢹαʔϏεͷߏஙͱӡ༻
    ɾϒϩάαʔϏεͳͲɺ఻౷తͳWebαʔϏεͷߏஙͱӡ༻
    ɾશαʔϏεͷΠϯϑϥج൫(Ծ૝Խ΍ϓϩϏδϣχϯάͳͲ)ͷ։ൃ
    ͱӡ༻
    ɾϓϩδΣΫτϚωδϝϯτɺνʔϜϏϧσΟϯάɺϝϯλϦϯά
    ɾγεςϜϏδϣϯ͔Β໰୊Λղܾ͢ΔϙδςΟϒΞϓϩʔνͷ࣮ફ
    ܦݧͨ͠։ൃɾӡ༻

    View Slide

  17. 17
    ࣌ܥྻσʔλϕʔεͷߏஙɾӡ༻ɾ։ൃ
    https://blog.yuuk.io/entry/high-performance-graphite
    https://blog.yuuk.io/entry/the-rebuild-of-tsdb-on-cloud

    View Slide

  18. 18
    ϨΨγʔγεςϜͷӡ༻վળ

    View Slide

  19. 19
    ݚڀ։ൃ࣮੷
    1.௶಺༎थ, TimeFuzeΞʔΩςΫνϟߏ૝ - ॲཧͱσʔλͱλΠϚʔΛҰମԽͨ͠σʔ
    λύΠϓϥΠϯ, ΢ΣϒγεςϜΞʔΩςΫνϟ(WSA)ݚڀձ ୈ1ճ, 2017೥12݄23೔
    2.௶಺༎थ, αʔόϨε࣌୅ʹ͓͚ΔϔςϩδχΞε࣌ܥྻσʔλϕʔεΞʔΩςΫ
    νϟ, ΢ΣϒγεςϜΞʔΩςΫνϟ(WSA)ݚڀձ ୈ2ճ, 2018೥05݄12೔
    3.௶಺༎थ,ݹ઒խେ, TCP઀ଓͷ௥੻ʹΑΔ؆ུԽ͞ΕͨωοτϫʔΫґଘؔ܎άϥϑ
    ͷՄࢹԽج൫, ୈ3ճ΢ΣϒγεςϜΞʔΩςΫνϟ(WSA)ݚڀձ, 2018೥11݄17೔
    ɾࠃ಺ࠪಡ෇͖࿦จ
    ɾޱ಄ൃද
    ௶಺༎थ,࿬ࡔேਓ,ᖛా݈,দ໦խ޾,Ѩ෦ത,দຊ྄հ, HeteroTSDB: ҟछࠞ߹Ωʔό
    ϦϡʔετΞΛ༻͍ͨࣗಈ֊૚ԽͷͨΊͷ࣌ܥྻσʔλϕʔεΞʔΩςΫνϟ, Πϯ
    λʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ࿦จू, 2018, 7-15 (2018-11-29), Dec 2018

    View Slide

  20. 20
    ɾࠪಡ෇͖࿦จ 1݅
    ɾֶज़ߨԋ x 3݅
    ɾࠃ಺ൃද x 34݅
    ɾύωϧσΟεΧογϣϯ x 4݅
    ɾڝٕ ISUCON ຊઓग़৔ 2ճ
    ɾϒϩάଟ਺
    ࣮੷·ͱΊ

    View Slide

  21. 21
    ɾ։ൃͨ͠಺༰Λݚڀͱͯ͠૊Έ௚͠ɺ࿦จ౤ߘ΍ݚڀձൃද
    ɾ࣮ࡍͷࣾձͷཁٻʹج͍ͮͨ໰୊ҙࣝΛѻ͑ɺϓϩμΫγϣϯͰಈ
    ࡞͍ͯ͠Δ΋ͷΛ࿦จʹॻ͚Δ
    ɾҰํͰɺ࣮຿Ͱ͸୹ظతͳ଎౓༏ઌʹͳΓ͕ͪͳͨΊɺݚڀΛҭͯ
    ͍ͯ͘͜ͱ͸೉͍͠
    ɾ਺೔Ͱ։ൃͨ͠΋ͷͰ΋ϓϩμΫΫγϣϯ؀ڥͰීٴͤ͞Δʹ͸ɺ
    ೥୯Ґͷ͕͔͔࣌ؒͬͨ
    ΤϯδχΞͱͯ͠ͷݚڀ։ൃৼΓฦΓ

    View Slide

  22. 4.
    ͘͞ΒͰͷݚڀ։ൃ΍͍͖ͬͯ

    View Slide

  23. 23
    ɾ୺຤ͱαʔόʔؒͷ஗Ԇ࡟ݮ
    ɾσʔληϯλʔͷτϥϑΟοΫϘϦϡʔϜͷ࡟ݮ
    ϢϏΩλεσʔληϯλʔ
    ɾ఻౷తͳͷ΢ΣϒΞϓϦέʔγϣϯ
    ɾϦΞϧλΠϜͳ࣌ܥྻσʔλΛऩू͢ΔΞϓϦέʔγϣϯ
    Potentials
    ࣗ෼͕૝ఆ͢ΔApplications
    Challenges
    ɾϢϏΩλεDC؀ڥͰͷσʔλͷ഑ஔɺసૹ஗ԆɺނোΛಁա͢Δ

    View Slide

  24. 24
    ɾϢϏΩλεσʔληϯλʔߏ૝ͷ͏ͪɺData-IntensiveྖҬΛ୲౰
    ɾ஗Ԇͷେ͖ͳ෼ࢄ؀ڥͰ෼ࢄγεςϜͱͯ͠ͷಁաੑΛ୲อ͢Δ͜
    ͱ͕՝୊
    ɾ͋ΒΏΔΞϓϦέʔγϣϯΛมߋͳ͘ϢϏΩλεDC্ͰޮՌతʹಈ
    ࡞ͤ͞Δ͜ͱ͸೉͍͠
    ɾ·ͣ͸ɺΞϓϦέʔγϣϯΛԾఆͯ͠ɺঃʑʹҰൠԽ͍ͯ͘͠
    ɾWordPressͳͲͷ఻౷తͳWebΞϓϦέʔγϣϯ
    ɾIoTͳͲͷϦΞϧλΠϜ࣌ܥྻσʔλऩूΞϓϦέʔγϣϯ
    ݚڀํ਑

    View Slide

  25. 25
    ݚڀϚΠϧετʔϯ: ࿦จ౤ߘۦಈ
    ࿦จ౤ߘ ಺༰
    ~4݄
    IOT45 σʔλΠϯςϯγϒɾϢϏΩλεDCͷ
    ઃܭ
    ~5݄
    IOT46 TimeFuzeΞʔΩςΫνϟ
    ~7݄
    DICOMO2019
    (COMPSAC 2019)
    ࣌ܥྻσʔλϕʔε
    ~8݄
    FIT 2019 άϥϑߏ଄ՄࢹԽ
    ~9݄
    IOTS2019(ࠪಡ෇) ↑ͷதͰࣗ৴ͷ͋Δ΋ͷ

    View Slide

  26. 26
    ɾ࿦จͷʮ͸͡ΊʹʯΛॻ͚Δ͜ͱΛϚΠϧετʔϯͱͯ͠ɺ࠷ॳ͔
    ΒετʔϦʔΛͭ͘Γͳ͕Βɺݚڀ։ൃ͍ͯ͘͠
    ɾͻͱͭͷςʔϚΛҭͯΔ
    ɾݚڀձ࿦จɺࠃ಺ࠪಡ෇͖࿦จɺࠃࡍձٞɺδϟʔφϧΛ௨ͨ͡
    ࣭ͷ޲্
    ɾ࿦จͷͨΊͷίʔυͰ͸ͳ͘ɺ࣮ફͰ࢖͑Διϑτ΢ΣΞͱͯ͠࡞
    ΓࠐΜͰ͍͘
    ࠓޙͷల๬

    View Slide