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
28 trang |
Chia sẻ: candy98 | Lượt xem: 765 | Lượt tải: 1
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