III. NGầY HOầN THầNH NHI 影: 22/11/2013 ẻ ẻẻẻẻẻẻ0
3 MÔ HỉNH TOÁN HỌC
3.2.2 Mô hình 1
Mô hình quy hoạch tuyến tắnh nguyên giải quyết bài toán lập lịch đang xét thông qua hai biến quyết định xvà y:
Ễ xu,t,v: biến nhị phân có giá trị bằng 1 nếu task u ∈U hoàn thành tại thời điểm t∈T trên VM v ∈V, ngược lại biến này có giá trị là 0;
Ễ yu,t,v: biến nhị phân có giá trị bằng 1 nếu task u ∈ U đang được thực thi tại thời điểm t∈T trên VM v ∈V, ngược lại biến này có giá trị là 0. Hàm mục tiêu: minX t∈T X v∈V xun,t,vÈt (3.1) Các ràng buộc được biểu diễn bởi các công thức sau:
Ễ Ràng buộc 1: X u∈U xu,t,v ≤1,∀v ∈V,∀t∈T; (3.2) X u∈U yu,t,v ≤1,∀v ∈V,∀t ∈T; (3.3)
Ễ Ràng buộc 2: X t∈T X v∈V xu,t,v = 1,∀u∈U; (3.4) X t∈T X v∈V yu,t,v =X v∈V X t∈T (⌈wu/Av⌉)Èxu,t,v,∀u∈U; (3.5) Ễ Ràng buộc 3: X t∈T X v∈V xu,t,vÈt+X v∈V X k∈V (⌈fu,z/Bv,k⌉ È ⌊(X t∈T xu,t,v+X t∈T xz,t,k)/2⌋)≤ X t∈T X k∈V xz,t,kÈt−X t∈T X k∈V xz,t,kÈ ⌈wz/Ak⌉, ∀z ∈U,∀u∈H(z); (3.6) Ễ Ràng buộc 4: t−1 X s=t−⌈wu/Av⌉ yu,s,v ≥xu,t,vÈ(⌈wu/Av⌉), ∀u∈U,∀v ∈V,∀t∈ {⌈wu/Av⌉, . . . , T max}; (3.7) Ễ Ràng buộc 5: xu,t,v ∈ {0,1},∀u∈U,∀t∈T,∀v ∈V; (3.8) yu,t,v ∈ {0,1},∀u∈U,∀t ∈T,∀v ∈V; (3.9) Bất phương trình (3.6) biểu diễn cho ràng buộc 3 là phi tuyến nên cần được chuyển đổi sang ràng buộc tuyến tắnh tương đương như sau:
Ễ Sử dụng biến trung gianhu,v,z,k=⌊(P
t∈T xu,t,v+P
t∈Txz,t,k)/2⌋,hu,v,z,k= 1
khi task u được phân bổ trên VM v và task z được phân bổ trên VM k, ngược lại hu,v,z,k = 0;
Ễ Bất phương trình (3.6) được biến đổi thành: X t∈T X v∈V xu,t,vÈt+X v∈V X k∈V ⌈fu,z/Bv,k⌉ Èhu,v,z,k ≤ X t∈T X k∈V xz,t,kÈt−X t∈T X k∈V xz,t,kÈ ⌈wz/Ak⌉, ∀z ∈U,∀u∈H(z); (3.10)
Ễ Ràng buộc cho biến hu,v,z,k:
(X t∈T xu,t,v+X t∈T xz,t,k)−1≤hu,v,z,k ≤(X t∈T xu,t,v +X t∈T xz,t,k)/2, ∀u∈H(z),∀z ∈U,∀v, k ∈V; (3.11) hu,v,z,k ∈ {0,1},∀u∈H(z),∀z∈U,∀v, k ∈V; (3.12) 3.2.3 Mô hình 2
Các biến quyết định được biểu diễn như sau:
Ễ xu,v: biến nhị phân có giá trị bằng 1 nếu tasku∈U được phân bổ trên VM v ∈V, ngược lại biến này có giá trị là 0;
Ễ yu,t: biến nhị phân có giá trị bằng 1 nếu task u ∈ U hoàn thành tại thời điểm t∈T, ngược lại biến này có giá trị là 0;
Ễ zu,t: biến nhị phân có giá trị bằng 1 nếu tasku∈U đang được thực thi tại t ∈T, ngược lại biến này có giá trị là 0.
Hàm mục tiêu:
minX
t∈T
yun,tÈt (3.13)
Các ràng buộc được biểu diễn bởi các công thức sau: Ễ Ràng buộc 1:
X
X u∈U ⌊(xu,v+zu,t)/2⌋ ≤1,∀v ∈V,∀t∈T; (3.15) Ễ Ràng buộc 2: X v∈V xu,v = 1,∀u∈U; (3.16) X t∈T yu,t = 1,∀u∈U; (3.17) X t∈T zu,t =X v∈V ⌈wu/Av⌉ Èxu,v,∀u∈U; (3.18) Ễ Ràng buộc 3: X t∈T yu,tÈt+X v∈V X k∈V (⌈fu,z/Bv,k⌉ È ⌊(xu,v+xz,k)/2⌋)≤ X t∈T yz,tÈt−X k∈V xz,kÈ ⌈wz/Ak⌉, ∀z ∈U,∀u∈H(z); (3.19) Ễ Ràng buộc 4: t−1 X s=t−⌈wu/Av⌉
⌊(xu,v+zu,s)/2⌋ ≥ ⌈wu/Av⌉ È ⌊(xu,v+yu,t)/2⌋,
∀u∈U,∀v ∈V,∀t ∈ {⌈wu/Av⌉, . . . , T max}; (3.20) Ễ Ràng buộc 5: xu,v ∈ {0,1},∀u∈U,∀v ∈V; (3.21) yu,t ∈ {0,1},∀u∈U,∀t ∈T; (3.22) zu,t ∈ {0,1},∀u∈U,∀t∈T; (3.23) Bất phương trình (3.14, 3.15, 3.19, 3.20) biểu diễn cho các ràng buộc 1, 3, 4 là phi tuyến. Chúng cần được chuyển đổi sang các công thức tuyến tắnh tương đương bằng cách biến đổi như đã thực hiện ở bất phương trình (3.6) như sau:
bổ đến VM v hoàn thành tại thời điểm t;
Ễ Biến trung gian nu,v,t = ⌊(xu,v +zu,t)/2⌋, nu,v,t = 1 khi task u được phân bổ đến VM v được thực thi tại thời điểm t;
Ễ Biến trung gianhu,v,z,k =⌊(xu,v+xz,k)/2⌋,hu,v,z,k = 1khi taskuđược phân bổ đến VM v và task z được phân bổ đến VMk;
Ễ Bất phương trình (3.14, 3.15, 3.19, 3.20) được biến đổi thành: X u∈U mu,v,t≤1,∀v ∈V,∀t∈T; (3.24) X u∈U nu,v,t ≤1,∀v ∈V,∀t ∈T; (3.25) X t∈T yu,tÈt+X v∈V X k∈V (⌈fu,z/Bv,k⌉ Èhu,v,z,k)≤ X t∈T yz,tÈt−X k∈V xz,kÈ ⌈wz/Ak⌉, ∀z ∈U,∀u∈H(z); (3.26) t−1 X s=t−⌈wu/Av⌉ nu,v,s≥ ⌈wu/Av⌉ Èmu,v,t, ∀u∈U,∀v ∈V,∀t∈ {⌈wu/Av⌉, . . . , T max}; (3.27)
Ễ Các ràng buộc cho các biến mu,v,t, nu,v,t, hu,v,z,k:
(xu,v+yu,t)−1≤mu,v,t ≤(xu,v+yu,t)/2,
∀u∈U,∀v ∈V,∀t ∈T; (3.28)
(xu,v+zu,t)−1≤nu,v,t≤(xu,v+zu,t)/2,
∀u∈U,∀v ∈V,∀t ∈T; (3.29)
(xu,v +xz,k)−1≤hu,v,z,k ≤(xu,v+xz,k)/2,
∀u∈H(z),∀z ∈U,∀v, k ∈V; (3.30) mu,v,t∈ {0,1},∀u∈U,∀v ∈V,∀t∈T; (3.31)
nu,v,t ∈ {0,1},∀u∈U,∀v ∈V,∀t ∈T; (3.32) hu,v,z,k ∈ {0,1},∀u∈H(z),∀z∈U,∀v, k ∈V; (3.33)
3.3 Mô phỏng và so sánh
Để đánh giá hai mô hình toán học đã đề xuất, đề tài sử dụng thư viện các workflow thực tế được giới thiệu bởi Bharathi et al. [2]. Họ đã nghiên cứu cấu trúc của loại workflow thực tế từ các ứng dụng khoa học 1, đó là Montage (thiên văn), Cybershake (địa chấn), Epigenomics (sinh vật học), LIGO (vật lý về lực hấp dẫn) and SIPHT (tin-sinh học). Hình 3.2 là cấu trúc thu nhỏ của năm loại workflow này.
Epigenomics (Epi) Montage (Mon) CyberShake (Cyb)
LIGO SIPHT
Hình 3.2: Cấu trúc thu nhỏ của năm loại workflow khoa học.
Hơn nữa, Bharathi et al. đã phát triển một bộ sinh workflow để tạo ra các workflow có kắch thước tùy ý, cấu trúc workflow được tạo ra cũng sẽ có cấu trúc tương tự các workflow khoa học thực tế. Bằng cách sử dụng bộ sinh workflow này, đề tài đã tạo năm workflow có kắch thước 20 nút (tương đương với 20 task) cho mỗi loại workflow để sử dụng trong thực nghiệm.
Hai mô hình ILP đã trình bày được hiện thực bằng ngôn ngữ Java và triển khai việc mô phỏng bằng cách sử dụng Gurobi solver với các cấu hình mặc định, tiến hành đánh giá độ hiệu quả của hai mô hình ILP khi tìm ra được lời giải tối ưu. Các thước đo dùng trong quá trình đánh giá: thời gian tắnh toán cần thiết để solver cho ra lời giải tối ưu (computing time), số lượng phép cắt mà solver sinh ra (cuts), số bước lặp xảy ra trong quá trình solver tìm lời giải tối ưu (iterations), cận biên dưới (lower bound), và thời gian trải qua kể từ lúc tìm thấy lời giải khả dĩ đầu tiên cho đến khi tìm được tối ưu (tailing-off time).
Trong thực nghiệm, số lượng VM và task của workflow làm= 5, n= 20. Giả sử băng thông của các kết nối giữa các VM có cùng máy vật lý là vô hạn (nghĩa là thời gian truyền dẫn dữ liệu là không đáng kể, xem như bằng 0), trong khi băng thông của các kết nối giữa các VM khác máy vât lý, B sẽ được sinh ngẫu nhiên trong khoảng [5, 10]. Khả năng tắnh toán của mỗi VM cũng được sinh ngẫu nhiên trong khoảng [5, 10].
Quá trình thực nghiệm tiến hành chạy hai mô phỏng cho mỗi loại workflow với cấu hình máy như trên. Trong mỗi mô phỏng, chi phắ tắnh toán đòi hỏi của mỗi task và chi phắ truyền dẫn cho mỗi sự phụ thuộc dữ liệu của workflow được sinh ngẫu nhiên trong khoảng [5, 30].
Nhìn nhanh vào kết quả ở Hình 3.3 cho thấy mô hình 1 có độ hiệu quả tốt hơn mô hình 2 ở hầu hết các trường hợp. Mô hình 1 đạt được thời gian tắnh toán cho ra lời giải tối ưu tốt hơn mô hình 2, điều này cũng được lý giải qua biểu đồ iterations, khi mô hình 1 sử dụng số vòng lặp ắt hơn. Tuy nhiên, với trường hợp Cybershake workflow thì mô hình 2 lại có thời gian tắnh toán tốt hơn mô hình 1, nhưng với SIPHT workflow thì thời gian tắnh toán của mô hình 2 lại kém hơn mô hình 1 rất nhiều. Trong hầu hết trường hợp, mô hình 1 sử dụng phép cắt với số lượng nhiều hơn mô hình 2, việc sử dụng đa dạng các phép cắt giúp mô hình 1 nhanh tìm được lời giải tối ưu hơn mô hình 2.
Trong cả hai mô hình, solver cho ra kết quả lower bound rất cận với lời giải tối ưu. Tuy nhiên, trong hầu hết các trường hợp thì mô hình 1 có được lower bound tốt hơn so với mô hình 2 (vắ dụ như Montage và SIPHT workflow). Bên cạnh đó, dễ thấy rằng mô hình 2 có tailing-off time lớn hơn nhiều so với mô hình 1 trong hầu hết các trường hợp. Điều này cho thấy rằng mô hình 1 hiệu quả hơn mô hình 2 khi đạt được lời giải tối ưu.
Chương 4
LẬP LỊCH NHIỀU ỨNG DỤNG WORKFLOW
Chương 4 sẽ đề cập những vấn đề của lập lịch nhiều ứng dụng workflow, phần nội dung của chương này được tổ chức như sau. Mục 4.1 trình bày những phân tắch về yêu cầu của bài toán lập lịch tập đa workflow, và đưa ra những nhận định cho các hướng tiếp cận nhằm giải quyết vấn đề của bài toán. Chi tiết của giải thuật đề xuất để giải bài toán được trình bày ở mục 4.2, vắ dụ minh họa và độ phức tạp của giải thuật cũng được đề cập trong mục này. Sau cùng, mục 4.3 sẽ trình bày phương pháp tiến hành thực nghiệm, so sánh, đánh giá giữa giải thuật được đề xuất và các giải thuật ở các công trình nghiên cứu liên quan.
4.1 Phân tắch yêu cầu và hướng tiếp cận
4.1.1 Phân tắch yêu cầu
Số lượng lớn các workflow cần được lập lịch, thực thi và quản lý trong hệ thống là vấn đề thách thức [1]. Phần lớn các giải thuật lập lịch cho workflow hiện có tập trung nhiều vào việc giải quyết cho từng workflow riêng rẽ nhằm vào các mục tiêu khác nhau. Các công trình nghiên cứu [9, 10] đã cố gắng thực hiện định thời nhiều workflow DAG trên hệ thống phân bố, nhưng các công trình này chỉ đơn thuần kết nối nhiều workflow thành một workflow hợp nhất.
cấp IaaS cloud khác nhau (multiple providers) để lập lịch đơn workflow. Tuy nhiên, hiện nay, thật không thực tế để chạy một ứng dụng workflow trên nhiều nhà cung cấp dịch vụ khác nhau vì những lý do sau đây: (1) dữ liệu của các workflow khoa học có kắch thước rất lớn, do vậy không hiệu quả để truyền dẫn dữ liệu vì sự giới hạn của băng thông. (2) truyền dẫn dữ liệu ra/vào giữa các nhà cung cấp cloud đòi hỏi cần phải trả chi phắ cao.
Xem xét đặc tắnh của vấn đề lập lịch nhiều workflow và môi trường tài nguyên, giải thuật lập lịch được đề xuất cần đáp ứng các yêu cầu sau:
1. Mỗi workflow được đệ trình để lập lịch tại một thời điểm (ArrivalT ime) xác định, cùng một thời điểm có thể có nhiều workflow được đệ trình. Nhiều workflow cần được lập lịch nên giải thuật không tập trung vào mục tiêu tối thiểu hóa thời gian thực thi của một workflow riêng lẻ, mà hướng vào việc giảm thiểu tổng thời gian thực thi của các workflow.
2. Kiến trúc hạ tầng của tài nguyên trên môi trường cloud được xem xét đến trong quá trình thiết kế giải thuật: các ứng dụng workflow sẽ được thực thi trên nền cloud, trong đó bao gồm nhiều cụm tài nguyên thực thi (execution site) phân tán trên Internet và tốc độ truyền tải của mỗi kết nối giữa các cụm tài nguyên này là giới hạn. Nếu một task cần xử lý dữ liệu được lưu trữ ở các cụm tài nguyên thực thi khác, việc di chuyển dữ liệu trở nên là một thách thức [3], một số tập dữ liệu có kắch thước quá lớn để có thể di chuyển hiệu quả. Chi phắ truyền dẫn dữ liệu trong cùng một cụm tài nguyên thực thi là không đáng kể so với truyền tải liên cụm tài nguyên. Vì sự ràng buộc về băng thông nên việc truyền dẫn dữ liệu lớn giữa các cụm tài nguyên có thể dẫn đến tình trạng tắt nghẽn (bottle-neck) của toàn hệ thống. Hơn nữa, vì sự tranh chấp sử dụng tài nguyên tắnh toán ở các cụm tài nguyên nên tài nguyên tắnh toán không luôn luôn sẵn sàng tại mọi thời điểm, thời điểm sẵn sàng của tài nguyên được xác định bởi tham số ReadyT ime.
4.1.2 Hướng tiếp cận
Một số công trình nghiên cứu liên quan [9, 10] đề xuất hướng tiếp cận cho việc lập lịch nhiều workflow DAG cùng thời điểm, nhưng thực sự các hướng tiếp cận này
chỉ đơn thuần kết nối nhiều workflow thành một workflow hợp nhất, bằng cách sử dụng một nút bắt đầu giả kết nối đến các nút bắt đầu của các workflow và các nút kết thúc của các workflow cũng kết nối đến một nút kết thúc giả như Hình 4.1. Sau đó sẽ áp dụng các giải thuật lập lịch workflow phổ biến đã có như Heterogeneous- Earliest-Finish-Time (HEFT), Critical-Path-on-a-Processor (CPOP) [11], Hybrid Balanced-Minimum-Completion-Time (Hyb.BMCT) [12] cho workflow hợp nhất này. Tuy nhiên, trên thực tế các ứng dụng workflow được đệ trình vào hệ thống để thực thi ở nhiều thời điểm khác nhau bởi nhiều người dùng khác nhau. Hơn nữa, các task của cùng một workflow có thể được gán đến các cụm tài nguyên thực thi khác nhau, vì thế việc di chuyển dữ liệu lớn và vấn đề tắt nghẽn đường truyền trong hệ thống có thể xảy ra.
Hình 4.1: Hai workflow DAG A và B được hợp nhất thành một workflow. Việc truyền dữ liệu là một chi phắ rất lớn (big overhead) cho các ứng dụng workflow khoa học [13], do vậy một ứng dụng workflow nên được gán việc thực thi của nó ở cùng một cụm tài nguyên thực thi để đảm bảo việc di chuyển dữ liệu chỉ diễn ra trong nội bộ một cụm tài nguyên. Để thỏa mãn các yêu cầu đề cập
ở trên, đề tài đề xuất giải thuật Min-Min-Heterogeneous-Earliest-Finish-Time (MM-HEFT) lập lịch tập các ứng dụng workflow thực thi trên nền cloud gồm nhiều cụm tài nguyên thực thi phân tán có giới hạn về tốc độ truyền dẫn. Chi tiết về giải thuật được trình bày ở mục sau.
4.2 Giải thuật MM-HEFT
4.2.1 Các định nghĩa dùng trong giải thuật
Trước khi đi vào phần chi tiết của giải thuật, các định nghĩa được dùng trong giải thuật được giới thiệu như bên dưới. Giải thuật MM-HEFT được kết hợp từ giải thuật Min-Min [14] và HEFT [11], do vậy các định nghĩa sử dụng trong giải thuật MM-HEFT được mở rộng từ hai giải thuật này:
Ễ EET(ui, v): ước lượng thời gian thực thi task ui trên VM v; EET(ui, v) = Pui = wi
Av
(4.1) Ễ ET T(fi,j, v, r): ước lượng thời gian truyền dữ liệu fi,j từ VMv đến VM r. Trong đó, VM v được phân bổ để thực thi task ui, và VM r thực thi task uj;
ET T(fi,j, v, r) = Qui,uj = fi,j
Bv,r
(4.2) Ễ ECT(ui, v): thời gian sớm nhất để hoàn thành việc thực thi của task ui
trên VM v.
ECT(ui, v) =EST(ui, v) +EET(ui, v) (4.3) Ễ Khi task ui được gán cho VM v, thì thời gian sớm nhất để bắt đầu và thời gian sớm nhất để hoàn thành của task ui trên VM v sẽ bằng với thời gian bắt đầu thực sự AST(ui, v) và thời gian hoàn thành thực sự ACT(ui, v)
của taskui trên VMv. Thời gian hoàn thành makespan=ACT(un, v), với un là task kết thúc.
v;
EST(u1, v) = max{ReadyT ime(v), ArrivalT ime(u1)} (4.4a) EST(ui, v) = max{ReadyT ime(v), ST(ui, v)} (4.4b) Trong đó, u1 là task bắt đầu của workflow. ReadyT ime(v)là thời gian mà VM v sẵn sàng để thực thi một task.ArrivalT ime(ui)là thời gian mà task ui được đệ trình (submit) để thực thi. ST(ui, v) được tắnh như sau:
ST(ui, v) = max
∀up∈H(ui){ACT(up, r) +ET T(fp,i, r, v)} (4.5) Ễ AET(ui): thời gian trung bình để thực thi task ui trên tất cả VM;
AET(ui) =
X
v∈V
EET(ui, v)
m (4.6)
Ễ AT T(fi,j): thời gian trung bình để truyền dẫn dữ liệu sinh ra từ taskui cho task uj trên tất cả kết nối;
AT T(fi,j) = fi,j
B (4.7)
Khi đó B là tốc độ truyền tải trung bình giữa các VM trong hệ thống. Ễ P RI(ui): độ ưu tiên của task ui được ước lượng bằng chiều dài của đường