Quản lý tài nguyên hệ thống tính toán song song dựa trên Ganglia

Quản lý luôn luôn là một lĩnh vực rất cần thiết và khá phức tạp trong hầu hết tất

cả các tổ chức và các hệ thống, đối với một máy tính cũng như vậy. Bình thường trong một máy

tính đơn lẻ, hệ điều hành có vai trò quản lý mọi hoạt động trong hệ thống, quản lý tất cả các tài

nguyên của hệ thống. Nhưng vấn đề không đơn giản đối với nhiệm vụ quản lý trong một hệ

thống máy tính lớn. Ngày nay, rất nhiều các hệ thống máy tính hiệu năng cao, nhất là các hệ

thống tính toán song song phân cụm đã và đang được sử dụng và phát triển rộng rãi xuất phát

từ nhu cầu tính toán ngày càng tăng và lợi thế về giá cả khi tận dụng được những máy tính

riêng lẻ. Nội dung báo cáo này sẽ trình bày về vấn đề quản lý tài nguyên trong hệ thống tính

toán song song Cluster dựa trên Ganglia.

pdf9 trang | Chia sẻ: Thục Anh | Ngày: 12/05/2022 | Lượt xem: 362 | Lượt tải: 0download
Nội dung tài liệu Quản lý tài nguyên hệ thống tính toán song song dựa trên Ganglia, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
160 QUẢN LÝ TÀI NGUYÊN HỆ THỐNG TÍNH TOÁN SONG SONG DỰA TRÊN GANGLIA Đỗ Thị Phương Thảo Trường Đại học Hà Nội Tóm tắt: Quản lý luôn luôn là một lĩnh vực rất cần thiết và khá phức tạp trong hầu hết tất cả các tổ chức và các hệ thống, đối với một máy tính cũng như vậy. Bình thường trong một máy tính đơn lẻ, hệ điều hành có vai trò quản lý mọi hoạt động trong hệ thống, quản lý tất cả các tài nguyên của hệ thống. Nhưng vấn đề không đơn giản đối với nhiệm vụ quản lý trong một hệ thống máy tính lớn. Ngày nay, rất nhiều các hệ thống máy tính hiệu năng cao, nhất là các hệ thống tính toán song song phân cụm đã và đang được sử dụng và phát triển rộng rãi xuất phát từ nhu cầu tính toán ngày càng tăng và lợi thế về giá cả khi tận dụng được những máy tính riêng lẻ. Nội dung báo cáo này sẽ trình bày về vấn đề quản lý tài nguyên trong hệ thống tính toán song song Cluster dựa trên Ganglia. Từ khóa: Cluster, quản lý tài nguyên, tính toán song song. I. MỞ ĐẦU Tính toán song song là một bước phát triển của tính toán tuần tự. Một bài toán được xử lý song song tức là bài toán này sẽ được phân rã thành nhiều nhiệm vụ nhỏ, một số các nhiệm vụ nhỏ sẽ được xử lý đồng thời để giảm thời gian giải quyết bài toán so với cách làm tuần tự thông thường. Để thực hiện được việc này cần có một hệ thống tính toán song song hiệu năng cao, tin cậy. Có nhiều mô hình được đưa ra nghiên cứu và phát triển, trong số đó mô hình tính toán song song phân cụm [1] được đánh giá là có tính khả thi cao nhất tại các nước đang phát triển như Việt Nam. Một hệ thống phân cụm là tập hợp nhiều máy tính riêng lẻ được liên kết với nhau thông qua một mạng tốc độ cao (hình 1). Ưu điểm lớn nhất của mô hình này là giá rẻ, ngoài ra mô hình này rất dễ triển khai trên cơ sở những máy tính riêng lẻ sẵn có và những thiết bị mạng LAN vẫn thường được sử dụng. Do tính dễ thay thế, dễ nâng cấp nên các hệ thống này đang ngày càng được áp dụng tại nhiều trung tâm và viện nghiên cứu trên thế giới. Báo cáo này trình bày về các kết quả thu được từ việc xây dưng công cụ quản lý tài nguyên trong hệ thống tính toán song song phân cụm; Những vấn đề liên quan đến quản lý tài nguyên hệ thống tính toán phân cụm và chức năng chính của một công cụ quản lý tài; kiến trúc và hoạt động của công cụ quản lý tài nguyên này; đánh giá về những kết quả đã đạt được, phương hướng tiếp tục phát triển của công cụ này. II. CHỨC NĂNG CHÍNH CỦA MỘT CÔNG CỤ QUẢN LÝ TÀI NGUYÊN HỆ THỐNG TÍNH TOÁN SONG SONG PHÂN CỤM 1. Khó khăn và thách thức trong quản lý tài nguyên hệ thống tính toán song song phân cụm 161 Bất kì một hệ điều hành nào cũng có chức năng quản lý tài nguyên. Tuy nhiên, khả năng của hệ điều hành lại chỉ hạn chế trong phạm vi của một máy tính, chưa có một hệ điều hành nào có khả năng quản lý cả một hệ thống máy tính. Với một hệ thống tính toán song song Cluster lớn dùng hệ điều hành Linux thì công việc quản trị hệ thống, nhất là công việc quản lý tài nguyên có vai trò rất quan trọng trong việc duy trì khả năng làm việc ổn định, tin cậy và hiệu quả cao nhất của hệ thống. Nhưng chính vì tính toán song song là một hướng đi mới nên chưa có một công cụ chuyên dụng, dễ sử dụng có chức năng quản lý tài nguyên toàn hệ thống. Hiện nay những người quản trị thường phải quản lý tài nguyên hệ thống phân cụm theo cách rất thủ công: dùng màn hình console và các chức năng theo dõi có sẵn của Linux; cũng đã có một vài các công cụ quản lý tài nguyên hệ thống vừa cung cấp khả năng tương tác dưới dạng console vừa cung cấp giao diện Web [2],[3],[4] nhưng nói chung là giao diện sử dụng phân tán, không tập trung. Hình 1: Mô hình tính toán song song phân cụm Hơn nữa, khó khăn thứ hai do đặc điểm hệ thống tính toán phân cụm là hệ thống gồm nhiều máy tính riêng lẻ được kết nối với nhau thông qua một mạng tốc độ cao (Hình 1), do đó tài nguyên hệ thống có những đặc điểm riêng biệt sau [5] : Tài nguyên của hệ thống rất đa dạng, nhiều và phong phú. Tài nguyên (kể cả tài nguyên vật lý và logic) được phân tán tại các nút khác nhau của hệ thống. Các tài nguyên của một nút tính toán có thể được sử dụng độc lập như một máy tính riêng lẻ nếu chúng ta không trang bị cho nút này các nền tảng của tính toán song song. Trong hệ thống tính toán phân cụm, các nút có thể gặp sự cố ở bất kì thời điểm nào, cần thiết phải triển khai hệ thống sao cho sự cố ở một nút tính toán không làm rối loạn hoạt động của các nút khác cũng như của toàn bộ hệ thống. Chính những đặc điểm này càng cho thấy sự cần thiết của một công cụ quản lý tài nguyên, công cụ này sẽ giúp quản lý cả hệ thống phân cụm như là một thực thể duy nhất. Từ nhu cầu và khó khăn trong việc quản lý tài nguyên đó, một công cụ quản lý tài 162 nguyên hệ thống phân cụm mới được quyết định xây dựng. Công cụ này sẽ có giao diện ứng dụng, thân thiện với người sử dụng, không chỉ riêng với những người quản trị hệ thống mà cả với những người dùng thông thường có ít kiến thức chuyên môn về tin học. 2. Chức năng của một công cụ quản lý tài nguyên hệ thống tính toán song song phân cụm Công cụ quản lý tài nguyên hệ thống tính toán song song phân cụm bao gồm ba chức năng chính như sau : - Quản lý tài nguyên tại các nút tính toán. - Quản lý mạng liên kết trong hệ thống phân cụm. - Đánh giá hiệu năng của hệ thống. Quản lý tài nguyên tại các nút tính toán Chức năng đầu tiên cũng là chức năng quan trọng nhất của một công cụ quản lý tài nguyên hệ thống tính toán song song phân cụm là quản lý các nút tính toán trong hệ thống. Các thông tin chính cần phải quản lý là: - Tổng số nút trong hệ thống, số nút đang chạy và số nút tắt. - Trạng thái tắt/bật của nút tính toán. - Tài nguyên bộ nhớ của nút (dung lượng bộ nhớ đã sử dụng, còn trống, dung lượng bộ nhớ sử dụng bởi hệ thống, bởi người sử dụng) - Tài nguyên CPU của nút tính toán (phần trăm CPU đã sử dụng, còn trống, CPU system, CPU Idle, CPU aidle) - Tài nguyên lưu trữ (dung lượng ổ đĩa đã sử dụng, còn trống). - Tải hệ thống của nút. Quản lý mạng liên kết trong hệ thống Mạng liên kết là một thành phần không thể thiếu đối với một hệ thống tính toán phân cụm. Các công việc được thực hiện trên hệ thống luôn luôn đòi hỏi yêu cầu truyền thông rất nhiều, vì vậy quản lý trạng thái mạng liên kết sẽ đảm bảo cho hệ thống hoạt động tin cậy và ổn định. Thông tin được tập trung quản lý đối với hệ thống mạng là thông lượng mạng, trong đó tập trung chủ yếu quản lý số byte vào và ra giữa các nút trong hệ thống. Đánh giá hiệu năng hệ thống Hiệu năng hệ thống là một lĩnh vực đã được nghiên cứu nhiều trên thế giới và hiện nay có rất nhiều công cụ đo hiệu năng, ví dụ điển hình là NPB (NAS Parallel Benchmark). Đánh giá được hiệu năng giúp đánh giá được khả năng của hệ thống về mặt truyền thông và tính toán cũng như đánh giá sự tương thích giữa các thành phần phần cứng và phần mềm trong hệ thống. Các đối tượng đo hiệu năng thường là: 163 - Hiệu năng tính toán. - Hiệu năng truyền thông. - Hiệu năng truy cập bộ nhớ trong. - Hiệu năng của các thư viện chương trình. - Hiệu năng truy cập bộ nhớ ngoài. III. KIẾN TRÚC VÀ HOẠT ĐỘNG CỦA CÔNG CỤ QUẢN LÝ TÀI NGUYÊN HỆ THỐNG TÍNH TOÁN PHÂN CỤM 3.1 Kiến trúc thành phần Con đường nhanh nhất để xây dựng một hệ thống mới không phải là làm từ đầu mà phải biết kế thừa những cái sẵn có. Công cụ quản lý tài nguyên hệ thống tính toán song song phân cụm được phát triển dựa trên một phần mềm quản lý tài nguyên hệ thống phân tán mã nguồn mở Ganglia. Kiến trúc của công cụ quản lý tài nguyên hệ thống phân cụm bao gồm sáu thành phần thuộc ba tầng chính của hệ thống như mô tả trong hình 2: Tầng lõi, Tầng dịch vụ và Tầng ứng dụng. Bốn thành phần dưới cùng là những thành phần sẵn có [8] được coi là nền tảng để xây dựng một công cụ mới quản lý tài nguyên. Hai thành phần trên cùng được xây dựng nhằm hướng tới người sử dụng, cung cấp một giao diện ứng dụng đồ họa trực quan, giúp cho người dùng có thể nhanh chóng thấy được trạng thái của cả hệ thống phân cụm cũng như tình trạng của từng nút tính toán trong hệ thống. Hình 2: Kiến trúc công cụ quản lý tài nguyên hệ thống tính toán song song phân cụm Tầng lõi Tầng thấp nhất này có 2 thành phần, đó là nhân Linux và gmond - một tiến trình ngầm của phần mềm quản lý tài nguyên hệ thống phân tán Ganglia. Tầng này được cài đặt tại tất cả các nút của hệ thống. 164 • Kernel Linux: Tất cả các nút tính toán trong hệ thống đều dùng hệ điều hành Linux. • Gmond chạy tại các nút tính toán, đây thực chất là một tiến trình ngầm có nhiệm vụ thu thập các thông tin về trạng thái tài nguyên tại các nút tính toán này rồi gửi các thông tin này dưới dạng XML ra một cổng nào đó để thành phần khác có thể đọc và sử dụng các thông tin này. Tầng dịch vụ Tầng ở giữa có hai thành phần chính: tiến trình ngầm gmetad của Ganglia, tiến trình ngầm tên là server, ngoài ra còn thành phần cơ sở dữ liệu Round Robin. • Gmetad: Đây là một tiến trình ngầm của Ganglia. Thành phần này chạy tại nút chủ của hệ thống có nhiệm vụ thu thập thông tin của tất cả các gmond tại các nút tính toán. Do đó có thể nói thông tin của gmetad là thông tin về toàn bộ hệ thống. Thông tin này được gửi cho thành phần server phía trên và được lưu trong cơ sơ dữ liệu Round Robin. • Round Robin Database: Các thông tin về tài nguyên các nút trong hệ thống được lưu trữ dưới dạng cơ sở dữ liệu Round Robin. Phần mềm quản lý cơ sở dữ liệu này là RRDTool (Round Robin Database Tool). Đây là cơ sở dữ liệu lưu các giá trị của một hoặc nhiều đại lượng biến đổi theo thời gian, ví dụ như thông lượng mạng trung bình sau mỗi 5 giây, phần trăm sử dụng bộ vi xử lý của máy tính, dung lượng bộ nhớ còn trống Cơ sở dữ liệu này gồm hai thành phần: đó là các phần tử dữ liệu và một con trỏ trỏ tới phần tử hiện hành. Có thể hình dung như một hình tròn có các điểm phân bố đều trên đường biên của nó, các điểm này chính là nơi mà dữ liệu được lưu trữ. Kẻ một bán kính từ tâm tới các điểm này ta sẽ có con trỏ. Mỗi khi các dữ liệu được đọc hoặc ghi, con trỏ sẽ di chuyển đến phần tử tiếp theo. Và bởi vì chúng ta đang trên một đường tròn nên không có điểm khởi đầu cũng không có điểm kết thúc. Sau một khoảng thời gian tất cả các phần tử trên biên của hình tròn đều được sử dụng hết, các vị trí cũ sẽ được tái sử dụng một các tự động. Chính vì thế nên kích thước của cơ sở dữ liệu không bị phình ra theo thời gian. Một tiện ích khác của RRDTool là khả năng tạo ra các biểu đồ từ các giá trị lưu trong cơ sở dữ liệu Round Robin. Do đó chúng ta có thể dễ dàng theo dõi sự biến đổi của một hay nhiều đại lượng theo thời gian một cách trực quan nhất bằng hình ảnh. • Server: Đây cũng là một tiến trình ngầm đệm giữa gmetad và tầng trên cùng. Server lấy thông tin XML của tiến trình gmetad và gửi thông tin cũng dưới dạng XML cho tầng trên cùng. Sở dĩ cần phải có thành phần đệm này do dữ liệu XML của gmetad khá là lớn, trong trường hợp có nhiều kết nối yêu cầu từ phía máy khách client thì dữ liệu này sẽ chiếm một phần khá lớn băng thông của mạng liên kết. Server sau khi đọc thông tin của gmetad, tiến trình này chỉ phân tích lấy ra một số nhỏ các thông tin cần thiết gửi cho phía máy khách. Có thể nói thành phần này có vai trò như một server tiếp 165 nhận các yêu cầu từ tầng trên cùng vừa có vai trò như là một bộ lọc đệm giữa thành phần gmetad và tầng trên cùng của hệ thống. Tầng công cụ Tầng này chỉ có một thành phần là application. • Application: Đây là ứng dụng có giao diện đồ hoạ cho phép người sử dụng xem thông tin về hệ thống tính toán song song phân cụm. Thành phần này đọc dữ liệu XML do tiến trình server gửi lên, sau khi phân tích dữ liệu XML này, nó sẽ xác định được vị trí của cơ sở dữ liệu Round Robin. Cuối cùng, thành phần này sẽ truy cập vào cơ sở dữ liệu, dựa vào khả năng tạo ra các đồ thị của RRDTool để lấy các đồ thị này hiển thị lên giao diện cùng các thông tin cần thiết khác cho người sử dụng. 3.2 Cơ chế hoạt động của công cụ quản lý tài nguyên Cơ chế hoạt động của công cụ quản lý tài nguyên hệ thống tính toán song song phân cụm chia thành 7 bước, được minh hoạ bởi hình 3. Bước thứ nhất và bước 6 diễn ra giữa 2 tầng công cụ và dịch vụ. Bước 3 và 4 diễn ra giữa tầng dịch vụ và tầng lõi. Ba bước còn lại được thực hiện trong cùng một tầng dịch vụ. • Bước 1: Thành phần application kết nối với thành phần server của tầng dịch vụ và chờ tín hiệu sẵn sàng. • Bước 2: Thành phần server lại kết nối với thành phần gmetad và chờ tín hiệu sẵn sàng. • Bước 3: Thành phần gmetad của tầng dịch vụ kết nối với gmond thuộc tầng lõi và chờ tín hiệu sẵn sàng. • Bước 4: gmond thu thập thông tin về tài nguyên của từng nút, gửi những thông tin này cho tầng dịch vụ ở phía trên. Hình 3: Cơ chế hoạt động của công cụ quản lý tài nguyên hệ thống tính toán phân cụm 166 • Bước 5: gmetad tổng hợp các thông tin tài nguyên của tất cả các tiến trình gmonds để có thông tin về toàn thể hệ thống tính toán song song phân cụm, sau đó nó lưu các dữ liệu trong file cơ sở dữ liệu Round Robin .rrd và gửi thông tin cho thành phần server dưới dạng XML. • Bước 6: Server đọc dữ liệu XML được gửi bởi thành phần gmetad, phân tích và lọc lấy các dữ liệu cần thiết để gửi cho thành phần application của tầng cao nhất trong hệ thống cũng dưới định dạng XML. • Bước 7: Thành phần application đọc dữ liệu XML được gửi bởi thành phần server của tầng dịch vụ. Nó phân tích dữ liệu XML nhận được để có các thông tin cần thiết và xác định vị trí của các file cơ sở dữ liệu, đọc dữ liệu trong cơ sở dữ liệu, tạo các đồ thị, cuối cùng hiển thị các thông tin cần thiết và các đồ thị này lên giao diện người dùng. 3.3 Cài đặt Công cụ quản lý tài nguyên hệ thống tính toán song song phân cụm được xây dựng trên nền tảng là hệ điều hành Linux, sử dụng ngôn ngữ lập trình C++ và bộ thư viện lập trình Qt [6]. Bộ thư viện lập trình Qt hỗ trợ cho công việc lập trình đồ hoạ trên Linux, hơn nữa, Qt sử dụng cơ chế signal-slot để liên kết giữa các đối tượng. Cơ chế này có ưu điểm là tính linh động và mềm dẻo, cho phép liên kết các đối tượng thuộc nhiều dạng khác nhau. Các dữ liệu được trao đổi giữa các thành phần trong hệ thống tuân theo chuẩn XML [7]. Qt cũng có các lớp hỗ trợ rất tiện lợi cho công việc tạo, phân tích, gửi và nhận dữ liệu XML. IV. KẾT LUẬN Công cụ quản lý tài nguyên hệ thống tính toán song song được xây dựng bằng bộ thư viện Qt. Đây là bộ thư viện lập trình C++ cho phép người phát triển hệ thống dễ dàng trong việc viết các ứng dụng có giao diện đồ hoạ dưới hệ điều hành Linux và cả Windows. Có thể nói công cụ quản lý tài nguyên hệ thống phân cụm này là sự kết hợp khăng khít giữa khả năng lưu trữ và tạo hình ảnh của RRDTool và Qt để cung cấp những thông tin trực quan nhất về tài nguyên hệ thống cho người sử dụng. Các công cụ quản lý tài nguyên sẵn có đều là những công cụ riêng lẻ, còn công cụ mà chúng tôi xây dựng được tích hợp cùng với Ganglia. Người dùng có thể theo dõi hoạt động của hệ thống cũng như từng nút tính toán một cách linh động nhất để có thể ra những quyết định hợp lí khi làm việc trên hệ thống tính toán song song phân cụm. Công cụ đã phát triển được đánh giá là đáp ứng khá tốt những nhu cầu của người quản trị lẫn người dùng thông thường trong việc quản lý tài nguyên. Ngoài ra, qua thời gian thử nghiệm cho thấy công cụ này tích hợp, chạy rất tốt và ổn định, giao diện của chương trình rất trực quan và dễ sử dụng. Công cụ cũng cho phép quản lý hệ thống tính toán song song phân cụm theo hai mức: mức từng nút tính toán và mức toàn thể hệ thống phân cụm. 167 Mức từng nút tính toán Mức từng nút tính toán có thể xem thông tin chi tiết về số CPU, tốc độ CPU, hệ điều hành, bộ nhớ trong, bộ nhớ ngoài, về CPU, về tải của máy Các thông tin tĩnh được hiển thị dưới dạng kí tự (text), còn đa số các thông tin động về tài nguyên của từng nút tính toán được hiển thị dưới dạng đồ thị hình học. Hình 4: Quản lý theo mức từng nút tính toán Những đồ thị này cho chúng ta một cái nhìn trực quan hơn về trạng thái của các tài nguyên trong hệ thống tại thời điểm hiện tại cũng như trong quá khứ. Hình 4 minh hoạ giao diện của công cụ quản lý tài nguyên hệ thống tính toán phân cụm mức từng nút tính toán. Mức toàn thể hệ thống tính toán phân cụm Mức toàn thể hệ thống sẽ đưa ra tổng kết về tài nguyên chung của hệ thống ví dụ như tổng số nút tính toán trong hệ thống, số nút đang chạy, số nút tắt, tổng dung lượng bộ nhớ của hệ thống Cũng như mức từng nút tính toán, ở mức toàn thể hệ thống tính toán phân cụm, các thông tin tĩnh được hiển thị dưới dạng kí tự (text), còn hầu hết các thông tin động được hiển thị dưới dạng hình ảnh đồ hoạ. TÀI LIỆU THAM KHẢO/REFERENCES [1] A. Skjellum - MPI Software Technology, Inc. & Mississippi State University; R. Dimitrov, S. Angulari - MPI Software Technology, Inc.; D. Lifka, G. Coulouris - Cornell Theory Center; S. Scott - Oak Ridge National Laboratory, USA; P. Uthayopas - Kasetsart University, Bangkok, Thailand; R. Eskicioglu - University of Manitoba, Canada: “Systems Administration” [2] R. Flanery, A. Geist, B. Luethke, J. Schwidder, et S. Scott - Computer Science & Mathematics Division Oak Ridge National Laboratory Oak Ridge, TN 37830-6367 USA : “The Scalable System Administrator: via C3 & M3C Tools” [3] P. Uthayopas - Sompong Techarphonchai, Tawee Iam-ngamsup Parallel Research Group, CONSYL Department of Computer Engineering, Faculty of 168 Engineering, Kasetsart University, Bangkok, Thailand: “Visualizing a large scale beowulf cluster using web and vrml technology” [4] J. Ellsworth, P. Meehan, V. Benincosa, B. Potter: “Using IBM Cluster Systems Management (CSM) for Linux in xCAT Environments - White Paper” [5] C. Morin - IRISA/Université de Rennes 1 : “Gestion des ressources pour le calcul haute performance dans les grappes : état des lieux et perspectives” [6] “Qt 3.3 Whitepaper” [7] “XML” [8] “Ganglia”

Các file đính kèm theo tài liệu này:

  • pdfquan_ly_tai_nguyen_he_thong_tinh_toan_song_song_dua_tren_gan.pdf
Tài liệu liên quan