Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 80 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
80
Dung lượng
7,31 MB
Nội dung
1 ĐẠI HỌC QUỐC GIA HÀ NỘI KHOA CÔNG NGHỆ ea ĐINH MẠNH TUỠNG KIÍN TRÚC củn CÁC Hệ xử LÝ SONG SONG vế LẬP TRÌNH SONG SONG ĐẠI HỌC QU Ồ C G IA HN T R U N G TÂ M TH Ò N G TIN - TH Ư V IẸ N 005/8 V-GO HÀ NỘI -1999 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỤC KHOA IIỌC T ự NHIÊN ũ ầ ĐỈNH M Ạ N H TƯỜNG KI€N TRÚC CỦA CÁC Hệ xử LV SONG SONG V€ Lập THÌNH SONG SONG H N ộ i - 1999 NHẤP ĐỂ ị.l M ột sô khái niệm chung Sự phát triển Thì học, m rộng phạm vi ứng dụng Tin học phải đương đầu với hai vật cản lớn nhất, khơng gian thời gian, khơng gian nói k h n s gian nhớ, thời gian tốc độ xử lý Nhịp độ tiến máy tính cà hai m ặt nhớ tốc độ xử lý ngàv tăng Câu hỏi đặt liệu đảm bảo nhịp độ phát triển khơns, m xử lý ngày gần đến giới hạn mà qui luật vật lv cho phép Tuy nhiên có ứng dụng địi hỏi phải nâng cao hcn tốc độ xử lý và'bộ nhớ (chẳng hạn ứng dụng dự báo thời tiết, điều khiển tư động hệ thốnơ phức tạp, ứng dụng trí tuệ nhản tạo ; nhân dạng, xử lý hình ảnh âm thanh) Thực tế người sử dụng đòi hỏi mơ ước nhữnơ m áy 3T (tốc độ xử lý 1000 tỉ phép tính dấu phảy độnơ giây, 1000 ti byte nhớ, lưu lượng 1000 tỉ bit giây Để tăns khổng ngừng tốc độ xử lý nsười ta tìm đến xử lý song sona (parallel Processing) Xử lý son s song, thưc chất dạng xử lý tự nhiên xử lý thòng tin Trong tượng diễn hàng n sà v tự nhiên xã hội có nhiều tượng, nhiều q trình xảv thời Do ngày từ khâu mị hìĩih hố, để biểu diễn xác ta cần đến tính song song ! Nguyên lv xử lý song song thực hiện, nhiều nhiệin vụ m ột thời gian Có thể đưa xử lý song song vào processor : thực đông thời Iihiều phép toán sơ cấp dựa theo nguyên lý pipeline C hẳng hạn supercom perter CRAY-1 (được đưa thị trường 1976) sử dụng pipeline vertorial processor Các m icroprocessors đãy transputer T 9000 INM OS, i 860 INTEL, c 40 TEXAS, IN STRU M EN TS M ột dạng khác xử lý song song dễ thấy hơn, "có thể nhìn thấy được" sử dụng nhiều processor m ột m áy Trong hệ đa xừ lý (multi processorsystem s), nhiều chương trình thực song song xừ lý khác nhau, tương tác chương trình thực truyền thơng (cominunication) xử lý trực tiếp thông qua nhớ chung 4- fine grain parallelism (song song hạt m ịn) : M áy gồm nhiều xử lý, xử lý sơ đẳng : chúng xử lý m ỗi lần bit nhớ không vượt m ột vài Kb Chẳng hạn tiếng máy loại connection m achine Thinking m achine có tới 65536 xử lý sơ đẳng + Coarse grain paralleliun (.song song hạt thỏ), xử lý mụunanh, mỏi có nhớ lớn (ít 0,5 Mb) Chẳng hạn, supercomputer CR A 'Y iY -2 C R A Y , hay SX-3 N E C + Trung gian hai loại : Phần lớn máy song song đưca ra thị trường thuộc loại Chẳng hạn hypercube iPSC [NTỈEPEL, MƯLT1MAX cua ENCORE COMPƯTERS Các m áy sử dụng A(3,2) A(3,3) M, M: a, ; —ỉ í-1?) Hị 'à3; ‘li i H2 Nêu ta hru trữ ma trận À cấp theo H[ khơng thể truy cập thíờ.ời theo cột Nhimg xếp theo H, truy cập thời theo hànịg.g, theo cột, II VẤN ĐỀ TRUYỀN THÒNG (COMMƯNICATION) TRONG CÁC HỆ SON Ví dụ Tính tổng phần t-ử mảng SEQ sum :=0 i := VVHILE i < = n SEQ sum := sum + tab [i] ị : = if l Ví dụ LNT X : # X khai báo biến nguyên # SEQ X:= W HÍLE X > = SEQ in ? X o u t ! * X Lệnh 1F Cú pháp lệnh IF ÍIỈIƯ sau ĨF Ị c đ i ể u kiện>- Ị+ lệnh LF thực sau f Đánii giá điểu kiện logic theo trình tự xuất gặp điều kiện đúng, hành động tương ứng với điều kiện thực > Nếu điều kiện lệnh IF kết thúc lỗi Lệnh if kinh điển if B then SI else S2 tương đương IF B SI B S2 hS V í dụ : IF X= process X= process TRUE SKIP Trong ví dụ q trình h oặ c thực h iệ n tu ỳ th e o X = X - Trong trường hợp khác klìịns làm cá (lệnh SKIPỵ Lệnh ALT Lệnh ALT (ALTernation) cho phép thực sò nhiều hành dộng tuv theo trạm gác hành động co thè qua hay khỏng Trạm sác biếu thức iogic, hốc biếu thức losic lệnh nhận thịng báo, lệnh nhận ALT ị ctrạm aác> Ị r | 0) & can3 ? c process Nêu X > thòng báo kênh can đến trình thưc hiên § K ênh tru y ề n thơn g protoc kênh [ KÊNII T R U Y Ề N TH Ò N G GIŨA CÁC Q U Á T R Ì N H S O N G SONG Kênh dối tượng trung; gian để truyền thơng tin q trình Ví du : Già sử ta có kênh chung com nối trình theo hướng nhất, kênh in out nối với trình khác (xem hình ) [ X r) X com y y +1 ou t Đoạn chương trình san minh hoạ truyền thơng theo kênh hai q trình PAR INT X : SEQ in ? X com ! 2*x INT y : SEQ com ? y ouL ! V + l Một kènh chi nối trình với qua trình khác rheo hướng, khịng phép sứ dụng kènh hưong Ví dụ : Kênh hai hướng can nối qiía trình process I process đoạn chươns trinh sau ià không hợp lệ PAR ÍNT x: SEQ can X iNT y SEQ can ? y .# process # Nếu chúng tạ muốn thiết lập Sự truyển thòng theo hai hướng hai trình, cán sử dụng kênh nối hai trình Lheo ỉiai hương khác: can ỉ can Đoạn chương trình sau khơng hợp lệ, kênh can nối process-i vói q trình khác proces-2 proces-3 can processl !'X Ị)rocess í PAR SEQ can! tỉ process tí INT X : y process 7! SEQ can ? X # proces # 1NT y : SEQ can ? V # piocess # Hai trìnli song song tương tác với truyền thơng phong tồ lẫn Chảng hạn, hai trình nối với hai kênh can ) can.2 'theo hai hướng khác Trong đoạn chương trình sau, hai trình chờ nhận thịng tiq từ q trình không tiến triển PAR INT X : SEO ‘V can.2 ? X c anl ! LNT y : SEQ can ỉ ? y can2 í II PROTOCOL CỦA KÊNH K ênh đối tượng trung gian để trao dổi thơng tin q trình song song Do cần phải rõ dạng thức thơng tin mà kênh tải Dạng thức thơng tin m m ột kênh tải gọi protocol kênh Khai báo kênh sau : C H A N OF : Ví dụ : Kênh c a n l có protocoỉ INT khai báo sau : C H A N O F I N T canI : K ênh can2 tải m ảng 20 số nguyên khai báo sau CH A N OF [20] INT can2 : Cần lưu ý rằng, mảng 20 kênh can [1], LNT khai báo : can [20] với protocol [20] C H A N OF INTcan : Có thể xác định protocol theo cú pháp sau PR O T O C O L IS Chẳng hạn can kênh tải dãy liệu, BYTE theo sau INT REAL32 mò tá sau : PR O TO C O L prcol IS BYTE ; INT ; REAL32 : CH A N O F prcol can : Khi tmyền thịng qua can hai trình đoạn sau : PAR SEQ can ! 65 ; l 25 ; 3.14 BYTE X : INT y: REAL32 z : SEQ can ? X ; y ; z Cũng rái trẽn kènh ihịng báo có kiểu khác Chẳng hạn kẻnh tải dãy số nguyên mảng 20 BYTE Khi protocol cứa kênh dược xác định sau PR O T O C O L prcoỉ IS CASE a ; ÍNT ; ÍNT b ;[20] BYTE CH A N O F prcoỉ can5 : Trong a b nhãn Ta nói can kênh có protocol thay đổi Qua ví dụ trồn ta thấy kênh tải liệu có cấu trúc dãy hfru hạn liệu có kiểu khác nhau, m ảng liệu Đặc biệt, m ột kênh tải máng có độ dài biến thiên Khi protocol kênh khai báo theo cú pháp sau : PR.OTOCOL IStypel :: [ ] type2 : máng typel ià kiểu cỡ cúa máng, tvpe2 kiểu thành phàn 73 Ví du : PROTOCOL paquet IS ỈNT :: [ j IN'T : CH A NAL OF paquet panama : Có thể sứ dụng kênh panama sau : [ ] INT a : # a mảng số nguyên có độ dài biến đổi # panaina ! 10 ::a # truyền kêiứi panama màng a chiều 10 # Cũng khai báo protocol kênh sau PROTOCOL paquetl IS INT ; INT :: [ ] REAỈ 64 : Khi kênh với protocol paquetl tải số nguyên, sau dến mảng số thực có độ dài thay đổi § Mo hình trình Cấu trúc chươiig trình PROC OCCAM cho phép ta khai báo mị hình q trình Xác định mơ hình q trình bao gổm - Xác định tên trình - Các tham số hình thức (tham số biến kêiứi) V Việc khai báo tên tham số giống hệt thủ tục thòng thường Pascal c - Khai háo liệu địa phương - Văn bán q trình Ví dụ : Proc max (VAL INT X, y ; VAR INT z) ỈF X y z := X Chủ ý : Kết thúc m ột khai báo PROC đấu : Từ khoá VAL để tham số tham trị, VA.R để tham biến Khi khai báo mô hình trình PROC, cách gọi đến I1 Ĩ (hồn tồn giống gọi thủ tục) khởi tạo nhiều trình theo mơ hình Chẳng hạn PAR rnax(5, 12, z) rriax(23, 9, YV) hai trình khới tạo theo mơ hình thực song song Ví dụ CHAN OF ÍNT can : PR OC procl (INT x ) ĨNT fred : SEQ iVed : - can ! fred * X PROC proc2 (ÍNT y) INT tom, jane : CEO can ? tom janê Í0 ní * X PAR procl (3) proc2 (15) V í dụ : PROTOCOL complex IS REAL32 ; REAL 32 : PRO C rnerge (CHAN O P compiex righí, !eft, CHAN OF BOOL shutoff) REAL 32 xreai, xirnag BOOL running : SEO running TRUH WHILE running ALT s h u i o í í ? nmning SKIP right ? xreal ; xirriau; o u t; 75 out ! xreal ; ximag left ? xreal ; ximag out ! x r e a l ; ximag M ảng q trình, Nơồi màng liệu, mảng kênh O CCA M cho phép xác định m ảng q trình y MẢNG CÁC QƯẢ TRÌNH SEQ Cho phép mổ tà thưc nhiều q trình theo mỏ hình Ví dụ : PROC vvritestr (CHAN OF BYTE Stream ; VA L [ ] BYTE string) SEQ i : = FOR SIZE String Stream ! Stíing [i] vvritestr (screen, "Heỉlo!") Tốn tử SIZE cho cỡ mảng Chú ý : Trong OCCAM có kiểu liệu chuẩn sau BYTE ỈNT (được cài đật tùy theo máy) INT16 INT32 INT64 REAL32 REAL64 BOOL Cũng cần lưu ý ký tự biểu diễn BYTE, cịn xâu kí tự dược biểu diễn mảng BYTE MẢNG CÁC Q TRÌNH PAR Mảng q trình PAR sử dụng để m ô tả thực song song Iihiều q trình theo mơ hình V í dụ : [21] CH A N OF BYTE b u f f e r : PROC keyboarđ( ) 76 WHEL£ TRUE BYTE char SEQ ke yboar d ? char buffer [0] ! cher PR O C ahead ( ) PAR i:=0 FOR 20 WHILE TRƯE BYTE c h a r : SEQ buffer [i] ? char buffer [i + 1] ! char PR O C terminaỉ ( ) W H ÍL £ TRUE BYTE C h a r : SEQ buffer [21] ? char screen ! char PAR key board ( ) ahead ( ) íermmal ( ) Đ oạn chương trình chuyển ký tự nhận từ bàn phím qua m ột pipiine kênh mỏ tả mảng kênh buffer đưa m àn hình MÁNG CÁC QUÁ TRÌNH ALT Cho phép ta mơ tả lựa chọn số nhiều trình hoạt động theo m ột m hình 77 Ví du : PROC tnux ([ ] CH A N OF INT in ; CHAH F ĨNT out) VVHILE TRUE LNT X : ALT i:= FOR SIZE in in[i] ? X SEQ ou t ! i ou t ! X ¥ 78 TÀI LIỆU THAiM KHẢO Hoare Commuricating sequential Processes, 1985 Michel Cosnard Algoriíhnies et Architectures parallèles, 1993 Jean - Louis multiprocesseurs Jacquernin ĩnfonmatiqiie parallèle André Amold Programmes paraỉlèles, 1989 Jean - Pierre Banatie La prosrammation parallèle Ben - Ari M Principle of Concurrent Prograrnming, 1982 H Ledgard ADA : une introduction Ạ et ^ w systèmees ... cứu dạng kiến trúc §.1 Kiến trúc SISD 1.2 Kiên trúc Đây kiến trúc cùa hệ xử lý Đó kiến trúc xử lý (monoprocessor systems) Chúng ta trình bày kiến trúc để thấv rõ đặc trưng kiến trúc song song đề... kiến trúc máy t Phán KIẾN TRÚC CỦA CÁC HỆ XỬ LÝ SO N G SO NG CHUƠNGI: KIẾN TRÚC Thuật ngữ kiến trúc hệ thốns để phân chia hệ thốn thành phận, phân liên kết với rihau tạo thành hệ thống Kiến trúc. .. ngư lập trình song song Các ngịn ngữ lâp trình song song (LTSS) đa dạng, chúng phát triển dưa nhiều iuổug tư tường khác nhau, chủ yếu dưa - Các kiến trúc hệ - Các kết nghiên cứu lý thuyết song song