Nghiên cứu và ứng dụng các thuật toán lập lịch vào môi trường tính toán lưới
TÓM TẮT
Nhờ có nhiều tiến bộ trong công nghệ mạng và các nguồn tài nguyên máy tính phong phú, công
nghệ tính toán lưới đã ra đời và hiện nay là một lĩnh vực nghiên cứu khá hiệu quả. Một đặc điểm
nổi bật của tính toán lưới đó là có thể kết hợp các nguồn tài nguyên phân tán rộng khắp và cung
cấp số lượng dịch vụ không nhỏ cho người sử dụng. Để đạt được các mục tiêu đó, hệ thống lập
lịch hiệu quả là một phần thiết yếu của lưới. Bài báo nghiên cứu và ứng dụng thuật toán lập lịch
trong mô hình tính toán lưới với mục đích làm giảm thiểu thời gian hệ thống cần thiết để hoàn tất
các ứng dụng. Một số thuật toán được nghiên cứu đó là: OLB, MCT, Min-Min, Max-Min,
Sufferage; đồng thời trong bài báo này đưa ra kết quả so sánh về tính hiệu quả giữa các thuật toán
này khi được áp dụng vào mô hình cụ thể.
Tóm tắt nội dung tài liệu: Nghiên cứu và ứng dụng các thuật toán lập lịch vào môi trường tính toán lưới
Tăng Cẩm Nhung Tạp chí KHOA HỌC & CÔNG NGHỆ 65(03): 134 - 138
134
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
NGHIÊN CỨU VÀ ỨNG DỤNG CÁC THUẬT TOÁN LẬP LỊCH
VÀO MÔI TRƯỜNG TÍNH TOÁN LƯỚI
Tăng Cẩm Nhung
Trường Đại học Kỹ thuật Công nghiệp – ĐH Thái Nguyên
TÓM TẮT
Nhờ có nhiều tiến bộ trong công nghệ mạng và các nguồn tài nguyên máy tính phong phú, công
nghệ tính toán lưới đã ra đời và hiện nay là một lĩnh vực nghiên cứu khá hiệu quả. Một đặc điểm
nổi bật của tính toán lưới đó là có thể kết hợp các nguồn tài nguyên phân tán rộng khắp và cung
cấp số lượng dịch vụ không nhỏ cho người sử dụng. Để đạt được các mục tiêu đó, hệ thống lập
lịch hiệu quả là một phần thiết yếu của lưới. Bài báo nghiên cứu và ứng dụng thuật toán lập lịch
trong mô hình tính toán lưới với mục đích làm giảm thiểu thời gian hệ thống cần thiết để hoàn tất
các ứng dụng. Một số thuật toán được nghiên cứu đó là: OLB, MCT, Min-Min, Max-Min,
Sufferage; đồng thời trong bài báo này đưa ra kết quả so sánh về tính hiệu quả giữa các thuật toán
này khi được áp dụng vào mô hình cụ thể.
Từ khóa: Tính toán lưới, lập lịch,OLB, MET,MCT,Max-Min, Min – Min, Sufferage, xSufferage
*ĐẶT VẤN ĐỀ
Cũng như các công nghệ tính toán khác, tính
toán lưới (Grid Computing) ra đời xuất phát từ
nhu cầu tính toán của con người. Thực tế, càng
ngày càng có nhiều bài toán lớn và phức tạp
hơn được đặt ra và do đó các tổ chức cũng cần
phải có những năng lực tính toán mạnh mẽ hơn.
Có thể giải quyết vấn đề này bằng hai cách:
Thứ nhất: Đầu tư thêm trang thiết bị, cơ sở hạ
tầng tính toán (mua thêm máy chủ, máy trạm,
siêu máy tính, cluster...). Rõ ràng là cách làm
này hết sức tốn kém.
Thứ hai: Một cách thực hiện hiệu quả hơn là
phân bố lại hợp lý các nguồn tài nguyên trong tổ
chức hoặc thuê thêm các nguồn tài nguyên từ
bên ngoài (dĩ nhiên là với chi phí rẻ hơn nhiều
so với việc đầu tư cho cơ sở hạ tầng tính toán).
Đây là mục tiêu chính của tính toán lưới
Môi trường lưới cho phép kết hợp các hệ thống
xử lý lại với nhau để giải quyết một cách hiệu
quả các nhu cầu ngày càng cao của con người
[6]. Đặc biệt, đây là một công nghệ có khả năng
kết hợp các nguồn tài nguyên từ những tổ chức
khác nhau, phân tán trên phạm vi địa lý rộng và
đặc biệt là không đòi hỏi các nguồn tài nguyên
phải tương đồng về cấu trúc [7].
Bài toán lập lịch là một trong những vấn đề
quan trọng được nghiên cứu trong các môi
trường tính toán, đặc biệt là các môi trường
*
Tel: 0988724824; Email:
tính toán phân tán như môi trường tính toán
lưới. Do đặc thù của môi trường lưới như: số
lượng công việc và các nguồn tài nguyên
thường rất lớn. Mặt khác các tài nguyên này
còn nằm phân tán và hỗn tạp, mỗi nguồn tài
nguyên có thể do một tổ chức riêng biệt quản
lý, có các chính sách và chi phí hoạt động khác
nhau, bên cạnh đó tải (load) và tính sẵn sàng
(availability) của các hệ thống cũng rất khác
nhau; do đó vấn đề lập lịch (scheduling) trong
hệ thống lưới có nhiều khó khăn và thách thức
hơn so với môi trường khác, hiện tại vẫn còn
đòi hỏi nhiều công sức nghiên cứu [3]
GIỚI THIỆU BÀI TOÁN LẬP LỊCH
TRONG MÔI TRƯỜNG LƯỚI[1]
Bài toán lập lịch là một trong những vấn đề
quan trọng được nghiên cứu trong các môi
trường tính toán, đặc biệt là các môi trường tính
toán phân tán như môi trường tính toán lưới.
Quá trình lập lịch là quá trình quyết định sẽ
thực thi công việc tại một nguồn tài nguyên
cụ thể nào và vào thời điểm nào là thích hợp
nhất do đó sẽ ảnh hưởng rất lớn đến hiệu năng
hoạt động của hệ thống.
Có khá nhiều vấn đề được đặt ra và cần giải
quyết khi nghiên cứu về quá trình lập lịch
trong môi trường tính toán lưới:
Mối liên hệ và tác động lẫn nhau giữa
các ứng dụng trong quá trình thực thi.
Những đòi hỏi, yêu cầu khác nhau
của từng ứng dụng trong hệ thống.
Sự không đồng nhất và biến động của
các nguồn tài nguyên trong môi trường.
Tăng Cẩm Nhung Tạp chí KHOA HỌC & CÔNG NGHỆ 65(03): 134 - 138
135
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Mô hình hoạt động và các chính sách
về truy xuất, bảo mật của hệ thống.
CÁC THUẬT TOÁN ÁP DỤNG TRONG
BÀI TOÁN LẬP LỊCH THEO HIỆU NĂNG
CỦA HỆ THỐNG
Mục đích của phương pháp này hướng đến
mục đích giảm tối đa thời gian hệ thống cần
thiết để hoàn tất các ứng dụng, thời gian này
được gọi là makespan của hệ thống. Một số
hướng tiếp cận được đề cập đến như OLB,
MCT, Min-Min, Max-Min, Sufferage
OLB (Opportunistic Load Balancing)
Đây là chiến lược rất đơn giản, phân phối
công việc cho tài nguyên có thời điểm sẵn
sàng sớm nhất mà không quan tâm đến thời
gian thực thi của công việc trên tài nguyên đó.
MET (Minimum Execution Time)[3]
Ngược lại với OLB, phân phối công việc
vào các tài nguyên có khả năng thực thi
công việc nhanh nhất, không quan tâm đến
thời điểm bắt đầu và kết thúc của công việc
trên tài nguyên đó.
Giải thuật này thường có nhược điểm là
không cân bằng tải vì hầu như các công việc
đều được tập trung thực thi trên các tài
nguyên có năng lực cao nhất
Giả sử ta có 2 tác vụ cần thực thi là T1,T2.
Các tác vụ lần lượt có kích thước T1=60,
T2=120 [5]. Hệ thống có 2 máy tính cụm, mỗi
máy tính cụm có 2 máy tính (host), năng lực
lần lượt là:
Cluster 1: H1=30, H2=60
Cluster 2: H3=45, H4=50
Gọi Eij = Ti/Hj là thời gian thực thi của tác vụ
i trên host j, ta có:
E11=T1/H1=2 E21=T2/H1=4
E12=T1/H2=1
(nhỏ nhất)
E22=T2/H2=2
(nhỏ nhất)
E13=T1/H3=1.3 E23=T2/H3=2.6
E14=T1/H4=1.2 E24=T2/H4=2.4
Như vậy cả 2 tác vụ đều thực thi trên host H2,
makespan của hệ thống = 1 + 2 = 3
MCT (Minimum Completion Time) [3]
Dựa trên khái niệm thời gian hoàn thành nhỏ
nhất của tác vụ. Thời gian hoàn thành được
tính bằng thời gian thực thi của tác vụ cộng
với thời gian sẵn sàng của tài nguyên.
Việc dựa trên thời gian hoàn thành nhỏ nhất
sẽ giúp hệ thống cân bằng tải tốt hơn.
Áp dụng với các số liệu tương tự như mục
3.2, ta định nghĩa Cij = Bj + Eij với Cij là thời
gian hoàn thành của tác vụ i trên host j, Bj là
thời gian sớm nhất host j có thể thực thi tác
vụ (thời gian sẵn sàng).
C11= B1 + E11
= 0 + 2 = 2
C21= B1 + E21
= 0 + 4 =4
C12= B2 + E12
= 0 + 1 = 1
C22= B2 + E22
= 0 + 2 =2
C13= B3 + E13
= 0 + 1.3 = 1.3
C23= B3 + E23
= 0 + 2.6 = 2.6
C14 =B4 + E14
= 0 + 1.2 = 1.2
C24 = B4 + E24
= 0 + 2.4 = 2.4
Tác vụ T1 theo thứ tự được chọn tài nguyên
trước, sẽ chọn thực thi trên host H2 (thời gian
hoàn thành thấp nhất). Thời gian bắt đầu B2
được cập nhật thành 1, vì chỉ sau thời điểm
này H2 mới có thể thực thi các tác vụ khác.
Giá trị E22 thay đổi: B2=1
C22 = B2 + E22= 1 + 2 = 3 > 2.4
Như vậy tác vụ T2 sẽ thực thi trên Host H4 vì
có C24 nhỏ nhất. Thời gian thực thi toàn hệ
thống makespan = 2.4 vì T1, T2 chạy song
song trên 2 host khác nhau.
Chúng ta có thể thấy, dựa vào giá trị MCT hệ
thống sẽ cân bằng hơn dựa vào giá trị MET.
Giải thuật Min – Min [2]
Giải thuật Min – Min sẽ tính toán thời gian
hoàn thành của tất cả các tác vụ trên tất cả các
tài nguyên hiện có. Tác vụ nào có giá trị MCT
nhỏ nhất sẽ được phép chọn tài nguyên trước.
Sau đó cập nhật thời gian sẵn sàng cho tài
nguyên được chọn, tính toán lại thông số với
tất cả các tác vụ chưa được điều phối. Quá
trình lặp lại cho đến khi tất cả các tác vụ đều
đã chọn được tài nguyên thực thi.
Ta định nghĩa một số khái niệm: T là tập các
tác vụ, Hj,k là máy (host) thứ k của cluster j.
C(Ti,Hj,k) là thời gian hoàn thành tác vụ Ti
trên host Hj,k.
Gọi f là một ánh xạ từ Rn vào R, toán tử
argmin được định nghĩa:
))((min))(min(arg xfxff Rx
n
Rx
n
Chú thích: Giá trị C(Ti,Hj,k) là thời gian hoàn
thành của tác vụ Ti trên host Hj,k. Lúc này
Tăng Cẩm Nhung Tạp chí KHOA HỌC & CÔNG NGHỆ 65(03): 134 - 138
136
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
nếu argminj, k (C(Ti,Hj,k))gồm 2 thành
phần(
11, ii hc ) thì giá trị
),( 11 , ii hci
HTC là nhỏ nhất . Host 1
ih
trên cluster
1
ic là host có khả năng hoàn tất
tác vụ Ti sớm nhất.
Giải thuật Min-Min:
while(T≠ )
foreach ( TTi )
( )),((minarg, ,,
11
kjikjii HTChc )
endfor
s= )),((minarg 1,1 ihic
ii HTC
1,1 shsc
s HT
T=T-{T}
endwhile
Áp dụng với các số liệu mục 2
C11= B1 + E11
= 0 + 2 = 2
C21= B1 + E21
= 0 + 4 =4
C12= B2 + E12
= 0 + 1 = 1 (min)
C22= B2 + E22
= 0 + 2 =2 (min)
C13= B3 + E13
= 0 + 1.3 = 1.3
C23= B3 + E23
= 0 + 2.6 = 2.6
C14 =B4 + E14
= 0 + 1.2 = 1.2
C24 = B4 + E24
= 0 + 2.4 = 2.4
Giá trị MCT(T1)= C12 =1 , MCT(T2)=C22=2
MCT(T1) nhỏ hơn, do đó tác vụ T1 được chọn
host H1 để thực thi trước.
Giá trị E22 thay đổi: B2=1, C22 = B2 + E22= 1 +
2 = 3 > 2.4
Như vậy tác vụ T2 sẽ thực thi trên Host H4 vì
có C24 nhỏ nhất. Thời gian thực thi toàn hệ
thống makespan = 2.4 vì T1, T2 chạy song
song trên 2 host khác nhau.
Giải thuật Max-Min [2]
Tương tự như giải thuật Min-Min, tuy nhiên
giải thuật Max-Min cho phép các tác vụ có
MCT lớn hơn được ưu tiên chọn host để thực
thi trước. Giải thuật này được đánh giá tốt và
cân bằng hơn Min-Min vì trong khi các tác vụ
dài hơn được ưu tiên chọn thiết bị tốt để thực
thi trước, các tác vụ ngắn có thể luân phiên
thực thi ở các thiết bị có năng lực yếu hơn.
Các tác vụ dài không phải mất thời tác vụ
ngắn hơn như ở giải thuật Min-Min.
Toán tử argmax được định nghĩa tương tự
toán tử argmin
))((max))(max(arg xfxff Rx
n
Rx
n
Giải thuật Max-Min:
while(T≠ )
foreach( TTi )
( )),((minarg, ,,
11
kjikjii HTChc )
endfor
s= )),((maxarg 1,1 ihic
ii HTC
1,1 shsc
s HT
T=T-{T}
endwhile
Áp dụng với các số liệu như mục 2
C11= B1 + E11
= 0 + 2 = 2
C21= B1 + E21
= 0 + 4 =4
C12= B2 + E12
= 0 + 1 = 1 (min)
C22= B2 + E22
= 0 + 2 =2 (min)
C13= B3 + E13
= 0 + 1.3 = 1.3
C23= B3 + E23
= 0 + 2.6 = 2.6
C14 =B4 + E14
= 0 + 1.2 = 1.2
C24 = B4 + E24
= 0 + 2.4 = 2.4
Giá trị MCT(T1)= C12 =1,MCT(T2)=C22=2
Lúc này tác vụ T2 có MCT lớn hơn nên được
phép chọn host thực thi trước. T2 sẽ thực thi
trên host H2.
Giá trị B2 = 2,
C12 = B2 + E12 = 2 + 1 =3 > 1.2
Như vậy, sau đó tác vụ T1 sẽ thực thi trên host
H4 vì lúc này C14 =1.2 là nhỏ nhất
Thời gian hoàn thành của hệ thống makespan
= 2 vì T1, T2 chạy song song (nhỏ hơn với giải
thuật Min-Min)
Giải thuật Sufferage
Suferage lấy ý tưởng từ giải thuật Min-Min và
Max-Min đã đề ra trước đó[1].
Giải thuật Sufferage tính toán giá trị MCT
thấp thứ nhất và thấp thứ hai đối với từng tác
vụ trong hệ thống. Giá trị này được gọi là độ
“thiệt hại” (suffering) của một tác vụ khi nó
không được thực thi trên tài nguyên tốt nhất.
Tác vụ có độ thiệt hại lớn nhất sẽ được ưu
tiên chọn tài nguyên để thực thi trước.
Giải thuật Suferage
while(T≠ )
foreach ( TTi )
( )),((minarg), ,,
11
kjikjii HTChc
Tăng Cẩm Nhung Tạp chí KHOA HỌC & CÔNG NGHỆ 65(03): 134 - 138
137
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
)),((minarg),( ,1,1
22
kji
ihkicj
ii HTChc
su
fi= )),(),( 1,12,2 ihic
i
ihic
i HTCHTC
endfor
S= )(maxarg ii suf
1,1 shsc
s HT
T=T-{T}
endwhile
Giải thuật này đặc biệt hiệu quả nếu tính đến
vấn đề vận chuyển dữ liệu đến nơi thực thi
Giải thuật này đặc biệt hiệu quả nếu tính đến
vấn đề vận chuyển dữ liệu nơi thực thi tác vụ.
Nếu một tài nguyên đã có sẵn dữ liệu của một
tác vụ, tác vụ nếu thực thi trên tài nguyên này
sẽ tiết kiệm được thời gian rất nhiều so với
khi thực thi trên một tài nguyên khác. Tác vụ
trong trường hợp này sẽ có giá trị Sufferage
cao nên được
Áp dụng với các số liệu như mục 2
Giá trị Suff (T1)= C14 – C12 = 0.2
Giá trị Suff (T2)= C24 – C22 = 0.4
Vì suff (T2) cao hơn nên tác vụ T2 được phép
chọn host H2 để thực thi trước.
Giá trị B2 = 2
C12 = B2 + E12 = 2 + 1 = 3 > 1.2
Như vậy, sau đó tác vụ T1 sẽ thực thi trên
host H4 vì lúc này C14 = 1.2 là nhỏ nhất
Thời gian hoàn thành của hệ thống makespan
= 2 vì T1, T2 chạy song song.
C11= B1 + E11
= 0 + 2 = 2
C21= B1 + E21
= 0 + 4 =4
C12= B2 + E12
= 0 + 1 = 1 (min)
C22= B2 + E22
= 0 + 2 =2 (min)
C13= B3 + E13
= 0 + 1.3 = 1.3
C23= B3 + E23
= 0 + 2.6 = 2.6
C14 =B4 + E14
= 0 + 1.2 = 1.2
C24 = B4 + E24
= 0 + 2.4 = 2.4
Ví dụ ở trên khá đơn giản, chỉ có chiều dài
tác vụ ảnh hưởng đến thời gian thực thi của
tác vụ nên trường hợp Sufferage khá giống
Max – Min.
Giải thuật XSufferage
Do nhóm nghiên cứu Casanova đề ra, phát
triển từ thuật toán Sufferage[1].
Các máy tính trong một Máy tính cụm thường
có năng lực như nhau, do đó giá trị sufferage
thường dần về 0. Điều này khiến một tác vụ
Ti, khi rất cần chạy trên máy tính cụm j (ví dụ
dữ liệu input của Ti đã nằm sẵn trên máy tính
cụm j), nhưng trong trường hợp máy tính cụm
này lại có 2 máy năng lực tương đương nhau
khiến Suff(Ti) ≈ 0 nên Ti sẽ không có cơ hội
chạy trên máy tính cụm j. Cải tiến ở đây là
khái niệm Suf sẽ được tính ở mức cluster,
không phải ở mức host.
Giải thuật
while(T≠ )
foreach ( TTi )
foreach clusterj
hi,j= )),((minarg ,kjik HTC
endforeach
)),((minarg
,,
1
jihjiji
HTCc
)),((minarg
,,1
2
jihji
icj
i HTCc
sufi= )),(),( 1,12,2 ihic
i
ihic
i HTCHTC
endforeach
s= )(maxarg ii suf
1,
,1
scs
hsc
s HT
T=T-{T}
Endwhile
KẾT LUẬN
Bài báo đã nêu ra cái nhìn tổng quan nhất về
vấn đề lập lịch trong môi trường lưới, và các
thuật toán cụ thể được áp dụng cho lưới và
các đặc điểm của giải thuật trên đó là:
Phải duyệt tất cả các máy trong mọi máy
tính cụm có thể dẫn đến độ phức tạp rất lớn.
Ứng dụng rất lớn gồm nhiều tác vụ chạy
song song, các tác vụ đóng vai trò như nhau.
Một tác vụ có thể chạy trên host bất kỳ,
không có sự ràng buộc về địa điểm thực thi.
Từ cơ sở lý thuyết của các thuật toán đó đã
được áp dụng vào hệ thống lưới gồm có hai
máy tính cụm để chứng minh về tính hiệu quả
của từng thuật toán đã được nêu ra.
Tăng Cẩm Nhung Tạp chí KHOA HỌC & CÔNG NGHỆ 65(03): 134 - 138
138
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
TÀI LIỆU THAM KHẢO
[1] Fangpeng Dong and Selim G. Akl, January
2006, Scheduling Algorithms for Grid
Computing:State of the Art and Open Problems,
Technical Report No. 2006-504,
[3] Kousalya.K and Balasubramanie.P, April
2008, An Enhanced Ant Algorithm for Grid
Scheduling Problem, IJCSNS International
Journal of Computer Science and Network
Security, VOL.8 No.4,
[4] Saurabh Kumar Garg , Rajkumar Buyya and
H. J. Siegel, 2009, Scheduling Parallel
Applications on Utility Grids:Time and Cost
Trade-off Management, Proc. 32nd Australasian
Computer Science Conference (ACSC 2009),
Wellington, New Zealand
[5] Graham Ritchie and John Levine, A fast,
effective local search for scheduling independent
jobs in heterogeneous computing environments.
[6] Ian Foster, C. Kesselman ,Computational
Grids, Chapter 2 Of "The Grid:Blueprint For A
New Computing Infrastructure", Morgan-
Kaufman, 1999.
RESEARCH AND APPLY SCHEDULE ALGORITHMS TO GRID COMPUTING
ENVIRONMENTS
Tang Cam Nhung
2
Thai Nguyen University of Tecnology
Thanks to advances in wide-area network technologies and the low cost of computing resources, Grid
computing came into being and is currently an active research area. One motivation of Grid computing
is to aggregate the power of widely distributed resources, and provide non-trivial services to users. To
achieve this goal, an efficient Grid scheduling system is an essential part of the Grid. This paper refers
to the scheduling problem of grid system and some of scheduling algorithms applied to grid computing
model so may reduce the maximum system time needed to complete the application. The algorithms
are: OLB, MCT, Min-Min, Max-Min, Sufferage and in this paper is to compare the results of efficiency
between algorithms when the applied to specific models.
Keywords: grid computing, schedule, Opportunistic Load Balancing, Minimum Execution Time, Minimum
Completion Time, Max-Min, Min – Min, Sufferage, xSufferage
2
Tel: 0988724824; Email:
File đính kèm:
nghien_cuu_va_ung_dung_cac_thuat_toan_lap_lich_vao_moi_truon.pdf

