Tải bản đầy đủ
VÀ BẢO VỆ THÔNG TIN TRONG TÍNH TOÁN LƯỚI

VÀ BẢO VỆ THÔNG TIN TRONG TÍNH TOÁN LƯỚI

Tải bản đầy đủ

3

Định nghĩa của liên minh điện toán lưới: Môi trường tính toán lưới được
hiểu như một hạ tầng kết nối hệ thống máy tính, hệ thống mạng, hệ thống cơ sở dữ
liệu được sở hữu và quản lý bởi nhiều tổ chức, cá nhân nhằm cung cấp môi trường
tính toán ảo duy nhất với hiệu năng cao cho người sử dụng.
Trong luận văn sẽ không đưa ra định nghĩa nào, nhưng để có một cái nhìn
toàn diện về tính toán lưới, ta xem xét khái niệm tính toán lưới theo một số đặc
điểm chung sau:
- Kích thước lớn: Theo số lượng tài nguyên và khoảng cách địa lý giữa
chúng.
- Phân tán: Có độ trễ đáng kể trong truyền dữ liệu, tài nguyên trải dài trên
các vùng địa lý khác nhau.
- Động: Các tài nguyên có thể thay đổi khi ứng dụng đang được thực hiện.
- Hỗn tạp: Kiến trúc và tính chất của các nút lưới có thể là hoàn toàn khác
nhau. Tài nguyên lưới có thể là các máy đơn hoặc mạng con khác nhau.
- Vượt qua phạm vi một tổ chức: Có nhiều trạm và các chính sách truy nhập
có thể khác nhau trên các trạm, tổng thể lưới sẽ tạo ra một tổ chức ảo thống nhất.
Có thể hình dung đơn giản một lưới bao gồm một tập các tài nguyên đa dạng
(còn gọi là nút lưới có thể là PC, hệ thống lưu trữ….) thuộc về nhiều tổ chức khác
nhau nhằm giải quyết một bài toán nào đó.

Hình 1.1 Minh hoạ về tính toán lưới

4

1.1.2. Lợi ích của tính toán lưới
Những lợi ích mà tính toán lưới mang lại [8] bao gồm:
1.1.2.1. Khai thác những nguồn tài nguyên chưa được sử dụng đúng mức
Ứng dụng cơ bản nhất của tính toán lưới chính là chạy một ứng dụng hiện
hữu trên một máy tính khác. Công việc được yêu cầu có thể chạy trên một máy rỗi
đâu đó trong mạng lưới. Cần ít nhất hai điều kiện tiên quyết để thực hiện yêu cầu
này. Thứ nhất, ứng dụng phải có khả năng thực hiện từ xa; Thứ hai, máy từ xa phải
đáp ứng được những yêu cầu về phần cứng, phần mềm hoặc những yêu cầu về tài
nguyên khác cho ứng dụng.
Trong thực tế, các máy có thể để trống một dung lượng đĩa khá lớn. Tính
toán lưới có khả năng tập hợp các không gian nhớ trống này thành một bộ nhớ ảo
lớn hơn, tạo ra sự cải thiện hiệu năng và độ tin cậy cao hơn. Thực vậy, giả sử một
ứng dụng cần đọc rất nhiều dữ liệu, dữ liệu này có thể được tự động nhân bản tại
nhiều điểm chiến lược trên lưới. Như vậy, nếu ứng dụng phải xử lý trên một máy từ
xa trong lưới, dữ liệu đã ở ngay đó hay hoặc gần đó, và do vậy không cần phải di
chuyển đến điểm xa xôi. Điều này tạo ra những lợi ích về hiệu năng, đồng thời, việc
sao chép dữ liệu như vậy có thể được sử dụng như những bản sao lưu khi bản gốc bị
hư hại hoặc không sẵn sàng.
1.1.2.2. Giúp cân bằng trong sử dụng tài nguyên
Khi một ứng dụng đòi hỏi quá nhiều tài nguyên thì rõ ràng một hệ thống đơn
lẻ không đủ sức để đáp ứng nó. Giải pháp ở đây là chúng có thể được chuyển đến
những hệ thống chưa được sử dụng đúng mức. Nói cách khác là ứng dụng đó có thể
được phân tán ra từng phần để hoàn thành trên nhiều hệ thống khác nhau. Tóm lại,
lưới có thể đảm bảo tính nhất quán để cân bằng tải trên một tập rộng lớn các tài
nguyên.

5

1.1.2.3. Khả năng thực hiện tính toán song song
Khả năng tính toán song song là một trong những đặc điểm thú vị nhất của
tính toán lưới. Yêu cầu chung của việc thực hiện tính toán song song là các ứng
dụng được thiết kế sao cho nó có thể được chia nhỏ thành các phần chạy độc lập với
nhau. Một ứng dụng có yêu cầu tính toán lớn trên lưới có thể chia thành các công
việc nhỏ hơn, mỗi công việc này có thể được thực hiện trên một máy nào đó trong
lưới. Mức độ liên quan giữa các công việc con càng thấp thì ứng dụng càng tối ưu.
Một đóng góp quan trọng khác của tính toán lưới là cho phép đơn giản hoá
sự tương tác giữa các lĩnh vực, hệ thống, lĩnh vực rộng hơn. Tính toán lưới cung cấp
những tiêu chuẩn quan trọng cho phép các hệ thống không đồng nhất có thể làm
việc với nhau để hình thành một hệ thống tính toán ảo lớn với những nguồn tài
nguyên ảo khác nhau. Người dùng lưới có thể được tổ chức động vào trong một số
tổ chức ảo, mỗi tổ chức có những yêu cầu chính sách khác nhau. Những tổ chức ảo
này cũng có thể chia sẻ tài nguyên với nhau và tập hợp lại trong một lưới lớn hơn.

Hình 1.2 Minh hoạ tổ chức ảo
Một ưu điểm nổi bật của sự hợp tác là chia sẻ về dữ liệu. Những file hoặc cơ
sở dữ liệu có thể mở rộng thông suốt qua nhiều hệ thống, như vậy sẽ có khả năng
khai thác được nhiều hơn bất cứ hệ thống đơn lẻ nào.

6

1.1.2.4. Chia sẻ nguồn tài nguyên đặc biệt
Ngoài việc chia sẻ CPU và các nguồn tài nguyên lưu trữ, một lưới có thể
cung cấp các dịch vụ cho phép truy nhập tới các thiết bị đặc biệt, phần mềm, bản
quyền và những dịch vụ khác.
Ví dụ: Một người dùng cần tăng thêm băng thông để thực hiện tìm kiếm,
khai phá dữ liệu, công việc có thể được chia ra cho các máy trong lưới có kết nối
độc lập tới Internet. Khi đó toàn bộ khả năng tìm kiếm được nhân lên vì mỗi máy
đều có kết nối riêng biệt tới Internet. Tất nhiên, nếu những máy này đã chia sẻ kết
nối tới mạng thì băng thông tăng lên không đáng là bao.
Một vài máy có thể chia sẻ những phần mềm có bản quyền mà giá rất đắt. Để
thực hiện điều này, công việc sẽ được gửi đến máy có chứa phần mềm đó, sau khi
thực hiện sẽ trả về kết quả cho máy yêu cầu. Nói cách khác, đây là việc chia sẻ giấy
phép phần mềm...
Một vài máy trong lưới có thể có những thiết bị đặc biệt và lưới sẽ đóng vai
trò chia sẻ các thiết bị đó.
Ví dụ: Một vài máy trong lưới có thể kết nối với kính hiển vi điện tử lớn. Để
dùng nó từ xa, một mẫu thử được gửi tới chủ nhân của kính hiển vi. Sau đó, người
dùng có thể điều khiển máy từ xa, thay đổi góc nhìn phối cảnh cho đến khi lấy được
hình ảnh mong muốn.
1.1.2.5. Phạm vi ứng dụng
Tính toán lưới thường được sử dụng để giải quyết các bài toán khoa học đòi hỏi
khả năng tính toán và thông lượng cao như mô phỏng, thiết kế vi mạch, chia sẻ nội
dung, truy nhập dịch vụ từ xa. Hoặc các bài toán đòi hỏi dữ liệu lớn, thời gian thực,
phục vụ theo yêu cầu và các bài toán tính toán cộng tác như thiết kế cộng tác, khai
phá dữ liệu, giáo dục điện tử…

7

1.1.3. Các thành phần của hệ thống tính toán lưới
Xét theo mô hình chức năng thì hệ thống tính toán lưới có các thành phần
sau.
Các thành phần của lưới tính toán theo mô hình chức năng

Hình 1.3 Các thành phần theo mô hình chức năng
Theo hình minh hoạ 1.3 ta thấy, về mặt chức năng lưới gồm các thành phần sau:
Cổng tương tác (Grid portal): Là một giao diện cho phép người dùng sử dụng
các ứng dụng lưới, do đó lưới trở nên trong suốt với người dùng.
Thành phần bảo mật (Security): Là cơ chế đảm bảo các hoạt động như xác
thực, cấp quyền, bảo mật, toàn vẹn và tính sẵn sàng .
Chức năng an ninh nút (Node Security Function): Chức năng này chịu trách
nhiệm xác thực và bảo mật cho từng nút trong quá trình giao tiếp giữa nó và các
thành phần khác bên trong mạng lưới. Nó phụ thuộc vào hệ điều hành và các hệ
thống lưới cụ thể, thường thấy là cơ chế cấp chứng chỉ quyền truy cập.
Bộ lập lịch (Scheduler): Là phần phối hợp quá trình thực thi của nhiều công
việc song song. Đơn giản, người sử dụng có thể chọn nút thích hợp để chạy tác vụ,
sau đó chỉ việc kích hoạt lệnh để định tuyến công việc đó tới nút đã chọn.

8

Thành phần môi giới (Broker): Sau khi người dùng được xác nhận quyền gia
nhập vào mạng lưới bởi thành phần an ninh nút, thành phần này sẽ chỉ rõ ứng dụng
của người dùng được sử dụng tài nguyên nào và đảm bảo tài nguyên được sẵn sàng
sử dụng theo tham số truyền vào.
Quản lý, phân bổ tài nguyên (Grid resource allocation manager- GRAM):
Cung cấp dịch vụ để kích hoạt từng công việc trên từng tài nguyên cụ thể; kiểm
tra trạng thái công việc; đọc kết quả khi công việc đó kết thúc. Các thông tin của
thành phần này sau đó sẽ được bộ lập lịch sử dụng.
Tài nguyên (Resource): Tài nguyên lưới bao gồm bộ xử lý, bộ lưu trữ, các
ứng dụng và các thành phần.
Quản lý dữ liệu (Data management): Dữ liệu có thể nằm ở tài nguyên, hoặc là
kết quả thực thi của một tác vụ nào đó. Thành phần quản lý dữ liệu phải đảm bảo an
toàn và ổn định trong quá trình di chuyển dữ liệu giữa các lưới.
Giao thức (Protocol): Là thành phần đảm bảo liên kết các thành phần chức
năng kể trên để có thể hoạt động và tương tác được với nhau trong mạng lưới.
1.1.4. Kiến trúc chung của lưới
Mạng lưới tính toán là hệ thống phần cứng và phần mềm kết
nối các máy tính, cho phép chia sẻ các tài nguyên tính toán của
các máy tính nối mạng, làm tăng gấp nhiều lần hiệu năng và tốc
độ xử lý thông tin, có khả năng chuyển tải những khối lượng dữ
liệu khổng lồ, tăng khả năng lưu trữ và truy cập thông tin trên
mạng. Đây là điều mà công nghệ mạng Internet truyền thống chỉ
dựa trên giao thức TCP/IP không thể đạt tới.

Mạng lưới tính toán được xây dựng trên nền tảng kiến trúc
mở và phân tầng. Trong mỗi tầng của lưới, các thành phần chia sẻ
các thuộc tính chung và được bổ sung những tính năng mới mà
không là ảnh hưởng đến các tầng khác .

9

Ta có thể tổng hợp kiến trúc lưới thành 5 tầng như sau:

Tầng Fabric: giúp định vị các tài nguyên mạng lưới.
Tầng Connectivity: giúp kết nối mạng lưới trên các mạng.
Tầng Resource: giúp chia sẻ các tài nguyên mạng lưới.
Tầng Collective: giúp kết hợp và định vị nhiều kiểu tài
nguyên.
Tầng Application: giúp kết nối các ứng dụng người dùng, để
truy cập và sử dụng tài nguyên mạng lưới.

Application (Tầng ứng dụng)

Collective (Tầng kết hợp)

Resource (Tầng tài nguyên)

Connectivity(Tầng kết nối)

Hình 1.4 Kiến
trúc phân
tầng
Fabric(Tầng
thiết
bị) lưới

10

Tầng Fabric (tầng thiết bị)
Tầng này bao gồm các tài nguyên cục bộ, phân tán trên
mạng, chúng bị ràng buộc bởi Cơ chế quản lý tài nguyên và Cơ chế
kiểm tra.
Tài nguyên của tầng này được phân thành các nhóm như sau:
- Tài nguyên tính toán: Đó là các kỹ thuật cần thiết để khởi
đầu chương trình và để giám sát cũng như việc điều khiển việc
thực hiện tiến trình xuất kết quả. Các kỹ thuật quản lý, cho phép
điều khiển các tài nguyên được cấp cho trong các tiến trình cũng
rất hữu hiệu (Ví dụ: Kỹ thuật đặt chỗ trước).
- Tài nguyên lưu trữ: Đó là các kỹ thuật cần cho việc sắp đặt
và lấy file, cũng như các kỹ thuật đọc và ghi một tập con của file
hoặc các chức năng lựa chọn hay thu nhỏ đối với các dữ liệu ở xa.
Các kỹ thuật quản lý tài nguyên cho phép điều khiển các tài
nguyên cấp cho chuyển giao dữ liệu (như không gian đĩa, băng
thông, CPU).
- Tài nguyên mạng: Đây là các kỹ thuật quản lý đối với các tài
nguyên được cấp cho chuyển giao trên mạng.
- Các kho mã nguồn: Đây là một dạng đặc biệt của các tài
nguyên lưu trữ. Nó cần các kỹ thuật để quản lý các phiên bản của
mã nguồn và mã nguồn.
Tầng Connectivity (tầng kết nối)
Tầng này đóng vai trò rất quan trọng, nó xác định các giao
thức lõi về kết nối và chứng thực cho các giao dịch trên mạng. Các
giao thức kết nối cho phép trao đổi dữ liệu giữa các tài nguyên của
tầng Fabric.
Các giao thức kết nối bao gồm các giao thức vận chuyển
(Transport), tìm đường (Rounting) và quản lý tên (Naming). Các

11

giao thức này tương tự các giao thức IP, TCP, UDP trong bộ giao
thức TCP/IP và các giao thức tầng ứng dụng như DNS,OSPF, RSPV...

Tầng Resource (tầng tài nguyên)
Tầng này dựa trên nền tảng sẵn có của tầng conectivity.
Những giao thức trong tầng này sẽ gọi các chức năng trong tầng
Fabric để truy cập và sử dụng các loại tài nguyên.
Hai giao thức chính:
- Giao thức thông tin (Information Protocol): Được sử dụng để
thu được các thông tin cấu trúc và trạng thái tài nguyên như cấu
hình mức tải hiện thời và các chính sách sử dụng khác...
- Giao thức quản lý (Management Protocol): Sử dụng để truy
cập các tài nguyên chia sẻ, tạo các tiến trình, truy cập dữ liệu...

Tầng Collective (tầng kết hợp)
Tầng này chứa các giao thức và dịch vụ cho phép giao tiếp
giữa các tài nguyên trong mạng lưới. Tầng này bao gồm các dịch
vụ chính sau:
- Các dịch vụ thư mục (Directory Sevices): Cho phép tìm ra
các nguồn tài nguyên và các đặc tính của nó.
- Các dịch vụ cấp phát chạy, lập lịch, môi giới (Co-allocation;
Sheduling; Brokering Services): Cho phép yêu cầu cấp tài nguyên
cho các mục đích cụ thể và lập lịch thực thi các công việc dựa trên
các tài nguyên được cấp phát.

12

- Các dịch vụ giám sát và dự báo (Monitoring and Diagnostic
Services): Cho phép theo dõi các sai hỏng, các cuộc tấn công sai
phạm, quá tải...
- Các dịch vụ nhân bản dữ liệu (Data replication Services):
Cho phép tăng hiệu năng hệ thống.
- Các hệ thống hỗ trợ lập trình lưới (Grid-enable Programming
Systems): Gồm các thư viện lập trình.
- Hệ thống quản lý tải và môi trường cộng tác (Workload
Management System & Collaboration Frame Work): Cho phép quản
lý các luồng công việc.
- Dịch vụ tìm kiếm phần mềm (Sofware Discovery Services):
Cho phép lựa chọn các nền tảng thực thi tuỳ theo các tham số của
bài toán.
Tầng Application (tầng ứng dụng)
Tầng này bao gồm các ứng dụng được phát triển trên môi
trường lưới. Các ứng dụng lưới này được xây dựng trên cơ sở gọi
các hàm, các dịch vụ được cung cấp bởi các tầng phía dưới. Vì vậy,
ở tầng này phải thiết kế và cài đặt các dịch vụ, các hàm cụ thể...để
sao cho người sử dụng lưới cảm thấy trong suốt. Người sử dụng
yêu cầu chạy ứng dụng, nhận về kết quả mà không hề biết ứng
dụng được chạy ở đâu trên hệ thống lưới, sử dụng tài nguyên gì, ở
đâu. Vì vậy, có thể xem hệ thống tính toán lưới như một máy tính
ảo được kết hợp các tài nguyên khác nhau.
1.2.

BẢO VỆ THÔNG TIN TRONG TÍNH TOÁN LƯỚI

1.2.1. Vấn đề cơ bản của một hệ thống tính toán lưới
Có 4 vấn đề cơ bản được quan tâm trong tính toán lưới [6] như sau:

13

1.2.1.1. Bảo vệ thông tin
Sự phát triển của hệ thống tính toán lưới được quyết định bởi một nền tảng
bảo vệ thông tin vững chắc. Với tính chất là có quy mô lớn, quan hệ chia sẻ tài
nguyên giữa nhiều tổ chức, bảo vệ thông tin phải là yếu tố được đặt lên hàng đầu
trong lưới.
Một số vấn đề bảo vệ thông tin phải xem xét trong tính toán lưới là:
-

Xác thực thực thể sử dụng lưới.

-

Bảo vệ thông tin trên đường truyền lưới.

-

Bảo vệ sự tấn công phá hoại hạ tầng cơ sở lưới.

- Phòng tránh các dạng tấn công lưới chẳng hạn tấn công từ chối dịch vụ,
tấn công giữa...
1.2.1.2. Lập lịch và quản lý tài nguyên
Các tài nguyên lưới thường phân tán và không đồng nhất. Do đó, việc tích
hợp, đồng bộ hoá và biểu diễn chúng dưới một dạng thống nhất là yêu cầu cần thiết.
Trong môi trường tính toán lưới, tại một thời điểm có thể có rất nhiều ứng
dụng cùng truy cập chia sẻ một hoặc nhiều tài nguyên khác nhau nên cần có bộ lập
lịch nhằm tối ưu hoá công việc. Bộ lập lịch dựa vào các thông tin trên lưới để quyết
định thứ tự đệ trình công việc.
1.2.1.3. Dịch vụ thông tin
Đối với môi trường động và không đồng nhất như tính toán lưới thì các
thông tin về các thành phần trong lưới sẽ thường xuyên thay đổi. Do đó, dịch vụ
thông tin cần cung cấp cơ chế tự động cập nhật và đăng ký các thông tin về toàn hệ
thống như tài nguyên, các dịch vụ có thể cung cấp trên lưới, trạng thái của toàn bộ
môi trường lưới.
1.2.1.4. Quản lý dữ liệu
Việc truy cập các nguồn dữ liệu trên lưới đòi hỏi một khả năng trao đổi,
tương tác giữa các dữ liệu có thể lên đến Giga bytes hoặc nhiều hơn. Điều này đòi
hỏi hệ thống lưới phải có chiến lược lưu trữ và tối ưu hoá hệ thống lưu trữ.