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.
9 trang |
Chia sẻ: Thục Anh | Ngày: 12/05/2022 | Lượt xem: 461 | Lượt tải: 0
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:
- quan_ly_tai_nguyen_he_thong_tinh_toan_song_song_dua_tren_gan.pdf