Tổng quan về tính toán lướt
Trang 2Giới thiệu
• Ti1ng toán lưới (Grid computing) là khái
niệm về liên kết các tài nguyên phân tán
để giải quyết các bài toán quy mô lớn
• Các tài nguyên như supercomputers,
clusters, cơ sở dữ liệu, đặc biệt các thiết bị khoa học (như radio telescopes) kết nối ở mức luận lý với nhau và biểu diễn như một tài nguyên chung cho người sử dụng
Trang 3Tính toán lưới để làm gì
• Tính toán lưới là một giải pháp tập hợp tài nguyên tính toán chi phí thấp để thực hiện những bài toán lớn
• Hệ thống tính toán cho phép bố trí song
song, linh hoạt, chia sẻ, tập hợp các nguồn tài nguyên hỗn hợp về mặt địa lý,
• Grid có thể đạt đến quy mô toàn cầu và
người sử dụng không cần biết vị trí nguồn tài nguyên
Trang 4Nhu cầu người sử dụng
• Người dùng nào đó có thể truy nhập vào
các tài nguyên như bộ xử lý, ổ lưu trữ, dữ liệu mà không cần biết các tài nguyên này nằm ở đâu, chúng dùng công nghệ gì, cấu hình phần cứng như thế nào,.v.v
• Tận dụng hiệu quả nguồn tài nguyên, liên kết nhiều máy chủ và thiết bị lưu trữ thành một siêu máy tính nhằm giảm thiểu đến
mức thấp nhất chi phí
Trang 5Grid computing
Trang 6Lịch sử ra đời của tính toán lưới
• Quá trình ra đời của tính toán lưới như sau:
• Những khái niệm và công nghệ lưới bắt đầu phát triển từ các nghiên cứu của
Foster và Kesselman vào năm 1998
Trang 7Lịch sử ra đời của tính toán lưới (2)
• Lưới dữ liệu được bắt đầu năm 1999 với
Globus Tookit 2.0+
• Giai đoạn tiếp theo với sự ra đời của kiến trúc dịch vụ lưới mở rộng (OGSA) vào năm
2001 và sản phẩm Globus Tookit 3.0
• Giai đoạn hiện tại tính từ năm 2003 đến
nay, được đánh giá bởi các cố gắng chuẩn hóa công nghệ và giao thức tính toán
Trang 8Phân tán các thiết bị tính toán
• Nhân tố cơ bản của Grid là công nghệ phân tán các thiết bị tính toán – sử dụng công
nghệ ảo hóa
• Với công nghệ này, ta có thể chia sẻ tài
nguyên và liên kết các tổ chức lại với nhau
• Sự ảo hóa trong môi trường grid có nhiều cấp độ khác nhau Mỗi cấp độ phụ thuộc
vào phạm vi và tính đồng nhất của tổ chức
Trang 9Sự ảo hóa với nhiều cấp độ
Trang 10Môi trường tính toán lưới
• Tính toán lưới là một môi trường tính toán
ảo 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 môi trường lưới, nguồn tài nguyên được hình thành bằng cách kết hợp các
nguồn tài nguyên lại nhỏ hơn, ít được sử dụng với nhau
• 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
Trang 11• 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
• Cơ chế và chính sách an toàn bảo mật phức tạp Cơ chế quản lý tài nguyên đa dạng,
phức tạp
Trang 12Mục đích của môi trường lưới
• Khai thác tài nguyên trống
• Xử lý song song tài nguyên
• Tài nguyên ảo và hệ thống ảo
• Sử dụng các tài nguyên đặc biệt
• Cân bằng tài nguyên
• Độ tin cậy cao
• Hệ thống quản lý thuận tiện
Trang 13Khai thác tài nguyên trống
• Tính năng cơ bản của Grid là khả năng
chạy một chương trình trên nhiều máy tính khác nhau
– Trung bình mỗi ngày, mỗi máy tính có thời gian trung ở trạng thái thái bận là 5%
– Grid cung cấp một khung làm việc (framework)
để tận dụng những tài nguyên này và vì thế có thể tăng hiệu quả trong việc sử dụng các tài
nguyên
• Grid tận dụng các dung lượng đĩa cứng còn trống trong các máy tính để tập hợp thành một tài nguyên lưu trữ ảo trọng mạng
Trang 14Xử lý song song tài nguyên
• Grid computing có khả năng kết hợp nhiều CPU cùng xử lý song song
• Các chương trình chạy trên môi trường
Grid sử dụng các thuật toán để phân chia công việc xử lý thành nhiều thành phần
độc lập, mỗi CPU trên mỗi máy tính trong mạng đảm nhận việc xử lý một hay nhiều thành phần đó
• Khả năng xử lý song song của một chương trình trên mạng lưới phụ thuộc vào người thiết kế
Trang 15Tài nguyên ảo và tổ chức ảo
• Grid computing là tạo nên môi trường cộng tác rộng lớn, đồng nhất; mỗi môi trường
đó được gọi là một tổ chức ảo
• Chia sẻ tài nguyên bắt đầu với dữ liệu
dạng tệp hay cơ sở dữ liệu Lưới dữ liệu có thể mở rộng dữ liệu theo nhiều cách khác nhau
• Những tài nguyên này được “ảo hóa” để
giữ chúng đồng bộ trong một hệ thống
mạng luới không đồng nhất; các tài
nguyên đó gọi là các tài nguyên ảo
Trang 16Mạng grid ảo không đồng nhất
Trang 17Sử dụng các tài nguyên đặc biệt
• Grid còn có thể truy nhập đến những tài nguyên
khác dưới dạng số hóa hoặc khả năng lưu trữ,
băng thông …
– Một người muốn tăng băng thông truy nhập
Internet để thực hiện việc khai thác dữ có thể
phân chia giữa các máy trong mạng grid có
đường truyền Internet không phụ thuộc nhau
– Người sử dụng máy tính không cài đặt phần
mềm bản quyền có thể sử dụng phần mềm bằng cách gửi công việc đến máy tính được cài phần mềm để yêu cầu xử lý
– Grid có thể chia sẻ những thiết bị, tài nguyên
phức tạp như máy chuẩn đoán bệnh hay robot
hỗ trợ phẫu thuật
Trang 18Cân bằng tài nguyên
• Grid có thể thực hiện cân bằng tài nguyên trong các chương trình bằng cách lập lịch làm việc cho các công việc
• Chức năng cân bằng có thể được thực theo
2 cách sau:
– Những điểm quá tải được đưa đến những máy rỗi trên mạng lưới.
– Nếu toàn mạng grid đã bận, những công việc có
độ ưu tiên thấp được tạm ngừng nhường cho
những công việc khác có độ ưu tiên cao.
Trang 19Chức năng cân bằng
Trang 20Nâng cao độ tin cậy
• Thông thường những hệ thống tính toán
Trang 21Các bản sao của công việc
Trang 22Hệ thống quản lý thuận tiện
• Việc ảo hóa tài nguyên và nhiều hệ thống hỗn hợp được tạo ra trên grid sẽ tạo nên quy mô rộng hơn, các thiết bị được phân phối nhiều hơn
• Grid quản lý độ ưu tiên giữa các dự án
Trước đây, mỗi dự án quản lý riêng tài
nguyên và chi phí của nó
• Những tài nguyên đang rỗi trong khi các
dự án khác gặp sự cố, cần thêm những tài nguyên khác
Trang 23Quản trị tài nguyên
Trang 24Kiến trúc và thành phần chính
• Lưới đượ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ẻ những thuộc tính chung và được bổ sung những tính năng mới mà không làm ảnh hưởng đến các tầng khác
Trang 25Kiến trúc của Grid
• Grid đượ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 Grid, các thành phần chia sẻ những thuộc tính chung và được bổ sung những tính năng mới mà không làm ảnh hưởng đến các tầng khác
Trang 26Kiến trúc 5 tầng của Grid
Trang 27Application layer-Tầng ứng dụng
• Tầng ứng dụng bao gồm các ứng dụng
được phát triển trên môi trường lưới như:
– Các ứng dụng sinh học, vậy lý, thiên văn, tài chính…
• Người sử dụng có thể tương tác với lưới thông qua tầng ứng dụng một cách trong suốt mà không nhận biết được sự có mặt của các tầng khác trong lưới
Trang 28Connectivity layer-Tầng kết nối
• Tầng này đóng vai trò rất quan trọng, nó gồm các giao thức xác thực và truyền
thông
• Truyền thông bao gồm việc truyền thông tin, định tuyến và đặt tên
• Những 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, RSVP
Trang 29Collective layer-Tầng kết hợp
• Tầng kết hợp 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 Một số dịch vụ chính:
– Các dịch vụ thư mục (Directory Services)
– Các dịch vụ cấp phát chung, lập lịch, môi giới
(Co-allocation, Scheduling & Broker Services)
– Các dịch vụ giám sát và dự báo (Monitoring and
Trang 30Resource layer-Tầng tài nguyên
• Tầng này được xây dựng trên nền tảng sẵn
có của tầng kết nối Những giao thức trong tầng tài này sẽ gọi các chức năng trong
tầng chế tác để truy cập và sử dụng các
loại tài nguyên cục bộ
– Giao thức thông tin (Information protocol): cho phép lấy các thông tin về cấu trúc, tình trạng
của một loại tài nguyên nào đó trong mạng lưới – Giao thức quản lý (Management protocol): dùng
để sắp xếp quản lý thứ tự các truy cập đến các tài nguyên được chia sẻ
Trang 32Fabric layer - Tầng chế tác
• 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ế thẩm tra
– Tài nguyên tính toán: cho phép kiểm soát, điều khiển việc thực thi công việc
– Tài nguyên lưu trữ: dùng để lấy về/tải lên các tập tin, cho phép đọc một phần tập tin hoặc
Trang 33Các tầng giữa của Grid
Trang 34Chức năng của Grid
• 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 dữ liệu và tính sẵn sàng của dữ
liệu.
• Chức năng an ninh nút (Node Security
Function): chức năng này chịu tránh 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
Trang 35Chức năng của Grid (2)
• 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.
• 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.
• 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.
Trang 36Chức năng của Grid (3)
• 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
• 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 đó, đả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.
Trang 37User liên hệ với resource broker
để gửi yêu cầu thực thi ứng dụng _
Trang 38Resource Broker liên hệ với một
hoặc nhiều Grid Information
Server để tìm kiếm các tài
nguyên mà user có thể truy cập
Trang 40Hệ thống hướng service
(service oriented)
• Hệ thống hướng Service có khả năng nhận một hay nhiều yêu cầu xử lý và sau đó đáp ứng lại bằng cách trả về một hay nhiều kết quả
• Quá trình nhận yêu cầu và trả kết quả về được thực hiện thông qua các interface đã được định nghĩa trước đó
• Việc giao tiếp này được thực hiện trên các interface đã được chuẩn hóa và sử dụng
rộng rãi
Trang 41Định nghĩa SOA
• SOA Service Oriented Architecture
• Một kiểu kiếu trúc dễ dàng mở rộng và tích hợp
• Kiến trúc này bao gồm các service được
nối kết lỏng lẻo, dễ dàng sử dụng lại, có
thể tương tác và không phụ thuộc vào kỹ thuật hiện thực
Trang 42Mô hình SOA cơ bản
Trang 43Mô hình SOA cấp cao
Trang 44Ưu và nhược điểm của SOA
Ưu điểm:
• Hệ thống uyển chuyển và lâu dài
Dễ dàng và nhanh chóng tạo ra các
Bussiness process từ các service đã có
• Khả năng tương tác của các service
Nhược điểm:
• Hệ thống phức tạp
• Khó miêu tả dữ liệu không cấu trúc trong header của message
Trang 45Lợi ích khi sử dụng SOA
• Cho phép dễ dàng triển khai chương trình, môi trường chạy và quản lý service dễ
dàng hơn
Trang 46Lợi ích khi sử dụng SOA(2)
• Kiến trúc kết nối lỏng lẻo cho phép dễ
dàng tích hợp thành phần những chương trình, tiến trình hay những service phức
tạp từ những service đơn giản
• Cho phép Service Consumers tìm kiếm và kết nối với những service động khác
• Những sự xác nhận và chứng minh của
Service consumer về những tính năng
security dựa trên giao tiếp Service tốt hơn
cơ chế kết nối chặt chẽ
Trang 47Sử dụng Web service trong SOA
• Web service là một công nghệ triệu gọi từ xa
có tính khả chuyển cao nhất hiện nay: mang
tính độc lập nền, độc lập ngôn ngữ.
• Các chương trình code bằng các ngôn ngữ lập trình khác nhau, chạy trên các nền tảng (phần cứng & OS) khác nhau đều có thể trao đổi với nhau thông qua công nghệ này
• Tầng transport của Web Service thường dùng những công nghệ truyền tải phổ dụng nhất như HTTP, SMPT, (tuy hiện nay thường chỉ dùng HTTP) nên khả năng phân tán trên diện rộng
như Internet là rất thuận tiện.
Trang 48Sử dụng Web service
???
Trang 49Đặc điểm của Web Services
• Web Services được truy xuất thông qua
Trang 50Sử dụng Web service trong SOA
• SOA là kiến trúc kết nối lỏng lẻo các
service Các service đó tương tác với nhau thông qua Web service
• SOAP (Simple Object Access Protocol):
giao thức truy xuất đối tượng đơn giản
• WSDL (Web Service Description
Language): ngôn ngữ đặc tả WS ngôn ngữ này cơ bản dựa trên XML ,khi tương tác
các service với nhau ta tương tác file wsdl của chúng
Trang 51Sử dụng Web service trong SOA(2)
• Kiến trúc SOA sử dụng Webservice như là một giải pháp chính để giải quyết vấn đề tích hợp nghiệp vụ giữa các hệ thống (bên cạnh giải pháp dùng công nghê
Trang 52Simple Object Access Protocol
• Là giao thức được Web Service sử dụng để truyền dữ liệu qua Internet
• SOAP = XML + một giao thức có thể hoạt động trên Internet (HTTP, FTP, SMTP)
Trang 53SOAP
Trang 54SOAP (2)
Trang 55Web Service Description Language
• Web Service Description Language WSDL
• Kiểu (Types): kiểu cơ bản khi trao đổi giữa client
tiếp giữa client và server
• Kết nối (Binding): cách thức giao tiếp giữa client
và server (HTTP, SMTP, RPC,…)
• Dịch vụ (Service): định nghĩa tên cùng với các chú thích (documentation), và địa chỉ của service
Trang 56Trao đổi dữ liệu
Trang 57Dịch vụ lưới (Grid service)
• Kiến trúc dịch vụ lưới là một mở rộng của kiến trúc tính toán mạng lưới nhằm kết
hợp với kiến trúc dịch vụ Web (Web
service), được phát triển bởi nhóm Globus
và IBM
• Khái niệm Grid service lần đầu tiên được đưa ra tại diễn đàn Grid toàn cầu (Global Grid Forum), Toronto, Canada năm 2002
• Ý tưởng này bắt nguồn từ một mục đích:
"Chia sẻ tài nguyên và hỗ trợ tạo ra các tổ chức ảo"
Trang 58Grid Service
• Grid Service là Web Service được thay đổi cho phù hợp với môi trường grid
• Với môi trường grid, khi có một yêu cầu
được gởi đến, một service sẽ được tạo ra
để đáp ứng yêu cầu đó Khi service đáp
ứng xong yêu cầu, service sẽ bị hủy
• Grid Service sử dụng Service Data nhằm lưu trữ thông tin về trang thái hiện tại của service (state information)
• Grid service interface được đặc tả thông
qua GWSDL (Grid WSDL)
Trang 59Hết chương 1