Hệ thống song song phâm cụm Một hệ thống song song phân cụm/cục bộ với ý nghĩa là toàn bộ các thành phần hệ thống nằm trong một khu vực địa lý hẹp thường là 1 phòng và được quản lý tậ
Trang 2Lưu ý của tác giả
Không được tự ý sao chép hay quảng bá bài giảng này khi chưa được sự đồng ý của các tác giả
Địa chỉ liên hệ của các tác giả:
Nguyễn Phú Bình
Email: ngphubinh@yahoo.com Mobile: 0983533925
Website: http://phubinh.vicosoft.com/ktmt
Trần Trung Kiên
Email: trankien_bk@yahoo.com Mobile: 0914919392
Bộ môn Kỹ thuật Máy tính
Khoa Công nghệ Thông tin Trường Đại học Bách Khoa Hà Nội C1- P322, Tel: 8696125
Website: http://ktmt.shorturl.com
Trang 3Kiến trúc các hệ thống tính toán
Chương 4
Hệ thống song song phân cụm và
Tính toán lưới
( Cluster and Grid Cumputing)
Nguyễn Phú Bình – Trần Trung Kiên
Bộ môn Kỹ thuật Máy tính, Khoa Công nghệ Thông tin
Trang 4Nội dung chương 4
4.1 Hệ thống song song phâm cụm (Cluster)
4.2 Tính toán lưới ( Grid Computing)
4.3 Ứng dụng hệ thống song song trong mô hình lưới
Trang 54.1 Hệ thống song song phâm cụm
1 Giới thiệu về Cluster:
Một hệ thống tính toán song song phân cụm
(Cluster/bó) là một hệ thống máy tính cục bộ bao gồm một tập các máy tính độc lập và một mạng liên kết giữa các máy tính
Trang 64.1 Hệ thống song song phâm cụm
Một hệ thống song song phân cụm/cục bộ với ý nghĩa
là toàn bộ các thành phần hệ thống nằm trong một khu vực địa lý hẹp (thường là 1 phòng) và được quản lý tập trung như là một hệ thống thống nhất
Các nút trong hệ bó có thể là sự kết hợp của các máy tính đơn bộ xử lý với các máy nhiều bộ xử lý
(SMP - symmertric multiprocesor
Trang 74.1 Hệ thống song song phâm cụm
Ưu điểm lớn nhất của hệ thống này là giá thành của hệ thống nhỏ hơn so với các hệ thống sever tương ứng
khác Cùng với sự phát triển nhanh chóng của máy
tính cá nhân (PC), hiện nay một hệ thống dựa trên
công nghệ LAN và PC có thể đạt được hiệu năng đến vài chục thậm chí là vài trăm Gigaflops trong khi giá
thành lại rẻ hơn rất nhiều so với các siêu máy tính.
Ưu điểm thứ hai của hệ thống bó là sự linh hoạt của cấu hình Số lượng nút, dung lượng bộ nhớ trên mỗi
nút, số lượng bộ xử lý trên mỗi nút, và cấu hình mạng
và hàng loạt các tham số khác đều mang tính tuỳ biến
Trang 84.1 Hệ thống song song phâm cụm
2 Các thành phần phần cứng:
Các thiết bị phần cứng của nút tính toán:
Một nút tính toán phải cung cấp chức năng tính toán
và
chức năng lưu trữ dữ liệu
Các thiết bị mạng :
Công nghệ mạng thường được sử dụng trong hệ thống //
phân cụm là LAN và SAN (System Area Network)
LAN chỉ cho phép tạo nên một hệ thống có bộ nhớ phân tán
SAN lại hỗ trợ bộ nhớ phân tán chia xẻ (distributed shared
memory) cho phép tổ chức một bộ nhớ logic chia xẻ trong khi
bộ nhớ vật lý phân tán trên các nút
Giá cả của các thiết bị SAN đắt hơn LAN rất nhiều
Trang 94.1 Hệ thống song song phâm cụm
3 Các thành phần phần mềm:
Thư viện và môi trường lập trình
Các phần mềm quản lý tài nguyên và phân tải
Trang 104.1 Hệ thống song song phâm cụm
Thư viện và môi trường lập trình:
Lập trình song song trong các hệ thống tính toán bó là phức tạp hơn các hệ thống máy tính khác
Hệ thống tính toán có bộ nhớ phân tán, do vậy truyền thông giữa các nút trong quá trình tính toán thường là truyền thông điệp
Các thư viện truyền thông điệp dành cho hệ thống bó hiện nay có thể kể đến là: MPI, PVM, Active Message
và CMMD (Connected Machine Message )
MPI với nhiều ưu điểm có thể coi là sự lựa chọn tốt cho các hệ thống tính toán bó ®
Trang 114.1 Hệ thống song song phâm cụm
Thư viện và môi trường lập trình (…):
Khi các nút mạng trong hệ thống tính toán bó không chỉ
là các máy tính đơn bộ xử lý mà có cả các máy tình
nhiều bộ xử lý với bộ nhớ chia xẻ thì cần có sự kết hợp giữa mô hình bộ nhớ chia xẻ và mô hình truyền thông điệp
Thư viện mã nguồn mở OpenMP là một thư viện thích hợp để tạo ra các chưưong trình song song như vậy.
Trang 124.1 Hệ thống song song phâm cụm
Thư viện và môi trường lập trình (…):
Một trong những thành phần quan trọng của các
chương trình tính toán song song là các giải thuật song song
Hiện nay, các thư viện giải thuật song song rất sẵn
dùng và hầu hết là mã nguồn mở
Chúng là kết quả của các đề tài nghiện cứu trong các trường đại học, các viện ngiên cứu trên toàn thế giới Các thư viện có thể kể đến là: LAPACK, BLAS,
ARPACK, ScaLAPACK, PETSc, hypre, LINPACK…
Trang 134.1 Hệ thống song song phâm cụm
Các phần mềm quản lý tài nguyên và phân tải:
Thư viện và các ngôn ngữ lập trình song song tạo cho người lập trình môi trường lập trình.
Phần mềm quản lý tài nguyên và phân tải lại tạo ra một môi trường tính toán hiệu quả và ổn định.
Phân tải là việc phân bổ các tiến trình tính toán trên tài
nguyên hệ thống sao cho hiệu năng hoạt động của hệ thống là tối ưu.
Trang 144.1 Hệ thống song song phâm cụm
Các phần mềm quản lý tài nguyên và phân tải(…):
PBS (Portable Batch System) :
Hệ thống phân tải và quản lý tài nguyên rất mạnh do NASA
phát triển
Tiếp nhận các công việc (job) từ người sử dụng,
Bảo vệ công việc đó cho đến khi nó được thực hiện,
Thực hiện công việc và trả lại kết quả cho người sử dụng
Trang 154.1 Hệ thống song song phâm cụm
Các phần mềm quản lý tài nguyên và phân tải(…):
Trang 164.1 Hệ thống song song phâm cụm
Các phần mềm quản lý tài nguyên và phân tải(…):
Trang 174.1 Hệ thống song song phâm cụm
4 Hệ thống quản lý tài nguyên và phân tải PBS:
PBS hiện nay đã trở thành một hệ phân tải hàng đầu trong các siêu máy tính và trở thành chuẩn cho các hệ thống bó trên Linux.
PBS cung cấp rất nhiều chức năng và lợi ích cho các
hệ thống tính toán hiệu năng cao
Một số chức năng quan trọng nhất của PBS:
Chia sẻ tài nguyên :cung cấp một cơ chế lập lịch cho các
công việc một cách trong suốt, bởi bất kỳ người sử dụng nào
có đủ thẩm quyền Công việc có thể được yêu cầu từ một máy client bất kỳ, cục bộ hay từ xa
Trang 184.1 Hệ thống song song phâm cụm
Một số chức năng quan trọng nhất của PBS(…):
Giao diện: đồ hoạ hoặc chế độ tương tác (interactive); PBS
cũng hỗ trợ giao diện sử dụng chế độ dòng lệnh cho những người sử dụng chuyên nghiệp
Cơ chế bảo mật cho phép quản trị thiết lập hoặc huỷ bỏ việc
truy cập đến PBS của một người sử dụng, một nhóm người, một máy hoặc một mạng nào đó
Nhật ký cho phép ghi lại tất cả các hoạt động trên của hệ
thống theo từng người, từng nhóm người hoặc từng máy
Tự động chuyển tệp là cơ chế sao chép các tệp cần thiết
cho việc thực hiện một công việc trên các máy trạm tính toán Các tệp cần chuyển có thể là các tệp dữ liệu hoặc các tệp
thực thi
Trang 194.1 Hệ thống song song phâm cụm
Một số chức năng quan trọng nhất của PBS(…):
Hỗ trợ các công việc song song cho phép hoạt động cùng
với các thư viện lập trình song song như MPI, PVM và HPF Các chương trình có thể được lập lịch để chạy trên các hệ đa
bộ xử lý hoặc trên các hệ thống đa máy tính
Hỗ trợ tính toán lưới: cung cấp công nghệ siêu tính toán
(meta-computing) và tính toán lưới, bao gồm việc hỗ trợ cho GGT (Globus Grid Toolkit) ®
Tự động phân tải là cơ chế cho phép phân tải các công việc
trên các tài nguyên của hệ thống
Hỗ trợ nhiều hệ thống máy tính và nhiều hệ điều hành:
Linux, Unix, Solaris,…
Trang 204.1 Hệ thống song song phâm cụm
PBS bao gồm 3 thành phần chính là:
Module quản lý công việc (PBS Server)
Module thực thi công việc (PBS Mom)
Module lập lịch (PBS Scheduler)
Trang 214.1 Hệ thống song song phâm cụm
Module quản lý công việc (PBS Server):
Là thành phần trung tâm của PBS
Tất cả các thành phần khác của PBS giao tiếp với mô đun
quản lý công việc này
Chức năng của mô đun quản lý công việc là cung cấp các
dịch vụ như:
-Nhận các công việc lô (batch job),
-Chuyển đổi các các công việc giữa các máy,
-Bảo vệ công việc khi có sự cố hệ thống và thực hiện công
việc (chuyển công việc cho mô đun thực thi công việc)
Module này quản lý một hoặc nhiều hàng đợi công việc
(queue), một công việc phải thuộc vào một hàng đợi Các
hàng đợi được server quản lý bởi một tập thuộc tính như kiểu,
Trang 224.1 Hệ thống song song phâm cụm
Mô đun thực hiện công việc (PBS Mom) :
Được chia nhỏ thành hai phần chức năng sau:
Job Executor (JE):
- Là tiến trình ngầm chịu trách nhiệm thực thi công việc
- JE nhận một bản copy công việc từ Server,
Trang 234.1 Hệ thống song song phâm cụm
Mô-đun lập lịch ( PBS Scheduler) :
Là thành phần chịu trách nhiệm lập lịch xem công việc nào sẽ được thực hiện và công việc đó sẽ được thực hiện trên tài nguyên nào
PBS Scheduler giao tiếp với với các RM trong thành phần thực hiện công việc (MOM) của các máy để lấy về thông tin trạng thái tại các máy đó
Trang 244.1 Hệ thống song song phâm cụm
Đệ trình công việc trong PBS
Người sử dụng có thể thực hiện lệnh trực tiếp trên màn hình console để truyền công việc và các yêu cầu của mình tới Server
Các shell chuẩn của linux có thể giúp ta biên dịch mã lệnh để thực hiện các job Sau đây là một ví dụ dùng Bourne Shell (sh)
Trang 254.1 Hệ thống song song phâm cụm
Ý nghĩa của các lệnh này như sau:
Lệnh 1: Cố định cho mọi shell script Nó chỉ ra shell nào sẽ được sử
dụng để thực hiện script
Lệnh 2 đến 4: chỉ ra các yêu cầu tài nguyên sau “-l” Cụ thể là yêu
cầu 1 giờ walltime, 400 mb bộ nhớ và 4 CPU.
Lệnh 5: nó yêu cầu PBS hợp nhất các luồng ra stdout và stderr vào
một luồng duy nhất (“-j oe”)
Trang 264.1 Hệ thống song song phâm cụm
Tương tác giữa các thành phần của OpenPBS:
Trang 274.1 Hệ thống song song phâm cụm
1 Sự kiện kích hoạt mô đun quản lý công việc bắt đầu
một vòng lập lịch (khi người dùng yêu cầu thực thi
công việc).
2 Mô đun quản lý công việc gửi lệnh lập lịch cho bộ lập
lịch.
3 Mô đun lập lịch yêu cầu thông tin về tài nguyên từ mô
đun quản lý tài nguyên.
4 Mô đun quản lý tài nguyên trả về các thông tin yêu
cầu.
Trang 284.1 Hệ thống song song phâm cụm
Trang 294.1 Hệ thống song song phâm cụm
5 Bộ lập lịch yêu cầu các thông tin từ mô đun quản lý
công việc.
6 Mô đun quản lý công việc gửi thông tin trạng thái của
các công việc tới bộ lập lịch, bộ lập lịch đưa ra chính sách quyết định việc thực hiện công việc.
7 Bộ lập lịch gửi yêu cầu thực hiện công việc đến mô
đun quản lý công việc.
8 Mô đun quản lý công việc gửi công việc đến các mô
đun thực thi công việc để thực hiện.
Trang 304.1 Hệ thống song song phâm cụm
5 Phương pháp đánh giá hiệu năng một hệ thống xử
lý song song:
Bước đầu tiên trong việc đánh giá hiệu năng một hệ
thống xử lý song song là đánh giá được hiệu năng của những thành phần căn bản của hệ thống đó
Việc đánh giá này thường được tiến hành qua việc sử dụng các chương trình đặc biệt gọi là hệ đo hiệu năng
cơ sở
Trang 314.1 Hệ thống song song phâm cụm
Có năm hệ đo hiệu năng cơ sở được dùng trong hệ
thống xử lý song song:
Hệ đo năng lực xử lý dùng để đo hiệu năng của bộ vi xử lý
khi thực hiện các tính toán mà không truy nhập bộ nhớ như các phép tính số học, các phép tính logic và các phép rẽ
nhánh
Hệ đo hiệu năng bộ nhớ cục bộ dùng xác định tổ chức, độ
trễ, và băng thông của bộ nhớ trong nội bộ nút Điều này
được thực hiện qua việc đo thời gian của các thao tác đọc vàviết thoả mãn các cấp độ khác nhau
Trang 324.1 Hệ thống song song phâm cụm
Hệ đo hiệu năng vào – ra đo đạc các tính chất của các thao
tác vào - ra ví dụ như đọc, ghi đĩa với nhiều tần số và độ dài khác nhau
Hệ đo hiệu năng truyền thông đo đạc hiệu năng truyền
thông qua các thao tác như gửi và nhận thông điệp hay ghi và đọc từ xa với các loại dữ liệu khác nhau
Hệ đo hiệu năng đồng bộ đo dạc hiệu năng của các loại
đồng bộ khác nhau được cung cấp bởi hệ thống như khoá,
hàng rào
Trang 334.1 Hệ thống song song phâm cụm
Bước tiếp theo là đánh giá hệ thống với các tải tương
tải nhiều chương trình.
Mỗi loại tải đều có vai trò riêng cùng với các thuận tiện và bất tiện riêng
Trang 344.1 Hệ thống song song phâm cụm
Hạt nhân :
Được định nghĩa là một phần của một ứng dụng thực tiễn
nhưng chưa phải là một ứng dụng hoàn chỉnh
Có thể là các hạt nhân đơn giản như chuyển vị ma trận tới
phức tạp hơn như nhân ma trận
Trang 354.1 Hệ thống song song phâm cụm
Tải đa chương trình:
Bao gồm nhiều chương trình tuần tự và chương trình song song chạy đồng thời trên hệ thống
Các ứng dụng này có thể chạy theo kiểu chia sẻ thời gian hay chia sẻ không gian tuỳ theo hệ điều hành
Khi sử dụng tải đa chương trình ta có một bức tranh thực tế
về hệ thống Rất nhiều lỗi cũng như vấn đề về hiệu năng
không được đề cập tới trong hệ đo hiệu năng cơ sở hay thậm chí cả hạt nhân sẽ được khám phá
Trang 364.2 Tính toán lưới ( Grid Computing)
4.1 Hệ thống song song phâm cụm (Cluster)
4.2 Tính toán lưới ( Grid Computing)
4.3 Ứng dụng hệ thống song song trong mô hình lưới
Trang 374.2 Tính toán lưới ( Grid Computing)
1 Giới thiệu về tính toán lưới (Grid Computing):
Có rất nhiều định nghĩa về tính toán lưới, một trong số
đó định nghĩa tính toán lưới như một mô hình tính
toán phân tán trải rộng trên các tài nguyên thuộc cùng một tổ chức ảo (Virtual Organization – VO)
Một tổ chức ảo (VO) là một tập các cá nhân hoặc các
tổ chức phân tán về mặt địa lý, các tổ chức này có
nguồn tài nguyên được chia sẻ theo các chính sách
mà các thành viên của tổ chức đề ra.
Trang 384.2 Tính toán lưới ( Grid Computing)
Công nghệ lưới cho phép chia sẻ, chọn lựa hay kết
hợp giữa các nguồn tài nguyên vô cùng phong phú đó
để giải quyết các vấn đề có độ phức tạp lớn về tính
toán và dữ liệu
Các tài nguyên được chia sẻ bao gồm các máy tính
đơn lẻ, Cluster, siêu máy tính, các hệ thống lưu trữ, dữ liệu, thậm chí có thể là các phần mềm đắt tiền
Trang 394.2 Tính toán lưới ( Grid Computing)
Trong giai đoạn đang phát triển của công nghệ lưới,
chúng ta được biết có rất nhiều dự án về lưới và một loạt các hệ thống lưới đã ra đời:
lưới tính toán (Compute Grids),
lưới dữ liệu (Data Grids),
lưới truy cập (Access Grids),
lưới về các vấn đề khai phá tri thức (Knowledge Grids)
lưới phục vụ trong sinh học (Bio Grids),
lưới gồm các Cluster (Cluster Grids)…
Vậy như thế nào được gọi là một Grid ?
Trang 404.2 Tính toán lưới ( Grid Computing)
Ian Foster đã đưa ra 3 đặc điểm cơ bản của một Grid:
Grid có thể định vị nguồn tài nguyên và người sử dụng
trong các môi trường khác nhau
Grid được xây dựng từ các phương thức chuẩn và mở
Grid có khả năng cung cấp cho người sử dụng những
dịch vụ có chất lượng cao.
Trang 414.2 Tính toán lưới ( Grid Computing)
2 Kiến trúc chung của lưới
Trang 42Kiến trúc chung của lưới
Fabric Layer.
Bao gồm các tài nguyên cục bộ phân tán trên mạng
Các tài nguyên này có thể là các hệ thống máy tính khác
nhau( PCs hoặc các máy đa bộ xử lý đối xứng- Symmetric
Multi Processors) chạy trên nhiều hệ điều hành khác nhau ( Unix hoặc Window)
Các tài nguyên này cũng có thể là các hệ thống lưu trữ, cơ sở
dữ liệu, thiết bị đặc biệt hay các phần mềm đắt tiền
Trang 43Kiến trúc chung của lưới
Trang 44Kiến trúc chung của lưới
Core Grid Middleware Layer:
Tầng này cung cấp các dịch vụ nền tảng như: dịch vụ bảo
mật, dịch vụ quản lý tiến trình từ xa, dịch vụ truy cập các kho
dữ liệu, dịch vụ về thông tin của lưới
Các yếu tố liên quan tới chất lượng dịch vụ ( Quality of
Service-QoS) cũng được đưa vào tầng này
Có thể nói, đây là tầng quan trọng nhất, là cầu nối để các tài nguyên nội bộ nằm phân tán trên mạng có thể kết hợp với
nhau tạo thành một lưới
Các bộ công cụ phổ biến, tương ứng với tầng này như :
Globus, Cosm, Gridbus, JXTA, Legion
Trang 45Kiến trúc chung của lưới