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

ゆううきの研究開発まとめ (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
  2. 2 1. ݚڀςʔϚ 2. େֶɾେֶӃ࣌୅ͷݚڀ 3. ΤϯδχΞͱͯ͠ͷݚڀ։ൃ 4. ͘͞ΒͰͷݚڀ։ൃ΍͍͖ͬͯ 5.

    ·ͱΊ ΞδΣϯμ
  3. 1. ݚڀςʔϚ

  4. 4 ਓؒͱίϯϐϡʔλʔͷؔ܎ੑͱӡ༻ ίϯϐϡʔλʔ γεςϜ Ϣʔβʔ ։ൃӡ༻ऀ ӡ༻ ӡ༻ • ։ൃӡ༻ऀ޲͚ͷίϯϐϡʔλʔγεςϜ΋ଟ਺͋Γ

    Ϣʔβʔͱ։ൃӡ༻ऀͷ۠ผ΋ᐆດʹͳ͍ͬͯΔ • ਓؒͱίϯϐϡʔλʔͷؔ܎ੑ͸มԽͯ͠΋”ӡ༻”͕ ଘࡏ͢Δ͜ͱʹมΘΓ͸ͳ͍ “ӡ༻”: มߋ => ҭ੒ => ର࿩ ݱ࣮͸ίϯϐϡʔλʔͷมߋ͕ ා͍
  5. 5 ݚڀςʔϚ: ӡ༻Λָ͘͢͠Δ ɾίϯϐϡʔλʔγεςϜ΁ͷڪාΛͳ͘͠ӡ༻Λָ͠ΊΔΑ͏ʹ͢ Δ ɾָ͘͠ͳ͍ͱਐ·ͳ͍ ɾίϯϐϡʔλʔ͕ਓͷ࢓ࣄΛୣ͍ͬͯͬͨ͋ͱʹ࢒Δ΋ͷͷҰͭʹ ίϯϐϡʔλʔͷӡ༻Λָ͠Ή͜ͱͰ͸ͳ͍͔

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

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

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

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

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

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

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

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

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

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

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

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

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

  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
  20. 20 ɾࠪಡ෇͖࿦จ 1݅ ɾֶज़ߨԋ x 3݅ ɾࠃ಺ൃද x 34݅ ɾύωϧσΟεΧογϣϯ

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

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

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

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

  25. 25 ݚڀϚΠϧετʔϯ: ࿦จ౤ߘۦಈ ࿦จ౤ߘ ಺༰ ~4݄ IOT45 σʔλΠϯςϯγϒɾϢϏΩλεDCͷ ઃܭ ~5݄

    IOT46 TimeFuzeΞʔΩςΫνϟ ~7݄ DICOMO2019 (COMPSAC 2019) ࣌ܥྻσʔλϕʔε ~8݄ FIT 2019 άϥϑߏ଄ՄࢹԽ ~9݄ IOTS2019(ࠪಡ෇) ↑ͷதͰࣗ৴ͷ͋Δ΋ͷ
  26. 26 ɾ࿦จͷʮ͸͡ΊʹʯΛॻ͚Δ͜ͱΛϚΠϧετʔϯͱͯ͠ɺ࠷ॳ͔ ΒετʔϦʔΛͭ͘Γͳ͕Βɺݚڀ։ൃ͍ͯ͘͠ ɾͻͱͭͷςʔϚΛҭͯΔ ɾݚڀձ࿦จɺࠃ಺ࠪಡ෇͖࿦จɺࠃࡍձٞɺδϟʔφϧΛ௨ͨ͡ ࣭ͷ޲্ ɾ࿦จͷͨΊͷίʔυͰ͸ͳ͘ɺ࣮ફͰ࢖͑Διϑτ΢ΣΞͱͯ͠࡞ ΓࠐΜͰ͍͘ ࠓޙͷల๬