Share
Embed
Web System Architecture に最適化された並列処理系
* 情報量爆発
* 半導体トレンド
* レスポンス性の維持・向上
* 耐障害性の追求
* 高負荷計算処理アプリケーションの増加
* 習得容易にする必要性
↓
徹底的に並列性・分散性・レスポンス性・耐障害性を追求する処理系 Elixir (エリクサー) の採用
↓
* 3種類の並列性とそれぞれに関わる最適化を提案する
* 命令並列性 → 静的命令スケジューリング
* SIMD型並列性 → Hastega (ヘイスガ)
* MIMD型並列性 → Sabotender (サボテンダー)
* これらにより並列性だけでなくレスポンス性と耐障害性も維持・向上できる
Susumu Yamazaki (ZACKY)
April 13, 2019
Transcript
60 slides
-
84"ʹ࠷దԽ͞Εͨฒྻॲཧܥ ࢁ࡚ਐɹਖ਼ɹٱߐ༤تɹߴӳر ʲ֓ཁʳ w छྨͷฒྻੑͱͦΕͧΕʹؔΘΔ࠷దԽΛఏҊ͢Δ w ໋ྩฒྻੑɹɹˠ੩త໋ྩεέδϡʔϦϯά w 4*.%ܕฒྻੑˠ)BTUFHB ϔΠεΨ
w .*.%ܕฒྻੑˠ4BCPUFOEFS αϘςϯμʔ w ͜ΕΒʹΑΓฒྻੑ͚ͩͰͳ͘Ϩεϙϯεੑͱোੑҡ࣋ɾ্Ͱ͖Δ ˢ w పఈతʹฒྻੑɾࢄੑɾϨεϙϯεੑɾোੑΛٻ͢Δॲཧܥ&MJYJSͷ࠾༻ ˢ w ใྔരൃ w ಋମτϨϯυΫϩοΫप৳ͼ಄ଧͪίΞ૿ՃࢄܕΞʔΩςΫνϟ༏Ґ w Ϩεϙϯεੑͷҡ࣋ɾ্ w োੑͷٻ w ߴෛՙܭࢉॲཧΞϓϦέʔγϣϯͷ૿Ճ w शಘ༰қʹ͢Δඞཁੑ 1 4VTVNV:BNB[BLJ -
ࣗݾհ w भࢢཱେֶࠃࡍڥֶ෦ ।ڭत w New!φοδࣾձ࣮ݚڀηϯλʔ ηϯλʔ w New!ֶੜɾब৬ࢧԉ୲ w
1FSTPOBM7JTJPO$P$SFBUPS w ,,4)J'5 w &MJYJSਪ͠GVLVPLBFY)BTUFHB ;&". w ٕज़૬ஊɼڞಉݚڀґཔɼਐ࿏૬ஊɼ ద৬அͳͲɼਵ࣌ड·͢ 4VTVNV:BNB[BLJ -
ͳͥΫϩοΫपΛ৳ͤͳ͍͔ʁ w ΫϩοΫपͷ૿େফඅిྗͱൃྔͷ૿େΛট͘ w ిݯڙڅྔͱಋ͓Αͼྫྷ٫ೳྗ͕͍͔ͭͳ͍ w ʙ()[ఔͰৗԹͰ҆ఆಈ࡞͢ΔݶքΛܴ͍͑ͯΔ w ڝٕ༻ΦʔόʔΫϩοΫͰӷମૉʹਁ͚Δʹ ΑΓ()[Ҏ্Ͱಈ࡞͍ͤͯ͞Δ
w ௨ৗͷ1$αʔόʔͰৗԹՔಇͰ͖Δ͜ͱ͕ཁ݅ 8 4VTVNV:BNB[BLJ -
͔ΘΓʹίΞ͕૿Ճ w Ҏ߱ͷϓϩηοαͷਐԽ w ºΫϩοΫप w ˓ίΞ 4VTVNV:BNB[BLJ
*OUFM$PSF &YUSFNF9 ΫϩοΫ ()[ ίΞ *OUFM$PSFJ 9& ΫϩοΫ ()[ ίΞ -
ࠓޙͷಋମτϨϯυ w ϝϞϦͷߴԽ͕ϓϩηοαͷߴԽʹ͍͍͍ͭͯͳ͍ w ίΞࠓޙ૿େ͠ଓ͚ͯɼ.*.%ͰઍίΞݱ࣮ʹ w ಋମϓϩηεඍࡉԽݶքΛܴ͑ͭͭ͋Δ w ଞͷ֤छूੵٕज़ʹΑΓճ࿏ن૿େͷ༨͕͋Δ w
ճ࿏͕ࠓ·ͰҎ্ʹ͘ͳΔ w ࠓ·ͰҎ্ʹϝϞϦΞΫηεͱޫ͕ʹͳΔ w ڞ༗ϝϞϦিಥɼϑΥϯɾϊΠϚϯɾϘτϧωοΫ w ճ࿏શମͰΫϩοΫΛಉظͤ͞Δ͜ͱ͕ෆՄೳʹ w ڞ༗ܕΞʔΩςΫνϟΑΓࢄܕΞʔΩςΫνϟ༏Ґ 10 4VTVNV:BNB[BLJ -
ߴෛՙܭࢉॲཧΞϓϦέʔγϣϯͷ૿Ճ w ػցֶशٕज़ͷਐలʹΑΓɼΣϒΞϓϦέʔγϣϯʹ ߴෛՙܭࢉॲཧ͕ٻΊΒΕΔ͕࣌౸དྷ͢Δ w ͔ͭલड़ͷ௨ΓɼΣϒΞϓϦέʔγϣϯʹϨεϙϯε ੑ͕ٻΊΒΕΔ w ߴϨεϙϯεੑೳࢦͷ࠷దԽٕज़͕ٻΊΒΕΔ w
ैདྷͷ)1$Ͱ୳ٻ͞Εͨߴεϧʔϓοτࢦͷ࠷దԽ Ͱෆे 15 4VTVNV:BNB[BLJ -
4IBSFE%BUB $PSF #1 $PSF2 3.14 ैདྷͷݴޠͷ w ෳͷίΞͰσʔλΛڞ༗͠ ͍ͯΔͱԾఆ͢Δ
4VTVNV:BNB[BLJ -
4IBSFE%BUB $PSF #1 $PSF2 3.14 →1.5 ഁյతߋ৽͕ϘτϧωοΫ w ͋ΔίΞ͕ڞ༗σʔλΛ ഁյతߋ৽ͨ͠߹
w ଞͷίΞʹ௨ͯ͠ ॲཧΛࢭΊΔඞཁ͕͋Δ w Լʹͭͳ͕Δ w ίΞ͕૿͑Ε૿͑Δ΄Ͳ ਂࠁͳӨڹΛͨΒ͢ 4VTVNV:BNB[BLJ 6QEBUF /PUJGZ 4UPQ1SPDFTTJOH -
4IBSFE%BUB $PSF #1 $PSF2 3.14 &MJYJSશ͕ͯΠϛϡʔλϒϧͰ͋Δ w &MJYJSͰσʔλͷഁյతߋ৽ ͕ൃੜ͢Δ͜ͱͳ͍ w
ଞͷίΞͷॲཧΛࢭΊͳͯ͘ ྑ͍ w ίΞ͕૿͑ͯॲཧೳྗΛ ҡ࣋Ͱ͖Δ ฒྻੑʹ༏ΕΔ 4VTVNV:BNB[BLJ %PO`U 6QEBUF %PO`UOFFEUP TUPQQSPDFTTJOH -
4IBSFE%BUB $PSF #1 $PSF2 3.14 4DBMBʹର͢Δ༏Ґੑ w 4DBMBجຊΠϛϡʔλϒϧͰ͋Δ w ͔͠͠ϚϧνύϥμΠϜΏ͑ʹϛϡʔλϒϧͳίʔυࠞࡏ͍ͯ͠Δ
w ϛϡʔλϒϧͳίʔυͷଘࡏʹΑΓ࠷దԽͷલఏΛపఈͰ͖ͣશମͷੑೳ͕ѱԽ͢Δ 4VTVNV:BNB[BLJ %PO`U 6QEBUF %PO`UOFFEUP TUPQQSPDFTTJOH 4IBSFE%BUB $PSF #1 $PSF2 3.14 →1.5 6QEBUF /PUJGZ 4UPQ1SPDFTTJOH -
&MJYJSͷ($ w &MJYJSϓϩηε͝ͱʹಠཱͨ͠ϝϞϦۭؒΛ࣋ͪɼ($ϓϩηε͝ͱʹ ಠཱ͍ͯ͠Δ w ϓϩηεؒ௨৴Ҏ֎ͰϓϩηεؒͰσʔλΛڞ༗͠ͳ͍͍ͯ͘લఏ w ͔ͭฒߦ($Ͱ͋Δ w +BWBͰʹͳΔ'VMM($ʹΑΔ4UPQUIFXPSME͕ൃੜ͠ͳ͍
w ͜ͷ4DBMBʹର͢Δ༏Ґੑ w ࢄܕΞʔΩςΫνϟʹద߹͢Δ w ࠓޙͷಋମτϨϯυΛ౿·͑Δͱ༗ར 22 4VTVNV:BNB[BLJ -
ΣϒγεςϜʹ͓͚Δ&MJYJSͷ༏Ґੑ ୯Ґ࣌ؒ͋ͨΓϦΫΤετ͕૿Ճͯ͠ ϨεϙϯελΠϜΛҡ࣋Ͱ͖Δ 23 4VTVNV:BNB[BLJ ↑Slower ↓Faster 'FESFDIFTLJ ( $PTUB
-$1BOE;V⒎P .,&MJYJSQSPHSBNNJOHMBOHVBHFFWBMVBUJPOGPS*P5 *&&&*OUFSOBUJPOBM4ZNQPTJVNPO$POTVNFS&MFDUSPOJDT *4$& QQr POMJOF %0* *4$& -
ྫ֎ɾҟৗॲཧ w USZDBUDI SFTDVF ʹΑΔྫ֎ɾҟৗॲཧɼਖ਼͘͠هड़͞Εͳ͍͜ͱ͕͋·Γʹଟ͍ w &MJYJSͰ࣍ͷྫ֎ɾҟৗॲཧͷΈΛΘΓʹఏڙ͍ͯ͠Δ w ྫ֎ॲཧ͋Β͔͡Ίఆ͞ΕΔॲཧλϓϧͰฦ͢ \PL
SFTVMU^\FSSPS SFBTPO^ w ҟৗॲཧఆ͍ͯ͠ͳ͍ΠϨΪϡϥʔͳೖྗΛ༩͑ΒΕͨ࣌ ϓϩηε͝ͱҟৗऴྃ͢Δ ࢹϓϩηε͕ҟৗऴྃΛݕ͢Δ ࢹϓϩηε͕֘ϓϩηεΛ࠶ىಈ͢Δ ͳʹ͝ͱͳ͘ɼ࣍ͷೖྗΛड͚͚ΒΕΔ 㾎ϓϩηε୯ҐͰϝϞϦۭ͕͍ؒͯ͠Δ͜ͱͰɼϓϩηε୯Ґͷ࠶ىಈ͕ՄೳʹͳΔ 24 4VTVNV:BNB[BLJ -
1IPFOJYͷ༏Ґੑ w Ϩεϙϯεੑʹ༏ΕΔ w جຊੑೳྑ w )551αϙʔτ w -JWF7JFX ϖʔδදࣔʹ͕͔͔࣌ؒΒͳ͍ͷͰࢭʹد༩
w োੑʹ༏ΕΔ w ࢹϓϩηεʹΑΔҟৗ෮ؼ w ఆظతϓϩηε࠶ىಈˠϝϞϦϦʔΫ͕ݪҼͷύϑΥʔϚϯεѱԽɾোͷࢭ w GVMM($ʹΑΔTUPQUIFXPSME͕ൃੜ͠ͳ͍ োൃੜ͕ܹݮ͢ΔͷͰɼؒૣேٳग़ۈܹݮɼΤϯδχΞͷಇ͖ํվળʂ 25 4VTVNV:BNB[BLJ -
शಘ༰қ 4VTVNV:BNB[BLJ @@ c&OVNNBQ .GPP c&OVNNBQ
.CBS EFGNPEVMF.EP EFGGPP O EPO EFGCBS O EPO FOE w ӈͷίʔυྫ w ͔Β ·ͰͷϦετʹର͠ w ֤ཁૉʹGPPΛద༻ Y w ֤ཁૉʹCBSΛద༻ w ͨ݁͠ՌΛಘΔ w σʔλΛ্͔Βॱʹม͍ͯ͘͠ύϥμΠϜͰ هड़Ͱ͖Δ w ؔͷݺग़ઌجຊతʹҰҙʹಛఆͰ͖Δ ॳֶऀʹΦϒδΣΫτࢦύϥμΠϜΑΓ शಘ༰қ 㾎ࠓ·ͰͷύϥμΠϜʹͳ͡Μͩਓʹ VOMFBSOJOH͢Δඞཁ͕͋Δ -
&MJYJS;FO4UZMF 4VTVNV:BNB[BLJ @@ c&OVNNBQ .GPP c&OVNNBQ
.CBS EFGNPEVMF.EP EFGGPP O EPO EFGCBS O EPO FOE &MJYJS;FO4UZMF &OVNNBQελΠϧ w ષͰ͋Δཧ༝ w ષͱຊ࣭ඒͰ͋Δ w ӈͷελΠϧσʔλมͷϑ ϩʔΛද͍ͯ͠Δ w σʔλมͷϑϩʔͱͯ͠ ϓϩάϥϛϯάΛଊ͑Δ ύϥμΠϜຊ࣭Λଊ͍͑ͯͯ ୯७͕ͩදݱੑ๛͔Ͱ͋Δ ӈͷελΠϧຊ࣭ඒͰ͋Δ ͢ͳΘͪષͰ͋Δ -
&MJYJS;FO4UZMFͱΣϒϓϩάϥϛϯά w &MJYJS;FO4UZMFͱ8FCϓϩάϥϛϯά૬ੑ͕͍͍ w (&5 cՃ ϦΫΤετˠΫΤϦ c%#ಡࠐΈ cՃ
݁ՌˠϨεϙϯε w 1045 cՃ ϦΫΤετˠΫΤϦ c%#ॻࠐΈ cՃ ݁ՌˠϨεϙϯε 28 4VTVNV:BNB[BLJ -
ٕज़త՝ w ػցֶशͷϥΠϒϥϦͷॆ࣮͕ඞཁ ˠ։ൃதɼϓϩτλΠϓ࣮͋Γ w ύϑΥʔϚϯεݱঢ় w $ $ 3VTU+BWB
4DBMB&MJYJS3VCZ 1)1 w ͞ΒͳΔύϑΥʔϚϯε͕ඞཁ w ଞͷ·͍͠ੑ࣭ݎ͍࣋ͯͯ͠΄͍͠ w ຊൃදͰύϑΥʔϚϯεͷʹϑΥʔΧε 29 4VTVNV:BNB[BLJ -
໋ྩฒྻੑ w ӈͰԼهΛฒྻܭࢉͰ͖Δ w DGPP B w ECBS C
w ྆ऀʹσʔλґଘ͕ؔͳ͍ ͜ͱ͕ಡΈऔΕΔ w ͷ()$,-Ͱ ࣮ݱ͠Α͏͍ͯͨ͜͠ͱ 4VTVNV:BNB[BLJ def module M do def func(a, b) do c = foo(a) d = bar(b) {c, d} end def foo(n), do: n * 2 def bar(n), do: n + 1 end -
4*.%ฒྻੑ w ӈͰGPP CBSͷద༻Λ ฒྻͰ࣮ߦͰ͖Δ w ୯Ұίʔυྻෳσʔλ ˠ4*.%
4VTVNV:BNB[BLJ def module M do def func do 1..1_000_000 |> Enum.map(& foo(&1)) |> Enum.map(& bar(&1)) end def foo(n), do: n * 2 def bar(n), do: n + 1 end -
.*.%ฒྻੑ w ϓϩηεͰද͞ΕΔฒྻੑ w ֤ϓϩηεಠ໋ཱͨ͠ྩྻͱͦΕͧΕͷσʔλΛ࣋ͭ ˠ.*.% w &MJYJSͷϓϩηεΞΫλʔϞσϧʹجͮ͘ w ϓϩηεͷϝοηʔδ౸ணॱͰγϦΞϥΠζ
w ֤ϓϩηεͷ࣮ߦ୯ҰεϨου w جຊతʹܭࢉࢿݯͭͷϓϩηεͰཧ͞ΕΔ ϓϩηεͷܭࢉࢿݯͷഉଞ੍ޚ͕ෆཁ 34 4VTVNV:BNB[BLJ -
໋ྩฒྻੑͷ࠷దԽ w ࣍ͷͭͷ߹ʹ͚Δ w ૈཻ ϓϩηεىಈͯ͠ݩ͕औΕΔ߹ w ࡉཻ ͦ͏Ͱͳ͍߹
36 4VTVNV:BNB[BLJ -
ߟ w ࡉ໋ཻྩฒྻ࠷దԽͰߦͳ͍ͬͯΔ͜ͱɼ 7-*8͚ίϯύΠϥʹΑΔ࠷దԽͱ࣮࣭తʹಉ w &MJYJS;FO4UZMFͰґଘղੳΛߦ͏ͷ͕༰қ w εʔύʔεΧϥʔ ΞτɾΦϒɾΦʔμʔ࣮ߦ
ෆཁͰʁ w ࣮ࡍɼεʔύʔεΧϥʔํࣜͷํ͕7-*8ํࣜΑΓ ίΞαΠζ͕ۃʹେ͖͘ͳΔʹ͋Δ w ίΞαΠζ͕খ͍͞ํ͕ίΞΛՔ͛Δ 7-*8ͷ෮ݖʹͭͳ͕ΔͷͰʁ 39 4VTVNV:BNB[BLJ -
)BTUFHB w 4*.%ฒྻੑΛೝࣝͯ͠4*.%໋ྩΛͬͨίʔυ(16ۦಈ͢Δίʔυʹ ίϯύΠϧ͢Δ w কདྷతʹ8FC"TTFNCMZ4*.%8FC(- 8FC(16ͷ׆༻ʹΑΓɼΣϒ ΫϥΠΞϯτ্ͷ$16(16ࢿݯ׆༻͢Δ w ֤छϓϩτλΠϓ࣮ɾੑೳධՁࡁ
w &MJYJSͷݩͷίʔυͷʙഒͷ্ 130݄݄ w 1ZUIPO $V1ZͷഒҎ্ͷ্ 130݄ w -POFTUBS&MJYJS$POGͰੈքσϏϡʔ͠ɼେڹΛݺͿ w ՆʹϑΝʔετϦϦʔε༧ఆ 41 4VTVNV:BNB[BLJ -
)BTUFHBͷݪཧ 4VTVNV:BNB[BLJ @@ c&OVNNBQ .GPP c&OVNNBQ
.CBS EFGNPEVMF.EP EFGGPP O EPO EFGCBS O EPO FOE &MJYJS;FO4UZMF &OVNNBQελΠϧ @@LFSOFMWPJEDBMD @@HMPCBMMPOH JOQVU @@HMPCBMMPOH PVUQVU \ TJ[F@UJHFU@HMPCBM@JE MPOHUFNQJOQVU<J> UFNQGPP UFNQ UFNQCBS UFNQ PVUQVU<J>UFNQ ^ 0QFO$- Χʔωϧ෦ w ࠨͷίʔυ ฒྻͷՄೳੑ͕͋Δ w ࠨͷίʔυ͔ΒӈͷίʔυػցతʹมͰ͖Δ w ࠷৽(16ͷ Ҏ্ͷ4*.%ίΞͰฒྻ࣮ߦՄೳ -
)BTUFHBͷίʔυྫ 4VTVNV:BNB[BLJ EFGNPEVMF)EP SFRVJSF)BTUFHB JNQPSU)BTUFHB EFGIBTUFHBEP EFGGVOD MJTU
EP MJTU c&OVNNBQ c&OVNNBQ FOE IBTUFHBTUVC FOE FOE w SFRVJSF)BTUFHBͰ)BTUFHBΛಡࠐΈ w JNQPSU)BTUFHBͰϞδϡʔϧ໊Λه ͤͣʹEFGIBTUFHBIBTUFHBTUVC͕ ར༻Ͱ͖Δ w EFGIBTUFHBEPʜFOEͰʜͷίʔυΛ ॲཧܥʹಡࠐΉ w IBTUFHBTUVCͰίʔυੜΛߦ͏ -
NBQNBQϑϡʔδϣϯ 4VTVNV:BNB[BLJ @@ c&OVNNBQ .GPP c&OVNNBQ
.CBS EFGNPEVMF.EP EFGGPP O EPO EFGCBS O EPO FOE @@ c&OVNNBQ c.GPP c.CBS EFGNPEVMF.EP EFGGPP O EPO EFGCBS O EPO FOE w NBQNBQϑϡʔδϣϯʹΑΓɼࠨͷίʔυΛӈͷίʔυʹม w &OVNNBQʹ͏ɾूܭΛݮ͢ΔޮՌ͕ظͰ͖Δ -
&MJYJSͷϝλϓϩάϥϛϯά 4VTVNV:BNB[BLJ JFY RVPUFEP@@c&OVNNBQ
\c <DPOUFYU&MJYJS JNQPSU,FSOFM> < \ <DPOUFYU&MJYJS JNQPSU,FSOFM> < >^ \\ <> <\@@BMJBTFT@@ <BMJBTGBMTF> <&OVN>^ NBQ>^ <> <\ <> <\ <DPOUFYU&MJYJS JNQPSU,FSOFM> <\ <> <>^ >^>^>^ >^ &MJYJSͰ"45Λग़ྗͨ͠ྫ w +PTÉ7BMJN͕։ൃͨ͠&MJYJSϚΫϩʹΑͬͯఏڙ w "45ϦετͱλϓϧͰߏɼ-*41ͱࣅ͍ͯΔ w RVPUFʹΑͬͯίʔυ͔Β"45Λग़ྗɼVORVPUFͰΛૠೖ w 7BMVFPGBJT\B^zͱࣅ͍ͯΔ :> .. 1 1000000 . Enum map & * & 1 2 "45ͷਤࣔ -
|> |> NBQNBQϑϡʔδϣϯ w "45Λ࠶ؼతʹࠪͯ͠ɼ ύΠϓϥΠϯԋࢉࢠͷωετΛ ݕग़͢Δ w ύλʔϯϚονΛ༻͍Δ
w ύΠϓϥΠϯԋࢉࢠcʹ Ϛον͠ɼࢠϊʔυ ύΠϓϥΠϯԋࢉࢠͰ͋Δ ߹Λݕग़ w ͜ͷ߹ɼඞͣ൪ͷࢠ Ͱ͋Δ 4VTVNV:BNB[BLJ -
|> |> . Enum map . Enum map NBQNBQϑϡʔδϣϯ
w ωετ͕ଘࡏͨ͠߹ɼ ࢠϊʔυ͕࣍ͷ߹͔ͤ֬ೝ w ύΠϓϥΠϯԋࢉࢠ w &OVNNBQ w ࢠϊʔυͷύΠϓϥΠϯԋࢉ ࢠͷࢠϊʔυʹ &OVNNBQ͕ଘࡏ͢Δ͔Λ֬ ೝ 4VTVNV:BNB[BLJ -
|> . Enum map & |> NBQNBQϑϡʔδϣϯ w "45Λૢ࡞ͯͭ͠ͷ&OVNNBQΛͭʹ·ͱΊ͋͛Δ
w &OVNNBQͦΕͧΕͰݺग़͞ΕΔؔΛύΠϓϥΠϯͰ߹͢Δ 4VTVNV:BNB[BLJ |> |> . Enum map . Enum map -
|> |> NBQNBQϑϡʔδϣϯ w ͜ͷΑ͏ͳૢ࡞Λ࠶ؼతʹ ߦ͍ɼ࿈ଓ͢Δ&OVNNBQΛ ͯͭ͢ͷ&OVNNBQʹ ·ͱΊ্͛Δ·ͰਐΊΔ
4VTVNV:BNB[BLJ |> |> . Enum map . Enum map |> . Enum map & |> -
কདྷ՝ w &MJYJS;FO4UZMFʹɼසൟʹొ͢Δԋࢉύλʔϯ͕ ෳଘࡏ͢Δ w ҰྫͭͷϦετͷ֤ཁૉͷੵΛܭࢉ͢Δ w "45ͷҰ෦͕ɼ͜ͷΑ͏ͳԋࢉύλʔϯʹϚονͨ͠ ˠେҬతʹݟͯ࠷దͳػցޠ໋ྩΛੜ͢Δ w
࣮ݱʹ͚ͯݚڀணखͨ͠ஈ֊ 51 4VTVNV:BNB[BLJ -
84"͔Βݟͨϓϩηεͷ՝ w ैདྷͷ84"ͰϦΫΤετ͝ͱʹ ϓϩηεΛىಈ͢ΔํࣜΛ࠾༻ w ֤ϓϩηε͕ελοΫϝϞϦΛ֬อ w ϦΫΤετ͋ͨΓඦ,#ʙ.# ͷϝϞϦΛফඅ w
ϦΫΤετ͕ूத͢ΔͱϝϞϦΛ ͍Ռͨͯ͠εϫοϓ͕ൃੜ w ϨεϙϯελΠϜ͕ۃʹѱԽ w "QBDIFͰ 4VTVNV:BNB[BLJ -
/PEFϓϩάϥϛϯάϞσϧʹΑΔղܾ w /PEFKTͷ࣮ݱํࣜ w *0ͪΛڥքʹϦΫΤετॲཧΛ ෳͷؔʹׂ w ্هؔΛ୯Ґͱͯ͠ εέδϡʔϦϯά͠ɼ࣮ߦՄೳʹ ͳ͔ͬͨؔΒॱ൪ʹίʔϧόοΫ
w ׂؔͷهड़ɼແ໊ؔΛར༻ ͯ͠ɼϓϩάϥϜͷྲྀΕΛଛͶͳ͍ Α͏ʹࣗવʹهड़Մೳ w ελοΫϝϞϦΛׂΓͯΔ͜ͱͳ͘ ϚϧνλεΫΛ࣮ݱͰ͖Δ 4VTVNV:BNB[BLJ -
ࠓ·ͰͷݚڀՌ w ୈճ84"ݚڀձʹͯຊํࣜΛॳ൸࿐ w 130݄ʹͯ&MJYJSͷϦετʹΑΔίʔϧόοΫ࣮ͱ$ ͱํϦετʹΑΔίʔϧ όοΫ࣮ʹ͍ͭͯɼλεΫ͋ͨΓͷϝϞϦྔΛධՁ w $ εϨου,#
w &MJYJSϓϩηε,# w &MJYJSͷϦετʹΑΔίʔϧόοΫ࣮,# w $ ʹΑΔίʔϧόοΫ࣮όΠτ w ͞ΒʹࢼͰɼ$ݴޠͱ୯ํϦετʹΑΔίʔϧόοΫ࣮Ͱࢀߟهͳ͕ΒɼόΠτʹ· ͰলϝϞϦԽͰ͖ͨ w ͜ͷ͜ͱ͔ΒɼωΠςΟϒίʔυͰຊํࣜͷϚϧνλεΫػߏΛ࣮͠ɼ&MJYJS͔Βར༻Ͱ͖ΔΑ ͏ʹ͢Δ͜ͱ͕·͍͠ 55 4VTVNV:BNB[BLJ -
ଞʹղܾ͍ͨ͠ w &MJYJSͰϓϩηεؒ௨৴Λଟ༻͢ΔͱɼϝοηʔδΩϡʔ ͕٧·Δ͕ൃੜ͢Δ w ͜Εɼੜ࢈ऀଆͷϓϩηεͷϝοηʔδੜʹର ͠ɼফඅऀଆͷϓϩηεͷϝοηʔδফඅ͕͍ͱ ੜ͡Δ w ͜ͷʹΑΓɼϨεϙϯεੑೳ͕ѱԽ͠ɼϝϞϦফඅྔ
֨ஈʹѱԽ͢ΔͷͰɼղফ͍ͨ͠ 56 4VTVNV:BNB[BLJ -
ݱঢ়ͷ&MJYJSͰͷ.*.%ฒྻϓϩηεͷ࣮ݱ w ਤϗϫΠτϘʔυʹॻ͘ w ֤ίΞʹεέδϡʔϥʔͱ࣮ߦΩϡʔΛ࣋ͨͤΔ w ͜ΕʹΑΓίΞؒͰεέδϡʔϥʔͱ࣮ߦΩϡʔʹؔ͢Δ ഉଞ੍ޚΛ͠ͳ͍ͰࡁΉͷͰɼੑೳ্͢Δ w
ͦͷΘΓ࣍ͷ͕ܽ͋Δ w ϓϩηεͷ࣮ߦॱ͕ೖΕସΘΔՄೳੑ͕͋Δ w ͜ͷݱঢ়Ͱೝ͍ͯ͠Δ w ίΞؒͰϓϩηεෛՙ͕ෆۉʹͳΔՄೳੑ͕͋Δ w ͜ͷʹ͍ͭͯɼ.JHSBUJPO-PHJDʹΑΓղফ͢Δ 57 4VTVNV:BNB[BLJ -
4BCPUFOEFS.*.%ฒྻϓϩηεͷ࠷దԽ w ਤϗϫΠτϘʔυʹॻ͘ w ࣮ߦ࣌ؒᮢΛɼϦΞϧλΠϜੑΛߟྀͨ͠ʹઃఆ͓ͯ͘͠ ͨͱ ͑NT w
ίʔυίϯύΠϧ࣌ʹ࣍ͷΑ͏ͳڥքͰׂ͓ͯ͘͠ w *0ͪ w ࣮ߦ࣌ؒᮢͷൣғͰΠςϨʔγϣϯΛଋͶͨͷ w ࣮ߦ࣌ؒᮢͷൣғͷίʔυϒϩοΫ w ͭͷϓϩηεʹͭͷ࣮ߦ࣌ڥ͕͋Δ w ෳίΞڞ༗͞Ε͍ͯΔͳΒɼࢿݯΞΫηε࣌ʹഉଞ੍ޚΛ ͢Δ w ֤ίΞʹεέδϡʔϥʔͱ࣮ߦΩϡʔΛ࣋ͨͤɼͦͷ΄͔ʹڞ༗࣮ߦ ΩϡʔΛઃ͚Δ w ࣮ߦΩϡʔɼίʔϧόοΫ͢Δؔͱ࣮ߦ࣌ڥͷλϓϧΛ Ϧετʹͨ͠ͷͰ͋Δ w ֤ίΞͷϝοηʔδΩϡʔͱ࣮ߦΩϡʔΛࢹ͢ΔϓϩηεΛͦΕͧ Ε֤ίΞʹ༻ҙ w Ͱ͖Δ͔͗Γಉ࣮͡ߦ࣌ڥΛ༻͢ΔؔΛಉ͡ίΞͷ࣮ߦΩϡʔ ʹׂΓͯΔ w ֤ίΞͷ࣮ߦΩϡʔࢹϓϩηεͷϝοηʔδ௨࠷༏ઌͰॲཧ w ϝοηʔδΩϡʔ͕͋;Εͦ͏ͳΒɼ࣮ߦΩϡʔதʹଘࡏ͢Δɼͦ ͷϓϩηεͷλϓϧΛ͍͔ͭ͘ଞͷίΞʹϚΠάϨʔτ͢Δ w ࣮ߦ࣌ڥʹෳίΞڞ༗ͷϑϥάΛ͚ͭΔ w ࣮ߦΩϡʔʹͭͳ͕ΕͨλεΫͷ૯࣮ߦ্͕࣌ؒݶΑΓେ͖͘ͳͬͨ ͳΒɼ࣮ߦΩϡʔͷ͋;Εͨ෦Λڞ༗࣮ߦΩϡʔʹ͍ग़͢ w ڞ༗Ωϡʔ্͕ݶΛ͑ΔͳΒɼ֤ίΞͷ࣮ߦΩϡʔͷ্ݶ Λ্͛ΔϝοηʔδΛɼ֤ίΞͷ࣮ߦΩϡʔࢹϓϩηεʹ௨ w ࣮ߦΩϡʔʹͭͳ͕ΕͨλεΫͷ૯࣮ߦ͕࣌ؒԼݶΑΓখ͘͞ͳͬͨ ͳΒɼڞ༗࣮ߦΩϡʔ͔ΒλεΫΛಘΔ w ڞ༗Ωϡʔ͕ۭʹͳΔΑ͏ͳΒɼ࣮ߦΩϡʔͷ૯࣮ߦ࣌ؒͷ্ ݶΛԼ͛ΔϝοηʔδΛɼ֤ίΞͷ࣮ߦΩϡʔࢹϓϩηεʹ ௨ 58 4VTVNV:BNB[BLJ -
ݚڀ։ൃ͖ٕ͢ज़ w /PEFϓϩάϥϛϯάϞσϧ͕ػೳ͢ΔͨΊʹɼίʔυͷ࣮ߦ࣌ ؒΛਖ਼֬ʹਪఆ͢Δٕज़ w ҙͷϓϩάϥϜʹରͯ͠ɼఀࢭੑɼ͢ͳΘͪ༗ݶ࣌ؒ ʹྃ͢Δ͔Ͳ͏͔Λఆ͢ΔΞϧΰϦζϜଘࡏ͠ͳ͍ͨ Ίɼίʔυͷ࣮ߦ࣌ؒΛٻΊΔ͜ͱ͕Ͱ͖ͳ͍ w Ծઆ&MJYJS;FO4UZMFͰॻ͘͜ͱΛపఈ͢Δͱɼ༗ݶ࣌ؒʹ
ྃ͢Δ͜ͱΛอূͰ͖Δɼ͢ͳΘͪఀࢭੑΛճආͰ͖Δ w ͜ͷԾઆΛཧతʹূ໌͠ɼίʔυͷ࣮ߦ࣌ؒΛਪఆ͢Δٕज़ Λݚڀ։ൃ͢Δ 59 4VTVNV:BNB[BLJ -
84"ʹ࠷దԽ͞Εͨฒྻॲཧܥ ࢁ࡚ਐɹਖ਼ɹٱߐ༤تɹߴӳر ʲ֓ཁʳ w छྨͷฒྻੑͱͦΕͧΕʹؔΘΔ࠷దԽΛఏҊ͢Δ w ໋ྩฒྻੑɹɹˠ੩త໋ྩεέδϡʔϦϯά w 4*.%ܕฒྻੑˠ)BTUFHB ϔΠεΨ
w .*.%ܕฒྻੑˠ4BCPUFOEFS αϘςϯμʔ w ͜ΕΒʹΑΓฒྻੑ͚ͩͰͳ͘Ϩεϙϯεੑͱোੑҡ࣋ɾ্Ͱ͖Δ ˢ w పఈతʹฒྻੑɾࢄੑɾϨεϙϯεੑɾোੑΛٻ͢Δॲཧܥ&MJYJSͷ࠾༻ ˢ w ใྔരൃ w ಋମτϨϯυΫϩοΫप৳ͼ಄ଧͪίΞ૿ՃࢄܕΞʔΩςΫνϟ༏Ґ w Ϩεϙϯεੑͷҡ࣋ɾ্ w োੑͷٻ w ߴෛՙܭࢉॲཧΞϓϦέʔγϣϯͷ૿Ճ w शಘ༰қʹ͢Δඞཁੑ 60 4VTVNV:BNB[BLJ