Bài giảng Tính toán song song và phân tán - Chương 1: Giới thiệu chung - Trần Văn Lăng

Một ít về lịch sử —  Năm 1956, IBM bắt đầu dự án STRETCH để sản xuất siêu máy tính cho Los Alamos National Laboratory (LANL), —  Tốc độ xử lý gấp 100 lần máy cùng thời. —  Năm 1957, dự án LARC (Livermore Automatic Research Computer) thiết kế siêu máy tính cho (Lawrence Livermore National Laboratory - LLNL). —  Máy tính này sử dụng cho Phòng thí nghiệm Quản trị an toàn về năng lượng hạt nhân. —  Năm 1959, máy tính STRETCH và LARC ra đời

pdf28 trang | Chia sẻ: candy98 | Lượt xem: 765 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài giảng Tính toán song song và phân tán - Chương 1: Giới thiệu chung - Trần Văn Lăng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1 PGS.TS. TRẦN VĂN LĂNG Tính toán song song và phân tán (Parallel and Distributed Computing) Assoc. Prof. Tran Van Lang, PhD 1 Nội dung chinh —  Xây dựng thuật giải song song. —  Đánh giá về độ phức tạp của thuật toán song song —  Tính số phần tử xử lý tối ưu cần thiết. —  Hiện thực chương trình tính toán song song bằng ngôn ngữ C/C++ trên hệ thống phân tán. Assoc. Prof. Tran Van Lang, PhD 2 Tài liệu đọc thêm —  Behrooz Parhami (2002), Introduction to Parallel Processing, Klumwer Academic Publishers, p.557. (eBook) —  Al Geist, et al. (1994), PVM: Parallel Virtual Machine, MPT Press, p.298 (eBook) —  Peter S. Pacheco (1998), An User's Guide to MPI, University of Francisco, p.51 (eBook) —  Blaise Barney, Lawrence Livermore National Laboratory, Introduction to Parallel Computing (eBook) Assoc. Prof. Tran Van Lang, PhD 3 GIỚI THIỆU CHUNG Chương 1 Assoc. Prof. Tran Van Lang, PhD 4 2 Một ít về lịch sử —  Năm 1956, IBM bắt đầu dự án STRETCH để sản xuất siêu máy tính cho Los Alamos National Laboratory (LANL), —  Tốc độ xử lý gấp 100 lần máy cùng thời. Assoc. Prof. Tran Van Lang, PhD 5 —  Năm 1957, dự án LARC (Livermore Automatic Research Computer) thiết kế siêu máy tính cho (Lawrence Livermore National Laboratory - LLNL). —  Máy tính này sử dụng cho Phòng thí nghiệm Quản trị an toàn về năng lượng hạt nhân. —  Năm 1959, máy tính STRETCH và LARC ra đời Assoc. Prof. Tran Van Lang, PhD 6 Một vài bài viết —  S. Gill, Parallel Programming, The Computer Journal, Vol.1, pp.2-10, 1958. —  J. Holland, A Universal Computer Capable of Executing an Arbitrary Number of Subprograms Simultaneously, Proceeding East Joint Computer Conference, Vol.16, pp.108-113, 1959. —  M.E. Conway, A Multiprocessor System Design, Proceeding AFIPS Fall Joint Computer Conference, Vol.4, pp.139-146, 1963 Assoc. Prof. Tran Van Lang, PhD 7 2. Sự phát triển máy tính nhanh nhất —  Căn cứ vào chuẩn LINPACK do Giáo sư Jack Dongara đưa ra —  Chuẩn được dùng trong LINPACK là giải hệ phương trình tuyến tính dày đặc. —  Máy nhanh nhất được công bố trong hội thảo International Supercomputer Conference (sáu tháng một lần – Assoc. Prof. Tran Van Lang, PhD 8 3 Đơn vị đo —  1 Pflop/s (PetaFlop/s) = 1.000 Tflop/s —  1 Tflop/s (TetraFlop/s)= 1.000 Gflop/s —  1 Gflop/s (GigaFlop/s) = 1.000 Mflop/s —  1 Mflop/s (MegaFlop/s) = 1.000 Kflop/s —  1 Kflop/s (KiloFlop/s) = 1.000 Flop/s —  1 Flop/s = 1 Floating Point Operation per Second Assoc. Prof. Tran Van Lang, PhD 9 Độ đo lý thuyết và cực đại —  Rpeak: là độ đo lý thuyết đỉnh điểm ¡  Xác định bằng cách tính số phép tính cộng và nhân được hoàn thành trong suốt một chu kỳ thời gian của máy. ¡  Chẳng hạn, máy với 1.5 GHz có thể hoàn thành 4 phép tính trong một cycle, thì hiệu suất lý thuyết là 6 GFlop/s —  Rmax: là độ đo cực đại mà máy tính có thể thực hiện được theo chuẩn LINPACK Assoc. Prof. Tran Van Lang, PhD 10 LINPACK Benchmark —  Để cài đặt, có thể dùng phần mềm HPL (High- Performance Linpack) —  Địa chỉ Assoc. Prof. Tran Van Lang, PhD 11 Benchmark for Distributed-Memory Computers Assoc. Prof. Tran Van Lang, PhD 12 4 Máy nhanh nhất vào 11/2004 Assoc. Prof. Tran Van Lang, PhD 13 —  BlueGene/L DD2 beta-System (0.7 GHz PowerPC 440) ¡  70,72 Tflops (70.720.000.000.000 flops) ¡  216 = 65,536 compute nodes Assoc. Prof. Tran Van Lang, PhD 14 —  5 máy nhanh nhất 11/2004 Tháng 11/2005 Assoc. Prof. Tran Van Lang, PhD 15 Tháng 6/2006 Assoc. Prof. Tran Van Lang, PhD 16 5 Tốc độ phát triển Assoc. Prof. Tran Van Lang, PhD 17 Tháng 11/2006 Assoc. Prof. Tran Van Lang, PhD 18 Tháng 6/2007 Assoc. Prof. Tran Van Lang, PhD 19 Tháng 11/2008 Assoc. Prof. Tran Van Lang, PhD 20 —  Mạnh nhất: máy Roadrunner do hãng IBM chế tạo. ¡  Sử dụng hệ điều hành Linux ¡  Bộ xử lý thuộc loại PowerXCell 8i 3200 MHz, có tốc độ tính toán của một bộ xử lý là 12.8 GFlops 6 11/2008 Assoc. Prof. Tran Van Lang, PhD 21 Assoc. Prof. Tran Van Lang, PhD 22 —  Máy có tốc độ tính toán trung bình là 1.105 triệu tỷ phép tính trên một giây (1.105 Pflops), bao gồm 129.600 bộ xử lý —  Được đặt ở Phòng thí nghiệm quốc gia Los Alamos, Bộ Năng lượng, Hoa Kỳ (Los Alamos National Laboratory 11/2009 Assoc. Prof. Tran Van Lang, PhD 23 Tháng 6/2010 Assoc. Prof. Tran Van Lang, PhD 24 7 Tháng 11/2010 Assoc. Prof. Tran Van Lang, PhD 25 Tháng 6/2011 Assoc. Prof. Tran Van Lang, PhD 26 Tháng 11/2011 Assoc. Prof. Tran Van Lang, PhD 27 Assoc. Prof. Tran Van Lang, PhD 28 8 —  Thực hiện hơn 10,51 nghìn tỷ phép tính trên mỗi giây (10,51 Petaflops) —  Hệ thống, được gọi là K Computer, tại Viện Khoa học tính toán nâng cao (Advanced Institute for Computational Science - AICS) tại Kobe, Nhật Bản —  Để thực hiện các nghiên cứu về Vật lý và Hóa học Assoc. Prof. Tran Van Lang, PhD 29 —  Máy có 705.024 SPARC64 Core —  Vào tháng 11/2010, K Computer xếp hạng 172. Assoc. Prof. Tran Van Lang, PhD 30 K Computer, Fujitsu Assoc. Prof. Tran Van Lang, PhD 31 Máy nhanh nhất 6/2012 Assoc. Prof. Tran Van Lang, PhD 32 9 Assoc. Prof. Tran Van Lang, PhD 33 —  Máy Sequoia được đặt ở Lawrence Livermore National Laboratory, Bộ Năng lượng, Hoa Kỳ —  Thuộc IBM BlueGene/Q system —  Với 1.572.864 core Assoc. Prof. Tran Van Lang, PhD 34 Assoc. Prof. Tran Van Lang, PhD 35 —  Về lý thuyết, khoảng 20.132.659.200.000 Flop/s (hơn 20 ngàn tỉ phép tính trong một giây). —  Độ đo cực đại theo chuẩn LinPack: 16.324.751.000.000 Flop/s —  Số core nhiều gấp đôi so với máy đứng thứ nhì, nhưng năng lượng tiêu thụ lại ít hơn 10 máy tính mạng của 6/2012 Assoc. Prof. Tran Van Lang, PhD 36 10 3. Xu hướng máy tính Assoc. Prof. Tran Van Lang, PhD 37 —  Có 2 xu hướng thế giới đang đẩy mạnh liên quan đến việc khai thác năng lực máy tính trong việc giải quyết vấn đề khoa học tính toán đặt ra: ¡  Năng lực của hệ thống máy ¡  Năng lực nội tại của một máy Năng lực hệ thống máy —  Ngày nay, ngoài khái niệm tính toán phân tán (Distributed Computing), còn có khá nhiều khái niệm, chẳng hạn: ¡  Cluster Computing ¡  Peer to peer Computing ¡  Ambiguous Computing ¡  Volunteer Computing ¡  Grid Computing ¡  Cloud Computing ¡  Sky Computing Assoc. Prof. Tran Van Lang, PhD 38 Năng lực nội tại của một máy tính Assoc. Prof. Tran Van Lang, PhD 39 —  Hai hướng phát triển chính: ¡  Có được nhiều bộ xử lý,nhưng không tốn nhiều năng lượng hơn. ¡  Tận dụng những gì đã có để tăng khả năng xử lý —  Máy tính vẫn mạnh, nhưng ¡  Nguồn năng lượng cung cấp không tăng lên ¡  Toả nhiệt cũng không nhiều hơn Desktop Laptop Netbook Assoc. Prof. Tran Van Lang, PhD 40 11 —  Trên Laptop hoặc Netbook, thay vì Multi- Processor, chuyển sang Single-Processor nhưng với Multi-Core Assoc. Prof. Tran Van Lang, PhD 41 Multi - Cores Assoc. Prof. Tran Van Lang, PhD 42 —  Từ tháng 6/2009, AMD đưa ra bộ xử lý 6 core tên Istanbul. —  Tốc độ tăng gấp 34% so với Opteron 4 core —  Từ 2009, Intel có những dự kiến thiết kế bộ xử lý có đến 16 core. —  Dual-core processor: Có 2 core (AMD Phenom II X2, Intel Core Duo) —  Quad-core processor: Có 4 core (AMD Phenom II X4, the Intel 2010) Assoc. Prof. Tran Van Lang, PhD 43 —  Hexa-core processor: Có 6 core (AMD Phenom II X6, Inter Core i7 Extreme Edition 980X) —  Octa-core processor: Có 8 core (AMD FX-8150) Assoc. Prof. Tran Van Lang, PhD 44 12 Hyper-Threading —  Còn dùng công nghệ siêu phân luồng (Hyper- Threading) để nâng cao năng lực của bộ xử lý. —  Chẳng hạn, với Dual Core Intel i7, thì có 2 core vật lý, nhưng có 2 x 2 core luận lý để sử dụng (điều này làm cho Intel i5 khác với i7) Assoc. Prof. Tran Van Lang, PhD 45 4. Phần mềm & Lập trình —  Xu hướng Phần cứng Phần mềm Assoc. Prof. Tran Van Lang, PhD 46 Phần mềm —  Hiện nay, các máy tính hầu như có nhiều core. Tối thiểu cũng là Dual Core. —  Phần mềm khai thác năng lực này chưa có nhiều, ngay cả hệ điều hành. Bộ phần mềm Intel Parallel Studio được tích hợp vào Microsoft Visual Studio Assoc. Prof. Tran Van Lang, PhD 47 OpenCL —  Hãng Apple, từ 9/2009 cung cấp hệ điều hành Snow Leopard tích hợp OpenCL (Open Computing Language) •  Trong Max OS X Lion, OpenCL được hỗ trợ nhiều hơn. •  Sử dụng IDE Xcode để lập trình Assoc. Prof. Tran Van Lang, PhD 48 13 Assoc. Prof. Tran Van Lang, PhD 49 —  OpenCL: ngôn ngữ lập trình song song trên hệ thống nhiều loại phần cứng và hệ điều hành khác nhau. —  Được tạo ra bởi Khronos Group với sự tham gia của nhiều công ty và tổ chức lớn trên thế giới GPU —  Từ năm 2007, Nvidia đưa ra ý tưởng biết chip đồ hoạ để có khả năng xử lý như một bộ xử lý trung tâm (CPU) Assoc. Prof. Tran Van Lang, PhD 50 CPU & GPU Assoc. Prof. Tran Van Lang, PhD 51 —  Khi đó, máy tính có 2 bộ xử lý đang tồn tại. —  Khái niệm GPU (Graphics Processing Unit) ra đời từ đó để chỉ bộ xử lý đồ họa hoạt động song song cùng CPU đang có. Ngôn ngữ lập trình trên GPU —  Vấn đề đặt ra, ngôn ngữ lập trình nào để giúp tạo chương trình khai thác GPU. —  NVIDIA đưa ra CUDA (Compute Unified Device Architecture) cho phép các nhà phát triển phần mềm sử dụng khả năng của GPU để thực hiện các phép tính toán số học và luận lý tương tự CPU. Assoc. Prof. Tran Van Lang, PhD 52 14 —  CUDA: thực chất là một mô hình lập trình song song. —  Có phiên bản cho các platform khác nhau như Windows, Linux, Mac OS X ¡  CUDA Toolkit 5.0 —  https://developer.nvidia.com/cuda-downloads Assoc. Prof. Tran Van Lang, PhD 53 Assoc. Prof. Tran Van Lang, PhD 54 Ứng dụng đã có với CUDA Assoc. Prof. Tran Van Lang, PhD 55 Tiết kiệm điện năng tiêu thụ Assoc. Prof. Tran Van Lang, PhD 56 15 Assoc. Prof. Tran Van Lang, PhD 57 —  Máy tính xếp thứ 6 (6/2012) sử dụng sức mạnh của những GPU Nviadia Tesla K20 —  Mạnh hơn 10 lần so với trước khi nâng cấp —  Mức tiêu thụ năng lượng giảm (từ 6.950 kW xuống 5.142 kW) —  Không gian chứa máy cũng thu nhỏ hơn Assoc. Prof. Tran Van Lang, PhD 58 TÍNH TOÁN SONG SONG Assoc. Prof. Tran Van Lang, PhD 59 •  Máy tính, thiết bị •  Hệ thống siêu máy tính •  Một máy tính với nhiều năng lực •  Môi trường pháp triển •  Công cụ lập trình •  Ngôn ngữ Nhu cầu —  Máy tính ngày nay có tốc độ xử lý khá nhanh. Tuy nhiên, nhu cầu của con người vẫn vô chừng. —  Chẳng hạn, ¡  Mô hình hoá quá trình tự nhiên, mô phỏng trong các lĩnh vực: ÷  Khoa học, ÷  Kỹ thuật, ÷  Kinh tế Assoc. Prof. Tran Van Lang, PhD 60 16 Assoc. Prof. Tran Van Lang, PhD 61 —  Bài toán cần xử lý một lượng lớn dữ liệu: ¡  Khai khoáng dữ liệu (Data Mining), ¡  Thị giác máy tính (Computer Vision), ¡  Xử lý ảnh (Image Processing), ¡  v.v —  Dạng những bài toán dự báo, với đòi hỏi phải hoàn thành và đưa ra kết quả vào một thời điểm hợp lý cụ thể nào đó. Minh họa nhu cầu —  Với bài toán dự báo thời tiết, khí quyển được mô hình hoá bằng cách phân chia thành những miền hay thành những phần tử 3-chiều. —  Sử dụng các phương trình toán học để tìm ra nhiệt độ, áp suất, độ ẩm, tốc độ và hướng gió. Assoc. Prof. Tran Van Lang, PhD 62 Bài báo trên Linux Journal (1999) Assoc. Prof. Tran Van Lang, PhD 63 Ngày xưa đó Assoc. Prof. Tran Van Lang, PhD 64 17 —  Với một vùng 5 x 108 phần tử, trong đó giả sử mỗi phần tử tính toán cần 200 phép tính (floating point operation), —  Suy ra mỗi thời điểm cần 200 x 5 x 108 = 1011 phép tính. Assoc. Prof. Tran Van Lang, PhD 65 —  Khi đó, nếu cần dự báo kết quả sau 10 ngày, và 10 phút một lần tính —  Chúng ta cần 60 x 24 x 10/10 = 1440 bước thời gian, —  Nên số phép tính là 1440 x 1011. —  Cần khoảng 1,44 x 1014 phép tính. Assoc. Prof. Tran Van Lang, PhD 66 —  Với máy tính thực hiện 100 MFlops (102 Mega floating point operations/second = 108 Flop/s), —  Phải cần đến 1,44 x 106 second mới tính toán xong (khoảng 17 ngày đêm). —  Như vậy, sau 17 ngày mới biết được kết quả của ngày thứ 10. Assoc. Prof. Tran Van Lang, PhD 67 —  Nếu yêu cầu đặt ra là phải thực hiện tính toán trong vòng 1giờ = 3600 giây, —  Phải có máy thực hiện 1,44 x 1014/3600 = 0,4 x 1011 phép tính trên giây (= 40 GFlop/s = 40 tỷ phép tính trên giây). Assoc. Prof. Tran Van Lang, PhD 68 18 Assoc. Prof. Tran Van Lang, PhD 69 —  IBM Deep Blue chỉ có khả năng 11,38 GFlops. Một minh họa khác Assoc. Prof. Tran Van Lang, PhD 70 —  Trong các hệ thống render với hình ảnh 3-chiều —  Giả sử có 1024 x 1024 x 1024 = 109 pixel cần phải xử lý. Mỗi pixel cần 200 phép tính —  Để hình chuyển động cần có 30 khung hình (frames) trên một giây. —  Như vậy, cần 200 x 30 x 109 = 6 x 1012 phép tính trên một giây. —  Suy ra, với máy tính có khả năng xử lý 100 MFlops (108 phép tính trên giây), máy tính này phải có 105 bộ xử lý. Assoc. Prof. Tran Van Lang, PhD 71 Parallel Computing —  Như vậy để giải quyết được vấn đề đặt ra, thay vì tăng tốc độ tính toán của máy tính - điều này phải được thực hiện trong nhiều năm, —  Người ta sử dụng cùng một lúc nhiều bộ xử lý (multi-processor). Assoc. Prof. Tran Van Lang, PhD 72 19 —  Khi đó toàn bộ bài toán sẽ phân ra thành nhiều phần thực hiện theo cách song song, mỗi phần được thực thi bởi một bộ xử lý riêng. —  Việc giải quyết bài toán theo cách như vậy được gọi là thực hiện các vấn đề tính toán song song (parallel computing). Assoc. Prof. Tran Van Lang, PhD 73 —  Sự phát triển mạng các máy tính nối kết lại làm thay đổi bộ mặt của lĩnh vực tính toán. —  Từ tốc độ 10 Mbps, băng thông kết nối có thể vượt tốc độ Giga (Gigabit Ethernet, Infiniband, Myrinet, Quadric, v.v... ) Assoc. Prof. Tran Van Lang, PhD 74 Assoc. Prof. Tran Van Lang, PhD 75 •  Đã nẩy sinh một hướng mới trong lĩnh vực tính toán song song, •  Đó là Network Computing, mà ngày nay người ta thường gọi là Distributed Computing, Assoc. Prof. Tran Van Lang, PhD 76 —  Và từ đầu năm 2000, có tính toán lưới (Grid Computing), rồi Cloud Computing, Sky Computing (Grid of Clouds) 20 —  Siêu máy tính trong những thập kỷ qua cũng biến đổi dần để tích hợp các hệ thống phân tán. —  Từ một máy tính gồm nhiều bộ xử lý, biến đổi thành mạng nhiều máy tính có nhiều bộ xử lý. Assoc. Prof. Tran Van Lang, PhD 77 —  Theo số liệu 6/2003, ¡  Trong số 500 máy nhanh nhất thế giới, có 149 hệ thống dạng Cluster (hệ thống nhóm máy mạng). ¡  Trong số 149 hệ này có 23 máy tự làm (self-made). Assoc. Prof. Tran Van Lang, PhD 78 Tháng 6/2012 Assoc. Prof. Tran Van Lang, PhD 79 —  Trong 500 máy, có 462 máy dùng Hệ điều hành Linux ¡  Trong đó, có các máy từ 1 đến 24 MỘT SỐ KHÁI NIỆM Assoc. Prof. Tran Van Lang, PhD 80 21 Lantency và Bandwidth —  Latency và Bandwidth là 2 tiêu chuẩn để xác định hiệu năng của một hệ thống máy tính. ¡  Bandwidth là tốc độ mà dữ liệu có thể đưa vào từ bộ nhớ đến bộ xử lý. ¡  Latency là thời gian chờ để nhận được dữ liệu khi dữ liệu đã chuyển đi. Assoc. Prof. Tran Van Lang, PhD 81 —  Bandwidth cho biết số lượng phép tính thực hiện được, còn Latency là thời gian bị trể. Latency sẽ làm ảnh hưởng đến hệ thống. Ví dụ ¡  Giả sử vòi phun nước sẽ phun nước sau 5 giây kể từ khi mở van, điều đó có nghĩa Latency là 5 giây. ¡  Nếu vòi phun với tốc độ 2 gallon/giây, điều đó có nghĩa Bandwidth là 2 gallon/giây. Assoc. Prof. Tran Van Lang, PhD 82 Một xu hướng khác —  Khi tính tích vô hướng của 2 vector trên hệ thống có Latency là 100 ns. —  Một phép toán đòi hỏi phải nạp 1 dữ liệu vào bộ nhớ, —  Nên tốc độ tối đa của tính toán này bị giới hạn bởi 1 phép tính trên mỗi 100 ns = 102 x 10-9 giây = 10-7 giây. Assoc. Prof. Tran Van Lang, PhD 83 —  Khi đó máy tính bị giới hạn bởi 1 giây chỉ thực hiện được 1/10-7 phép tính = 10 MFlops. —  Trường hợp nếu có Cache memory với latency là 1 ns (giả sử rằng bộ nhớ cache vừa đủ để chứa dữ liệu). —  Khi đó khả năng tăng lên là 1 GFlops. Assoc. Prof. Tran Van Lang, PhD 84 22 Assoc. Prof. Tran Van Lang, PhD 85 —  Máy tính Multi-core Processor ra đời với sự khai thác triệt để Cache memory này. —  Chẳng hạn, ¡  với Dual-Core thì có 2 Cache Memory riêng biệt cho mỗi core, ¡  nhưng với Core 2 Dual thì có chung 1 Cache Memory cho cả 2 core PLATFORM TÍNH TOÁN SONG SONG THÔNG DỤNG Chương 2: Assoc. Prof. Tran Van Lang, PhD 86 —  Có 2 platform song song được quan tâm: ¡  Cấu trúc điều khiển ¡  Mô hình giao tiếp Assoc. Prof. Tran Van Lang, PhD 87 1. Cấu trúc điều khiển —  Một tác vụ song song (parallel task) có thể được chỉ định ở những cấp độ phân chia khác nhau, có thể, ¡  Mỗi chương trình trong tập hợp các chương trình có thể được xem như một tác vụ song song. ¡  Những câu lệnh riêng lẽ trong một chương trình có thể coi như một tác vụ song song. Assoc. Prof. Tran Van Lang, PhD 88 23 —  Đơn vị xử lý hay phần tử xử lý (PE-Processing Element) trong máy tính song song được điều khiển một cách độc lập bởi, hoặc ¡  CPU của một bộ phận điều khiển riêng lẽ, ¡  Hoặc, một hành động (work) riêng lẽ. Assoc. Prof. Tran Van Lang, PhD 89 —  Trong kiến trúc SIMD (Single Instruction stream, Multiple Data stream) đơn vị điều khiển riêng lẽ gửi cùng câu lệnh đến các bộ xử lý. —  Khi đó cùng câu lệnh được thực thi một cách đồng thời trên các bộ phận xử lý. Assoc. Prof. Tran Van Lang, PhD 90 Kiến trúc SIMD Assoc. Prof. Tran Van Lang, PhD 91 Kiến trúc MIMD —  Tương phản với SIMD, kiến trúc MIMD (Multiple Instruction stream, Multiple Data stream) cho phép mỗi đơn vị xử lý thi hành những chương trình khác nhau. Assoc. Prof. Tran Van Lang, PhD 92 24 So sánh SIMD và MIMD —  Máy tính SIMD đòi hỏi ít phần cứng hơn máy MIMD bởi chỉ có 1 đơn vị điều khiển chung (Global Control Unit). —  Hơn nữa máy SIMD đòi hỏi ít bộ nhớ bởi chỉ cần một bản sao của chương trình. —  Ngược lại, máy tính MIMD lưu trữ chương trình và hệ điều hành ở các bộ xử lý. Assoc. Prof. Tran Van Lang, PhD 93 2. Mô hình giao tiếp —  Có hai dạng trao đổi dữ liệu cơ bản giữa các tác vụ song song: ¡  Truy cập không gian dữ liệu chung (accessing a shared data space). ¡  Trao đổi thông điệp (exchanging message) Assoc. Prof. Tran Van Lang, PhD 94 a) Không gian địa chỉ chung —  Platform song song hỗ trợ một không gian dữ liệu chung được truy cập bởi tất cả các bộ xử lý. —  Các bộ xử lý tương tác với nhau qua việc sửa đổi các đối tượng dữ liệu lưu trữ trong không gian địa chỉ này (shared-address-space). Assoc. Prof. Tran Van Lang, PhD 95 —  Platform không gian địa chỉ chung hỗ trợ việc lập trình SPMD (Single Program Multi Data) như multiprocessor. Assoc. Prof. Tran Van Lang, PhD 96 25 b) Trao đổi thông điệp —  Về mặt luận lý, platform chuyển thông điệp (Message-Passing) bao gồm nhiều nút xử lý (Processing Node), mỗi nút sở hữu một không gian địa chỉ riêng. —  Mỗi nút có thể hoặc là một bộ xử lý đơn hoặc đa xử lý với không gian địa chỉ chung. Assoc. Prof. Tran Van Lang, PhD 97 —  Xu hướng hiện nay là phát triển máy tính song song dạng chuyển thông điệp (Message-Passing Parallel Computer). —  Clustered Workstation hoặc Non-Shared Address Space Multicomputer là những ví dụ về platform chuyển thông điệp. Assoc. Prof. Tran Van Lang, PhD 98 —  Trên platform này, sự tương tác giữa các tiến