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