Nội dung chinh
2
Tính toán song song và phân tán (Parallel and Distributed Computing)
Xây dựng thuật giải song song.
1
Đánh giá về độ phức tạp của thuật toán song song
PGS.TS. TRẦN VĂN LĂNG
Tính số phần tử xử lý tối ưu cần thiết.
ngôn ngữ C/C++ trên hệ thống phân tán.
Hiện thực chương trình tính toán song song bằng
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
Tài liệu đọc thêm
3
Chương 1
4
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)
GIỚI THIỆU CHUNG
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
Assoc. Prof. Tran Van Lang, PhD
1
Một ít về lịch sử
5
6
xuất siêu máy tính cho Los Alamos National Laboratory (LANL),
Năm 1956, IBM bắt đầu dự án STRETCH để sản 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).
trị an toàn về năng lượng hạt nhân.
Máy tính này sử dụng cho Phòng thí nghiệm Quản
Tốc độ xử lý gấp 100 lần máy cùng thời.
Năm 1959, máy tính STRETCH và LARC ra đời
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
Một vài bài viết
2. Sự phát triển máy tính nhanh nhất
7
8
Căn cứ vào chuẩn LINPACK do Giáo sư Jack Dongara đưa ra
Journal, Vol.1, pp.2-10, 1958.
Chuẩn được dùng trong
S. Gill, Parallel Programming, The Computer
LINPACK là giải hệ phương trình tuyến tính dày đặc.
Executing an Arbitrary Number of Subprograms Simultaneously, Proceeding East Joint Computer Conference, Vol.16, pp.108-113, 1959.
J. Holland, A Universal Computer Capable of
Proceeding AFIPS Fall Joint Computer Conference, Vol.4, pp.139-146, 1963
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 – http://www.top500.org)
M.E. Conway, A Multiprocessor System Design,
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
2
Đơn vị đo
Độ đo lý thuyết và cực đại
9
10
1 Pflop/s (PetaFlop/s) = 1.000 Tflop/s 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.
1 Tflop/s (TetraFlop/s)= 1.000 Gflop/s
¡ Chẳng hạn, máy với 1.5 GHz có thể hoàn thành 4 phép
1 Gflop/s (GigaFlop/s) = 1.000 Mflop/s
tính trong một cycle, thì hiệu suất lý thuyết là 6 GFlop/s
1 Mflop/s (MegaFlop/s) = 1.000 Kflop/s
được theo chuẩn LINPACK
1 Kflop/s (KiloFlop/s) = 1.000 Flop/s Rmax: là độ đo cực đại mà máy tính có thể thực hiện 1 Flop/s = 1 Floating Point Operation per Second
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
Benchmark for Distributed-Memory Computers
LINPACK Benchmark
11
12
Performance Linpack)
Để cài đặt, có thể dùng phần mềm HPL (High-
Địa chỉ http://www.netlib.org/benchmark/hpl/
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
3
Máy nhanh nhất vào 11/2004
13
14
BlueGene/L DD2 beta-System (0.7 GHz PowerPC 440)
¡ 70,72 Tflops (70.720.000.000.000 flops)
¡ 216 = 65,536 compute nodes
5 máy nhanh nhất 11/2004
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
Tháng 11/2005
Tháng 6/2006
15
16
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
4
Tốc độ phát triển
Tháng 11/2006
17
18
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
Tháng 6/2007
Tháng 11/2008
19
20
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
Mạnh nhất: máy Roadrunner
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
5
11/2008
21
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
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
11/2009
Tháng 6/2010
23
24
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
6
Tháng 11/2010
Tháng 6/2011
25
26
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
Tháng 11/2011
27
28
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
7
29
30
giây (10,51 Petaflops)
Thực hiện hơn 10,51 nghìn tỷ phép tính trên mỗi
Máy có 705.024 SPARC64 Core
Vào tháng 11/2010, K Computer xếp hạng 172. 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
Assoc. Prof. Tran Van Lang, PhD
K Computer, Fujitsu
Máy nhanh nhất 6/2012
31
32
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
8
33
34
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
Assoc. Prof. Tran Van Lang, PhD
10 máy tính mạng của 6/2012
35
36
(hơn 20 ngàn tỉ phép tính trong một giây).
Về lý thuyết, khoảng 20.132.659.200.000 Flop/s
16.324.751.000.000 Flop/s
Độ đo cực đại theo chuẩn LinPack:
nhưng năng lượng tiêu thụ lại ít hơn
Số core nhiều gấp đôi so với máy đứng thứ nhì,
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
9
3. Xu hướng máy tính
Năng lực hệ thống máy
37
38
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
đế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:
¡ Volunteer Computing
¡ Grid Computing
¡ 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
¡ Cloud Computing
¡ Sky Computing
Có 2 xu hướng thế giới đang đẩy mạnh liên quan
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
Năng lực nội tại của một máy tính
39
40
¡ Nguồn năng lượng cung cấp không tăng lên
¡ Có được nhiều bộ xử lý,nhưng không tốn nhiều năng
¡ Toả nhiệt cũng không nhiều hơn
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 Hai hướng phát triển chính:
Netbook
Laptop
Desktop
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
10
Multi - Cores
41
42
Istanbul.
Từ tháng 6/2009, AMD đưa ra bộ xử lý 6 core tên
Trên Laptop hoặc Netbook, thay vì Multi- Tốc độ tăng gấp 34% so với Opteron 4 core
Processor, chuyển sang Single-Processor nhưng với Multi-Core
có đến 16 core.
Từ 2009, Intel có những dự kiến thiết kế bộ xử lý
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
43
44
II X6, Inter Core i7 Extreme Edition 980X)
II X2, Intel Core Duo)
Hexa-core processor: Có 6 core (AMD Phenom Dual-core processor: Có 2 core (AMD Phenom
II X4, the Intel 2010)
Octa-core processor: Có 8 core (AMD FX-8150) Quad-core processor: Có 4 core (AMD Phenom
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
11
Hyper-Threading
4. Phần mềm & Lập trình
45
46
Xu hướng
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ý.
Phần cứng
Phần mềm
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
Assoc. Prof. Tran Van Lang, PhD
Phần mềm
OpenCL
47
48
thiểu cũng là Dual Core.
Hiện nay, các máy tính hầu như có nhiều core. Tối
ngay cả hệ điều hành.
Phần mềm khai thác năng lực này chưa có nhiều,
• Trong Max OS X Lion, OpenCL
được hỗ trợ nhiều hơn. • Sử dụng IDE Xcode để lập
Bộ phần mềm Intel Parallel Studio được tích hợp vào Microsoft Visual Studio
trình
Hãng Apple, từ 9/2009 cung cấp hệ điều hành Snow Leopard tích hợp OpenCL (Open Computing Language)
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
12
GPU
50
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.
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)
Group với sự tham gia của nhiều công ty và tổ chức lớn trên thế giới
Được tạo ra bởi Khronos
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
CPU & GPU
Ngôn ngữ lập trình trên GPU
51
52
chương trình khai thác GPU.
Vấn đề đặt ra, ngôn ngữ lập trình nào để giúp tạo 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ó.
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
Assoc. Prof. Tran Van Lang, PhD
13
53
54
song.
CUDA: thực chất là một mô hình lập trình song
Windows, Linux, Mac OS X
¡ CUDA Toolkit 5.0
Có phiên bản cho các platform khác nhau như
https://developer.nvidia.com/cuda-downloads
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
Ứng dụng đã có với CUDA
Tiết kiệm điện năng tiêu thụ
55
56
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
14
57
58
của những GPU Nviadia Tesla K20
Máy tính xếp thứ 6 (6/2012) sử dụng sức mạnh
Mạnh hơn 10 lần so với trước khi nâng cấp
TÍNH TOÁN SONG SONG
5.142 kW)
Mức tiêu thụ năng lượng giảm (từ 6.950 kW xuống
Không gian chứa máy cũng thu nhỏ hơn
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
Nhu cầu
59
60
nhiên, nhu cầu của con người vẫn vô chừng.
• Hệ thống siêu máy tính
Máy tính ngày nay có tốc độ xử lý khá nhanh. Tuy • Máy tính, thiết bị
• Một máy tính với nhiều năng lực
¡ Mô hình hoá quá trình tự nhiên, mô phỏng trong các lĩnh
Chẳng hạn,
vực:
÷ Khoa học,
• Công cụ lập trình
÷ Kỹ thuật,
• Ngôn ngữ
÷ Kinh tế
• Môi trường pháp triển
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
15
Minh họa nhu cầu
62
61
¡ Khai khoáng dữ liệu (Data Mining),
Bài toán cần xử lý một lượng lớn dữ liệu:
¡ Thị giác máy tính (Computer Vision),
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.
¡ Xử lý ảnh (Image Processing),
độ, áp suất, độ ẩm, tốc độ và hướng gió.
¡ v.v…
Sử dụng các phương trình toán học để tìm ra nhiệt
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 đó.
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
Bài báo trên Linux Journal (1999)
Ngày xưa đó
64
63
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
16
65
66
và 10 phút một lần tính
phần tử tính toán cần 200 phép tính (floating point operation),
Với một vùng 5 x 108 phần tử, trong đó giả sử mỗi Khi đó, nếu cần dự báo kết quả sau 10 ngày,
thời gian,
tính.
Chúng ta cần 60 x 24 x 10/10 = 1440 bước Suy ra mỗi thời điểm cần 200 x 5 x 108 = 1011 phép
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
Assoc. Prof. Tran Van Lang, PhD
67
68
floating point operations/second = 108 Flop/s),
trong vòng 1giờ = 3600 giây,
Với máy tính thực hiện 100 MFlops (102 Mega Nếu yêu cầu đặt ra là phải thực hiện tính toán
(khoảng 17 ngày đêm).
phép tính trên giây (= 40 GFlop/s = 40 tỷ phép tính trên giây).
Phải cần đến 1,44 x 106 second mới tính toán xong Phải có máy thực hiện 1,44 x 1014/3600 = 0,4 x 1011
ngày thứ 10.
Như vậy, sau 17 ngày mới biết được kết quả của
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
17
Một minh họa khác
69
70
xử lý. Mỗi pixel cần 200 phép tính
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
(frames) trên một giây.
Để hình chuyển động cần có 30 khung hình
IBM Deep Blue chỉ có khả năng 11,38 GFlops.
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
Parallel Computing
71
72
trên một giây.
Như vậy, cần 200 x 30 x 109 = 6 x 1012 phép tính
MFlops (108 phép tính trên giây), máy tính này phải có 105 bộ xử lý.
Suy ra, với máy tính có khả năng xử lý 100 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,
(multi-processor).
Người ta sử dụng cùng một lúc nhiều bộ xử lý
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
18
73
74
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.
Sự phát triển mạng các máy
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.
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... ) 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
Assoc. Prof. Tran Van Lang, PhD
75
76
Computing), rồi Cloud Computing, Sky Computing (Grid of Clouds)
• Đã 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,
Và từ đầu năm 2000, có tính toán lưới (Grid
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
19
77
78
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).
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.
¡ Trong số 149 hệ này có 23 máy
tự làm (self-made).
nhiều bộ xử lý, biến đổi thành mạng nhiều máy tính có nhiều bộ xử lý.
Từ một máy tính gồm
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
Tháng 6/2012
79
80
MỘT SỐ KHÁI NIỆM
¡ Trong đó, có các máy từ 1
đến 24
Trong 500 máy, có 462 máy dùng Hệ điều hành Linux
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
20
Lantency và Bandwidth
81
82
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ớ
Latency và Bandwidth là 2 tiêu chuẩn để xác định
đến bộ xử lý.
¡ Giả sử vòi phun nước sẽ phun nước sau 5 giây kể từ khi
¡ Latency là thời gian chờ để nhận được dữ liệu khi dữ liệu
mở van, điều đó có nghĩa Latency là 5 giây.
đã chuyển đi.
¡ Nếu vòi phun với tốc độ 2 gallon/giây, điều đó có nghĩa
Bandwidth là 2 gallon/giây.
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ụ
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
Một xu hướng khác
83
84
có Latency là 100 ns.
được 1/10-7 phép tính = 10 MFlops.
Khi tính tích vô hướng của 2 vector trên hệ thống Khi đó máy tính bị giới hạn bởi 1 giây chỉ thực hiện
nhớ,
Một phép toán đòi hỏi phải nạp 1 dữ liệu vào bộ
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. 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
Assoc. Prof. Tran Van Lang, PhD
21
85
Chương 2:
86
thác triệt để Cache memory này.
Máy tính Multi-core Processor ra đời với sự khai
Chẳng hạn,
P L A T F O R M T Í N H T O Á N S O N G S O N G T H Ô N G DỤN G
¡ 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
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
1. Cấu trúc điều khiển
87
88
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ể,
¡ Cấu trúc điều khiển
¡ Mỗi chương trình trong tập hợp các chương trình có thể
¡ Mô hình giao tiếp
đượ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.
Có 2 platform song song được quan tâm:
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
22
89
90
¡ CPU của một bộ phận điều khiển riêng lẽ,
thời trên các bộ phận xử lý.
¡ Hoặc, một hành động (work) riêng lẽ.
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ý. Đơ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 Khi đó cùng câu lệnh được thực thi một cách đồng
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
Kiến trúc SIMD
Kiến trúc MIMD
91
92
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.
Tương phản với SIMD, kiến
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
23
So sánh SIMD và MIMD
2. Mô hình giao tiếp
93
94
song song:
Có hai dạng trao đổi dữ liệu cơ bản giữa các tác vụ
¡ Truy cập không gian dữ liệu chung (accessing a shared
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).
data space).
một bản sao của chương trình.
¡ Trao đổi thông điệp (exchanging message)
Hơn nữa máy SIMD đòi hỏi ít bộ nhớ bởi chỉ cần
và hệ điều hành ở các bộ xử lý.
Ngược lại, máy tính MIMD lưu trữ chương trình
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
a) Không gian địa chỉ chung
95
96
chung được truy cập bởi tất cả các bộ xử lý.
Platform song song hỗ trợ một không gian dữ liệu
các đối tượng dữ liệu lưu trữ trong không gian địa chỉ này (shared-address-space).
Các bộ xử lý tương tác với nhau qua việc sửa đổi 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
Assoc. Prof. Tran Van Lang, PhD
24
b) Trao đổi thông điệp
97
98
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).
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.
xử lý với không gian địa chỉ chung.
Mỗi nút có thể hoặc là một bộ xử lý đơn hoặc đa 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
Assoc. Prof. Tran Van Lang, PhD
99
100
Hầu hết mẫu chuyển thông điệp hỗ trợ việc thi hành chương trình khác nhau trên các nút. Trên platform này, sự tương tác giữa các tiến trình (process) thực thi trên các nút khác nhau thông qua việc chuyển các thông điệp.
Việc trao đổi thông điệp ở đây có thể dùng để
truyền dữ liệu, chuyển công việc và cũng để đồng bộ hoá hành động trong các tiến trình.
Việc tương tác được thực hiện bởi việc gửi và nhận thông điệp, nên các thao tác cơ bản trong mẫu lập trình này Send và Receive.
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
25
101
102
Với 4 yếu tố cơ bản (Send, Receive, ID, NumProc),
có thể dùng để viết bất kỳ một chương trình chuyển thông điệp nào.
address duy nhất, thường gọi đó là Identify (ID).
Các thao tác này cần phải chỉ định một target
tiến trình tham gia vào hoạt động.
Ngoài ra cần có thêm số gọi là numproc để chỉ số
Các API – Application Programming Interface – như MPI (Message-Passing Interface) và PVM (Parallel Virtual Machine) thường dùng trong việc này.
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
II. Grid Computing
103
104
số lượng máy tính ngày càng nhiều.
supercomputer mạnh.
Ngoài ra, do mạng toàn cầu ngày càng phát triển, Trong thời đại ngày nay, bên cạnh việc sử dụng các
lớn.
mạnh, còn tập hợp thêm các cluster.
Có thể coi mạng toàn cầu như một hệ thống cluster Những supercomputer này ngoài những máy tính
Từ đó khái niệm Grid Computing ra đời.
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
26
105
106
"hệ điều hành riêng" để quản trị:
Global Cluster.
Để có một hệ thống các cluster, cần phải có những Như vậy, Grid Computing có thể xem như là một
vậy, việc quản trị một hệ thống gồm nhiều cluster được đặt ra.
Tuy nhiên, do sự kết nối các cluster riêng lẽ như
¡ Globus Toolkit (http://www.globus.org The Globus Toolkit is an open source software toolkit used for building Grid systems and applications. It is being developed by the Globus Alliance and many others all over the world)
¡ gLite ("gee-lite" http://glite.web.cern.ch/glite)
cũng phải phù hợp.
Bên cạnh đó, những chính sách, quy định sử dụng
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
Cloud Computing
107
108
Là một dạng điện toán
¡ gLite (http://glite.web.cern.ch/glite gLite is the next
(computing) với nguồn tài nguyên động và phong phú được cung cấp như là những dịch vụ thông qua môi trường Internet
generation middleware for grid computing. Born from the collaborative efforts of more than 80 people in 12 different academic and industrial research centers as part of the EGEE Project
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
27
109
110 Hiện nay, những công ty lớn đã tập trung nhiều dự
án liên quan đến Cloud Computing.
¡ Bluehouse: Môi trường Social Networking
kiến thức, kinh nghiệm và cả những hiểu biết về hạ tầng công nghệ liên quan trong “đám mây” này.
¡ Lotus Sametime Unyte: Tạo ra Web Conference
Người dùng trong trường hợp này không cần có Một số dịch vụ Cloud Computing của IBM như:
¡ Telelogic Focal Point: Hỗ trợ quản lý software
¡ IaaS (Infrastructure as a Service)
¡ v.v...
¡ PaaS (Platform as a Service)
¡ SaaS (Software as a Service)
Những khái niệm hợp thành như:
Assoc. Prof. Tran Van Lang, PhD
Assoc. Prof. Tran Van Lang, PhD
28