Trong bài thu hoạch này, em muốn nghiên cứu trên một số bài báo về giải thuật đàn kiến cho việc xếp lịch trong tính toán lưới thông qua việc dịch, tìm hiểu thêm và cấu trúc lại nội dung
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
BÀI THU HOẠCH MÔN HỌC
Môn: TÍNH TOÁN LƯỚI
TÌM HIỂU GIẢI THUẬT ĐÀN KIẾN
TRONG TÍNH TOÁN LƯỚI
Học viên thực hiện:
TRẦN THỊ TƯỜNG VI MSHV: CH1101154
TP HCM, năm 2013
Trang 2MÔN HỌC : TÍNH TOÁN LƯỚI 1
-Mở đầu
Tính toán lưới đã phát triển mạnh mẽ trong vài năm trở lại đây Điều này đã làm tăng sức mạnh tính toán và khả năng của các liên tổ chức, quốc gia và cơ sở hạ tầng điện toán lưới Người sử dụng lưới điện toán không cần phải quan tâm tới các tài nguyên tính toán họ sử dụng để thực hiện công việc và lưu trữ dữ liệu Nhưng làm thế nào để phân bố hợp lý và hiệu quả các tài nguyên là một vấn đề khá phức tạp
Trong bài thu hoạch này, em muốn nghiên cứu trên một số bài báo về giải thuật đàn kiến cho việc xếp lịch trong tính toán lưới thông qua việc dịch, tìm hiểu thêm và cấu trúc lại nội dung theo cách hiểu của mình
Trang 3MÔN HỌC : TÍNH TOÁN LƯỚI 2
-MỤC LỤC
Mở đầu 1
I GIỚI THIỆU 3
I.1 Giới thiệu tổng quan 3
I.2 Vài thuật toán thường sử dụng 6
II MỘT SỐ GIẢI THUẬT 8
II.1 GA 8
II.2 Min-min 8
II.3 Min-max 8
II.4 Local Search 9
II.5 ACO 9
II.6 So sánh các thuật toán 11
III Thuật giải đàn kiến trong lập lịch 12
III.1 Các định nghĩa 12
III.2 Thuật giải đàn kiến trong lập lịch 16
III.3 Cải thiện kết quả với Local Search 17
IV KẾT LUẬN 19
Tài liệu tham khảo 20
Trang 4MÔN HỌC : TÍNH TOÁN LƯỚI 3
-I GIỚI THIỆU
I.1 Giới thiệu tổng quan
Tính toán lưới là một hình thức tính toán phân tán phối hợp và thể hiện sức mạnh tính toán, các ứng dụng, lưu trữ dữ liệu và tài nguyên mạng thông qua các tổ chức có địa lý phân tán Quản lý tài nguyên và lập lịch ứng dụng là hai vấn đề lớn trong điện toán lưới Các tài nguyên không đồng nhất về kiến trúc, khả năng, cấu hình và thứ sẵn
có Điều này làm phức tạp vấn đề lập lịch các tác vụ Mục tiêu chính của lập lịch lưới điện toán là giảm ‘makespan’ Do đó lập lịch phải xem xét một số đặc điểm cụ thể của công việc và quyết định các số liệu được sử dụng cho phù hợp Thuật toán kiến,
là một trong những thuật toán heuristic khá phù hợp trong môi trường lập lịch lưới điện toán Bài viết này đề xuất một thuật toán kiến sửa đổi cho vấn đề lập lich trên lưới mà được kết hợp với tìm kiếm cục bộ Thuật toán kiến đề xuất xem xét thời gian rỗi của tài nguyên và thời gian thực hiện các công việc để đạt được hiệu quả sử dụng tài nguyên và lập lịch tốt hơn Trong nghiên cứu đánh giá, một số thí nghiệm chuyên sâu được tiến hành sử dụng các vấn đề ‘bench mark’ tiêu chuẩn Kết quả cho thấy thuật giải kiến đề xuất có khả năng tạo ra lịch chất lượng cao của các tác vụ trên tài nguyên lưới Do đó, thuật toán có thể được sử dụng để thiết kế bộ lập lịch động hiệu quả trên môi trường mạng lưới thời gian thực
Các nhà khoa học tính toán đã bắt đầu thích ứng với kỹ thuật điện toán lưới trong nhiều năm qua Điều này đã làm tăng sức mạnh tính toán và khả năng của liên tổ chức, quốc gia và cơ sở hạ tầng điện toán lưới quốc tế như lưới điện toán tử khoáng chất trong Vương quốc Anh, lưới tera ở Mỹ và các Guhas EGEE [1] Mục đích chính của tính toán lưới là để tích hợp các cụm (cluster) vô cơ sở hạ tầng toàn cầu Người sử dụng lưới điện toán không cần phải được nhận thức của các tài nguyên tính toán được
sử dụng để thực hiện công việc và lưu trữ dữ liệu của họ [1]
Điện toán lưới đang nổi lên như là thế hệ tiếp theo của nền tảng điện toán phân phối song song các vấn đề tập trung dữ liệu và tính toán tỷ lệ lớn trong khoa học, kỹ thuật
và thương mại [4] Nó cho phép chia sẻ, lựa chọn và tập hợp của một loạt các nguồn
Trang 5MÔN HỌC : TÍNH TOÁN LƯỚI 4
-tài nguyên phân phối theo địa lý bao gồm cả các siêu máy tính, cơ sở dữ liệu, nguồn
dữ liệu và các thiết bị chuyên dùng của các tổ chức khác nhau Xác thực và ủy quyền, chuyển các tập tin an toàn và đáng tin cậy, quản lý lưu trữ phân phối và lập lịch tài nguyên thông qua ranh giới tổ chức là một chuỗi các vấn đề cần được giải quyết trong máy tính lưới Các nguồn tài nguyên phân bổ cho một số lượng lớn công việc là khó
và khó khăn hơn nhiều so với môi trường tính toán trên mạng LAN [2] Cân bằng tải của các nguồn lực sẵn có trong tính toán lưới là một yếu tố quan trọng Tuy nhiên, các ứng dụng khác nhau có những đặc điểm khác nhau, và nhu cầu của họ trên các nguồn tài nguyên có thể khác nhau rất nhiều Lập lịch và quản lý tài nguyên thích ứng với ứng dụng và hiệu quả là thách thức kỹ thuật trong lưới
Lưới điện toán toán đang được sử dụng trong nhiều ứng dụng vượt quá việc phân bổ
và chia sẻ tài nguyên Các nguồn lực được phân phối chỉ có ích nếu các nguồn tài nguyên lưới được lập lịch Sử dụng kết quả bộ lập lịch tối ưu trong tính toán lưới
‘high performance’, lập lịch tệ sẽ cho ra kết quả ngược lại Bây giờ, lịch trình lưới điện toán là một chủ đề lớn trong môi trường lưới điện toán cho các mô hình thuật toán mới Lập lịch trong môi trường lưới điện toán phải đáp ứng một số lượng ràng buộc trên các vấn đề khác nhau
Các phương pháp hiện có để lập lịch trình trong các ứng dụng lưới điện toán sử dụng
hệ thống xếp hàng hoặc bộ lập lịch adhoc có sử dụng kiến thức cụ thể của cơ sở hạ tầng lưới điện toán cơ bản để đạt được một phân bổ nguồn lực hiệu quả Tuy nhiên, các phương pháp tiếp cận đó không thể đối phó với sự phức tạp của vấn đề do tính chất động của lưới điện toán Trong thực tế, lập lịch công việc trong lưới tính toán là
đa mục tiêu trong công thức tổng quát của nó và do đó các tiếp cận tối ưu có thể giải quyết nhiều mục tiêu mâu thuẫn nhau là bắt buộc
Một bộ lập lịch lưới điện toán, thường được gọi là nhà môi giới tài nguyên, hoạt động như một giao diện giữa người sử dụng và nguồn lực phân tán Nó ẩn sự phức tạp của tính toán lưới từ người sử dụng Bộ lập lịch không có toàn quyền kiểm soát lưới điện toán và nó có thể không giả định rằng nó có một cái nhìn toàn cầu của lưới điện toán Vấn đề khó khăn nhất của việc lập lịch trong lưới điện là tính động của tài nguyên Mặc dù một nguồn tài nguyên có thể được tham gia vào một mạng lưới, mục đích
Trang 6MÔN HỌC : TÍNH TOÁN LƯỚI 5
-chính của nó được sử dụng bởi người dùng của tổ chức Vì vậy, tải (load) trên tài nguyên áp đặt một xu thế lớn trên lịch trình lưới điện toán
Lập lịch mạng lưới bao gồm ba giai đoạn [5] Phát hiện tài nguyên và lọc trong giai đoạn đầu, việc lựa chọn nguồn lực và lập lịch theo một số mục tiêu là giai đoạn thứ hai và thực hiện tác vụ là giai đoạn thứ ba Giai đoạn thứ ba bao gồm việc theo dõi các tập tin và dọn dẹp Tính toán hiệu năng cao (high performance) và máy tính thông lượng cao là hai mục tiêu khác nhau của thuật toán lập lịch trình lưới điện toán Mục đích chính của tính toán hiệu năng cao là để giảm thiểu thực hiện thời gian của ứng dụng Nâng cao năng lực xử lý của hệ thống trên một khoảng thời gian là mục tiêu của các máy tính thông lượng cao Đề xuất phương pháp tiếp cận là các máy tính thông lượng cao
Lập lịch trình lưới điện toán là một vấn đề NP-đầy đủ Các kỹ thuật tối ưu hóa Heuristic là phương pháp tốt nhất để giải quyết vấn đề NP-đầy đủ Bốn phương pháp heuristic cơ bản trong lập lịch trình lưới điện toán là thuật toán di truyền (GA) [7], mô phỏng luyện thép (SA) [10], Tối ưu đàn kiến (ACO) và tìm kiếm cấm đoán(TS) [6] Trọng tâm chính của bài viết này là để phát triển một thuật toán lập lịch trình thông lượng cao dựa trên ACO Kỹ thuật này làm các thí nghiệm lấy mẫu lặp lại trên mô hình của hệ thống Nó sử dụng các thành phần ngẫu nhiên trong các mẫu nước và / hoặc quy định chuyển tiếp Các kiến thức thống kê về vấn đề này và dự toán các biến được cập nhật bằng cách sử dụng kết quả thí nghiệm trên Sự chênh lệch trong
dự toán của các biến mô tả được giảm bằng cách sử dụng kiến thức trên lặp đi lặp lại Trong thuật toán ACO, kiến cố gắng xây dựng các giải pháp khả thi để áp dụng chính sách quyết định ngẫu nhiên liên tục Bài viết này thực hiện một thuật toán kiến sửa đổi mà kết quả trong makespan tối thiểu và sử dụng nguồn lực tối đa cho các vấn đề lập lịch trình lưới điện toán
Trang 7MÔN HỌC : TÍNH TOÁN LƯỚI 6
-I.2 Vài thuật toán thường sử dụng
Phần này xem xét một tập hợp các thuật toán heuristic đã được thiết kế để lên lịch meta-task trong lưới tính toán Tập các tác vụ độc lập không phụ thuộc dữ liệu được gọi là meta-task Meta-task được ánh xạ trên các máy có sẵn một cách tĩnh, mỗi máy tính trong mạng lưới điện toán toán thực hiện một tác vụ duy nhất tại một thời điểm Với ánh xạ này, giả sử rằng số lượng máy móc, 'm' và số lượng tasks 't', được biết Một số lượng lớn các thuật toán heuristic đã được thiết kế để sắp xếp công việc để máy trên lưới điện toán hệ thống máy tính Mười một thuật toán thường được sử dụng được liệt kê như sau
Cân bằng tải cơ hội (OLB) là một trong những kỹ thuật đơn giản nhất Đối với mỗi công việc, nó sẽ tìm các máy có sẵn kế tiếp và chỉ đơn giản là lên lịch trình công việc cho máy đó Việc lựa chọn máy là một cách tùy tiện Trong thuật toán này, thời gian thực hiện dự kiến sẽ không được đưa vào tài khoản, vì vậy nó tạo cho kết quả không tốt [5] Nhưng nó sử dụng các nguồn lực một cách cân bằng
Lịch trình đơn giản nhất tiếp Sắp xếp hướng theo người dùng (UDA) Nó lên lịch mỗi công việc trên các tài nguyên, tài nguyên sẽ có thời gian thực hiện dự kiến tốt nhất cho tác vụ đó Tải sẽ không được cân bằng trên tất cả các nguồn lực sẵn có Nếu tất cả công việc sẽ được dự kiến tốt nhất thời gian thực hiện trong một tài nguyên hơn so với các nguồn lực khác (đồng bộ), thì tất cả các công việc được phân bổ chỉ cho máy
đó [5] Cách tiếp cận hiệu quả tiếp theo là phân công mỗi công việc, để tùy ý, với nguồn tài nguyên trên mà nó được dự kiến hoàn thành sớm nhất Các thuật toán tính toán công việc hiện tại của thời gian hoàn thành so với danh sách các máy có sẵn Hướng tiếp cận này phương pháp tham lam nhanh Những lợi ích của OLB và UDA được kết hợp và hình thành cách tiếp cận tham lam nhanh[5] Một trong những sản phẩm tốt nhất và đơn giản phương pháp chẩn đoán được gọi là Min-min Trong phương pháp này, tính toán thời gian hoàn thành tối thiểu của mỗi nhiệm vụ liên quan đến tất cả các máy Tác vụ với tổng thời gian hoàn thành tối thiểu được chọn và giao cho các nút tương ứng Công việc hiện giao được lấy ra từ danh sách công việc đột xuất và quá trình trên được lặp đi lặp lại cho đến khi tất cả các nhiệm vụ được theo lịch trình Ở đây, tất cả các công việc có cơ hội tốt để lựa chọn một nguồn tài nguyên
Trang 8MÔN HỌC : TÍNH TOÁN LƯỚI 7
-thích hợp Vì vậy, đây phương pháp tự động giảm thiểu các makespan và cân bằng tải đến một mức độ Nó là phức tạp hơn so với UDA Nhưng nó tạo ra giải pháp tốt hơn khi so sánh để UDA [6] Một cách tiếp cận chẩn đoán là Max-min Như Min Min, Max-min cũng tính toán thời gian hoàn thành tối thiểu của từng công việc Nó chọn một công việc với tối đa tổng thể của thời gian hoàn thành tối thiểu [6] Các thuật toán di truyền (GA) là một trong những phương pháp tốt nhất để tìm kiếm lớn không gian giải pháp Phương pháp này hoạt động trên một quần thể nhiễm sắc thể cho một định vấn đề Đầu tiên nó tạo ra quần thể ban đầu ngẫu nhiên Quần thể ban đầu có thể được tạo ra bởi bất kỳ thuật toán euristic khác, nếu quần thể được tạo
ra bởi Min-Min sau đó nó được gọi là "hạt giống" dân số với Min-Min [11]
Mô phỏng luyện kim (SA) là một kỹ thuật lặp đi lặp lại Nó phát hiện ra chỉ có một có thể giải pháp tại một thời gian cho mỗi công việc Meta Phương pháp này cho phép xác suất giải pháp để có được một tìm kiếm tốt hơn của không gian giải pháp dựa trên một hệ thống nhiệt độ [10] Các mô phỏng luyện kim di truyền (GSA) là sự kết hợp của giải thuật di truyền và kỹ thuật ủ mô phỏng [12] Tìm kiếm cấm cũng là một không gian tìm kiếm giải pháp Nó theo dõi những khu vực đã được tìm kiếm Các tìm kiếm mới không cần phải lặp lại một tìm kiếm gần khu vực này [6]
A * là một cây tìm kiếm Ban đầu, các nút gốc có giải pháp là null Khi cây phát triển, các nút trung gian có một giải pháp từng phần và các nút lá có giải pháp cuối cùng Mỗi nút có chức năng chi phí của mình Nút với hàm chi phí tối thiểu được thay thế bằng con của nó Khi một nút mới được thêm vào cây, cây được tỉa bằng cách xóa các nút có chức năng chi phí cao nhất Các quá trình trên được lặp đi lặp lại cho đến khi một nút lá đạt được [13]
Trang 9MÔN HỌC : TÍNH TOÁN LƯỚI 8
-II.MỘT SỐ GIẢI THUẬT
II.1 GA
Thuật toán di truyền là thuật toán tìm kiếm ngẫu nhiên trên quần thể giải pháp có thể Chúng được dựa trên cơ chế di truyền học quần thể và chọn lọc Các giải pháp tiềm năng được mã hóa như 'genes' - chuỗi các ký tự từ bảng chữ cái Giải pháp mới có thể
là sản sinh bởi 'đột biến' thành viên của quần thể đang có, và "kết" hai giải pháp với nhau để tạo thành một giải pháp mới Các giải pháp tốt hơn được chọn lọc để sinh sản
và đột biến và những cái xấu hơn sẽ bị loại bỏ Chúng là những phương pháp tìm kiếm theo xác suất, điều này có nghĩa là các giải pháp họ khám phá không được xác định chỉ bởi các tính chất của vấn đề Một quá trình ngẫu nhiên giúp hướng dẫn tìm kiếm Thuật toán di truyền được sử dụng trong trí tuệ nhân tạo như các thuật toán tìm kiếm khác được sử dụng trong trí tuệ nhân tạo - để tìm kiếm một không gian giải pháp tiềm năng giải quyết vấn đề
II.2 Min-min
Thuật toán min-min bắt đầu với một tập hợp của tất cả các tác vụ chưa ánh xạ Thời gian hoàn thành cho mỗi công việc trên mỗi máy tính được tính Máy có thời gian hoàn thành nhỏ nhất cho mỗi công việc được chọn Tiếp đó, công việc với tổng thể thời gian hoàn thành nhỏ nhất được chọn và ánh xạ tới máy đó Một lần nữa, quá trình này được lặp đi lặp lại với các nhiệm vụ chưa ánh xạ còn lại Min-min xem xét tất cả nhiệm vụ chưa ánh xạ tại một thời điểm
II.3 Min-max
Max-min bắt đầu với một tập hợp của tất cả các nhiệm vụ chưa ánh xạ Thời gian hoàn thành cho từng công việc trên mỗi máy được tính Máy có thời gian hoàn thành nhỏ nhất cho mỗi công việc được chọn Từ các thiết lập, các thuật toán ánh xạ các công việc với tổng thời gian hoàn thành tối đa cho máy Một lần nữa, quá trình trên
Trang 10MÔN HỌC : TÍNH TOÁN LƯỚI 9
-được lặp đi lặp lại với các tác vụ chưa ánh xạ còn lại Tương tự như Min-min, Max min cũng xem xét tất cả các nhiệm vụ chưa ánh xạ tại một thời điểm [8, 9]
II.4 Local Search
Các thuật toán heuristic thường có thể được cải thiện bằng cách kết hợp tìm kiếm địa phương kỹ thuật để có những giải pháp tối ưu địa phương của nó trong không gian tìm kiếm [3] Các kỹ thuật tìm kiếm địa phương là xác định các khu vực của một giải pháp Nói chung một giải pháp sẽ có một hoặc nhiều tài nguyên 'vấn đề' Cố gắng giảm bớt tài nguyên 'vấn đề' makespan thì điều này sẽ ngay lập tức giảm makespan tổng thể của giải pháp Láng giềng (neighborhood) là một giải pháp chuyển giao duy nhất của một công việc từ nguồn tài nguyên vấn đề với bất kỳ nguồn lực khác Phân tích kỹ thuật tìm kiếm địa phương, láng giềng và chuyển làm giảm chiều dài lịch trình tối đa của hai nguồn tài nguyên có liên quan nhiều nhất Quá trình trên được lặp đi lặp lại cho đến khi không cải thiện được nữa
II.5 ACO
Dorigo M giới thiệu các thuật toán đàn kiến (ACO) trong năm 1996, là heuristic mới, thuật toán lập lịch tiên đoán Nó được dựa trên các con kiến thực Khi một con kiến tìm kiếm thực phẩm, kiến để lại một số lượng pheromone trên con đường, do đó nó lần theo dấu vết của chất này Nếu con kiến cố gắng để di chuyển từ nơi này đến nơi khác sau đó nó gặp một dấu vết đặt trước đó Con kiến có thể phát hiện vết pheromone và quyết định chọn đường có xác suất pheromone cao hơn đễ đi Mỗi con kiến cũng cũng cố cá dấu vết pheromone riêng của mình Khi nhiều con kiến theo đường mòn, các pheromone trên con đường ngắn hơn sẽ được tăng lên một cách nhanh chóng Số lượng của pheromone trên mọi con đường sẽ ảnh hưởng đến khả năng kiến khác để lựa chọn con đường Cuối cùng tất cả những con kiến sẽ chọn con đường ngắn nhất