Tải bản đầy đủ (.pdf) (105 trang)

Nghiên Cứu Thuật Toán Điều Khiển Thích Nghi Luồng Tham Chiếu Để Nâng Cao Tốc Độ Cho Các Hệ Xử Lý Song Song Chuyên Dụng.pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.24 MB, 105 trang )

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

ĐẠI HỌC THÁI NGUYÊN

CHU ĐỨC TỒN

NGHIÊN CỨU THUẬT TỐN ĐIỀU KHIỂN THÍCH NGHI
LUỒNG THAM CHIẾU ĐỂ NÂNG CAO TỐC ĐỘ CHO
CÁC HỆ XỬ LÝ SONG SONG CHUYÊN DỤNG

LUẬN ÁN TIẾN SĨ KỸ THUẬT

THÁI NGUYÊN - 2014
Số hóa bởi Trung tâm Học liệu

/>

BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC THÁI NGUYÊN
________________

CHU ĐỨC TỒN

NGHIÊN CỨU THUẬT TỐN ĐIỀU KHIỂN THÍCH NGHI
LUỒNG THAM CHIẾU ĐỂ NÂNG CAO TỐC ĐỘ CHO CÁC
HỆ XỬ LÝ SONG SONG CHUYÊN DỤNG
Chuyên ngành: Kỹ thuật Điều khiển và Tự động hóa
Mã số: 62.52.02.16
LUẬN ÁN TIẾN SĨ KỸ THUẬT
Cán bộ hướng dẫn khoa học 1


PGS. TS. Đỗ Xuân Tiến

Cán bộ hướng dẫn khoa học 2

PGS.TS. Nguyễn Hữu Công

THÁI NGUYÊN - 2014
Số hóa bởi Trung tâm Học liệu

/>

i

LỜI CAM ĐOAN
Tơi xin cam đoan đây là cơng trình nghiên cứu của riêng tôi. Các số liệu, kết
quả mới nêu trong luận án là hoàn toàn trung thực và chưa từng được ai cơng bố
trong bất kì cơng trình nào khác.
Ngày 05 tháng 02 năm 2014
Tác giả luận án

Chu Đức Tồn

Số hóa bởi Trung tâm Học liệu

/>

ii

LỜI CẢM ƠN
Trong q trình làm luận án, tơi đã nhận được nhiều ý kiến đóng góp từ các

thầy, cơ giáo, các anh chị và các bạn đồng nghiệp.
Tôi xin bày tỏ lòng biết ơn sâu sắc nhất đến tập thể hướng dẫn PGS.TS Đỗ
Xuân Tiến – Học viện KTQS, PGS.TS Nguyễn Hữu Công – Đại học Thái Nguyên
đã tận tình hướng dẫn tơi trong suốt q trình làm luận án. Tôi xin cảm ơn đến ban
chủ nhiệm và hội đồng khoa học của bộ mơn: Tự động hóa XNCN - Khoa Điện Trường Đại học Kỹ thuật Công nghiệp, Đại học Thái Nguyên; bộ môn Kỹ thuật Vi
xử lý – Học viện Kỹ thuật Quân sự.
Tôi xin chân thành cảm ơn lãnh đạo và các chun viên Phịng thí nghiệm Kỹ
thuật Vi xử lý – Học viện Kỹ thuật Quân sự, đã tạo điều kiện về trang thiết bị thực
nghiệm để tơi hồn thành được phần thực nghiệm và mô phỏng của luận án.
Tôi xin chân thành cảm ơn Khoa Sau đại học - Trường Đại học Kỹ thuật Công
nghiệp, Đại học Thái Nguyên, xin chân thành cảm ơn Ban giám hiệu Trường Đại
học Kỹ thuật Công nghiệp đã tạo những điều kiện thuận lợi nhất về mọi mặt để tơi
hồn thành khóa học Nghiên cứu sinh.
Tác giả luận án

Chu Đức Tồn

Số hóa bởi Trung tâm Học liệu

/>

iii

MỤC LỤC
Trang
Lời cam đoan………………………………………………………..

i

Lời cảm ơn…………………………………………………………..


ii

Mục lục…………………………………………………………………..

iii

Danh mục các ký hiệu và các chữ viết tắt……………………………….

vi

Danh mục các bảng………………………………………………………

viii

Danh mục các hình vẽ và đồ thị……………………………………….....

ix

MỞ ĐẦU………………………………………………………………...

1

Chương 1. KIẾN TRÚC HỆ XỬ LÝ SONG SONG ĐA CPU

6

1.1. Tài nguyên hệ thống………………………………………...............

6


1.1.1. Tài nguyên phần cứng………………………………………….

6

1.1.2. Tài nguyên phần mềm…………………………………………..

6

1.2. Định nghĩa hệ xử lý song song …………………………..................

7

1.3. Phân loại hệ xử lý song song……………………………………….

7

1.3.1. Sơ đồ phân loại của Flynn…………………………………….

8

1.3.2. Sơ đồ phân loại của Handler………………………………….

9

1.4. Kiến trúc chung hệ xử lý song song đa CPU……………………….

10

1.4.1 Mơ hình………………………………………………………….


11

1.4.2 Những vấn đề liên quan đến hiệu năng…………………………

12

1.5. Kiến trúc chung hệ xử lý song song đa CPU chuyên dụng……........

19

1.5.1. Các đặc trưng của hệ xử lý song song chuyên dụng…………....

19

1.5.2. Kiến trúc của hệ xử lý song song chuyên dụng…………………

21

1.6. Luận giải, định hướng nghiên cứu của đề tài……………………….

25

1.7. Kết luận chương 1…………………………………………..............

30

Chương 2. XÂY DỰNG MƠ HÌNH TỐN HỌC THAM CHIẾU
BỘ NHỚ DÙNG CHUNG TRONG HỆ XỬ LÝ SONG SONG ĐA


31

CPU CHUYÊN DỤNG
2.1. Cơ sở lý thuyết ................................................................................................
31

Số hóa bởi Trung tâm Học liệu

/>

iv

2.2. Xây dựng mơ hình tốn học tham chiếu bộ nhớ dùng chung trong
hệ xử lý song song đa CPU chun dụng………………………………..
2.2.1. Mơ hình truyền thống tham chiếu bộ nhớ dùng chung trong hệ xử
lý song song đa CPU………….................................................................
2.2.2. Mô hình cải tiến tham chiếu bộ nhớ dùng chung trong hệ xử lý
song song đa CPU…………...................................................................
2.2.2.1. Xác định đại lượng P – Xác suất thanh ghi tham chiếu lối vào
rỗi…………..............................................................................................
2.2.2.2. Xác định đại lượng Ep – Hiệu năng khi các hàng đợi của các
mô đun nhớ đầy …………........................................................................
2.2.2.3. Xác định El - Hiệu năng khi thanh ghi tham chiếu lối vào băng
nhớ rỗi……………………………………………………………………
2.3. Kết luận chương 2………………………………………………….
Chương 3. XÂY DỰNG MƠ HÌNH ĐIỀU KHIỂN THÍCH NGHI
CHO HỆ XỬ LÝ SONG SONG ĐA CPU CHUYÊN DỤNG……….

35
35

36
37
44
47
51
53

3.1. Xây dựng phần mềm khảo sát ................................................................ 53
3.1.1. Xây dựng mơ đun chính phần mềm khảo sát ..............................................
53
3.1.2. Xây dựng mơ đun phần mềm tính toán hiệu năng hệ xử lý song

55
song đa CPU trong quan hệ với chu kỳ bộ nhớ dùng chung Tc ...............................
3.1.3. Xây dựng mơ đun phần mềm tính tốn hiệu năng hệ xử lý song

57
song đa CPU trong quan hệ với số lượng luồng tham chiếu n ................................
3.1.4. Xây dựng mơ đun phần mềm tính tốn hiệu năng hệ xử lý song
song đa CPU trong quan hệ với chu kỳ bộ nhớ Tc khi khảo sát ở giá trị

59

ρ=0,5.………………………………………………..................................
3.2. Khảo sát, đánh giá hiệu năng mơ hình điều khiển ………………….

61

3.3. Xây dựng mơ hình điều khiển thích nghi…………………………...


65

3.4. Cơng nghệ FPGA……………………………………………………

69

3.4.1. Tái kiến trúc phần cứng bằng chương trình………………………

69

3.4.2. Thiết kế hệ thống trên FPGA…………………………………

75

Số hóa bởi Trung tâm Học liệu

/>

v

3.5. Sơ đồ nguyên lý điều khiển thích nghi theo tham số m……………

83

3.6. Kết luận chương 3…………………………………………...............

85

KẾT LUẬN CHUNG VÀ KIẾN NGHỊ ................................................................
86

DANH MỤC CÁC CƠNG TRÌNH CỦA TÁC GIẢ ...............................................
87
TÀI LIỆU THAM KHẢO ........................................................................................
88

Số hóa bởi Trung tâm Học liệu

/>

vi

DANH MỤC CÁC KÝ HIỆU
Ký hiệu

Ý nghĩa



Là tốc độ tới của hệ thống



Là tốc độ phục vụ của hệ thống

Ta

Thời gian truy nhập bộ nhớ




Thời gian trễ mạch chốt

E

Hiệu năng của bộ nhớ song song dùng chung

EP

Hiệu năng của một tham chiếu khi thanh ghi tham chiếu lối vào
bận

El

Hiệu năng khi thanh ghi tham chiếu lối vào rỗi

Tl

Chu kỳ của băng logic

Tp

Chu kỳ hiệu quả của bộ nhớ

Td

Độ trễ nhỏ nhất để truyền một tham chiếu từ hàng chờ vào môđun
nhớ

Tc


Chu kỳ vật lý của môđun nhớ

P

Xác suất thanh ghi lối vào rỗi

k

Số môđun nhớ trong mỗi băng logic

l

Số lượng băng logic trong hệ thống

m

Kích thước hàng chờ của mỗi mơđun nhớ
Tốc độ khởi tạo tham chiếu trung bình của mỗi CPU (Xác suất

q

một luồng tham chiếu đang ở trạng thái tự do sẽ khởi tạo một
tham chiếu)






Xác suất mà một luồng tham chiếu ở trạng thái tự do

Xác suất một luồng tham chiếu đang thực hiện một tham chiếu thành
công
Xác suất một luồng tham chiếu đang thực hiện một tham chiếu
không thành công
Xác suất để một tham chiếu thành cơng

Số hóa bởi Trung tâm Học liệu

/>

vii

DANH MỤC CÁC TỪ VIẾT TẮT
ALU

Arithmetic Logic Unit đơn vị logic số học

CISC

Bộ VXL với tập lệnh đầy đủ

CU

Control Unit – đơn vị điều khiển;

DS

Data stream – luồng dữ liệu

EX


Execution - Thực hiện lệnh

FIFO

First In First Out - Vào trước ra trước

FPGA

Field Programmable Gate Array mảng cổng logic lập trình được

ID

Instruction decoder – giải mã lệnh

IF

Instruction fetch – nạp lệnh

IS

Instruction stream – luồng lệnh

MIMD

Multiple Instruction Multiple Data - Đa dòng lệnh đa dịng dữ
liệu

MM


Memory Module – Mơ đun nhớ;

OF

Operate Fetch – nạp toán hạng

PE

Processing Element – Phần tử xử lý

PU

Processing Unit – Đơn vị xử lý.

RISC

Bộ vi xử lý với tập lệnh rút gọn

TGBL

Thanh ghi băng logic

KGNDC Không gian nhớ dùng chung

Số hóa bởi Trung tâm Học liệu

/>

viii


DANH MỤC CÁC BẢNG
Danh mục

Nội dung

Trang

Bảng 1.1:

Phân loại kiến trúc của Flynn

8

Bảng 1.2:

Sơ đồ phân loại của Erlanger

10

Bảng 1.3:
Bảng 1.4:
Bảng 3.1:
Bảng 3.2:

So sánh một số tính năng của hệ xử lý song
song đa dụng và chuyên dụng
Thống kê khả năng xuất hiện các loại lệnh
Xác suất một yêu cầu đến khi hàng đợi chưa
đầy theo m và ρ với qui tắc hàng đợi M/D/1/m
Bảng điều khiển


Số hóa bởi Trung tâm Học liệu

21
24
63
84

/>

ix

DANH MỤC CÁC HÌNH VẼ
Danh mục

Nội dung

Trang

Hình 1.1:

Mơ hình kiến trúc SISD

8

Hình 1.2:

Mơ hình kiến trúc SIMD

8


Hình 1.3:

Mơ hình kiến trúc MISD

9

Hình 1.4:

Mơ hình kiến trúc MIMD

9

Hình 1.5:

Mơ hình kiến trúc chung của hệ xử lý song song

11

Hình 1.6:

Cấu trúc của khối xử lý lệnh trong máy CRAY-1

12

Hình 1.7:

Kiến trúc đường ống 4 tầng

13


Hình 1.8:

Hiệu ứng đường ống

14

Hình 1.9:

Cấu trúc của bộ nhớ phân cấp trong các hệ xử lý

19

Hình 1.10:

Kiến trúc của hệ xử lý song song đa CPU chun dụng

21

Hình 1.11:

Mơ hình kiến trúc: a) Hệ xử lý CISC, b) Hệ xử lý RISC

23

Hình 1.12:

Tác động của lệnh rẽ nhánh (I3B) đến đường ống 4 tầng

24


Hình 1.13:

Tổ hợp tên lửa S-300 PMU1 của Việt nam

27

Hình 1.14:

Cự ly quan sát của hệ

28

Hình 2.1:

Hình 2.2:
Hình 2.3:

Hình 3.1:

Tham chiếu bộ nhớ dùng chung trong hệ xử lý song
song.
a. Sơ đồ hàng đợi tổng quát;
b. Sơ đồ hàng đợi cho hệ xử lý song song đa CPU

35

38

Tổ chức băng băng nhớ đan xen cho KGNDC trong hệ

xử lý song song đa CPU.

39

Giao diện phần mềm tính tốn hiệu năng hệ xử lý song
55

song đa CPU
Giao diện phần mềm tính tốn hiệu năng hệ xử lý song

Hình 3.2:

song đa CPU trong quan hệ với chu kỳ bộ nhớ dùng
chung Tc

Số hóa bởi Trung tâm Học liệu

/>
57


x

Giao diện phần mềm tính tốn hiệu năng hệ xử lý song
Hình 3.3:

song đa CPU trong quan hệ với số lượng luồng tham
chiếu n.

59


Giao diện phần mềm tính tốn hiệu năng hệ xử lý song
Hình 3.4:

song đa CPU trong quan hệ với chu kỳ bộ nhớ Tc khi
khảo sát ở giá trị ρ=0.5

61

Hiệu quả tham chiếu ngẫu nhiên băng nhớ logic theo T
Hình 3.5:

được so sánh trong hai trường hợp khi m =2 và trường
hợp khơng có băng nhớ logic (m=0, Tl=Td=0)

Hình 3.6:
Hình 3.7:
Hình 3.8:
Hình 3.9:
Hình 3.10:

Sự phụ thuộc của E theo chu kỳ vật lý của mô đun nhớ
Tc khi m thay đổi
Đồ thị của E theo số luồng tham chiếu n. a) Tc=10; b)
Tc=5
Đồ thị của E theo chu kỳ vật lý mô đun nhớ Tc khi giữ
cố định ρ= 0,5
Sơ đồ khối hệ thống điều khiển thích nghi cơ bản
Sơ đồ khối điều khiển thích nghi luồng tham chiếu cho hệ xử
lý song song đa CPU chuyên dụng


64
64
65
67
68

Hình 3.11:

a) Cấu trúc của PLA

Hình 3.12:

Mơ tả mơ hình của một FPGA

72

Hình 3.13:

Cấu trúc logic Cell trong FPGA

74

Hình 3.14:

Cấu trúc của một FPGA

74

Hình 3.15:


Quá trình thiết kế trên FPGA

76

Hình 3.16:

Mơ hình điều khiển kích thước hàng đợi m

84

Số hóa bởi Trung tâm Học liệu

b) Cấu trúc của PAL

62

/>
71


1

MỞ ĐẦU

1. Tính cấp thiết đề tài
Lý thuyết về xử lý song song (parallel processing) bắt đầu vào những năm
1940 khi J.Von Neumann giới thiệu một số mơ hình hạn chế của tính tốn song
song, chủ yếu là một mảng hai chiều các bộ xử lý trạng thái hữu hạn được tương kết
theo dạng hình lưới. Ngày nay lý thuyết về xử lý song song trở thành lĩnh vực

nghiên cứu quan trọng và ngày càng đem lại những dấu hiệu khả quan trong việc
xây dựng mơ hình lập trình mới có những tính năng vượt trội so với mơ hình lập
trình tuần tự truyền thống.
Nhiều lĩnh vực mới như đồ họa máy tính, trí tuệ nhân tạo, phân tích số, tính tốn
song song trong cơng nghiệp dầu khí, các thiết bị không người lái, thiết bị nhận
dạng bám sát đa mục tiêu di động..., đòi hỏi phải xử lý một khối lượng dữ liệu rất
lớn với tốc độ rất cao. Hầu hết những bài tốn này, những máy tính tuần tự là không
đáp ứng được yêu cầu 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ới hạn về vật lý nên khả năng tính tốn của chúng khơng thể tăng mãi được. Ngày
càng xuất hiện nhiều bài toán mà hệ thống đơn bộ xử lý không đáp ứng được yêu
cầu xử lý về mặt thời gian.
Sự ra đời và phát triển nhanh của công nghệ vi điện tử đã tạo ra bước đột phá
mạnh mẽ trong lĩnh vực khoa học tính tốn và xử lý thơng tin. Với sự phát triển ứng
dụng các công nghệ này đã làm cho ranh giới các ngành khơng cịn rõ rệt nữa (như
Cơng nghệ thông tin, Điện tử viễn thông và Tự động điều khiển). Các hệ thống từ
quy mô nhỏ tới quy mô lớn và siêu lớn trong lĩnh vực quân sự, cũng như dân dụng
đều chứng kiến sự hiện hữu của các hệ vi xử lý chức năng đóng vai trị trung tâm

Số hóa bởi Trung tâm Học liệu

/>

2

điều khiển hệ thống thực hiện các nhiệm vụ đã ấn định. Những hệ thống này đáp
ứng được các yêu cầu khắt khe nhất như đòi hỏi phải xử lý dữ liệu với tốc độ rất
cao, khối lượng dữ liệu và số lượng phép tính rất lớn. Để đáp ứng các yêu cầu trên,
giải pháp thiết kế hệ thống theo hướng xử lý song song là hướng nghiên cứu được
ưu tiên ngày nay.

Để tăng tốc độ cho các hệ xử lý, các nhà thiết kế chế tạo đã áp dụng các cơng
nghệ tiên tiến, từng bước nâng cấp hồn thiện cho các bộ vi xử lý. Điển hình là cấu
trúc bộ vi xử lý với tập lệnh đầy đủ (CISC), bộ vi xử lý với tập lệnh rút gọn
RISC..[10], [12]. Những nghiên cứu về kiến trúc hệ thống số đã khẳng định được
ưu thế nổi bật của hệ thống xử lý song song. Tuy nhiên, xử lý song song là vấn đề
phức tạp, liên quan tới nhiều cơ cấu như: phần cứng của hệ xử lý, phần mềm hệ
thống (hệ điều hành), thuật tốn tính tốn, ngơn ngữ lập trình… Ý tưởng nghiên cứu
kỹ thuật xử lý song song theo hướng chuyên dụng cho từng lớp bài toán để đạt được
tiêu chí về tốc độ, về độ tin cậy được đặt ra là có ý nghĩa thực tế, đáp ứng nhu cầu
phát triển ứng dụng. Nghiên cứu về hệ xử lý song song hiện nay tập chung hai
hướng nghiên cứu chính như sau:
Một là nghiên cứu các hệ xử lý đa năng như siêu máy tính (Suppercomputer)
[47], [56], máy tính lớn (Mainframe), máy tính mini (Minicomputer), mặc dù có
khả năng thực hiện một tập hợp các lớp bài toán phong phú, nhưng để đưa vào sử
dụng cho các ứng dụng chuyên dụng là không phù hợp. Điều này cũng dễ hiểu
bởi vì để thực hiện đa năng: cấu trúc phần cứng và chức năng phần mềm của máy
tính cần phải được tổ chức đa chức năng rất phức tạp. Mô hình tốn cũng rất
phức tạp, vượt qua khỏi cơ cấu tính tốn thơng thường. Do vậy, khi áp dụng
cho các ứng dụng chuyên dụng, tốc độ xử lý của chúng thường chậm hơn so với
khả năng của bộ vi xử lý, thơng số thời gian thực khó kiểm sốt một cách chính
xác...
Các hệ xử lý đa năng mặc dù tốc độ cao, tốc độ của nó có thể sử dụng mô
phỏng các vụ nổ hạt nhân...Hệ xử lý song song đa năng quy mô rất lớn kèm theo cơ
cấu phần mềm vận hành cấu trúc này rất phức tạp. Vì vậy các hệ máy tính này có
Số hóa bởi Trung tâm Học liệu

/>

3


giá thành rất đắt. Đây là vấn đề khó khăn khi giải quyết các bài tốn đặc thù có u
cầu tốc độ nhanh, giá thành rẻ phù hợp với điều kiện nền kinh tế Việt Nam.
Hai là nghiên cứu các hệ xử lý song song đa CPU chuyên dụng đó là: Hệ xử lý
song song chuyên dụng phục vụ một hay một lớp bài toán cụ thể, gần nhau về chức
năng. Do đó, phương thức thao tác, cấu trúc tập hợp dữ liệu cần xử lý, cấu trúc dữ
liệu kết quả đều xác định trước, nên dễ phân rã chức năng hơn; dễ lựa chọn cách tổ
chức dữ liệu và phương pháp xử lý thích hợp với yêu cầu tốc độ. Với nhiệm vụ cụ
thể và cấu trúc dữ liệu xác định, có thể xây dựng thuật tốn xử lý tối ưu, cấu trúc
phần cứng thích hợp, tận dụng tài nguyên hệ thống hợp lý. Do chức năng của hệ xử
lý song song chuyên dụng là hữu hạn và tường minh, nên chương trình Monitor
được xây dựng ở mức tối ưu nhất, dễ hiệu chỉnh và quan trọng hơn là đáp ứng nhanh
yêu cầu của các tiến trình vận hành trong hệ thống.
Xu hướng các nhà thiết kế ứng dụng công nghệ mới FPGA kết hợp với bộ xử lý
lõi phát triển các hệ xử lý theo hướng các hệ thống này có khả năng thay đổi cấu
hình (tái cấu hình) và các hệ thống có tính chun dụng [52], [54]. Đặc biệt, trong
nước đã có một số cơ sở nghiên cứu về hệ xử lý song song trên cơ sở công nghệ
RISC với kiến trúc Harvard. Với kỹ thuật tiên tiến hiện nay, việc sử dụng công nghệ
đương đại FPGA cho phép thực hiện tái kiến trúc nhanh hệ thống nhằm tối ưu hóa
chức năng. Chính vì vậy mà hệ có tốc độ xử lý cao, trong khi từng thành phần của
hệ làm việc ở dưới mức tới hạn nên đảm bảo độ tin cậy cao.
Qua phân tích ở trên đề tài luận án lựa chọn theo hướng nghiên cứu thứ hai là
hệ xử lý song song đa CPU chuyên dụng. Trong hệ xử lý song song đa CPU chuyên
dụng, không gian nhớ dùng chung (KGNDC) rất quan trọng: là nơi lưu trữ các cơ sở
dữ liệu cần xử lý, chứa chương trình điều hành...Khi nhiều luồng tham chiếu truy
cập vào bộ nhớ dùng chung cùng một thời điểm có thể dẫn đến xung đột, hệ thống
lúc đó có thể bị treo hoặc tốc độ truy cập thấp, hiệu năng của bộ nhớ dùng chung
giảm không đáp ứng được yêu cầu tốc độ của bài toán đặt ra. Phần quan trọng của
KGNDC là các bộ điều khiển luồng tham chiếu. Trên cơ sở đó vấn đề cần giải quyết
là tổng hợp cơ cấu điều khiển thích nghi luồng tham chiếu tới KGNDC nhằm giảm
thiểu tối đa xác suất xung đột khi truy cập tài nguyên dùng chung, nâng cao tốc độ

Số hóa bởi Trung tâm Học liệu

/>

4

tính tốn có ý nghĩa rất quan trọng. Từ những phân tích trên, việc đặt ra bài tốn
nghiên cứu hệ xử lý song song đa CPU chuyên dụng đáp ứng tốc độ xử lý nhanh và
có độ tin cậy cao, giá thành hợp lý là cần thiết và là cơ sở hình thành đề tài của luận
án: “Nghiên cứu thuật tốn điều khiển thích nghi luồng tham chiếu để nâng cao
tốc độ cho các hệ xử lý song song chuyên dụng ”.
2. Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu luận án là KGNDC trong hệ xử lý song song đa CPU
chuyên dụng.
- Phạm vi nghiên cứu của luận án là giới hạn trong việc xây dựng mơ hình tốn
học tham chiếu tới KGNDC trong hệ xử lý song song đa CPU chuyên dụng, chỉ rõ
các điều kiện ràng buộc giữa các thông số và các thông số có thể thay đổi điều
khiển được để tổng hợp hệ điều khiển thích nghi luồng tham chiếu tới KGNDC
nhằm nâng cao hiệu năng giảm thiểu xác suất xung đột khi truy cập tài nguyên dùng
chung.
3. Phương pháp nghiên cứu của luận án
- Dựa trên lý thuyết kinh điển là lý thuyết hàng đợi, lý thuyết xác suất cụ thể là q
trình Morkov dừng, phân bố Pốt - xơng để xây dựng và tính tốn hiệu năng cho mơ
hình tốn học tham chiếu tới KGNDC trong hệ xử lý song song đa CPU chun
dụng.
- Mơ tả tốn học mơ hình bộ nhớ dùng chung trong hệ xử lý song song đa CPU
chuyên dụng.
- Nghiên cứu xây dựng hệ thống điều khiển thích nghi luồng tham chiếu sử dụng
cơng nghệ đương đại FPGA.
4. Ý nghĩa khoa học và thực tiễn luận án

4.1. Về mặt khoa học
Ý nghĩa khoa học là nghiên cứu triển khai ứng dụng các bộ điều khiển thích nghi
luồng tham chiếu tới KGNDC cho hệ xử lý song song đa CPU chuyên dụng nhằm
nâng cao hiệu năng, nâng cao tốc độ, giảm thiểu tối đa xác suất xung đột khi truy
cập tài nguyên dùng chung.

Số hóa bởi Trung tâm Học liệu

/>

5
4.2. Về thực tiễn
Kết quả nghiên cứu sẽ làm tài liệu tham khảo cho sinh viên và học viên cao học
cũng như các nhà nghiên cứu quan tâm nghiên cứu về hệ xử lý song song đa CPU
chuyên dụng. Từ kết quả nghiên cứu của đề tài này làm cơ sở cho nhiều nghiên cứu
tiếp theo nhằm đưa ứng dụng rỗng rãi các hệ xử lý song song đa CPU chuyên dụng
vào hệ thống thực tế ở Việt Nam, nhất là các hệ thống có yêu cầu cao về tốc độ.
5. Cấu trúc luận án
Luận án bao gồm phần mở đầu, ba chương thuyết minh, phần kết luận, các
cơng trình cơng bố của NCS, tài liệu tham khảo.
Chương 1: Trình bày, tập trung giới thiệu tổng quan về xử lý song song đa CPU,
các đặc trưng kiến trúc của hệ thống xử lý song song đa CPU chuyên dụng. Phân
tích các kết quả nghiên cứu trong và ngoài nước với các hướng nghiên cứu về hệ
xử lý song song đa CPU chuyên dụng như mở rộng phạm vi ứng dụng, ứng dụng
các phương pháp điều khiển hiện đại. Đề xuất phương pháp và các nội dung cần
nghiên cứu là phương pháp điều khiển thích nghi luồng tham chiếu tới KGNDC
dựa trên lý thuyết hàng đợi nhằm nâng cao hiệu năng giảm thiểu xác suất xung đột
khi truy cập tài nguyên dùng chung.
Chương 2: Trình bày cơ sở xây dựng mơ hình tốn học tham chiếu tới KGNDC cho
hệ xử lý song song đa CPU chun dụng. Phân tích mơ hình, các thơng số ràng

buộc, chỉ ra các thơng số có thể điều khiển được. Trên cơ sở tham khảo các tài liệu
[10], [15], [33], [39], [18] và sử dụng lý thuyết hàng đợi [48].
Chương 3: Dựa trên mơ hình tốn học được xây dựng ở chương 2, tiến hành xây
dựng chương trình thuật tốn khảo sát và tính tốn. Thiết kế tổng hợp hệ thống điều
khiển thích nghi luồng tham chiếu KGNDC bằng cách sử dụng công nghệ đương
đại FPGA.
Kết luận chung và kiến nghị

Số hóa bởi Trung tâm Học liệu

/>

6

Chương 1
KIẾN TRÚC HỆ XỬ LÝ SONG SONG ĐA CPU
1.1. Tài nguyên hệ thống
1.1.1. Tài nguyên phần cứng
- Các bộ xử lý trung tâm CPU đóng vai trị là đơn vị điều khiển, tính tốn, xử lý,
gia cơng thơng tin dưới sự điều khiển của các chương trình có trong hệ thống.
- Không gian nhớ bao gồm cả bộ nhớ thực và bộ nhớ ảo. Đây là môi trường lưu
trữ các cơ sở dữ liệu cần xử lý, chứa kết quả trung gian và kết quả cuối cùng. Quan
trọng nhất là nó chứa hệ điều hành hoặc chương trình Monitor để vận hành hệ thống
cùng với các tài nguyên phần mềm chứa ở đây. Không gian nhớ của hệ xử lý song
song gồm: bộ nhớ cục bộ và bộ nhớ dùng chung. Bộ nhớ cục bộ dành riêng cho một
hệ vi xử lý trong hệ xử lý song song. Bộ nhớ dùng chung là nơi chứa các dữ liệu
dùng chung cho các hệ đơn xử lý thành phần: như các thơng báo của các tiến trình,
các kết quả trung gian đầu ra của tiến trình này nhưng lại là số liệu đầu vào cho các
tiến trình khác trong quá trình hoạt động của hệ thống.
- Hệ thống bus thể hiện năng lực truyền tải thông tin bên trong và với bên ngoài

hệ thống.
1.1.2. Tài nguyên phần mềm
- Hệ điều hành hoặc ở quy mơ nhỏ hơn là chương trình Monitor có nhiệm vụ
điều phối các tiến trình vận hành trong môi trường hệ xử lý song song một cách
hiệu quả nhất. Khi chạy ở chế độ bảo vệ (chế độ địa chỉ ảo), hệ điều hành phải phối
hợp đồng bộ các cơ cấu từ lớp vật lý đến lớp ứng dụng sao cho việc truy nhập vào
các tài nguyên hệ thống phải nhanh nhất và lại phải ít xung đột nhất.
- Các dịch vụ hệ thống cung cấp các chương trình kiểm tra, thơng báo hỏng hóc,
các cơ cấu điều khiển mức hệ thống như vào/ra, điều khiển các giao diện nối tiếp,
song song, các driver cho các phần cứng chức năng.
- Các thư viện chức năng cung cấp các hàm các thủ tục chuẩn trong tính tốn với
các thao tác toán học phức tạp như khai triển chuỗi, xử lý dấu phẩy động ...

Số hóa bởi Trung tâm Học liệu

/>

7

- Bảng véc tơ ngắt chứa các điểm vào tài nguyên phần mềm hệ thống, đặc biệt là
các tài nguyên nằm ở lớp vật lý (tài nguyên lõi), nơi mà các ánh xạ của chúng
thường là ánh xạ trực tiếp tới phần cứng của hệ xử lý song song.
1.2. Các định nghĩa về hệ xử lý song song
- Xử lý song song là quá trình xử lý nhiều tiến trình được phát động đồng thời và
cùng tham gia giải quyết một nhiệm vụ.
- Hệ xử lý song song là một kiến trúc hệ thống bao gồm nhiều hệ xử lý có khả
năng xử lý song song.
- Hiệu năng của xử lý song song có nhiều cách định nghĩa phụ thuộc vào phương
thức tiếp cận với kiến trúc của hệ xử lý song song. Do luận án tiếp cận với kiến trúc
của hệ xử lý song song ở mức thấp (mức cấu trúc phần cứng) nên hiệu năng của hệ

được hiểu như là tỷ số của khả năng thực thi thao tác giữa điều kiện thực tế và điều
kiện lý tưởng (bao gồm: tốc độ tính tốn của CPU, thơng lượng của bộ nhớ cục bộ,
xác suất xung đột các luồng tham chiếu ở bộ nhớ dùng chung ...).
1.3. Phân loại hệ xử lý song song đa CPU
Phân loại tổng quát nhất đối với các hệ xử lý song song là hệ xử lý song song đa
dụng và hệ xử lý song song chuyên dụng. Hệ xử lý song song đa dụng về bản chất
là các hệ máy tính từ siêu máy tính, máy tính lớn, máy tính mini đến kiến trúc song
song kết chùm (cluster) các máy tính PC. Những máy tính này đều có khả năng thực
hiện một tập hợp các lớp bài tốn phong phú. Chính vì vậy, chúng có tổ chức phần
cứng và hệ điều hành phức tạp đáp ứng đầy đủ các chức năng thao tác và điều khiển
cần thiết. Trong khi đó, hệ xử lý song song chuyên dụng cũng là hệ xử lý song song,
đối tượng xử lý là một lớp bài tốn có chức năng xác định; nên rõ ràng là kiến trúc
của chúng sẽ ít phức tạp hơn nhiều so với hệ xử lý song song đa dụng.
Michael J. Flynn, Handler... đã đưa ra cách phân loại các hệ xử lý song song.
Theo các tác giả này, các hệ xử lý song song có thể phân loại dựa vào các đặc trưng
về cấu trúc luồng lệnh/dữ liệu, về mức độ song song và mức độ xử lý theo cơ chế
đường ống cũng như dựa vào chỉ tiêu về kiểu và số lượng CPU, cấu trúc bộ nhớ, sự
kết nối giữa chúng ...

Số hóa bởi Trung tâm Học liệu

/>

8
1.3.1 Sơ đồ phân loại của Flynn
Michael J. Flynn đã đưa ra cách phân loại dựa vào cách thao tác của dòng lệnh và
dòng dữ liệu trong hệ xử lý mà phân thành bốn lớp kiến trúc chính như bảng 1.1.
Bảng 1.1: Phân loại kiến trúc của Flynn
Dòng lệnh


Dòng dữ liệu

Tên gọi

SISD

1

1

đơn dòng lệnh, đơn dòng dữ liệu

SIMD

1

>1

đơn dòng lệnh, đa dòng dữ liệu

MISD

>1

1

đa dòng lệnh, đơn dòng dữ liệu

MIMD


>1

>1

đa dòng lệnh, đa dòng dữ liệu

a. Kiến trúc SISD: được chỉ ra trong hình 1.1, đó là những hệ xử lý truyền thống
chỉ có một CPU, ở mỗi thời điểm chỉ thực hiện một lệnh. Các lệnh có thể được thực
hiện tuần tự, nhưng cũng có thể được xếp chồng theo cơ chế đường ống.
IS
(luồng lệnh)
CU
PU
MM
(Đơn vị điều
IS (Đơn vị xử lý)
(Mơ đun nhớ)
khiển)
DS
(luồng dữ liệu)
Hình 1.1: Mơ hình kiến trúc SISD
b. Kiến trúc SIMD: được chỉ ra trong hình 1.2, đó là những hệ xử có một đơn vị
điều khiển để điều khiển nhiều phần tử xử lý PE. CU điều khiển chung cho tất cả
PE cùng thực hiện thao tác trên những tập dữ liệu của các luồng dữ liệu khác nhau.
IS

CU
(Đơn vị điều khiển )
IS
PE 2


PE 1
DS1

PE n

DS2

DSn

MM2 Các mơ đun nhớ cục bộ MMn

MM1

Hình 1.2: Mơ hình kiến trúc SIMD
Số hóa bởi Trung tâm Học liệu

/>

9

c. Kiến trúc MISD: được chỉ ra trong hình 1.3, có thể thực hiện nhiều tiến trình
trên cùng một tập dữ liệu. Cịn gọi là hệ đa chương trình đơn dịng dữ liệu (MPSD).
IS1

ISn

IS2
CU2


CU1
IS1
PU 1
DS
MM1

CUn

IS2

ISn

PU2
MM2

PUn
MMn

Bộ nhớ dùng chung

Hình 1.3: Mơ hình kiến trúc MISD
d. Kiến trúc MIMD: được chỉ ra trong hình 1.4, trong đó mỗi đơn vị xử lý PU có
thể thực hiện các luồng lệnh khác nhau trên các luồng dữ liệu riêng. Đây là kiến trúc
phức tạp nhất, nhưng là mơ hình hỗ trợ xử lý song song cao nhất. Chính vì tính linh
hoạt của nó mà có nhiều nghiên cứu theo hướng này để chế tạo máy tính lớn.
ISn

IS2
CU1


IS1

CU1
IS1

CU1
ISn

IS2
PU 2
DS2

PU 1
DS1
MM1

MM2

PUn
Bộ nhớ dùng chung

DSn

MMn

Hình 1.4: Mơ hình kiến trúc MIMD
1.3.2. Sơ đồ phân loại của Handler
Handler vào 1977 phân loại hệ xử lý song song dựa trên cấp độ song song và
cấp độ xử lý theo cơ chế đường ống của cấu trúc phần cứng. Với cách này hệ xử lý
song song được xem xét theo ba cấp:

- Đơn vị điều khiển bộ xử lý (PCU).
- Đơn vị số học logic (ALU).
- Mạch mức bít (BLC).
Số hóa bởi Trung tâm Học liệu

/>

10

Mỗi PCU tương ứng với một CPU. ALU tương đương với phần tử xử lý
(PE) chúng được ghi rõ cho các bộ xử lý mảng SIMD. BLC tương ứng kỹ thuật
mạch logic tổ hợp thực hiện các thao tác 1 bit trong ALU.
Một hệ xử lý T(XL) có thể được đặc trưng bằng ba cặp tương ứng:
T(XL) = <K K', D D', W W'>.
K – số bộ xử lý trong hệ.
K' – số đơn vị điều khiển CPU có cơ chế đường ống.
D – số lượng ALU (hoặc PE) dưới sự điều khiển của một đơn vị CU.
D'- số ALU có cơ chế đường ống.
W- độ dài từ (word) của ALU hoặc của PE.
W'- số tầng đường ống sử dụng trong ALU hoặc PE.
Ví dụ, phân loại máy Intel Paragon XP/S sẽ được ghi:
T(XL) = <18402, 1 2, 643>;
Ở đây, theo cấu trúc được hiểu:
- 1840x2: có K= 1840 bộ xử lý, mỗi nút gồm có K' =2 bộ xử lý Intel i860.
- 1 2: một đơn vị xử lý (D) có thể thực hiện D' = 2 lệnh đồng thời.
-643: đơn vị chức năng xử lý có W = 64 bít, ống dẫn có W' = 3 tầng.
Bảng 1.2: Sơ đồ phân loại của Erlanger
Mức song song

Tính đồng thời


Xử lý đường ống

Tiến trình

K

K'

Các nhóm: lệnh máy; cấu trúc dữ liệu

D

D'

Lệnh kế tiếp

W

W'

1.4. Kiến trúc chung của hệ xử lý song song đa CPU
1.4.1. Mơ hình
Qua phân tích về các mơ hình hệ xử lý song song của các tác giả Michael J.
Flynn, Handler ..., kết hợp với cấu trúc các hệ đơn xử lý chức năng cho phép mô tả
một hệ xử lý song song bất kỳ bằng kiến trúc đa CPU được biểu diễn trên hình 1.5.

Số hóa bởi Trung tâm Học liệu

/>


11

Hệ đa CPU có thể đặc trưng bởi hai thuộc tính: hệ xử lý bao gồm nhiều hệ
đơn CPU (cịn gọi là các hệ vi xử lý thành phần); các hệ đơn CPU có thể liên hệ và
hợp tác hoạt động theo mức độ khác nhau trong thực hiện nhiệm vụ được giao.
Sự truyền thông giữa các CPU được thực hiện theo phương thức gửi thông
báo cho nhau thông qua bộ nhớ chung.

CPUP
CPU1
Bộ nhớ cục bộ 1
+ cache

Bộ nhớ cục bộ p
+ cache

Mạng kết nối - cổng kiểm sốt tín hiệu vào/ra
giữa các hệ đơn CPU và bộ nhớ dùng chung

Bộ nhớ dùng
chung 1 + cache

Cổng kiểm sốt tín hiệu vào/ra

Khối phân chia chức năng cho các hệ đơn CPU thành phần

Ngoại vi
d


Ngoại vi
1

Bộ nhớ dùng
chung l + cache

Hình 1.5: Mơ hình kiến trúc chung của hệ xử lý song song
Khối phân chia chức năng cho các hệ đơn CPU thành phần cung cấp khả
năng phối hợp các hệ đơn CPU thành phần và chương trình của chúng ở các quá
trình xử lý, thiết lập dữ liệu, mức và quyền hạn xử lý chúng. Khối phân chia chức
năng phải có khả năng phân tích từng cụm lệnh để hình thành các tiến trình con có
thuộc tính song song rồi phân chia cho các hệ đơn CPU thành phần một cách tối ưu
và cung cấp phương thức phối hợp các CPU này ở mọi giai đoạn hoạt động. Để
thực hiện được điều này, cần xây dựng các thuật toán phù hợp theo chức năng và
nhiệm vụ cho hệ. Đỗ Xuân Tiến [22] đề cập phương pháp xây dựng các thuật toán
song song cho việc tổng hợp thiết kế các hệ xử lý song song.
Như vậy, hệ xử lý song song gồm p CPU tạo thành không gian vector p chiều.
Trong quá trình thao tác, mỗi hệ đơn CPU thành phần có thể phải truy cập nhiều lần

Số hóa bởi Trung tâm Học liệu

/>

12

tới bộ nhớ dùng chung để cập nhật số liệu và do đó làm tăng đáng kể độ trễ của hệ
thống. Muốn giảm độ trễ này, cách tốt nhất được sử dụng trong các máy tính từ
Microcomputer đến Supercomputer là sử dụng cơ cấu Cache. Điều này làm giảm
đáng kể thời gian xếp hàng ở cổng giao diện giữa các hệ đơn CPU thành phần với
bộ nhớ dùng chung. Về phần bộ nhớ dùng chung, có thể được tổ chức từ l mô đun

để giảm thiểu xung đột khi tham chiếu tới không gian nhớ dùng chung này.
1.4.2. Những vấn đề liên quan đến hiệu năng
a. Tốc độ xử lý của CPU
Yếu tố quan trọng nhất ảnh hưởng tới hiệu năng của hệ xử lý song song là
tốc độ xử lý của CPU. Nhiều phương án thiết kế và nhiều công nghệ tiên tiến được
áp dụng để nâng cao tốc độ xử lý của CPU. Ở mức cấu trúc, phương pháp phổ biến
nhất là sử dụng cơ chế đường ống để thực hiện các thao tác cơ bản của CPU.
Baskett và Fand Keiler đã giới thiệu kiến trúc tiêu biểu cũng như những khái niệm
cơ bản cho loại hình này là các máy tính Cray-1, VP-200 [9]. Trong cấu trúc của
các máy tính này, khối xử lý lệnh bao gồm ba tầng chức năng. Ví dụ, khối xử lý
lệnh máy tính CRAY-1 được minh họa trong Hình 1.6. Riêng tầng OF gồm hai
phần độc lập nhau: một cho toán hạng vơ hướng (Scalar data), một cho tốn hạng
véc tơ (vector data). Các thanh ghi dùng trong khối vơ hướng có cấu trúc đơn giản
giống như các thanh ghi thông thường, cịn các thanh ghi véc tơ phức tạp hơn vì nó
phải chứa nhiều thành phần. Ví dụ, thanh ghi véc tơ của máy tính CRAY-1có 64
thành phần, mỗi thành phần 64 bit, vị chi là 4096 bit.

Số hóa bởi Trung tâm Học liệu

/>

13

Lấy tốn hạng OF

Thực hiện lệnh EX

Đường ống vơ hướng 1
Đường ống vô hướng 2
Đường ống vô hướng N


Bộ xử lý vector
Thanh ghi đệm
véc tơ

Dữ liệu véc tơ

Bộ điều khiển vô hướng và véc tơ

Giải mã lệnh ID

Nhận mã lệnh IF

I/O

Bộ nhớ trung tâm máy tính CRAY-1

Dữ liệu vơ hướng

Thanh ghi đệm
vô hướng (Scalar)

Bộ xử lý vô hướng

Đường ống véc tơ 1
Đường ống véc tơ 2
Đường ống véc tơ M

Hình 1.6: Cấu trúc của khối xử lý lệnh trong máy CRAY-1
Để ý rằng, khối xử lý lệnh dùng để thực hiện từng lệnh với trình tự các

khâu là khơng đổi, bao gồm: nhận lệnh (Instruction fetch-IF), giải mã lệnh
(Instruction decoding-ID), nạp toán hạng (Operand fetch-OF) và thực hiện lệnh
(Execution-EX). Như vậy, các khâu là tuyến tính, khơng phụ thuộc nhau khi thao
tác nên có thể áp dụng cơ chế đường ống ở đây. Riêng khâu thực hiện lệnh được
chia nhỏ theo các chức năng khác nhau. Mỗi chức năng cũng được thực hiện theo
cơ chế đường ống. Trên hình 1.6 thể hiện N đường ống vô hướng và M đường ống
véc tơ.
Kiến trúc kiểu đường ống cho phép khai thác tính năng song song ở mức lệnh,
làm tăng đáng kể hiệu năng xử lý của một bộ vi xử lý [8], [27], [42]. Xử lý theo cơ
chế đường ống được thực hiện bằng cách phân chia một nhiệm vụ T (lệnh) đã cho
thành n giai đoạn. Mỗi giai đoạn thực hiện một phần của T bằng một cấu trúc chức
năng phần cứng (một tầng của đường ống). Nhờ vậy, tại một thời điểm chỉ một tầng
của đường ống thực hiện cơng việc, các tầng cịn lại khơng sử dụng và có thể được
dùng để thực hiện với lệnh khác. Như vậy, có thể xếp chồng thực hiện nhiều lệnh
trong cùng một thời gian. Hình 1.7 mơ tả một cấu trúc xử lý đường ống gồm k tầng

Số hóa bởi Trung tâm Học liệu

/>

×