1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu mô hình tính toán song song trên kiến trúc máy tính đa nhân tích hợp (Many Integrated Core) và ứng dụng

26 0 0

Đ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

Tiêu đề Nghiên cứu mô hình tính toán song song trên kiến trúc máy tính đa nhân tích hợp (Many Integrated Core) và ứng dụng
Tác giả Nguyen Hùng Phúc
Người hướng dẫn TS. Hoàng Lê Minh
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành Khoa học máy tính
Thể loại luận văn thạc sĩ
Năm xuất bản 2016
Thành phố Hà Nội
Định dạng
Số trang 26
Dung lượng 6,37 MB

Nội dung

Tính toán song song ra đời dé giải quyết các bài toán thực hiện tuần tự nhưng có khả năng chia nhỏ thành nhiều tác vụ song song dé tăng hiệu suất xử lý của bài toán.Bằng cách ứng dụng mô

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

NGUYEN HÙNG PHÚC

(MANY INTEGRATED CORE) VÀ UNG DỤNG

CHUYEN NGANH : KHOA HOC MAY TÍNH

MA SO: 60.48.01.01

TOM TAT LUAN VAN THAC SI

HA NOI - 2016

Trang 2

Luận văn được hoàn thành tại:

HỌC VIEN CÔNG NGHỆ BƯU CHÍNH VIÊN THONG

Người hướng dẫn khoa học: TS HOÀNG LÊ MINH

Phản biện 1: PGS.TS Nguyễn Hải Châu

Phản biện 2: TS Tạ Quang Hùng

Luận văn sẽ được bảo vệ trước Hội đông châm luận văn thạc sĩ tại

Học viện Công nghệ Bưu chính Viễn thông

Vào lúc: I0 giờ 00 ngày 20 tháng 08 năm 2016

Có thê tìm hiêu luận văn tại:

- Thư viện của Học viện Công nghệ Bưu chính Viễn thông

Trang 3

MO DAU

Ngày nay, với sự bùng nổ của công nghệ thông tin và internet, nhu cầu tinh toán

trong lĩnh vực khoa học ngày càng trở nên cấp bách và đối mặt với nhiều thách thức, do đó

có nhiều giải pháp lần lượt được đưa ra nhằm tăng khả năng xử lý tính toán và rút ngắn tối

đa thời gian tính toán Trước tình hình này, các nhà nghiên cứu vi xử lý đã chuyển hướngsang phát triển công nghệ da lõi, nhiều lõi, đa nhân với cơ chế xử lý song song và phân tántrong các máy tính hiệu năng cao nhằm tăng hiệu năng và chi phí năng lượng hợp lý Các bộ

xử lý tiên tiến, các hệ thống tính toán tích hợp, phức tạp có tốc độ cao đều áp dụng kỹ thuật

xử lý song song, coi đây như là một kỹ thuật tiên tiến, khả thi, có tinh mở cao

Năm 1965, nhà đồng sáng lập hãng Intel là Gordon Moore đăng một bài viết trong đó

dự báo số bóng bán dẫn transistor trên mạch tích hợp sẽ tăng gấp đôi mỗi năm (về sau điềuchỉnh lại là "tăng gấp đôi theo chu kỳ 18 tháng"), sau này được biết đến là “định luật More”.Tuy nhiên với sự phát triển như vũ bão của công nghệ, và sự hạn chế của kỹ thuật, lượngtransistor không còn tăng được nữa, tính quy mô của định luật More không còn Đã đến lúccần một giải pháp khác cho sự phát triển của công nghệ điện toán Và tính toán song song sẽ

có thé đem đến một nền tang phát triển mới

Như chúng ta đã biết tính toán song song không phải là một khái niệm mới trong thời

đại ngày nay Tính toán song song ra đời dé giải quyết các bài toán thực hiện tuần tự nhưng

có khả năng chia nhỏ thành nhiều tác vụ song song dé tăng hiệu suất xử lý của bài toán.Bằng cách ứng dụng mô hình tính toán song song, hiện nay trên thế giới đã ra đời rất nhiềusiêu máy tính nhằm phục vụ cho nhu cầu tính toán lớn Chính vi vậy tại hội thảo siêu điệntoán Quốc tế 2011 Intel đã đưa ra kiến trúc máy tính đa nhân tích hợp (Many IntegratedCore — MIC), có thé xem MIC như một xử lý phối hợp (Co-processor) và lợi thé của nó là

có thê dùng chung trình biên dịch, chung các công cụ, chung ứng dụng của các CPU Intel vàthay vi dé xử lý các ống lệnh đồ hoa, MIC tập trung vào tính toán thông thường dựa trênđiện toán song song (Parallel Computing) Đây là một kiến trúc lớn được Intel định hướngđến phân khúc điện toán siêu cấp, chuyên làm các tính toán quy mô lớn như thiên văn học,

dự báo thời tiết, vật ly lượng tử, khai thác dầu khí, khám phá phân tử, chuẩn đoán y khoa,các dịch vụ trên điện toán đám mây hay phá mã mật khẩu

Minh họa một cách đơn giản, tính toán truyền thống giống như việc một người đọc

bài văn theo kiêu tuân tự từ dau đên cuôi, còn tính toán song song thi giông như tach bai văn

Trang 4

đó thành các phan và cho nhiều người khác nhau cùng đọc một lúc dé có kết quả nhanh hơn

Tính toán song song mang lại một nền tảng mới cho sự phát triển của công nghệ xử lý Đây

là một hướng đi mới, đúng đắn và hiệu quả cho công nghệ điện toán trong tương lai Thay

được lợi ích to lớn đó, em chọn đề tài “Nghiên cứu mô hình tính todn song song trên kiến

trúc may tính da nhân tích hợp (Many Integrated Core) và ứng dụng”.

Mục đích nghiên cứu chính của luận văn là phần nào thể hiện được những kiến thức

cơ bản về tính toán song song, ứng dụng của tính toán song song trên kiến trúc máy tính đanhân tích hợp dé giải bài toán phá mã mật khẩu Từ đó ứng dụng vào các ngành khoa họckhác để thực hiện những tính toán nhanh hơn, việc xử lý song song sẽ giải quyết đượcnhững bài toán lớn hơn, phức tạp hơn trong thực tế

Luận văn gồm 3 chương chính với các nội dung sau:

Chương 1: Lý thuyết về tính toán song song và tính toán hiệu năng cao Nộidung của chương này trình bày kiến thức hiểu biết về tính toán hiệu năng cao, tính toán

song song, các mô hình lập trình song song và thuật toán song song.

Chương 2: Nghiên cứu về kiến trúc MIC Chương này tập trung tìm hiểu kiến trúc

máy tính đa nhân tích hợp, tìm hiểu thư viện và công cụ phát triển các ứng dụng song songcho hệ thống tính toán hiệu năng cao trên nền tảng đa nhân tích hợp

Chương 3: Giải bài toán phá mật khẩu được mã hóa theo chuỗi MD5 trên hệthống HPC Chương này sử dụng thư viện lập trình song song MPI trên hệ thống MIC ứngdụng giải bài toán phá mật khẩu được mã hóa theo chuỗi MD5 (có không quá 6 ký tự)

Trang 5

CHƯƠNG 1: LÝ THUYET VE TÍNH TOÁN SONG SONG VA TÍNH

TOAN HIEU NANG CAO

1.1 Tổng quan về tinh toán hiệu năng cao

1.1.1 Giới thiệu về tính toán hiệu năng cao

Tính toán hiệu năng cao (High Performance Computing - HPC) là một trong những

lĩnh vực nghiên cứu dang được quan tâm hiện nay trên thế giới Hiểu một cách đơn giản,tính toán hiệu năng cao cho phép tận dụng tối đa tài nguyên tính toán và lưu trữ để tạo ramột hệ thống đáp ứng yêu cầu ứng dụng trong thời gian nhanh hơn, với chỉ phí thấp hơn

Phương thức tính toán truyền thống được thực hiện dưới hình thức một ứng dụng

chạy trên một máy chủ hay một workstation Tất cả các lệnh của một ứng dụng đều được xử

lý trên hệ thong cục bộ Trong khi đó, tính toán hiệu năng cao lại sử dung sức mạnh xử lýcủa nhiều hệ thống dé xử lý các lệnh của một ứng dụng Việc phân phối khối lượng xử lýtrên nhiều hệ thống sẽ giúp tăng tốc độ xử lý dữ liệu

1.12 Nhu cầu xây dựng hệ thống tính toán hiệu năng cao

Nhu cầu ứng dụng Công nghệ thông tin trong các hoạt động nghiên cứu khoa học vàcông nghệ, quản lý kinh tế xã hội ngày càng cao, đòi hỏi phải giải quyết nhiều các bài toán

xử lý lớn với khối lượng tính toán không 16 đến mức các máy tính tuần tự (SequentialComputer) không đủ mạnh dé có thé đưa ra một phương án lời giải trong giới hạn thời giancho phép Ý tưởng xây dựng các máy tính song song tuy đã xuất hiện từ lâu trong cácnghiên cứu, nhưng mới chỉ trở thành hiện thực trong vòng vài chục năm gần đây

1.1.3 Hệ thống HPC tại Viện Công nghệ phan mém và Nội dung số

Bang 1.1: Tốc độ tính toán của hệ thống HPC tại viện CNPM & NDS [6]

Số lượng | Tổngsố | Tốc độ | FLOPS/clock| Tổng cộng

Bộ vi xử lý bộ xử lý | nhân/BXL (3) (4) (GFlops)

(1) (2) (5) = 1*2*3*4

Intel Xeon 26 Processor ES- 48 8 Ghz 8 7.987

2670 Intel Xeon Phi 1.053

Coprocessor 48 60 ? 16 48.522

Ghz 5110p

Intel Xeon

Processor E5- 4 10 2,5 Ghz 8 800

2670 v2

Tong cong 57.309

Trang 6

1.2 Lý thuyết về tính toán song song

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

Tính toán song song hay xử lý song song (Parallel Computing/Parallel Processing) là

quá trình xử lý thông tin trong đó nhiều đơn vị dữ liệu được kích hoạt xử lý đồng thời và

cùng tham gia giải quyết một bài toán

Phân biệt giữa tính toán song song và tính toán tuần tự:

Bảng 1.2: Phân biệt tính toán tuần tự và song song

Tính toán tuần tự Tính toán song songMỗi thời điểm chỉ thực hiện được một —_ | Mỗi thời điểm có thê thực hiện được

phép toán nhiều phép toán

Thời gian thực hiện phép toán chậm Thời gian thực hiện phép toán nhanh

1.2.2 Một số thuật ngữ dung trong tính toan song song

Lập trình song song (Parallel Programming) là việc lập trình sử dụng một ngôn ngữ

có hỗ trợ xử lý song song các lệnh trong một chương trình.

Máy tính song song (Parallel Computer) là một máy tính có nhiều bộ xử lý(multiple-processor) có khả năng phối hop với nhau dé giải quyết các bai toán

Siêu máy tính (Supercomputer) là một máy tính đa năng có khả năng giải các bài

toán đơn với tốc độ tính toán cao (cỡ hàng nghìn tỉ phép tính trong một giây) So với cácmáy tính được chế tạo cùng thời thì siêu máy tính có tốc độ xử lý lớn hơn hàng nghìn lần.Các siêu máy tính hiện đại là các máy tính song song Một vài siêu máy tính có số lượng ít

bộ xử lý nhưng rất mạnh, đa số siêu máy tính có số lượng bộ xử lý rất lớn

Thông lượng (Throughput) của một thiết bị là lưu lượng đữ liệu được truyền tải quathiết bị trong một đơn vi thời gian Có nhiều cách để cải tiến thông lượng của một thiết bịnhư: tăng tốc độ, tăng số thao tác tại một thời điểm

Song song hóa dữ liệu (Data Parallelism) là việc sử dụng nhiều bộ chức năng(functional units) để xử lý cùng một thao tác đồng thời cho các phần tử của một tập dữ liệu

Song song điều khiển (Control Parallelism) là cơ chế trong đó nhiều thao tác khácnhau tác động lên nhiều đơn vị dit liệu khác nhau một cách đồng thời

Dây chuyền (Pipelining) là cơ chế chia công việc thành nhiều chặng nối tiếp nhau,

mỗi chặng được thực hiện bởi một bộ phận khác nhau Đầu ra của bộ phận này là đầu vào

của bộ phận tiếp theo

Trang 7

Tăng tốc (Speedup): Tăng tốc của thuật toán song song là tỷ số giữa thời gian thực

hiện trong tình huống xấu nhất của thuật toán tuần tự tốt nhất và thời gian thực thiện cùng

công việc đó của thuật toán song song.

Hiệu qua (Efficiency) của thuật toán song song được tinh bang Tăng tốc/Số bộ xử lytham gia tính toán.

1.2.3 Tại sao phải tính toán song song

Khoa học kỹ thuật ngày càng phát triển, đặt ra nhiều bài toán với khối lượng tínhtoán rất lớn Trong số đó có những bài toán mà kết qua chỉ có ý nghĩa nêu được hoàn thành

trong khoảng thời gian cho phép Ví dụ như các tính toán trong thời gian thực, mô phỏng

các hoạt động ở mức lượng tử, tính qui đạo chuyền động của vật thé trong không gian, xử lyngôn ngữ tự nhiên, dự báo thời tiết Hầu hết những bài toán này, những máy tính xử lýtuần tự không đáp ứng được yêu cầu, do đó cần phải có những hệ thống máy tính thật mạnh

mới đáp ứng được những yêu cầu của thực tế

Mặc dù tốc độ xử lý của các bộ xử lý tăng nhiều trong những năm qua, nhưng do giớihạn về vật lý nên khả năng tính toán của chúng không thê tăng mãi được Điều này dẫn tới

là muốn tăng được khả năng tính toán của các hệ thống máy tính thì đích cuối cùng là phải

khai thác được khả năng xử lý song song của chúng Ngày càng xuất hiện nhiều bài toán mànhững hệ thống đơn một bộ xử lý không đáp ứng được yêu cau xử lý về thời gian, do đó đòihỏi phải sử dụng những hệ thống đa bộ xử lý và đòi hỏi phải xử lý song song

1.2.4 Tìm hiểu các kiến trúc máy tính song song

1.2.4.1 Tổng quan về kiến trúc máy tính

Máy tính được xây dựng từ các khối cơ sở:

- Bộ nhớ: Đề lưu trữ dữ liệu

- Các đơn vị logic và số học: Thực hiện các phép toán, được ký hiệu là ALU

- Các phan tử xử lý: Bộ điều khiển (CU — Control Unit) và các thiết bị vào/ra dit liệu

- Các Bus trao đôi dit liệu

1.2.4.2 Phan loại máy tính song song

Sự phân loại máy tinh song song được dựa trên kiến trúc bộ nhớ của chúng Các zmáy

tính song song có bộ nhớ chia sẻ (Shared Memory) có nhiều bộ xử lý cùng được truy nhậpđến một vùng nhớ tổng thé dùng chung Tất cả các sự thay đổi nội dung bộ nhớ do một bộ

xử lý tạo ra sẽ được nhận biết bởi các bộ xử lý khác Người lập trình không phải quan tâm

đên việc phân chia dir liệu.

Trang 8

Còn lại, các máy tính song song có bộ nhớ phân tán (Distribute Memory) cũng có

nhiều bộ xử lý nhưng với mỗi bộ xử lý chỉ có thé truy cap đến bộ nhớ cục bộ của nó, không

có một vùng nhớ dùng chung nào cho tât cả các bộ xử lý.

Interconnection Network

Hình 1.2: Máy tính song song có bộ nhớ phân tan [14]

1.2.4.3 Các mô hình kiến trúc máy tính song song

Mô hình kiến trúc máy tính song song theo Flynn (1996) dựa trên hai yếu tố cơ bản:

Dòng lệnh (instruction stream) va dòng dữ liệu (data stream).

Bảng 1.3: Mô hình máy tính song song theo Flynn

(instruction stream) (data stream) *

Trạng thái đơn Trang thái đơn

(single) (single) Data)

Trang thai don Trang thai da

(single) (multiple) Data)

Trang thai da Trang thai don

(multiple) (single) Data)

Trang thai da Trang thai da MIMD (Multiple Instruction

(multiple) (multiple) Multiple Data)

Trang 9

7Máy tính đơn dòng lệnh, đơn luồng dữ liệu

ƯO

Data Stream Instruction Stream

Processor Memo

Control Unit m

Hình 1.3: Mô hình kiến trúc máy SISD [13]

Máy tính đơn dòng lệnh, đa luồng dữ liệu

May tinh SIMD đóng vai trò quan trọng trong xử lý song song Chúng có thé thao tác

trên các dữ liệu biểu diễn đưới dạng vector hay ma trận (trên thực tế các dữ liệu về thời tiết

hoặc các nghiên cứu về bức xạ gây ung thư thường được biéu diễn dưới dạng vector) Máytính SIMD có thể xử lý các bài toán này trong một khoảng thời gian ngắn hơn so với các môhình khác Trong trường hợp kích thước của vector đúng bằng số lượng bộ vi xử lý thì hiệu

suất của máy SIMD sẽ đạt tối ưu Trong trường hợp mà số bộ vi xử lý và kích thước vectorkhác nhau, thì tốc độ xử lý của máy tính SIMD cũng tốt hơn nhiều so với máy tính tuần tự

Hình 1.4: Mô hình kiến trúc may SIMD [13]

Máy tính đa dòng lệnh, đơn luồng dữ liệu

MISD là một kiến trúc song song mà trong đó tại mỗi thời điểm các bộ xử lý thực

hiện các thao tác khác nhau trên cùng một dữ liệu (ngược với máy tính loại SIMD) Máy

tính MISD có ý nghĩa về mặt lý thuyết nhiều hơn thực tế; cho tới thời điểm này, kiến trúcMISD vẫn chưa có một phiên bản chính thức nào được xây dựng hay nghiên cứu phát triển

Trang 10

Data Stream

ƯO

Instruction Stream

Memory

Hình 1.5: Mô hình kiến trúc máy MISD [13]

Máy tính da dòng lệnh, da luồng dữ liệu

Máy tính MIMD còn được gọi là máy tính đa bộ xử ly (multiprocessors) trong đó các

bộ xử lý có các chức năng độc lập nhau Tại bắt cứ thời điểm nào, các bộ xử lý của máy tính

MIMD có thé thực hiện các lệnh khác nhau trên các di liệu khác nhau một cách không đồng

bộ Đây là loại kiến trúc phức tạp nhất, nhưng nó là mô hình hỗ trợ xử lý song song cao nhất

và đã có nhiều máy tính được thiết kế theo kiến trúc này

Data Stream

Control Unit 1

Processor Memory | Unit 1 (Program, Data)

Processor Memory 2

Unit 2 (Program, Data)

Control Unit 2

Control Unit n

Processor Memory n Unit n (Program, Data)

Hình 1.6: Mô hình kiến trúc may MIMD [13]

1.3 Cac mô hình lập trình tính toán song song

1.3.1 Tìm hiểu về lập trình song song

Lập trình tính toán song song tập trung vào việc phân chia bài toán tông thé ra thành

các công việc con nhỏ hơn rồi định vị các công việc đó đến từng bộ xử lý và đồng bộ các

công việc đê nhận được kêt quả cuôi cùng.

Trang 11

1.3.2 Một số mô hình lập trình tính toán song song

1.3.2.1 Mô hình chia sẻ bộ nhớ

Mô hình này được thiết kế cho máy tính xử lý song song, các tác vụ chia sẻ không

gian dia chỉ dung chung, được doc/ghi một cách không đồng bộ

1.3.2.2 Mô hình đa luồng

Trong mô hình đa luồng (Threads), một bài toán có thé có rất nhiều luồng xử lý

a.out

call sub1()

call sub2()

do i=1,n A(i)=fne(i**2)

B(I)=A(i)ˆpsi

end do call sub3()

1.3.2.3 Mô hình truyền thông điệp (Message Passing)

Trong máy tính song song cung cấp kỹ thuật truyền thông điệp dé trao đổi giữa các

tác Hai tác vụ nằm trên hai máy khác nhau có thể trao đổi với nhau băng kỹ thuật truyền

Trang 12

thông điệp trên mạng kết nối Các thông điệp có thể là các lệnh, dữ liệu, tín hiệu đồng bộ

hay ngắt

Hình 1.9: Mô hình truyền thông giữa các tác vụ trên hai máy tính [12]

1.3.2.4 Mô hình song song dt liệu

Trong mô hình song song dữ liệu (Data Parallel), hầu hết các công việc song song

đều tập trung thực hiện các phép toán trên một tập dữ liệu Tập dữ liệu này thường được tôchức trong một cấu trúc dữ liệu thông dụng như mảng hoặc khối Một tập tác vụ sẽ làm việctrên cùng cấu trúc dữ liệu nhưng mỗi tác vụ sẽ làm việc trên một phần dir liệu khác nhau với

cùng phép toán.

task 1 task 2 ven task n

Hình 1.10: Mô hình song song đữ liệu [12]

1.3.2.5 Mô hình hướng đối tượng

1.3.2.6 M6 hình logic

1.4 Tìm hiểu thuật toán song song

1.4.1 Nguyên lý thiết kế thuật toán song song

Trang 13

Khi thiết kế giải thuật song song, cần tuân thủ 5 nguyên lý sau:

- Các nguyên lý lập lịch: Mục đích là giảm tối thiểu các bộ xử lý sử dụng trong giải

thuật sao cho thời gian tính toán là không tăng (xét theo khía cạnh độ phức tạp).

- Nguyên lý hình ống: Nguyên lý này được áp dụng khi bài toán xuất hiện một dãy

các thao tác {Th, Tạ, , Tạ}, trong đó T;+ 1 thực hiện sau khi T; kết thúc

- Nguyên lý chia để trị: Chia bài toán thành những phần nhỏ hơn tương đối độc lậpvới nhau và giải quyết chúng một cách song song

- Nguyên lý đô thị phụ thuộc dé liệu: Phân tích mỗi quan hệ dé liệu trong tính toán

dé xây dựng đồ thị phụ thuộc dit liệu và dua vào đó dé xây dựng giải thuật song song

- Nguyên ly diéu kiện ganh đua: Nêu hai tiễn trình cùng muốn truy cập vào cùng mộtmục dé liệu chia sẻ thì chúng phải tương tranh với nhau, nghĩa là chúng có thé cản trở lẫn

nhau.

1.4.2 Phân tích, danh gia thuật toán song song

Độ phức tạp tính toán của thuật toán song song không chỉ phụ thuộc vào kích cỡ của

dữ liệu đầu vào mà còn phụ thuộc vào kiến trúc máy tính song song và số lượng các bộ xử

lý được phép sử dụng trong hệ thống

Độ phức tạp thời gian là thước đo quan trọng nhất đánh giá mức độ hiệu quả của

thuật toán song song.

1.4.3 Một số chiến lược song song hóa phổ bién

1.4.3.1 Song song hóa kết qua

1.4.3.2 Song song hóa đại diện

1.4.3.3 Song song hóa chuyên biệt

1.5 Kết luận chương 1

Dé phát huy khả năng của những hệ thống máy tính hỗ trợ tính toán song song cần

phải xây dựng mô hình lập trình song song và thuật toán song song phù hợp Nhờ các giải

thuật song song hợp lý đã làm thay đổi quan niệm về khả năng giải được trong thực tế củanhững bài toán khác nhau Nhiều thuật toán trước đây không thể chấp nhận vì khối lượng

tính toán quá lớn thì ngày nay lại hoàn toàn khả thi.

Ngày đăng: 03/04/2024, 01:44

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

TÀI LIỆU LIÊN QUAN

w