GIẢI THUẬT ĐỊNH THỜI CHO ỨNG DỤNG PARAMETER SWEEP

48 316 0
GIẢI THUẬT ĐỊNH THỜI CHO ỨNG DỤNG PARAMETER SWEEP

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Mục lục Chương 1. GIỚI THIỆU ................................................................................................. 1 Chương 2. NHU CẦU TÍNH TOÁN VÀ CÔNG NGHỆLƯỚI .................................... 3 2.1. Nhu cầu tính toán và giải pháp ............................................................................. 3 2.2. Công nghệlưới ..................................................................................................... 4 2.3. Ứng dụng parameter sweep .................................................................................. 6 Chương 3. ĐỊNH THỜI TRÊN MÔI TRƯỜNG TÍNH TOÁN LƯỚI .......................... 8 3.1. Định thời trên lưới ................................................................................................ 8 3.2. Một sốdựán và sản phẩm .................................................................................... 9 3.3. Các giải thuật định thời liên quan ...................................................................... 11 3.3.1. MET (Minimum Excecution Time) .............................................................. 12 3.3.2. MCT (Minimum Completion Time) ............................................................. 13 3.3.3. RR (Round-robin) ......................................................................................... 13 3.3.4. DFPLTF (Dynamic Fastest Processor to Largest Task First) ....................... 14 3.3.5. Min-Min ........................................................................................................ 14 3.3.6. Max-Min ....................................................................................................... 16 3.3.7. Duplex ........................................................................................................... 17 3.3.8. Partitioning .................................................................................................... 17 3.3.9. Sufferage ....................................................................................................... 17 3.3.10. XSufferage .................................................................................................... 19 Chương 4. GIẢI THUẬT ĐỊNH THỜI CHO ỨNG DỤNG PARAMETER SWEEP . 22 4.1. Mô hình bài toán ................................................................................................ 22 4.2. Thuật giải SufMin .............................................................................................. 24 4.3. Thuật giải DMin-Min ......................................................................................... 27 4.4. Thuật giải DMax-Min ........................................................................................ 28 4.5. Thuật giải DSufferage ........................................................................................ 29 Chương 5. THỬNGHIỆM VÀ ĐÁNH GIÁ ................................................................ 33 Chương 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .................................................. 41 TÀI LIỆU THAM KHẢO ................................................................................................ 43

i Mục lục Chương 1.   GIỚI THIỆU . 1   Chương 2.   NHU CẦU TÍNH TOÁN VÀ CÔNG NGHỆ LƯỚI 3   2.1.   Nhu cầu tính toán và giải pháp . 3   2.2.   Công nghệ lưới . 4   2.3.   Ứng dụng parameter sweep 6   Chương 3.   ĐỊNH THỜI TRÊN MÔI TRƯỜNG TÍNH TOÁN LƯỚI 8   3.1.   Định thời trên lưới 8   3.2.   Một số dự án và sản phẩm 9   3.3.   Các giải thuật định thời liên quan 11   3.3.1.   MET (Minimum Excecution Time) 12   3.3.2.   MCT (Minimum Completion Time) . 13   3.3.3.   RR (Round-robin) . 13   3.3.4.   DFPLTF (Dynamic Fastest Processor to Largest Task First) . 14   3.3.5.   Min-Min 14   3.3.6.   Max-Min . 16   3.3.7.   Duplex . 17   3.3.8.   Partitioning 17   3.3.9.   Sufferage . 17   3.3.10.   XSufferage 19   Chương 4.   GIẢI THUẬT ĐỊNH THỜI CHO ỨNG DỤNG PARAMETER SWEEP . 22   4.1.   Mô hình bài toán 22   4.2.   Thuật giải SufMin 24   4.3.   Thuật giải DMin-Min . 27   4.4.   Thuật giải DMax-Min 28   4.5.   Thuật giải DSufferage 29   Chương 5.   THỬ NGHIỆM VÀ ĐÁNH GIÁ 33   Chương 6.   KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 41   TÀI LIỆU THAM KHẢO 43   ii Danh mục hình Hình 2.1: Môi trường tính toán lưới điển hình [18] 5   Hình 2.2: Mô hình một ứng dụng parameter sweep [8] 6   Hình 3.1: Thuật giải Min-Min 15   Hình 3.2: Thuật giải Max-Min 16   Hình 3.3: Thuật giải Sufferage 18   Hình 3.4: Thuật giải XSufferage . 20   Hình 4.1: Mô hình ứng dụng parameter sweep cần giải quyết 22   Hình 4.2: Phương thức schedule() của giải thuật SufMin . 24   Hình 4.3: Phương thức estimate(x,y) của giải thuật SufMin . 24   Hình 4.4: Phương thức estimate(x,y) cải tiến của giải thuật SufMin 25   Hình 4.5: Phương thức schedule() của giải thuật DMin-Min 27   Hình 4.6: Phương thức schedule() của giải thuật DMax-Min . 28   Hình 4.7: Phương thức schedule() của giải thuật DSufferage . 30   Hình 4.8: Phương thức estimate(x,y) của giải thuật DSufferage . 30   iii Danh mục biểu đồ kết quả Biểu đồ 1: Số cụm tài nguyên 3, tổng số host 8, số ứng dụng 3, tổng số tác vụ 11 34   Biểu đồ 2: Số cụm tài nguyên 3, tổng số host 8, số ứng dụng 3, tổng số tác vụ 11 35   Biểu đồ 3: Số cụm tài nguyên 13, tổng số host 308, số ứng dụng 6, tổng số tác vụ 147 36   Biểu đồ 4: Số cụm tài nguyên 21, tổng số host 951, số ứng dụng 14, tổng số tác vụ 778 37   Biểu đồ 5: Số cụm tài nguyên 10, tổng số host 144, số ứng dụng 18, tổng số tác vụ 370 38   Biểu đồ 6: Số cụm tài nguyên 13, tổng số host 116, số ứng dụng 100, tổng số tác vụ 1132 . 39   1 Chương 1. GIỚI THIỆU Máy tính ngày nay được ứng dụng rộng rãi vào nhiều lĩnh vực với nhiều chức năng khác nhau, trong đó có việc phục vụ nhu cầu tính toán. Các bài toán có độ phức tạp cao ngày càng nhiều và đòi hỏi khả năng tính toán mạnh của máy tính. Nhằm đáp ứng nhu cầu tính toán này, kỹ thuật xử lý song song ra đời với ý tưởng chính là sử dụng nhiều bộ xử lý để cùng giải quyết một vấn đề. Các máy tính đa xử lý (multiprocessor) cùng với các hệ thống máy tính cụm (cluster) và cả lưới tính toán (grid) đều được phát triển theo hướng này. Lưới tính toán cho phép chia sẻ, thu thập và chọn lọc các tài nguyên phân tán nhằm giải quyết các bài toán lớn. Tuy nhiên, việc tổng hợp, quản lý tài nguyên và phân phối tài nguyên cho các dịch vụ và các ứng dụng là một thử thách lớn vì các nguồn tài nguyên rất hỗn tạp, phân tán và các tác vụ thường chia sẻ các tập tin (file) dữ liệu dùng chung. Đề tài này quan tâm đến lớp bài toán parameter sweep, đây là dạng bài toán thực hiện cùng một đoạn mã chương trình nhiều lần và sử dụng tập duy nhất các giá trị tham số đầu vào [15]. Việc định thời cho lớp bài toán này đã được nghiên cứu nhiều (xem [8] [9] [15] [18]). Xuất phát từ thực tế là phần lớn các bài toán có kích thước không lớn, đề tài tập trung vào các ứng dụng parameter sweep có kích thước trung bình và nhỏ để có thể xếp lịch chạy mộ t ứng dụng trên một nút lưới (một cụm máy tính). Việc này có ưu điểm về mặt truy xuất, đồng bộ dữ liệu và dễ trong việc quản lý. Đề tài này đề xuất bốn giải thuật định thời SufMin, DMin-Min, DMax- Min và DSufferage hướng đến các tiêu chí sau: (1) Giảm thiểu thời gian thực hiện công việc tính toán để phân bổ các tài nguyên cho các ứng dụng parameter sweep (được đánh giá thông qua độ phức tạ p của giải thuật). (2) Thời gian hoàn thành của ứng dụng là nhỏ. 2 (3) Phân toàn bộ một ứng dụng chạy trên một nút lưới để tối ưu thời gian truy xuất dữ liệu của ứng dụng và dễ quản lý. Các giải thuật SufMin, DMin-Min, DMax-Min và DSufferage đều có ưu điểm là có độ phức tạp của giải thuật nhỏ so với một số giải thuật tương tự hiện có như Min-Min, Max-Min, Sufferage, XSufferage… Kết quả thử nghiệm còn cho th ấy thời gian hoàn thành trung bình của các ứng dụng khi áp dụng các giải thuật cải tiến đều nhỏ hơn so với các giải thuật Max-Min, Min-Min, Sufferage. Các giải thuật đề xuất trong luận văn có thể áp dụng trong các bộ định thời (lập lịch) cho các lưới tính toán chuyên phục vụ các bài toán parameter sweep. Đối với lưới tính toán phục vụ cho các ứng dụng thuộc cả lớp bài toán parameter sweep và không thuộc lớp bài toán này thì giải thuật định th ời cần được đánh giá và nghiên cứu thêm. Phần còn lại của luận văn được tổ chức thành 5 chương. Chương 2 nói về nhu cầu tính toán và công nghệ lưới. Chương 3 trình bày vấn đề định thời trên môi trường tính toán lưới. Chương 4 trình bày các giải thuật định thời SufMin, DMin-Min, DMax-Min, DSufferage cho ứng dụng parameter sweep. Phần thử nghiệm và đánh giá được trình bày ở chương 5 và cuối cùng là kết luận và hướng phát triển được trình bày ở chương 6. 3 Chương 2. NHU CẦU TÍNH TOÁN VÀ CÔNG NGHỆ LƯỚI 2.1. Nhu cầu tính toán và giải pháp Máy tính ra đời và có nhiều ứng dụng, trong đó việc phục vụ nhu cầu tính toán là một trong những ứng dụng quan trọng, cụ thể là trong các lĩnh vực như vật lý, toán học, hóa học, sinh học, y học, kinh tế…đều có nhiều bài toán đòi hỏi nhu cầu tính toán. Nhu cầu tính toán luôn vượt quá khả năng của máy tính (ví dụ như mô phỏng hệ sinh thái, số hóa mọi ký ức con người, dự đoán cấu trúc 3D của protein…) [2][20]. Do đó con người luôn cố gắng tạo ra các hệ thống máy tính ngày càng mạnh, tuy nhiên, việc tăng khả năng của một bộ xử lý lại phụ thuộc nhiều vào công nghệ, cần có thời gian và còn nhiều hạn chế. Một giải pháp khác được đưa ra là sử dụng nhiều bộ xử lý để giải quyết một bài toán (gọi là xử lý song song). Cùng với giải pháp xử lý song song là sự ra đời của các hệ thống máy tính đa xử lý (multiprocessor), tuy nhiên giá thành của các hệ thống máy tính này rất cao và số lượng bộ xử lý trong một máy tính cũng có hạn chế. Nhằm khắc phục những hạn chế này, có m ột giải pháp khác là liên kết các máy tính qua đường mạng tốc độ cao để hình thành máy tính cụm (cluster). Ưu điểm của giải pháp này là giá thành hạ và có khả năng mở rộng tốt. Tuy nhiên do tính quản lý tập trung và thường đòi hỏi phần cứng đồng nhất nên không thể xây dựng một hệ thống máy tính với số lượng bộ xử lý lớn (khoảng hàng chục ngàn bộ xử lý trở lên) theo cách này. Với sự phát triển mạnh mẽ của mạng Internet và việc hình thành nhiều trung tâm máy tính mạnh cũng như sự phát triển mạnh mẽ của máy tính cá nhân, ý tưởng liên kết các máy tính này thông qua mạng Internet để tạo ra một hệ thống khổng lồ với năng lực tính toán vượt xa những siêu máy tính mạnh nhất thế giới đã hình thành và phát triển mạnh. Công nghệ mới đó là công nghệ lưới (Grid), công nghệ này cho phép ta xây dựng một hệ thố ng máy tính lên đến hàng trăm, hàng triệu bộ xử lý. 4 2.2. Công nghệ lưới Lưới tính toán (Grid) là một cơ sở hạ tầng phần cứng và phần mềm cung cấp khả năng truy cập nhất quán, tin cậy, quy mô và chi phí thấp tới các tài nguyên tính toán mạnh [12]. Grid đang là một công nghệ nổi bật trong thế kỷ 21, cho phép chia sẻ các nguồn tài nguyên của các máy tính khi chúng nối mạng với nhau để tăng hiệu năng và tốc độ xử lý thông tin. Lưới tính toán cho phép các nhà khoa học và các nhà nghiên cứu có thể tiếp cậ n được năng lực tính toán cao cấp hơn và cho phép chuyển tải một khối lượng lớn dữ liệu cũng như khả năng lưu trữ mà trước đây chưa bao giờ thực hiện được với các phương pháp truyền thống. Trong hầu hết các tổ chức (như các trường đại học, viện nghiên cứu) hệ thống máy tính chưa thật sự được sử dụng hi ệu quả. Hầu hết các máy tính để bàn chỉ thường bận việc dưới 5% thời gian, ngay cả các máy chủ cũng có thể xem như “ăn không ngồi rồi” [1]. Công nghệ Grid cung cấp một nền (framework) giúp cho các nhà khoa học có thể khai thác triệt để các tài nguyên tính toán và lưu trữ dư thừa này, nhờ đó các máy tính được kết hợp lại với nhau để giải các bài toán mà đôi khi các siêu máy tính mạnh nhất hiện nay cũng không gi ải quyết được. Việc khai thác tiềm năng to lớn từ năng lực tính toán của các “bộ xử lý song song” là một trong những đặc trưng hấp dẫn nhất của tính toán mạng lưới. Ngày nay, dựa trên năng lực tính toán của máy tính, các nhà khoa học trên thế giới đã có thể nghiên cứu sâu và nhanh trong nhiều lĩnh vực như sinh hoá, chế tạo thuốc, đưa ra các mô hình tiết kiệm tài chính, chế tạo các vật liệu mới, khám phá ra dầu mỏ, v.v.… Nhờ khả năng liên kết cao các hệ thống máy tính hỗn hợp lại với nhau, Grid cho phép tạo nên những “tổ chức ảo” (Virtual Organization - VO) với “tài nguyên ảo” khổng lồ, đồng thời cho phép cân bằng việc sử dụng tài nguyên. Điều này có nghĩa là khi một công việc cần thực hiện, hệ thống Grid sẽ quan sát tài nguyên của các máy chủ có thể đáp ứng được nhu cầu để gửi công việc thực 5 hiện, sau đó tập hợp kết quả khi đã hoàn tất công việc. Grid thực sự tạo ra phương tiện giao tiếp mới trên mạng. Trong lưới tính toán, nhiều vấn đề mới được đặt ra và cần giải quyết như: - Khám phá tài nguyên: Làm thế nào biết được các tài nguyên hiện có thể sử dụng trên lưới và sức mạnh tính toán của chúng. - Định thời (lập lịch): Làm thế nào để phân b ổ các công việc lên các tài nguyên để đạt các mục tiêu đặt ra chẳng hạn như kết thúc ứng dụng sớm nhất, sử dụng tài nguyên hiệu quả nhất. - Giám sát: Giám sát phần cứng và cả ứng dụng trên lưới. - Phân quyền và xác thực quyền trên lưới. Hiện tại các vấn đề nêu trên được giải quyết hoặc được đề nghị giải quyết ở mức độ phần m ềm tầng giữa của lưới. Các phần mềm tầng giữa phổ dụng hiện tại là Globus Toolkit [6], gLite [5]…. Do đặc thù của lưới tính toán là hạ tầng mạng bất đồng nhất, không phải bất kỳ loại ứng dụng nào cũng chạy hiệu quả trên lưới. Một loại ứng dụng được đánh giá rất phù hợp khi chạy trên lưới là parameter sweep. Hình 2.1: Môi trường tính toán lưới điển hình [18] 6 2.3. Ứng dụng parameter sweep Ứng dụng parameter sweepứng dụng gồm một tập n tác vụ độc lập {T i } (i=1,…,n). Độc lập ở đây có nghĩa là các tác vụ không có sự liên hệ hoặc độc lập về mặt dữ liệu [7] [8]. Chính đặc tính này nên ứng dụng dạng parameter sweep phù hợp khi chạy trên lưới. Hình 2.2: Mô hình một ứng dụng parameter sweep [8] Các bài toán trong lớp ứng dụng parameter sweep có đặc tính: thực hiện cùng một đoạn mã chương trình nhiều lần với một tập giá trị tham số đầu vào duy nhất, loại ứng dụng này phải tuân theo nguyên tắc song song hóa [7][15]. Mô hình bài toán parameter sweep có thể thấy trong các ứng dụng ở các lĩnh vực khác nhau như vật lý, toán học, sinh học….Ví dụ điển hình của lớp ứng dụng parameter sweep là bài toán tìm kiếm không gian tham số hay các mô phỏng theo phương pháp Monte Carlo. Trong các ứ ng dụng parameter sweep, các chủ thể thực hiện độc lập nhau. Đặc tính này cực kỳ quan trọng trong việc song song hóa bởi vì nó đồng nghĩa rằng chúng ta có thể phát biểu vấn đề này theo mô hình “chủ - tớ”. Máy chủ sẽ phân bổ các công việc tới các máy tính khác nhau, các công việc này không liên quan với nhau. Chúng chỉ trả các kết quả về máy chủ khi các công việc tính toán đã hoàn thành. Bởi vì mỗi công việc là độc lập nên ta không quan tâm đến vấn đề liệu công việc nào phải hoàn thành trướ c công việc nào [7]. Một ứng dụng parameter sweep điển hình bao gồm một vòng lặp thực hiện lặp lại cùng một đoạn mã trong một hàm nào đó. Một tập duy nhất các đối số được cung cấp cho hàm trong mỗi lần lặp. Bởi vì vòng lặp có một giá trị duy nhất trong mỗi lần lặp, nó có thể được sử dụng để tính toán tập tham số [7]. 7 Với mô hình ứng dụng parameter sweep, thoạt nhìn có vẻ đơn giản nhưng việc định thời các ứng dụng này trong môi trường lưới là công việc không dễ dàng vì các nguồn tài nguyên trên lưới chia sẻ, hỗn tạp, phân tán và được sở hữu bởi những tổ chức khác nhau với những quyền hạn và cơ chế trao đổi (charging) khác nhau. Thêm vào đó, thuật giải định thời cần thích ứng với việc thay đổi tải và các đ iều kiện về tài nguyên sẵn sàng trong Grid để đạt được hiệu năng cao nhất về thời gian hoàn thành ứng dụng.

Ngày đăng: 08/12/2013, 10:14

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan