Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
軽量仮想環境による絶対に再現するデータ解析
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Tazro Inutano Ohta
July 01, 2015
Research
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
軽量仮想環境による絶対に再現するデータ解析
第4回 NGS現場の会 ポスター発表
Tazro Inutano Ohta
July 01, 2015
More Decks by Tazro Inutano Ohta
See All by Tazro Inutano Ohta
Yevis: System to support building a workflow registry with automated quality control
inutano
0
160
Standardization of biological sample information database
inutano
0
110
Describe data analysis workflow with workflow languages
inutano
5
6.3k
Container virtualization technologies and workflow languages improve portability and reproducibility of data analysis environment
inutano
3
390
次世代シーケンサーによるメタゲノム解析:桜の花びらに付着した環境DNAを解析する
inutano
0
140
Workflows that run everywhere and where to run them
inutano
0
210
The Sequence Read Archive search system to make use of public high-throughput sequencing data
inutano
0
340
Improve portability of bioinformatics software across HPC and cloud infrastructures
inutano
1
150
Container, Cloud, and HPC
inutano
0
210
Other Decks in Research
See All in Research
高性能計算機クラスタを用いた大規模点群処理による森林の単木抽出と構造解析
kentaitakura
1
120
適応的スパムフィルタのための軽量な類似メッセージカウンタ / jsai2026-adaptive-spam-filter
monochromegane
0
5.3k
進学校の生徒にはア行の苗字が多いのか
ozekinote
0
570
2026年版中小企業白書・小規模企業白書の概要
ozekinote
0
220
論文読み会 SNLP2026 Tau2-Bench: Evaluating Conversational Agents in a Dual-Control Environment
s_mizuki_nlp
0
240
IA for theory
gpeyre
1
400
【中間報告】国会議員の立法・政策実務を支える環境を巡る現状と課題
polipoli
0
580
研究室単位での自律的 IPv6接続性確立に向けたAS共同運用モデルの提案と実証
reokashiwa
PRO
0
210
論文紹介: Understanding Epistemic Language with a Language-augmented Bayesian Theory of Mind
hisaokatsumi
0
160
Vector Map as Language: Toward Unified Remote Sensing Vector Mapping
satai
3
260
データサイエンティストの就労意識~2015 → 2026 一般(個人)会員アンケートより
datascientistsociety
PRO
0
770
某助成金プロジェクト採択に向けて企業研究所のアウトリーチ専任者がやったこと
afroscript
0
180
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Visualization
eitanlees
152
17k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
870
How to Think Like a Performance Engineer
csswizardry
28
2.8k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
4
600
Ethics towards AI in product and experience design
skipperchong
2
360
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
What's in a price? How to price your products and services
michaelherold
247
13k
How GitHub (no longer) Works
holman
316
150k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
230
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Transcript
ܰྔԾڥʹΑΔઈରʹ࠶ݱ͢Δσʔλղੳ ڥߏஙʹϋϚͬͯࠢΛΒΕΔͷ͏ݏͩ Summary ɾσʔλղੳͷ࠶ݱੑΛ্্࣭ͤͯ͞ͳΒ͠ΛखʹೖΕ͍ͨ ɾʮٕज़ͰղܾͰ͖Δ͜ͱΛιʔγϟϧʹղܾͨ͠Βෛ͚ʯ by Dr. Itoshi Nikaido ɾެ։σʔλϨϙδτϦͱେܕܭࢉػΛ౷߹͢Δ͜ͱͰͬͱਓָ͕ؒʹͳΔ
Automation saves all େాୡ ใɾγεςϜݚڀػߏɹϥΠϑαΠΤϯε౷߹σʔλϕʔεηϯλʔ %#$-4 UXJUUFSDPNJOVU HJUIVCDPNJOVUBOP TQFBLFSEFDLDPNJOVUBOP ࠶࣮ߦΛࣗಈԽ͢Δਓָ͕ؒʹͳΔͬͱαΠΤϯε͕Ͱ͖Δ σʔλղੳ͕࠶ݱ͠ͳ͍ͷਓ͕ؒհೖ͍͗ͯ͢͠Δ͔Β ɹঢ়گڥʹґଘ͢Δ͜ͱͳ͘ɼશ͘ಉ͡ೖྗʹରͯ͠શ͘ಉ͡खଓ͖Λ౿Ίશ͘ಉ͡ग़ྗ͕ಘΒΕΔ ͜ͱΛʮ࠶ݱੑʯͱఆٛ͢ΔͱɼNGSσʔλ͚ͩͰͳ͘ੜ໋Պֶʹ͓͚Δσʔλղੳͷ࠶ݱੑͱɼܭࢉػ ڥ࣮ߦऀͷࣝɾεΩϧͳͲɼඞཁͳ݅Λἧ͑ΔίετͱಉҰʹΈͳ͢͜ͱ͕Ͱ͖Δɽ͢ͳΘͪɼʮσʔ λղੳͷ࠶ݱੑͷ্ʯɼղੳʹཁ͢Δ࡞ۀ͔ΒଐਓੑΛഉআ͠ɼҰൠతͳܭࢉػڥͱ͔ᷮͳΩʔλΠ ϐϯάʹΑͬͯಉ͡ग़ྗ͕ಘΒΕΔΈΛཱ֬͢Δ͜ͱʹΑ࣮ͬͯݱ͞ΕΔɽ ɹαΠΤϯεͷຊ࣭Ͱ͋ΓෆஅͷྗʹΑͬͯ͜ΕΛอ࣋͠ͳ͚ΕͳΒͳ͍ͱޠΒΕΔʮ࠶ݱੑʯͱ͍͏୯ ޠɼ͔͠͠σʔλղੳʹ͓͍ͯผͷଆ໘Λ࣋ͭɽྫ͑ɼʮੲࣗͰ͜ͷղੳͬͨΑͳʯʮ͜ͷख๏ ͋ͷจͰ࣮͞ΕͯͨΑͳʯͱ͍͏ɼσʔλղੳͷݱͰසൟʹݟΒΕΔঢ়گʹ͓͍ͯɼʮੲॻ͍ͨίʔυ ࠓͬͨΒಈ͔ͳ͍͔Β·ͨॻ͖͔͢ʯʮࢼ͠ʹϏϧυͯ͠ΈͨΒṖͷΤϥʔͰίέͨࣗ͠Ͱ࣮͢Δ͔ʯ ͱ͍͏࣌ؒͷ࿘අΛආ͚Δ͜ͱʹܨ͕Δɽ࣌ؒͷ࿘අΛආ͚Δ͜ͱɼผͷ࡞ۀɼαΠΤϯεʹऔΓΉ ͨΊͷ࣌ؒΛಘΔͱ͍͏͜ͱͰ͋Δɽ͜͜Ͱհ͢Δͷɼݚڀͷຊ࣭Ͱͳ͍ڥߏஙॲཧͷ࣮ߦ͔Β ݚڀऀΛղ์͠ɼػցʹͰ͖Δ͜ͱશͯػցʹͬͯΒ͍ɼਓ͕ؒਓؒΒ͘͠ੜ͖ΔͨΊͷઓ͍Ͱ͋Δɽ Infrastructure as Code ࣮ߦʹඞཁͳશͯͷใΛܭࢉػ͕࣮ߦՄೳͳܗࣜͰهड़͢Δ ղੳͷखଓ͖Λόονॲཧ͢Δ͔ͷ͝ͱ͘ڥߏஙશͯࣗಈԽͰ͖Δɽͦ͏ɼԾڥͳΒͶɽ ɹϓϩάϥϛϯάʹ͓͚Δඒֶ͋Δֶ͍ͷ1ͭͱͯ͠ΒΕΔ DRY (Don’t Repeat Yourself) ɼ࡞ۀͷॏ ෳΛ͙ͨΊͷجຊతͳߟ͑ํͰ͋ΔɽಛʹιϑτΣΞΛΠϯετʔϧͨ͠ΓɼϚγϯͷڥઃఆΛߦͬ ͨΓɼ͜Ε·ͰରతʹߦΘΕΔ͜ͱ͕ଟ͔ͬͨ࡞ۀɼͦͷਓ͕ؒखΛಈ͔ͯ͠ߦΘΕΔ͜ͱ͕ଟ ͔ͬͨɽ͔͠͠ɼάϦουίϯϐϡʔςΟϯάԾڥͳͲͷใٕज़͕༰қʹར༻Ͱ͖ΔΑ͏ʹͳͬͨ ͜ͱʹΑΓɼܭࢉػͷ͚ͩखಈͰڥߏஙΛߦ͏͜ͱશ͘ݱ࣮తͰͳ͍ͨΊɼηοτΞοϓͷͨΊ ʹඞཁͳશͯͷखଓ͖Λ࣮ߦՄೳͳϓϩάϥϜͱͯ͠هड़͢Δ Infrastructure as Code ͱ͍͏֓೦͕ఏএ͞Ε ΔΑ͏ʹͳͬͨɽ ɹUNIX/LINUXϕʔεͷγεςϜͰ͋Εɼ୯७ͳγΣϧεΫϦϓτͰ࣮ݱՄೳͰ͋Δ͕ɼෳࡶͳॲཧΛه ड़ͨ͠ΓɼOSʹґଘ͠ͳ͍நతͳهड़Λ࣮ݱ͢ΔͨΊʹɼ͍͔ͭ͘ͷٕज़͕ఏএ͞Εͨ(Fig. 2)ɽͦͷද ͕Chef, Puppet, AnsibleͰ͋Δɽ͜ΕΒʹΑͬͯେنͳܭࢉػ܈Λίϯτϩʔϧ͢Δ͜ͱ͕ඇৗʹ༰қʹ ͳͬͨɽͦͷଞʹVagrantΛ࢝Ίͱ͢ΔԾڥͦͷͷͷىಈΛϓϩάϥϜʹམͱ͜͠ΉϓϩμΫτ͕ࠓ ·͞ʹશظͰ͋Γɺ͜Εʹʮ࣮ˠݕূˠӡ༻ʯͷ࡞ۀΛࣗಈԽͯ͠܁Γฦ͢͜ͱʹΑͬͯγεςϜͷ࣭Λ ҡ࣋͢Δ”Continuous Integration”Λ࣮ݱ͢ΔJenkinsͳͲ, ͞·͟·ͳιϑτΣΞ͕։ൃ͞Ε͍ͯΔɽ͜ΕΒ ϋʔυΣΞͰͦͷ··ಈ͘γεςϜ (ϕΞϝλϧ) ϋΠύʔόΠβʔܕԾڥΛରͱ͍ͯ͠Δɽ ɹͦͷޙʹొͨ͠ͷ͕৽ͨͳܭࢉػԾԽٕज़Ͱ͋ΔDockerͰ͋Δɽ͜ΕίϯςφܕԾԽͱݺΕΔ ͷͰɼܭࢉػ্ʹܭࢉػΛΤϛϡϨʔτ͢ΔϋΠύʔόΠβʔܕͱҟͳΓɼԾԽʹΑΔΦʔόʔϔου Λ͍͑ͯΔ͜ͱΛಛͱ͢ΔɽDocker͜ͷίϯςφܕԾʹࠩϑΝΠϧγεςϜͱDockerfileͱݺΕ Δ࣮ߦՄೳͳڥߏஙͷهड़Λαϙʔτ͍ͯ͠Δɽ Docker on NIG Supercomputer /(4σʔλղੳϫʔΫϑϩʔWTίϯςφԾPOҨݚεύίϯ ੨͍ܵҨݚεύίϯΛٹ͑Δ͔ ɹࠃཱҨֶݚڀॴͰɼඇ༻ར༻Ͱ͋ΕΞΧϯτΛਃ͢Δ͜ͱͰແྉͰར༻ Ͱ͖ΔεʔύʔίϯϐϡʔλγεςϜ(ҨݚεύίϯɼѪশ:ΓͳͪΌΜ)Λӡ༻͍ͯ͠ Δɽଞʹ͓͚Δεύίϯͷओͳར༻ํ๏͕MPIGPGPUͳͲͷΞʔΩςΫνϟΛར ༻ͨ͠CPUʹߴෛՙͷ͔͔ΔܭࢉͰ͋Δ͜ͱʹରͯ͠ɼNGSσʔλͰڊେͳྻσʔ λϦϑΝϨϯεσʔλϕʔεʹසൟʹΞΫηε͢ΔͨΊI/O͕ͱͳΔɽ·ͨɼҨ ݚεύίϯͷΑ͏ͳڞಉར༻ܕͷ߹ɼෳͷར༻ऀ͕ͦΕͧΕ༷ʑͳཁٻ༷Λ࣋ͭ શ͘ҟͳΔղੳϑϩʔΛ࣮ߦ͢ΔͨΊɼݸผͷΞϓϦέʔγϣϯʹରͯ͠ڥߏஙʹΑͬ ͯ࠷దԽΛߦ͏͜ͱ͕͍͠ɽ ɹ͜ͷΑ͏ͳΛղܾ͢ΔͨΊʹɼϋΠύʔόΠβʔܕͱҟͳΓI/OͷΦʔόʔϔο υ͕গͳ͍ίϯςφܕԾ༗རͰ͋Δɽͦ͜ͰɼNGSσʔλղੳͰ༻͍ΒΕΔιϑτ ΣΞΛDockerίϯςφʹ͢Δ͜ͱͰɼύϑΥʔϚϯεΛམͱͣ͞ʹInfrastructure as CodeΛ࣮ݱ͢ΔͨΊͷςετڥΛҨݚεύίϯ্ʹߏஙͨ͠ɽDockerίϯςφ͕ར ༻͢ΔϦιʔεΛཧ͢ΔͨΊʹ Apache Mesos ΛɼδϣϒεέδϡʔϦϯάͷͨΊʹ Chronos Λϕʔεͱͨ͠ಠࣗεέδϡʔϥΛ࣮ͨ͠ɽ ՝ͱͯ͠ɼ1) ैདྷͷάϦουΤϯδϯͰͷ࣮ߦΑΓϧʔϧ͕ଟ͘ࡶʹײ͡ΒΕ Δɼ2) ܭࢉػڥͷಋೖͷख͕ؒଟ͍ɼ3) Ҡߦ͢ΔϝϦοτΛײ͡ʹ͍͘ɼ 4) ύΠ ϓϥΠϯॲཧΛهड़͢Δ෦͕ශऑ ͳͲ͕͋ΔͨΊɼ͞ΒʹվળΛߦ͍ͬͯ͘ɽ Mesos Slave Mesos Slave Mesos Slave workflow manager Node Storage %PDLFSGJMFT 8PSLGMPXKTPO %BUB 1VTI%PDLFSGJMFTUP $POUBJOFS3FHJTUSZ Node Node Node Node Mesos Master Mesos Slave 1VTIXPSLGMPX DPOGJHVSBUJPOUPNBOBHFS 5SBOTGFS%BUB WJBJOUFSOFU 1VMMDPOUBJOFS3VO .PVOU%BUB%JSUPDPOUBJOFS 1BTTFYFDVUFS VTFS Fig. 1. FANTOM5 (http://fantom.gsc.riken.jp/5/)ʹ͓͚Δ CAGE-Seqσʔλղੳͷهड़ (a) จதͰ Materials and Methods, ͘͠SupplementaryதʹࣗવݴޠͰهड़͞Ε Δɽ (b) FANTOM5ͰจͱผʹΦϯϥΠϯͰϓϩτί ϧΛެ։͍ͯ͠Δɽେม༗Γ͍ɽ (c) ͔͠͠࠶࣮ߦ͢Δͱ ͳΔͱɼ݁ہόονεΫϦϓτΛॻ͘͜ͱʹͳΔɽ͜Ε͕ จʹఴ͞Ε͍ͯͯཉ͍͠ɽ a b c Fig. 2. Infrastructure as Code ʹؔΘΔϓϩμΫ τҰཡ ࠨ͔Β࣌ܭճΓʹ ϋΠύʔόΠβܕԾ ڥͷߏஙΛࣗಈԽ͢ΔVagrant, ৽نʹՔಇͨ͠ܭ ࢉػڥͷηοτΞοϓΛࣗಈԽ͢ΔChef, Puppet, Ansible, Continuous IntegrationΛ࣮ݱ͢Δ දతͳϓϩμΫτ Jenkins (௨শδΣϯΩϯε͓ ͡͞Μ), ίϯςφܕԾͷضखͰ͋Δdocker, ςϯ ϓϨʔτʹैͬͨܭࢉػγεςϜΛࣗಈͰՔಇ͞ ͤΔTerraformɽશ෦ͬͨ͜ͱ͋Δ/ͬͯΔਓ ͥͻ͓༑ୡʹͳΓ͍ͨͷͰɼͥͻϦΞϧ͍͍Ͷʂ εςοΧʔΛష͍ͬͯͩ͘͞ʂ Fig. 3. Ҩݚεύίϯ্ʹߏஙͨ͠γεςϜ ͷ֓ཁ ҨݚεύίϯͷϊʔυΛطଘγες Ϝ͔ΒΓ͠ɼ Apache Mesos ͰϦ ιʔεΛ ཧ͠ɼͦͷ্ͰίϯςφΛىಈ͢ ΔɽϢʔβ༧Ίdocker containerΛϨδετ Ϧʹొ͠ɼ͜ΕΒΛΈ߹ΘͤͨϫʔΫϑ ϩʔͷهड़ΛREST APIܦ༝Ͱొ͢Δɽ ͬͯΈ͍ͨਓ࿈བྷઌΛγʔϧͰష͓ͬͯ ͍͍ͯͩ͘͞ɽɹɹɹɹɹ͜ͷΜʹˣ