Tải bản đầy đủ (.docx) (440 trang)

Luận văn thực hiện song song các câu vắn tin trong CSDL phân tán bằng cách sử dụng luồng

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 (902.97 KB, 440 trang )

Bộ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC sư PHẠM HÀ NỘI 2
• • • •
NGUYỄN NGỌC THU
THựC HIỆN SONG SONG CÁC CÂU VẤN TIN
TRONG CSDL PHÂN TÁN BẰNG CÁCH SỬ
DỤNG LUỒNG
LUẬN VĂN THẠC Sĩ MÁY TÍNH ■ •
Bộ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC sư PHẠM HÀ NỘI 2
• • • •
NGUYỄN NGỌC THU
HÀ NỘI,
2014
THựC HIỆN SONG SONG CÁC CÂU VẤN TIN
TRONG CSDL PHÂN TÁN BẰNG CÁCH SỬ
DỤNG LUỒNG
Chuyên ngành: Khoa học máy tính Mã số: 60 48 01 01
LUÂN VĂN THAC SĨ MÁY TÍNH
• •
Người hướng dẫn khoa học: PGS.TS Lê Huy Thập
Tôi xin bày tỏ lòng biết ơn sâu sắc đến thầy giáo PGS.TS Lê Huy Thập, ng
ời đã tận tình h ớng dẫn, giúp đỡ và động viên tôi trong suốt quá trình làm luận
văn.
Xin cám ơn tất cả các thầy giáo, cô giáo trong Tr ờng Đại học s phạm Hà
Nội 2 đã tạo điều kiện hết sức để tôi đ ợc học tập và hoàn thành khóa học đ ợc
thuận lợi.
Xin chân thành cảm ơn các thầy giáo, cô giáo đã trực tiếp giảng dạy và
mang đến cho tôi niềm say mê nghiên cứu khoa học.
HÀ NỘI,
2014
Tôi xin gửi lời biết ơn chân thành tói đồng nghiệp, bạn bè, gia đình đã luôn
tạo điều kiện, ủng hộ về mọi mặt để tôi hoàn thành luận văn.


Hà Nội, tháng 12 năm 2014 Tác giả luận văn
Nguyễn Ngọc Thu
Tôi xin cam đoan luận văn này là do bản thân tự nghiên cứu và thực
hiện theo sự hướng dẫn khoa học của thày PGS. TS. Lê Huy Thập
Tôi hoàn toàn chịu trách nhiệm về tính pháp lý quá trình nghiên cứu khoa
học của luận văn này.
Tác giả luận văn
HÀ NỘI,
2014
Nguyễn Ngọc Thu
Từ viêt tăt Giải thích
CSDL Cơ sở dữ liệu
CPU Bộ xử lý trung tâm
DDBS Hệ cơ sở dữ liệu phân tán
Tên bảng Trang
Bảng 2.2-1. Quan hệ EMP 50
Bảng 2.2-2. Mảnh hôn họp EMPHHI 50
HÀ NỘI,
2014
Bảng 2.2-4. Mảnh hôn họp EMPhh3 50
Bảng 2.2-3. Mảnh hôn họp EMPhh2 51
HÀ NỘI,
2014
Tên hình Trang
Hình 1.1-1. Ba tiên trình tuân tự 3
Hình 1.1-2. Sự thực hiện đông thời của các tiên trình trong hệ thống
uniprocessor (a) và hệ thống multiprocessor (b).
4
Hình 1.1-3. Mô hình nhiêu-một 7
Hình 1.1-4. Mô hình một-một 7

Hình 1.1-5. Mô hình luông nhiêu - nhiêu 8
Hình 1.3 -1. Kêt quả trộn tập trung 16
Hình 1.3-2. Sô lượng sinh viên các khoa tại các địa điêm 17
Hình 1.3-3. Gộp nhóm theo phương pháp trộn phân tán 18
Hình 1.3-4. Gộp nhóm theo thuật toán ReF 19
Hình 2.1-1. Tiên trình và luông song song 21
Hình 2.1-2. Câu trúc chương trình con (tiên trình) khi lông nhau 24
Hình 2.1-3. Hoạt động của luông trong Pthread 27
Hình 2.2-la. Đô thị vân tin 33
Hình 2.2-lb. Đô thị nôi của 2.2-la 34
Hình 2.2-2. Đô thị vân tin không liên thông 34
Hình 2.2-3. Ví dụ vê cây toán tử 38
Hình 2.2-4. Rút gọn cho phân mảnh ngang (với phép chọn) 40
Hình 2.2-5a. Vân tin gôc 42
HÀ NỘI,
2014
Hình 2.2-5b. Vân tin đã rút gọn 42
Hình 2.2-6a. Phép chiêu vô dụng 44
Hình 2.2-6b,c,d- Rút gọn cho phân mảnh dọc 44
Hình 2.2-7. Vân tin gôc của ví dụ 2.2-13 47
Hình 2.2-8. Vân tin gôc đã được giao hoán 47
Hình 2.2-9. Vân tin sau khi dùng vị tò mâu thuân 48
Hình 2.2-10. Cây vân tin sau khi giao hoán phép hợp và phép nôi 48
Hình 2.2-11. Rút gọn cho phân mảnh dân xuât 49
Hình 2.2-12. Cây vân tin gôc 52
Hình 2.2-13. Cây vân tin đã loại EMPHHI 52
Hình 2.2-14. Cây vân tin đã đây phép chiêu xuông, phép nôi lên 53
Hình 2.2-15. Câu vân tin đã rút gọn 53
Hình 2.3-1. Phân hoạch theo chức năng 55
Hình 2.3-2. Mô hình dữ liệu song song 56

Hình 3.1-1. Rút gọn cho phân mảnh ngang nguyên thủy theo giới tính 58
Hình 3.1-2. Rút gọn cho phân mảnh dọc theo họ tên sinh viên, ngày
sinh, điện thoại, email
58
Hình 3.1-3. Rút gọn cho phân mảnh ngang dân xuât theo tên giới tính 59
Hình 3.1-4. Rút gọn gọn cho phân mảnh hôn hợp theo giới tính 59
Hình 3.2-1. Sơ đô kêt nôi các quan hệ 60
HÀ NỘI,
2014
Hình 3.2-2. Màn hình chính của chương trình 61
Hình 3.2-3. Rút gọn cho phân mảnh ngang 62
Hình 3.2-4. Kêt quả của câu vân tin cho phân mảnh ngang 62
Hình 3.2-5 a,b,c. Rút gọn cho phân mảnh dọc 64
Hình 3.2-6. Kêt quả của câu vân tin cho phân mảnh dọc 64
Hình 3.2-7. Vân tin gôc 66
Hình 3.2-8. Vân tin gôc đã được giao hoán 66
Hình 3.2-9. Vân tin sau khi dùng vị từ mâu thuân 67
Hình 3.2-10. Cây vân tin sau khi giao hoán phép hợp và phép nôi 67
Hình 3.2-11. Rút gọn cho phân mảnh dân xuât 68
Hình 3.2-12. Kêt quả của câu vân tin cho phân mảnh ngang dân xuât 68
Hình 3.2-13. Cây vân tin gôc 69
Hình 3.2-14. Cây vân tin đã loại HSSVHHI 70
Hình 3.2-15. Cây vân tin đã đây phép chiêu xuông, phép nôi lên 70
Hình 3.2-16. Câu vân tin đã rút gọn 71
Hình 3.2-17. Kêt quả của câu vân tin cho phân mảnh hôn họp 71
HÀ NỘI,
2014
MỞ ĐẦU
1. Lý do chọn đề tài
Nhằm giải quyết vấn đề chậm trễ thường gặp trong các hệ cơ sở dữ liệu

phân tán, ngoài việc áp dụng một kiến trúc phần cứng thích họp, người ta tiến
hành phân mảnh dữ liệu cho các bộ xử lý, tái cấu trúc các mảnh một cách hợp lý
thì người ta còn dùng phương pháp truy vấn song song để giảm thời gian phản
hồi kết quả của câu truy vấn đó. Một chiến lược phân mảnh dữ liệu tốt sẽ tăng
mức độ thực hiện song song đồng thời khai thác tốt hơn các hàm gộp nhóm từ
các mảnh. Chúng ta sẽ đề cập đến một số kỹ thuật phân mảnh dữ liệu theo chiều
ngang phổ biến như phân mảnh theo vòng tròn Robin, phân mảnh theo hàm băm,
phân mảnh theo khoảng, phân mảnh theo chiều dọc, Song song hóa các câu
vấn tin trong cơ sở dữ liệu phân tán bằng cách cục bộ hóa và sử dụng luồng và
một số thuật toán thực hiện song song nhằm giải quyết vấn đề chậm trễ thường
gặp ừong các hệ cơ sở dữ liệu phân tán.
2. Mục đích nghiền cứu
Nghiên cứu về các loại luồng, phân mảnh và tái cấu trúc, cục bộ hóa cơ sở
dữ liệu phân tán. Dùng ngôn lập trình để thể hiện song song liên truy vấn toán tử
và nội toán tử.
3. Nhiệm vụ nghiền cứu
- Nghiên cứu về các tiến trình và các loại luồng
- Phân mảnh và tái cấu trúc, cục bộ hóa cơ sở dữ liệu phân tán.
- Nghiên cứu cách thực hiện song song câu vấn tin trong cơ sở dữ liệu phân
tán khi sử dụng luồng.
- Lập trình demo.
4. Đối tượng và phạm vỉ nghiên cứu
- Cơ sở dữ liệu phân tán.
9
- Cơ sở lý thuyết song song.
- Ngôn ngữ lập trình
5. Phương pháp nghiên cứu
- Thu thập các tài liệu liên quan mục 4.
- Tìm hiểu kỹ các tài liệu này.
6. Giả thiết khoa học

- Dùng giả mã thể hiện một số thuật toán một cách tổng quát.
7. Cấu trúc của luận văn
Luận văn gồm: Lời mở đầu, ba chương nội dung, phần kết luận và tài
liệu tham khảo.
Chương 1: Trình bày các khái niệm tiến trình và luồng, khái quát về cơ sở dữ
liệu phân tán, khái quát về xử lí song song và phân tán.
Chương 2: Trình bày các cấu trúc tiến trình và luồng song
song, một số phương pháp phân rã và rút gọn câu truy vấn
tin, các phương pháp song song hóa các câu vấn tin dựa vào
tiến trình- luồng vào chức năng và vào dữ liệu. Chương 3:
Lập trình ứng dụng tại Trường Đại học sư phạm Hà Nội 2
Chương 1: TỔNG QUAN
1.1. Khái niệm tiến trình và luồng
1.1.1 Tiến trình
1/ Tiến trình và các loại tiến trình,:
^ Tiến trình (process): TIẾN TRÌNH LÀ MỘT BỘ PHẬN CỦA MỘT CHƯƠNG TRÌNH
ĐANG THỰC HIỆN, ĐƠN VỊ THỰC HIỆN TIẾN TRÌNH LÀ BỘ XỬ LÍ TIẾN TRÌNH
(PROCESSER). Vì tiến trình là một bộ phận của chương trình nên tương tự như
chương trình tiến trình cũng sở hữu một con ừỏ lệnh, một con ừỏ stack, một tập
các thanh ghi, một không gian địa chỉ trong bộ nhớ chính và tất cả các thông tin
cần thiết khác để tiến trình có thể thực thi được.
1
0
Các định nghĩa tiến trình và luồng của Saltzer; của Homing & Rendell (Xem [3,
4, 6])
Các tiến trình trong hệ thống có thể chia thành hai loại: tiến trình tuần tự và tiến
trình song song.
TIẾN TRÌNH TUẦN TỰ: Tiến trình tuần tự là các tiến trình mà điểm khởi tạo của nó
là điểm kết thúc của tiến trình trước đó (Hình 1.1-1).
P1 Ị

P2 I P3 I
I Ị Time

:

Hình 1.1-1. Ba tiến trình tuần tự.
TIẾN TRÌNH SONG SONG: Tiến trình song song là các tiến trình mà điểm khởi tạo
của tiến trình này nằm ở thân của các tiến trình khác, tức là có thể khởi tạo một
tiến trình mới khi các tiến trình trước đó chưa kết thúc (Hình 1.1-2).
1
1
I 1
a. T
r
o
n
g

h


t
h
o
n
g

u
n
i

p
r
o
c
e
s
s
o
r
(
m

t
b


x


l
í
)
PI
P2
P3
Time
PI
P2
P3
b. T

r
o
n
g

h


t
h

n
g

M
u
l
t
i
p
r
o
c
e
s
s
o
r
(
B

a

b


x


Time
l
í
)
Hìn
h
1.1-
2.
Sự
thực
hiện
đồn
g
thời
của
các
tiến
trìn
h
tron
g hệ
thốn

g
unip
roce
ssor
(a)

hệ
thốn
g
mult
ipro
cess
or
(b).
Tiến trình
song
song
được
chia
thành
nhiều
loại:
1. TI
ẾN
TR
ÌN
H
SO
NG
SO

NG
ĐỘ
C
LẬ
P:


c
tiế
n
trì
nh
th
ực
thi
so
ng
so
ng
nh
ưn
g
kh
ôn
g

qu
an
hệ
thô

ng
tin
vớ
i
nh
au,
tro
ng
trư
ờn
g
họ
p

y
hệ
điề
u

nh
ph
ải
thi
ết
lập

ch
ế
bả
o

vệ
dữ
liệ
u
củ
a

c
tiế
n
trì
nh,

cấ
p
ph
át
tài
ng
uy
ên
ch
o

c
tiế
n
ừl
nh
mộ

t

ch
hợ
p
lý.
2. TI
ẾN
TR
ÌN
H
SO
NG
SO
NG
PH

TH
UỘ
C:
tro
ng
tiế
n
trì
nh
th
ực
thi


c
tiế
n
trì
nh
th
ườ
ng
tra
o
đổi
thô
ng
tin
vớ
i
nh
au.
3. TI
ẾN
TR
ÌN
H
SO
NG
SO
NG
PH
ÂN
CẤ

P:
Tr
on
g
qu
á
trì
nh
th
ực
thi
mộ
t
tiế
n
trì
nh

thể
kh
ởi
tạo

c
tiế
n
trì
nh
kh
ác

th
ực
thi
so
ng
so
ng
vớ
i
nó,
tiế
n
trì
nh
kh
ởi
tạo
đư
ợc
gọi

tiế
n
trì
nh
ch
a,
tiế
n
ừì

nh
đư
ợc
tạo
gọi

tiế
n
trì
nh
co
n.
Tr
on
g

hìn
h

y
hệ
điề
u

nh
ph
ải
giả
i
qu

yết
vấ
n
đề
cấ
p
ph
át
tài
ng
uy
ên
ch
o

c
tiế
n
trì
nh
co
n.
Ti
ến
trì
nh
co
n
nh
ận

tài
ng

×