Web System Architecture に最適化された並列処理系

Web System Architecture に最適化された並列処理系

* 情報量爆発
* 半導体トレンド
* レスポンス性の維持・向上
* 耐障害性の追求
* 高負荷計算処理アプリケーションの増加
* 習得容易にする必要性

徹底的に並列性・分散性・レスポンス性・耐障害性を追求する処理系 Elixir (エリクサー) の採用

* 3種類の並列性とそれぞれに関わる最適化を提案する
* 命令並列性 → 静的命令スケジューリング
* SIMD型並列性 → Hastega (ヘイスガ)
* MIMD型並列性 → Sabotender (サボテンダー)
* これらにより並列性だけでなくレスポンス性と耐障害性も維持・向上できる

83722380372c00bd75ac920f2089f6aa?s=128

Susumu Yamazaki (ZACKY)

April 13, 2019
Tweet

Transcript

  1. 1.

    84"ʹ࠷దԽ͞Εͨฒྻॲཧܥ ࢁ࡚ਐɹ৿ਖ਼࿨ɹٱߐ༤تɹߴ੉ӳر ʲ֓ཁʳ w छྨͷฒྻੑͱͦΕͧΕʹؔΘΔ࠷దԽΛఏҊ͢Δ w ໋ྩฒྻੑɹɹˠ੩త໋ྩεέδϡʔϦϯά w 4*.%ܕฒྻੑˠ)BTUFHB ϔΠεΨ

     w .*.%ܕฒྻੑˠ4BCPUFOEFS αϘςϯμʔ  w ͜ΕΒʹΑΓฒྻੑ͚ͩͰͳ͘Ϩεϙϯεੑͱ଱ো֐ੑ΋ҡ࣋ɾ޲্Ͱ͖Δ ˢ w పఈతʹฒྻੑɾ෼ࢄੑɾϨεϙϯεੑɾ଱ো֐ੑΛ௥ٻ͢Δॲཧܥ&MJYJSͷ࠾༻ ˢ w ৘ใྔരൃ w ൒ಋମτϨϯυΫϩοΫप೾਺৳ͼ಄ଧͪίΞ਺૿Ճ෼ࢄܕΞʔΩςΫνϟ༏Ґ w Ϩεϙϯεੑͷҡ࣋ɾ޲্ w ଱ো֐ੑͷ௥ٻ w ߴෛՙܭࢉॲཧΞϓϦέʔγϣϯͷ૿Ճ w शಘ༰қʹ͢Δඞཁੑ 1 ˜4VTVNV:BNB[BLJ
  2. 2.

    ࣗݾ঺հ w ๺۝भࢢཱେֶࠃࡍ؀ڥ޻ֶ෦
 ।ڭत w New!φοδࣾձ࣮૷ݚڀηϯλʔ
 ηϯλʔ௕ w New!ֶੜɾब৬ࢧԉ୲౰ w

    1FSTPOBM7JTJPO$P$SFBUPS w ,,4)J'5 w &MJYJSਪ͠GVLVPLBFY)BTUFHB ;&". w ٕज़૬ஊɼڞಉݚڀґཔɼਐ࿏૬ஊɼ
 ద৬਍அͳͲɼਵ࣌ड෇·͢   ˜4VTVNV:BNB[BLJ
  3. 9.

    ͔ΘΓʹίΞ਺͕૿Ճ w ೥Ҏ߱ͷϓϩηοαͷਐԽ w ºΫϩοΫप೾਺ w ˓ίΞ਺   ˜4VTVNV:BNB[BLJ

    *OUFM$PSF
 &YUSFNF9  ΫϩοΫ ()[ ίΞ਺  *OUFM$PSFJ
 9&  ΫϩοΫ ()[ ίΞ਺ 
  4. 10.

    ࠓޙͷ൒ಋମτϨϯυ w ϝϞϦͷߴ଎Խ͕ϓϩηοαͷߴ଎Խʹ௥͍͍͍ͭͯͳ͍ w ίΞ਺͸ࠓޙ΋૿େ͠ଓ͚ͯɼ.*.%Ͱ਺ઍίΞ΋ݱ࣮ʹ w ൒ಋମϓϩηεඍࡉԽ͸ݶքΛܴ͑ͭͭ͋Δ w ଞͷ֤छूੵٕज़ʹΑΓճ࿏ن໛͸౰෼૿େͷ༨஍͕͋Δ w

    ճ࿏௕͕ࠓ·ͰҎ্ʹ௕͘ͳΔ w ࠓ·ͰҎ্ʹϝϞϦΞΫηεͱޫ଎͕཯଎ʹͳΔ w ڞ༗ϝϞϦিಥɼϑΥϯɾϊΠϚϯɾϘτϧωοΫ w ճ࿏શମͰΫϩοΫΛಉظͤ͞Δ͜ͱ͕ෆՄೳʹ w ڞ༗ܕΞʔΩςΫνϟΑΓ΋෼ࢄܕΞʔΩςΫνϟ༏Ґ 10 ˜4VTVNV:BNB[BLJ
  5. 19.

    4IBSFE%BUB $PSF #1 $PSF2 3.14 →1.5 ഁյతߋ৽͕ϘτϧωοΫ w ͋ΔίΞ͕ڞ༗σʔλΛ
 ഁյతߋ৽ͨ͠৔߹

    w ଞͷίΞʹ௨஌ͯ͠
 ॲཧΛࢭΊΔඞཁ͕͋Δ w ଎౓௿Լʹͭͳ͕Δ w ίΞ਺͕૿͑Ε͹૿͑Δ΄Ͳ
 ਂࠁͳӨڹΛ΋ͨΒ͢   ˜4VTVNV:BNB[BLJ 6QEBUF /PUJGZ 4UPQ1SPDFTTJOH
  6. 20.

    4IBSFE%BUB $PSF #1 $PSF2 3.14 &MJYJS͸શ͕ͯΠϛϡʔλϒϧͰ͋Δ w &MJYJSͰ͸σʔλͷഁյతߋ৽ ͕ൃੜ͢Δ͜ͱ͸ͳ͍ w

    ଞͷίΞͷॲཧΛࢭΊͳͯ͘ ྑ͍ w ίΞ਺͕૿͑ͯ΋ॲཧೳྗΛ ҡ࣋Ͱ͖Δ ‎ฒྻੑʹ༏ΕΔ   ˜4VTVNV:BNB[BLJ %PO`U
 6QEBUF %PO`UOFFEUP
 TUPQQSPDFTTJOH
  7. 21.

    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
  8. 23.

    ΢ΣϒγεςϜʹ͓͚Δ&MJYJSͷ༏Ґੑ ୯Ґ࣌ؒ͋ͨΓϦΫΤετ਺͕૿Ճͯ͠΋
 ϨεϙϯελΠϜΛҡ࣋Ͱ͖Δ 23 ˜4VTVNV:BNB[BLJ ↑Slower ↓Faster 'FESFDIFTLJ ( $PTUB

    -$1BOE;V⒎P .,&MJYJSQSPHSBNNJOHMBOHVBHFFWBMVBUJPOGPS*P5  *&&&*OUFSOBUJPOBM4ZNQPTJVNPO$POTVNFS&MFDUSPOJDT *4$& QQr POMJOF %0* *4$&  
  9. 24.

    ྫ֎ɾҟৗॲཧ w USZDBUDI SFTDVF ʹΑΔྫ֎ɾҟৗॲཧ͸ɼਖ਼͘͠هड़͞Εͳ͍͜ͱ͕͋·Γʹ΋ଟ͍ w &MJYJSͰ͸࣍ͷྫ֎ɾҟৗॲཧͷ࢓૊ΈΛ୅ΘΓʹఏڙ͍ͯ͠Δ w ྫ֎ॲཧ͋Β͔͡Ί૝ఆ͞ΕΔॲཧ͸λϓϧͰฦ͢
 \PL

    SFTVMU^\FSSPS SFBTPO^ w ҟৗॲཧ૝ఆ͍ͯ͠ͳ͍ΠϨΪϡϥʔͳೖྗΛ༩͑ΒΕͨ࣌  ϓϩηε͝ͱҟৗऴྃ͢Δ  ؂ࢹϓϩηε͕ҟৗऴྃΛݕ஌͢Δ  ؂ࢹϓϩηε͕֘౰ϓϩηεΛ࠶ىಈ͢Δ  ͳʹ͝ͱ΋ͳ͘ɼ࣍ͷೖྗΛड͚෇͚ΒΕΔ 㾎ϓϩηε୯ҐͰϝϞϦۭ͕ؒ෼཭͍ͯ͠Δ͜ͱͰɼϓϩηε୯Ґͷ࠶ىಈ͕ՄೳʹͳΔ 24 ˜4VTVNV:BNB[BLJ
  10. 25.

    1IPFOJYͷ༏Ґੑ w Ϩεϙϯεੑʹ༏ΕΔ w جຊੑೳྑ޷ w )551αϙʔτ w -JWF7JFX ‎ϖʔδදࣔʹ͕͔͔࣌ؒΒͳ͍ͷͰ཭୤๷ࢭʹد༩

    w ଱ো֐ੑʹ༏ΕΔ w ؂ࢹϓϩηεʹΑΔҟৗ෮ؼ w ఆظతϓϩηε࠶ىಈˠϝϞϦϦʔΫ͕ݪҼͷύϑΥʔϚϯεѱԽɾো֐ͷ๷ࢭ w GVMM($ʹΑΔTUPQUIFXPSME͕ൃੜ͠ͳ͍ ‎ো֐ൃੜ਺͕ܹݮ͢ΔͷͰɼ໷ؒૣேٳ೔ग़ۈܹݮɼΤϯδχΞͷಇ͖ํվળʂ 25 ˜4VTVNV:BNB[BLJ
  11. 26.

    शಘ༰қ   ˜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͢Δඞཁ͕͋Δ
  12. 27.

    &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 σʔλม׵ͷϑϩʔͱͯ͠
 ϓϩάϥϛϯάΛଊ͑Δ
 ύϥμΠϜ͸ຊ࣭Λଊ͍͑ͯͯ
 ୯७͕ͩදݱੑ๛͔Ͱ͋Δ ‎ӈͷελΠϧ͸ຊ࣭ඒͰ͋Δ
 ͢ͳΘͪષͰ͋Δ
  13. 28.

    &MJYJS;FO4UZMFͱ΢Σϒϓϩάϥϛϯά w &MJYJS;FO4UZMFͱ8FCϓϩάϥϛϯά͸૬ੑ͕͍͍ w (&5
 cՃ޻ ϦΫΤετˠΫΤϦ 
 c%#ಡࠐΈ
 cՃ޻

    ݁ՌˠϨεϙϯε  w 1045
 cՃ޻ ϦΫΤετˠΫΤϦ 
 c%#ॻࠐΈ
 cՃ޻ ݁ՌˠϨεϙϯε 28 ˜4VTVNV:BNB[BLJ
  14. 29.

    ٕज़త՝୊ w ػցֶशͷϥΠϒϥϦͷॆ࣮͕ඞཁ
 ˠ։ൃதɼϓϩτλΠϓ࣮૷͋Γ w ύϑΥʔϚϯεݱঢ় w $ $ 3VTU+BWB

    4DBMB&MJYJS3VCZ 1)1 w ͞ΒͳΔύϑΥʔϚϯε͕ඞཁ w ଞͷ޷·͍͠ੑ࣭͸ݎ͍࣋ͯͯ͠΄͍͠ w ຊൃදͰ͸ύϑΥʔϚϯεͷ໰୊ʹϑΥʔΧε 29 ˜4VTVNV:BNB[BLJ
  15. 32.

    ໋ྩฒྻੑ 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
  16. 33.

    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
  17. 34.

    .*.%ฒྻੑ w ϓϩηεͰද͞ΕΔฒྻੑ w ֤ϓϩηε͸ಠ໋ཱͨ͠ྩྻͱͦΕͧΕͷσʔλΛ࣋ͭ
 ˠ.*.% w &MJYJSͷϓϩηε͸ΞΫλʔϞσϧʹجͮ͘ w ϓϩηε΁ͷϝοηʔδ͸౸ணॱͰγϦΞϥΠζ

    w ֤ϓϩηεͷ࣮ߦ͸୯ҰεϨου w جຊతʹܭࢉࢿݯ͸ͭͷϓϩηεͰ؅ཧ͞ΕΔ ‎ϓϩηε಺ͷܭࢉࢿݯͷഉଞ੍ޚ͕ෆཁ 34 ˜4VTVNV:BNB[BLJ
  18. 39.

    ߟ࡯ w ࡉཻ౓໋ྩฒྻ࠷దԽͰߦͳ͍ͬͯΔ͜ͱ͸ɼ
 7-*8޲͚ίϯύΠϥʹΑΔ࠷దԽͱ࣮࣭తʹಉ౳ w &MJYJS;FO4UZMFͰ͸ґଘղੳΛߦ͏ͷ͕༰қ w εʔύʔεΧϥʔ Ξ΢τɾΦϒɾΦʔμʔ࣮ߦ ͸


    ෆཁͰ͸ʁ w ࣮ࡍɼεʔύʔεΧϥʔํࣜͷํ͕7-*8ํࣜΑΓ
 ίΞαΠζ͕ۃ୺ʹେ͖͘ͳΔ܏޲ʹ͋Δ w ίΞαΠζ͕খ͍͞ํ͕ίΞ਺ΛՔ͛Δ ‎7-*8ͷ෮ݖʹͭͳ͕ΔͷͰ͸ʁ 39 ˜4VTVNV:BNB[BLJ
  19. 41.

    )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
  20. 42.

    )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*.%ίΞͰฒྻ࣮ߦՄೳ
  21. 43.

    )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ͰϞδϡʔϧ໊Λ෇ه
 ͤͣʹEFGIBTUFHB΍IBTUFHBTUVC͕
 ར༻Ͱ͖Δ w EFGIBTUFHBEPʜFOEͰʜͷίʔυΛ
 ॲཧܥʹಡࠐΉ w IBTUFHBTUVCͰίʔυੜ੒Λߦ͏
  22. 44.

    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ʹ൐͏෼഑ɾूܭΛ࡟ݮ͢ΔޮՌ͕ظ଴Ͱ͖Δ
  23. 45.

    &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ͷਤࣔ
  24. 46.

    |> |> NBQNBQϑϡʔδϣϯ  w "45Λ࠶ؼతʹ૸ࠪͯ͠ɼ
 ύΠϓϥΠϯԋࢉࢠͷωετΛ ݕग़͢Δ w ύλʔϯϚονΛ༻͍Δ

    w ύΠϓϥΠϯԋࢉࢠcʹ
 Ϛον͠ɼࢠϊʔυ΋
 ύΠϓϥΠϯԋࢉࢠͰ͋Δ
 ৔߹Λݕग़ w ͜ͷ৔߹͸ɼඞͣ൪໨ͷࢠ Ͱ͋Δ   ˜4VTVNV:BNB[BLJ
  25. 47.

    |> |> . Enum map . Enum map NBQNBQϑϡʔδϣϯ 

    w ωετ͕ଘࡏͨ͠৔߹ɼ
 ࢠϊʔυ͕࣍ͷ૊߹͔ͤ֬ೝ w ύΠϓϥΠϯԋࢉࢠ w &OVNNBQ w ࢠϊʔυͷύΠϓϥΠϯԋࢉ ࢠͷࢠϊʔυʹ΋ &OVNNBQ͕ଘࡏ͢Δ͔Λ֬ ೝ   ˜4VTVNV:BNB[BLJ
  26. 48.

    |> . Enum map & |> NBQNBQϑϡʔδϣϯ  w "45Λૢ࡞ͯͭ͠ͷ&OVNNBQΛͭʹ·ͱΊ͋͛Δ

    w &OVNNBQͦΕͧΕͰݺग़͞ΕΔؔ਺ΛύΠϓϥΠϯͰ߹੒͢Δ   ˜4VTVNV:BNB[BLJ |> |> . Enum map . Enum map
  27. 53.

    84"͔Βݟͨϓϩηεͷ՝୊ w ैདྷͷ84"Ͱ͸ϦΫΤετ͝ͱʹ ϓϩηεΛىಈ͢ΔํࣜΛ࠾༻ w ֤ϓϩηε͕ελοΫϝϞϦΛ֬อ w ϦΫΤετ͋ͨΓ਺ඦ,#ʙ਺.# ͷϝϞϦΛফඅ w

    ϦΫΤετ͕ूத͢ΔͱϝϞϦΛ
 ࢖͍Ռͨͯ͠εϫοϓ͕ൃੜ w ϨεϙϯελΠϜ͕ۃ୺ʹѱԽ w "QBDIF౳Ͱ໰୊   ˜4VTVNV:BNB[BLJ
  28. 54.

    /PEFϓϩάϥϛϯάϞσϧʹΑΔղܾ w /PEFKTͷ࣮ݱํࣜ w *0଴ͪΛڥքʹϦΫΤετॲཧΛ ෳ਺ͷؔ਺ʹ෼ׂ w ্هؔ਺Λ୯Ґͱͯ͠
 εέδϡʔϦϯά͠ɼ࣮ߦՄೳʹ ͳͬͨؔ਺͔Βॱ൪ʹίʔϧόοΫ

    w ؔ਺෼ׂͷهड़͸ɼແ໊ؔ਺Λར༻ ͯ͠ɼϓϩάϥϜͷྲྀΕΛଛͶͳ͍ Α͏ʹࣗવʹهड़Մೳ w ελοΫϝϞϦΛׂΓ౰ͯΔ͜ͱͳ͘ ϚϧνλεΫΛ࣮ݱͰ͖Δ   ˜4VTVNV:BNB[BLJ
  29. 55.

    ࠓ·Ͱͷݚڀ੒Ռ w ୈճ84"ݚڀձʹͯຊํࣜΛॳ൸࿐ w 130೥݄ʹͯ&MJYJSͷϦετʹΑΔίʔϧόοΫ࣮૷ͱ$ ͱ૒ํ޲ϦετʹΑΔίʔϧ όοΫ࣮૷ʹ͍ͭͯɼλεΫ͋ͨΓͷϝϞϦྔΛධՁ w $ εϨου,#

    w &MJYJSϓϩηε,# w &MJYJSͷϦετʹΑΔίʔϧόοΫ࣮૷,# w $ ʹΑΔίʔϧόοΫ࣮૷όΠτ w ͞Βʹ௥ࢼͰɼ$ݴޠͱ୯ํ޲ϦετʹΑΔίʔϧόοΫ࣮૷Ͱ͸ࢀߟه࿥ͳ͕ΒɼόΠτʹ· ͰলϝϞϦԽͰ͖ͨ w ͜ͷ͜ͱ͔ΒɼωΠςΟϒίʔυͰຊํࣜͷϚϧνλεΫػߏΛ࣮૷͠ɼ&MJYJS͔Βར༻Ͱ͖ΔΑ ͏ʹ͢Δ͜ͱ͕๬·͍͠ 55 ˜4VTVNV:BNB[BLJ
  30. 57.

    ݱঢ়ͷ&MJYJSͰͷ.*.%ฒྻϓϩηεͷ࣮ݱ w ਤ͸ϗϫΠτϘʔυʹॻ͘  w ֤ίΞʹεέδϡʔϥʔͱ࣮ߦΩϡʔΛ࣋ͨͤΔ w ͜ΕʹΑΓίΞؒͰεέδϡʔϥʔͱ࣮ߦΩϡʔʹؔ͢Δ
 ഉଞ੍ޚΛ͠ͳ͍ͰࡁΉͷͰɼੑೳ޲্͢Δ w

    ͦͷ୅ΘΓ࣍ͷܽ఺͕͋Δ w ϓϩηεͷ࣮ߦॱ͕ೖΕସΘΔՄೳੑ͕͋Δ w ͜ͷ໰୊͸ݱঢ়Ͱ͸໧ೝ͍ͯ͠Δ w ίΞؒͰϓϩηεෛՙ͕ෆۉ౳ʹͳΔՄೳੑ͕͋Δ w ͜ͷ໰୊ʹ͍ͭͯ͸ɼ.JHSBUJPO-PHJDʹΑΓղফ͢Δ 57 ˜4VTVNV:BNB[BLJ
  31. 58.

    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
  32. 60.

    84"ʹ࠷దԽ͞Εͨฒྻॲཧܥ ࢁ࡚ਐɹ৿ਖ਼࿨ɹٱߐ༤تɹߴ੉ӳر ʲ֓ཁʳ w छྨͷฒྻੑͱͦΕͧΕʹؔΘΔ࠷దԽΛఏҊ͢Δ w ໋ྩฒྻੑɹɹˠ੩త໋ྩεέδϡʔϦϯά w 4*.%ܕฒྻੑˠ)BTUFHB ϔΠεΨ

     w .*.%ܕฒྻੑˠ4BCPUFOEFS αϘςϯμʔ  w ͜ΕΒʹΑΓฒྻੑ͚ͩͰͳ͘Ϩεϙϯεੑͱ଱ো֐ੑ΋ҡ࣋ɾ޲্Ͱ͖Δ ˢ w పఈతʹฒྻੑɾ෼ࢄੑɾϨεϙϯεੑɾ଱ো֐ੑΛ௥ٻ͢Δॲཧܥ&MJYJSͷ࠾༻ ˢ w ৘ใྔരൃ w ൒ಋମτϨϯυΫϩοΫप೾਺৳ͼ಄ଧͪίΞ਺૿Ճ෼ࢄܕΞʔΩςΫνϟ༏Ґ w Ϩεϙϯεੑͷҡ࣋ɾ޲্ w ଱ো֐ੑͷ௥ٻ w ߴෛՙܭࢉॲཧΞϓϦέʔγϣϯͷ૿Ճ w शಘ༰қʹ͢Δඞཁੑ 60 ˜4VTVNV:BNB[BLJ