Công nghệ thông tin & Khoa học máy tính<br />
<br />
THUẬT TOÁN LẬP LỊCH LUỒNG CÔNG VIỆC THEO PHƯƠNG PHÁP TỐI<br />
ƯU BÀY ĐÀN TRONG MÔI TRƯỜNG ĐIỆN TOÁN ĐÁM MÂY<br />
Phan Thanh Toàn1*, Nguyễn Thế Lộc1, Nguyễn Doãn Cường2, Đỗ Như Long2<br />
<br />
Tóm tắt: Luồng công việc là một dãy có thứ tự các tác vụ cần phải thực thi để đạt được một<br />
mục đích. Bài toán lập lịch luồng công việc là bài toán sắp xếp các tác vụ cho thực thi trên một số<br />
máy xác định sao cho đạt hiệu quả tốt nhất, đây chính là bài toán quan trọng nhất tại các trung<br />
tâm điện toán đám mây. Bài báo này đề xuất một mô hình bài toán luồng công việc trong môi<br />
trường điện toán đám mây và đề xuất một thuật toán dựa trên thuật toán PSO để sắp xếp luồng<br />
công việc thực thi trên môi trường điện toán đám mây đảm bảo chi phí nhỏ nhất.<br />
Từ khóa: Lập lịch luồng công việc, Ứng dụng luồng công việc, Điện toán đám mây.<br />
<br />
1. ĐẶT VẤN ĐỀ<br />
Điện toán đám mây là sự tích hợp của nhiều công nghệ thuộc lĩnh vực công nghệ thông tin<br />
và truyền thông nhằm cho phép người dùng truy cập đến những dịch vụ từ các nhà cung cấp.<br />
Đám mây gồm nhiều máy chủ, các tác vụ (task - khối công việc tương đối độc lập) sẽ được xếp<br />
lịch thực hiện tại các máy chủ sao cho hiệu quả đạt được là cao nhất. Lập lịch thực thi luồng<br />
công việc (workflow) là vấn đề quan trọng nhất của trung tâm điều khiển đám mây và đã có<br />
nhiều công trình nghiên cứu nhằm tìm ra các giải pháp lập lịch tối ưu. Bài toán lập lịch<br />
workflow từ lâu đã được chứng minh là thuộc lớp NP-Complete [4] do vậy nó thường được giải<br />
quyết bằng các giải thuật heuristic trong đó lớp các giải thuật tiến hóa là một hướng tiếp cận<br />
được sử dụng khá rộng rãi trong thời gian gần đây.<br />
Nội dung của bài báo gồm:1. Giới thiệu bối cảnh thực tế tại trung tâm điện toán đám mây, 2.<br />
Phát biểu bài toán và xây dựng mô hình toán học cho vấn đề thực thi luồng công việc trong môi<br />
trường đám mây, 3. Giới thiệu tóm tắt về chiến lược tối ưu bày đàn PSO [1], và đề xuất một<br />
thuật toán lập lịch mới gọi là PSO-WS để giải quyết bài toán. Để kiểm chứng hiệu năng của<br />
thuật toán đề xuất, 4. Trình bày các thực nghiệm tiến hành trên môi trường mô phỏng thông qua<br />
công cụ CloudSim. [4,5,10]. Các kết quả được phân tích để so sánh PSO-WS với giải thuật PSO<br />
Heuristic và 2 giải thuật lập lịch cơ bản là Random [6][7] và Round Robin [8].<br />
2. BÀI TOÁN TỐI THIỂU HÓA CHI PHÍ<br />
2.1. Phát biểu bài toán<br />
Giả sử chúng ta cần phải sắp xếp lịch biểu cho một luồng công việc gồm n tác vụ trong một<br />
môi trường điện toán đám mây với các yêu cầu và giả thiết như sau:<br />
+ Luồng công việc gồm có M tác vụ. Các tác vụ có quan hệ thứ tự trước sau.<br />
+ Mỗi tác vụ cần một khối lượng dữ liệu vào và sẽ xuất ra một lượng dữ liệu xác định.<br />
+ Luồng công việc chỉ có duy nhất một tác vụ gốc (tác vụ vào) và một tác vụ ra (output)<br />
+ Đám mây có N máy chủ tính toán và K máy chủ lưu trữ sẵn sàng hoạt động. Mỗi tác vụ được<br />
thực thi trên một và chỉ một máy chủ<br />
+ Chi phí vận hành mỗi máy chủ do nhà cung cấp dịch vụ cung cấp theo một đơn giá<br />
2.2. Mô hình toán học của bài toán Tối thiểu chi phí thực thi luồng công việc<br />
<br />
<br />
<br />
<br />
132 P.T.Toàn, N.T.Lộc, N.D.Cường, Đ.N.Long, “Thuật toán lập lịch ... điện toán đám mây.”<br />
Nghiên cứu khoa học công nghệ<br />
<br />
Chúng ta ký hiệu:<br />
1) Tập các máy chủ S = {S1, S2,….,SN}<br />
2) Luồng công việc được biểu diễn bởi một đồ thị<br />
G=(V, E), với V là tập các đỉnh của đồ thị và là tập các<br />
tác vụ, E là tập cạnh của đồ thị thể hiện mối quan hệ<br />
giữa các tác vụ.<br />
3) Tập các tác vụ V ={T1, T2,…,TM}.<br />
4) Cạnh e =(Ti, Tj) E cho biết tác vụ cha Ti thực hiện<br />
trước và sẽ chuyển cho tác vụ con Tj một khối lượng<br />
dữ liệu xác định.<br />
5) Khối lượng tính toán của Ti kí hiệu là Wi đo bằng<br />
đơn vị flop (floating point operations).<br />
Hình 1: Đồ thị luồng công việc với 6) Năng lực xử lý của một máy chủ được biểu diễn bởi<br />
15 task. hàm số P : S R+; Si P(Si)<br />
7) Đơn giá cước tính toán, nghĩa là chi phí thực thi một<br />
flop trên máy chủ (excution cost) được biểu diễn thông qua hàm số E : S R+; Si E(Si)<br />
8) Mỗi cặp máy chủ Si, Sj (1 i, j N ) đều có một kênh truyền kết nối với băng thông biểu<br />
diễn thông qua hàm số B () : SxS R+ ;(Si, Sj) B(Si, Sj)<br />
Giả sử hàm B( ) thỏa mãn các điều kiện sau:<br />
- B(Si, Si) = (băng thông tại chỗ lớn vô cùng, tức là chi phí truyền bằng 0)<br />
- B(Si, Sk) + B(Sk, Sj) ≤ B(Si, Sj) ( bất đẳng thức tam giác)<br />
- B(Si, Sj ) = B(Sj, Si) (tính chất đối xứng)<br />
Giá trị của hàm băng thông B( ) được cung cấp bởi nhà cung cấp dịch vụ<br />
9) Khối lượng dữ liệu giữa Ti và Tk (kí hiệu là Dik) là hằng số cho biết trước<br />
10) Đơn giá cước truyền giữa 2 máy chủ (Communication Cost), đơn vị là dolar/bit, được biểu<br />
diễn thông qua hàm số C: SxS R+; (Si, Sk) C(Si, Sk)<br />
Giả sử hàm C( ) có tính đối xứng: C(Si, Sk) = C(Sk, Si)<br />
11) Mỗi phương án xếp lịch là một ánh xạ f( ) : T S; Ti f(Ti);<br />
Trong đó f(Ti) là máy chủ chịu trách nhiệm thực thi tác vụ T i<br />
Từ đó suy ra:<br />
Thời gian tính toán của tác vụ Ti là: Wi / P(f(Ti) ) (i=1,2, ... M)<br />
Chi phí tính toán của tác vụ Ti là: Wi E(f(Ti))<br />
Thời gian truyền dữ liệu giữa tác vụ Ti và tác vụ con T k là: Dik / B(f(Ti),f(Tk))<br />
Chi phí truyền thông giữa tác vụ Ti và tác vụ con T k là: DikC(f(Ti),f(Tk))<br />
12) Chi phí thực thi Ti trên máy chủ f(Ti) là phí tính toán cộng với phí truyền thông giữa Ti với<br />
các tác vụ con Tj. Chi phí thực thi luồng công việc là tổng chi phí thực hiện tất cả các tác vụ<br />
trong luồng. Hàm mục tiêu được xác định như sau:<br />
M M M<br />
<br />
Wi E f Ti Dik C f Ti , f Tk Min<br />
i 1 i 1 k 1<br />
(1)<br />
<br />
<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số 37, 06 - 2015 133<br />
Công nghệ thông tin & Khoa học máy tính<br />
<br />
3. THUẬT TOÁN ĐỀ XUẤT<br />
PSO (Particle Swarm Optimization) là thuật toán tiến hóa được đề xuất bởi R. Eberhart và J.<br />
Kennedy năm 1995 [1,2] lấy ý tưởng từ hoạt động tìm kiếm thức ăn của các loài động vật như<br />
đàn kiến, đàn chim. Khởi đầu PSO sẽ tạo ra một quần thể gồm nhiều cá thể ở những vị trí ngẫu<br />
nhiên, mỗi cá thể tượng trưng cho một phương án của bài toán. Các cá thể sẽ đi tìm mồi, tức là<br />
di chuyển trong không gian lời giải để tìm kiếm lời giải tối ưu. Trong quá trình tìm kiếm mỗi<br />
các thể sẽ di chuyển theo hướng tổng hợp từ ba thành phần là hướng đi hiện tại, hướng đi tốt<br />
nhất của cả bầy và hướng đi tốt nhất của chính mình cho tới thời điểm hiện tại.<br />
Dựa trên tư tưởng tối ưu bày đàn và mô hình bài toán đã trình bày ở phần 3, chúng tôi đề<br />
xuất một giải thuật với tên gọi PSO- WS gồm những bước như dưới đây.<br />
3.1. Mã hóa cá thể<br />
Mỗi cá thể trong quần thể được biểu diễn bởi 2 thành phần cơ bản là vector vị trí (positon) và<br />
vector chuyển động (velocity). Vector vị trí có số chiều bằng số tác vụ. Cả 2 vector được mô tả<br />
thông qua một cấu trúc dữ liệu bảng băm<br />
Hashtable position<br />
Hashtable velocity<br />
Ví dụ : Luồng công việc gồm 5 tác vụ T1, T2, T3, T4, T5 và 3 máy chủ S1, S2, S3. Một cá thể được<br />
mã hóa như sau:<br />
T1 T2 T3 T4 T5<br />
S1 S2 S1 S3 S2<br />
<br />
Nghĩa là T1, T3 được thực hiện trên S1; T2 và T5 trên S2 còn T4 được thực hiện trên S3<br />
3.2. Mã hóa tác vụ<br />
Mỗi tác vụ được xác định bởi 3 đại lượng là (i) khối lượng tính toán cần thực hiện, (ii) kích<br />
thước dữ liệu xuất ra của tác vụ và (iii) danh sách các tác vụ phụ thuộc.<br />
3.3. Biểu diễn dữ liệu<br />
3.3.1. Chi phí thực thi tác vụ trên máy chủ<br />
Chi phí này được biểu diễn dưới dạng bảng và ta sử dụng cấu trúc bảng băm như sau<br />
Hashtable TH_matrix;<br />
<br />
Bảng 1. Chi phí thực thi của các tác vụ Ti trên các máy chủ Si.<br />
S1 S2 S3<br />
T1 1.23 1.12 1.15<br />
T2 1.17 1.17 1.28<br />
TP[5x3]<br />
T3 1.13 1.11 1.11<br />
T4 1.26 1.12 1.14<br />
T5 1.19 1.14 1.22<br />
3.3.2. Chi phí truyền thông giữa các máy chủ<br />
Chi phí này cũng được biểu diễn thông qua cấu trúc bảng băm tương tự<br />
Hashtable HH_matrix;<br />
<br />
<br />
<br />
<br />
134 P.T.Toàn, N.T.Lộc, N.D.Cường, Đ.N.Long, “Thuật toán lập lịch ... điện toán đám mây.”<br />
Nghiên cứu khoa học công nghệ<br />
<br />
Bảng 2. Chi phí truyền thông giữa các PC.<br />
S1 S2 S3<br />
S1 0 0.17 0.21<br />
PP[3x3]<br />
S2 0.17 0 0.22<br />
S3 0.21 0.22 0<br />
Trong đó PP[i,j] là chi phí truyền thông giữa Si và Sj (giá trị theo đơn vị $/MB/giây).<br />
3.3.3. Dữ liệu vào/ra giữa các tác vụ trong luồng công việc<br />
Được biểu diễn bởi một ma trận và ta sử dụng cấu trúc dữ liệu bảng băm như sau để lưu trữ:<br />
Hashtable edge_weight<br />
Bảng 3. Kích thước input/output của tác vụ i.<br />
total total<br />
DT2,T3,T4 data DT5 data<br />
[2x2] Input 10 [2x2] Input 30<br />
Output 10 Output 60<br />
Trong đó: Input = dữ liệu vào, Output = dữ liệu ra của các tác vụ (đơn vị MB).<br />
3.4. Thuật toán PSO-WS<br />
1. Tính ma trận chi phí thực thi các<br />
Bắt đầu: tác vụ trên các host, ma trận chi phí<br />
Tính ma trận chi phí thực thi task trên host truyền thông giữa các host và ma trận<br />
Tính ma trận chi phí truyền thông giữa các host khối lượng dữ liệu vào/ra giữa các tác<br />
Tính ma trận khối lượng dữ liệu vào/ra giữa các task vụ<br />
Khởi tạo các task sẵn sàng 2. Khởi tạo danh sách tác vụ sẵn sàng<br />
gồm tất cả tác vụ, danh sách tác vụ<br />
chưa lập lịch gồm tất cả tác vụ<br />
sai 3. Repeat<br />
Còn task chưa 4. for each Ti in readyTask do<br />
lập lịch? 5. Gán Ti cho thực hiện trên máy chủ<br />
Sj theo chiến lược PSO<br />
đúng 6. end for<br />
7. Chờ xử lý công việc (phụ thuộc dữ<br />
Tìm kiếm PSO_Algorithm(readyTasks)<br />
liệu đầu vào và đầu ra giữa tác vụ<br />
cha-con).<br />
8. Cập nhật lại readyTask ,các tác vụ<br />
Xử lý công việc(phụ thuộc dữ liệu ở trạng thái “ready”, và phí giao tiếp<br />
vào/ra giữa các task cha-con) giữa các tài nguyên<br />
Cập nhật các task ở trạng thái ready 9. Tính toán PSO({Tj}).<br />
Cập nhật lại các chi phí 10. Until <br />
end procedure<br />
<br />
<br />
KẾT THÚC<br />
<br />
<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số 37, 06 - 2015 135<br />
Công nghệ thông tin & Khoa học máy tính<br />
<br />
4. KẾT QUẢ THỰC NGHIỆM<br />
Để thực hiện mô phỏng việc lập lịch workflow trong môi trường đám mây, chúng tôi cài đặt<br />
giải thuật PSO-WS bằng ngôn ngữ Java với sự trợ giúp của gói thư viện JSwarm [9] và công cụ<br />
mô phỏng CloudSim [4,5,10]. Hình 2 cho thấy kết quả thực nghiệm được so sánh giữa giải thuật<br />
PSO-WS với 3 giải thuật khác là: PSO_Heuristic, Random [6,7], RoundRobin [8] với dữ liệu<br />
tính toán dưới đây.<br />
Bảng 4. Ma trận dữ liệu TP, PP, DS cho bộ dữ liệu Test.<br />
S1 S2 S3<br />
T1 0.1*25 0.2*25 0.3*25<br />
T2 0.1*25 0.2*25 0.3*25<br />
TP[5x3]<br />
T3 0.1*25 0.2*25 0.3*25<br />
T4 0.1*25 0.2*25 0.3*25<br />
T5 0.1*25 0.2*25 0.3*25<br />
S1 S2 0.3*25<br />
PC1 0 0.1 0.1<br />
PP[3x3]<br />
PC2 0.1 0 0.1<br />
PC3 0.1 0.1 0<br />
Data DataSize (MB)<br />
DST2,T3,T4 Size DST5<br />
[2x2] Input 10 [2x2]= Input 30<br />
Output 10 Output 60<br />
Trong đó: số cá thể = 25; số thế hệ = 30; số lần lặp = 300;<br />
Trọng số quán tính w = 0.85 và hệ số gia tốc: C1 = 1.5 và C2 = 0.5<br />
<br />
Bảng 5. Kết quả tính toán chi phí thực thi workflow sau 30 lần chạy.<br />
Lần PSO- PSO_ Random Round Lần PSO- PSO_ Rand Round<br />
lặp WS Heuristic Robin lặp WS Heuristic om Robin<br />
1 12.500 12.500 45500 40000 16 12.500 12.500 2700 40000<br />
2 12.500 12.500 52500 40000 17 16.500 12.500 35500 40000<br />
3 18.500 25.000 35500 40000 18 12.500 18.500 42500 40000<br />
4 16.000 12.500 58000 40000 19 12.500 25.000 36500 40000<br />
5 12.500 12.500 36500 40000 20 12.500 12.500 46500 40000<br />
6 12.500 12.500 46500 40000 21 12.500 12.500 4200 40000<br />
7 12.500 12.500 42000 40000 22 12.500 12.500 6450 40000<br />
8 16.500 18.500 64500 40000 23 16.000 12.500 56500 40000<br />
9 12.500 12.500 56500 40000 24 12.500 12.500 25000 40000<br />
10 12.500 12.500 25000 40000 25 16.000 18.500 45500 40000<br />
11 12.500 12.500 53000 40000 26 12.500 25.000 52500 40000<br />
12 16.500 12.500 27000 40000 27 12.500 12.500 3550 40000<br />
13 12.500 18.500 35500 40000 28 12.500 12.500 5800 40000<br />
14 12.500 12.500 42500 40000 29 12.500 12.500 36500 40000<br />
15 12.500 12.500 36500 40000 30 12.500 18.500 46500 40000<br />
0<br />
<br />
<br />
<br />
136 P.T.Toàn, N.T.Lộc, N.D.Cường, Đ.N.Long, “Thuật toán lập lịch ... điện toán đám mây.”<br />
Nghiên cứu khoa học công nghệ<br />
<br />
Nhận xét: giải thuật lập lịch PSO-WS cho kết quả khác nhau ở các lần chạy phụ thuộc vào việc<br />
thiết lập các hệ số quán tính w, hệ số gia tốc C1, C2 trong bài báo này chúng tôi đã sử dụng các<br />
trọng số quán tính w = 0.85, hệ số gia tốc C1 = 1.5 và C2 = 0.5, kết quả được thử nghiệm với số<br />
cá thể là 25, số lần lặp là 300 lần, như bảng kết quả đã chỉ ra chi phí của luồng công việc tính<br />
toán được bởi thuật toán PSO-WS có khác nhau ở các lần chạy nhưng đều cho kết quả tốt hơn<br />
so với thuật toán Random và Round Robin. Thuật toán PSO-WS và thuật toán PSO_ Heuristic<br />
đều cho kết quả tốt nhất như nhau tuy nhiên thuật toán PSO-WS cho kết quả tối ưu ổn định hơn<br />
trong các lần chạy. Đặc biệt khi số công việc trong luồng công việc và số máy chủ tăng lên; số<br />
tác vụ là 25, số máy chủ là 12 thì chi phí luồng công việc tính được bằng giải thuật PSO-WS sẽ<br />
cho kết quả nhỏ nhất.<br />
5. KẾT LUẬN<br />
Bài báo đã xây dựng một mô hình toán học cho bài toán luồng công việc trong môi trường<br />
điện toán đám mây nhằm cực tiểu hóa chi phí thực thi luồng công việc, đây là yêu cầu hết sức<br />
cần thiết trong môi trường điện toán đám mây vì điện toán đám mây là một môi trường dịch vụ<br />
tích hợp được cung cấp bởi các nhà cung cấp dịch vụ và người sử dụng phải trả chi phí cho các<br />
dịch vụ mà họ sử dụng. Đồng thời chúng tối đã đề xuất một giải thuật lập lịch heuristic dựa trên<br />
chiến lược tối ưu bày đàn và cài đặt thử nghiệm trên môi trường mô phỏng cloudSim, kết quả<br />
chỉ ra việc tính toán chi phí tốt hơn các thuật toán đã có như Random hay Round Robin.<br />
TÀI LIỆU THAM KHẢO<br />
[1]. Suraj Pandey, Linlin Wu, Siddeswara Guru, and Rajkumar Buyya, A Particle Swarm<br />
Optimization (PSO)-based Heuristic for Scheduling Workflow Applications in Cloud<br />
Computing Environments, AINA 2010, Australia, April, 2010.<br />
[2]. Suraj Pandey, Rajkumar Buyya. Scheduling and Management Techniques for Data-<br />
Intensive Application Workflows, IGI Global, USA, 2009.<br />
[3]. Suraj Pandey, Kapil Kumar Gupta, Adam Barker and Rajkumar Buyya, Minimizing<br />
Execution Cost when using Globally Distributed Cloud Services, AINA 2010, Australia,<br />
April 2010.<br />
[4]. Rodrigo N. Calheiros, Rajiv Ranjan, Anton Beloglazov, Cesar A. F. De Rose, and Rajkumar<br />
Buyya, CloudSim: A Toolkit for Modeling and Simulation of Cloud Computing<br />
Environments and Evaluation of Resource Provisioning Algorithms, , Volume 41, Number<br />
1, Pages: 23-50, Wiley Press, USA, January, 2011.<br />
[5]. Rajkumar Buyya, Rajiv Ranjan and Rodrigo N. Calheiros, Modeling and Simulation of<br />
Scalable Cloud Computing Environments and the CloudSim Toolkit: Challenges and<br />
Opportunities, HPCS 2009, IEEE Press, New York, USA.<br />
[6]. Michael Mitzenmacher, Eli Upfal. Probability and Computing:Randomized Algorithms and<br />
Probabilistic Analysis, April 2005. Cambridge University Press.<br />
[7]. Don Fallis. 2000. The Reliability of Randomized Algorithms. British Journal for the<br />
Philosophy of Science 51:255–71.<br />
[8]. Silberschatz, Abraham; Galvin, Peter B.; Gagne, Greg (2010). Process Scheduling.<br />
Operating System Concepts (8th ed.). John_Wiley_&_Sons (Asia). pp. 194. ISBN 978-0-<br />
470-23399-3.<br />
[9]. Thư viện JSwarm http://jswarm-pso.sourceforge.net.<br />
[10]. Công cụ mô phỏng CloudSim http://www.cloudbus.org/cloudsim/.<br />
<br />
<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số 37, 06 - 2015 137<br />
Công nghệ thông tin & Khoa học máy tính<br />
<br />
[11]. Phan Thanh Toàn, Kiều Tuấn Dũng, Nguyễn Thế Lộc, Nguyễn Doãn Cường, Sắp xếp<br />
lịch biểu thực thi luồng công việc tại Đám mây điện toán, Kỷ yếu hội thảo quốc gia lần thứ<br />
XVI: Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông, Đà Nẵng, 2013.<br />
[12]. V. Krishna Reddy, B. Thirumala Rao, Dr. L.S.S. Reddy, P. Sai Kiran, Research Issues<br />
in Cloud Computing, Global Journal of Computer Science and Technology, Volume 11<br />
Issue 11, 7/2011, Global Journals Inc. (USA), ISSN: 0975-4350.<br />
[13]. Kennedy, J.; Eberhart, R. Particle Swarm Optimization. Kỷ yếu hội thảo IEEE<br />
International Conference on Neural Networks, ICNN, (1995).<br />
<br />
<br />
ABSTRACT<br />
A PARTICLE SWARM OPTIMIZATION-BASED WORKFLOW SCHEDULING<br />
ALGORITHM IN THE CLOUD ENVERONMENT<br />
<br />
Workflow is the series of tasks that are necessary to complete a goal. Workflow<br />
scheduling, the most important problem which the cloud controllers deal with, focuses on<br />
mapping and managing the execution of tasks on servers so that the expenses is the<br />
minimum. In this paper, we build a workflow scheduling framework which run on the<br />
cloud computing environments. In order to solve the mentioned problem, we propose a<br />
PSO-based algorithm for scheduling workflow tasks in the cloud environments so that the<br />
total cost is minimized.<br />
Keywords: Workflow scheduling, Workflow applications, Cloud computing.<br />
<br />
<br />
<br />
<br />
Nhận bài ngày 29 tháng 12 năm 2014<br />
Hoàn thiện ngày 30 tháng 3 năm 2015<br />
Chấp nhận đăng ngày 12 tháng 06 năm 2015<br />
<br />
<br />
<br />
<br />
1<br />
Địa chỉ : Đại học Sư phạm Hà Nội; *Email : pttoan@hnue.edu.vn;<br />
2<br />
Viện Công nghệ Thông tin- Viện Khoa học và Công nghệ quân sự.<br />
<br />
<br />
<br />
<br />
138 P.T.Toàn, N.T.Lộc, N.D.Cường, Đ.N.Long, “Thuật toán lập lịch ... điện toán đám mây.”<br />