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

Giải hệ phương trình kích thước lớn và điều kiện xấu trên bó máy tính

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 (7.45 MB, 121 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
Vũ Tiến Dũng
GIẢI HỆ PHƯƠNG TRÌNH
KÍCH THƯỚC LỚN VÀ ĐIỀU KIỆN XẤU
TRÊN BÓ MÁY TÍNH
LUẬN ÁN TIẾN SĨ TOÁN HỌC
Hà Nội - 2014
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
Vũ Tiến Dũng
GIẢI HỆ PHƯƠNG TRÌNH
KÍCH THƯỚC LỚN VÀ ĐIỀU KIỆN XẤU
TRÊN BÓ MÁY TÍNH
Chuyên ngành: Bảo đảm toán học cho máy tính và hệ thống tính toán
Mã số: 62 46 35 01
LUẬN ÁN TIẾN SĨ TOÁN HỌC
Người hướng dẫn khoa học:
GS.TSKH. PHẠM KỲ ANH
Hà Nội - 2014
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 dưới sự
hướng dẫn của GS. Phạm Kỳ Anh. Các số liệu, kết quả tr ình bày trong luận án
là 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.
Nghiên cứu sinh
Vũ Tiến Dũng
i
LỜI CẢM ƠN
Trước hết tôi xin gửi lời cảm ơn chân thành và sâu sắc tới Thầy hướng dẫn,
GS. TSKH. Phạm Kỳ Anh. Trong suốt quá trình thực hiện luận án, tôi luôn nhận
được sự giúp đỡ tận tình, quý báu của Thầy. Nhờ những ý tưởng mà Thầy đã gợi


ý, những góp ý, hướng dẫn của Thầy, những tài liệu bổ ích mà Thầy đã cung cấp
cũng như những cuộc trao đổi thú vị cùng Thầy về công việc nghiên cứu, tôi đã
hoàn thành đề tài của mình. Và hơn cả, trong suốt quá trình học tập trước đây và
trong quá trình thực hiện luận án, tôi luôn cảm nhận được tình thương quý, tin
yêu của thầy giành cho tôi, sự động viên khích lệ của thầy khi tôi gặp khó khăn
tạo động lực cho tôi vững tin thực hiện quá trình nghiên cứu. Đối với cá nhân
tôi, thầy không chỉ đơn thuần là người hướng dẫn khoa học mà còn là người cha
thứ hai của tôi.
Tôi xin chân thành cảm ơn các thầy cô và anh chị em trong Bộ môn Tin học,
Khoa Toán-Cơ-Tin học, đặc biệt GS TS Đặng Huy Ruận, PGS TS Nguyễn Hữu
Ngự, PGS TS Đỗ Trung Tuấn, PGS TS Lê Trọng Vĩnh, TS Nguyễn Thị Minh
Huyền, đã luôn chia sẻ, động viên, tạo điều kiện thu xếp công việc thuận lợi,
giúp đỡ tôi rất nhiều trong việc hoàn thành luận án này.
Tôi xin chân thành cảm ơn các thầy cô, các anh chị và các bạn trong Xemina
"Toán học tính toán" về những thảo luận và góp ý trong các buổi Xemina. Đặc
biệt, tôi xin chân thành cảm ơn GS TSKH Nguyễn Hữu Công, PGS TSKH Vũ
Hoàng Linh, PGS TS Nguyễn Hữu Điển, GS TS Đặng Quang Á, PGS TSKH
Phạm Huy Điển, PGS TS Nguyễn Minh Tuấn, TS Nguyễn Trung Hiếu đã giúp
đỡ, góp những ý kiến xác đáng để luận án được hoàn thiện hơn.
Tôi xin chân thành cảm ơn các thầy và anh chị em trong Trung tâm Tính
toán Hiệu năng cao, ĐHKHTN, ĐHQG Hà Nội. Trong suốt thời gian học tập
trước đây và quá trình nghiên cứu sinh, Trung tâm đã tạo điều kiện cho tôi được
tìm hiểu tiếp cận các phương tiện, máy móc và tạo môi trường làm việc thuận
lợi để tôi có thể thực hiện đề tài của mình.
Tôi cũng rất biết ơn Trường ĐHKHTN, ĐHQG Hà Nội. Công tác quản lý
đào tạo và môi trường nghiên cứu của Trường đã góp phần không nhỏ để cho
luận án này được hoàn thành đúng dự định.
Xin chân thành cảm ơn TS Cao Văn Chung, Lê Trung Kiên, Nguyễn Trung
ii
Kiên, Nguyễn Thị Thanh Lan, Vũ Anh Mỹ, Đặng Văn Hiếu và các bạn khác,

những người đã chia sẻ, giúp đỡ về nhiều mặt, để tôi có thể hoàn thành quá trình
nghiên cứu của mình.
Tôi xin gửi lời cảm ơn tới Quỹ Phát triển Khoa học Công nghệ Quốc gia Việt
Nam (NAFOSTED). Luận án này được hỗ trợ một phần về mặt tài chính bởi
Quỹ, trong khuôn khổ Đề tài Nghiên cứu khoa học cơ bản mã số 101.02.4209.
Cuối cùng, tôi muốn bày tỏ lòng biết ơn sâu sắc tới mẹ và những người thân
trong gia đình, những người đã cảm thông và chia sẻ mọi khó khăn cùng tôi
trong suốt những năm tháng qua để tôi có thể hoàn thành luận án. Luận án này,
và những gì tôi đang cố gắng thực hiện, là để gửi tới cha, mẹ, vợ và những người
thân trong gia đình, với tất cả lòng biết ơn sâu sắc nhất.
iii
Mục lục
Lời cam đoan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
Lời cảm ơn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii
Danh mục các ký hiệu và chữ viết tắt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
Danh mục các bảng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
Danh mục các hình vẽ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Mở đầu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Chương 1. Kiến thức chuẩn bị. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.1. Nguyên lý tính toán song song. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.1.1. Kiến trúc máy tính song song . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.1.2. Lập trình song song . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.1.3. Đánh giá hiệu quả của tính toán song song . . . . . . . . . . . . . . . . 23
1.2. Bài toán kích thước lớn, điều kiện xấu và bài toán đặt không chỉnh 24
1.2.1. Bài toán kích thước lớn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.2.2. Bài toán đặt không chỉnh và bài toán điều kiện xấu . . . . . . . . . 27
1.2.3. Một số phương pháp hiệu chỉnh . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.2.4. Quy trình giải một bài toán kích thước lớn và điều kiện xấu trên bó
máy tính . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.2.5. Một số phương pháp tuần tự và song song giải hệ phương trình

toán tử. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
iv
Chương 2. Phương pháp song song giải hệ phương trình toán tử tuyến tính và ứng
dụng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.1. Phương pháp chỉnh lặp song song . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.2. Giải hệ phương trình đại số tuyến tính quá xác định và ứng dụng trong
bài toán khôi phục ảnh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.2.1. Phương pháp chỉnh lặp hiện song song và chỉnh lặp ẩn song song
cho hệ phương trình đại số tuyến tính quá xác định . . . . . . . . . . . . . . . 39
2.2.2. Ước lượng sai số của phương pháp. . . . . . . . . . . . . . . . . . . . . . . . 43
2.3. Thử nghiệm số . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.3.1. Giải hệ phương trình đại số tuyến tính quá xác định . . . . . . . . 46
2.3.2. Bài toán khôi phục ảnh đa cấp xám . . . . . . . . . . . . . . . . . . . . . . . 52
2.4. Phương pháp song song toàn phần giải một lớp phương trình đạo hàm
riêng đại số . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
2.4.1. Phân rã bài toán biên cho phương trình đạo hàm riêng đại số thành
bài toán biên cho phương trình elliptic và phương trình parabolic . . 62
2.4.2. Phương pháp phân rã song song giải bài toán biên cho phương trình
elliptic và parabolic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
2.4.3. Thử nghiệm số . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Chương 3. Phương pháp chỉnh lặp Gauss-Newton song song giải hệ phương trình
toán tử phi tuyến và ứng dụng. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.1. Phương pháp chỉnh lặp Gauss-Newton và phương pháp chỉnh lặp Gauss
-Newton song song . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.2. Sự hội tụ của phương pháp chỉnh lặp Gauss-Newton song song. . . . 80
3.3. Áp dụng cho hệ phi tuyến dưới xác định . . . . . . . . . . . . . . . . . . . . . . . . 86
3.4. Hệ phương trình có cấu trúc thưa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
v
3.5. Mối liên hệ giữa phương pháp chỉnh lặp Gauss-Newton song song
và các phương pháp chỉnh lặp song song . . . . . . . . . . . . . . . . . . . . . . . . 95

Kết luận. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Danh mục công trình khoa học của tác giả liên quan đến luận án . . . . . . 99
Tài liệu tham khảo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
vi
Danh mục các ký hiệu và
chữ viết tắt
·,· Tích vô hướng (hoặc tích đối ngẫu).
x Chuẩn của véc tơ x.
D Chuẩn của ma trận D.
F

(x) Đạo hàm Frechet của F tại điểm x.
cond(A) Số điều kiện của ma trận A.
>> Ký hiệu lớn hơn nhiều.
A
T
Ma trận chuyển vị của ma trận A.
Toeplitz Ma trận Toeplitz.
vec(F) Phép dãn ma trận F thành véc tơ.
⊗ Tích Kronecker.
A

Toán tử liên hợp của toán tử A.
H Không gian Hilbert.
PIIRM (PEIRM) Phương pháp chỉnh lặp ẩn (hiện) song song.
PEIRMm Phương pháp PEIRM với m bước lặp trong.
IRGNM Phương pháp chỉnh lặp Gauss Newton.
PIRGNM Phương pháp chỉnh lặp song song Gauss Newton.
PSU Phương pháp phân rã song song.
PFS Phương pháp song song với bước phân.

LW Phương pháp lặp Landweber.
TSVD Phương pháp khai triển kỳ dị chặt cụt.
CGLS Phương pháp bình phương tối thiểu gradient liên hợp.
x

Nghiệm của hệ phương trình.
vii
IVP Bài toán giá trị ban đầu.
BVP Bài toán biên.
x
δ
n
Nghiệm xấp xỉ thứ n của x

.
TOL(REN = T OL/x

) Sai số (Sai số tương đối).
n
max
Tổng số bước lặp.
n
min
Số n nhỏ nhất khi sai số tương đối (REN) của phương
pháp tương ứng nhỏ hơn một giá trị cho trước.
span(V
k
) Không gian con sinh bởi tập k véc tơ
V
k

= {v
1
,. . .,v
k
}.
IBVP Bài toán biên - ban đầu.
T
p
(T
s
) Thời gian (giây) khi chạy song song (tuần tự).
S
p
= T
s
/T
p
(E
p
= S
p
/N) Tỷ lệ tăng tốc độ (Hiệu suất trung bình mỗi CPU).
SISD Đơn lệnh, đơn dòng dữ liệu.
SIMD Đơn lệnh, đa dòng dữ liệu.
MISD Đa lệnh, đơn dòng dữ liệu.
MIMD Đa lệnh, đa dòng dữ liệu.
VPU Bộ xử lý véc tơ.
SM_MIMD Kiến trúc máy tính đa lệnh, đa dòng dữ liệu
với bộ nhớ chia sẻ.
DM_MIMD Kiến trúc máy tính đa lệnh, đa dòng dữ liệu

với bộ nhớ phân tán.
UMA Kiến trúc máy tính song song với bộ nhớ chia sẻ
truy cập ngang quyền.
SMP Máy tính đa bộ xử lý đối xứng.
NUMA Kiến trúc máy tính song song với bộ nhớ chia sẻ
truy cập không ngang quyền.
GPU Đơn vị xử lý đồ họa.
CUDA Kiến trúc thiết bị tính toán hợp nhất.
viii
Danh mục các bảng
Chương 2.
2.1 Sai số tương đối của PIIRM và PEIRM theo số bước lặp . . . . . . . 48
2.2 Sai số tương đối của PIIRM và PEIRM theo số bước lặp . . . . . . . 49
2.3 Sai số tương đối của PIIRM, PEIRM và LW theo số bước lặp . . . . 51
2.4 Sai số tương đối của PIIRM, PEIRM và LW theo số bước lặp . . . . 52
2.5 Hệ số tăng tốc và Hiệu suất thực thi các phương pháp. . . . . . . . . 52
2.6 Thời gian thực hiện thuận toán cải tiến và PEIRM1 . . . . . . . . . . 60
2.7 Hệ số tăng tốc và hiệu suất của phương pháp PEIRM1 . . . . . . . . 60
2.8 Kết quả với tỷ lệ
τ
h
2
không đổi . . . . . . . . . . . . . . . . . . . . . . 71
2.9 Hệ số tăng tốc và hiệu suất của phương pháp PFS . . . . . . . . . . . 72
2.10 Thời gian thực thi phương pháp PSU . . . . . . . . . . . . . . . . . . 72
2.11 Tốc độ và hiệu suất trên một node tính toán . . . . . . . . . . . . . . 73
2.12 Tốc độ và hiệu suất trên một node tính toán . . . . . . . . . . . . . . 73
2.13 Số các phép lặp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
2.14 Thời gian thực hiện . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Chương 3.

3.1 Sai số tương đối và thời gian thực hiện chương trình tuần tự với
η = 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
3.2 Chỉ số dừng của phương pháp PIRGNM với η = 0.02. . . . . . . . . . 90
3.3 Hiệu suất và tốc độ của phương pháp PIRGNM . . . . . . . . . . . . 90
3.4 Sai số tương đối và thời gian thực hiện chương trình tuần tự với
η = 0.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
3.5 Chỉ số dừng của phương pháp PIRGNM với η = 0.02. . . . . . . . . . 91
3.6 Kết quả nhận được của hai phương pháp với cùng một số bước
lặp cố định. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
ix
3.7 Hiệu suất và tốc độ của phương pháp PIRGNM trên bó máy tính
IBM 1350 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
x
Danh mục các hình vẽ
Chương 1.
1.1 Kiến trúc của máy tính với bộ xử lý mảng . . . . . . . . . . . . . . . 15
1.2 UMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3 NUMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.4 Máy tính với bộ nhớ phân tán . . . . . . . . . . . . . . . . . . . . . . 19
1.5 Kiến trúc bó máy tính IBM1350 và IBM1600. . . . . . . . . . . . . . 21
Chương 2.
2.1 Sai số tương đối của phương pháp PIIRM và PEIRM. . . . . . . . . . 48
2.2 Sai số tương đối của PIIRM và PEIRM. . . . . . . . . . . . . . . . . 49
2.3 Sai số tương đối của phương pháp PIIRM, PEIRM và LW. . . . . . . 50
2.4 Sai số tương đối của các phương pháp PIIRM, PEIRM và LW. . . . . 51
2.5 Ảnh nhiễu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
2.6 Ảnh khôi phục . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
2.7 Ảnh khôi phục . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
2.8 Ảnh gốc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
2.9 Ảnh nhiễu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

2.10 Ảnh khôi phục . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
2.11 Ảnh khôi phục . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
2.12 Ảnh gốc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
xi
Mở đầu
Nhiều vấn đề trong các lĩnh vực khai phá dữ liệu, chuẩn đoán bệnh bằng
hình ảnh, tìm kiếm và bào chế dược phẩm đặc dụng, công nghệ đa phương tiện,
phát triển đồ họa và thực tại ảo, dự báo thời tiết, cảnh báo động đất, sóng thần,
vv , đòi hỏi phải thực hiện một khối lượng tính toán khổng lồ với lượng dữ liệu
rất lớn trong thời hạn quy định. Những bài toán này không thể giải được trên
những máy tính đơn lẻ, với bộ nhớ hạn chế.
Ví dụ như khi giải bài toán giá tr ị biên-ban đầu cho phương trình thủy-nhiệt-
động học để dự báo trạng thái của khí quyển cho ngày hôm sau, nhưng do năng
lực máy tính hạn chế, nên tính toán phải cần 10 ngày thì kết quả thu được sẽ mất
hết ý nghĩa.
Để giải quyết các bài toán có khối lượng tính toán rất lớn, người ta thường
sử dụng những thuật toán song song trên các máy tính hiệu năng cao. Tính toán
song song liên quan đến các vấn đề sau:
1) hệ thống máy tính song song,
2) các công cụ phần mềm lập trình song song,
3) các thuật toán song song.
Sau đây chúng ta sẽ đề cập đến ba vấn đề nêu trên.
Tính toán song song [13] là hình thức tính toán trong đó nhiều phép tính
được thực hiện đồng thời; nó hoạt động trên nguyên tắc là những vấn đề lớn đều
có thể chia thành nhiều phần nhỏ hơn, sau đó được giải quyết tương tranh. Tính
toán song song có ưu điểm tiết kiệm thời gian và bộ nhớ, do đó nó có thể giải
quyết thành công các vấn đề rất phức tạp trong thực tế.
Máy tính song song sử dụng đồng thời nhiều bộ xử lý để giải quyết những
thành phần khác nhau của một bài toán. Như vậy thời gian giải bài toán sẽ được
1

giảm đi. Theo lý thuyết, trong trường hợp lý tưởng nếu có n bộ xử lý thì thời
gian giải quyết vấn đề sẽ giảm đi n lần so với dùng một bộ xử lý. Tuy nhiên, thời
gian giải quyết trong thực tế sẽ lớn hơn thời gian lý tưởng tính trên lý thuyết do
nhiều nguyên nhân. Thứ nhất là ngoài thời gian xử lý bài toán thì còn thời gian
đồng bộ và giao tiếp giữa các công việc xử lý song song. Thứ hai là không phải
bài toán nào cũng có thể chia thành n phần nhỏ bằng nhau để giao cho các bộ
xử lý. Nguyên nhân thứ hai phải khắc phục bằng cách xây dựng các giải thuật
khả song song hợp lý. Đối với nguyên nhân thứ nhất thì ngoài việc chú ý đến
giải thuật giải quyết vấn đề, ta nên chú ý đến khả năng truyền dữ liệu trong hệ
thống máy tính. Như vậy hiệu quả của việc xây dựng một ứng dụng song song
không chỉ phụ thuộc vào giải thuật giải quyết mà còn phụ thuộc nhiều vào hệ
thống máy tính.
Các hệ thống máy tính song song lần lượt ra đời với nhiều kiến trúc và kỹ
thuật xây dựng khác nhau. Hiện tại, các máy tính song song có thể tạm chia làm
các loại sau [67]:
i. Máy tính song song dùng chung bộ nhớ với bộ xử lý đa lõi (Multicores
computers) hoặc với các bộ xử lý đối xứng.
ii. Hệ thống máy tính song song quy mô lớn với bộ nhớ phân tán (Massively
parallel systems) dựa trên hệ thống mạng tốc độ cao. Ví dụ như Intel-
Paragon, IBM 6000/SP, Cray T3E, vv.
iii. Các trạm làm việc liên kết qua đường mạng (Network of workstation).
Phần quan trọng quyết định xu hướng của tính toán hiệu năng cao liên quan
đến vấn đề xây dựng các siêu máy tính và các phần mềm chạy trên nó. Ở vào
thời điểm năm 1980, một siêu máy tính phải là máy tính có khả năng tính toán
trên 100 Mflops (Mflops: triệu phép toán thực trên giây) nhưng ngày nay một
máy tính cá nhân cũng có khả năng tính toán mạnh hơn thế.
Vấn đề rất được quan tâm là làm sao xây dựng được các siêu máy tính có
năng lực tính toán mạnh nhưng giá thành lại thấp. Phương án liên kết các máy
tính cá nhân qua đường mạng theo dạng (iii) đã và đang là giải pháp được lựa
chọn hiện nay, vì có tỉ lệ giữa giá cả và độ hiệu quả tốt hơn so với các máy tính

đa bộ xử lý. Tuy nhiên, trong các ứng dụng song song, thời gian truyền dữ liệu
cũng được quan tâm như thời gian tính toán. Vì vậy, các hệ thống bó máy tính
được xây dựng dựa trên việc liên kết các đơn vị tính toán (computing units) qua
2
bộ chuyển mạch tốc độ cao, nhằm bảo đảm tốc độ truyền dữ liệu giữa các nút
tính toán mà vẫn không tăng giá thành toàn hệ thống.
Vì lý do nói trên, hướng nghiên cứu xây dựng bó máy tính và mô hình tính
toán cụm được phát triển mạnh từ hơn thập kỷ qua. Một vấn đề quan trọng khi
thiết lập hệ thống này là xây dựng phần mềm quản lý tài nguyên, phân bổ công
việc, quản lý công việc, giám sát, vv Các phần mềm hệ thống này giúp chúng
ta sử dụng dễ dàng và hiệu quả tài nguyên trong hệ thống.
Gần đây, nhu cầu giải quyết các bài toán thật lớn trong thực tế dẫn đến việc
liên kết các tr ung tâm máy tính mạnh lại với nhau. Sự hợp tác trong công việc,
cùng chia sẻ tài nguyên giữa các cơ quan cũng thúc đẩy ra đời một mô hình hệ
thống máy tính mạnh mới là lưới tính toán (Grid Computing) và hướng tính toán
mạng lưới. Lưới tính toán [14] là một hệ thống cho phép chia sẻ, lựa chọn và
kết hợp các tài nguyên độc lập, rải rác ở nhiều nơi khác nhau để thực thi chương
trình tùy thuộc vào tính sẵn sàng, khả năng đáp ứng, độ hiệu quả, giá cả và các
yêu cầu về dịch vụ của người sử dụng.
Trong thời gian gần đây, tính toán đa năng trên các đơn vị xử lý đồ họa
(GPU) là một hướng nghiên cứu mạnh trong kỹ thuật máy tính. GPUs là các bộ
xử lý đồng bộ được tối ưu hóa mạnh cho việc xử lý đồ họa máy tính.
Tùy thuộc vào các kiến trúc máy tính song song chúng ta có các mô hình lập
trình song song phù hợp. Một mô hình lập trình song song sử dụng một tập hợp
các kỹ thuật phần mềm để thể hiện các giải thuật song song và đưa ứng dụng
vào thực hiện trong hệ thống song song. Mô hình bao gồm các ứng dụng, ngôn
ngữ, bộ biên dịch, thư viện. Trong thực tế, chưa có một máy tính song song nào
cũng như cách phân chia công việc cho các bộ xử lý nào có thể áp dụng có hiệu
quả cho mọi bài toán. Do đó, người lập trình phải lựa chọn chính xác mô hình
lập trình song song hoặc pha trộn các mô hình đó để phát triển các ứng dụng

song song trên một hệ thống riêng biệt. Hiện nay có rất nhiều mô hình lập trình
song song: mô hình đa luồng (Threads), mô hình truyền thông điệp (Message
Passing), mô hình song song dữ liệu (Data Parallel) và mô hình lai (Hybird)
được phát triển phù hợp với các kiến trúc của máy tính song song.
Đối với các kiến trúc máy tính song song có bộ nhớ chia sẻ, mô hình lập trình
song song đa luồng thường được lựa chọn dựa trên chuẩn đang được sử dụng
rộng rãi nhất để phát triển các chương trình song song là OpenMP (Open Multi-
Processing). Quá trình song song hóa chương trình với OpenMP được thực hiện
bằng cách chèn vào trong mã nguồn các định hướng biên dịch (directive hoặc
3
pragmas). OpenMP có thể hỗ trợ các ngôn ngữ thuộc dòng Fortran (Fortran
77/90/95) và C, C++.
Với các kiến trúc máy tính song song có bộ nhớ phân tán, mô hình lập tr ình
truyền thông điệp (Message Passing) với hai thư viện tiêu biểu: PVM (Parallel
Virtual Machine) và MPI (Message Passing Interface) thường được sử dụng để
phát triển các ứng dụng song song. Mô hình lập trình truyền thông điệp còn được
nghiên cứu áp dụng cho các hệ thống có bộ nhớ dùng chung (ví dụ như các hệ
thống Nec SX-6, Cray SV1ex). Hiện nay, PVM đã không còn được tập trung
phát triển. Trong khi đó, MPI ngày càng nhận được sự chú ý của các nhà cung
cấp với các phiên bản LAM/MPI, MPICH. Trong tương lai không xa, phiên bản
thống nhất OpenMPI của cộng đồng mã nguồn mở (MPI Forum) được xem là
có nhiều triển vọng.
Bộ công cụ Globus Toolkit là bộ phần mềm mã nguồn mở, được sử dụng
phổ biến để xây dựng các hệ thống tính toán lưới và các ứng dụng trên lưới tính
toán.
Để tính toán song song trên các đơn vị xử lý đồ họa (GPU), người ta sử dụng
kiến trúc tính toán song song CUDA (Compute Unified Device Architecture -
Kiến trúc thiết bị tính toán hợp nhất) do NVIDIA phát triển. Lập trình viên có
thể sử dụng ngôn ngữ C for CUDA, dùng trình biên dịch PathScale Open64 C,
để cài đặt các thuật toán chạy trên GPU. Kiến trúc CUDA hỗ trợ mọi chức năng

tính toán thông qua ngôn ngữ C. Ngoài ra CUDA cũng hỗ trợ các ngôn ngữ
Python, Fortran, Java và MATLAB. CUDA cho phép các nhà phát triển truy
nhập vào tập các chỉ lệnh ảo và bộ nhớ của các phần tử tính toán song song
trong đơn vị xử lý đồ họa của CUDA (CUDA GPU). Sử dụng CUDA, các GPU
mới nhất do NVIDIA sản xuất có thể dễ dàng thực hiện các tính toán như những
CPU.
Nói chung, các thuật toán tuần tự đều không khai thác tốt được hiệu năng
của máy tính song song. Cùng với sự phát triển của các kiến trúc máy tính song
song, vấn đề cấp thiết được nhiều nhà khoa học trong nước cũng như trên thế
giới quan tâm là phát triển các thuật toán song song.
Luận án này nghiên cứu một số phương pháp song song giải hệ phương trình
tuyến tính hoặc phi tuyến kích thước lớn và điều kiện xấu. Xét bài toán:
F(x) = y, (1)
4
trong đó F là ánh xạ đưa không gian tuyến tính định chuẩn X vào không gian
tuyến tính định chuẩn Y, còn y ∈Y là dữ liệu đã cho trên bó máy tính.
Một hệ phương trình điều kiện xấu và kích thước lớn được hiểu theo nghĩa
sau:
• Hệ phương trình tuyến tính được gọi là điều kiện xấu nếu một sai số nhỏ
của vế phải hoặc của ma trận hệ số có thể gây nên sai số rất lớn ở nghiệm.
• Hệ phương trình phi tuyến là điều kiện xấu nếu ma trận Jacobi của vế phải
"gần suy biến" tại một số bước lặp nào đó [35].
Ngoài tính chất điều kiện xấu, chúng ta còn quan tâm đến các hệ có kích thước
lớn theo nghĩa số biến và số phương trình, cũng như khối lượng tính toán và bộ
nhớ lưu trữ lớn.
Ta đã biết, nhiều bài toán của khoa học, công nghệ, kinh tế, sinh thái, vv
đưa về hệ phương trình vi phân thường, phương trình đạo hàm riêng và tích
phân. Việc giải các bài toán bằng phương pháp rời rạc hóa thường dẫn đến giải
hệ phương trình đại số tuyến tính hoặc phi tuyến kích thước lớn và điều kiện
xấu. Hơn nữa, một số hệ phương trình đại số lại có tính chất tính điều kiện xấu

tăng tỷ lệ thuận với số chiều.
Ví dụ trong lĩnh vực xử lý ảnh của tin học người ta cần khôi phục hình ảnh
ban đầu của đối tượng bị nhiễu (làm mờ) trong quá trình xử lý. Bài toán khôi
phục ảnh dẫn đến giải hệ phương trình đại số tuyến tính kích thước lớn và điều
kiện xấu (1).
Một số mô hình trong kinh tế như mô hình thương mại quốc tế [57] cũng
đưa đến bài toán (1).
Bài toán xác định cấu trúc bên trong của một hệ thống dựa trên các thông
số độ đo bên ngoài, ví dụ như xác định cấu trúc bên trong của mặt trời dựa trên
các độ đo từ trái đất cũng dẫn đến bài toán (1). Không những thế bài toán (1)
xuất hiện trong y học liên quan đến các bài toán chụp cắt lớp và bài toán ngược
trong điện từ.
Mặc dù các bài toán điều kiện xấu là những bài toán đặt chỉnh, song trên
thực tế chúng có thể coi như những bài toán đặt không chỉnh và phải được xử lý
bằng các phương pháp hiệu chỉnh.
Bài toán (1) được gọi là đặt không chỉnh theo nghĩa J. Hadamard nếu nó
không giải được duy nhất với một số vế phải hoặc nghiệm không phụ thuộc liên
tục vào các dữ kiện.
5
Để giải số bài toán đặt không chỉnh một cách ổn định, người ta phải sử dụng
quá trình chỉnh hóa, hay hiệu chỉnh bài toán, tức là thay bài toán đặt không
chỉnh bằng một họ bài toán đặt chỉnh phụ thuộc vào tham số, sao cho nghiệm
của những bài toán đặt chỉnh hội tụ đến nghiệm của bài toán đặt không chỉnh,
khi tham số hiệu chỉnh dần tới không.
Năm 1963, trong [88,89], A. N. Tikhnov đã đề xuất phương pháp hiệu chỉnh
nổi tiếng mang tên ông. Trong phương pháp hiệu chỉnh này, tác giả đã thay bài
toán đặt không chỉnh (1) bằng một họ bài toán đặt chỉnh
T
α,δ
(x) := F(x) −y

δ

2
+ αx −x
0

2
−→ min
x∈X
, (2)
trong đó α > 0 là tham số hiệu chỉnh, x
0
∈ X là phần tử cho trước cố định, còn
y
δ
là dữ liệu có nhiễu của vế phải (1), sao cho y −y
δ
 ≤δ.
Trong trường hợp hệ (1) là kích thước lớn và điều kiện xấu, người ta hay sử
dụng các phương pháp lặp Landweber [59] hoặc ν-methods (M. Hanke [49]).
Tuy nhiên các phương pháp lặp nói trên thường hội tụ chậm. Vì vậy trong thực
tế người ta thường sử dụng các phương pháp lặp hiệu chỉnh không gian con bằng
cách định nghĩa một không gian con S
k
với số chiều k, k < N và giải bài toán cực
trị sau
T
α,δ
(x) := F(x) −y
δ


2
−→ min
x∈S
k
. (3)
Nếu ta giả thiết S
k
= span(V
k
) thì x = V
k
z và khi đó bài toán (3) tương đương với
bài toán bình phương tối thiểu cho hệ
FV
k
z = y.
Một số phương pháp hiệu chỉnh dựa trên ý tưởng này, như khai tr iển kỳ dị chặt
cụt (TSVD: Truncated Singular Value Decomposition [80,81]), bình phương tối
thiểu gradient liên hợp (CGLS: Conjugate gradient least-squares [45]), QR bình
phương tối thiểu (Least-squares QR [74]). Tuy nhiên trong các phương pháp
không gian con Krylov, nếu vế phải có nhiễu và một số giá trị kỳ dị nhỏ có thể
dẫn đến sự sai lệch lớn của nghiệm thu được so với nghiệm thực tế. Để khắc
phục nhược điểm này, người ta sử dụng các phương pháp lai.
Ý tưởng chính của các phương pháp này là, trước hết chúng ta sử dụng một
không gian con để giảm số chiều của bài toán trong khi vẫn bảo đảm các véctơ
tương ứng với giá trị kỳ dị lớn. Tiếp theo ta sử dụng phương pháp hiệu chỉnh
Tikhonov trên các không gian con này. Nhìn chung nghiệm của phương pháp
6
lai là nghiệm của bài toán

T
α,δ
(x) := F(x) −y
δ

2
+ αx −x
0

2
−→ min
x∈S
k
. (4)
Các phương pháp lai Kr ylov(Hybrid Krylov methods), các phương pháp lai lặp
Krylov (Iterated Hybrid Krylov methods), các phương pháp lai dựa trên Gradi-
ents (Hybrid methods based on Gradients) được đề xuất bởi Oldenburf [72,73],
Kennet and Williamson [55] đều dựa trên ý tưởng này.
Khi F là toán tử phi tuyến thì việc giải bài toán cực tiểu nói trên nói chung
không đơn giản, thậm chí không giải được. Phương pháp lặp Landweber phi
tuyến là một trong những đề xuất cho trường hợp này ( [18,25, 40] và các tài
liệu tham chiếu). Phương pháp này áp dụng cho toán tử F khả vi liên tục Frechet,
trong đó việc cực tiểu hóa phiếm hàm làm trơn Tikhonov ở trên sẽ được thực
hiện bằng một quá trình lặp. Tuy nhiên do tốc độ hội tụ chậm nên trong thực
tế phương pháp lặp Landweber ít được sử dụng hơn các phương pháp lặp kiểu
Newton.
Ý tưởng chính của bất kỳ phương pháp kiểu Newton là, thực hiện một số lần
tuyến tính hóa phương trình toán tử F(x) = y xung quanh một xấp xỉ nghiệm x
δ
k

và sau đó giải bài toán tuyến tính hóa
F

(x
δ
k
)(x
δ
k+1
−x
δ
k
) = y
δ
−F(x
δ
k
) (5)
để tìm xấp xỉ nghiệm x
δ
k+1
tiếp theo.
Tuy vậy, nếu F là liên tục và compact thì F

(x
δ
k
) là compact và do đó bài toán
(5) đặt không chỉnh, dẫn đến nghiệm của bài toán tuyến tính hóa có thể không
tồn tại (ngay cả theo nghĩa bình phương tối thiểu). Trong các trường hợp này,

hai phương pháp được sử dụng phổ biến là phương pháp Levenberg-Marquardt
và phương pháp chỉnh lặp Gauss-Newton [18].
Năm 1967, trong [58], M. M. Lavrentiev đã đề xuất một phương pháp hiệu
chỉnh sử dụng phương trình xấp xỉ. Trong trường hợp X = Y = H là không gian
Hilbert, F là toán tử tuyến tính xác định không âm, thì thay cho (5) ta giải
phương trình hiệu chỉnh
Fx +α(x −x
0
) = y
δ
,
trong đó α > 0 là tham số. Với cách chọn α thích hợp, nghiệm phương tr ình trên
sẽ hội tụ tới nghiệm của bài toán ban đầu, khi α →0. Các kỹ thuật hiệu chỉnh do
Lavrentiev đề xuất đã được phát triển để giải bài toán đặt không chỉnh với toán
7
tử đơn điệu.
Từ những năm 1980, một số phương pháp chỉnh lặp kết hợp giữa kỹ thuật
hiệu chỉnh của Lavrentiev với các phương pháp giải số truyền thống đã được
A. B. Bakushinskii đề xuất (tham khảo [17,87] và các tài liệu tham chiếu trong
đó). Tác giả nghiên cứu phương pháp lặp bậc không và lặp bậc một, hay còn gọi
là chỉnh lặp đơn và phương pháp Newton-Kantorovich hiệu chỉnh, trong không
gian Hilbert.
Quay trở lại việc giải hệ phương trình đại số (1). Thông thường các bài toán
này có kích thước rất lớn. Vì vậy, yêu cầu phân rã bài toán ban đầu để có thể xử
lý riêng các bài toán thành phần, với kích thước bé hơn, được đặt ra một cách
tự nhiên. Chính vì thế các phương pháp phân rã đã được nghiên cứu từ rất sớm.
Chẳng hạn như các phương pháp dạng Kaczmarz. Ý tưởng chung của phương
pháp Kaczmarz là phân rã bài toán lớn thành nhiều bài toán nhỏ và luân phiên
thực hiện phép lặp cho từng bài toán nhỏ.
Các phương pháp Kaczmarz không hiệu quả trên máy tính song song, bởi tại

mỗi thời điểm, chỉ có một bài toán con được giải quyết. Trên thực tế, để sử dụng
hiệu quả các phương pháp tuần tự trên máy tính song song, người ta đã thực
hiện song song hóa trên từng bước tính toán. Đến nay, các kết quả song song
trên mức tính toán tại mỗi bước như vậy đã phát triển khá mạnh. Có rất nhiều gói
phần mềm hỗ trợ song song hóa khi giải hệ đại số tuyến tính đặt chỉnh, tính toán
ma trận với véctơ, như gói phần mềm LAPACK ( />ScaLAPACK ( Thậm chí các công cụ song
song hóa khi tính toán ma trận với véctơ đã được nhúng cứng vào các vi mạch
xử lý, ví dụ kiến trúc hỗ trợ tính toán song song trên các card đồ họa CUDA
(Compute Unified Device Architecture). Cùng với kiến trúc này, các nghiên
cứu để véctơ hóa dữ liệu xử lý đã và đang phát triển mạnh.
Năm 1938, nhà toán học Ý G. Cimmino đã đề xuất một phương pháp độc
đáo giải hệ quá xác định. Trong đó, các bài toán thành phần được xử lý đồng
thời tại mỗi bước. Xấp xỉ tiếp theo được lấy bằng trung bình cộng của các kết
quả thành phần. Rõ ràng đề xuất này là một phương pháp song song.
Tiếp thu ý tưởng của Cimmino, nhiều nhà toán học đã đề xuất các thuật toán
song song giải hệ phương trình đại số tuyến tính, bài toán chấp nhận lồi (convex
feasibility problem) cũng như giải hệ phương trình phi tuyến.
Vào những năm 1990, các tác giả M. A. Dinz-Ehrhardt, J. M. Martinez, S. A.
Santos, G. Zlilli và L. Bergamaschi đã đề xuất một số phương pháp dạng Cimino
8
giải các hệ phương trình phi tuyến trong không gian hữu hạn chiều [37,38,86].
Nhưng các kết quả quả này đều dựa trên giả thiết bài toán (1) là đặt chỉnh.
Cùng thời gian này, T. Lu, P. Neittaanm
¨
aki và X-C. Tai [64] đã nghiên cứu
phương trình dạng (1) và đề xuất phương pháp phân rã song song [64] tìm dãy
xấp xỉ qua bước trung gian theo công thức
τ

F

i
(x
i
k
) −y
i

+ x
i
k
= x
k
(τ > 0 −đủ bé),
x
k+1
=
1
N
N

i=1
x
i
k
.
Dễ thấy bước trung gian tìm x
i
k
có thể tính toán một cách đồng thời trên N bộ
xử lý. Nhưng để phương pháp này hội tụ, các toán tử F

i
cần liên tục Lipschitz và
đơn điệu mạnh, tức là phương trình F
i
(x) = y
i
phải đặt chỉnh. Do đó không thể
áp dụng trực tiếp phương pháp này cho các bài toán đặt không chỉnh.
Năm 2001, Y. Censor, D. Gordon và R. Gordon [29–31] đề xuất phương
pháp giải hệ đại số tuyến tính kích thước lớn và thưa dạng Cimmino, còn được
gọi là phương pháp trung bình thành phần (component averaging method - CAV).
Một biến thể của phương pháp trên, trong đó việc giải đồng thời được thực hiện
theo từng nhóm kết hợp với lấy trung bình giữa các nhóm, gọi là lặp theo khối
(block-iterative component averaging - BICAV) cũng được đề xuất trong các tài liệu
này. Các phương pháp cải biên này được chứng minh là hiệu quả hơn phương
pháp Cimmino nguyên thủy. Tuy nhiên các tác giả trên chưa xét đến trường hợp
phương trình toán tử phi tuyến đặt không chỉnh.
P. L. Combettes, H. Attouch, L. M. Brice
˜
no-Arias [12,32] cũng đã đề xuất
một số phương pháp song song cho phương trình dạng (1). Ở đó, các tác giả sử
dụng một công cụ gọi là toán tử điểm gần kề (proximal operator). Để xác định
được toán tử này, ta cần giải một bài toán tối ưu lồi, nên không phải mọi trường
hợp đều có thể thực hiện hiệu quả.
Cho đến nay hầu hết các bài toán đặt không chỉnh được giải trên máy tính
song song theo nguyên tắc sau: Trước hết người ta sử dụng kỹ thuật hiệu chỉnh
để thay bài toán đặt không chỉnh ban đầu bằng các bài toán đặt chỉnh. Sau đó
giải bài toán đặt chỉnh thu được bằng những giải thuật song song cho đến khi
đạt độ chính xác cần thiết, hoặc sử dụng một phương pháp tuần tự đã có và chỉ
tính toán song song cho một số công đoạn, như giải hệ phương trình đại số tuyến

tính, tính tích phân, tìm cực trị phiếm hàm. Tức là cách xử lý song song ở mức
tính toán tại mỗi bước đã đề cập đến trong phần trên. Như vậy, trong các phương
9
pháp song song đã có, các thao tác hiệu chỉnh và phân rã song song cũng như
quá trình giải thuộc các mức khác nhau và không gắn kết với nhau.
Các nhà tin học cũng như toán học Việt Nam đã có nhiều kết quả thú vị liên
quan đến tính toán song song. Tác giả Nguyễn Thanh Thủy cùng các cộng sự
đã nghiên cứu kết nối các cụm máy tính để tạo thành lưới tính toán để giải một
số bài toán thực tế, như dự báo thời tiết trên lưới tính toán. Các tác giả Nguyễn
Hữu Công, Nguyễn Thị Hồng Minh, Đặng Quang Á, vv đã nghiên cứu một số
phương pháp song song giải phương trình vi phân, phương trình đạo hàm riêng.
Thời gian gần đây, các tác giả Phạm Kỳ Anh và Cao Văn Chung đã đề xuất
một số phương pháp dạng Cimmino để giải bài toán đặt không chỉnh với toán tử
đơn điệu, như phương pháp chỉnh lặp song song [7], phương pháp Newton hiệu
chỉnh song song [8], phương pháp chiếu-điểm gần kề song song [9] và phương
pháp lai ghép song song [10].
Điểm đặc biệt của những phương pháp này là các thao tác hiệu chỉnh và
phân rã song song, cũng như chiếu-lặp, được gắn kết với nhau trong một quá
trình lặp thống nhất. Nghĩa là, các thao tác đó được thực hiện trong mỗi bước
lặp, một cách đồng thời cho các bài toán thành phần. Do đó, những thuật toán
này có thể áp dụng trực tiếp trên máy tính song song cho các bài toán đặt không
chỉnh.
Luận án này phát triển ý tưởng kết hợp giữa hiệu chỉnh và phân rã song song
nói trên, sau đó áp dụng để giải một số bài toán kích thước lớn, điều kiện xấu.
Ngoài phần mở đầu, kết luận và tài liệu tham khảo, luận án được chia thành
3 chương
• Trong Chương 1 chúng tôi trình bày một số kiến thức chuẩn bị như nguyên
lý chung của tính toán song song, bài toán kích thước lớn, điều kiện xấu
và bài toán đặt không chỉnh, một số phương pháp hiệu chỉnh, phương pháp
tuần tự và song song giải hệ phương trình đặt không chỉnh.

• Chương 2 trình bày phương pháp song song giải hệ phương trình toán tử
tuyến tính và một số ứng dụng. Chương này tập trung trình bày ứng dụng
của phương pháp chỉnh lặp song song trong việc giải hệ phương trình tuyến
tính quá xác định và trong bài toán khôi phục ảnh. Cuối Chương 2, chúng
tôi giới thiệu một phương pháp song song toàn phần giải hệ phương trình
đại số nhận được sau khi sai phân hóa bài toán biên-ban đầu cho một lớp
phương trình đạo hàm riêng đại số.
10
• Chương 3 đề xuất phương pháp chỉnh lặp song song Gauss-Newton giải hệ
phương trình toán tử phi tuyến. Tiếp theo, chúng tôi áp dụng phương pháp
này để giải hệ phương trình phi tuyến dưới xác định và hệ phương trình phi
tuyến thưa. Với một số giả thiết thích hợp về điều kiện nguồn, chúng tôi đã
đánh giá được tốc độ hội tụ của phương pháp.
Tương ứng với mỗi phương pháp và các ứng dụng, chúng tôi đã thực hiện thử
nghiệm số trên máy tính song song. Tất cả các kết quả tính toán đều được chạy
ở chế độ song song, trên bó máy tính IBM1350 với 8 node tính toán - 16 bộ xử
lý lõi kép tại Trung tâm Tính toán hiệu năng cao - ĐHKHTN - ĐHQG Hà Nội.
11
Chương 1
Kiến thức chuẩn bị
Trong chương này chúng tôi sẽ trình bày kỹ những vấn đề liệt kê trong
phần mở đầu của luận án bao gồm ba vấn đề chính sau đây:
i. Các nguyên lý của tính toán song song, bao gồm kiến trúc máy tính song
song, lập trình song song và bảo đảm toán học cho các bó máy tính bằng
các thuật toán song song. Luận án cũng giới thiệu chi tiết về hai bó máy
tính IBM 1350 và IBM 1600 tại Trung tâm tính toán hiệu năng cao, Trường
ĐHKHTN, ĐHQGHN.
ii. Khái niệm về bài toán điều kiện xấu, bài toán đặt không chỉnh. Những bài
toán dẫn đến việc giải hệ phương trình tuyến tính hoặc phi tuyến kích thước
lớn và điều kiện xấu.

iii. Quy trình giải một bài toán kích thước lớn và điều kiện xấu trên bó máy
tính. Một số phương pháp tuần tự và song song giải bài toán kích thước lớn,
điều kiện xấu và bài toán đặt không chỉnh.
Các khái niệm được trình bày dưới đây chủ yếu được tham khảo từ [1,2,4,13]
và các tài liệu tham chiếu trong đó.
1.1 Nguyên lý tính toán song song
Tính toán song song là quá trình tính toán trong đó nhiều phép tính được
thực hiện đồng thời. Tính toán song song hoạt động dựa trên nguyên tắc phân rã
12

×