さくらインターネット研究所 研究会 2019.02.13
これまでの研究開発や開発運用について、さくらインターネット研究所内の研究会で話しました。
研究員 坪内佑樹
͘͞ΒΠϯλʔωοτגࣜձࣾ(C) Copyright 1996-2019 SAKURA Internet Inc͘͞ΒΠϯλʔωοτݚڀॴΏ͏͏͖ͷݚڀ։ൃ·ͱΊ(20192݄൛)2019/02/13 ݚڀһ ௶ ༎थ͘͞ΒΠϯλʔωοτݚڀॴ ݚڀձ 2019.02.13@yuuk1t / id:y_uuki
View Slide
21. ݚڀςʔϚ2. େֶɾେֶӃ࣌ͷݚڀ3. ΤϯδχΞͱͯ͠ͷݚڀ։ൃ4. ͘͞ΒͰͷݚڀ։ൃ͍͖ͬͯ5. ·ͱΊΞδΣϯμ
1.ݚڀςʔϚ
4ਓؒͱίϯϐϡʔλʔͷؔੑͱӡ༻ίϯϐϡʔλʔγεςϜϢʔβʔ ։ൃӡ༻ऀӡ༻ӡ༻• ։ൃӡ༻ऀ͚ͷίϯϐϡʔλʔγεςϜଟ͋ΓϢʔβʔͱ։ൃӡ༻ऀͷ۠ผᐆດʹͳ͍ͬͯΔ• ਓؒͱίϯϐϡʔλʔͷؔੑมԽͯ͠”ӡ༻”͕ଘࡏ͢Δ͜ͱʹมΘΓͳ͍“ӡ༻”: มߋ => ҭ => ରݱ࣮ίϯϐϡʔλʔͷมߋ͕ා͍
5ݚڀςʔϚ: ӡ༻Λָ͘͢͠ΔɾίϯϐϡʔλʔγεςϜͷڪාΛͳ͘͠ӡ༻Λָ͠ΊΔΑ͏ʹ͢Δɾָ͘͠ͳ͍ͱਐ·ͳ͍ɾίϯϐϡʔλʔ͕ਓͷࣄΛୣ͍ͬͯͬͨ͋ͱʹΔͷͷҰͭʹίϯϐϡʔλʔͷӡ༻Λָ͠Ή͜ͱͰͳ͍͔
6ɾා͞ͷݪҼ৴པੑͷԼɾ৴པੑΛ੍ޚ͠ɺมߋΛ࠷େԽ͢ΔɾมߋͰ͖Δ͜ͱָ͍͠Site Reliability Engineering (SRE)https://blog.yuuk.io/entry/2019/thinking-sre
7ɾ؍ଌͱ࣮ݧͷϧʔϓΛߴʹճ͠ɺ৴པੑΛ੍ޚͭͭ͠มߋΛߴΊΔγεςϜϏδϣϯExperimentable Infrastructure
8ɾมߋ͕͍͠ͷσʔλΛͭγεςϜɾ͜Ε͔Βਓ͕ؒੜ͢ΔίϯςϯπΑΓػց͕ੜ͢Δσʔλ͕ٸ૿ɾOSϛυϧΣΞͷϨΠϠͷΈͰ͋ΒΏΔཁٻΛຬͨ͢ͷࠔɾΞϓϦέʔγϣϯӡ༻ٕज़·Ͱ౿ΈࠐΜͩਨ౷߹తͳΞϓϩʔν͕ඞཁData-Intensive Applications
2.ֶ෦ɾେֶӃ࣌ͷݚڀ
10ɾେֶֶ෦࣌ɾॏෳഉআετϨʔδͷͨΊͷSHA-1ܭࢉγεςϜͷSSE໋ྩʹΑΔߴεϧʔϓοτԽɾେֶӃത࢜લظ՝ఔ࣌ɾTCP/IPελοΫʹ͓͚ΔνΣοΫαϜܭࢉͷGPUΦϑϩʔσΟϯά2011~2013
11ϓϩηοαͷΩϟογϡϝϞϦͱSIMDԋࢉ
12GPGPUͱLinuxΧʔωϧύέοτॲཧɾLinuxΧʔωϧͷTCP/IPελοΫॲཧͷ͏ͪɺTCPϔομͷνΣοΫαϜܭࢉΛGPUʹ·͔ͤͯεϧʔϓοτΛ্ͤ͞ΔɾGPUͷϝϞϦ্ʹରσʔλ͕ἧͬͯͳ͍ͱGPUͷ࣮ޮޮ͕͍ɾύέοτ܊Λ1ͭͷετϦʔϜʹ٧ΊࠐΜͰɺGPU্Ͱ·ͱΊͯܭࢉͤ͞Δɾ1500όΠτఔͷύέοτͰੑೳ͕ͰͣɺJumbo Frame (7000όΠτ͙Β͍) ར༻࣌ʹطଘख๏ΑΓεϧʔϓοτ͕ߴ͘ͳΔ
13ֶ෦ɾେֶӃ࣌ͷৼΓฦΓɾϓϩηοαɺฒྻॲཧɺLinuxΧʔωϧɺTCP/IPʹֶ͍ͭͯͨɾ͜ͷ͋ͨΓͷॲཧϞσϧͱ࣮ߦ࣌ؒɺϦιʔεফඅͷഽײ͕֮ͳΜͱͳ͘Θ͔͍ͬͯΔͱɺ্ҐͷWebαʔόσʔλϕʔεΛѻ͏্ͰϒϥοΫϘοΫε͕গͳ͘ݟ͑ͨɾ࣮ࡍʹଘࡏ͠ͳ͍Λղ͍͍ͯΔΑ͏ͳؾ࣋ͪʹͳΔ͜ͱ͋ͬͨɾاۀʹೖͬͯɺ࣮ࣾձͷҙࣝΛ࣮ײ্ͨ͠ͰɺݚڀͰ͖ΔͱΑΓΑͦ͞͏ͩͱߟ͑࢝Ίͨ
14͜ͷ͜Ζͷϒϩάɾ΄ͦ΅ͦͱॻ͍͍ͯͨϒϩά͕ಡ·ΕΔΑ͏ʹ
3.ΤϯδχΞͱͯ͠ͷݚڀ։ൃ
16ɾαʔόࢹαʔϏεͷߏஙͱӡ༻ɾϒϩάαʔϏεͳͲɺ౷తͳWebαʔϏεͷߏஙͱӡ༻ɾશαʔϏεͷΠϯϑϥج൫(ԾԽϓϩϏδϣχϯάͳͲ)ͷ։ൃͱӡ༻ɾϓϩδΣΫτϚωδϝϯτɺνʔϜϏϧσΟϯάɺϝϯλϦϯάɾγεςϜϏδϣϯ͔ΒΛղܾ͢ΔϙδςΟϒΞϓϩʔνͷ࣮ફܦݧͨ͠։ൃɾӡ༻
17࣌ܥྻσʔλϕʔεͷߏஙɾӡ༻ɾ։ൃhttps://blog.yuuk.io/entry/high-performance-graphitehttps://blog.yuuk.io/entry/the-rebuild-of-tsdb-on-cloud
18ϨΨγʔγεςϜͷӡ༻վળ
19ݚڀ։ൃ࣮1.௶༎थ, TimeFuzeΞʔΩςΫνϟߏ - ॲཧͱσʔλͱλΠϚʔΛҰମԽͨ͠σʔλύΠϓϥΠϯ, ΣϒγεςϜΞʔΩςΫνϟ(WSA)ݚڀձ ୈ1ճ, 201712݄232.௶༎थ, αʔόϨε࣌ʹ͓͚ΔϔςϩδχΞε࣌ܥྻσʔλϕʔεΞʔΩςΫνϟ, ΣϒγεςϜΞʔΩςΫνϟ(WSA)ݚڀձ ୈ2ճ, 201805݄123.௶༎थ,ݹխେ, TCPଓͷʹΑΔ؆ུԽ͞ΕͨωοτϫʔΫґଘؔάϥϑͷՄࢹԽج൫, ୈ3ճΣϒγεςϜΞʔΩςΫνϟ(WSA)ݚڀձ, 201811݄17ɾࠃࠪಡ͖จɾޱ಄ൃද௶༎थ,ࡔேਓ,ᖛా݈,দխ,Ѩ෦ത,দຊ྄հ, HeteroTSDB: ҟछࠞ߹ΩʔόϦϡʔετΞΛ༻͍ͨࣗಈ֊ԽͷͨΊͷ࣌ܥྻσʔλϕʔεΞʔΩςΫνϟ, Πϯλʔωοτͱӡ༻ٕज़γϯϙδϜจू, 2018, 7-15 (2018-11-29), Dec 2018
20ɾࠪಡ͖จ 1݅ɾֶज़ߨԋ x 3݅ɾࠃൃද x 34݅ɾύωϧσΟεΧογϣϯ x 4݅ɾڝٕ ISUCON ຊઓग़ 2ճɾϒϩάଟ࣮·ͱΊ
21ɾ։ൃͨ͠༰Λݚڀͱͯ͠Έ͠ɺจߘݚڀձൃදɾ࣮ࡍͷࣾձͷཁٻʹج͍ͮͨҙࣝΛѻ͑ɺϓϩμΫγϣϯͰಈ࡞͍ͯ͠ΔͷΛจʹॻ͚ΔɾҰํͰɺ࣮Ͱظతͳ༏ઌʹͳΓ͕ͪͳͨΊɺݚڀΛҭ͍ͯͯ͘͜ͱ͍͠ɾͰ։ൃͨ͠ͷͰϓϩμΫΫγϣϯڥͰීٴͤ͞Δʹɺ୯Ґͷ͕͔͔࣌ؒͬͨΤϯδχΞͱͯ͠ͷݚڀ։ൃৼΓฦΓ
4.͘͞ΒͰͷݚڀ։ൃ͍͖ͬͯ
23ɾͱαʔόʔؒͷԆݮɾσʔληϯλʔͷτϥϑΟοΫϘϦϡʔϜͷݮϢϏΩλεσʔληϯλʔɾ౷తͳͷΣϒΞϓϦέʔγϣϯɾϦΞϧλΠϜͳ࣌ܥྻσʔλΛऩू͢ΔΞϓϦέʔγϣϯPotentials͕ࣗఆ͢ΔApplicationsChallengesɾϢϏΩλεDCڥͰͷσʔλͷஔɺసૹԆɺނোΛಁա͢Δ
24ɾϢϏΩλεσʔληϯλʔߏͷ͏ͪɺData-IntensiveྖҬΛ୲ɾԆͷେ͖ͳࢄڥͰࢄγεςϜͱͯ͠ͷಁաੑΛ୲อ͢Δ͜ͱ͕՝ɾ͋ΒΏΔΞϓϦέʔγϣϯΛมߋͳ͘ϢϏΩλεDC্ͰޮՌతʹಈ࡞ͤ͞Δ͜ͱ͍͠ɾ·ͣɺΞϓϦέʔγϣϯΛԾఆͯ͠ɺঃʑʹҰൠԽ͍ͯ͘͠ɾWordPressͳͲͷ౷తͳWebΞϓϦέʔγϣϯɾIoTͳͲͷϦΞϧλΠϜ࣌ܥྻσʔλऩूΞϓϦέʔγϣϯݚڀํ
25ݚڀϚΠϧετʔϯ: จߘۦಈจߘ ༰~4݄IOT45 σʔλΠϯςϯγϒɾϢϏΩλεDCͷઃܭ~5݄IOT46 TimeFuzeΞʔΩςΫνϟ~7݄DICOMO2019(COMPSAC 2019)࣌ܥྻσʔλϕʔε~8݄FIT 2019 άϥϑߏՄࢹԽ~9݄IOTS2019(ࠪಡ) ↑ͷதͰࣗ৴ͷ͋Δͷ
26ɾจͷʮ͡ΊʹʯΛॻ͚Δ͜ͱΛϚΠϧετʔϯͱͯ͠ɺ࠷ॳ͔ΒετʔϦʔΛͭ͘Γͳ͕Βɺݚڀ։ൃ͍ͯ͘͠ɾͻͱͭͷςʔϚΛҭͯΔɾݚڀձจɺࠃࠪಡ͖จɺࠃࡍձٞɺδϟʔφϧΛ௨࣭ͨ͡ͷ্ɾจͷͨΊͷίʔυͰͳ͘ɺ࣮ફͰ͑ΔιϑτΣΞͱͯ͠࡞ΓࠐΜͰ͍͘ࠓޙͷల