Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
ϚϧνεϨοσΟϯάͷΈ inside multi-threading Laurent Esnault, Vice President of Engineering ϩϗϯɾΤϊʔ
Slide 2
Slide 2 text
༻ޠղઆ
Slide 3
Slide 3 text
ίΦϖϥςΟϒϞʔυ ༻ޠղઆ
Slide 4
Slide 4 text
• ϓϩηεಉ࢜ͰεέδϡʔϧΛཧ - ໌ࣔత·ͨ҉ࣔత*%-& ίΦϖϥςΟϒϞʔυ ༻ޠղઆ
Slide 5
Slide 5 text
• ϓϩηεಉ࢜ͰεέδϡʔϧΛཧ - ໌ࣔత·ͨ҉ࣔత*%-& • ར༻Ͱ͖ΔίΞݸͷΈ ίΦϖϥςΟϒϞʔυ ༻ޠղઆ
Slide 6
Slide 6 text
• ϓϩηεಉ࢜ͰεέδϡʔϧΛཧ - ໌ࣔత·ͨ҉ࣔత*%-& • ར༻Ͱ͖ΔίΞݸͷΈ • ϢʔβʔΠϯλϑΣʔε0, ίΦϖϥςΟϒϞʔυ ༻ޠղઆ
Slide 7
Slide 7 text
• ϓϩηεಉ࢜ͰεέδϡʔϧΛཧ - ໌ࣔత·ͨ҉ࣔత*%-& • ར༻Ͱ͖ΔίΞݸͷΈ • ϢʔβʔΠϯλϑΣʔε0, ϓϦΤϯϓςΟϒϞʔυ ίΦϖϥςΟϒϞʔυ ༻ޠղઆ
Slide 8
Slide 8 text
• ϓϩηεಉ࢜ͰεέδϡʔϧΛཧ - ໌ࣔత·ͨ҉ࣔత*%-& • ར༻Ͱ͖ΔίΞݸͷΈ • ϢʔβʔΠϯλϑΣʔε0, ϓϦΤϯϓςΟϒϞʔυ • 04͕εέδϡʔϧΛཧ ίΦϖϥςΟϒϞʔυ ༻ޠղઆ
Slide 9
Slide 9 text
• ϓϩηεಉ࢜ͰεέδϡʔϧΛཧ - ໌ࣔత·ͨ҉ࣔత*%-& • ར༻Ͱ͖ΔίΞݸͷΈ • ϢʔβʔΠϯλϑΣʔε0, ϓϦΤϯϓςΟϒϞʔυ • 04͕εέδϡʔϧΛཧ • ۭ͍͍ͯΔίΞΛͯ͢ར༻Ͱ͖Δ ίΦϖϥςΟϒϞʔυ ༻ޠղઆ
Slide 10
Slide 10 text
• ϓϩηεಉ࢜ͰεέδϡʔϧΛཧ - ໌ࣔత·ͨ҉ࣔత*%-& • ར༻Ͱ͖ΔίΞݸͷΈ • ϢʔβʔΠϯλϑΣʔε0, ϓϦΤϯϓςΟϒϞʔυ • 04͕εέδϡʔϧΛཧ • ۭ͍͍ͯΔίΞΛͯ͢ར༻Ͱ͖Δ • ϢʔβʔΠϯλϑΣʔε/( ίΦϖϥςΟϒϞʔυ ༻ޠղઆ
Slide 11
Slide 11 text
ϓϦΤϯϓςΟϒϞʔυ ίΦϖϥςΟϒϞʔυ ༻ޠղઆ
Slide 12
Slide 12 text
U U $16 $16 ϓϦΤϯϓςΟϒϞʔυ ίΦϖϥςΟϒϞʔυ ༻ޠղઆ
Slide 13
Slide 13 text
ϓϩηε" U U $16 $16 *%-& ϓϦΤϯϓςΟϒϞʔυ ίΦϖϥςΟϒϞʔυ ༻ޠղઆ
Slide 14
Slide 14 text
ϓϩηε" ϓϩηε# U U $16 $16 *%-& *%-& ϓϦΤϯϓςΟϒϞʔυ ίΦϖϥςΟϒϞʔυ ༻ޠղઆ
Slide 15
Slide 15 text
ϓϩηε" ϓϩηε" ϓϩηε# U U $16 $16 *%-& *%-& ϓϦΤϯϓςΟϒϞʔυ ίΦϖϥςΟϒϞʔυ ༻ޠղઆ
Slide 16
Slide 16 text
ϓϩηε" ϓϩηε" ϓϩηε# U U $16 $16 U U $16 $16 *%-& *%-& ϓϦΤϯϓςΟϒϞʔυ ίΦϖϥςΟϒϞʔυ ༻ޠղઆ
Slide 17
Slide 17 text
ϓϩηε" ϓϩηε# ϓϩηε" ϓϩηε" ϓϩηε# U U $16 $16 U U $16 $16 *%-& *%-& ϓϦΤϯϓςΟϒϞʔυ ίΦϖϥςΟϒϞʔυ ༻ޠղઆ
Slide 18
Slide 18 text
ϓϦΤϯϓςΟϒϞʔυ
Slide 19
Slide 19 text
ϓϦΤϯϓςΟϒϞʔυ • %#%
Slide 20
Slide 20 text
ϓϦΤϯϓςΟϒϞʔυ • %#% • 42-
Slide 21
Slide 21 text
ϓϦΤϯϓςΟϒϞʔυ • %#% • 42- • )551
Slide 22
Slide 22 text
σϞϯετϨʔγϣϯ %ϓϩηεΛϓϦΤϯϓςΟϒϞʔυͰ࣮ߦ͢Δ
Slide 23
Slide 23 text
BE PREPARED NOT SCARED ৺ߏ͕͑େࣄ ҟมࡂΛʰාΕΔͳ४උͤΑʱ ʢถͷඪޠʣ
Slide 24
Slide 24 text
BE PREPARED NOT SCARED • Ϗοτ൛ • ίϯύΠϧϞʔυ • ϓϦΤϯϓςΟϒରԠίϚϯυ ৺ߏ͕͑େࣄ ҟมࡂΛʰාΕΔͳ४උͤΑʱ ʢถͷඪޠʣ
Slide 25
Slide 25 text
BE PREPARED NOT SCARED • Ϗοτ൛ • ίϯύΠϧϞʔυ • ϓϦΤϯϓςΟϒରԠίϚϯυ ৺ߏ͕͑େࣄ ҟมࡂΛʰාΕΔͳ४උͤΑʱ ʢถͷඪޠʣ
Slide 26
Slide 26 text
BE PREPARED NOT SCARED • Ϗοτ൛ • ίϯύΠϧϞʔυ • ϓϦΤϯϓςΟϒରԠίϚϯυ ৺ߏ͕͑େࣄ ҟมࡂΛʰාΕΔͳ४උͤΑʱ ʢถͷඪޠʣ
Slide 27
Slide 27 text
ΦϯϥΠϯυΩϡϝϯτ
Slide 28
Slide 28 text
ΦϯϥΠϯυΩϡϝϯτ
Slide 29
Slide 29 text
࣮ߦϞʔυ
Slide 30
Slide 30 text
࣮ߦϞʔυ ϝιουϓϩύςΟ
Slide 31
Slide 31 text
• ϓϦΤϯϓςΟϒ࣮ߦՄ ࣮ߦϞʔυ ϝιουϓϩύςΟ
Slide 32
Slide 32 text
• ϓϦΤϯϓςΟϒ࣮ߦՄ • ϓϦΤϯϓςΟϒ࣮ߦෆՄ ࣮ߦϞʔυ ϝιουϓϩύςΟ
Slide 33
Slide 33 text
• ϓϦΤϯϓςΟϒ࣮ߦՄ • ϓϦΤϯϓςΟϒ࣮ߦෆՄ • ಛʹઃఆ͠ͳ͍ ࣮ߦϞʔυ ϝιουϓϩύςΟ
Slide 34
Slide 34 text
• ϓϦΤϯϓςΟϒ࣮ߦՄ • ϓϦΤϯϓςΟϒ࣮ߦෆՄ • ಛʹઃఆ͠ͳ͍ ࣮ߦϞʔυ ίϯύΠϥʔʹΑΔνΣοΫ ϝιουϓϩύςΟ
Slide 35
Slide 35 text
• ϓϦΤϯϓςΟϒ࣮ߦՄ • ϓϦΤϯϓςΟϒ࣮ߦෆՄ • ಛʹઃఆ͠ͳ͍ • ϓϦΤϯϓςΟϒରԠ ࣮ߦϞʔυ ίϯύΠϥʔʹΑΔνΣοΫ ϝιουϓϩύςΟ
Slide 36
Slide 36 text
• ϓϦΤϯϓςΟϒ࣮ߦՄ • ϓϦΤϯϓςΟϒ࣮ߦෆՄ • ಛʹઃఆ͠ͳ͍ • ϓϦΤϯϓςΟϒରԠ • ϓϦΤϯϓςΟϒඇରԠ ࣮ߦϞʔυ ίϯύΠϥʔʹΑΔνΣοΫ ϝιουϓϩύςΟ
Slide 37
Slide 37 text
σϞϯετϨʔγϣϯ ࣮ߦϞʔυ
Slide 38
Slide 38 text
ॳΊʹݺΕΔ ϓϩδΣΫτϝιου͚ͩ มߋ͢Εྑ͍ ϙΠϯτ
Slide 39
Slide 39 text
BE PREPARED NOT SCARED • Ϗοτ൛ • ίϯύΠϧϞʔυ • ϓϦΤϯϓςΟϒରԠίϚϯυ • Πϯλʔϓϩηεม༻ېࢭ • ϢʔβʔΠϯλϑΣʔεແ͠ ৺ߏ͕͑େࣄ ҟมࡂΛʰාΕΔͳ४උͤΑʱ ʢถͷඪޠʣ
Slide 40
Slide 40 text
BE PREPARED NOT SCARED • Ϗοτ൛ • ίϯύΠϧϞʔυ • ϓϦΤϯϓςΟϒରԠίϚϯυ • Πϯλʔϓϩηεม༻ېࢭ • ϢʔβʔΠϯλϑΣʔεແ͠ ৺ߏ͕͑େࣄ ҟมࡂΛʰාΕΔͳ४උͤΑʱ ʢถͷඪޠʣ
Slide 41
Slide 41 text
ίΦϖϥςΟϒ
Slide 42
Slide 42 text
ίΦϖϥςΟϒ <>myVar:=<>myVar+1
Slide 43
Slide 43 text
ίΦϖϥςΟϒ <>myVar:=<>myVar+1 IDLE IDLE
Slide 44
Slide 44 text
ϓϦΤϯϓςΟϒ <>myVar:=<>myVar+1 <>myVar:=<>myVar+1 <>myVar:=<>myVar+1 <>myVar:=<>myVar+1 IDLE IDLE
Slide 45
Slide 45 text
ϓϦΤϯϓςΟϒ <>myVar:=<>myVar+1 <>myVar:=<>myVar+1 <>myVar:=<>myVar+1 <>myVar:=<>myVar+1 IDLE IDLE IDLE
Slide 46
Slide 46 text
<>myVar:=<>myVar+1 CLEAR SEMAPHORE("myVar") If(Not(Semaphore("myVar";1000))) ϓϦΤϯϓςΟϒ End if
Slide 47
Slide 47 text
ΠϯλʔϓϩηεΛΘͣʹͲ͏ͬͯ ϓϩηεؒͰใΛΓऔΓ͢Δͷ
Slide 48
Slide 48 text
$"--803,&3
Slide 49
Slide 49 text
$"--803,&3 • ໊લ͕͞ΕͨϝοηʔδϘοΫε
Slide 50
Slide 50 text
$"--803,&3 • ໊લ͕͞ΕͨϝοηʔδϘοΫε • ϝιουΛ࣮ߦ͢ΔͨΊͷϓϩηε
Slide 51
Slide 51 text
$"--803,&3 • ໊લ͕͞ΕͨϝοηʔδϘοΫε • ϝιουΛ࣮ߦ͢ΔͨΊͷϓϩηε • $"--803,&3ͰϝοηʔδΛಧ͚Δ - Ҿ/FXQSPDFTTʹࣅ͍ͯΔ - ҙͷϓϩδΣΫτϝιου - ҙͷύϥϝʔλʔ
Slide 52
Slide 52 text
myWorker ΞϓϦέʔγϣϯϓϩηε myWorkerϓϩηε
Slide 53
Slide 53 text
myWorker CALL WORKER("myWorker"; "myMethod";$param) ΞϓϦέʔγϣϯϓϩηε myWorkerϓϩηε
Slide 54
Slide 54 text
myWorker CALL WORKER("myWorker"; "myMethod";$param) ΞϓϦέʔγϣϯϓϩηε myWorkerϓϩηε
Slide 55
Slide 55 text
myWorker CALL WORKER("myWorker"; "myMethod";$param) ΞϓϦέʔγϣϯϓϩηε myWorkerϓϩηε you’ve got mail!
Slide 56
Slide 56 text
myWorker ΞϓϦέʔγϣϯϓϩηε myWorkerϓϩηε CALL WORKER("myWorker"; "myMethod";$param)
Slide 57
Slide 57 text
myWorker ΞϓϦέʔγϣϯϓϩηε myWorkerϓϩηε CALL WORKER("myWorker"; "myMethod";$param)
Slide 58
Slide 58 text
myWorker ΞϓϦέʔγϣϯϓϩηε myWorkerϓϩηε myMethod($param) CALL WORKER("myWorker"; "myMethod";$param)
Slide 59
Slide 59 text
myWorker ΞϓϦέʔγϣϯϓϩηε myWorkerϓϩηε CALL WORKER("myWorker"; "myMethod";$param)
Slide 60
Slide 60 text
σϞϯετϨʔγϣϯ ϓϩηεؒͷσʔλ௨৴
Slide 61
Slide 61 text
BE PREPARED NOT SCARED • Ϗοτ൛ • ίϯύΠϧϞʔυ • ϓϦΤϯϓςΟϒରԠίϚϯυ • Πϯλʔϓϩηεม༻ېࢭ • ϢʔβʔΠϯλϑΣʔεແ͠ ৺ߏ͕͑େࣄ ҟมࡂΛʰාΕΔͳ४උͤΑʱ ʢถͷඪޠʣ
Slide 62
Slide 62 text
BE PREPARED NOT SCARED • Ϗοτ൛ • ίϯύΠϧϞʔυ • ϓϦΤϯϓςΟϒରԠίϚϯυ • Πϯλʔϓϩηεม༻ېࢭ • ϢʔβʔΠϯλϑΣʔεແ͠ ৺ߏ͕͑େࣄ ҟมࡂΛʰාΕΔͳ४උͤΑʱ ʢถͷඪޠʣ
Slide 63
Slide 63 text
Ͳ͏ͬͯϓϦΤϯϓςΟϒϓϩηεͷ ϢʔβʔΠϯλϑΣʔεΛ࡞͢Δͷ
Slide 64
Slide 64 text
$"--'03.
Slide 65
Slide 65 text
$"--'03. • ΠϯυຖʹϝοηʔδϘοΫε
Slide 66
Slide 66 text
$"--'03. • ΠϯυຖʹϝοηʔδϘοΫε • ϑΥʔϜͷίϯςΩετͰϝιουΛ࣮ߦ͢Δ
Slide 67
Slide 67 text
$"--'03. • ΠϯυຖʹϝοηʔδϘοΫε • ϑΥʔϜͷίϯςΩετͰϝιουΛ࣮ߦ͢Δ • $"--'03.ͰϝοηʔδΛಧ͚Δ - Ҿ$"--803,&3ʹࣅ͍ͯΔ - ҙͷϓϩδΣΫτϝιου - ҙͷύϥϝʔλʔ
Slide 68
Slide 68 text
myWindow ϓϩηε·ͨϫʔΧʔ myWindowΠϯυ
Slide 69
Slide 69 text
myWindow CALL FORM($myWindow; "myMethod";$param) ϓϩηε·ͨϫʔΧʔ myWindowΠϯυ
Slide 70
Slide 70 text
myWindow CALL FORM($myWindow; "myMethod";$param) ϓϩηε·ͨϫʔΧʔ myWindowΠϯυ
Slide 71
Slide 71 text
myWindow CALL FORM($myWindow; "myMethod";$param) ϓϩηε·ͨϫʔΧʔ myWindowΠϯυ you’ve got mail!
Slide 72
Slide 72 text
myWindow CALL FORM($myWindow; "myMethod";$param) ϓϩηε·ͨϫʔΧʔ myWindowΠϯυ
Slide 73
Slide 73 text
myWindow CALL FORM($myWindow; "myMethod";$param) ϓϩηε·ͨϫʔΧʔ myWindowΠϯυ
Slide 74
Slide 74 text
myWindow CALL FORM($myWindow; "myMethod";$param) ϓϩηε·ͨϫʔΧʔ myWindowΠϯυ myMethod($param)
Slide 75
Slide 75 text
myWindow CALL FORM($myWindow; "myMethod";$param) ϓϩηε·ͨϫʔΧʔ myWindowΠϯυ
Slide 76
Slide 76 text
σϞϯετϨʔγϣϯ Πϯυؒͷϝοηʔδૹड৴
Slide 77
Slide 77 text
Ϗοτ൛
Slide 78
Slide 78 text
Ϗοτ൛ Windows Mac
Slide 79
Slide 79 text
v12 Ϗοτ൛ Windows Mac
Slide 80
Slide 80 text
v12 Ϗοτ൛ Windows Mac v13 OD BC
Slide 81
Slide 81 text
v12 Ϗοτ൛ Windows Mac v13 OD BC v15 OD BC
Slide 82
Slide 82 text
v12 v15 Rx Ϗοτ൛ Windows Mac v13 OD BC v15 OD BC
Slide 83
Slide 83 text
v12 v15 Rx v15 R5 Ϗοτ൛ Windows Mac v13 OD BC v15 OD BC
Slide 84
Slide 84 text
v12 v15 Rx v15 R5 v16 Ϗοτ൛ Windows Mac v13 OD BC v15 OD BC
Slide 85
Slide 85 text
ϓϦΤϯϓςΟϒϞʔυ ΫϥΠΞϯταʔόʔ σʔλϕʔε 42- )551 TUBUJD EZOBNJD ϥϯήʔδ
Slide 86
Slide 86 text
·ͱΊ
Slide 87
Slide 87 text
·ͱΊ • Ϗοτ൛ ֦ுੑ ͓ΑͼॲཧྗΞοϓͷجૅ εέʔϥϏϦςΟ ύϑΥʔϚϯε
Slide 88
Slide 88 text
·ͱΊ • Ϗοτ൛ ֦ுੑ ͓ΑͼॲཧྗΞοϓͷجૅ εέʔϥϏϦςΟ ύϑΥʔϚϯε • ඇಉظϝοηʔδ؆୯͔ͭೳతͳϓϩηεؒ௨৴ ηϚϑΥʔෆཁɾσουϩοΫճආ
Slide 89
Slide 89 text
·ͱΊ • Ϗοτ൛ ֦ுੑ ͓ΑͼॲཧྗΞοϓͷجૅ εέʔϥϏϦςΟ ύϑΥʔϚϯε • ඇಉظϝοηʔδ؆୯͔ͭೳతͳϓϩηεؒ௨৴ ηϚϑΥʔෆཁɾσουϩοΫճආ • ૣɹɹΛೖखͯ͠׳Ε͓͖ͯ·͠ΐ͏ 3