• Aucun résultat trouvé

Optimization of memory management on distributed machine

N/A
N/A
Protected

Academic year: 2021

Partager "Optimization of memory management on distributed machine"

Copied!
160
0
0

Texte intégral

(1)

HAL Id: tel-00814630

https://tel.archives-ouvertes.fr/tel-00814630

Submitted on 17 Apr 2013

HAL is a multi-disciplinary open access

archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

machine

Viet Hai Ha

To cite this version:

Viet Hai Ha. Optimization of memory management on distributed machine. Other [cs.OH]. Institut National des Télécommunications, 2012. English. �NNT : 2012TELE0042�. �tel-00814630�

(2)

123435635678179A1587BC7DB1513E387F546A9D45

5EBD394D135D39935315FA9D3589D3

12345675839A9BCDEF685

14E79E48EF679A123456789ABCDE1F577C3A89A531D91D9653ABCD1D186A

F3C83926F

589659

EF9E8C5F979F69

 !"99 #$91!"B1

75555 !5

"!5#$5!%" 

1E8C979%&948EF9'%('99999999999999999999999999999 )6C8979*F+94E2E399A A6D9DC61D19D1 6A1 F1 !8"96D1D15346D3D1#$% 239A9C91!A3D1&1F571'1F571(C86A 8))569DC6

!*1AD66D1+, F 654DDC6113A-D6A91D1 AD1. !*1(/89AD31 2!F 654DDC613A-D6A910,683 187A389DC6 1!*12D833 C1 !,FF 654DDC613-D6A91AD66D1D91!86AD14C6AD11 1!*146A95)D142 654DDC613-D6A9186A1.5 1!7D*1(D781+,!((2 !8"96D1D15346D3D1#$%14! 1234567862012TELE0042

(3)
(4)

123456789A8B84CD

12345672689A2B42ACDEAFF22EB8B57A2DDEA8B84272F8AEA2B9F2B422F5DAE8F4E2 E2E82A56B24E28F2ACA66AB2587A25FA56278F5FF84F2BA4EAB86272BA862 A6D2724E28F24B8545F2A45EAAB275E82BA2346A2DAE847242234E92 122EBA562B42AF2D6B82 45272!6"E8A2BA5F272BA24BAE2A#AEF242 $%&24E2BA8E2A6DF24E2788FBEB8A2DE4A75EAF2 1227AAD6287A#BA72B42BA2!8ABAFA24AEAB24E2BA2F46EF8D2B42FB572#E472 126F42B92$%&24E2BA28862F5DD4EB24272BA234E982478B84F2 12345672689A2B42B926622E8A7F2B2$%&24E2BA8E2F5DD4EB272BA2FE824268A'F2 ACDAE8ABF (8662127AAD62B92BA24FBB2A45EAAB272F5DD4EB2422346A2862 8657822DEABF22F8FBAEF272 2#E4BAEF2238A272B3422867EA212 7A78BA2B8F2BAF8F2B42662BA2A#AEF242286

(5)
(6)

12345674

12345675384379AB4573CD58E7538E73FAB8734C3A5BB7B3F4AD8235FE87F8D573 DFE33563FBD8753DB8A54F7453263457357F728B3FB4D63263DB8F457323 784D73A5BB7B3B2D73323A458283FEBB7223D735438E73A545753 A428 3 4C 3 7 3 A72 3  3 75 3 7 3 84 3 D7 3 8E 3 8 3 B8 3 84 3 DAA458 3 2F57728B 3 A5BB7B!8423C78D573C45362FBB3788238E732D7534C38E5763263FE76DB23 85877 3 "4775 3  3 28BB 3 67276 3 C45 3 E576 3 745 3 87 3 A72 3 3 DDBB3B8763423685D8763745387384328524673F4AD88423

2 3887A83 E738576 384 3A4583 A72 3 423 685D876 3 873#E73483 775763AA54FE732B3C4FD342379AB48238E73FAB8734C33A7FB327845$3 5FE87F8D573 26 3 8E757C4573 F2248 3A5467 3 2 3 4A72 3 4BD842 3 8E75 3 57 376 3 42 3 23 B576 3 BB7 3 4C857 3 4BD842 3 DFE 3  3 %& 3  1 3 45 3 'B4B 3(55 3 26 3  3 3 F427)D72F738E7377836CCFDB8738437F4733CDBBF4AB283263EEA75C452F73 AB772884234C3A72 3

( 3 78 3 248E75 3 887A8 3 84 3 DB8 3 2 3 A72 3 F4AB28 3 AB7728842 3 C453 685D87637453873*( + 3,3 EFE38263C453*E7F$A42823(673 5BB7B3 +97FD842 3,3 E 3 772 3 677B4A76 3 EFE 3 8E 3 8E7 3 C4BB42 3 67- 3 E72 3 57FE2 3 3 A5BB7B37F84238E7387538E576336DA763263837337283843B7.38E7237FE3 B73797FD87336CC7572838E576.3838E7372634C38E73A5BB7B37F8423B738E57637985F83 26 3 578D52 3 84 3 8E7 3 875 3 8E576 3 8E7 3 B8 3 4C 3 BB 3 46CF842 3 8E8 3 E 3 772 3 B4FBB3 A75C4576.38E7387532FBD6738E77346CF842326357D7383797FD8423 123456753843A54738E73C7B834C38E3A5638E73C583754234C3*( +33 AB7728763D23F4AB7873FE7F$A4283"47753A57B2532B3E47638E83 8E73B5734D2834C3683852C7557637877238E57632638E737985F84234C38E73B834C3 46CF8423C543F4AB7873FE7F$A4283B7638437$3A75C452F73D58E7545738E3 7542335785F8763843A5BB7B3A54B738C238E73/7528723F42684237383 66324834B738E7357)D5772834C3E5763683 #E38E73383A57728238E73AA54FE7373A54A4763843A5473*( +3 A75C452F7 3 26 3 84 3 475F47 3 8E7 3 5785F842 3 42 3 E576 3 68 3 58 3 7 3 677B4A763 %1*0 #3EFE38263C453%F4282D4D312F57728B3*E7F$A42823232F57728B3 FE7F$A4282 3 87FE2)D7 3 8E8 3 DAA458 3 8E7 3 B8 3 84 3 7 3 2F57728B 3 FE7F$A4283 6F4282D4DB36D5238E73797FD84234C33A54F73/7634238E73%1*0 #38E73797FD8423 A77634C38E73273754234C3*( +332CF28B32F5776345379AB738E73873843 F4AD8733B5738598593A546DF83423367$84A3FBD8753E37F473753B53843 8E7 3 797FD842 3 87 3 4C 3 8E7 3 7 3 4A8!76 3  1 3 A545 3 457475 3 8E7 3 A776DA3 4F876 3 8E 3 8E 3 27 3 7542 3 C45 3 54D 3 2D75 3 4C 3 8E576 3  3 )D87 3 B275 3 C453 6CC757283A54B73!73

12 3 8E73 673 4C 3 E576 3 68 3 73 A54A476 3 1"23* 3 EFE 3 826 3 C45 3 1A68763 "477632!337B773*42872F3346C763754234C38E73"477632!3 37B77 3 *42872F 3 4"23*5 3 745 3 467B 3 84 3 $7 3 8 3 457 3 AA54A587 3 84 3 8E73 FE5F8758F34C3*( +3 54848A73263B458E3843AB772838E732FE542!8423 263A72 368E523FBD73263657F873573B43A7FC763#E77384345$3 72D5738E73B83C453*( +384357A7F83E5766837E453

(7)
(8)

1234567859ABCDE4EF7A8C89C8EC8EB5B

12 3456789478979AB 7 CD4E7 F5A962 7 4EA64A7 AED55A69 7123452166789AB 2

C8597DE 2 F744 2 B54B 2 B4A68E2 7 DE55B4A 7  7 65 7 7

A65DA964A9747A7 65D7!56"D#79AB746D4$65B7657%&117 ' !7%&11()7*5D9A)7D9A)7+5$D9D7%&1127

%2 3456 7 894 7 89 7 9AB 7 CD4E 7 F5A962 74E 2 9D 2 47879A4 219EE 2 8 2 1F 2

9E4D 2 8 2 EA88E 2 A7449 2 B4A68E2 7 DE55B4A 7  7 65 7 7

A5D5AE5 7 A 7 A4E964A) 7 65D 7 9AB 7 4A9 7 DE54A 7 '9EF47 %&11(2734E6D49)7 9A9B9)7,67%&1127

-2 3456 7 894 7 89 7 9AB 7 CD4E 7 F5A962 7 678! 2 47879A4 2 8 2 1F 2 E 2

EA88E 2 A7449 2 B4A682 7 DE55B4A 7  7 65 7 7

A65DA964A9 7 A5D5AE5 7 A 7 84 7 5DD9AE5 7 9AB 7 A4E964A 7 %&117 '8 .%&11(27/9A)7 9A9B9)7565$5D7%&1127

02 3456789478979AB7CD4E7F5A9627C8597DE2924A4264498282"64# 2

82E74D2#4872$E4E2E21F25B2EA88E2 A7449 2 B4A682765D74A76579D7,B65D72271D#7/4B4A7657!5267

35A5D964A 7  7 ,4E964A 7 E45A646) 7 9 7 9D6 7  7 65 7  7 9AB 7 , 47 5D 64A7 A5D5AE57%&117' 11(2759665)75,)7!65$5D7%&112 72 3456789478979AB7CD4E7F5A962 74E28292EB974D%48728D428721F27

DE55B4A 7  7 65 7 86 7 A65DA964A9 7 1D# 7 A 7 95A47 '1947 %&1%()7 F5)769)7D4A5D7:! 7;-%1)727%<%.%<<)7=A57%&1%27

(9)
(10)

12

33433333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 333333333333333333333333333333333333333333333333333 31234523 3

123452

567839ABCDEF7B13EB3D739B317B1B3D1EEEB3BEEB3B3EB31DDB3EB3 17EEB3EB3B3E7D1FBB13B3DE31BB83EB38B3B3EB3B3 E71 3 8 3 E8B 3 9B 3 D1F17F8 3 87B1BE 3 B 3 67EB 3 3 7E7B1 3 1BB 3 3 9BEFDDB123!3DF7839B3B393D1F1B13"DB8#$3%4&3B31367EB3 37E7B13 B83189B3D17B31'B3 33D73 3DDF1B138B3D1EEE77F83781B8EB3E3 DF7(7E739B39678713987BB83EB38F(1B39B367E39ABC7F83B3731'B3 3 B317B39AF19F888BB823)BDB8983FB37E3337877EBB83F8*3DF13 9B 3 B 3 3 F71B 3 D1B 3 "DB8#$ 3 B 3 81EBB8 3 1 3 E77 3 DF13 B66BB139B3EE3139B3B3 3F71B39717(B2 !B38F(1BB3FE7F83F833BB3DF13671B3F18B13"DB8#$3139B3 B3 3F71B39717(B23+B3DD1FB3EB3DE3(F7B3B3F8B81B8313 E,BCDEF77F8 3 9,8B 3 17B1B 3 1B 3 D7EB 3 B 3 9F8 3 8B 3 DBB8 3 6F1871 3 8B3 FE7F83FB1B23!A1B3F83(B3138B3FE7F83EF77BEEB39- 397DF87(EB3BEEB3 B3!#.3%/&%0&3#$13%2&%3&3F34EF(E35113%45&3B3D13F8B831B8F81B839B3 97667E3DF136F187138B37DEB87F839A"DB8#$3FDEBB83F86F1B3B3 3 B3DB16F18B23 )5$6373DF1 3123456789A89BCD8E3ECF3C34A879373 B38B3FE7F83 EB187B3DB1B839B39BEFDDB138B37DEB87F83F86F1B39A"DB8#$3DF13 EB3B3 3F71B39717(B23+A79B3B3E378B383B8311783 38B3B7F83 D1EEEB3EA7B393A23E391B3B3B193B3B3B8FB3C3BEB3:3D73 B3 BEB3 BCB3 EA8 3 9B 3A23EC:3 3 E3 678 3 9B3 E3 B7F8 3D1EEEB 3 B3

A23E3 BEB 3 BC17B8 3 8B 3 E7B 3 9B 3 FB 3 F97677F8 3 8 3  3 B66BB3

EFEBB83B3E31B8F7B33A23E391B3:3EB3A23E391B3781B3B3F97677F83 B31BD1B893F83BC7F82

567839B3D1FB13E367(7E739B3BB3DD1FB3E3D1B71B3B17F839B3)5$63 ;)5$64<3%4=&%4>&%4?& 3  3  3 7DEB8B 3 B8 3 7E78 3 9B 3 DF78 3 9B 3 1BD17B3 FDEB23)BDB89838B38EB 3D1E77871B 33F813B3E3189B38739B3 9F88B 3 187B 3 B81B 3 EB 3A23E3 B 3 E,BC17F8 3 9B 3 E 3 E7B 3 9B 3 F97677F83 9BD73EB3DF7839B31BD17B3FDEB3F8973 39B367(EB3DB16F18B23!B3DE3 BB 3 B17F8 3 B 3 E77B 3 3 9B 3D1F(EB 3 D1EEEB 3 7678 3 EB 3 F8977F8 3 9B3 @B18B78 3 1BB8 3 97 3 7E 3 8B 3 DB1B 3 D 3 9B 3 D1B891B 3 B8 3 FDB 3 EB 3 9F88B3 D1B2

+AF(-B76 3 9B 3 BB 3 B 3 B 3 9B 3 D1FDFB1 3 9B 3 8FBEEB 3 DD1FB 3 DF13 E7F1B1 3 EB 3DB16F18B 3 9B3 )5$6 3 B3 9DB1 3 EB 3 1B177F8 31 3 EB 3 9F88B3 D1B2

6789ABC8DE32834F838388FF385389ABC

6778BF

+A79B37877EB39B1171B3)5$63B3EA7E77F839B3DF7839B31BD17B3DF137DEB8B13 EB3F9EB39ABC7F83375789C9A"DB8#$2 !83E3D1B71B3B17F83)5$63B3E773 39B3D1F1B3F8B8839B3 17F8 3 D1EEEB 3 7678 3 EB 3 F8977F8 3 9B 3 @B18B78 3 B 3 EB 3A23E3 F83 1BDE3D139B3D1FB367839AA1B39717(3139B378B397661B8B23+B3 D1787DB39B3)5$63B3EB37838

(11)

539(3EB3D1F1B3B3BC398383BE3D1FB33EB3D1FB3 91B23+F1B3B3D1FB31B8F81B38B317F83D1EEEB38 1 DB 375C8 3 EB 3 17E 3 B 3 977 3 B8 3 D17B 3 DE 3 DB7B 3 D1 3 EB 3 D1FB3 91B23539(39B3B3F1B3EB3D1FB391B31B383DF7839B3 1BD17B3FDEB3B3EAB8F7B3 38B378B3978B3DF131B1383D1FB3 BEB23687B3EB3D1FB391B3F878B3B3E3D17B378B3A7E333 E7B235D13EB39B187B13F1B3EB3D1FB391B3B893EB31E39B3 D1FB 3 BEB2 3 )B 3 78B 3 978B 3 7E7B 3 EB 3 DF78 3 9B 3 1BD17B3 ABEEB331B*3DF131BD1B891B3EB3D1F1B339(39B33D17B23B8B36F73E3 D17B3B178B3EB31E3B3BC173B837E783831B3DF7839B31BD17B3B3 E 3 97661B8B 3 9AB 3 EB 3 DF78 3 9B 3 1BD17B 3 7877E 3 B 3 1BF18 3  3 D1FB3 91B23686783EB3D1FB3BEB3B178B3F83BC7F83: 1 DB3789C83D13B3F3EB3D1FB3BEB3F83B1783EB13BC7F83 B3B3EB3D1FB391B331B*3F3EB31E39B3D1FB3BEB3EB3 D1FB391B31BD1B893F83BC7F83 3E317F8378B393D1F1B23 C3B3FB8E 37E38A33A83BE3D1FB3763983EB3B2 +B3F9EB3)5$63F661B39BC38B3D1787DC38 1 7E3B3FD7(EB3B3EB3F9EB39B3F71B3D1B 333EC4798A394 C 9A"DB8#$38 3 EB 3 F71B 3 9 3 D1FB 3 91B 3 B 3 9B 3 D1FB 3 BEB3 F11BDF89B8 3 1BDB7BB8 3 C 3 F71B 3 B 3 C 3 B 3 BDF171B 3 93

A23E3 91B 3 B 3 9B 3A23E3 BEB 3 9 3 F9EB 3 9A"DB8#$2 3 +F1 3 9B3

EABC7F8 3 9B 3 B 3 D17B 3 EB 3 D1FB 3 BEB 3 8A7E7B8 3 B 3 EB13 BDB3 F71B 3D1FD1B2 3 68 3 F8B8B 3 B 3 F9EB3DB1B3 9B 3 1971B3 EB3 BD 3 9A 3 3 E 3 F71B 3 F8B 3 B 3 9F8 3 9AB8B1 3 E 3 7BB3 9ABC7F8393D1F1B23C3EABC7F83E381F877F839B3F71B3 9B 3 D1FB 3 BEB 3 8AB 3 D 3 8B71B 3 D7B 3 EB 3 F8977F8 3 9B3 @B18B7839F7B83A1B3767B23+3FE7F83DB1B839B31F8B13BB3 1B177F83B3D1B8B3B83.B23D3:

1 E 3 DF7(7E7 3 9B 3 9717(B1 3 F7BB8 3 EB 3 17F8 3 D1EEEB 3 B 3 9B3 1BB7EE71 3 F7BB83 EB3 1E3 9B 3D1FB 3 BEB 3 ; 3 D171 3 9B3 DF7839B31BD17B<3DB1B39B39DB13EB378F887B839B31B3DD1FB3 FB3)EB13"DB8#$39A18BE3F3EB3FE7F83(B313#$13F34EF(E3 51123683D76783EB3EF8B3F71B3F9767B3EF139B3EABC7F839A8B3 B7F8 3 9 3 D1F1B 3 9BC 3 EB8 3 7DF18 3 9 3 F9EB 375789 C DBB83A1B31E73F7BB83B3B383F713(BF7839A7E7B139B3 971B7B 3 DDEB871B2 3 +B 3 D1B7B1 3 B 3 E 3 9717(7F8 3 9 3 17E 3 C3 D1FB3BEB3:3EB3BF893B3E31D17F839B31E39ABC7F83 983EB3D1FB3BEB23)B39BC3EB83F8313976677EB3 31E7B13 B3EB31B3DD1FB3783 3EABC7F839B3D1F1B3"DB8#$313 9B3B3 3F71B3D1B 3739B36738B3DBB83A1B3F8791B3 FB39B3FE7F83B871BB83F86F1B3B3 3B3DB16F18B2

67678BF89ABC84F838D438123244546783

+ 3 F72 3 4 3 D1B8B 3 E 3 197F8 3 B66BB 3 1 3 8 3 F9B 3 78E8 3 8B 3 F817F83 "DB8#$31232445467833B3FB3EB3717F839B3E3(FEB 393 76783EB3 F8977F8 3 9B 3 @B18B782 3 $F1 3 67E7B1 3 E 3 D1B87F8 3 DDFF8 3 B 3 EB 3 8F(1B3 9A717F839B3E3(FEB3F73E338F(1B39B3D1FB3BEB23+B3D1B83AB 971B3EB389391B33E31B39B3E3B7F839B3BEB3B38ABCB38B3 717F839B3E3(FEB3983E3D17B3D1EEEB23GFB6F73B738AB3D3F(E7F71B3B3 EB 3 89 3 91B 3 DB 3 D1B891B 3 D1 3 3 EABC7F8 3 9A8B 3 F 3 DE7B1 3 717F8 3 9B3

(12)

12 33>33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 333333333333333333333333333333333333333333333333333 31234523 3 (FEB23+3197F83B3(B313EB36F87F8378B38 1 A352B56C612346D31B383DF7839B31BD17B3FDEB3B3EAB81B71B3983EB3 677B133123423+3EB131BF18B3D13E36F87F83B37E7B3DF139B178B13 73E36F87F837B839B31B13EB3DF7839B31BD17B3F373BEEB31BF18B3D13E3 1BD17B 3 9B 3 EABC7F8 3 3 D171 3 9 3 DF78 3 9B 3 1BD17B2 3 )BB 3 6F87F8 3 B 3 13 77E71B3 3EADDBE3B3783E363B3A352B531B8F7B3F3D13F713 813EB3DF7839B31BD17B3B33D13E31BD17B39B3EABC7F8393DF7839B3 1BD17B3: 1 A81 6 C 61234566  61234576 D3 FD7B 3 EB 3 F8B8 3 9B 31234563 983 1234573: 1 776C612345666123457661234589D3B81B71B39831234583E3E7B3 9B 3 F97677F8 3 7 3 9B17B8 3 A1B 3 DDE7B 3 1 3123456CDF1 3 F(B8713 F71B3423#F9EB3DF13EB3(FEB31232445467836 9A"DB8#$3B39B3DF7839B31BD17B3FDEB2

(13)

1234573: 1 535 6 C 61234566  61234576 D3 DDE7B 3 E 3 E7B 3 9B 3 F97677F83 B81B71B398312345733DF7839B31BD17B3F8B839831234563: 1 2B783 6 C 612346 D3 1BF18B 3 D1 3 B 3 FB 3 EB 3 F97677F8 3 3 B66BB1313EB3677B1312343F8367B3: 1 35B23B6C612346D31BD1B893EABC7F8393D1FB3B83F13 3D171393 DF7839B31BD17B3F8B8398312342 +AFD17F8373F87B3 31BD1B891B3EABC7F839B3DF7839B31BD17B3813 DF13B3717F839B3(FEB3;E3E78B3B837E7B3983E3F7234<3B3BCB313 EB389391B3739EB3 383D1FB3BCB18B3B831B39B3E3B7F839B3E 3 9717(7F839B3D1FB31383B8B(EB39B31BF1B3978B23@"1H)37E73 98 3 EB 3 91B 3 9 3 D1F-B 3 .B7IJFB 3 B 3 D1F((EBB8 3 EA8 3 9B 3 F7E 3 EB 3 DE3 E(1B3783 39717(B139B31C31383B8B(EB39B31BF1B23)BDB8983 9B38F(1BB31B3FE7F83FB35)=3H7(3"DB8HB(E3B3K"5+53F83 EBB8397DF87(EB2

67789FE38E52FE3833D384F89ABC

@7B8 3 B 3 E 3 67(7E7 3 B 3 E 3 F1B8B 3 9B 3 )5$6 3 7B8 3  3 D1FB 3 3 E 3 6F7 3 9B3 871B3F17B3B3D138B37DEB87F83B3D1FFDB38AB3D3FD7E3 3B3 9B3 B1783EB8319783787677BB83E3DB16F18B3EF(EB3B3E7783 9B3673B3DDE77F823+B3D1F(EB3EB3DE37DF183F83EB37838 42 93CA76CB9E3C9A8ACE3CE7993CA983CC3C323+B3D1FB3 91B 3  3 (BF78 3 9AB8FB1 3 F8 3 7B 3 F 3 E 3 6F1B 3 9A8 3 DF78 3 9B 3 1BD17B3 FDEB3 3B3893BEB23)BB31877F83F8973 39BC3EB83 7DF18373B8B83E38739B39F88B3B8FB313EB31B383EB3 D1B7B13B3B3B378883F831893D1B3A7E3F87B88B83FB3EB3 786F17F8 3 E7B 3  3 D1FB 3 9F8 3 EB 3 9F88B 3 9 3 D1F1B 3 73 1F 3 EB 3 F9B 3 9 3 D1F1B 3 BE7 3 9B 3 (7(E7FB 3 ABEEB 3 F7B83 D1B3F38F83B23B39B187B13EB8383781783DB8983FB3E3 91B39B37B393D1F1B3:3EB3BF893B3A7E3F8397661B83DF13B3 717F839B3(FEB3B3D13F8B83B3EB3D1FB391B39F73EB31B13B3 EB3B8FB13B87BEEBB83C3D1FB3BEB3: =2 3CA76CB9EC973CE3C476879CC3C6789ACE3C3683C4763A C 89CE3A83C3CAACE34A879CC3C9 EC34!323)B739B7B83 83DF783177B3EF1B3EB3DF7839B31BD17B3F831893EF13B3E37EEB3 931E3678E3B3DB7B23!83B338318938F(1B39B3FD17F83 F83B66BB3B373B8B3787677BB83EB3BD39ABC7F8313 EB3893BEB3B39F831973E3DB16F18B3EF(EB3: 1 93CA76CB9E3C9A8ACE3C783C94383CCA745B3CE3CE7993 C A3678323!83B3D1FFDB3DE7B13DF7839B31BD17B3F83(BF7839AA1B3 B193;83 24 3B235B 3!57835<23+F1B3E37EEB39B3B3DF783 9B 3 1BD17B 3 B 3 189B 3 B7 3 66BB 3 787677BB8 3 EA7E77F8 3 9B 3 E3 F71B3:

>2 9 C E8 C 67 C E3"3639E3 C 3 C 6743 C A76 C 867A9A#3 +B3 D1FB 3 BEB 3 B 3 EB 3 D1FB 3 91B 3 9F7B8 3 911B1L1BD1B891B 3 EB13 BC7F8 3 DF1 3 B 3 17F8 3 D1EEEB2 3 +B 3 D1B7B1 3 F8 3 E7B 3 EF1 3 93 E8BB839B3D1FB3BEB3 3D17139B3DF7839B31BD17B23+B3BF8933 E7B 3 1 3 EB 3 D1FB 3 91B 3 D1 3 F71 3 1B* 3 EB 3 1E 3 9B 3 D1FB3

(14)

12 33D33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 333333333333333333333333333333333333333333333333333 31234523 3 BEB367839A78E1B3F3B31E3983F83BDB39A91BB371BE23 +3DF7(7E739B3B1B3 3-F13971BBB83E3F71B39A83D1FB3 3D1713 9B3786F17F83F8B8B3983EB3DF7839B31BD17B3DB1B1739A7B13B3 78F887B83:

1 78BA879 C E3C A883 C 3 C 479E8A879 C E3 C $39A3892 3 "DB8#$3 F17B 3 E3

81F877F8 3 9B 3 E 3 F71B 3 B81B 3 EB 3 97661B8 3A23E3  3 B78 3 9B3 17F8 3 D1EEEB2 35B 3 )5$64 3 8 3 87B 3 8B 3 DB1B 3 8B 3 BEEB3 7DEB87F823!B3DE3EB3971B7B3B3EB39A"DB8#$3F7B3C3 17(EB3D1B3BEEB3B313"2B53B#35213"2B5373B13"2B53 42B13"2B533$%AB8 3B238B3F83D3F8791B3983B3D1FFDB23 57873B39BC31B177F83E77B839B3871B37DF18B3EB3D1F1B3 "DB8#$3DF83A1B3BC3B3)5$62

78B388FF38F25E483438

12345672685839A64BCDC67EF9C4526268 8!"9#B$

778BF

+3B87B39B3DF7839B31BD17B3781B8C3F87B3 3FMB1398383677B13 EB3D17B39B3E3F71B373F8337B3 3-F139BD73EB39(39B3EABC7F8393 D1FB3F39BD73EB39B187B13DF7839B3D17B23!A83DF7839B3B3D17B3B73DB3 A1B31E73B831B8983EB3DB3F71B3B7(EB3B83EB1B3BEBB8367839B3 6F1B13 EB3 B3 3 9E71B1 383 78E 3.14.64N3 3D1FB3 B3 6F73A8B3 DB3B39B3B83171B23C3E31BD7F839B3B378E38B3FD7B39B3E3DB3B3 B19B398383DF83B3EB391F739A3 3BB3DB3F831B13 3EB13 EB1 3 7877EB2 3 +F1A8 3DF78 3 9B 3D17B 3 B 3 B19 3 EB 3 F8B8 3 9B 3 FB 3 EB3 DB 3 F9767B 3 F8 3 FD1B 3 3 BEEB 3 B19B 3 98 3 EB 3 DF8 3 B 3 EB3 97661B8B3F83B81B71B3983EB3677B139B3DF7839B31BD17B2

+A79B3D1787DEB3F7B3 3E3B87B39B3DF7839B31BD17B3781B8C3 97F8783;!1)K$G< 3B3E3D7677F8 39B317F8393D1F1B39B83A1B3 D17B3B83FDB3983EB3DF7839B31BD17B23)B3786F17F83F836F187B3B837E783 9B 3 971B7B 3D13 B 3 DBB8 3 A1B 3 7DEB8B 3 B8 3 7E78 3 97661B83 87B3BE3B3EB378C3EB3DF7839A11A3B23G1F73971B7B 3D13 F83 396787B38

1 13223 AE1B3 B23B683 911B1 3 8 3 DF78 3 9B 3 1BD17B 3 AB 971B3 7877E7B13EB3DF839B3DF7839B31BD17B3:

1 13223AE1B3B81683DB891B3EB3DF7839B31BD17B3AB 971B3B66B13EB3 DF839B3DF7839B31BD17B3: 1 13223AE1B32"531234ABC4683B19B13EB3DF7839B31BD17B3983EB3 677B131234ABC43B317877E7B13EB3DF839B3DF7839B31BD17B2

7678%&E4E838F'F5E3

$F13FD1B13EB3DB16F18B39B3BB38FBEEB3DD1FB3B3BEEB39B3DF7839B3 1BD17B3781B8C38F1C38F3F83B13EB13B66B31383D1F1B39B3 EE39B3EB83B7639A8B398B39B3#1MF3)63F723=23!BC33F833 B383 B3EB3D1B7B1 37E783 E3B87B3 9B3DF78 39B31BD17B3 781B8C3 8F1C383D1B7B13DF7839B31BD17B3B3B66B33DF78353;E78B32<3D73831B3 3DF78343;E78B3=4<3:3EB3BF893E73 3E3B87B3!1)K$G37B3EB3DF7839B31BD17B3 3DF78353B39F83EB3D1B7B13B3B66B33DF783423!83EB39BC338B3B878B3

(15)

9B3BB139A3F83EE33DF783=3;E78B3=2<3B383DF7839B31BD17B3B3813 D13B3EE23HF1B3DEB6F1B39B3B3B3FDFB39A83D1FBB1318BE3 )F1B=3!F362?5539B83 3>34JE3B3>34F39B3O5#3B3FD13D13B(8332453 13E3(B3938F3+78C3=2/2>4=4B8B1723+B3(EB3113D1B8B3EB3B1B39B3 DB16F18B3DF13EB31B37EEB39B3BB13;H3E3 3>>=53//?5333/53B34>=253 EB8 3 1BDB7BB8<2 3 $F1 3 B 3 7EEB 3 9 3 BB1 3 EB 3 DB16F18B 3 F83 B1B 3 >5 3 6F7 3 ;EB 3 EB1 3 FB88B 3 F8 3 6F187B 3 98 3 EB 3 (EB< 3B 3 83 78B1EEB39B3F8678B39A3F783333P33F-F133F(B83DF13EB3B1B2356783 9A7B1 3 E 3 DFEE7F8 3 9B 3 C 3  3 97B 3 1 3 EB 3 B1B 3 FB 3 EB 3 9F88B3 ;EABDB39A91BB371BE39B3D1FB3EB3DF7839B31BD17B3B2<3F83179B83 B83F71B37B2

+3D1B71B3B7F8393(EB3113D1B8B3E37EEB39B3DF7839B31BD17B33 DF78 3 4 3 ;AB 971B 3 -B 3 D1 3 EA7877E77F8 3 7 3 FB 3 98 3 EB 3  3 93 BMDF78B1 3 781B8E 3 8F1EB< 3 B 3  3DF783 = 3 ;F7 3-B3 D1 3 EB3 EE 3 9A83 8FB3BB1<23+397661B8B3B81B3EB39BC3F11BDF893 3E37EEB39B3E317B39B3 1877F8 3 7 3 B 3 7877E7B 3  3 9( 3 9 3 D1F1B2 3 )B 3 9F88B 3 F81B8 3 E3 87 3 9ABDB 3 F71B 3 DF8 3 A1B 3 F8F7B 3 B8 3 (89F888 3 EB 3 DF78 3 9B3 1BD17B33DF78343B39B3E3AB3871B3FB83EB3DF7839B31BD17B3DB3A1B3DE3 1D79BB831861313EB31B3738B71B2 + 3 9BC7B 3 B7F8 3 9B 3 B 3 AB 3 (EB 3 7897B 3 EB 3 BD 3 1B7 3 DF13 BCB13EB3D1F1B383B81B71B139B3DF7839B31BD17B3B83B1983F3EB3 F71B3=23$1F1B39B3EE39B3EB83B7639A8B398B39B3#1MF2

(16)

12 33033333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 333333333333333333333333333333333333333333333333333 31234523 3 DF7839B31BD17B3B3B83B1983EB3DF7839B31BD17B33DF783=387BB823 6EEB3B3B8379B8B3B3EB31FQ37DE73D13E3817F83EB3DF7839B31BD17B3 3DF783=3B31367(EB3;B81B34D3P3B3>>3P3DF13EB34553DF7839B31BD17B3F73 B81B35543P3 B3 55>3P3D1 3DF7839B3 1BD17B<3D13 1DDF13 3 1FQ378973D13 E3 817F83 3E36F73EB3DF7839B31BD17B3C3DF78343B3=3;EB3BD39ABC7F83FE3 83E7DE73D132D<2 + 3 1F77B 3 B7F8 3 9B 3 B 3 (EB 3 6F187 3 EB 3 BD 3 9ABC7F8 3 DF13 1BD1B891B 3 EABC7F8 3 9 3 D1FB 3 3 EA717F8 3 D5 3 9B 3 E 3 (FEB2 3 !BC 3  3 F83 B87383EB3D1B7B137E7B3F3EB3DF7839B31BD17B3AB 971B3B3EB3D1F1B3 B31B9113DB89339(39B3E36F87F83D1787DEB3;78<3F3EB3DF7839B3 1BD17B3F8378-B3983EB3D1FB3B3EABC7F831BD1B893 3EA717F83D539B3E3 (FEB3:3EB3BF8938A7E7B3B3EB3DF7839B31BD17B33DF783=3AB 971B3B3EB3 D1F1B3B31B9113DB893D13EADB39A7877E77F83;DF7834<3F3EB3 DF7839B31BD17B33DF783=3F8378-B3983EB3D1FB3B3EABC7F831BD1B893 3 EA717F83D539B3E3(FEB2 +B3B1B39B3DB16F18B3F81B83A7B13EB3DF7839B31BD17B33DF783 43B3F-F13(867B2 $E8385EF3 >>=5 //?5 33/5 4>=25 $E838388FF388() R233DF7834 R233DF783= ?=243= 5254> 4/220?4 525=/ >032/?2 525>2 /0?234= 525D4 $538*248E8833 R238381B139B3DF7839B31BD17B R23B838183F3EB3DF7839B31BD17B R23B838183BEBB83EB3DF7839B31BD17B33DF783= 442>? 4>245 44204 ?42>5 D224? ?=24/ 4522=0 >3>2/5 45323/ 4/22/3 4?>>20= 404205 $538*248EF+38F25EFE,8-8*2FE8./88 33 R23B837E783EB3DF7839B31BD17B3C3DF78343B3= R2B837E783BEBB83EB3DF7839B31BD17B33DF783= /2?4 /253 =>24? =422? D32D/ D/2/? 3>234 22204 G(EB3423SE7F839B3DB16F18B39B3!1)K$G2

778A&EE,388&23

$1 3 1DDF1 3 3 E 3 B87B 3 9B 3 DF78 3 9B 3 1BD17B 3 781B8C 3 8F1C 3 BB3 8FBEEB3DD1FB33EB3DF7836F13B3EB3DF78367(EB37838

1 B39AA879 CE3C 63794323!1)K$G3B8B3E37BB39ABC7F83

93D1F1B3983EB39BC3D17F9B3FT39B3DF7839B31BD17B3;423456789A<3 F83D173F31B9113;347!389B<23!B3DE37E339778B36F1BB83E37EEB3 9B3DF7839B31BD17B3: 1 B39AA879CE3CC3888ACEA88A87923!1)K$G3DB1B39B3EB7F88B13 98 3 EB 3 D1F1B 3 EB 3 17F8 3 3 D1B891B 3 B8 3 FDB 3 DF1 3 EB 3 DF78 3 9B3 1BD17B23+B339A7E77F839B3DF7839B31BD17B3781B8C38F1C3;B3 8F8397F878<3B3F(B83B83-F83EB3971B7B 3!1)K$G3 3B23B3 B3

(17)

B813B83D1B71B3B39B1871B37817F831BDB7BB8393D1F1B3: 1 7ACE3CE3C97!33C6768AC89A39A3CE9C1DF23+3D1B71B3B3

EABC17F839B3DF7839B31BD17B3983EB317F839E77B3DF83A1B3 97-F78B23+3BF89B3DB1B39A78-BB13971BBB8383DF7839B31BD17B3983 EABDB39A91BB393D1FB37(EB23)B3D1FD17367E7B83EABC17F83 9B 3 1E 3 9B 3 EABC7F8 3 1 3 EB 3 89 3 BEB 3 B 3 EA7817F8 3 9B 3 B3 1E3983EABDB39A91BB39B 3A23E383F713 3EB31B911B123 )B39BC3D1FD173D177DB3 3EAE7F17F839B3DB16F18B39B3)5$63: 1 7E884A879CEC47E3C743C83AB3EA78F887B83EB3DE37DF18378973D13

EA7E77F839A83423456789A323+A7E7B139F73781B139B3971B7B3983EB3 D1F1B 3 DF1 3 7897B1 3 EB 3 17F8 3 678 3 EAF(-B 3 9B 3 DF78 3 9B 3 1BD17B23 GFB6F73EF1A8 3423456789A33 B37E73983)5$63BB378B17F83B3 6739B3871B3F7B3D13EA78B19771B393FD7EB139B3)5$623$13 F8B83B73B3FDEBB8318D1B83DF13EB37E7B139B3)5$62 1 B39AA879 CE3C6789ACE3C3683C83EB3DF7839B31BD17B38A83D3D173 9A83BE3(EF3;7E3F83B8F13D138B3D71B 313226AE1B6B23B3 B3 13226AE1B6B81<37E38B3DBB83D3A1B367F883B8383DF7839B3 1BD17B3 87B2 35787 3 DE7B1 3 677B1 3 F83 8B71B 3DF1 3 F8B8713 EB3 DF7839B31BD17B39B3(EF397661B823)B378F887B83DB39BB8713A883 EF1B3EB3DF7839B31BD17B3161B8B838B3AB3EF8B39B3F71B2

07 8 9ABC 8 DE32 8 34F 8 3 8 3 8  8 FF3 8 F25E48

9ABC6

C 3 B 3 -F1 3 9BC 3 B17F8 3 9B 3 )5$6 3 F8 3  3 9BEFDDB2 3 + 3 D1B71B 3 ;)5$64<3 7E7B39B3DF7839B31BD17B3FDEB23+3BF89B3;)5$6=<37E7B39B3DF7839B3 1BD17B3781B8C23$F139B317F839B37DE7677F83B36378977F83F8171B3 983E37B3939FB83)5$636B13161B8B3 3)5$6=2

0778BF5&388E8FE4

)5$63 B3(3 1 3 83 B8B(EB3 9B3D1777B 3 9F83 B178B3F83 F7B 3 C3 971B7B 3 !1)K$G 3 D1B8B 3 3 E 3 .B2 3 >24 3 EB 3 1B 3 8 3  3 96787B 3 DE3 D767BB83DF13)5$638 1 B23B 6 C 6 D3 911B 3 F 3 1B911B 3 8 3 DF78 3 9B 3 1BD17B 3 B8 3 7877E78 3 EB3 DF8 3 9B 3 DF78 3 9B 3 1BD17B2 3 )BB 3 971B7B 3 B 3 F7B 3 3 E 3 971B7B3 B23B39B3!1)K$G3: 1 B816C6D3DB89383DF7839B31BD17B3B83B66*83EB3DF839B3DF7839B3 1BD17B23)BB3971B7B3B3F7B3 3E3971B7B3B8139B3!1)K$G3: 1 A352B56C 612346 D3B81B71B3EB3F8B8393DF839B3DF7839B31BD17B3 983EB3677B1312343D7317877E7B3EB3DF839B3DF7839B31BD17B23)BB3 971B7B3B3F7B3 3E3971B7B3A352B539B3!1)K$G3: 1  &5AB6C 612346 D3 B3 3-F13EB3D1FB3F183B3EB3786F17F83 F8B8B3983EB3DF7839B3D17B3123423)BB3D1777B397661B39B3E3D1777B3 F1778EB3 &5AB39B3!1)K$G3983EB3B83FT3BB3D1777B38B3B3D3 3 -F1 3 EB 3DF78B1 3 9A7817F8 3 AB 971B3 AD1 3 F71 3  3 7 3 3-F1 3 EB3 D1FB 3 F878B 3 F8 3 BC7F8 3 B 3 EA7817F8 3 78 3 EADDBE 3 E3 6F87F83:

(18)

12 33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 333333333333333333333333333333333333333333333333333 31234523 3 91B3B33983EB33F8171B23)BB3D1777B3DB3A1B37DEB8B3 3D17139B3E36F87F835B138A5 %3: 1 5  6 C 61234 9 6ADE46 D3 B8F7B3 EB3 F8B8 3 9 3 677B1 312343  3 893 ADE46: 1 2B7836C 612346 D3 B893B3F3EB3EB8393677B1 312343 7B83 67F883: 1 42B123244546C6D31BF18B3F3EF1B3EB3(EF3D1EEEB3F183B3EB3 9B187B13(EF3D1EEEB393D1F1B3B33983EB33F8171B3: 1 535 6 C 61234566  61234576 D 6DDE7B 3 E 3 E7B 3 9B 3 F97677F83 B81B71B3983EB3677B1312345733677B131234563:

1 !382A2B6C 612346 D3B8F7B3EB3DF7839B31BD17B 312343 3F3EB3893 BEB23)BB36F87F838B3DB3A1B3BCB3B313EB389391B3:

1 35A5"56C612346D3B893B3EB3677B13123433F7397DF87(EB3: 1 5B138A5 %6C6D31BF18B3EB381F393D1FB3F183: 1 5B %138A556C6D61BF18B3EB38F(1B3FE39B3D1FB2

07678(+84F8E83F48123244546783

+3F817F831232445467833B3E3F817F839B31D177F839B3'B3 E 3 DE 3 FDEBCB 3 7 3 7 3 E 3 DE 3 7E7B2 3 + 3 186F17F8 3 9B 3 BB3 F817F8 3 B 3 1 3 81EB 3 B 3 DB 3 B171 3 FB 3 (B 3 DF1 3 E3 186F17F839B31B3F817F83997B3 3E31D177F839B3'B23+B3 F9EB3DB1B839B3186F1B13BB3F817F83B13E36F1B3)5$63B3 D1B8 3 B8 3 F72 3 >2 3 1877EBB8 3 EB 3 D1F1B 3 B 3 BC 3 1 3 F 3 EB3 D1FB2 3 +F1B 3 EB 3 D1F1B 3 117B 3 1 3 8B 3 17F8 3 D1EEEB 3 F83 BC7F8 3 7 3 EB 3 F9EB 375789 3 FB 3 98 3 EB 3 F9EB 3 )5$64 3 3 EABCBD7F839B31F73DF7837DF183783834<3EB3D1FB391B31B3 B3B8F7B3C3D1FB3BEB39B3DF7839B31BD17B3781B8C3;E78B3?3 B3D<33E7B39B3DF7839B31BD17B3FDEB3:3=<3EB31E3983EB3D1FB3 BEB 3 F8 3 BC17 3 971BBB8 3 B8 3 7E78 3 9B 3 DF78 3 9B 3 1BD17B3 781B8C3;E78B342<33E7B39B3FD1B139B3DF7839B31BD17B3FDEB3:3 >< 3 EB 3 DF78 3 9B 3 1BD17B 3 F8 3 781 3 971BBB8 3 98 3 EB 3 D1FB 3 DF13 B1B3 3-F13EB3BDB3F71B3;E78B3334D3B3=><383F713(BF7839B3 EB31B91B12 $131DDF133D1FFDB3)5$643BE773D1B8B3EB38B37838 1 E4A879CE3CC9A8ACE3CE7993CA93CC3C3#3+37EEB39B3 DF7839B3D17B3!578353B3(BFD3DE367(EB23!83EB339B3)5$6=3B3 DF7839B3D17B38B3F87B88B8381EBB83A8313DB738F(1B39AFB3 8973B3EB3DF7839B3D17B3FDE3983EB339B3)5$643F83(BFD3 DE 3 1892 3 !8 3 EB 3  3 FT 3 8 3!382A2B3 B 3 B66B 3 3 E 3 678 3 9B 3 E3 F817F8 3 8B 3 E7B 3 9B 3 F97677F8 3 B 3 187B 3 1 3 EB 3 1B23 )BDB898 3 BB3 E7B3 3 81EBB83 8B3 7EEB3DE 3DB7B3 B3 BEEB3 9A83 DF7839B31BD17B3FDEB23!B3DE38B3(F88B37DEB87F839 3(1F93

(19)

1 E4A879 C E C 973C E3C 476879 C67 C 3A83C E3C AA C C 3 C 9 EC34!3C%3 73E37EEB39B317F83F71B3F9767B313EB3893

BEB3B3DE3DB7B3B3BEEB39B3DF7839B31BD17B3FDEB3B38F(1B3 B319739A83:

1 E4A879 C E3 C  C 9A8A C E3643 C 783 C 94383 C 67 C A7453 C 3 C E7993CA3678323+B3DF7839B31BD17B 383 243 B235B3 !578356

983EB3D1FFDB3)5$6438B3F83DE37E73983)5$6=23B838FB3 DF83DF13EB3DF7839B3D17B3781B8C327B533B3-F37337EEB3 B3DE3DB7B3B3BEEB39B3DF7839B31BD17B3FDEB3:

1 83 C A3943 C  C EB3 C " C & C  C 3683 C E3 C 34A879 C E3 C 6743C%C

1'B3 3E3D1777B 3 &5AB3 9 3423456789A33 !1)K$G3EB3DF7839B3D17B3

!5783533327B533B37 243DBB83A1B37813971BBB83983EABDB3 9A91BB39B3D1FB2357873EB3D1FB38B39F7B83DE3A1B39113 F31BD1B891B3EB13BC7F83 3D17139A83DF7839B31BD17B3B3D13F8B83 EB3BD39ABC7F83EF(E3DB3A1B31972 F71B3>23#F9EB3DF13EB3(FEB312324454678337E7839B3 DF7839B31BD17B3781B8C2

(20)

12 33443 33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 333333333333333333333333333333333333333333333333333 31234523 3

0778%&E4E838F'F5E3

567839B3E79B138F1B3DD1FB38F3F831E739B3B1B39B3DB16F18B313 8 3E35A76C4A33 FDF39B3893 3(B39B3D1FBB1318BEU3)F1BV3 =3!F3 62?5539B83 3>34JE378183=34F39B3O5#3BCDEF73D13EB38F3+78C3 =2/2>D3B3B(83B17F83452453B378B1F88B3D13831B36B18B389193 34553#(L23567839A7B1383B3DF7(EB3EB3786EB8B3BC17B1B3EB3B3 73F813C3B73DB8983FB3E391B39B3B1B2 +B3D1F1B37E73DF13EB3B3B383D1F9739B317B39F83E37EEB3 17B39B3>555W>5553 34=555W4=55523+B317B3F839B8B3B383EF17B3 D767B 3 8A 3  3 7 3 B8 3 1B 3 DF1 3 D1B891B 3 B8 3 FDB 3 EB 3 17B 3 1BB23 )B3BCD17B8B3331E7B33F7834536F73B38378B1EEB39B3F8678B39A3 F783353P33F-F133F(B83DF13EB3B1B23+B39F88B31DDF1B3773F83 EB3FB88B39B3453B1B2 +B 3 F723 ?3 B3D 3D1B8B83EB3 BD 39ABC7F8 3B8 3 BF89B393D1F973 9B3 17B3DF1397661B838F(1B39B3893B37EEB39B317B236839D7393673 B3EB3D1FBB13F7B839F(EB1383BE313337E73EF139B3B1B23 G1F7 3 B1B 3 F8 3 1BD1B8B 3 3 B 3 6F738 3 3 B 3 BEEB 3 9B 3 )5$643: 3 3 7E7B3BEEB3)5$6=3:3B3 391F7B3BEEB39B3#$123+B3D1F1B3#$137E7333 9BEFDD3D138F3F783B3B3FD77367839B3E77B133C73E3739B3 9F88B38B2 +3F723?3D1B8B3EB3BD39ABC7F83DF1397661B838F(1B39B38923 + 3 7EEB 3 9B 3 17B 3 B 3 F88B 3 B 3 EB 3 3 4=555W4=5552 3 )BDB898 3 9B3 1B1B 3 77E71B 3DF117B8 3 67 3 DF1 3 EB 3 1B 3 7EEB 3 9B 3 17B2 3 "8 3DB3 1B1B13B363983EB339B31F73893EB3BD39ABC7F83B837E7839B3 DF78 3 9B 3 1BD17B 3 781B8C 3 B 3 F-F1 3 78617B1 3  3 BD 3 9ABC7F8 3 B83 7E7839B3DF7839B31BD17B3FDEB23$E3EB38F(1B39B3893B31893DE3 67(EB3B3EB3BD39ABC7F83DF13)5$6=3B3#$123!B3DE3EB3BD39ABC7F83 DF13)5$6=3B31DD1FB39B3DE3B83DE39B3BE739B3#$13 3B1B3B3EB38F(1B3 9B3893B8B23+B339B3)5$643B397661B823+F1B3DB39B3893F83 F71B3?23GBD39ABC7F83;B83BF89B<3B836F87F83938F(1B39B3892

(21)

7E73DF13EB3EE3;-A 344<3EB3BD39ABC7F83(7B3893EB38F(1B39B3 893B8B3B3E3EB13B3BE377E71B3C39BC31B33;)5$6=3B3 #$1<23GFB6F73DF139B3DE318938F(1B39B3893EB3BD39ABC7F83DF13 )5$6439B7B83971BBB83D1FDF17F88BE338F(1B39B38923)B73B39Q3 3E3 8739B39F88B373F83187B313EB31B3739B7B83137DF183;7E33 3 3F78 3 83DF7839B3 1BD17B3FDEB3DF13 B3893 BEB< 3 AB373E3 8739B39F88B373F83B66B7BB83781B8B3DF13B3893BEB3 B3197B23)B733E71BB83-7673EA7E77F839B3DF7839B31BD17B3781B8C3 DF13)5$62

687B3EB3DB16F18B3DF131F73893DBB83D191B318B3B383 BD39ABC7F83DF13)5$643DE367(EB3B3DF13)5$6=23683673B383DB73 8F(1B39B3 893 E3 8739B39F88B 3187B3 9B3 89 3BEB3B13 EB3 89391B3B3D1BB3E3AB3B3EAF837E7B39B3DF7839B31BD17B3FDEB3F3 781B8C3D7B3983EB39BC338B3189B3D17B39B317B3B37B3 3 -F13D13839B3BEB23!B3DE3EB389391B38B39F73B8FB13A83DB73 8F(1B 3 9B 3 DF78 3 9B 3 1BD17B 3 B 3 7 3 67 3 B 3 EB 3 BD 3 DF1 3 BB 3 DB 3 9B7B83 8E7B(EB 3 98 3 EB 3 BD 3 9ABC7F8 3 FE2 3GFB6F7 3 98 3 EB 3  3 9B 3DF78 3 9B3 1BD17B 3 781B8C 3 EB 3 D1FB 3 F8 3 1B7EE 3 678 3 9B 3 D1B1 3 EB 3 DB3 F71B 3 9B 3 B8 3 171B2 3 +B 3 1FQ 3 7897 3 D1 3 BB 3 1B7EE8B 3 B3 D1FDF17F88BEEB3 3E38739B3EE3B378B1BB83D1FDF17F88BEEB338F(1B39B3 893:3BEEB3B39F8313EBB3983EB391B39B38F3B1B3EF1B3DB39B3893 F8 3 7DE72 3 JB1BBB8 3 B7 3 8AB 3 D 3 8 3 D1F(EB 3 DF1 3 )5$62 3 !B3 D1FBB13 31B3F71B37313F839- 397DF87(EB313EB313B3D13 F8B8 3 )5$6 3 7B 3 9B 3 17B1B 3 8 3 8 3 8F(1B 3 9B 3 89L13 (BFD3DE3EB2 +3F723D3D1B8B3EB3BD39ABC7F83DF139B37EEB39B317B397661B8B23+B3 8F(1B39B38937E73773B3>423)BDB89839B31B1B377E71B3DF117B83 A1B367B3DF13EB31B38F(1B39B38939723+3671B3F81B3E71BB83 F71B3D23GBD39ABC7F83;B83BF89B<3D131DDF13 3E37EEB393D1F(EB2

(22)

12 334>3 33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 333333333333333333333333333333333333333333333333333 31234523 3 B3EB3BD39ABC7F839B3)5$643B3971BBB83D1FDF17F88BE331139B3E3 7EEB 3 9B 3 17B 3 897 3 B 3 EB 3 BD 3 9ABC7F8 3 DF1 3 )5$6= 3 B 3 #$1 3 B3 971BBB83D1FDF17F88BE3 3E37EEB39B3E317B23)B73B39Q33673B3E3F71B3 9B 3 D1FB 3 B 3 FDFB 3 D1787DEBB8 3 9B 3 17B 3 B 3 B 3 D1BB 3 FB 3 E3 F71B371BEEB39B3D1FB3B3187B313EB31B3EF139B3EA7E77F839B3 DF7839B31BD17B3FDEB235B3)5$6=3B3#$13EB3F71B371BEEB38B3F83 D3187B313EB31B3B3BEB3EB39F88B373F8337B3 3-F13EF139 3 EE393D1F97317B17B3F83D17B3B83FDB23!B3DE3F83DB31B1B13 B3EB3BD39ABC7F83DF13)5$6=3B3#$13F8313D1FB23B8B38EB3B83 D1F6F89B139B3DB16F18B3F81B3B3EB3BD39ABC7F839B3)5$6=38AB3B3 453P 3 DE 3 7DF18 3 B 3 EB 3 BD 3 9ABC7F8 3 9B 3 #$1 3 6 3 DF1 3 EB 3 17B3 >555W>5553FT3EB317F3B39B34>2

+3F723/3F81B3EAE17F839B3)5$6=3DF1397661B838F(1B39B3893 B 3 7EEB 3 9B 3 17B2 3 + 3 E78B 3 B8 3 DF787EEB 3 1BD1B8B 3 EAE17F8 3 F17B3 C7EB2 3 )BB 3 671B 3 F81B 3 E71BB8 3 B 3 E 3 FE7F8 3 B 3 B667B 3 B 3 83 1B89BB83;1DDF139B3EAE17F8313EB38F(1B39B389<39B3EAF191B39B30D3P3 3 353P236EEB3B373B8379B8B3B3DE3E37EEB39B317B3B3189B3DE3EB3 783B837BB3B37DF183B3738A73D3EB33B3)5$642

07078943

)BB3B7F833D1B83)5$6=3E38FBEEB3B17F839B3)5$63(B3139B3DF783 9B31BD17B3781B8C235B3EB38FBEEB3D1FD1736F187B3D13!1)K$G3BB3 B17F833DB1739B31F8B1 3EB31B3D1B7B1 3DF78367(EB39B3)5$643;)63 .B23=2><3834<3E 3197F839B3E38739B39F88B3187B313EB31B3:3=<3E3

197F83938F(1B39B3FD17F83DF133BC171B3EB31E39ABC7F8313EB3 893BEB3:3><3E 3197F839B3E38739ABDB3F71B3DF13FMB139B3 9F88B 3 BDF171B3: 3 B 3 ?<3EAE7787F83 9B 3 DB 3 911B1L1BD1B891B 3 9B3

(23)

D1FB3DF13781B13EB3DF7839B31BD17B3983EB13BDB31BDB7623GFB3B3 E7F17F83F83DB1739A1F91B3787677BB83EB3DB16F18B3EF(EB39B3 )5$62 D23$17B3B83FDB39B39F88B3D1B

.778185+8E7C95DCE3C9E9CFCE3C9563237C649

23119

"DB8#$3B3(313EB3F9EB39B3F71B3D1B 323E33EC4798A39423 !8 3 B 3 F9EB 3 F 3 EB 3A23E3 D1B8 3 8B 3 F71B 3 F8B2 3 GFB6F73 B3A23E3DB3EBB83BCB13133D1FD1B3F71B3EFEB373B38B3B3 BDF171B39B3 E3 F71B3 F8B23 +3 F1B8B3B81B3 E3 F71B3EFEB3 B3 E3 F71B3F8B3B31E7B3D13EA7E77F839B3E3971B7B374%#23B83DDBE3 3E3 971B7B 374%#3 DB1B 3 9B 3 1B891B 3 F1B8B 3 E 3 B 3 BDF171B 3 9A8 3A23E3 B 3 E3 F71B3F8B23$13F81B3BEEB38A66BB3D3EB31B3A23E2 1E 3 BC7B 3 9BC 3 DB 3 9B 374%#3 98 3 "DB8#$38 3 EB 3 D1B7B1 3 ;23A CF3 334A8!3C2<38B7B39B3D17B13EB317(EB3F8B18B3B3EB3BF893;B7 C 2<38B31B7B1383D11B23$F13E3334A8!3C23E3F1B8B3B3DDE7B3 87BB8313EB317(EB3D17B38973B3DF13EB3B7C23E3F1B8B3 B3DDE7B313EABDB3F71B3F3B87B12 +B3F9EB39ABC7F839B3(B39B3)5$63139B3B3FF8B31B3 E3F1B8B3B81B3EB3F71B39B3D1FB391B3B3BEB3983EB317F83 B87BEEB3B3EB3DF7839B39(3B39B367839B317F83D1EEEB23C3EA7877E77F83 93D1FB3B3983EB317F83B87BEEB3F3EB3A23E3BCB83EB3AB3 7817F837E3F839F83EB3AB3BDB3F71B231E3B83B39B3AB3DF13EB3 9( 3 9B 3 17F8 3 D1EEEB 3 ;8 3 E 3 9777F8 3 9 3 17E 3 D1 3 EB 3 F817F83 D1EEEB<23C3E367839B3F817F83D1EEEB3F3EB3A23E378-BB83EB3AB3 B8B(EB39AEB83F97673B3731B893EB13BDB3F71B3F1B82357873 EB3 BE 3D1F(EB 3 1B8 3 3 1B1 3 B3 E 3 F1B8B 3 B81B 3 EB 3A23E3  3 B78 3 9B3 B7F83D1EEEB3B3EA7DEB87F839A8387B3DF13E3971B7B374%#'

$F13E3DED139B3DD1FB37E783EB3F9EB3'733EC()C*333 C

1798A3943 ;J+O)< 3 8 36E3 1 3 8B 3 FD7B 3 9A8B 3 DB 3 1 3 8 3 89 3 9783 FDF1B31F73DB3D1787DEB38 42 13EB3893978383EE39B397661B8B3B81B3EB3DB3;738F3E7B3 9B3E8<3B837E783E36F87F8 397663D73B8FB13B397661B8B33893 2733: =2 13EB3893273C%3DDE77F839B397661B8B31B*B3 3E3DB32733:3D73 EE 3 9B 3 97661B8B 3 B81B 3 EB 3 DB 3 B 3 B8F7 3 9B 3 97661B8B 3  3 893 9783: >2 13EB3893978383DDE77F839B397661B8B31B*B3 3E3DB2 $F13EB 3B7C23EB3DB379B3F83DDE7B3DF13B3DB3 D1B393A23E2 !83EB339B3)5$63EAEF17B379B3DB3A1B37E73971BBB83B83 F879183B3EB389391B3B3EB38932733B3B3B3DB3F71B3F83EB3 DB 327323)BDB8983 3E37B39B3EA7E77F839B3DF7839B31BD17B3EB3FQ39B3 EABC7F839 323DB3A1B31973B839BC3871B23GF39A(F19313EB3893 BEB 3 E 3 6F87F8 3A352B53 9 3423456789A33 781B8E 3 DB 3 1BDEB1 3 E3 6F87F8 3773D7ABEEB36F83BCBB83EB3AB317E23!BC7BB8313EB3 89391B3EB38F(1B39B3FD17F83B3F8791(EBB831973738B3E7B3

(24)

12

334D3 33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 333333333333333333333333333333333333333333333333333 31234523 3

9AEB83 F71B3 F9767B 39B3FB3 EB 3DB 3D1B 3B3 78B8B3B3 E3 6F87F83773B3DDE7B313BB3E7B33E7B39B3DB327323!A831B3DF783 9B3B3BB3E7B3F87B83EB31E39B3EABC7F839B3893BEB373F83 DDBE3E36F87F8 3B7C223!F83B31E3DBB83A1B367F883983EB3 9B187B131E3 3E367839B3E317F83D1EEEB236831BDEBB839B3E3E7B3F9767B3 D13EAB8B(EB39B3DB32733B3F9EB3B3DDBE3F9EB3+6EA3EC'73$3E C ()C*333C1798A3943;BJ+O)<2

.76781*525E838F&388E4338E33238E48

238EFE,238*4(B

+B39B187B13D1F(EB3F73C39F88B3D1B3F8B18B3EA7DEB87F839B3 971B7B 3 B 3 9B 3 EB 3 "DB8#$2 3 $F1 3 EB 3 971B7B 3 3 B 3 EB 3#2356 B#35213"2B53 13"2B53 73B13"2B53 42B13"2B53 A81 6 A8113"2B53 B 31B97F83E3FE7F83F87B3 39E1B13B37E7B139B317(EB3 EFEB3C7E771B3983B3D1FB3B3B8378183EB37817F838B71B3 DF137877E7B13B317(EB3BLF3B1B3 3-F13E3EB139B317(EB39AF1778B3 3E3 67839B3F817F823+B339B335%AB8 3B383DB3DE3FDEBCB3B38B7B3 8 3 17BB8 3 DDEB871B2 3 B8B 3 FE7F8 3 DF7(EB 3 F87B 3 3 7E7B1 3 8B3 F(787F839B3EB13D17BEEB3983EB3DF7839B31BD17B313EB3893BEB3 B39B3EB31BFEEBB1313EB389391B3DF13B86783EEB13E3EB139B3E3197F823 B8B31B3FE7F83F87B3 3E7B139B36F87F83D7EB313EB3893BEB3B3 91B3DF13B8FB13F31BBF71B39B3EB13D17BEEB39B3E317(EB31B97B23 +3186F17F839A83D1F1B3"DB8#$3F8B8839B3971B7B3B339B3 EB 3 F7B 3 C 3 9F88B 3 D1B 3 B 3 977B 3 B8 3 1F7 3 DB 3 EF1 3 9B3 EA7E77F83)5$6383;4<3EB3971B7B3B3EB3F8B883EB3AB317(EB3F83 67F88B3: 3 ;=< 3 EB 3 971B7B 3 B 3 EB 3 F8 3 1BDE 3 D1 3 8 3 B8B(EB3 9A7817F8 3 7EB8B3: 3 ;>< 3 EB 3 F9EB 3 9B 3 )5$6 3 DF1 3 9B 3 F817F83 "DB8#$3F83DDE73DF13186F1B13EB3D1F1B3B13EB3E8B39B3(B2

.76778543838F&388E433

1E3DB3117B13A8B317(EB3F73161B8B3983DE7B13971B7B3BLF3EB23 !83B337E3B3DF7(EB39B3EB31B8B13 38B36F1B387B23$13BCBDEB3983EB3 F9B37838 (613226816B#35213"2B56C6)6D6 (6132268161232445467836A81 6C6)6D6 7836C6F6*66*66D66*

E3971B7B39B3E3D1B71B3E78B3DB3 A1B3 DD17B3 B367F88B3B3E3 EB3

A81 6C)D39B3E39BC7B3E78B23)BB31EB3DB3EBB83A1B3DDE7B3DF13 67F88B13BB3971B7B3B3E3EB 3A8113"2B5'3 )B73B381E7(EB3 3(7B83 9A1B32

.767678(+8,22FE8

+ 3 F72 3 0 3 D1B8B 3 EB 3 F9EB 3 81E 3 DB1B8 3 9B 3 186F1B1 3 9B 3 (FEB3

123244543783'

C3 EA7877E77F8 3 F 3 EB 3 (EF 3 F8 3 186F1 3  3 FD17 3 EB3

!57835!48AE35 B53!48AE35)B!48AE3 B 327B53!48AE3 73F8379B23 $73EB3F9EB3B3DDE739B3871B3717B3DF13B3971B7B3F3EB3B83 67F8883EB3D17B3186F1B39B3E3971B7B3F3EB3F11BDF8983 3B3 DB2

(25)

.76778)388E8FE3'F5E

+B3(EB3=3F81B3EB3(EF39B3186F17F83DF13EB3971B7B3B3EB3EB3 F7B3C39F88B3D1B39A"DB8#$23+B339B3EB 3A8113"2B53 B3 35%AB8 38B3F83D3FDEBB836F1873983B3(EB3;737813983E3 B<23C3B3-F13EADFB373B367B3B3B3FB3EB317(EB3F83D1B3 D13963B3)5$638B3F8791B3D3EAFD7F83 8 53DF13EB339B3E3EB3572%B23 57873BB3EB38AB3D3D17B3B83FDB3983EB3(EB2

.778C&E4E838F'F5E3

5BEEBB8 3 EA7817F8 3 98 3 )5$6 3 9 3 F9EB 3 BJ+O) 3 B 3 EB 3 17BB8 3 9B3 971B7B3B3EB3F7B3C39F88B3D1B3B3B83F139B39BEFDDBB823 )BDB8983 3D17139B3E39B17D7F8379B37E3DD193B3BB37817F838B3 9B17 3 D 3 9778B1 3 787677BB8 3 EB 3 DB16F18B 3 EF(EB 3 B8 3 F879183 B38

1 9A8B3871B381EB3EB3F9EB3BJ+O)38B3F9767B3D3787677BB83 EB 3 F9EB 3 F71B 3 BE 3 9B 3 )5$62 3 +B 3 BE 3 -F 3 67 3 B 3 EB 3 87B3 7E73DF137DEB8B13E3971B7B374%#3B38B3BEB3'B3C7E771B3B3 -FB3C3F87B1231E38A339F83D3(BFD39B38BB83983F83 BC7F823.13EB3893BEB3EB387B3337DEB883BB3'B3 B3EB3AB3B3BE739B3E3'B3D1787DEB393423456789A33781B8E23683 673B836F87F8883FB38 3423456789A33 781B8E3EB3F87B139F73 F-F13FB13EB378C393D1FB3F87F12357873EB317E3F87B3 7DEBB83 378E1B3838FB33DF13EB378E3-F3DF13E39B89B3 9B 3 17BB8 3 9B 3 E 3 971B7B 374%#23 68 3 F1B 3 EB 3 89 3 91B 3 EF1 3 9B3 EABC7F8 3 9B 3 17F8 3 D1EEEB 3 7B 3 3 1D171 3 9B 3 1C 3 C 3 893 F71B30383#F9EB3DF13EB3D1777B3B3EB3 F7B3C39F88B3D1B3983EB3(FEB3 1232445467832

(26)

12

33403 33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 333333333333333333333333333333333333333333333333333 31234523 3

BEB3D73 3B891B3EB31E23)BE378767B3B381EBB83983 EB 3 17F8 3 D1EEEB 3 EB 3 89 3 91B 3 B 3 78762 3 68 3 F8B8B 3 BB3 8FBEEB 3 'B 3 9B89B 3 7DEBB8 3 B 3 EB 3 89 3 FB 3 B 3 17B 3 EB3 9B89B39B36E3B8839B3893BEB3: G ( EB  3= 38 3@EF  39 B3 E 3 1 8 6 F 1  7F 8 2

(27)

1 B 3 EB 3 F9EB 3 BJ+O) 3 EB 3 8F(1B 3 9B 3 FD17F8 3 7 3 EB 3 D1787DE3 FD1B1 3DF1 3 7DEB8B1 3 E 3 971B7B 374%#3 7 3 B3 97782 3 1E 3 9B173 9F83F17BB83F6617139B3B7EEB1B3DB16F18B3: 1 EB317BB839B3971B7B3B3EB3F7B3C39F88B3D1B3B3 983E3DED139B33B66B33FB839B3E3FD7E7F823+ABC7F83 9B3F9B3DDEB871B38B3F8FB3D3(BFD39B3BD383B3 BC73F83E773 3E317F839B317(EB3EFEB3B3 3EA787F839B3EB13 EB1 3 7877EB2 3 +B 3  3 D17E7B1 3 9B 3 971B7B 335%AB8 3 B3

A8113"2B53 BC7B3E3186B139A8B3DB7B38739B39F88B3B81B3EB3 893B3738A66BB3D3EB3DB16F18B39A8B3871B381EB2

.7078943

)BB3B7F833D1B839B3FE7F83DF139BC3DB3E73C39F88B3D1B3 9A"DB8#$383EA7DEB87F839A83F9EB39B3F71B3D1B3B3EA7DEB87F83 9B3971B7B3B3EB3F7B3C39F88B3D1B2 )F8B1883EB3F9EB39B3F71B3D13BJ+O)3B3838FB3F9EB3 9B 3 F71B 3 D1B 3 1D17B 3 ( 3 1 3 EB 3 F9EB 3 J+O) 3 B 3 D1B8 3 98 3 B3 9FB823+B3EF17B3DB1B83E37B3B831B39B3FD17F8374%#3983 B 3 F9EB 3 F8 3 EBB8 3 D1B82 3 41'B 3 C 3 E7F17F8 3 7 3 197B8 3 EB3 8F(1B39AFD17F839B3FD17F8373E3DE37DF18B3FD17F83DF1318713 E3F1B8B39B3E3F71B39B3D1FB373B38FB3F9EB3D1FB39AB7891B3 9B3(F88B3DB16F18B2

$F1 3 EA7DEB87F8 3 9B 3 971B7B 3 B 3 EB 3 F7B 3 C 3 9F88B3 D1B 3 8 3 F9EB 3 EF(E 3 B 3 9B 3 (EF 3 EB871B 3 DF1 3 B 3 971B7B 3 B3 EB 3  3  3 D1B82 3 )BB 3 7DEB87F8 3 DB1B 3 9B 3 186F1B1 3 FB 3 EB3 971B7B 3 B 3 EB 3 F7B 3 C 3 9F88B 3 D1B 3 9A"DB8#$ 3 8 3 66BB13 787677BB83EB3DB16F18B3EF(EB2

67894388F3&3

)B39FB833D1B83EB31C39B3E3B313EB31F73DB3D1787DC3783 3 E7F1B1 3 EB 3 DB16F18B 3 B 3 3 1F8B1 3 EB 3 1B177F8 3 9B 3 )5$6 3 1 3 EB3 D1F(EB3E73C39F88B3D1B2 42 !1)K$G3738B38FBEEB3B87B39B3DF7839B31BD17B23!1)K$G3B3 8B 3 B87B 3 (B 3 9B 3 DF78 3 9B 3 1BD17B 3 781B8C2 3 683 781F978 3 E 3 DF7(7E7 3 9B 3 D1B891B 3 9B 3 DF78 3 9B 3 1BD17B3 781B8C 3 789DB898 3 1 3 9B 3 B7F8 3 97F878B 3 93 D1F1B3EB3DB16F18B39B3DF7839B31BD17B38313EB3BD3 9ABC7F8 3 B 3 1 3 E 3 7EEB 3 9B 3 DF78 3 9B 3 1BD17B 3 B3 787677BB83 197B3983 9B3 8F(1BC3 23)B73 B3137EB3 DF1 3 )5$6 3 678 3 9B 3 D1B891B 3 9B 3 DF78 3 9B 3 1BD17B 3 1 3 EB 3 D17B3 8B71B39B3D1F1B3"DB8#$3186F13B373F817(B3 3 1F91B 3 EB 3 DB16F18B 3 EF(EB2 3 68 3 6CDEF78 3 E 3 11B3 D17E71B 3 9B 3 DF78 3 9B 3 1BD17B 3 781B8C 3 B178B 3 F9B3 DB1B839B3EB3FD1BB13F8373D1B8B3983EB39FB83: =2 )5$6=3738B38FBEEB3B17F839B3)5$63737E7B3EB3DF7839B3

1BD17B 3 781B8C2 3 68 3 BCDEF78 3 EB 3 8FBEEB 3 D1FD17 3 9B3 !1)K$G3838FB3F9EB39ABC7F83B39B38FBC3D1FFDB3 9B 3 186F17F8 3 9B 3 F817F8 3 997B 3  3 D1B 3 9 3 17E3

(28)

12 33433 33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 333333333333333333333333333333333333333333333333333 31234523 3 ;,75289B< 3 9A"DB8#$3 F8 3  3 D1FDF2 3 !8 3 BB 3 B17F8 3 EB3 78F887B839B3)5$6437366B7B83EB3DB16F18B3EF(EB3 F8331F8383E38739B39F88B3187B313EB31B3EB3 8F(1B39AFD17F83DF13BC171B3EB31E39ABC7F83E3873 9ABDB 3 F71B 3 DF1 3 EB 3 9F88B 3 BDF171B 3 F8 3 3 F8791(EBB8 3 1972 3 !B 3 DE 3 1'B 3 3 E 3 DF7(7E7 3 9A78-BB13 971BBB8 3 9B 3 DF78 3 9B 3 1BD17B 3 98 3 EABDB 3 9A91BB 3 9B3 D1FB3E38B739B31B911B13D133EA7817F839B3DF7839B3 1BD17B3983)5$64333DD1723GF3B3EB83F897B83 3 8B 3 6F1B 3 E7F17F8 3 9B 3DB16F18B 3 9B3 )5$6= 3 D1 3 1DDF13 3 )5$643:

>2 +B 3 FE7F8 3 DF1 3 EB 3 D1F(EB 3 E7 3 C 3 9F88B 3 D1B3 9A"DB8#$2 3 !BC 3 DB 3 F8 3  3 D1B8 3 B 3 1FE38 3 4<3 EA7DEB87F8 3 9A8 3 8FB 3 F9EB 3 9B 3 F71B 3 D1B 3 B 3 =<3 EA7DEB87F8 3 9B 3 971B7B 3 B 3 EB 3 F7B 3 C 3 9F88B3 D1B2

+B 3 D1B7B1 3 DB 3 D1B8 3 B 3 BJ+O) 3 8 3 F9EB 3 9B 3 F71B3 D1B 3 3 ( 3 1 3 EB 3 F9EB 3 J+O)2 3 )B 3 F9EB 3 DF9B 3 9BC3 78F7F8 3 7DF18B2 3 + 3 D1B71B 3 B3 EA7E77F8 3 9B 3 E 3 971B7B3

A352B53 9 3423456789A33 !1)K$G 3  3 E7B 3 9B 3 EA7E77F8 3 9B 3 E3 6F87F83773DF13EEB13EB397661B8B3B81B3EB3F8B83BE39B3 E3F71B393D1FB3B3BEEB39B3E3F71B3DF823+3BF89B3 B3E7B331BDEBB839B3DB 3273 C983EB 3A23E3 91B3D13 8B 3 E7B 3 9AEB8 3 F71B 3 F97672 3 !A8 3 X 3 BE 3 DB1B 3 9B3 1971B3EB38F(1B39B3FD17F83983E36F87F8374%#36F87F83 7 3 B 3 7E7B 3 DF1 3 1871 3 E 3 F1B8B 3 B81B 3 E 3 F71B 3 9B3 D1FB391B3B3BEB23!A831B3X31'B3 3E3F8878B3 9B3E3E7B39B317F83F9767B3983EABDB3F71B39B3F87B13 9B3)5$63E38739B39F88B3187B3B81B3EB3D1FB3B3 197B 3 B 3 BE 3 F817(B 3 3 F8 3 F1 3 3 1F91B 3 EB 3 DB16F18B3 EF(EB2 3 +B 3 EF17B 3 DB1B8 3 9A7DEB8B1 3 EB 3 F9EB3 BJ+O)3983)5$633733D1B82

$F1 3 EB 3 9BC7B 3 DB 3 EB 3 EF17B 3 DF1 3 7DEB8B1 3 EB3 971B7B 3 B 3 EB 3 E7B 3 C 3 9F88B 3 D1B 3 9A"DB8#$ 3 F83 6F1872 @7B83ABEEBB838F38AF83D3B66B3EB3BCD17B87F83 8B71B 3 3 EAE7F8 3 9B 3 DB16F18B 3 98 3 B 3  3 8F3 DFF8 3 B7B1 3 B 3 EA7817F8 3 9B 3 B 3 8FB 3 F9EB 3 F71B3 983)5$638A66BB3D3787677BB83EB3DB16F18B3EF(EB23 )BE3B39Q3 39BC3D1787DC31B823+B3D1B7B13B3B3EB3673 B3EB38FB3F9EB3F71B3B3DD1FD1733F9EB39ABC7F83 9B 3 )5$6 3 7 3 8B 3 8B7B 3 EF1 3 B 3 BEB 3 EB1 3 8BB83 983EB3D1FFDB39B3)5$623+B39BC7B3B3E73 3EA7DEB87F83 9B 3 971B7B 3 B 3 9B 3 EB 3 9A"DB8#$ 3 3 EA79B 3 9B 3 BEBB83 BEB37817F837DEB38B3F8F83D3(BFD39B3BD3 9ABC7F82

4EF(EBB8 3 EB 3 DB16F18B 3 9B 3 )5$6 3 F8 3  3 B8B 3 9B 3 871B3 787677B 3 98 3 BB 3 8FBEEB 3 B17F82 3 GF 3 EB 3 D1F(EB 3 E7 3 C 3 9F88B3 D1B3F8338E3B31FE3D13EA7E77F83938FB3F9EB3F71B3B3 EB3EF17B3D1B82

(29)

!8383D1FB3B87138F3F7F839BEFDDB139B38FBC3FDF83 9B3)5$63983EBBE3EB3F9EB3BJ+O)3B3EB3971B7B3B3EB3EB39A"DB8#$3 F7B3C39F88B3D1B3F83FDEBB837DEB8B23B831B317E3 B17 3 9B3 B8B1 3 DE 3 9ABCD17B8B 3 1 3 EABC7F8 3 9B3 )5$6 3 B8 3 D17E7B1 3 B8 3 EB3 FD18 3 C 3 1B 3 7DEB87F8 3 9A"DB8#$ 3 1 3 78B 3 3 F71B3 9717(B2 3 )BE 3 DB1B1 3 9B 3 6F1871 3 8B 3 B7EEB1B 3 E7F8 3 B 3 787 3 9B 3 7BC3 9F81B13EB38B39B3BB37DEB87F839B3)5$63FEBB83F86F1B3 3 "DB8#$3B3 3B3DB16F18B3139B3B3 3F71B39717(B2

(30)

Contents

1 Introduction 1

1.1 Introduction . . . 1

1.2 Problem presentation . . . 6

1.3 Organization of the thesis . . . 7

2 State of the art 9

2.1 OpenMP. . . 9

2.1.1 Execution model . . . 10

2.1.2 Memory model . . . 11

2.1.3 Directive format . . . 13

2.1.4 “Hello World!” program . . . 13

2.2 OpenMP on distributed systems . . . 15

2.2.1 OpenMP on SSI or DSM. . . 16

2.2.2 Based on MPI . . . 20

2.2.3 Based on Global Array. . . 23

2.2.4 Conclusion . . . 25

2.3 Checkpointing . . . 27

2.3.1 Applications of checkpointing . . . 27

2.3.2 Different levels of checkpointing . . . 28

2.3.3 Complete Checkpointing vs. Incremental Checkpointing . . . 29

2.4 CAPE with complete checkpoints (CAPE-1) . . . 31

2.4.1 CAPE prototype for parallel for loops . . . 33

2.4.2 Some possible improvements for CAPE. . . 35

3 Discontinuous Incremental Checkpointing 37

3.1 Linux memory architecture . . . 37

3.1.1 Memory address . . . 38

3.1.2 The Process Address Space . . . 38

3.1.3 Paging in hardware . . . 41

3.1.4 Paging in Linux. . . 42

3.1.5 Page Table Handling . . . 43

3.1.6 Example: how to set a page to the writable status . . . 45

3.2 Discontinuous Incremental Checkpointing . . . 47

3.2.1 Mechanism for memory modification detection . . . 47

3.2.2 The additional directives. . . 47

3.2.3 Checkpointer level . . . 49

3.3 Detailed design . . . 51

3.3.1 Execution mechanism in checkpointing cases. . . 51

3.3.2 Execution mechanism in recovering cases. . . 53

(31)

3.4 Performance evaluation . . . 55

3.4.1 Advantages and drawbacks . . . 57

3.5 Checkpoint structure optimization . . . 58

3.5.1 Memory granularity . . . 58

3.5.2 Incremental checkpoint content . . . 59

3.5.3 Identifying the method . . . 62

3.6 Conclusion. . . 63

4 CAPE using Incremental Checkpoints – CAPE-2 65

4.1 Execution model . . . 65

4.2 System organization . . . 67

4.3 Transformations primitives. . . 67

4.4 Transformation prototypes. . . 68

4.4.1 Prototype for the parallel for construct . . . 70

4.4.2 Prototype for the parallel sections construct . . . 72

4.4.3 Prototype for the parallel construct . . . 76

4.4.4 Prototype for the single and the master constructs . . . 78

4.5 Performance evaluation . . . 82 4.5.1 General evaluation . . . 82 4.5.2 Detailed analysis . . . 85 4.5.3 Speedup . . . 89 4.6 Conclusion. . . 89 5 Data Sharing 91

5.1 Shared-memory models on distributed systems . . . 92

5.2 OpenMP flush directive and the Updated Home-based Lazy Release Consistency model . . . 93

5.2.1 Updated Home-based Lazy Release Consistency model . . . . 94

5.2.2 Global flush using the UHLRC model . . . 95

5.2.3 Selective flush directive using the UHLRC model . . . 97

5.2.4 Mechanism to check whether variables are updated since the last flush . . . 99

5.3 OpenMP data-sharing rules implementation . . . 100

5.3.1 OpenMP data-sharing categories on CAPE . . . 100

5.3.2 Implementation of OpenMP data-sharing attribute rules . . . 101

5.4 Implementation of OpenMP data-sharing directives and clauses . . . 103

5.4.1 Merging directives and clauses . . . 104

5.4.2 General template . . . 105

5.4.3 Translation details . . . 105

5.5 Performance evaluation . . . 111

(32)

Contents xxix

6 Conclusion and Future Work 113

6.1 Principle contributions . . . 113

(33)
(34)

List of Figures

1.1 Parallel computing [2]. . . 2

1.2 POSIX Thread code of a matrix-matrix product computation. . . 3

1.3 OpenMP code for a matrix-matrix product computation. . . 4

1.4 Example of MPI code for the matrix-matrix product computation. . 5

1.5 OpenMP fork-join model. . . 6

2.1 OpenMP fork-join model with nested parallel regions. . . 11

2.2 Shared-memory architecture. . . 12

2.3 OpenMP directive format for C/C++. . . 13

2.4 OpenMP “Hello World!” program for C/C++. . . 14

2.5 Compilation and execution of an OpenMP program. . . 15

2.6 shmem memory model. . . 18

2.7 Saving a checkpoint of a Linux process.. . . 27

2.8 OpenMP fork-join model vs. CAPE fork-join model. . . 32

2.9 Template for OpenMP parallel for loops with complete checkpoints. 34

3.1 Logical to Linear, and Linear to Physical address translations. . . 38

3.2 Linux process memory layout. . . 39

3.3 Linux paging model . . . 43

3.4 Example of pseudo-code for discontinuous incremental checkpoints. . 48

3.5 Preliminary design of DICKPT checkpointer. . . 50

3.6 Principle of DICKPT in cases of checkpointing. . . 52

3.7 Program computing the successive elements of a Markov Chain. . . . 56

3.8 Amount of memory to store updates. . . 61

3.9 Trade-off between SSD and MD. . . 62

4.1 Execution of OpenMP programs with CAPE-2. . . 66

4.2 System organization. . . 67

4.3 Translation OpenMP programs with CAPE. . . 69

4.4 Prototype for the parallel for with incremental checkpoints. . . . 71

4.5 Equivalence between parallel sections and parallel for. . . 74

4.6 Dedicated prototype for the parallel sections construct. . . 75

4.7 Equivalence between parallel and parallel for. . . 76

4.8 Dedicated prototype for the parallel construct. . . 77

4.9 Modified prototype to execute application codes on the master node. 79

4.10 Prototype for both single and master constructs. . . 81

4.11 Execution time (in seconds) vs. number of nodes. . . 83

4.12 Execution time (in seconds) vs. problem size. . . 84

4.13 Execution time (in seconds) vs. number of nodes. . . 87

(35)

4.15 Speedup vs. number of nodes. . . 89

5.1 Modified prototype for CAPE to implement the flush directive. . . 95

5.2 Global flush.. . . 96

5.3 Selective flush, read case. . . 97

5.4 Selective flush, write case. . . 98

5.5 Template for data-sharing primitives and clauses in for loops. . . 105

5.6 Template to translate the copyprivate clause. . . 110

(36)

List of Tables

2.1 Matrix-matrix product execution time on dual-core and 16-core ma-chines. . . 16

2.2 Execution times for running the HRM1D code on Kerrighed. . . 17

2.3 The implementations of OpenMP for distributed systems. . . 26

2.4 Examples of user-level transparent checkpointers. . . 30

2.5 Examples of user-level non-transparent checkpointers. . . 30

3.1 Page sizes and paging levels in some 64-bits architectures. . . 42

3.2 Processing the directives of the DICKPT on the monitor side. . . 54

3.3 Performance evaluation of DICKPT. . . 57

3.4 Amount of memory to store updates. . . 61

4.1 Number of directives in the NAS Parallel Benchmark codes. . . 70

4.2 Execution time (in seconds) on a single node. . . 82

5.1 Ways to satisfy the OpenMP data-sharing rules.. . . 103

5.2 Possible combinations for OpenMP directives and clauses. . . 104

(37)
(38)

Chapter 1

Introduction

Contents

1.1 Introduction . . . 1

1.2 Problem presentation . . . 6

1.3 Organization of the thesis . . . 7

1.1

Introduction

Despite the quick development of hardware solutions, there are always requirements that go far beyond the capabilities of sequential programs. Parallel programing has been the unique solution to bypass the hardware limitations. In this approach, prob-lems are divided in smaller parts that can be executed concurrently. For example, in Fig. 1.1, the problem is divided in four parts and at each moment ti, different

instructions of these parts are executed concurrently on different CPUs. Almost all modern programming languages enable parallel execution and the most com-mon way consists in using processes and threads. Processes have separated memory spaces and execute independently. This leads to solid systems: the break-down of a process does not lead the system to shutdown. However, inter-process data sharing and synchronization are complex and time consuming. Threads use a common vir-tual address space that makes data sharing much easier and lower time consuming. Nevertheless, the break-down of a thread affects the whole program. Furthermore, multi-threaded programs typically run on SMP systems, not on distributed-memory architectures. As an example, Fig.1.2shows a matrix-matrix product program writ-ten in C based on POSIX Threads, a widely used API for threads. Programming parallel applications in this way requires many auxiliary works at the base level such as creating parallel streams, assigning jobs to streams, making them running, ensur-ing the synchronization, etc. that makes it becomensur-ing a heavy, borensur-ing and difficult task. Parallel programing models at a higher level are required to help programmers bypass these difficulties.

OpenMP [1] has become the standard for the development of parallel applications on shared-memory platforms. It is composed of a set of very simple and powerful directives and functions to generate parallel programs in C, C++ or Fortran. From the programmer’s point of view, OpenMP is easy to use as it allows to incrementally express parallelism in sequential programs, i.e. the programmer can start with a sequential version of a program (written in C, C++ or Fortran) and step by step

(39)

Figure 1.1: Parallel computing [2].

add OpenMP directives to change it into a parallel version. Moreover, the level of abstraction provided by OpenMP makes the expression of parallelism more implicit where the programmer specifies what is desired rather than how to do it. This has to be compared to message-passing libraries, like MPI [3], where the programmer specifies how things must be done using explicit send/receive and synchronization calls.

Figure1.3 presents an OpenMP code computing the product of two-dimension matrices A and B, with the result stored in matrix C.

The only difference between this code and the original sequential code is the insertion of a directive to include the OpenMP header file and the directive in the form of a pragma indicating that the following for loop has to be executed in parallel. The work is more complex for programmers using MPI (an example of code is presented in Fig. 1.4). In this case, programmers are responsible for organizing the work: a master sends initial data to workers and each worker computes a part of the product and sends back its result to the master. Programmers also have to write many other auxiliary operations such at MPI initialization, specify data types, transaction types, etc. All this makes the MPI code completely different from the sequential code, and far more difficult to write, to debug and to understand.

Nevertheless, OpenMP has a major restriction for large-scale computers: it is designed for SMP architectures. If SMP machines have been available for a long time as multi-CPU systems and have become more popular with the development of multi-core architectures, this restriction remains important as it prevents the use of OpenMP on distributed-memory architectures such as clusters, grids and clouds, and therefore does not allow OpenMP to take benefits of the development of new architectures like low-cost desktop clusters, grids and more generally high-performance systems [4].

Many attempts have tried to port OpenMP on distributed-memory systems. However they all fail to give a fully-compliant high-performance OpenMP imple-mentation. A straightforward idea to implement OpenMP on distributed systems

Figure

Figure 1.1: Parallel computing [2].
Figure 2.1: OpenMP fork-join model with nested parallel regions.
Figure 2.2: Shared-memory architecture.
Figure 2.5 shows the phases to compile and run the above program. One can see that the displayed messages are not following thread numbers.
+7

Références

Documents relatifs

Ross (Ed.), The psychology of learning and motivation: Advances in research and theory (vol. San Diego, CA: Elsevier Academic Press. Effects of variable encoding and

addressible memory and to attach to these information packages access attributes describing the fashion in which each user may reference the contained data and

Having considered typical scenarios of behavior in conflict [53-55], it can be argued that the division of memory into levels can also be performed on the basis associated with

They predicted that simple processing components presented at a slow and comfort- able pace should have a low impact on concurrent maintenance, thus resulting in higher spans than

Most notably, the PEP model produces switch costs as a result of feature integration (i.e., memory retrieval effects of recently-encoded events), with relatively less

The EGARCH model of Nelson [29] is one of the most successful ARCH models which may exhibit characteristic asymmetries of financial time series, as well as long memory.. The

The novel aspects are that (i) our JMM formalisation covers dynamic allocation with explicit initialisation actions and infinite executions, and (ii) we identify the assumptions of

This program is, in fact, correctly synchronized: in all sequentially consistent executions, neither thread writes to shared variables and there are no data races (this figure is