Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 25 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
25
Dung lượng
2,52 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN BÀI THU HOẠCH MÔN TÍNH TOÁN LƯỚI Tên đề tài: TÍNH TOÁN SONG SONG VÀ BÀI TOÁN TÍNH SỐ PI TRÊN MÔI TRƯỜNG PVM Giảng viên hướng dẫn : PGS.TS Nguyễn Phi Khứ Học viên thực hiện : Trần Thị Kiều Diễm (CH1101074) Lớp : CH-CNTT K6 TP. HCM, Tháng 7 - 2013 MỤC LỤC PHẦN 4. NHẬN XÉT ĐÁNH GIÁ VÀ HƯỚNG PHÁT TRIỂN 24 MỞ ĐẦU Công nghệ thông tin từ lâu đã được ứng dụng rộng rãi vào các hoạt động nghiên cứu khoa học và tin học hóa xã hội. Thực tế có nhiều bài toán phức tạp đòi hỏi cần các siêu máy tính có kiến trúc phần cứng khổng lồ để giải quyết, điều này gây tốn kém về mặt kinh tế và thời gian thực hiện, trong khi đó các máy tính thông thường thì không thể giải quyết được vì lí do bộ nhớ hạn chế chẳng hạn. Vì lí do này mà một ý tưởng đã được hiện thực hóa là tận dụng nguồn tài nguyên nhàn rỗi từ nhiều máy bằng cách ghép nối các máy tính đơn với nhau thành một hệ thống và cài đặt các phần mềm đặc biệt để có thể tính toán như một máy tính song song. Hệ thống này dần thay thế vai trò những siêu máy tính đắt tiền. Ngày nay, các bài toán nghiên cứu ngày càng nhiều và mức độ phức tạp ngày càng cao, do đó việc phát triển mô hình tính toán song song trong bối cảnh này là rất thiết thực, vượt qua các trở ngại của nó như phân công giữa các tiến trình, làm việc với HĐH Linux, cài đặt cấu hình môi trường PVM…để hướng tới hệ thống tính toán thế giới – Grid Computing. Em xin chân thành cảm ơn Thầy Nguyễn Phi Khứ đã hướng dẫn tận tình giúp chúng em hoàn thành tốt bài thu hoạch cho môn học. DANH MỤC HÌNH Hình 1. Mô hình tính toán tuần tự trang 5 Hình 2. Mô hình tính toán song song trang 5 Hình 3. Mô hình kiến trúc máy tính Von Newmann trang 7 Hình 4. Mô hình các loại kiến trúc máy tính của Flynn trang 8 Hình 5. Minh họa tiến trình thực thi trong kiến trúc SISD trang 9 Hình 6. Minh họa tiến trình thực thi với kiến trúc máy tính SIMD trang 9 Hình 7. Minh họa tiến trình thực thi với kiến trúc máy tính MISD trang 10 Hình 8. Minh họa tiến trình thực thi với kiến trúc máy tính MIMD trang 11 Hình 9. Kiến trúc Uniform Memory Access (UMA) trang 11 Hình 10. Kiến trúc Nonumiform Memory Access (NUMA) trang 11 Hình 11. Kiến trúc MIMD bộ nhớ phân tán trang 12 Hình 12. Mô hình đa luồng (Thread) trang 13 Hình 13. Mô hình truyền thông điệp (Message Passing) trang 14 Hình 14. Mô hình song song dữ liệu (Data Parallel Model) trang 16 Hình 15. Mô hình lai (Hybrid Model) trang 16 Hình 16. Mô hình SPMD và MPMD trang 16 Hình 17. Mô hình minh họa máy ảo song song trang 21 Hình 18. Mô hình minh họa trao đổi giữa các máy ảo song song trang 21 Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ PHẦN 1. TÍNH TOÁN SONG SONG 1.1. Khái niệm tính toán song song — Theo cách lập trình từ trước tới nay, thông thường phần mềm được viết theo cách tính toán tuần tự, nghĩa là chương trình chạy trên một máy tính đơn có 1 CPU, một tiến trình thực hiện tại một thời điểm, tiến trình này xong sẽ tới tiến trình khác. Hình 1. Mô hình tính toán tuần tự — Tính toán song song (Parallel Computing): Sử dụng đồng thời nhiều nguồn tính toán để giải quyết một vấn đề duy nhất, cụ thể là một vấn đề có thể: o Được chạy bằng cách sử dụng nhiều CPU. o Được chia ra thành nhiều phần rời rạc có thể giải quyết một cách đồng thời. o Mỗi phần được tiếp tục phân chia thành một chuỗi các câu lệnh. o Những câu lệnh của mỗi phần được thi hành một cách đồng thời trên các CPU khác nhau. Hình 2. Mô hình tính toán song song — Nguồn tài nguyên trong tính toán song song có thể là: o Nhiều máy tính kết nối nhau qua mạng LAN hoặc WAN. o Một máy tính có nhiều CPU. o Kết hợp cả hai loại trên. 1.2. Vì sao phải tính toán song song Trang5/25 Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ — Trong thực tế có nhiều bài toán đòi hỏi các phép tính phức tạp hoặc số lượng phép tính lớn với khoảng thời gian rất ngắn, hoặc những bài toán cần xử lý mà bộ nhớ một máy tính không thể đáp ứng được chẳng hạn như trong các lĩnh vực khoa học, kỹ thuật, công nghệ sinh học,…do đó việc kết hợp các máy tính lại để giải quyết các bài toán lớn và phức tạp như thế sẽ mang lại nhiều lợi ích như: o Tiết kiệm chi phí, thay vì mua một siêu máy tính thì có thể mua nhiều máy tính với cấu hình thấp hơn nhưng khả năng giải quyết được. o Tiết kiệm thời gian khi thực hiện tính toán cùng lúc nhiều bài toán trên các máy tính được kết nối qua mạng. o Tận dụng được nhiều nguồn tài nguyên trên mạng diện rộng thậm chí cả trên Internet khi nguồn tài nguyên tại chỗ không đáp ứng được. o Khắc phục được nhược điểm của việc tính toán tuần tự. Trang6/25 Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ PHẦN 2. KIẾN TRÚC HỆ THỐNG TÍNH TOÁN SONG SONG 2.1Phân loại các kiểu kiến trúc song song 2.1.1. Kiến trúc máy tính Von Newmann — Các máy tính hiện nay đều xây dựng theo mô hình Von Newmann (tên nhà bác học John Von Newmann). Máy tính Von Newmann sử dụng khái niệm chương trình đã được lưu trữ sẵn. — CPU chạy một chương trình đã được lưu trữ sẵn, trong đó chỉ rõ các chuỗi thao tác đọc và ghi trên bộ nhớ. — Theo Von Newmann, một máy tính bao gồm 4 thành phần chính: bộ nhớ (Memory), bộ xử lý số học (Arithmetic Logic Unit), bộ điều khiển (Control Unit), thiết bị nhập/xuất. Hình 3. Mô hình kiến trúc máy tính Von Newmann o Bộ nhớ đọc ghi ngẫu nhiên lưu trữ các lệnh chương trình và dữ liệu khi thực thi, lệnh chương trình (Program Instruc8on) được mã hóa dữ liệu để yêu cầu máy tính làm điều gì đó, còn dữ liệu (Data) đơn giản chỉ là thông tin được sử dụng bởi chương trình. o Control Unit: lấy các lệnh chương trình và dữ liệu từ bộ nhớ, giải mã câu lệnh rồi phối hợp một cách tuần tự các phép toán, các thao tác để hoàn thành nhiệm vụ được lập trình sẵn. o Arithmetic Logic Unit: thực hiện các phép toán số học và luận lý cơ bản. o Input/Output: nhằm giao tiếp với người sử dụng hoặc thiết bị ngoại Trang7/25 Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ vi. — Kiến trúc máy tính song song vẫn giữ nguyên kiến trúc cơ bản này, chỉ nhân số bộ phận Unit lên nhiều lần, những phần kiến trúc nền tảng vẫn giữ nguyên như kiến trúc máy tính tuần tự. 2.1.2. Phân loại kiến trúc máy tính của Flynn — Có nhiều cách để phân loại máy tính song song, một trong những phân loại được sử dụng rộng rãi từ năm 1966 đó là phân loại Flynn. — Phân loại Flynn phân biệt kiến trúc máy tính song song theo cách phân lớp theo số trạng thái có thể của câu lệnh và dữ liệu. Số trạng thái là Single hay Multiple. Hình 4. Mô hình các loại kiến trúc máy tính của Flynn a) Kiến trúc đơn lệnh- đơn dữ liệu (Single Intruction- Single Data) • Là một máy tính tuần tự (non - Parallel). Là loại máy tính lâu đời và cũng là loại máy tính phổ biến nhất ngày nay chẳng hạn như các máy tính PC dùng cho cá nhân, máy trạm,… • Single Intruction: một dòng câu lệnh được tác động bởi CPU trong suốt một chu kỳ đồng hồ Trang8/25 Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ Hình 5. Minh họa tiến trình thực thi trong kiến trúc SISD • Single Data: chỉ một dòng dữ liệu được dùng như đầu vào trong suốt một chu kỳ đồng hồ. b) Kiến trúc đơn lệnh- đa dữ liệu (Single Instruction-Multiple Data) • Là máy tính song song phù hợp để giải quyết những bài toán chuyên đòi hỏi tốc độ xử lý cao như bài toán đồ thị, xử lý ảnh,… • Single Instruction: tất cả các đơn vị xử lý thực hiện cùng lệnh ở bất cứ chu kỳ nhất định nào. • Multiple Data: mỗi đơn vị xử lý có thể hoạt động trên một phần tử dữ liệu khác nhau. Hình 6. Minh họa tiến trình thực thi với kiến trúc máy tính SIMD • Có hai loại biến thể của loại kiến trúc này là Proccesor Arrays (Connection Machine CM-2,MasPar MP-1 & MP-2, ILLIAC IV) và Vector Pipelines (IBM 9000, Cray X-MP, Y-MP & C90, Fujitsu VP, NEC SX-2, Hitachi S820, ETA10) c) Kiến trúc đa lệnh – đơn dữ liệu (Multiple Instruction, Single Data) • Là loại máy tính song song, tuy nhiên không tồn tại loại máy tính này bao giờ mà nó chỉ dừng ở mức thử nghiệm, một trong số đó là máy tính Carnegie- Mellon C.mmp (1971). • Multiple Instruction: mỗi đơn vị xử lý hoạt động trên dữ liệu độc lập thông qua dòng câu lệnh riêng biệt. • Single Data: dòng dữ liệu duy nhất được đưa vào nhiều đơn vị xử lý. Trang9/25 Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ Hình 7. Minh họa tiến trình thực thi với kiến trúc máy tính MISD d) Kiến trúc đa lệnh - đa dữ liệu (Multiple Instruction- Multiple Data) • Là loại máy tính song song. • Multiple Instruction: mỗi bộ xử lý có thể thi hành dòng câu lệnh khác nhau . • Multiple Data: mỗi bộ xử lý có thể làm việc với dòng dữ liệu khác nhau. • Hiện tại, đây là loại máy tính song song hiện đại nhất, phổ biến nhất, bao gồm các loại siêu máy tính hiện đại, các máy tính kết nối mạng theo cụm và lưới (clusters and grids), máy tính đa xử lý đối xứng (multi-processor SMP), các máy tính multi-core PCs. Ngoài ra, kiến trúc máy tính này còn bao gồm nhiều kiến trúc con SIMD. Hình 8. Minh họa tiến trình thực thi với kiến trúc máy tính MIMD • Kiến trúc MIMD chia sẻ bộ nhớ: Việc truy cập có thể đồng bộ (Uniform Memory Access) hay không đồng bộ (Nonumiform Memory Access), xác định hay không xác định. Uniform Memory Access (UMA): phổ biến trong loại máy này là các máy đa bộ xử lý đối xứng (Symmetric Multi Processor: SMP), các bộ xử lý đồng Trang10/25 [...]... dung lý thuyết tính toán song song, áp dụng vào bài toán tính số π trên môi trường PVM bằng thuật toán miệng vòi o Chưa đạt được: Chưa thử nghiệm với hệ thống máy thật được gom cụm theo kiểu cluster − Hướng phát triển Thử nghiệm bài toán trên hệ thống grid computing Trang24/25 Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ TÀI LIỆU THAM KHẢO − Danh mục bài giảng, bài báo và luận văn: [1] Bài giảng CGrid... giảm, song song tự động thì linh hoạt hơn, hạn chế được những đoạn lệnh không cần song song 2.3.2 Bài toán và chương trình được song song — Một chương trình được song song khi các phần tử dữ liệu không có tính phụ thuộc lẫn nhau — Khi xác định bài toán song song được thì cần thực hiện những công việc sau: o Xác định điểm nóng của chương trình cần được song song vì thực tế chỉ có vài chỗ cần được tính toán. .. Simon Plouffe: Thuật toán này có thể sinh ra bất kì chữ số hệ thập lục phân của mà không tính toán tới các chữ số đứng trước nó Các chữ số nhị phân hay bát phân riêng rẽ có thể trích xuất từ các chữ số hệ thập lục phân 3.3.2 Phát biểu bài toán: Tính số Pi theo thuật toán miệng vòi Số pi được tính theo công thức: Trang21/25 Tính toán lưới 3.3.3 GVHD: PGS.TS Nguyễn Phi Khứ Phân tích bài toán: Điểm cốt lõi... ~]$ tar zxvf pvm3 .4.6.tgz • Kiểm tra lại biến môi trường • Cài đặt: • [tamem@master ~]$ cd PVM_ ROOT • [tamem@master pvm3 ]$ make 3.3 Hiện thực bài toán tính số PI trên môi trường PVM: 3.3.1 Thuật toán miệng vòi (SPIGOTALGORITHM): Hai thuật toán được khám phá vào năm 1995 đã mở ra một hướng đi mới cho nghiên cứu về số Chúng gọi là các thuật toán "miệng vòi" (spigot algorithms) bởi vì, giống như nước nhỏ... khi thực thi thuật toán oÁnh xạ động (Dynamic mapping): được thực hiện khi ánh xạ tĩnh phân phối công việc không cân bằng giữa các bộ xử lý vì nó tiến hành phân phối trong suốt quá trình thuật toán thực thi Trang18/25 Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ PHẦN 3 BÀI TOÁN TÍNH SỐ PI TRÊN MÔI TRƯỜNG PVM 3.1 Kiến trúc PVM — Thuật ngữ PVM – máy ảo song song được dùng để coi một máy tính logic có bộ... 3.3.5 Kết quả thực thi Nhận xét: kết quả cho bài toán ở hai cách tính là như nhau, tuy nhiên thời gian thuật toán song song ít hơn gần một nửa Nguyên nhân là do thuật toán song song dùng 2 tiến trình để tính và phí thời gian dành để thu hồi kết quả từ các tiến trình là không đáng kể Trang23/25 Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ PHẦN 4 NHẬN XÉT ĐÁNH GIÁ VÀ HƯỚNG PHÁT TRIỂN − Nhận xét, đánh giá:... những máy tính thành viên Kiến trúc vật lý và logic được minh họa như hình sau Hình 17 Mô hình minh họa máy ảo song song — PVM cung cấp các thủ tục để khởi tạo các tác vụ trên máy ảo (virtual machine) và cho phép các tác vụ này trao đổi với nhau Hình 18 Mô hình minh họa trao đổi giữa các máy ảo song song 3.2 Cài đặt môi trường PVM 3.2.1 Chuẩn bị hệ thống: — Trước tiên cài đặt các hệ điều hành trên hệ... của công thức ở trên là khi tính số thập phân của π ở dạng nhị phân hay ở hex thì không cần phải cộng hay trừ các số đã tính được trước đó cho mỗi bước xê dịch của i đang tiến từ 1 tới một số lớn hay vô cực Nói cách khác thì giá trị tại các bước trong công thức độc lập nhau nên bài toán có thể song song được 3.3.4 Thiết kế thuật toán: − Thuật toán tuần tự: Vòng lặp i chạy từ 1 đến số vô cùng lớn Với... tương tự như trên chình sửa các file (hosts, hosts.eqiuv, securetty) — Bước 3 Cài đặt PVM Tạo biến môi trường trên master Tạo file rhosts (trên master, slave) Khởi động lại hệ thống để thiết lập các biến môi trường và các cấu hình file hệ thống Trang20/25 Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ Cài đặt PVM • Giải nén file: trực tiếp hoặc bằng lệnh sau: • [tamem@master ~]$ tar zxvf pvm3 .4.6.tgz •... trình biên dịch song song Việc song song hoá dữ liệu được thực hiện với sự hỗ trợ của các trình dịch Hình 14 Mô hình song song dữ liệu (Data Parallel Model) 2.2.5 Mô hình lai (Hybrid Model) — Là sự kết hợp các mô hình đã mô tả trước đây chẳng hạn như kết hợp mô hình chuyển thông điệp MPI và mô hình Threads (OpenMP) Các Thread thực hiện tính toán dùng dữ liệu địa phương của node tính toán và khi truyền . DỤC VÀ ĐÀO TẠO ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN BÀI THU HOẠCH MÔN TÍNH TOÁN LƯỚI Tên đề tài: TÍNH TOÁN SONG SONG VÀ BÀI TOÁN TÍNH SỐ PI TRÊN MÔI TRƯỜNG PVM Giảng. quá trình thuật toán thực thi. Trang18/25 Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ PHẦN 3. BÀI TOÁN TÍNH SỐ PI TRÊN MÔI TRƯỜNG PVM 3.1 Kiến trúc PVM — Thuật ngữ PVM – máy ảo song song được dùng. loại trên. 1.2. Vì sao phải tính toán song song Trang5/25 Tính toán lưới GVHD: PGS.TS Nguyễn Phi Khứ — Trong thực tế có nhiều bài toán đòi hỏi các phép tính phức tạp hoặc số lượng phép tính