HỆ THỐNG TÍNH TOÁN HIỆU NĂNG CAO SUPERNODE II A HIGH PERFORMANCE COMPUTING SYSTEM: SUPERNODE II

11 332 0
HỆ THỐNG TÍNH TOÁN HIỆU NĂNG CAO SUPERNODE II A HIGH PERFORMANCE COMPUTING SYSTEM: SUPERNODE II

Đ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

Kỷ yếu Hội nghị Khoa học & Công nghệ lần thứ 9, ĐH Bách Khoa Tp HCM, Phân ban CNTT HỆ THỐNG TÍNH TỐN HIỆU NĂNG CAO SUPERNODE II A HIGH PERFORMANCE COMPUTING SYSTEM: SUPERNODE II Thoại Nam1, Trần Nguyễn Hoàng Huy1, Đoàn Việt Hưng1, Trần Ngọc Minh1, Nguyễn Cao Đạt1 Đặng Tuấn Nghĩa2 Khoa Công Nghệ Thông Tin, Đại học Bách Khoa, Tp Hồ Chí Minh, Việt Nam Trung tâm Điện Toán, Đại học Bách Khoa, Tp Hồ Chí Minh, Việt Nam nam@dit.hcmut.edu.vn BẢN TĨM TẮT Nhu cầu tính tốn lĩnh vực khoa học công nghệ thúc đẩy việc xây dựng hệ thống tính tốn hiệu cao Bên cạnh đó, phát triển công nghệ mạng tốc độ cao kết hợp với việc sử dụng máy trạm tính toán rẻ tiền cho phép xây dựng hệ máy tính mạnh với giá thành hạ Supernode II hệ thống tính tốn dạng Báo cáo trình bày tổng quan phần mềm hệ thống xây dựng Supernode II Các phần phần mềm hệ thống quản lý tài nguyên, định thời, thực thi công việc, quản lý người dùng giám sát hệ thống Phần mềm hệ thống cho phép sử dụng tài nguyên Supernode II cách hiệu ABSTRACT High Performance Computing (HPC) is a key solution to provide computational power to solve grand and challenging problems There has been a dramatic shift within the HPC field from supercomputers to clusters for lowering the ratio between cost and performance This trend was set in motion by improvements of the two commodity components: CPUs designed for PCs and high-speed local networks Supernode II is a system built on PC-based cluster technology that provides costeffective computing power for scientific applications This paper will give an overview of the Supernode II’s system software Consisting of five main modules: resource management, job scheduling, job execution, user management and monitoring, this software enables effective resource utilization GIỚI THIỆU Sự phát triển cơng nghệ cho phép tốc độ tính tốn xử lý ngày tăng Tuy vậy, có nhiều ứng dụng lĩnh vực khoa học cơng nghệ địi hỏi thời gian tính tốn từ vài ngày đến vài tháng hay nhiều nữa, cho dù tận dụng hết khả xử lý Do thời gian tính tốn q lớn, nên xảy tình trạng kết tính tốn khơng sử dụng được, ví dụ toán dự báo thời tiết Xử lý song song giải pháp nhằm giải vấn đề Sử dụng nhiều vi xử lý lúc để giải tốn rút ngắn thời gian tính tốn, đáp ứng nhu cầu thực tế Một mơi trường tính tốn cung cấp khả tính tốn mạnh để giải toán lớn thời gian ngắn gọi mơi trường tính tốn hiệu cao (High Performance Computing) Nhiều mơ hình máy tính nghiên cứu phát triển nhằm phục vụ cho việc xử lý song song Trong đó, hai mơ hình phổ biến, sử dụng nhiều thực tế mô hình máy tính đa xử lý mơ hình cluster Các máy tính đa xử lý máy tính có nhiều vi xử lý bo mạch chia sẻ nhớ Mơ hình cluster kết nối máy tính đơn lại với nhau, khơng chia nhớ Ngày nay, máy tính cá nhân trở nên phổ biến tốc độ truyền thông mạng tăng lên nhiều lần mơ hình cluster tỏ 50 Kỷ yếu Hội nghị Khoa học & Công nghệ lần thứ 9, ĐH Bách Khoa Tp HCM, Phân ban CNTT có nhiều ưu điểm Có thể kể số ưu điểm mơ hình cluster như: khả tận dụng nguồn tài nguyên sẵn có, tính linh động, khả mở rộng cao, dễ xây dựng… Một ưu điểm bậc mơ hình cluster tính kinh tế; tỉ số giá thành hiệu suất hệ thống cluster thấp nhiều so với máy tính đa xử lý có khả tính tốn tương đương Từ nhu cầu thực tế trường Đại học Bách Khoa TP HCM, hệ thống tính tốn hiệu cao dạng PC-based cluster có tên Supernode II xây dựng Thiết kế Supernode II nhằm đáp ứng nhu cầu tính tốn đa dạng từ ứng dụng đến ứng dụng song song sử dụng MPI PVM Vấn đề khó khăn việc phát triển hệ thống PC-based clusters nói chung Supernode II nói riêng phần mềm hệ thống Phần định hệ thống Supernode II chạy hiệu hay không Các phần mềm hệ thống cho hệ thống cluster có dạng thương mại với chi phí cao, thiết kế, thực theo hệ thống cụ thể khơng opensource hồn tồn Chính để đáp ứng nhu cầu tính tốn cần xây dựng phần mềm phù hợp với hệ thống Supernode II Việc xây dựng hệ thống phần mềm giúp khai thác tối đa hiệu suất phần cứng phát triển theo nhiều hướng khác tương lai mà không bị hạn chế sử dụng phần mềm có sẵn Một phần mềm hệ thống dùng cho hệ thống tính tốn hiệu cao cần phải thực nhiệm vụ sau [8]: ƒ Quản lý tài nguyên định thời: quản lý toàn tài nguyên hệ thống phân bổ tài nguyên hợp lý nhằm phục vụ công việc người sử dụng ƒ Giám sát hệ thống: cung cấp cho người sử dụng hệ thống khả giám sát cơng việc thực thi hệ thống Cung cấp thông tin trạng thái công việc tài nguyên cho người quản trị ƒ Quản lý người sử dụng tính phí (user management & billing): Do cluster thường hệ thống gồm nhiều người dùng nên cần có chế để quản lý người sử dụng, giám sát thông tin sử dụng tài nguyên người dùng ƒ Môi trường để biên dịch, kiểm tra chương trình Các phần báo trình bày sau: Phần giới thiệu, đánh giá sơ lược số phần mềm quản lý cluster Phần trình bày tổng quan kiến trúc thành phần phần mềm hệ thống cho Supernode II Những hướng phát triển đề tài trình bày Phần Cuối phần kết luận CÁC CÔNG VIỆC LIÊN QUAN 2.1 Hệ thống CONDOR Condor [11] phát triển đại học Wisconsin-Madison Condor xây dựng với mục tiêu tận dụng tài nguyên sẵn có để xây dựng hệ thống tính tốn lớn Condor có khả kết hợp nút tính tốn chun biệt (dedicated nodes), nút tính tốn cluster, với máy tính cá nhân có thời gian rảnh (optional workstation) Chính kiến trúc linh động cho phép Condor có khả mở rộng lớn hướng tới xây dựng mơ hình tính tốn lưới (Grid computing) Chức Condor quản lý tài nguyên, phân bổ công việc lên tài nguyên cách hợp lý Khi người dùng đưa cơng việc, Condor tìm máy sẵn sàng để thực thi cơng việc Khi phát máy tiếp tục thực công việc, Condor ngưng, lưu ảnh cơng việc di dời sang máy tính sẵn sàng khác Việc lưu ảnh cơng việc cịn cung cấp khả chịu lỗi cho ứng dụng Ngồi ra, Condor cịn có chế phân bố tài nguyên dựa độ ưu tiên người dùng (user priorities) độ ưu tiên công việc (job priorities) Cơ chế dựa độ ưu tiên đảm bảo q trình phân phối tài ngun cơng người dùng công việc Sử dụng Condor, người quản trị dễ dàng giám sát q trình thực thi cơng việc đưa thay đổi chiến lược hay biện pháp xử lý công việc Condor không yêu cầu thay đổi source code chương trình thực thi Condor Người sử dụng truy cập thực thi công việc Condor từ xa Condor linh động sử dụng nhiều chế khác để cơng việc truy xuất file liệu Các chế bao gồm: gọi hàm hệ thống từ xa (remote system call), hệ thống file 51 Kỷ yếu Hội nghị Khoa học & Công nghệ lần thứ 9, ĐH Bách Khoa Tp HCM, Phân ban CNTT chung (shared file system) hay chế chuyển file (file transfer) Condor hỗ trợ nhiều mơ hình công việc khác công việc tuần tự, PVM MPI Bên cạnh Linux, Condor hỗ trợ nhiều hệ điều hành khác dòng Unix hệ điều hành Windows NT Trong nhóm máy (pool) có nhiều hệ điều hành khác công việc thực thi hệ điều hành đăng ký (submit) từ máy với hệ điều hành khác Cơ chế kết nhóm (flocking) cho phép nhiều nhóm kết nối lại với Mỗi nhóm có chiến lược quản lý tài nguyên khác công việc thực thi nhiều nhóm khác Thơng qua Globus Toolkit, Condor gởi cơng việc đến hệ thống quản lý hệ thống quản lý tài nguyên khác nhận công việc từ hệ thống khác gởi tới Điều giúp Condor dễ dàng thích nghi với mơ hình tính tốn lưới 2.2 Computing Center Software Computing Center Software (CCS) [10] hệ thống quản lý tài nguyên cho máy tính song song hiệu cao, nghiên cứu trung tâm Paderborn đưa vào hoạt động từ năm 1992 nhiều hệ thống clusters hệ thống tính tốn song song lớn CCS cung cấp khả định thời cơng việc bó (batch jobs) tương tác độc lập với phần cứng Việc định thời CCS dựa yếu tố đặt chỗ (reservation), hạn chót (deadline), hạn chế thời gian phân biệt ngày đêm, hạn chế số lượng nút Ngoài CCS cung cấp khả phân chia tài nguyên độc quyền không độc quyền, giao diện mở để giao tiếp với hệ thống quản lý tài nguyên khác CCS có độ tin cậy cao tự động khởi tạo lại trình chạy ngầm (daemon) bị chết, khả đề kháng lỗi trường hợp đứt mạng 2.3 Portable Batch System Portable Batch System (PBS) [12] hệ thống bó linh hoạt quản lý tải hàng đợi tuân theo chuẩn POSIX, phát triển trì Veridian Systems PBS hoạt động môi trường mạng UNIX, bao gồm cluster bất đồng nhất, siêu máy tính hệ thống song song lớn Dự án khởi động để tạo hệ thống xử lý bó linh hoạt có khả mở rộng để đáp ứng u cầu mạng tính tốn bất đồng Mục đích PBS để cung cấp điều khiển cho việc khởi tạo hay định thời cơng việc bó Bộ định thời mặc định PBS FIFO dùng để tối ưu hiệu suất CPU Bộ định thời duyệt qua danh sách hàng đợi công việc khởi động công việc phù hợp với tài nguyên sẵn sàng Tuy nhiên, định thời theo phương pháp khiến cơng việc lớn khơng có hội thực thi Để khắc phục, định thời sử dụng chế “starving jobs” Với chế này, công việc hàng đợi ngưỡng thời gian xác định tăng độ ưu tiên lên, để đưa vào thực thi có đủ tài nguyên Phương pháp thực tốt vài trường hợp, nhiều tình không mang lại kết mong muốn [1] Tuy nhiên, PBS cho phép thay định thời mặc định Một số định thời có lựa chọn, sử dụng với PBS đời Maui [13] Libra [3] định thời vậy, thích hợp cho mơi trường tính tốn hiệu cao Maui sử dụng sách định thời tổng hợp để tối ưu việc tận dụng tài nguyên thời gian hồn thành cơng việc Maui cung cấp khả quản trị tài nguyên tải công việc, cho phép cấu hình việc xếp độ ưu tiên, định thời, cấp phát, công bằng, sách đặt chỗ trước cho cơng việc Maui cho phép việc đặt chỗ trước để điều khiển xác tài nguyên sử dụng Mục tiêu định thời Libra cố gắng thỏa mãn tối đa yêu cầu người sử dụng Vì chi tiết cơng việc trình lên người sử dụng bao gồm: ngân sách cấp hạn chót hồn thành cơng việc Bộ định thời Libra cho phép tối ưu độ lợi CPU đảm bảo yêu cầu ràng buộc chất lượng dịch vụ người sử dụng Nhờ vào tính ổn định, linh hoạt, khả cho phép thay định thời khác để thỏa mãn sách đơn vị, đặc biệt tính chất mã nguồn mở giúp cho PBS trở thành hệ thống phổ biến sử dụng rộng rãi 52 Kỷ yếu Hội nghị Khoa học & Công nghệ lần thứ 9, ĐH Bách Khoa Tp HCM, Phân ban CNTT Tuy nhiên, PBS hệ thống phi thương mại nên việc tính phí sử dụng quản lý người dùng không phát triển hệ thống PHẦN MỀM QUẢN LÝ CHO HỆ THỐNG SUPERNODE II Hệ thống Supernode II xây dựng gồm có 64 nút, nút có cầu hình gồm: ƒ CPU Xeon 2,4GHz, 512KB cache ƒ GB ECC DDRam ƒ HDD 40GB (7200rpm) Các nút kết nối với theo kiểu bus chung (shared-bus) thông qua Ethernet Switch 1Gigabit 100Mb Hình Sự phân chia thành phần hệ thống Các nút tính tốn phân chia làm hai phần Front-end Computing system Hình Phần Front-end (gồm 16 nút) cung cấp ngõ vào để người dùng đăng nhập thực thi ứng dụng hệ thống Người dùng biên dịch chạy thử chương trình máy tính Front-end để kiểm tra tính xác khả tương thích ứng dụng với hệ thống Các máy tính thật thực thi cơng việc nằm phần Computing system (gồm 48 nút) Phần hoàn toàn suốt người dùng quản lý phần mềm quản lý Supernode II Lớp phần mềm cung cấp nhìn suốt hệ thống cho người dùng lớp ứng dụng Người dùng thực thi, phát triển ứng dụng dựa lớp phần mềm hệ thống mà không cần quan tâm đến cấu trúc máy tính bên Cấu trúc chung phần mềm quản lý hệ thống Supernode II gồm có thành phần Hình Proxy đóng vai trị trung gian việc giao tiếp module với Proxy đóng vai trị trung gian người sử dụng hệ thống Chi tiết chức của phận khác trình bày tiếp phần Hình Cấu trúc phần mềm hệ thống 3.1 Quản lý Management) tài nguyên (Resource 3.1.1 Chức Bộ quản lý tài nguyên có nhiệm vụ quản lý tất tài ngun tính tốn, bao gồm CPU, nhớ, đĩa cứng, xác định vị trí cấp phát tài nguyên cho hệ thống, cho phép tài nguyên gia nhập, tài nguyên hành rời khỏi hệ thống, phát cố hư hỏng tài nguyên cung cấp thơng tin tài ngun cho định thời Ngồi ra, quản lý tài ngun cịn có nhiệm vụ chứng thực, tạo di trú trình 3.1.2 Kết đạt Hình Sơ đồ phân lớp Phần mềm hệ thống quản lý Supernode II lớp phần mềm nằm lớp ứng dụng người dùng hệ điều hành máy đơn Các chức thực quản lý tài nguyên: ƒ Resource Controller: cung cấp cho người quản trị chức thêm vào xóa bỏ tài nguyên, nhận yêu cầu đăng ký từ nút tính tốn chúng khởi động ƒ Resource Info Controller: quản lý thông tin tài nguyên tất nút tính tốn Nhận u cầu lấy thơng tin tài nguyên từ 53 Kỷ yếu Hội nghị Khoa học & Công nghệ lần thứ 9, ĐH Bách Khoa Tp HCM, Phân ban CNTT định thời trả thông tin tài nguyên hệ thống ƒ Resource Allocation Controller: nhận yêu cầu thực thi công việc từ định thời, phân công việc xuống nút tính tốn để thực thi, cập nhật lại thơng tin tài nguyên ƒ Job Execution Controller: quản lý trình thực thi công việc, cập nhật thông tin thực thi công việc cho định thời Nhận u cầu xóa tạm dừng cơng việc từ định thời, dừng thực thi công việc, trả lại tài nguyên công việc chiếm giữ, cập nhật lại tài nguyên hệ thống, trả kết cho định thời ƒ Resource Maintainance Controller: gửi tín hiệu đến nút tính tốn cách định kỳ để kiểm tra xem nút có hoạt động khơng Cập nhật lại tài ngun có nút chết (khơng hoạt động, bị đứt mạng… ) Nếu nút chết thực thi cơng việc phải thơng báo cho định thời để định thời lại công việc 3.2 Định thời (Scheduling) 3.2.1 Chức Bộ định thời có nhiệm vụ định thời điểm thứ tự xử lý công việc người dùng chứa hàng đợi Bộ định thời xác định tài nguyên dùng để thực thi cơng việc Trong q trình định thời, định thời lấy thông tin tài nguyên từ quản lý tài nguyên 3.2.2 Các phương pháp định thời Hầu hết phương pháp định thời rơi vào hai loại time-sharing space-sharing [9] Time-sharing tỏ có ưu có khác biệt nhiều thời gian thực thi trình công việc, thời gian thực thi cơng việc khác biệt lớn; ví dụ hệ thống hỗ trợ cơng việc dạng bó công việc tương tác (interactive job) Ngược lại, spacesharing không bị phí tổn chuyển đổi ngữ cảnh Đối với hệ thống hỗ trợ công việc hạn cuối, space-sharing giúp cho việc ước tính thời gian thực thi cơng việc xác Hybrid phương pháp khác kết hợp ưu điểm time-sharing space-sharing đạt kết khả quan thực tế [4] Space-sharing thực cách chia tài ngun tính tốn thành phân vùng (partition) công việc thực partition riêng biệt [9] Space-sharing giảm thiểu tối đa phí tổn việc chuyển đổi ngữ cảnh (context switching) cơng việc Ngồi hệ thống mà nhớ bị giới hạn việc space-sharing dành tồn bộ nhớ partition cho riêng cơng việc giảm thiểu chi phí page-fault, giúp hệ thống hoạt động hiệu Time-sharing sử dụng preemption để xoay vịng sử dụng nút cho cơng việc Hai cách sử dụng preemption để định thời công việc song song coordinated uncoordinated Trong cách định thời coordinated, trình công việc song song thực thi thời điểm quantum đưa vào trạng thái tạm dừng thời điểm để nhường nút tính tốn cho cơng việc khác Trong cách định thời uncoordinated ngược lại, q trình cơng việc nút định thời cách độc lập mà không phụ thuộc vào q trình khác cơng việc Như thời điểm, có số trình cơng việc thực thi, số q trình khác cơng việc trạng thái tạm dừng Cách định thời coordinated hoạt động tốt ứng dụng có mức độ đồng trình cao, ngược lại hoạt động khơng hiệu Một nhược điểm khác cách định thời coordinated việc thực khó khăn, đặc biệt hệ thống lớn có nhớ phân tán (distributed memory) Hybrid phương pháp định thời kết hợp space-sharing time-sharing Ý tưởng hybrid chia hệ thống thành partition giống space-sharing Tuy nhiên, thay partition thời điểm cho phép công việc thực thi hybrid cho phép nhiều cơng việc thực thi Các công việc phân bố partition thực thi theo kiểu xoay vòng time-sharing Một vài thực theo phương pháp hybrid hierarchical scheduling cho thấy hiệu đạt tốt so với space-sharing time-sharing [7, 9] 54 Kỷ yếu Hội nghị Khoa học & Công nghệ lần thứ 9, ĐH Bách Khoa Tp HCM, Phân ban CNTT 3.3.3 Phân loại giải thuật định thời Các giải thuật định thời chia làm hai loại: có hạn cuối khơng có hạn cuối Đối với cơng việc khơng hạn cuối, thơng thường định thời có hàng đợi để tiếp nhận Nếu tài nguyên rảnh, cơng việc khơng hạn cuối thực thi vừa đăng ký; ngược lại, tài nguyên bận, công việc phải chờ có cơng việc kết thúc trả lại tài ngun có thêm tài nguyên gia nhập vào hệ thống Như vậy, tốn định thời cho cơng việc không hạn cuối xác định tập công việc thực thi xảy kiện có tài nguyên rảnh công việc thực thi tài nguyên Đối với công việc hạn cuối, thông thường định thời phải dành riêng tài ngun tính tốn cho cơng việc Số lượng nút tính tốn cấp cho cơng việc phải với u cầu người dùng Khơng thể thu nhỏ kích thước partition cơng việc hạn cuối, làm khơng thể dự đốn khoảng thời gian thực thi công việc Điều dẫn đến số nút tính tốn hệ thống đủ để đáp ứng cho số công việc Vấn đề đặt để đáp ứng nhiều công việc hạn cuối giới hạn tài nguyên hệ thống 3.2.4 Giải thuật định thời cho hệ thống Giải thuật định thời hệ thống Supernode II cho công việc không hạn cuối dùng phương pháp space-sharing với cách phân vùng “adaptive partitioning”, gồm hai phần: tính kích thước partition lựa chọn công việc thực thi [6] Giải thuật mở rộng phương pháp tính kích thước partition đề nghị Sivarama P Dandamudi Hai Yu [5] cách xem xét thêm số đặc thù việc thực thi công việc space-sharing Bằng cách cố gắng tạo partition có kích thước thích ứng với tình trạng tải hành hệ thống, phương pháp giảm thiểu tối đa phân mảnh tài nguyên Tính kích thước partition Kích thước partition cho cơng việc tính theo cơng thức sau: parsize = pmf * Max (1, ceil ( total _ processors )) queue _ length + + f *S Công thức 1: Tính kích thước partition Trong đó: total_processors số lượng nút tính tốn ƒ queue_length số lượng cơng việc chờ ƒ S số lượng công việc thực thi ƒ f hệ số ảnh hưởng công việc thực thi, ≤ f ≤ Cách tính cố gắng phân chia partition cho tất công việc chờ hệ thống Việc dùng queue_length + (thay queue_length) nhằm mục đích chừa partition trống cho cơng việc đến tương lai Sự thích ứng với tình trạng hệ thống công thức thể chỗ kích thước partition bị ảnh hưởng khối lượng tải hệ thống Khi hệ thống tải cao (queue_length S lớn) cơng việc phân tài nguyên (kích thước partition nhỏ) ngược lại Mức độ ảnh hưởng công việc thực thi đến kích thước partition tỉ lệ với hệ số f Khi f = 0, ảnh hưởng bị loại bỏ kích thước partition phụ thuộc vào cơng việc chờ Khi f = 1, công việc thực thi có ảnh hưởng ngang với cơng việc chờ, mục tiêu tạo partition có kích thước đạt tốt Báo cáo kỹ thuật Sivarama P Dandamudi Hai Yu [5] cho thấy giá trị tốt f phụ thuộc vào mức độ sử dụng hệ thống, kiến trúc công việc… f tốt khoảng từ 0.5 đến 0.75 Ngồi ra, kích thước partition cịn phụ thuộc vào vài yếu tố khác đặc tính cơng việc đặc tính tài ngun hệ thống Khơng thể phân số lượng tài ngun tính tốn cho cơng việc song song có nhiều trình để đảm bảo chất lượng phục vụ Và phân số lượng nhiều tài ngun cho cơng việc có q trình làm giảm độ sử dụng hệ thống Cách tính kích thước partition phụ thuộc vào tình trạng tải hệ thống không giải vấn đề Một cách đơn giản để giải dùng thông số giới hạn sau đây: ƒ 55 Kỷ yếu Hội nghị Khoa học & Công nghệ lần thứ 9, ĐH Bách Khoa Tp HCM, Phân ban CNTT ƒ MAX_PARTITION_SIZE kích thước partition lớn cho phép, nhằm đảm bảo công việc không chiếm nhiều tài nguyên, làm ảnh hưởng đến công việc khác ƒ MIN_PROCESS_PER_NODE số lượng trình tối thiểu nút, nhằm đảm bảo nút tính tốn khơng bị lãng phí khả tính tốn số q trình phân q ƒ MAX_PROCESS_PER_NODE số lượng trình tối đa nút, tránh trường hợp cơng việc có nhiều process lại cấp q tài ngun tính tốn Lựa chọn cơng việc thực thi Tập cơng việc với kích thước partition tính lựa chọn để thực thi hệ thống có tài ngun rảnh Cơng việc lựa chọn phụ thuộc vào nhiều yếu tố độ ưu tiên (priority), thời gian chờ (waiting time) kích thước partition cơng việc Những cơng việc có độ ưu tiên cao, thời gian chờ lâu xem xét trước Bên cạnh đó, cơng việc lựa chọn cho tổng tài nguyên tính toán gần với số lượng nút rảnh để giảm thiểu tối đa tình trạng phân mảnh Tuy nhiên việc lựa chọn đơi dẫn đến tình trạng trì hỗn vơ hạn định vài cơng việc Đây vấn đề cần phát giải triệt để Dưới trình bày ba chiến thuật lựa chọn cơng việc nhằm mục tiêu giảm thiểu tình trạng phân mảnh chế đơn giản để giải triệt để tình trạng trì hỗn vơ hạn định 1.Lặp bestfit: Đầu tiên, chọn cơng việc có kích thước partition lớn nhỏ số lượng nút rảnh Kế tiếp, tập cịn lại, chọn cơng việc có kích thước partition lớn nhỏ số lượng nút rảnh sau trừ kích thước partition cơng việc chọn ban đầu Lặp lại khơng cịn cơng việc số lượng tài nguyên rảnh không đủ để thực thi công việc 2.Lặp worstfit: Chọn công việc theo thứ tự kích thước partition từ nhỏ đến lớn tổng kích thước partition vượt số lượng nút rảnh 3.Vét cạn: Khi tập cơng việc có số lượng nhỏ việc xét tất tập để tìm lời giải tối ưu chiến thuật hợp lý Số lượng tập phải xét tối đa 2n với n số lượng công việc cần xét Nếu n khơng q 20 thời gian tìm tập công việc tối ưu chấp nhận 4.Cơ chế giải tình trạng trì hỗn vơ hạn định sau: - Khi thời gian chờ công việc vượt q ngưỡng cho phép, cơng việc xem xét trước tiên có tài ngun rảnh Gọi cơng việc J kích thước partition p - Nếu đủ lượng tài nguyên rảnh J thực thi - Ngược lại, có hai trường hợp: 4.Tồn công việc K thực thi có kích thước partition lớn J, J chờ có đủ tài nguyên rảnh để thực thi Điều ln ln xảy trường hợp xấu nhất, K kết thúc, J thực thi 4.Ngược lại, kích thước partition J lớn cơng việc thực thi phải chừa lại số lượng nút (p – pmax) với pmax kích thước partition lớn công việc thực thi Điều đảm bảo cơng việc lớn kết thúc J thực thi Để tránh tình trạng công việc lặp vô tận, MAX_EXECTUTION_TIME quy định thời gian thực thi lớn mà cơng việc thực thi Mọi công việc thời gian thực thi vượt ngưỡng buộc phải dừng 3.3 Thực thi công việc (Job Execution) Bộ định thời sau chọn công việc cần thực thi tài nguyên để thực thi công việc gửi thông tin đến quản lý tài nguyên để chuyển cho thực thi công việc Trách nhiệm thực thi công việc phân công đến nút tương ứng, thành phần thực thi công việc nút đảm nhiệm việc thực thi công việc nút giám sát q trình thực thi Trong q trình thực thi, người dùng có thay đổi cơng việc thành phần phải có nhiệm vụ cập nhật Khi q trình thực thi kết thúc phải trả lại tài nguyên cho hệ thống, đảm bảo khơng có tiến trình cơng việc vừa kết thúc cịn tiếp tục chiếm giữ tài nguyên hệ thống 56 Kỷ yếu Hội nghị Khoa học & Công nghệ lần thứ 9, ĐH Bách Khoa Tp HCM, Phân ban CNTT 3.4 Giám sát (Monitoring) 3.4.1 Chức Phần mềm giám sát hệ thống cho phép người quản trị hệ thống theo dõi hoạt động thời hệ thống Các thơng tin cần cung cấp là: nút tính tốn trạng thái sẵn sàng, khối lượng công việc mà nút đảm nhận,… Từ thông tin này, người quản trị hệ thống đánh giá hoạt động hệ thống Nếu phát hệ thống bị cân tải can thiệp vào giải thuật định thời để phân bổ tài nguyên hợp lý Ngồi dựa thơng tin phần giám sát, biết hệ thống hoạt động với phần trăm cơng suất từ có định hướng việc nâng cấp hệ thống Về phía người sử dụng phần mềm giám sát cho phép người sử dụng theo dõi tiến trình thực thi ứng dụng đăng ký 3.4.2 Hiện thực Supernode II Hình Giám sát thơng tin phần cứng nút hệ thống Hình Theo dõi thực thi công việc Module giám sát Supernode II thực công cụ hữu ích cho người quản trị hệ thống Hình cho thấy kết giám sát thông tin phần cứng hệ thống công việc thực thi Một hướng phát triển module giám sát hệ thống Supernode II xây dựng, tích hợp module trợ giúp người quản trị phân tích thơng tin giám sát Khi có biểu bất thường hệ thống, module trợ giúp phân tích đưa dẫn thích hợp cho người quản trị xử lý cố 3.5 Quản lý người dùng tính phí (User Management & Billing) 3.5.1 Chức quản lý người dùng tính phí Quản lý người dùng hệ thống tính tốn hiệu cao so với quản lý người dùng mạng máy tính phức tạp cấp độ cao Tài khoản sử dụng hệ thống tính tốn giới hạn quyền người sử dụng Người sử dụng phép đăng ký chạy ứng dụng thay thực thi trực tiếp ứng dụng Việc thực thi phần mềm hệ thống đảm nhiệm Mặc khác cần phải tính phí sử dụng nên có loại tài khoản người dùng khác tùy theo mức phí sử dụng Đứng phía hệ thống, có nhiều loại tài khoản người dùng với quyền sử dụng tài ngun khác số nút tính tốn, thời điểm thực thi ứng dụng, dung lượng đĩa cứng… Những giới hạn xác định người sử dụng đăng ký tài khoản hệ thống 3.5.2 Thiết kế Supernode II Module quản lý người dùng Supernode II cho phép người sử dụng đăng ký tài khoản với hệ thống Và với quyền đăng ký, người dùng truy xuất vào hệ thống từ xa thông qua giao diện web kết nối từ xa SSH (secure shell) Do cách tính phí thay đổi, hệ thống tính phí khơng đưa cách tính cụ thể Thay vào cho phép người quản trị đặc tả phương thức tính phí Hệ thống lưu lại thơng tin phục vụ cho tính phí, thơng tin chủ yếu liên quan đến trình thực thi ứng dụng đăng ký 57 Kỷ yếu Hội nghị Khoa học & Công nghệ lần thứ 9, ĐH Bách Khoa Tp HCM, Phân ban CNTT người sử dụng Từ đặc tả thơng tin lưu cho thơng tin phí sử dụng người dùng NHỮNG HƯỚNG PHÁT TRIỂN NGHIÊN CỨU 4.1 Tăng cường khả chịu lỗi (Faulttolerant) Các toán thực thi hệ thống tính tốn hiệu cao thường tốn có thời gian thực thi lớn Khi xảy lỗi hệ thống lỗi phần cứng, mạng, cố điện… phải thực thi lại chương trình từ đầu Trong đặc điểm hệ thống PC-based cluster kết nối từ máy PC thông qua mạng nên xác suất xảy cố cao so với hệ thống máy tính đa xử lý Điều đặt yêu cầu phải tăng cường khả chịu lỗi cho hệ thống Một giải pháp cho vấn đề sử dụng kỹ thuật lưu ảnh khôi phục (checkpoint & recovery) Trong trình thực thi ứng dụng, hệ thống định kỳ lưu lại trạng thái chương trình, để có cố xảy chương trình thực thi từ vị trí lưu thay thực thi lại từ đầu Hai loại ứng dụng tập trung nghiên cứu để tăng cường khả chịu lỗi chương trình có trình chương trình song song dạng truyền thông điệp theo chuẩn MPI, PVM Đây dạng ứng dụng phổ biến hai loại chương trình hỗ trợ Supernode II 4.1.1 Lưu ảnh khơi phục q trình Hiện có nhiều cơng cụ cho phép lưu ảnh khơi phục chương trình gồm q trình Tuy nhiên hạn chế thư viện chưa thực tốt lưu ảnh file Trong file thường sử dụng để cung cấp thơng tin nhập/xuất chương trình ứng dụng Không thực tốt lưu ảnh file làm cho lớp tốn có khả chịu lỗi nhỏ nhiều Chính phát triển chế đảm bảo lưu khôi phục lại nội dung file hướng ưu tiên để phát triển công cụ lưu ảnh khơi phục q trình, tích hợp vào phần mềm hệ thống 4.1.2 Lưu ảnh khôi phục chương trình MPI PVM Đặc điểm chương trình MPI PVM trạng thái chương trình bao gồm trạng thái kênh truyền Chính thực checkpoint chương trình MPI PVM bên cạnh việc lưu lại trạng thái trình (có thể dùng cơng cụ lưu ảnh q trình) cần xây dựng phương pháp lấy trạng thái kênh truyền cách quán [2] Xây dựng cơng cụ để lưu ảnh chương trình song song MPI PVM có kết bước đầu Để hướng tới xây dựng công cụ lưu ảnh khơi phục với phí tổn thấp, khơng gây ảnh hưởng đến thực thi bình thường ứng dụng, giảm thiểu cần thiết phải can thiệp người sử dụng… cần nhiều đầu tư nghiên cứu 4.2 Cải tiến giải thuật định thời Giải thuật định thời dành riêng cho công việc không hạn cuối Tuy nhiên, thực tế, ứng dụng thường địi hỏi phải hồn thành khoảng thời gian xác định Vì vậy, tương lai giải thuật định thời cải tiến để hỗ trợ cơng việc có hạn cuối Ngoài ra, giải thuật chưa quan tâm đến sách định thời phân biệt thời điểm định thời, ưu tiên người sử dụng… Do đó, tới nhóm tìm hiểu định sách định thời hợp lí để áp dụng việc cải tiến giải thuật định thời 4.3 Tích hợp vào hệ thống Grid Tính tốn lưới (Grid computing) dần phát triển xem giai đoạn phát triển hệ thống phân bố (distributed computing) Grid cho phép chia sẻ tài ngun tính tốn (khả tính tốn), thơng tin tổ chức với cách hiệu quả, an toàn theo giao thức chuẩn Khả chia sẻ cho phép giải tốn tưởng chừng khơng thể giải hạn chế khả tính toán lượng liệu lớn Grid tận dụng tài ngun tính tốn mà chưa khai thác triệt để Đã bắt đầu hình thành khái niệm hạ tầng tính tốn 58 Kỷ yếu Hội nghị Khoa học & Công nghệ lần thứ 9, ĐH Bách Khoa Tp HCM, Phân ban CNTT lưới (Grid infrastructure), mà việc sử dụng tài nguyên tính tốn, thơng tin… tiện lợi sử dụng mạng lưới điện Điểm mấu chốt Grid liên kết tài nguyên khác vào hệ thống qua chuẩn định Phần mềm hệ thống cho hệ thống tính tốn hiệu cao Supernode II cần có thay đổi, bổ sung phù hợp để gia nhập vào cộng đồng Grid KẾT LUẬN Xây dựng hệ thống cluster không đơn kết nối phần cứng máy tính với thơng qua mạng có tốc độ cao Khác biệt mạng máy tính cục hệ thống cluster với cluster người sử dụng thấy tồn hệ thống máy tính có sức mạnh lớn nhiều lần máy tính đơn Phần mềm hệ thống cho Supernode II với chức thiết kế cung cấp cho người sử dụng nhìn quán hệ thống Người sử dụng đăng ký, gửi yêu cầu thực thi công việc cho hệ thống, phần mềm hệ thống chịu trách nhiệm định thời, thực thi, giám sát công việc người sử dụng Các module quản lý tài nguyên, định thời phân bổ trình, giám sát hệ thống hệ quản lý người dùng thiết kế hướng tới mục tiêu cao để giúp sử dụng Supernode II cách hiệu Những thiết kế có tính mở nhằm cho phép nâng cấp tái cấu hình phù hợp với nhu cầu thực tế Bên cạnh việc thiết kế xây dựng phần mềm, đề tài hướng đến phát triển nghiên cứu học thuật scheduling, faulttolerant grid computing Xin chân thành cảm ơn đóng góp tất thành viên khác nhóm nghiên cứu xây dựng Supernode II: Lê Hoàng Anh, Trương Nghĩa An , Trần Anh Dũng, Trần Vũ Ngọc Tường, Trần Đình Tồn, Nguyễn Anh Dũng thành viên khác MỤC LỤC THAM KHẢO Brett Bode, David M Halstead, Ricky Kendall and Zhou Lei The Portable Batch 10 Scheduler and the Maui Scheduler on Linux Clusters In 4th Annual Linux Showcase and Conference, October 2000 E.N.Mootaz Elnozahy, Lorenzo Alvisi, YiMin Wang and David B.Johnson A survey of Rollback-Recovery Protocols in Message-Passing systems ACM Computing Surveys, Volume 34, Number 3, September 2002, pp 375-408 J Sherwani and N Ali, N Lotia, Z Hayat and R Buyya Libra: An Economy driven Job Scheduling System for Clusters Technical Report, The University of Melbourne, July 2002 Leyuan Shi and Sigurdur Olafsson Hybrid Equipartitioning Job Scheduling Policies for Parallel Computer Systems Proceedings of the 37th IEEE Conference on Decision and Control , Tampa, Florida, December 1998, pp 1704-1709 Sivarama P Dandamudi and Hai Yu Performance of Adaptive Space Sharing Processor Allocation Policies for Distributed-Memory Multicomputers Journal of Parallel Distributed Computing, Volume 58, 1999, pp 109-125 Thoai Nam, Tran Dinh Toan and Tran Vu Ngoc Tuong Resource Management and Scheduling on Supernode II School on Computational Sciences and Engineering: Theory and Applications, Hochiminh City, Vietnam, March 2005, pp 41-52 Thyagaraj Thanalapati and Sivarama Dandamudi An Efficient Adaptive Scheduling Scheme for Distributed Memory Multicomputers IEEE Transactions on Parallel and Distributed Systems, Volume 12, Issue 7, July 2001, pp 758-768 William Gropp, Ewing Lusk and Thomas Sterling Beowulf Cluster Computing with Linux The MIT Press, December 2003, ISBN:0262692929 Yuet-Ning Chan, Sivarama P Dandamudi and Shikharesh Majumdar Performance Comparison of Processor Scheduling Strategies in a Distributed-Memory Multicomputer System International Journal of Computers and Their Applications, Volume 9, Number 4, December 2002, pp 227-240 CCS Homepage URL: http://www.unipaderborn.de/pc2/projects/ccs 59 Kỷ yếu Hội nghị Khoa học & Công nghệ lần thứ 9, ĐH Bách Khoa Tp HCM, Phân ban CNTT 11 Condor Project Homepage http://www.cs.wisc.edu/condor 12 PBS Hompage http://www.openpbs.org URL: URL: 13 Maui Cluster Scheduler Homepage URL : http://www.clusterresources.com/products/ maui 60

Ngày đăng: 18/10/2016, 08:14

Từ khóa liên quan

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

Tài liệu liên quan