Bài viết giới thiệu thuật toán lập lịch mang tính kinh tế trong tính toán lưới sử dụng công cụ mô phỏng Grid dựa vào sự kiện rời rạc Java, gọi là GridSim. Một công cụ mô hình hoá và mô phỏng tài nguyên Grid, các user, các mô hình ứng dụng.
58 Trần Hồ Thủy Tiên MƠ PHỎNG THUẬT TỐN LẬP LỊCH TRONG TÍNH TỐN LƯỚI SIMULATION OF SCHEDULING ALGORITHM IN GRID COMPUTING Trần Hồ Thủy Tiên Trường Đại học Bách khoa, Đại học Đà Nẵng; thttien@dut.udn.vn Tóm tắt - Các Cluster, Grid P2P nỗi bật lên mô hình phổ biến cho tính tốn song song phân tán Chúng có khả kết hợp tài nguyên phân tán để giải vấn đề diện rộng khoa học, kỹ thuật tài Trong mơi trường tính tốn Grid P2P, tài nguyên thường phân tán mặt địa lý miền điều hành, quản trị sở hữu tổ chức khác với chiến lược khác kết nối W AN hay Internet Quản lý tài nguyên lập lịch ứng dụng hệ phân tán diện rộng nhiệm vụ phức tạp Cần phải cải tiến cách hiệu môi giới tài nguyên thuật toán lập lịch Bài báo giới thiệu thuật toán lập lịch mang tính kinh tế tính tốn lưới sử dụng công cụ mô Grid dựa vào kiện rời rạc Java, gọi GridSim Một công cụ mô hình hố mơ tài ngun Grid, user, mơ hình ứng dụng Abstract - Clusters, Grids, and peer-to-peer (P2P) networks have emerged as popular paradigms for next generation parallel and distributed computing They can aggregate distributed resources to solve large-scale problems in science, engineering, and commerce In Grid and P2P computing environments, the resources are usually geographically distributed in multiple administrative domains managed and owned by different organizations with different policies, and interconnected by wide-area networks or the Internet The management of resources and scheduling of applications in such large-scale distributed systems is a complex undertaking In order to prove the effectiveness of resource brokers and associated scheduling algorithms, this paper introduces Economic-based scheduling algorithms in Grid Computing by using a Java-based discrete-event Grid simulation toolkit called GridSim The toolkit supports modeling and simulation of heterogeneous Grid resource, users and application models Từ khóa - tính tốn lưới; mô lưới; tài nguyên; môi giới tài nguyên; phần tử xử lý Key words - grid com puting; gridsim ; resource; resource broker; processing elem ents Đặt vấn đề Tính tốn lưới (Grid Computing) hướng nghiên cứu tính tốn cho phép chia sẻ, chọn lựa kết hợp tài nguyên không đồng phân tán mặt địa lý với miền thời gian khác để giải quy mô lớn vấn đề khoa học, kỹ thuật quản lý kinh tế Tầng Connectivity: tầng tạo nên hạt nhân giao thức xác thực truyền thông bắt buộc giao dịch hệ thống Grid Giao thức truyền thông cho phép chuyển đổi liệu qua lại loại tài nguyên tầng (Fabric) Giao thức xác thực (authentication) xây dựng dịch vụ truyền thông để cung cấp chế mã hóa bảo mật việc kiểm tra xác thực người dùng tài nguyên Quản lý lập lịch tài nguyên ứng dụng môi trường phân tán với quy mô lớn nhiệm vụ phức tạp Khả năng, cách sử dụng điều khoản chi phí khác phụ thuộc vào người sử dụng, thời gian, độ ưu tiên mục đích khác Do đó, việc ứng dụng tính tốn lưới với cách tiếp cận phân cấp khơng tập trung để quản lý lập lịch tài nguyên, nhằm khai thác tối đa tài nguyên môi trường phân tán hướng nghiên cứu nhiều người quan tâm Hệ thống tính tốn lưới (Grid Computing) Grid computing bước phát triển hướng tính tốn phân tán, với mục đích cung cấp dịch vụ tính tốn đơn giản cho người dùng, mang lại sức mạnh tính tốn lớn tính suốt khả kết nối hệ thống không đồng nhằm chia sẻ nguồn tài nguyên đa dạng [4] Có thể xem Grid Computing loại hệ thống gồm hạ tầng phần cứng phần mềm phân bố mạng cho phép tính tốn, lưu trữ khai thác phân tán, cung cấp cho người dùng với môi trường chia sẻ tài nguyên cộng tác để giải tốn có khối lượng lớn Một hệ thống Grid Computing bao gồm nhiều nút lưới mà nút lưới nhỏ hay cluster Một Grid có cấu trúc phân lớp bao gồm thành phần chính: Tầng Fabric: Cung cấp loại tài nguyên chia sẻ phép truy cập thông qua giao thức Grid, bao gồm: tài ngun tính tốn, hệ thống lưu trữ, catalogs, tài nguyên mạng đầu dò (sensors) Application Application Collective Resource Transport Connectivity Internet Fabric Link Hình Kiến trúc phân lớp thành phần Grid Lớp tài nguyên (Resource): xây dựng tảng sẵn có tầng Connectivity Đây tầng dùng để xác định giao thức cho trình thương lượng, khởi tạo, kiểm tra, điều khiển, tính tốn chi phí thao tác chia tài nguyên Những giao thức tầng gọi hàm tầng Fabric để truy cập sử dụng loại tài nguyên cục Tầng Collective: chứa giao thức dịch vụ cho phép giao tiếp tài nguyên tập hợp Tầng Application: tập hợp ứng dụng cho phép người dùng phát triển dịch vụ, truy cập sử dụng tài nguyên hệ thống Grid Tuy nhiên, xem xét đến lưới cụ thể nhìn hệ thống từ ngồi vào, bao gồm thành phần sau: ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 12(97).2015, QUYỂN 59 trình Trước hết, hệ thống lịch để dự trữ tài nguyên cho khoảng thời gian đặc biệt chặn lịch trình khác giành lấy tài nguyên, thời điểm Nó gỡ bỏ hay ngừng cơng việc chạy máy hay tài nguyên vào thời ki dự trữ 3.2 Bài toán lập lịch tính tốn lưới Hình Các thành phần lưới Cổng giao diện với người dùng – Portal; Thành phần an ninh – Security (GSI); Thành phần môi giới – Broker; Thành phần lập lịch – Scheduler; Thành phần quản trị liệu – GASS Data management; Thành phần quản trị công việc tài nguyên – GRAM Job and resource management; + Dịch vụ thư mục – Meta Directory Service (MDS) + + + + + + Hình mơ tả q trình người dùng tương tác với lưới thông qua thành phần Người dùng đưa u cầu thơng qua portal Việc kiểm tra xác nhận, ủy quyền cho người dùng thành phần an ninh chịu trách nhiệm Yêu cầu người dùng thành phần môi giới đưa đến lập lịch, với thông tin dịch vụ thư mục (MDS – Meta Directory Service) cung cấp Bộ lập lịch đưa định việc nhiệm vụ tương ứng yêu cầu thực tài nguyên cụ thể nào, chuyển thông tin cho thành phần quản trị công việc liệu để chúng đảm trách việc thực thi công việc nhận kết trả Mọi thông tin trả hiển thị portal cho người dùng Vấn đề lập lịch tài ngun tính tốn lưới 3.1 Giới thiệu Lên lịch công việc cân tải chức quan trọng hệ thống tính tốn lưới Hầu hết hệ thống tính tốn lưới bao gồm số loại hệ thống lịch cơng việc Điều thực cách sử dụng hàng đợi cơng việc có độ ưu tiên khác Khi máy trạm trở nên sẵn sàng thi hành công việc, công việc lấy từ hàng đợi có độ ưu tiên cao làm trước Lịch trình thường tác động đến tình trạng tải lưới tức thời, dùng thơng tin tình trạng sử dụng máy tính để dị máy rỗi phân chia công việc xử lý Lịch trình tổ chức hệ thống phân cấp Ví dụ, lịch trình cấp lưới (grid) giao việc cho lịch trình cấp bó (cluster) hay lịch trình cấp thấp khơng cho máy cụ thể Các lịch trình tiên tiến giám sát tiến độ lịch trình cơng việc, quản lý tồn luồng cơng việc Nếu cơng việc bị quyền với hệ thống hay mạng ngắt quãng, lịch trình tốt tự động giao lại công việc cho chỗ khác Tuy nhiên, công việc rơi vào vịng lặp vơ hạn tiến đến thời gian ngưng trệ cực đại, khơng làm lại Tài nguyên dự trữ lưới trình phát triển hoàn thành với hệ thống hạn chế Nó cịn lịch Trong tính tốn lưới, thành phần lập lịch đóng vai trị lớn việc định đến thành cơng lưới, vấn đề lưới tìm tài ngun thích hợp để thực nhiệm vụ mà người sử dụng giao phó Do đặc điểm lưới xây dựng sở hệ thống không đồng phân tán mặt địa lý, nên số lượng, chủng loại tài nguyên phong phú, đa dạng Vì vậy, mức độ phức tạp tốn lập lịch lớn phải phụ thuộc vào nhiều yếu tố khách quan Khi đưa giải pháp thực tế, người phát triển hệ thống phải vào tình hình cụ thể lưới yêu cầu tối ưu đặt mà định hướng tiếp cận cụ thể cho công việc cài đặt Việc lựa chọn xác đóng vai trị quan trọng, ảnh hưởng đến hiệu năng, tính tối ưu tính kinh tế hệ thống lưới sau Trên phương diện nghiên cứu, nhà nghiên cứu dựa vào yêu cầu thực tế để từ đặt mơ hình tốn cho cách tiếp cận Mỗi cách tiếp cận có ưu điểm riêng điểm mạnh chứng tỏ qua thí nghiệm họ môi trường mô Các hướng tiếp cận tiêu biểu nhiều người quan tâm sau: 3.2.1 Hướng tiếp cận nhằm nâng cao thông lượng hệ thống Đó hướng tổ chức lập lịch cho tập nhiệm vụ độc lập với nhau, nhằm nâng cao khả xử lý hệ thống khoảng thời gian dài Cụ thể hơn: với tập nhiệm vụ (meta-task) gửi đến yêu cầu lập lịch, lập lịch phải xếp cho thời điểm kết thúc nhiệm vụ muộn sớm được.Trong đưa giải thuật lập lịch theo hướng này, nhà nghiên cứu đề nghị đưa thêm tham số chất lượng dịch vụ (QoS – Quality of Service), cụ thể thí nghiệm tham số băng thơng mạng Các nhiệm vụ có QoS mức cao đem xét lựa chọn tài nguyên trước nhiệm vụ có QoS thấp Trong lựa chọn tài nguyên cho nhiệm vụ, hàm lượng giá thời điểm hoàn thành tác vụ (CT – Completion Time) đánh giá theo heuristic Min–min để định nhiệm vụ thực tài nguyên 3.2.2 Hướng tiếp cận xác lập trước tài nguyên Một yêu cầu nâng cao cho lập lịch tính tốn lưới khả xử lý đặt trước tài nguyên Trong thực tế, điều có ý nghĩa lớn, giúp người sở hữu tài nguyên tận dụng tối đa tài nguyên việc cho th, cịn người dùng khơng có yêu cầu cấp bách thời hạn hoàn thành ứng dụng, lùi thời điểm thực lại với hi vọng giá chấp nhận Trong giải thuật này, tham số QoS khả phục vụ CPU ứng dụng (tải CPU) Các yêu cầu tài nguyên xử lý theo lô, theo khoảng thời gian ∆t xử lý có yêu cầu tài nguyên Mỗi yêu cầu gán cho độ ưu tiên có hàm lợi ích thực tài nguyên Tuy nhiên, giải thuật hạn chế với yêu cầu gửi đến phép đòi hỏi tài nguyên 60 3.2.3 Hướng tiếp cận mang tính kinh tế Các hướng tiếp cận hướng đến khía cạnh cụ thể hệ thống tính tốn lưới Lập lịch tài nguyên lưới mang tính kinh tế hướng tiếp cận mới, phản ánh lưới thị trường kinh doanh loại tài nguyên khác Ý tưởng tảng cho việc xây dựng hệ thống chương trình mơ lập lịch tài ngun mang tính kinh tế tính tốn lưới 3.3 Vấn đề lập lịch mang tính kinh tế tính tốn lưới Khi tính tốn lưới phát triển việc chia sẻ tài nguyên tổ chức ảo có thêm màu sắc kinh tế, nghĩa việc sử dụng tài nguyên đồng nghĩa với việc thuê phải trả tiền, ta xem xét mơi trường lưới thị trường kinh doanh, đó, tổ chức ảo đóng vai trị người sở hữu tài nguyên (resource owners) người tiêu dùng tài nguyên (resource consumer) hai Việc tham gia vào thị trường lưới người nhằm mục đích cực đại hố lợi ích thân Đối với người sở hữu tài nguyên, họ mong muốn tài nguyên tận dụng triệt để với giá cho thuê hợp lý hoàn cảnh phải cạnh tranh với nhà cung cấp dịch vụ lưới khác, để cuối thu lợi nhuận tối đa Còn người tiêu dùng tài nguyên, họ hi vọng giải tốn với chi phí hợp lý khoảng thời gian hạn định Việc thoả mãn yêu cầu hạn định thời gian quan trọng số chuyên ngành dự báo chẳng hạn, chậm trễ tính tốn làm cho kết khơng cịn ý nghĩa thực tế Bên cạnh đó, có điều quan trọng là: người sở hữu người tiêu dùng tài nguyên phân tán mặt địa lý, đó, đặt nhiều thách thức cho việc quản lý nguồn tài nguyên không đồng phân tán mặt địa lý Với tình trạng vậy, hướng tiếp cận mang tính tập trung cao khơng cịn phù hợp cho mơi trường lưới Người ta cần đến hướng tiếp cận mang tính phi tập trung mơ hình quản lý tài nguyên lập lịch mang tính kinh tế Những hướng tiếp cận cũ cho toán lập lịch môi trường lưới quan tâm nhiều đến hệ thống Việc tính giá dịch vụ cho người dùng hồn tồn tĩnh, lập lịch khơng quan tâm đến thời hạn cần hồn thành cơng việc, mà cốt lập lịch để tổng thời gian hồn thành tập cơng việc nhỏ Cũng khơng có thương lượng giá thực ứng dụng người dùng hệ thống, giá đặt cố định hệ thống Bên cạnh đó, ý tưởng giá thay đổi động theo thời điểm thực ứng dụng mẻ Ví dụ như, việc chạy ứng dụng vào ban đêm rẻ ban ngày chẳng hạn; khuyến khích khách hàng nửa bên bán cầu thuê tài nguyên ngon giấc Những ý tưởng hướng tiếp cận mang tính kinh tế giúp người sở hữu tài nguyên kiếm nhiều tiền từ việc cho thuê tài nguyên Các thuật toán lập lịch Việc quản lý lập lịch tài nguyên môi trường lưới, nhằm thỏa mãn tối đa người dùng thoả mãn tối đa quyền sử dụng tài nguyên Để làm điều này, lập lịch (scheduler) có ba vấn đề cần ý: Thứ nhất, scheduler giới hạn tài nguyên sử dụng user cách phân quyền sử dụng tài nguyên Trần Hồ Thủy Tiên Thứ hai, scheduler lập lịch cơng việc dựa vào thời điểm kết thúc công việc Cuối cùng, scheduler ghi lại tải tài nguyên mà user sử dụng Để giới hạn tài nguyên sử dụng, scheduler cần phải phân loại tài nguyên thành nhiều lớp Trong lớp có Hàng đợi riêng có thuộc tính sau: Số máy (tài nguyên) lớp xác định mức lập trình đa nhiệm máy tương ứng User sử dụng tài nguyên lớp số tài nguyên mà user sử dụng Phương pháp lập lịch sử dụng tối đa cơng việc mà hàng đợi lập lịch tối đa công việc mà hàng đợi lưu trữ Để lập lịch cơng việc dựa vào thời điểm công việc kết thúc, scheduler phải biết thời điểm kết thúc công việc ước tính thời gian thực cơng việc Khi cơng việc kết thúc, lập lịch làm hóa đơn cho user Khả khai thác hiệu tài nguyên hệ thống phụ thuộc vào yếu tố sau: Thời gian CPU: dành để thực thi công việc Cách sử dụng Bộ nhớ: nhớ sử dụng cho công việc Cách sử dụng Đĩa: không gian Đĩa sử dụng cho công việc Cách sử dụng mạng: số lượng liệu truyền mạng Trong đó, chi phí sử dụng đĩa cố định cịn chi phí khác khơng cố định Chi phí CPU phụ thuộc vào tốc độ CPU Nếu CPU tốc độ cao chi phí cao Chi phí nhớ phân thành nhiều lớp phụ thuộc vào quản trị hệ thống Chi phí mạng cố định Tổng chi phí cho cơng việc tính sau: Tổng chi phí = (Thời gian CPU * chi phí tốc độ máy) + (chi phí sử dụng nhớ) + (chi phí Đĩa) + (Sử dụng mạng*chi phí mạng)[6] Ngồi cịn phụ thuộc vào yêu cầu người sử dụng tài nguyên Grid: thời gian tối đa (deadline) để hồn thành cơng việc chi phí tối đa (budget) mà người dùng trả cho người sở hữu tài nguyên 4.1 Chỉ định Deadline Budget Các công việc lập lịch Grid thông qua môi giới user Bộ môi giới sử dụng DFACTOR (chỉ deadline) BFACTOR (chỉ budget) để giá trị deadline budget tuyệt đối nhằm thực kịch trước lúc thi hành Miền giá trị DFACTOR BFACTOR [0.0 1.0] Một DFACTOR gần biểu thị sẵn sàng user để thiết lập Deadline nới rộng hết mức, deadline đủ để xử lý ứng dụng có tài nguyên chậm sẵn có Tương tự, B FACTOR gần biểu thị người dùng sẵn sàng gửi nhiều tiền yêu cầu có tài nguyên đắt sử dụng Giá trị Deadline tuyệt đối: Deadline= TMIN +D FACTOR *( TMAX - TMIN) T MIN: thời gian yêu cầu để xử lý tất công việc theo hướng song song, cho tài nguyên nhanh với độ ưu tiên cao T MAX: thời gian yêu cầu để xử lý tất công ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 12(97).2015, QUYỂN việc tuần tự, sử dụng tài nguyên chậm Một ứng dụng với DFACTOR