1. Trang chủ
  2. » Giáo Dục - Đào Tạo

HỆ THỐNG TÍNH TOÁN HIỆU NĂNG CAO và ỨNG DỤNG TRONG PHÂN TÍCH và xử lý dữ LIỆU

114 391 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 114
Dung lượng 3,33 MB

Nội dung

Đặt vấn đề Trong vài năm trở lại đây, tính toán hiệu năng cao High Performance Computing - HPC nổi lên như một lĩnh vực nghiên cứu, thu hút sự quan tâm của các viện nghiên cứu cũng như

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

VIỆN ĐẠI HỌC MỞ HÀ NỘI

LUẬN VĂN THẠC SỸ

CHUYÊN NGÀNH: KỸ THUẬT VIỄN THÔNG

HỆ THỐNG TÍNH TOÁN HIỆU NĂNG CAO VÀ ỨNG DỤNG TRONG PHÂN TÍCH VÀ XỬ LÝ DỮ LIỆU

LÊ THUẬN HUỲNH

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO

VIỆN ĐẠI HỌC MỞ HÀ NỘI

LUẬN VĂN THẠC SỸ

HỆ THỐNG TÍNH TOÁN HIỆU NĂNG CAO VÀ ỨNG DỤNG TRONG PHÂN TÍCH VÀ XỬ LÝ DỮ LIỆU

LÊ THUẬN HUỲNH

CHUYÊN NGÀNH: KỸ THUẬT VIỄN THÔNG

MÃ SỐ: 8520208

HƯỚNG DẪN KHOA HỌC : TS.NGUYỄN HOÀI GIANG

HÀ NỘI - 2017

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của bản thân, được xuất phát

từ yêu cầu phát sinh trong quá trình làm luận văn Các tài liệu có nguồn gốc rõ ràng, tuân thủ đúng nguyên tắc, kết quả trình bày trong luận văn là kết quả quá trình nghiên cứu trung thực, chưa từng được ai công bố trước đây

Hà Nội, tháng 12 năm 2017

Tác giả luận văn

Lê Thuận Huỳnh

Trang 4

LỜI CẢM ƠN

Trong quá trình thực hiện luận văn, tôi xin chân thành cảm ơn sự giúp đỡ của các thầy, cô trong Khoa Sau đại học - Viện Đại học mở Hà Nội, đặc biệt là sự

hướng dẫn tận tình của thầy giáo TS Nguyễn Hoài Giang để tôi có thể hoàn thành

được đề tài này

Tôi cũng xin cảm ơn các anh chị em học viên lớp 15M-VT2, khóa

2015-2017, Khoa sau đại học, Viện Đại học mở đã ủng hộ và giúp đỡ tôi trong quá trình học tập cũng như thực hiện luận văn này

Cuối cùng tôi xin gửi lời cảm ơn đến các thầy cô, các tác giả của các tài liệu tham khảo mà tôi đã sử dụng trong quá trình thực hiện đề tài

Xin chân thành cảm ơn!

Trang 5

MỤC LỤC

DANH MỤC CÁC CHỮ VIẾT TẮT 7

DANH MỤC CÁC BẢNG BIỂU 9

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 10

MỞ ĐẦU 1

CHƯƠNG 1: TỔNG QUAN VỀ ĐIỆN TOÁN HIỆU NĂNG CAO 3

1.1 Lịch sử phát triển và các thành tựu 3

1.1.1 Các siêu máy tính đầu tiên (1940 - 1960) 3

1.1.2 Các thế hệ HPC Cray từ 1975 đến 1990 3

1.1.3 Các hệ thống HPC kiến trúc cụm từ 1990 đến 2010 4

1.1.4 Các hệ thống HPC kiến trúc tích hợp GPGPU và các lai ghép từ 2010 đến nay 5

1.2 Ưu nhược điểm của hệ thống tính toán hiệu năng cao 6

1.2.1 Định nghĩa tính toán hiệu năng cao 6

1.2.2 Ưu nhược điểm của hệ thống tính toán hiệu năng cao 7

1.3 Các ứng dụng của HPC 8

1.3.1 Các lĩnh vực ứng dụng 8

1.3.2 Nhu cầu ứng dụng HPC 9

1.4 Kiến trúc tính toán song song 9

1.4.1 Đặc tính song song của HPC 9

1.4.2 Khái niệm tính toán song song 10

1.4.3 Công thức mức tăng tốc của thực hiện song song 13

1.4.4 Phân tích hiệu năng của thực hiện song song 14

Trang 6

CHƯƠNG 2: KIẾN TRÚC CỦA HỆ THỐNG MÁY TÍNH HIỆU NĂNG CAO

VÀ NGUYÊN LÝ 33

2.1 Kiến trúc hệ thống tính toán hiệu năng cao 33

2.1.1 Phân loại kiến trúc máy tính theo Flynn 33

2.1.2 Phân loại cấu trúc máy tính 37

2.1.3 Phân loại cấu hình kết nối của mạng kết nối N 39

2.1.4 Kiến trúc của các hệ thống HPC 41

2.1.5 Các cấu hình mạng cluster của các hệ thống HPC 43

2.2 Nguyên lý hoạt động của HPC 48

2.2.1 HPC là giải pháp cho nhu cầu tính toán 48

2.2.2 Nguyên lý hoạt động của HPC 50

2.3 Mô hình triển khai HPC 50

2.3.1 Các nguyên tắc để xây dựng HPC 50

2.3.2 Mô hình triển khai HPC 52

2.4 Các bước xây dựng hệ thống HPC 52

2.4.1 Bước 1: Xác định cấu hình thiết kế HPC 52

2.4.2 Bước 2: Lựa chọn công nghệ thiết bị và các tài nguyên cần thiết 52

2.4.3 Bước 3: Tính toán hiệu năng lý thuyết của HPC 53

2.4.4 Bước 4: Xây dựng các nút máy tính của HPC 53

2.4.5 Bước 5: Cài đặt mạng các nút trong từng tủ của HPC 54

2.4.6 Bước 6: Cài đặt mạng HPC 54

2.4.7 Bước 7: Cấu hình toàn bộ HPC 54

2.4.8 Bước 8: Chạy đo kiểm tốc độ của HPC 54

Trang 7

2.5 Các mô hình kết nối cụm HPC thông dụng 55

2.5.1 Các cấu hình fat tree cluster của HPC 55

2.5.2 Một số ví dụ cấu hình fat tree cluster của HPC 57

2.5.3 Tốc độ tính toán của kiến trúc cụm HPC 62

CHƯƠNG 3: ỨNG DỤNG HỆ THỐNG TÍNH TOÁN HIỆU NĂNG CAO TRONG PHÂN TÍCH XỬ LÝ DỮ LIỆU 65

3.1 Bài toán dữ liệu lớn (big data) 65

3.1.1 Khái niệm dữ liệu lớn 65

3.1.2 Định nghĩa dữ liệu lớn 66

3.1.3 Đặc trưng của dữ liệu lớn 67

3.1.4 Sự ưu việt của giải pháp dữ liệu lớn 68

3.1.5 Bài toán dữ liệu lớn 69

3.1.6 So sánh bài toán xử lý dữ liệu lớn với bài toán xử lý dữ liệu truyền thống 71

3.2 Ứng dụng của hệ thống HPC trong phân tích và xử lý dữ liệu 74

3.2.1 Đặc điểm của HPC đảm bảo cho thực hiện bài toán dữ liệu lớn 74

3.2.2 Ứng dụng của HPC bài toán phân tích dữ liệu lớn 75

3.2.3 Kiến trúc ứng dụng hệ thống HPC trong bài toán Big data 77

3.3 Thiết kế phần cứng và mạng làm việc 81

3.3.1 Server tích hợp Intel CPU chip và xử lý tăng tốc Nvidia GPGPU 82

3.3.2 Card Nvidia GPGPU 83

3.3.3 Nút máy tính tích hợp CPU+GPGPU trong kiến trúc cụm của HPC 84

3.3.4 Kết nối cụm HPC bằng thiết bị chuyển mạch 86

3.3.5 Tính toán hiệu năng của nút máy tính CPU+GPGPU 86

Trang 8

3.4 Phần mềm và hệ thống quản trị 87

3.4.1 CUDA của Nvidia 88

3.4.2 Hadoop 88

KẾT LUẬN VÀ ĐỊNH HƯỚNG NGHIÊN CỨU 98

TÀI LIỆU THAM KHẢO 99

Trang 9

DANH MỤC CÁC CHỮ VIẾT TẮT

Chữ viết tắt/ ký hiệu Cụm từ đầy đủ

SISD Single Instruction stream Single Data stream

MIPS Million of instructions per second

SIMD Single instruction stream multiple data stream

MISD multiple instruction, single data

MIMD Multiple Instruction, Multiple Data

FLOPS floating point operations per second

GPGPU General-purpose computing on graphics processing units

Trang 10

UPS Uninterruptible Power Supply

FDR10 Fourteen Data Rate, 10Gbit/s per lane

Trang 11

DANH MỤC CÁC BẢNG BIỂU

Bảng 1.1: Top 10 siêu máy tính tính đến 10/2017 5

Bảng 2.1: Các đặc tính của Infiniband 46

Bảng 2.2: Ảnh hưởng của công nghệ mạng và kích thước cluster 63

Bảng 3.1: Các module GPU "Tesla" lớp M của Nvidia 83

Trang 12

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ

Hình 1.1: Mảng tuyến tính hai chiều gồm n bộ xử lý 11

Hình 1.2: Đồ thị với Overhead của xử lý song song được đưa vào 15

Hình 1.3: Diễn giải thời gian thực hiện chương trình song song 15

Hình 1.4: Luật Amdahl 17

Hình 1.5: Sự tăng tốc của một chương trình gồm 2 phần 19

Hình 1.6: Chip đa lõi đối xứng gồm n =16 lõi BCE 21

Hình 1.7: Chip đa lõi đối xứng gồm n/r = 4/4 lõi (4 lõi, mỗi lõi có 4 BCE) 21

Hình 1.8: Chip đa lõi bất đối xứng gồm một lõi 4-BCE và n-4 lõi 1-BCE 22

Hình 1.9: Chip đa lõi đa lõi linh hoạt gồm 16 lõi 1-BCE 23

Hình 1.10: Hàm định cỡ 31

Hình 2.1: Trao đổi chuỗi lệnh, dữ liệu trong một máy tính đơn giản 33

Hình 2.2: Một chuỗi lệnh một chuỗi dữ liệu SISD 34

Hình 2.3: Một chuỗi lệnh nhiều chuỗi dữ liệu SIMD 35

Hình 2.4: Nhiều chuỗi lệnh một chuỗi dữ liệu MISD 36

Hình 2.5: Nhiều chuỗi lệnh nhiều chuỗi dữ liệu MIMD 36

Hình 2.6: Hệ thống máy tính với n≥1 đơn vị xử lý và m≥0 đơn vị nhớ 38

Hình 2.7: Máy tính có bộ nhớ chia sẻ 38

Hình 2.8: Máy tính có bộ nhớ phân tán 39

Hình 2.9: Băng thông độ rộng chia đôi của mạng 41

Hình 2.10: Cây béo có nhiều nút cha 44

Hình 2.11: Cây béo phân tứ 44

Hình 2.12: Các đấu nối quá mức băng thông với switch 24-port 45

Hình 2.13: Cluster gồm 128 nút đấu theo quá mức băng thông trên GigE 45

Hình 2.14: Cluster 64 nút đấu nối quá mức băng thông 47

Hình 2.15: Cluster 128 nút đấu nối quá mức băng thông 47

Hình 2.16: Cluster cây béo 324 nút sử dụng các switch 36-port 55

Hình 2.17: Cluster 72 nút (non-blocking topology) 57

Trang 13

Hình 2.18: Mạng vòng và vòng lặp hoàn trả có khóa chết 58

Hình 2.19: Cluster cây béo 72 nút 58

Hình 2.20: Cluster cây béo 324 nút 59

Hình 2.21: Cluster cây béo 648 nút 59

Hình 2.22: Cluster cây béo 1296 nút 60

Hình 2.23: Cluster cây béo 1944 nút 61

Hình 2.24: Cluster cây béo 3888 nút 62

Hình 3.1: Xử lý hàng loạt 75

Hình 3.2: Các công nghệ xử lý hàng loạt 76

Hình 3.3: Xử lý dòng 76

Hình 3.4: Các công nghệ xử lý dòng 77

Hình 3.5: Kiến trúc HPC truyền thống cho các ứng dụng khoa học 77

Hình 3.6: Kiến trúc hệ thống HPC trong bài toán Big data 78

Hình 3.7: Phiến superServer 1U dùng cho HPC 82

Hình 3.9: Liên kết truyền thông CPU và GPGPU và giữa các GPGPU 85

Hình 3.10: Đấu nối các nút CPU+GPGPU trong cluster 85

Hình 3.11: Đấu nối hai phiến (blade) nút máy tính CPU+GPU 85

Hình 3.12: Secondary NameNode cho phục hồi NameNode [19] 92

Hình 3.13: Đếm tần xuất từ trong một văn bản 93

Hình 3.14: ResourceManager của YARN [19] 94

Trang 14

MỞ ĐẦU

1 Đặt vấn đề

Trong vài năm trở lại đây, tính toán hiệu năng cao (High Performance Computing - HPC) nổi lên như một lĩnh vực nghiên cứu, thu hút sự quan tâm của các viện nghiên cứu cũng như các doanh nghiệp lớn.Việc nghiên cứu về tính hiệu năng cao để ứng dụng trong các ngành khoa học - kỹ thuật đã và đang góp phần thay đổi cơ bản tiến trình khoa học, giúp xử lý một khối lượng lớn dữ liệu đầu vào khổng lồ hoặc các bài toán yêu cầu tính toán thời gian thực đã thực sự trở thành một vấn đề cấp thiết trong thực tế hiện nay

Cùng sự bùng nổ và phát triển mạnh mẽ của Internet trên toàn thế giới thực

sự đã tác động và có sức ảnh hưởng lớn tới mọi lĩnh vực của cuộc sống Hàng tỷ người có thể được kết nối thông tin qua những thiết bị di động có khả năng xử lý, dung lượng lưu trữ chưa từng có trước đây và khả năng tiếp cận tri thức là không có giới hạn.Hiện nay dữ liệu sinh ra từ những hoạt động khoa học, y học, đặc biệt là mạng xã hội, IoT là cực kỳ lớn, khoảng 4 zetabytes, đến năm 2020 có thể lên tới 44 zetabytes, do đó đặt ra yêu cầu về bài toán xử lý dữ liệu lớn mà các hệ thống xử lý truyền thống không thể đáp ứng được, cần có hệ thống tính toán hiệu năng cao

Hệ thống tính toán hiệu năng cao thực hiện các tính toán song song trên nhiều phần tử tính toán cho phép giải quyết các bài toán tính toán phức tạp yêu cầu tốc độ cao Hiện nay, HPC có ứng dụng trong nhiều lĩnh vực: Sinh học, Dữ liệu địa

lý, Mô hình hóa trong công nghiệp dầu khí, Tự động hóa thiết kế và chế tạo điện tử,

Mô hình hóa khí hậu, Đa phương tiện và giải trí, Nghiên cứu hàng không vũ trụ, nghiên cứu hạt nhân nguyên tử, Xử lý dữ liệu tình báo, tội phạm, thám mã trong an ninh quốc phòng: bẻ khóa mật mã

2 Nội dung của đề tài, các vấn đề cần giải quyết

Trang 15

Căn cứ vào nhận xét trên, luận văn đề ra mục tiêu tổng quát là: nghiên cứu kiến trúc, nguyên lý hoạt động và các ứng dụng của hệ thống HPC trong phân tích

và xử lý dữ liệu lớn, nhằm mục tiêu hướng tới làm chủ việc xây dựng, khai thác hệ thống HPC

Để đạt mục tiêu trên, các vấn đề chính sau đây đã được giải quyết:

- Tìm hiểuvề hệ thống HPC với các khái niệm, đặc điểm kiến trúc hệ thống, ứng dụng

- Tìm hiểu về dữ liệu lớn, đặc điểm, vai trò và lợi ích của dữ liệu lớn Làm rõ

sự cần thiết và khả năng ứng dụng hệ thống HPC giải quyết bài toán dữ liệu lớn

- Xây dựng các phương pháp thiết kế hệ thống HPC sử dụng công nghệ tích hợp Intel CPU + Nvidia GPGPU

- Thiết lập mạng kết nối các nút tính toán của HPC dùng công nghệ mạngInfiniband Tính toán hiệu năng của hệ thống HPC

- Nghiên cứu ứng dụng phần mềm mã nguồn mở Hadoop xử lý dữ liệu lớn trên hệ thống HPC

Trang 16

đã vàđang thay đổi Có thể có giai đoạn phát triển các hệ thống HPC sau đây:

1.1.1 Các siêu máy tính đầu tiên (1940 - 1960)

Bombe và Colossus (UK) (1943-1945) - các máy tính thám mã, công nghệ cơđiện tử, ứng dụng để bẻ khóa mật mã của máy Enigma (Đức quốc xã, thế chiến thứ II)

ENIAC (Electronic Numerical Integrator and Computer) (USA, 1943) - máy tính đa năng, công nghệđèn điện tử chân không, được thiết kế dựa trên các bảng tính bằng tay của pháo binh

CDC 6600 (Control Data Corporation) (USA, 1964) - dòng mainframe đa năng, công nghệđèn điện tử chân không, tốc độ thực hiện từ 500 kiloflop/s đến 1 megaflop/s - được gọi là siêu máy tính đầu tiên

ILLIAC-IV (Illinois Automatic Computer) (USA, 1966-1976, công nghệ bán dẫn, tốc độ gần 1 gigaflop/s

Trang 17

Cray Y-MP (USA, 1988): 167 MHz, 2, 4 và 8 vector processors, công nghệ

vi mạch, mỗi processor tốc độ 333 MFLOPS, bộ nhớ chia sẻ cho tất cả processors Trong những năm 1980 tốc độ của siêu máy tính đãđạt được các thiết kế chip vector processors, với kiến trúc tích hợp 2, 4, và 8 processors và bộ nhớ bán dẫn chia sẻ chung cho tất cả processors

1.1.3 Các hệ thống HPC kiến trúc cụm từ1990 đến 2010

Đây là giai đoạn phát triển các hệ thống HPC kiến trúc song song với các vector processors tốc độ nhanh, nhưng còn hạn chế bởi truy nhập vào bộ nhớ chia sẻ chung Vì thế trong những năm 1980 các nghiên cứu thiết kế các HPC với các bộ nhớ phân tán, nghĩa là mỗi processor có bộ nhớ riêng Do đó, số lượng processor có tăng lên nhiều, đến 64 và 128 processors Các cấu hình nối mạng các processor đãđa dạng

Intel iPSC Hypercube, 1985, gồm: 32 đến 128 nút xử lý Mỗi nút xử lý là:

80286 processor, 80287 math co-processor, 512K RAM, 8 cổng Ethernet (7 cổng để nối với các máy tính khác, 1 cổng cho nút điều khiển) Sử dụng sơ đồ mạng kết nối cấu hình hypercube giữa các processors Mô hình cơ bản là hypercube 5-chiều (25 =

32 processors)

The CM-1:là máy tính song song lớn (massivelyparallel computer)với65.536 phần tử xử lýSIMD kết nối trong mạng cấu hình hypercube Mỗi phần tử gồm: 1-bit processor và 4Kbits RAM (CM-2 có 64Kbits RAM)

CM-5: Máy tính MIMD (LosAlamos National Lab) với cấu hình mạng, đã từng là siêu máy tính đứng đầu trong danh sách 500 năm 1993 Nó có1024 processors và có thểđạt tốc độ59,7 GFLOPS

Beowulf Clusters, trong năm 1994 Donald Becker and TomStirling ởNASA, xây dựng cụm (cluster) sử dụng các PC có sẵn và nối chúng trong mạng Có 16 Intel 486DX PCs được kết nối với 10 Mb/s Ethernet cho tốc độ 1 GFLOPS với hệ thống trị giá$50,000

Trang 18

bộ đồng xử lý GPGPU của NVIDIA liên kết theo các cấu hình mạng truyền dẫn quang công nghệ Ethernet hay Infiniband tốc độ cao theo các cụm là giải pháp kiến trúc phổ biến của các siêu máy tính hiện nay Các nút máy tính có thể là PC desktop, nhưng thông thường là các phiến (blade) cài đặt theo các tủ (rack) Hàng năm, trang web www.top500.org/top500 đưa ra danh sách 500 siêu máy tính hàng đầu thế giới, trong đó, có thể nhận thấy nhiều hệ thống sử dụng kiến trúc tích hợp GPGPU và lai ghép

Sự phát triển của dòng công nghệ chip Intel Xeon® PhiTM processors (64-, 68-, và 72-cores) cho phép tạo ra các siêu máy tính có thể cạnh tranh với các kiến trúc lai GPGPU bởi chúng có thể dễ dàng đồng bộ và làm các bộ đồng xử lý tăng tốc cho các bộ xử lý trung tâm Intel Xeon E5 Bảng 1.1 liệt kê 10 siêu máy tính mạnh nhất tính đến tháng 10/2017

Bảng 1.1: Top 10 siêu máy tính tính đến 10/2017

(PFLOPS) Name Model Processor Interconnect Vendor country, year Site Operating system

1 125.436 93.015 Sunway

TaihuLight Sunway MPP SW26010 Sunway NRCPC

National Supercomputing Center in Wuxi China, 2016

Linux (Raise)

2 33.863 54.902 Tianhe-2 TH-IVB-FEP

Xeon E5–2692, Xeon phi 31S1P

TH Express-2 NUDT

National Supercomputing Center in Guangzhou China, 2013

Linux (Kylin)

Trang 19

3 19.590 25.326 Piz Daint Cray XC50

Xeon E5-2690v3, Tesla P100

Swiss National Supercomputing Centre

Switzerland, 2016

Linux (CLE)

4 19.136 28.192 Gyoukou

2.2 HPC system

ZettaScaler-Xeon D-1571, PEZY-SC2

Infiniband

Japan Agency for Marine-Earth Science and Technology Japan, 2017

Linux (CentOS)

5 17.590

27.113 Titan Cray XK7

Opteron

6274, Tesla K20X

6 17.173 20.133 Sequoia Blue Gene/Q A2 Custom IBM

Lawrence Livermore National Laboratory United States, 2013

Linux (RHEL and CNK)

7 14.137 43.902 Trinity Cray XC40

Xeon E5–2698v3, Xeon Phi

Aries Cray Los Alamos National Laboratory

United States, 2015

Linux (CLE)

8 14.015 27.881 Cori Cray XC40 Xeon Phi 7250 Aries Cray

National Energy Research Scientific Computing Center United States, 2016

Linux (CLE)

9 13.555 24.914

Oakforest-PACS Fujitsu Xeon Phi 7250 Intel

Omni-Path Fujitsu

Kashiwa, Joint Center for Advanced High Performance Computing Japan, 2016

Linux

10 10.510 11.280 K computer Fujitsu SPARC64 VIIIfx Tofu Fujitsu

Riken, Advanced Institute for Computational Science (AICS) Japan, 2011

Linux

1.2 Ưu nhược điểm của hệ thống tính toán hiệu năng cao

1.2.1.Định nghĩa tính toán hiệu năng cao

Tính toán hiệu năng cao HPC (high performance computing) làứng dụng các

hệ thống máy tính hiệu năng cao như các siêu máy tính (super computer) và các hệ thống xử lý song song để giải quyết các bài toán tính toán phức tạp

Trang 20

7

Công nghệ tính toán song song tập trung vào sự phát triển các hệ thống và các thuật toán xử lý song song nhờ kết hợp cả quản trị và các kỹ thuật tính toán song song

HPC thường được sử dụng để giải quyết các bài toán hiện đại và thực hiện các hoạt động nghiên cứu thông qua sự mô hình hóa, mô phỏng và phân tích trên trên các hệ thống máy tính hiệu năng cao Các hệ thốngHPC có khả năng phân phối hiệu năng được duy trì liên tục qua sự sử dụng các tài nguyên tính toán

HPC được phát triển đểđáp ứng các nhu cầu ngày càng tăng về tốc độ xử lý HPC tập hợp vào với nhau một số công nghệ như kiến trúc máy tính, các kỹ thuật điện tử, các thuật toán, các chương trình, và phần mềm hệ thống theo một kiến trúc

để giải quyết các bài toán hiện đại và phức tạp một cách hiệu quả và nhanh

Các hệ thống HPC cần có mạng băng thông cao, trễ thấp để kết nối nhiều nút

và cụm tính toán (cluster)

1.2.2.Ưu nhược điểm của hệ thống tính toán hiệu năng cao

Với sự phát triển của công nghệ chip đa xử lý, máy tính cá nhân và công nghệ truyền thông tốc độ cao, thì các hệ thống HP kiến trúc cụm gồm nhiều nút máy tính cá nhân tích hợp CPU và các bộ đồng xử lý tăng tốc GPGPU hay Xeon Phi, kết nối bằng các truyền dẫn tốc độ cao lên đến hàng chục và hàng trăm Gbit/s (Infiniband) sẽ là giải pháp đạt hiệu năng cao: tốc độ cao trên đơn vị chi phí thấp Thậm chí HPC kiến trúc cụm gồm các nút PC sẵn có cũng có thể cho tốc độ tính toán cao mà chi phí thấp

HPC kiến trúc cụm là kiến trúc rất kinh tế, linh hoạt trong đấu nối mở rộng

và quản trị Cấu trúc cụm có thể có nhiều hay ít nút máy tính cá nhân (dạng desktop hay blade) tùy thuộc và khả năng chi phí đầu tư của người dùng vàứng dụng

Ngày nay, với sự phát triển của Internet vạn vật (Internet of Things - IoT), sự phát triển của kinh tế xã hội và nghiên cứu khoa học kỹ thuật đa dạng về nhu cầu xử

lý nhiều dữ liệu lớn trong thời gian nhanh nhất, thì các hệ thống HPC kiến trúc cụm

Trang 21

là những công cụ hiệu quả nhất Sử dụng HPC kiến trúc cụm cũng tạo sự hợp tác quốc tế linh hoạt hơn trong phát triển các dựán liên ngành, liên chính phủ và quốc gia trong xử lý dữ liệu lớn "Big Data" HPC kiến trúc cụm đáp ứng cho tính toán song các bài toánứng dụng sẽđem lại hiệu suất cao cho các ứng dụng chuyên nghiệp

Tuy nhiên, đểđáp ứng được nhu cầu ngày càng cao trong một số lĩnh vực quan trọng như an ninh, quốc phòng, nghiên cứu không gian vũ trụ, v.v thì cần phải có những chi phí cho thiết kế hệ thống HPC cùng với các bảo đảm phần mềm tốn kém và phức tạp Đỉnh cao của kiến trúc HPC là các hệ thống siêu máy tính Không phải nước nào cũng đủ tiềm lực về kinh tế và trình độ khoa học kỹ thuật để xây dựng các hệ thống siêu máy tính Chi phí để đầu tư mua các siêu máy tính cũng rất cao Do đó, những nước nghèo cần bắt đầu từ phát triển các hệ thống HPC kiến trúc cụm

1.3 Các ứng dụng của HPC

1.3.1.Các lĩnh vực ứng dụng

Công nghệ HPC được thực hiện trong nhiều lĩnh vực:

• Sinh học (Biosciences)

• Y sinh học (Biomedical sciences)

• Dữ liệu địa lý (geographical data)

• Mô hình hóa trong công nghiệp dầu khí (Oil and Gas industry modeling)

• Tự động hóa thiết kế và chế tạo điện tử (Electronic design and production automation)

• Mô hình hóa khí hậu (Climate modeling)

• Đa phương tiện và giải trí

• Nghiên cứu vũ trụ (Aircraft and Space sciences)

• Thiết kế máy bay (aircraft, tầu thủy, tầu ngầm)

• Thiết kế vũ khí hạt nhân, tên lửa vũ trụ

Trang 22

9

• Nghiên cứu hạt nhân nguyên tử

• Xử lý dữ liệu tình báo, tội phạm, thám mã trong an ninh quốc phòng: bẻ khóa và mật mã

• Động lực học chất lỏng (fluid dynamics)

1.3.2.Nhu cầu ứng dụng HPC

Một hệ thống HPC có thểkhông đủ mạnh để giải quyết các tính toán lớn, nó chỉ cho phép thực hiện các tính toán chuyên ngành nhỏ phù hợp với phần cứng của

hệ thống, ví dụ, chỉ đáp ứng được khoảng 10% nhu cầu Thời gian để thực hiện một

đề tài vì vậy bị kéo dài, mất đi tính thời sự, càng khó cạnh tranh với các nhóm nghiên cứu khác trên thế giới Vì vậy phải có sự liên kết HPC của viện với các trung tâm HPC mạnh ở trong nước hay ởnước ngoài của đối tác, điều đó làm mất đi sự chủ động về nghiên cứu của Viện đó

Khoa học và kỹ thuật tính toán hiệu năng cao được ứng dụng ngày càng nhiều trong rất nhiều lĩnh vực từ khoa học, kỹ thuật công nghệ đến ứng dụng trong đời sống Nhu cầu tính toán này trở thành nhu cầu phải được nhanh chóng đáp ứng Thị trường tính toán hiệu năng cao đã tăng trưởng gần gấp 3 lần trong thập kỷ qua Việc xây dựng các hệ thống HPC là nhiệm vụ quan trọng cần được quan tâm đầu tư nghiên cứu

1.4 Kiến trúc tính toán song song

1.4.1.Đặc tính song song của HPC

Yếu tố chính làm nên hiệu năng của các hệ thống HPC là đặc tính song song trong kiến trúc ở nhiều lớp:

• Song song ở mức lệnh

• Xử lý vector

• Nhiều nhân trong một bộ xử lý

• Nhiều bộ xử trong một nút máy tính

Trang 23

• Nhiều bộ xử lý kết hợp với các bộ đồng xử lý tăng tốc (GPGPU hay Xeon Phi)

• Nhiều nút trong một cụm

• Nhiều cụm trong một hệ thống

1.4.2.Khái niệm tính toán song song

Tính toán song song là một dạng tính toán trong đó nhiều lệnh được thực hiện đồng thời Tính toán song song vận hành trên nguyên tắc là các bài toán lớn được chia ra thành những phần nhỏ mà những phần nhỏ này có thể được thực hiện tương tranh (song song) Tính toán song song đã được sử dụng từ nhiều năm nay, chủ yếu cho những tính toán hiệu năng cao và trở thành một đặc điểm quan trọng trong kiến trúc máy tính, đặc biệt ở dạng các bộ xử lý nhiều lõi

Tính toán song song có một số dạng khác nhau:

• Song song mức bit

• Song song mức lệnh

• Song song dữ liệu

• Song song nhiệm vụ

Một chương trình song song gồm nhiều nhiệm vụ (task) chạy song song trên nhiều bộ xử lý Tuy nhiên, khó khăn để viết các chương trình cho máy tính song song hơn là cho máy tính tuần tự

Có 3 kiểu song song có thể có trong một chương trình thực hiện:

• Song song dữ liệu: nhiều khoản dữ liệu có thể được xử lý trong cùng một cách và ở cùng một thời gian

• Song song chức năng: chương trình có các module khác nhau và độc lập với nhau có thể được thực hiện đồng thời

• Chồng lấn nhau (overlapped)/song song tạm thời (temporary parallelism): chương trình có một chuỗi các nhiệm vụ (task) có thể được thực hiện theo

Trang 24

kiểu chồng lấn nhau Hình thức quan trọng nhất của chồng lấn nhau là kỹ thuật đường ống (pipelining)

Một nhiệm vụ T (task):

• Có thể được xử lý tuần tự theo từ, bit theo bit trong bộ xử lý hay máy tính, thì bộ xử lý hay máy tính đó gọi là bộ xử lý hay máy tính tuần tự (sequential), hay đơn xử lý (uniprocessor)

Nếu được phân chia thành những phần con có kích thước xấp xỉ nhau: T1,

T2, T3, …T N và tất cả các thành phần con này được xử lý đồng thời (thực

hiện song song) thì tốc độ thực hiện nhiệm vụ T nhanh gấp N lần và bộ

xử lý (máy tính) có chức năng thực hiện như vậy gọi là bộ xử lý song song (máy tính song song)

Ví dụ, một nhiệm vụ T thực hiện tính tổng SUM của N số (hằng số): b1, b2,

…, bN Khi đó, thuật toán tuần tự tính tổng N hằng số có thể đơn giản là:

For i = 1 to N do SUM <- SUM + b[i]

Thuật toán tuần tự này được thực hiện trên một bộ xử lý (hay trong máy tính

tuần tự) thì phải có N phép cộng, mỗi phép cộng chiếm một quãng thời gian là Tadd, nghĩa là để có được kết quả cuối cùng của SUM cần phải mất khoảng thời gian là

NTadd Nếu một máy tính có N bộ xử lý giống nhau Pi, i = 1, 2, …, N và chúng kết

nối với nhau trong một cấu trúc mảng tuyến tính hai chiều: mỗi một bộ xử lý đồng thời nhận (receive) và gửi dữ liệu với bộ xử lý lân cận (send) (hình 1.1)

Hình 1.1: Mảng tuyến tính hai chiều gồm n bộ xử lý

Bằng mô hình máy tính kiểu này có thể giải bài toán tính tổng SUM một

cách song song như sau: cho N = kn, trong đó: k- số nguyên; n - số lượng bộ xử lý Mỗi bộ xử lý thực hiện k số và tất cả n bộ xử lý đồng thời thi hành nhiệm vụ Như

Trang 25

vậy N = kn phép cộng được phân ra n phép cộng (n bộ xử lý), mỗi phép cộng với k

số Bộ xử lý Pi chuyển kết quả phép cộng của nó cho bộ xử lý tiếp theo Pi+1, và Pi+1

cộng kết quả của chính nó với kết quả từ Pi gửi vào Kết quả phép cộng của Pi+1

được chuyển tới Pi+2.Sau (n-1) phép cộng và chuyển dữ liệu, kết quả cuối cùng được cất trong Pn

Thuật toán song song tính SUM được biểu diễn bằng chương trình sau đây:

{Với mỗi bộ xử lý Pi xác định SUM nhờ các số cục bộ của nó b(1:k)}

SUM <- 0;

For i = 1 to k do SUM <- SUM + b(i);

{Bộ xử lý Pi gửi kết quả cục bộ SUM đến bộ xử lý Pi+1}

SUM <- SUM + LEFTSUM;

{Mỗi bộ xử ly Pi (trừ Pn) gửi kết quả SUM cục bộ cho Pi+1}

If INDEX <n then send (RIGHT, SUM);

end;

Thời gian T(n) cần thiết để thực hiện tính tổng SUM theo thuật toán song song trên n bộ xử lý gồm có hai thành phần chính: thời gian tính cục bộ T L để thực

hiệnk = N/n phép cộng đồng thời trên n bộ xử lý Có thể viết T L = K 1 N/n, trong đó,

K1 là một hằng số phụ thuộc vào thời gian cộng và lưu giữ trên một bộ xử lý Thành

Trang 26

13

phần thứ hai của T(n) là thời gian T C (thời gian truyền thông) - là thời gian gửi dữ

liệu trung gian qua (n-1) phép cộng Có thể viết T C = K2(n-1), trong đó: K2 là hằng

số phụ thuộc vào độ trễ truyền thông giữa các bộ xử lý Như vậy, thời gian T(n) sẽ

là:

)1(/

)

(n =T +T =K1N n+K2 n

Bởi vì K2 liên quan đến thời gian truyền dữ liệu (kết quả trung gian) giữa các

bộ xử lý, nó lớn hơn nhiều so với K1, nên sự tăng số lượng các bộ xử lý sẽ kéo theo

tăng thời gian K2. Nếu n = 1 thì công thức (1.1) trở thành:

N K T n

1.4.3 Công thức mức tăng tốc của thực hiện song song

Công thức chung của mức tăng tốc đạt được của một chương trình thực hiện

song song kích thước p (nhiệm vụ, bài toán) có dạng là tỷ số giữa thời gian thực hiện chương trình trên máy tính tuần tự (một bộ xử lý) T(p, 1) và thời gian thực hiện chương trình đó trên nhiều bộ xử lý (máy tính song song), T(p, n):

) , (

) 1 , ( )

,

(

n p T

p T p

n

Trong đó, p:kích thước của chương trình; và n: số lượng bộ xử lý của máy

tính song song Với điều khiện thỏa mãn của chương trình thực hiện song song:

n n p

< ( , )

0

Đạt được mức tăng tốc tuyến tính khi: S(p, n) = n

Hiệu năng của thực hiện song song đạt được:

) , (

) 1 , ( )

, ( )

,

(

n p T n

p T n

n p S n

0<E p n

Trang 27

Đạt được mức tăng tốc tuyến tính khi: E(p,n) = 1, và sự giảm tốc (slowdown): E(p, n) < 1/n

1.4.4 Phân tích hiệu năng của thực hiện song song

1.4.4.1.Mức tăng tốc và hiệu năng

Thời gian thực hiện một chương trình song song gồm có các thành phần:

T seq (p) – thời gian thực hiện phần tuần tự vốn có của chương trình

T par (p) – thời gian thực hiện phần của chương trình có thể thực hiện song

song

k (p, n) – overhead truyền thông (communication overhead) gồm:

• Thời gian khởi động task

• Các đồng bộ: là sự thiết lập điểm đồng bộ bên trong một chương trình mà

ở đó một task có thể không tiếp tục nữa cho đến khi các task khác đạt được điểm tương tự hoặc điểm tương đồng logic Sự đồng bộ luôn kéo theo sự chờ đợi của ít nhất một task, và do đó có thể làm cho thời gian thực hiện chương trình (bắt thời điểm bắt đầu thực hiện của bộ xử lý đầu tiên cho đến thời điểm dừng của bộ xử lý cuối cùng) tăng lên (Wall clock time)

• Thời gian truyền thông dữ liệu

• Các overhead phần mềm phát sinh bởi các trình biên dịch song song, các thư viện, các công cụ, hệ điều hành, v.v…

• Thời gian kết thúc task

p – kích thước của chương trình

n – số lượng bộ xử lý thực hiện chương trình

)()()

Trang 28

()

,

n

p T p T n

p

T = seq + par +κ - Tổng thời gian thực hiện chương trình

trên máy tính song với n bộ xử lý

Hình 1.2:Đồ thị với Overhead của xử lý song song được đưa vào

Hình 1.3: Diễn giải thời gian thực hiện chương trình song song

Biểu thức mức tăng tốc là:

) , ( ) ( )

(

) ( ) ( )

,

(

n p n

p T p T

p T p T n

p

S

par seq

par seq

κ

+ +

+

Trang 29

) ( ) ( )

,

(

n p n p T p T n

p T p T n

p

E

par seq

par seq

κ

+ +

+

) , ( ) ( ) (

) ( ) ( )

,

(

n p n p T p nT

p T p T n

p

E

par seq

par seq

κ

+ +

+

Khi n→ ∞ ,k(p,n) = 0 thì E(p,n) → 1, do đó: 0≤E(p,n)≤1

1.4.4.2.Luật Amdahl

Luật Amdahl (lấy theo tên của Gene Myron Amdahl, nhà kiến trúc máy tính

Mỹ gốc NaUy, từng là nhân viên của IBM từ 1970, đã đưa raluật này năm 1967) để tìm kiếmsự cải thiện mong đợi tối đa của toàn bộ một hệ thống khi chỉ một phần của

hệ thống được cải thiện Luật Amdahl thường được sử dụng trong tính toán song song để dự đoán sự tăng tốc tối đa về lý thuyết nhờ sử dụng nhiều bộ xử lý

Vì κ(p,n)>0 nên từ công thức (1.5) ta có :

n p T p T

p T p T n p n

p T p T

p T p T n

p

S

par seq

par seq

par seq

par seq

/ ) ( ) (

) ( ) ( )

, ( ) ( )

(

) ( ) ( )

≤+

=

)()(

)(0

f p T p T f

p T p T p T p T p T

p T

par seq

seq

Nếu overhead truyền thông k(p,n) = 0, thì Luật Amdahl xác định mức tăng tốcS ( n p, )tối đa đạt được nhờ thực hiện trên máy tính song song với n bộ xử lý là:

n f f

n

p

S

/ ) 1 (

1 )

,

(

− +

Trang 30

Và khi số bộ xử lý n→∞thì mức tăng tốc cực đại đạt được là :

f n p S

n

1 ) , (

Biểu thức mức tăng tốc tối đa (1.10) chỉ phụ thuộc vào kích thước phần tuần

tự của chương trình, và sẽ giảm đi khi phần tuần tự tăng lên

Hình 1.4: Luật Amdahl Hình 1.4chỉ sự thay đổi của mức tăng tốc so với sự thay đổi kích thước của phần tuần tự của chương trình với bất kỳ số lượng cố định nào của các bộ xử lý Ta

nhận thấy, với sự giảm phần ftuần tự, đồ thị mức tăng tốc dần đạt đến tuyến tính (khi f = 0) với sự tăng của số bộ xử lý

Luật Amdahl tổng quát:

Luật Amdahl xác định mức tăng tốc của chương trình nếu trong chương trình

có một số phần sẽ là:

Trang 31

S P Speedup

klà chỉ số của từng phần của chương trình

nlà số phần được chia của chương trình

Ví dụ, một chương trình thực hiện được chia ra 4 phần: P1 = 0, 11 hay 11%,

P2 = 0, 18 hay 18%, P3 = 0, 23 hay 23%, P4 = 0, 48 hay 48% Cho rằng, phần P1không thực hiện tăng tốc, như vậy S1 = 1 hay 100%, P2 được tăng tốc lên 5x, như

vậy S2 = 5 hay 500%, P3 được tăng tốc lên 20x, như vậy S3 = 20 hay 2000%, và P4được tăng tốc lên 1, 6x, như vậy S4 = 1, 6 hay 160% Từ đây ta có thời gian chạy khi thực hiện tăng tốc là:

4575 , 0 6 , 1

48 , 0 20

23 , 0 5

18 , 0 1

11 , 0 4

4 3

3 2

2 1

P S

P S

P S

P

Như vậy, với Luật Amdahl (1.11) xác định mức tăng tốc độ là 1/0, 4575 = 2,

186 hơn gấp đôi một chút tốc độ nguyên gốc (không thực hiện tăng tốc)

Luật Amdahl cho một chương trình thực hiện tuần tự:

Cho rằng một chương trình thực hiện có hai phần độc lập, A và B Phần B

chiếm tới 25% thời gian thực hiện toàn bộ chương trình (hình 1.5) Có hai cách tăng tốc độ nhờ thực hiện song song một phần của chương trình: cách một là thực hiện

song song phần B để tăng tốc lên 5x, nhưng cách này không làm tăng đáng kể tốc

độ Cách thứ hai là thực song song phần A để tăng tốc lên 2x, ta đạt được tăng tốc

của chương trình lên đáng kể

Trang 32

Hình 1.5: Sự tăng tốc của một chương trình gồm 2 phần

Mức tăng tốc tối đa đạt được của một chương trình tuần tự nhờ phần f của chương trình được thực hiện tăng tốc lên s lần là:

s

f f

1

= +

1

= +

=

A lên 2 lần sẽ làm tốc độ thực hiện của chương trình tăng lên đến 60%, trong khi đó

giải pháp tăng tốc phần B lên 5 lần chỉ làm tốc độ thực hiện tăng hơn 25%

Nếu có hai chương trình X và Y, ta nói rằng chương trình X chạy T% nhanh hơn chương trình Ynếu:

100

X of time execution

CPU

Y of time execution

CPU

+

Đối với trường hợp sử dụng nbộ xử lý (hay lõi xử lý) để thực hiện song song

phần fđể đạt được mức tăng tốc s=n , trong khi vẫn giữ nguyên phần tuần tự

)

1

( − f thì công thức (1.12) được viết là:

Trang 33

f f

Luật Amdahl cho các chip đa lõi:

Các câu hỏi đặt ra cho các nhà thiết kế chip đa lõi: giới hạn đạt được bao nhiêu lõi trong một chip, các lõi sử dụng các đường ống lệnh đơn giản hay đường ống lệnh công suất lớn với nhiều lối ra (many-issue pipeline), các lõi có các kiến trúc micro giống nhay hay khác nhau, v.v Cho đến nay, các chip đạt được thương mại hóa ở 2-8 lõi, nhưng tương lai sẽ là hàng trăm và hàng nghìn lõi

Để áp dụng Luật Amdahl cho chip đa lõi, ta cần mô hình chi phí cho số lượng và hiệu năng của các lõi mà chip có thể có Trước hết, cho rằng chip đa lõi

của một kích thước và thế hệ công nghệ cụ thể có thể chứa nhiều nhất n tương

đương lõi cơ sở BCE (base core equivalents), trong đó một BCE tương đương với một lõi cơ sở Điều này có lý do từ nhà thiết kế chip muốn phát triển chip đa lõi chỉ với L1 caches riêng cho từng lõi mà không bao gồm các tài nguyên khác như cache chia sẻ, các mạng liên kết (interconnects), các điều khiển bộ nhớ, v.v Những tài nguyên này được cho rằng không thuộc lõi và không thay đổi trong các phiên bản

chip đa lõi Cũng không thể biết được giới hạn nào đối với số n BCE của chip Có

thể là nguồn tiêu thụ, diện tích của chip, tần số, hay sự kết hợp của chúng, và các yếu tốc khác Điều quan trọng đối với các nhà thiết kế chip đa lõi là sử dụng các tài nguyên của nhiều BCE để tạo ra một lõi với hiệu năng tuần tự (sequential performance) cao nhất

Có 3 loại chip đa lõi: chip đa lõi đối xứng SMC (symmetric multi-core chip), chip đa lõi bất đối xứng AMC (Asymmetric multi-core chip), và chip đa lõi linh hoạt DMC (Dynamic multi-core chip)

SMC yêu cầu tất cả các lõi có cùng chi phí, và phổ biến là 2 loại SMC:

a) SMC gồm n tương đương lõi cơ sở (base core equivalents) (BCE); mỗi

BCE là một lõi xử lý với tài nguyên tối thiểu (hình 1.6)

Trang 34

Hình1.6: Chip đa lõi đối xứng gồm n =16 lõi BCE b) SMC bao gồm n/r lõi (nghĩa là SMC có tất cả n BCE, nhưng mỗi lõi là một kết hợp r BCE)(hình 1.7)

Hình 1.7: Chip đa lõi đối xứng gồm n/r = 4/4 lõi (4 lõi, mỗi lõi có 4 BCE) SMC cấu trúc n/r cho phép tập trung nhiều tài nguyên vào một số lõi gồm r

BCE để tăng hiệu năng thực hiện perf (r)

− )

core BCE r a of e performanc absolute

r

Trong đó, absolute performanc ecó thể là tốc độ xử lý (ví dụ, MIPS), hoặc số

đo hiệu năng khác

Muốn perf(r) >r, các nhà thiết kế chip phải tăng các tài nguyên cho lõi BCE để đạt được sự tăng tốc của cả thực hiện tuần tự và song song Khi perf(r) <r

Trang 35

r-, sự tăng hiệu năng của lõi bị ảnh hưởng bởi sự thực hiện tuần tựr-, và như vậy làm ảnh hưởng đến thực hiện song song

Theo Luật Amdahl, mức tăng tốc của SMC phụ thuộc vào tỷ trọng phần có

thể thực hiện song songf, toàn bộ số BCE (n), và số lõi r Với loại SMC chỉ sử dụng

một lõi để thực hiện tuần tự với hiệu năng tuần tự perf (r), và sử dụng tất cả n/r lõi

để thực hiện song song với hiệu năng perf( ×r) n/r Như vậy, tổng mức tăng tốc của SMC là:

n r perf

r f r

perf f r

n f Speedup SMC

×

× +

=

) ( )

( 1

1 )

, ,

AMC gồm một lõi r-BCE (1/r-BCEs) và n-r BCE (hình 3.8) Trong AMC,

một hay một số lõi mạnh hơn các lõi khác Ví dụ, trong AMC với n = 64 BCE, có thể được tổ chức 1 lõi 4-BCE và 60 lõi 1-BCE, 1 lõi 9-BCE và 55 lõi 1-BCE, v.v

Nói chung, nếu một AMC có n BCE, thì có thể tổ chức 1 lõi r-BCE và n-r lõi

1-BCE

Hình 1.8: Chip đa lõi bất đối xứng gồm một lõi 4-BCE và n-4 lõi 1-BCE

So với SMC, Luật Amdahl cho AMC có dạng khác Vì AMC sử dụng một lõi lớn với nhiều tài nguyên hơn để thực hiện phần tuần tự với hiệu năng tuần tự

)

(r

perf Trong phần thực hiện song song, nó nhận hiệu năng perf (r) từ một lõi lớn

Trang 36

r n r perf

f r

perf f r

n f Speedup AMC

− + +

=

) ( )

( 1

1 )

, ,

Trong DMC có thể kết hợp r lõi với nhau để đẩy hiệu năng của phần tuần tự,

như chỉ ra ở hình 1.9 Khả năng này có thể đạt được ở mức luồng Trong chế độ tuần tự, DMC có thể thực hiện với hiệu năng tuần tự perf (r)khi các kỹ thuật linh

hoạt sử dụng r lõi BCEs

Hình 1.9: Chip đa lõi đa lõi linh hoạt gồm 16 lõi 1-BCE

Trong chế độ song song, DMC nhận hiệu năng n nhờ sử dụng tất cả các lõi

cơ sở Tổng cộng, ta có thể đạt được mức tăng tốc trong DMC:

n

f r perf f r

n f Speedup DMC

+

=

) ( 1

1 )

, ,

Khi n tiến tới vô cùng, thì mức tăng tốc chỉ phụ thuộc vào kích thước phần tuần tự của chương trình, (1- f) Do đó, một chương trình ứng dụng đạt được mức

Trang 37

tăng tốc lớn khi thực hiện song song trong các hệ thống với các chip đa lõi đa luồng cần phải được thiết kế sao cho phần tuần tự chiếm kích thước rất nhỏ, và các

module song song phải đạt được mức tối đa f = n

Hạn chế của Luật Amdahl:

• Bỏ qua trễ truyền thông giữa các processors (communication overhead)

),

( n p

• Cho rằng phần kích thước của chương trình thực hiện (task) là cố định và

số lượng các bộ xử lý tăng

Xác định giới hạn trên của mức tăng tốc khi n tiến tới vô cùng, khi đó

mức tăng tốc chỉphụ thuộc vào kích thước của phần tuần tự Phần tuần tự càng lớn thì mức tăng tốc càng giảm

Ví dụ:cho rằng phiên bản song song của chương trình có sốđiểm truyền thông là logp Thời gian truyền thông ở một điểm truyền thông là:

) 10 / ( )

(log

thời gian truyền thông là:

14000 )

(log 140000 ]

1000 ) (log 10000 [ 14

] 10 / 10000 )

10000 (log(

10000 )[

10000 log(

)]

10 / ( ) (log 10000

[

log

+

= +

=

+

= +

p p

p p p

Mức tăng tốc đạt được tính theo công thức (1.8) là:

14000 )

(log 140000 /

1000000 28000

1000000 28000

) , ( ) ( )

(

) ( ) ( )

,

(

+ +

+

+

= +

+

+

p n

n p n

p T p T

p T p T n

p

S

par seq

par seq

κ

) (log 140000 /

1000000 42000

1000000 28000

) , ( ) ( )

(

) ( ) ( )

,

(

p n

n p n

p T p T

p T p T n

p

S

par seq

par seq

+ +

+

= +

+

+

κ

Đối với bất kỳ số lượng cố định n nào các bộ xử lý, mức tăng tốc thường

được coi là hàm tăng của kích thước chương trình Đó chính là hiệu ứng Amdahl

Trang 38

25

• Thời gian κ( n p, )có sự phức hợp thấp hơn so với T par ( p)

Sự tăng kích thước n của chương trình làm tăng thời gian thực hiện nhanh

hơn sự tăng thời gian truyền thông κ( n p, )

Sự tăng kích thước p của chương trình làm tăng mức tăng tốc, và phần tuần tựfgiảm

1.4.4.3 Luật Gustafson-Barsis

Hiệu ứng Amdahl chỉ ra rằng mức tăng tốc (S) thực hiện chương trình tăng tỷ

lệ với kích thước của chương trình (p) với số lượng n bộ xử lý xác định Như vậy

phải tăng kích thước chương trình và thực hiện song song có hiệu quả với một số lượng bộ xử lý xác định Điều này thực tế không phải lúc nào cũng đạt được

Luật Gustafson-Barsis (năm 1988) là luật khắc phục hạn chế này của Luật Amdahl và nó xác định mức tăng tốc với sự tăng của số bộ xử lý cho bất kỳ một chương trình kích thước như thế nào

Cho rằng s: tỷ lệ phần thời gian chi phí để thực hiện các thao tác tuần tự

trong một chương trình tính toán song song

n p T p T

p T s

par seq

seq

/ ( ) (

) ( +

:

; / ( )

(

/ ( )

1

n p T p T

n p T s

par seq

T seq( ) = ( seq( ) + par( ) / ) ; par( ) = ( seq( ) + par( ) / )( 1 − ) (1.20) Kết hợp các công thức (1.8) và (1.20) nhận được công thức của Luật Gustafson-Barsis:

)1()

,

Đây là mức tăng tốc tối đa S ( n p, ) (còn gọi là mức tăng tốc định cỡ – scaled

speedup) đạt được của một chương trình có kích thước p thực hiện trên hệ thống

Trang 39

song song với số bộ xử lý là n, và s là tỷ lệ thời gian chi phí để thực hiện toàn bộ

các phần tuần tự của chương trình Luật Gustafson-Barsis có thể viết ở dạng:

s n n

n

p

Với công thức (1.22) Luật Gustafson-Barsis xác định mức tăng tốc định cỡ

gồm thời gian thực hiện các khoản tuần tự và số lượng n cụ thể bộ xử lý mà không

tính đến kích thước của chương trình

Ví dụ, một ứng dụng chạy trên n =10 bộ xử lý phải chi phí s = 3% thời gian

của nó cho các phần code tuần tự, như vậy mức tăng tốc định cỡ xác định theo (1.22) là:

73.927,010)03,0)(

101(

=

S

Biết được mức tăng tốc định cỡ, và số lượng bộ xử lý, ta dễ dàng xác định tỷ

lệ phần thời gian tối đa chi phí để thực hiện các phần code tuần tự của một chương trình song song Ví dụ, cho S =12, n=16:

27,015/)1216()

161(16

1.4.4.4 Số đo Karp-Flatt

Các Luật Amdahl và Gustafson-Barsis đều bỏ qua overhead κ( n p, ) và chúng xác định mức tăng tốc giới hạn hay mức tăng tốc định cỡ

Karp-Flatt (do Alan H Karp và Horace P Flatt đề xuất 1990) xác định số đo

e – là phần tuần tự của một chương trình được xác định bằng thực nghiệm:

) 1 , (

) , ( ) ( )

( )

(

) , ( ) (

p T

n p p T p T p T

n p p T

par seq

= +

+

Vì: T seq(p) +κ(p,n) =T(p, 1 )e, nên T(p,n)=T(p,1)e+T(p,1)(1−e)/n;

/ ) 1 ( ) , ( ) , ( ) , (

; ) , ( ) 1 , ( );

, ( / ) 1 ,

/ 1 1

/ 1 / 1

Trang 40

Nguyên nhân trước tiên nào đã gây ra để giá trị mức tăng tốc chỉ đạt 4,71 ở

trường hợp n = 8 bộ xử lý (bắt đầu chậm tăng mức tăng tốc thấp) Để xác định nguyên nhân, ta tính các giá trị số đo Karp-Flatt (e) theo (1.25):

e 0,070 0,075 0,080 0,085 0,090 0,095 0,100 Bởi vì e tăng liên tục theo sự tăng của số bộ xử lý, nên overhead là nguyên nhân đầu tiên, làm tăng e

1.4.4.5 Số đo đẳng hiệu năng

• Một hệ thống song song: một chương trình song song thực hiện trên máy tính song song

• Định cỡ của một hệ thống song song: số đo khả năng của nó tăng hiệu năng theo sự tăng của số bộ xử lý

Ngày đăng: 03/09/2018, 16:00

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Hồ Khánh Lâm, "Giáo trình kiến trúc máy tính nâng cao". Trường Đại học Sư phạm Kỹ thuật Hưng Yên. 2017.Tiếng Anh Sách, tạp chí
Tiêu đề: Giáo trình kiến trúc máy tính nâng cao
[2] V. Halyo et. al. "First evaluation of the CPU, GPGPU and MICarchitectures for real time particle tracking based on Hough transform at the LHC". PUBLISHED BYIOP PUBLISHING FORSISSAMEDIALAB. 2013-2014 Sách, tạp chí
Tiêu đề: First evaluation of the CPU, GPGPU and MICarchitectures for real time particle tracking based on Hough transform at the LHC
[3] "HPCC Systems: Introduction to HPCC (High-Performance Computing Cluster)". CiteSeerX. 24 May 2011. Retrieved 29 October 2015 Sách, tạp chí
Tiêu đề: HPCC Systems: Introduction to HPCC (High-Performance Computing Cluster)
[4] Volodymyr Kindratenko,"GPU clusters for HPC".Innovative Systems Laboratory. National Center for Supercomputing Applications University of Illinois at Urbana-Champaign Sách, tạp chí
Tiêu đề: GPU clusters for HPC
[6] "Introduction toInfinibandTM".White paper. Mellanox Technologies. http://www.mellanox.com/pdf/whitepapers/IB_Intro_WP_190.pdf Sách, tạp chí
Tiêu đề: Introduction toInfinibandTM
[7] "Designing an HPC Cluster with Mellanox Infiniband Solutions". Mellanox Technologies".10/10/2015.https://community.mellanox.com/docs/DOC-2392 Sách, tạp chí
Tiêu đề: Designing an HPC Cluster with Mellanox Infiniband Solutions". Mellanox Technologies
[8] H. Wang et. al. "MVAPICH2-GPU: Optimized GPU to GPU Communication forInfiniband Clusters". Network‐Based ComputingLaboratoryTheOhioStateUniversity Sách, tạp chí
Tiêu đề: MVAPICH2-GPU: Optimized GPU to GPU Communication forInfiniband Clusters
[9] Gabriel Noaje,"CPU-GPU cluster Design, Experimentations, Performances". ÉCOLE SUPÉRIEURE D'ÉLECTRICITÉPOLYTECHNICAL UNIVERSITY OF BUCHAREST.2008 Sách, tạp chí
Tiêu đề: CPU-GPU cluster Design, Experimentations, Performances
[10] "NVIDIA's Next Generation CUDATM Compute architecure: Fermi". Whitepaper Sách, tạp chí
Tiêu đề: NVIDIA's Next Generation CUDATM Compute architecure: Fermi
[11] Sebastian von Alfthan,"Introduction GPU computing". Ilmatienteen Laitos Meteorologiska institutet Finnish Meteorological Institute. 2011 Sách, tạp chí
Tiêu đề: Introduction GPU computing
[12] Gilad Shainer et. al. "The Development of Mellanox/NVIDIAGPUDirect over Infiniband – a New Model for GPU to GPU Communications". HPC Advisory Council, Mellanox Technologies, Institut fỹr Physik, TechnischeUniversitọt at Ilmenau Germany, Creative Consultants, Sandia National Laboratories Sách, tạp chí
Tiêu đề: The Development of Mellanox/NVIDIAGPUDirect over Infiniband – a New Model for GPU to GPU Communications
[13] Anthony Lippert, "NVIDIA GPU Architecturefor General Purpose Computing". 27/04/2009 Sách, tạp chí
Tiêu đề: NVIDIA GPU Architecturefor General Purpose Computing
[14] "NVIDIAGPU Accelerated Applications".2012 http://www.nvidia.com/object/gpu-accelerated-applications.html [15] "Intel® Xeon Phi™ Processors".https://www.intel.com/content/www/us/en/products/processors/xeon-phi/xeon-phi-processors.html Sách, tạp chí
Tiêu đề: NVIDIAGPU Accelerated Applications".2012 http://www.nvidia.com/object/gpu-accelerated-applications.html [15] "Intel® Xeon Phi™ Processors
[16] boyd, dana; Crawford, Kate (21 tháng 9 năm 2011). “Six Provocations for Big Data”. Social Science Research Network: A Decade in Internet Time:Symposium on the Dynamics of the Internet and Society.doi:10.2139/ssrn.1926431 Sách, tạp chí
Tiêu đề: Six Provocations for Big Data
[17] Hilbert, Martin; López, Priscila (2011). “The World's Technological Capacity to Store, Communicate, and Compute Information”. Science 332 (6025) Sách, tạp chí
Tiêu đề: The World's Technological Capacity to Store, Communicate, and Compute Information
Tác giả: Hilbert, Martin; López, Priscila
Năm: 2011
[18] “IBM What is big data? – Bringing big data to the enterprise”. www.ibm.com. Truy cập ngày 26 tháng 8 năm 2013 Sách, tạp chí
Tiêu đề: IBM What is big data? – Bringing big data to the enterprise
[19] Hadoop architectural overview, Evan Mouzakitis@vagelim, July 21, 2016, https://www.datadoghq.com/blog/hadoop-architecture-overview/ Link
[20] Map-Reduce, Bùi Hồng Hà, 26/03/2016, https://kipalog.com/posts/Map-Reduce Link
[22] TESLA™ M-CLASSGPU computing modulesaccelerating science, http://www.nvidia.com/docs/IO/105880/DS-Tesla-M-Class-Aug11.pdf Link
[21] arXiv:1403.1528v2 [cs.DC] 23 Jun 2014, A Tale of Two Data-Intensive Paradigms:Applications, Abstractions, and Architectures Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w