ゆううきの研究開発まとめ (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

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

研究員 坪内佑樹

A658ec7f1badf73819dfa501165016c1?s=128

Yuuki Tsubouchi (yuuk1)

February 13, 2019
Tweet

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