Mặc dù điện toán đám mây chỉ là một cách khác để cung cấp các tàinguyên máy tính, chứ không phải là một công nghệ mới, nhưng nó đã châm ngòi mộtcuộc cách mạng trong cách cung cấp thông t
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
_ _
BÀI THU HOẠCH MÔN HỌCĐIỆN TOÁN LƯỚI & ĐÁM MÂY
ĐỀ TÀIGRID & CLOUD COMPUTING
Trang 2LỜI NÓI ĐẦU
Trong vài năm qua, Công nghệ thông tin (IT) đã bắt đầu một mẫu hình mới - điệntoán đám mây Mặc dù điện toán đám mây chỉ là một cách khác để cung cấp các tàinguyên máy tính, chứ không phải là một công nghệ mới, nhưng nó đã châm ngòi mộtcuộc cách mạng trong cách cung cấp thông tin và dịch vụ của các tổ chức
Bên cạnh đó, rất nhiều thiết bị phần cứng mạnh phục vụ cho yêu cầu tính toán hiệunăng cao đã được tạo ra Nhưng, do nhu cầu của con người là không giới hạn nên họ luônthấy là chưa đủ, vì thể tính toán lưới đã ra đời nhằm đáp ứng nhu cầu này Tuy nhiênđiểm chính yếu của lưới không phải là sức mạnh tính toán mà là tính thực tiễn, tính thựctiễn này thể hiện ở chỗ các lưới tính toán thường được tạo ra dựa trên việc tận dụng cácnguồn tài nguyên bình thường, sẵn có mà không cần phải mua hoặc tạo ra một hạ tầngphần cứng mới Do đó, tính toán lưới nổi lên như một phương tiện tập hợp tài nguyêntính toán chi phí thấp để giải quyết những bài toán lớn
Trong nội dung bài tiểu luận này, em xin giới thiệu tổng quan về tính toán lưới, sự
ra đời cấu trúc của hệ thống tính toán lưới, bên cạnh đó là sự phát triển của điện toán đámmây Từ đó có thể hiểu sâu sắc hơn về lĩnh vực tính toán lưới cũng như điện toán đám
Trang 3I. GIỚI THIỆU GRID COMPUTING:
Tính toán lưới là một tập hợp các tài nguyên máy tính từ những vị trí khácnhau để đạt được chung một mục đích Lưới có thể được hiểu như là hệ thốngphân tán, không tương tác lẫn nhau và đảm nhiệm các tác vụ liên quan đến một sốlượng dữ liệu lớn Điều này giúp phân biệt giữa tính toán lưới và khái niệm các hệthống siêu máy tính Mặc dù tính toán lưới có thể phụ thuộc vào một phần mềmchuyên biệt nào đó, nhưng đa số các lưới dùng tính toán hiện nay đều đựa xâydựng dựa trên các thư viện phần mềm trung gian
Kích thước của lưới thường phụ thuộc vào mức độ tính toán của nó Một lướidùng cho tính toán phân tán có thể bao gồm nhiều mạng lưới kết nối lại để thựchiện những tác vụ lớn, phức tạp Tính toán lưới hay tính toán phân tán đều có điểmchung đó là dạng đặc biệt của tính toán song song dựa trên hệ thống máy tính kếtnối với nhau
1. Khái niệm cơ bản:
Tính toán lưới (Grid computing) là khái niệm về liên kết các tài nguyên phântá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ễnnhư một tài nguyên chung cho người sử dụng
Hệ thống bao gồm phần cứng, phần mềm, đường truyền và hàng bao nhiêuthiết bị khác… trong những không gian thích hợp tạo một môi trường tính toán gọi
là môi trường lưới
Môi trường bao gồm những cơ sở hạ tầng cực mạnh, những siêu máy chủ,những thiết bị lưu trữ lớn, những clusters, những phần mềm ứng dụng và sự quảntrị hệ thống phức hợp
Tính toán lưới xử lý song song, phân chia thời gian với các thuật toán tối ưu xử
lý phân bố tài nguyên tính toán, lưu trữ…
Trang 4Hình minh họa hệ thống tính toán lưới.
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ụngcô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 5Hình minh họa sự ảo hóa ở nhiều cấp độ.
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ínhtoá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
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áytí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 bận là5%
- Grid cung cấp một khung làm việc (framework) để tận dụng những tàinguyên này và vì thế có thể tăng hiệu quả trong việc sử dụng các tàinguyê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ậphợp thành một tài nguyên lưu trữ ảo trong mạng
Grid computing có khả năng kết hợp nhiều CPU cùng xử lý song song Cácchươ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ôngviệ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
Trang 6mạng đảm nhận việc xử lý một hay nhiều thành phần đó Khả năng xử lý songsong của một chương trình trên mạng lưới phụ thuộc vào người thiết kế.
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ôitrườ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ạngtệ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ácnhau 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.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ặckhả 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 khaithác dữ có thể phân chia giữa các máy trong mạng grid có đường truyềnInternet 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ụngphầ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ánbệnh hay robot hỗ trợ phẫu thuật
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áchlậ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 2cá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ạmngừng nhường cho những công việc khác có độ ưu tiên cao
Trang 7Hình minh họa chức năng cân bằng trong lưới.
Thông thường những hệ thống tính toán mạnh sử dụng phần cứng đắt tiền đểtăng độ tin cậy - giá thành cho hệ thống cao Một Grid có thể có thể là một hệthống đáng tin cậy Một mạng lưới gồm nhiều máy tính được phân bố khắp nơi,khi có một sự cố tại một nốt mạng nào đó trên mạng lưới, các điểm khác sẽ không
sự cố, cần thêm những tài nguyên khác
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ầngcủa lưới, các thành phần chia sẻ những thuộc tính chung và được bổ sung nhữngtính năng mới mà không làm ảnh hưởng đến các tầng khác
Trang 82. So sánh với khái niệm siêu máy tính:
Tính toán lưới hoặc tính toán phân tán nhìn chung là một dạng đặc biệt củatính toán song song dựa trên rất nhiều máy tính (với vi xử lý, khả năng lưu trữ,nguồn điện, và khả năng kết nối … ) kết nối thông qua một mạng thông qua mộtgiao diện kết nối mạng để thực hiện những tính toán mang lại hiệu suất cao mà íttốn kém hơn so với nhưng siêu máy tính được thiết kế cho một nhóm nhỏ nào đó.Điểm bất lợi của tính toán lưới là do bị phân tán vi xử lý và lưu trữ nên không
có được sự kết nối tốc độ cao đồng đều giữa các vi xử lý và lưu trữ đó Vì vậy tínhtoán lưới chỉ phù hợp với các tính toán có thể xử lý song song và có thể thực hiệntính toán độc lập mà không cần phải chuyển giao các kết quả giữa các vi xử lý.Ngoài ra cũng có nhiều khác biệt trong quá trình lập trình và triển khai giữatính toán trên lưới và các siêu máy tính Ví dụ muốn viết một phần mềm cho siêumáy tính thì phải tốn nhiều chi phí hơn vì siêu máy tính có hệ điều hành riêng vàphải tốn nhiều chi phí có việc xử lý đồng thời Còn nếu phần mềm đó có thể chia
ra để hoạt động song song thì viết tính toán dựa trên lưới sẽ thuận lợi và ít tốn kémhơn nhiều
Trang 93. Kiến trúc của hệ thống grid computing:
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ầngcủa Grid, các thành phần chia sẻ những thuộc tính chung và được bổ sung nhữngtính năng mới mà không làm ảnh hưởng đến các tầng khác
Hình minh họa kiến trúc 5 tầng của grid.
a.Tầng ứng dụng (Application Layer)bao gồm các ứng dụng được phát triển trênmôi trường lưới như:
- Các ứng dụng sinh học, vật lý, thiên văn, tài chính…
- Người sử dụngcó thể tương tác với lưới thông qua tầng ứng dụng một cáchtrong suốt mà khôngnhận biết được sự có mặt của các tầng khác trong lưới.b.Tầng kết nối (Connectivity Layer)Tầng này đóng vai trò rất quan trọng, nó gồmcá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ộ giaothứcTCP/IP và các giao thức tầng ứng dụng như DNS, OSPF, RSVP
c.Tầng kết hợp (Collective Layer) chứa các giao thức và dịch vụ cho phép giao tiếpgiữ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 Diagnostic Services)
- Các dịch vụ nhân bản dữ liệu (Data Replication Services)
Trang 10- Các hệ thống hỗ trợ lập trình lưới (Grid-enable Programming Systems)d.Tầng tài nguyên (Resource Layer) 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 trongtầ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ẻ
e.Tầng chế tác (Fabric Layer) 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ôngviệ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ộtphần tập tin hoặc chọn lọc dữ liệu từ tập tin ở xa
- Tài nguyên mạng: là môi trường mạng truyền thông
- Các kho mã nguồn: là nơi quản lý tất cả các loại tài nguyên và các phiênbản của mã nguồn
Trang 114. Thành phần của hệ thống grid computing:
a.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
Hình minh họa Grid Portal.
b.Thành phần bảo mật – Grid Security – Là cơ chế đảm bảo các hoạt động như xácthự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
Hình mình họa cơ chế bảo mật của Grid.
Trang 12c.Chức năng an ninh nút - Node Security Function – Là chức năng bảo mật cho từngnút trên hệ thống lưới.
d.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ệcsong song
Hình minh họa bộ lập lịch.
e.Thành phần môi giới – Broker - sau khi người dùng được xác nhận quyềngia nhậpvào mạng lưới thì broker sẽ chỉ rõ ứngdụng của người dùng được sử dụng tàinguyên nào và sử dụng theo tham số truyền vào
Trang 13f.Tài nguyên –Resource - tài nguyên lưới bao gồm bộ xử lý, bộ lưu trữ, cácứngdụng và các thành phần.
Hình minh họa các tài nguyên trên lưới.
Trang 14II. GIỚI THIỆU CLOUD COMPUTING:
1. Khái niệm cơ bản:
Thuật ngữ điện toán đám mây (cloud computing) xuất hiện bắt nguồn từ ứngdụng điện toán lưới (grid computing) trong thập niên 1990, tiếp theo là điện toántheo nhu cầu (utility computing) và phần mềm dịch vụ (SaaS)
Với điện toán đám mây, các tài nguyên điện toán như máy chủ có thể đượcđịnh hình động hoặc cắt nhỏ từ cơ sở hạ tầng phần cứng nền và trở nên sẵn sàngthực hiện nhiệm vụ, hỗ trợ những môi trường không phải là điện toán lưới nhưWeb ba lớp chạy các ứng dụng truyền thống hay ứng dụng Web 2.0
Trang 15nghiệm về công nghệ đó cũng như không quan tâm đến các cơ sở hạ tầng phục vụcông nghệ đó.
Đặc tính của điện toán đám mây:
- Dịch vụ cân bằng và đáp ứng theo nhu cầu: Điện toán đám mây cung cấpcác tài nguyên và dịch vụ chongười dùng theo nhu cầu của họ
- Giao diện hướng người dùng: Giao diện đám mâyđược thiết kế đểtruy nhậpthông qua các trình duyệt
- Chất lượng dịch vụ đảm bảo: QoSđược đảm bảo vềmặt hiệu năng phầncứng/CPU, băng thông, và công suất bộ nhớ
- Hệ thống tựquản: các hệ thống Điện toán đám mâylà các hệ thống tựquản
lý và trong suốt đối với người dùng
- Định giá (Pricing): Người dùng trảtiền cho dịch vụ và công suất màhọcầnđúng theo nhu cầu
2. Ưu điểm của cloud computing:
Điện toán đám mây đựa trên sự chia sẻ tài nguyên để đạt được sự gắn kết chặtchẽ giữa lợi ích kinh tế và nhu cầu sử dụng( giống như sử dụng điện) thông quamạng máy tính
Điện toán đám mây dựa trên sự tối ưu hóa hiệu quả của các tài nguyên đượcchia sẻ trong mạng Tài nguyên trên đám mây không chỉ chia sẻ cho người sửdụng mà nó còn được cấp phát lại tùy thuộc vào nhu cầu sử dụng của người đó Và
nó còn có thể cấp phát cho những đối tượng sử dụng ở những múi giờ khác nhautrên thế giới Điều này giúp tiết kiệm năng lượng và giảm thiểu các nguy cơ chomôi trường trên một hệ thống lớn
Điện toán đám mây còn giúp các doanh nghiệp vừa và nhỏ có cơ hội sử dụngnhững dịch vụ tốt, đáng tin cậy mà ít tốn kém nhất
3. Kiến trúc của hệ thống cloud computing:
Mô hình Điện toán đám mây được xây dựng trên mô hình phân lớp với 5 lớp
Trang 16Hình minh họa mô hình 5 lớp của điện toán đám mây.
4. Các công nghệ trong cloud computing:
- Công nghệ ảo hóa (virtualization): các kỹ thuật máy ảo nhưVmware and
Trang 17- PaaS: Dịch vụ nền tảng - Platform as a Service.
- IaaS: Dịch vụ hạ tầng - Infrastructure as a Service
Hình minh họa các mô hình dịch vụ trong đám mây.
- SaaS: Dịch vụ phần mềm - Software as a Service
Cung cấp các ưng dụng hoàn chỉnh như một dịch vụ theo yêu cầu cho nhiềukhách hàng với chỉ một phiên bản cài đặt
SaaS hướng tới việc phân phối phần mềm với yêu cầu cụ thể, trong môhình này người sử dụng có thể truy cập từ xa thông qua Internet và chi trảtheo mức độ sử dụng
Salesforce là một trong những nhà tiên phong cung cấp mô hình dịch vụnày Ngoài ra còn có Live Mesh của Microsoft cũng cho phép chia sẻ tậptin, thư mục đồng thời qua nhiều thiết bị
Hình minh họa SaaS.
- PaaS: Dịch vụ nền tảng - Platform as a Service
Trang 18Cung cấp nền tảng điện toán cho phép khách hàng phát triển các phầnmềm, phục vụ nhu cầu tính toán hoặc xây dựng thành dịch vụ trên nền tảngCloud dó
PaaS đưa ra môi trường tích hợp cấp cao để xây dựng, kiểm tra, và triểnkhai các ứng dụng tùy ý Một cách tổng quát các nhà phát triển ứng dụng sẽphải chấp nhận một số hạn chế trên các kiểu phần mềm mà họ có thể viếtđổi lại tính mở rộng gắn liền với ứng dụng
App Engine của Google là một dịch vụ PaaS điển hình
Hình minh họa PaaS.
- IaaS: Dịch vụ hạ tầng - Infrastructure as a Service
Cung cấp dịch vụ cơ bản bao gồm năng lực tính toán, không gian lưu trữ,kết nối mạng tới khách hàng
Mô hình này cho phép cung cấp phần cứng, phần mềm và thiết bị với hình
Trang 19Hình minh họa IaaS.
6. Các kiểu đám mây (Cloud):
- Public Cloud: Các đám mây công cộng là các dịch vụ đám mây được ngườibán cung cấp Chúng được lưu trữ đầy đủ và được nhà cung cấp bởi đámmây quản lý
- Private Cloud : Các đám mây riêng là các dịch vụ đám mây được cung cấptrong doanh nghiệp Những đám mây này được doanh nghiệp quản lý
- Hybrid Cloud : Các đám mây lai là một sự kết hợp của các đám mây côngcộng và riêng Những đám mây này thường do doanh nghiệp tạo ra và cáctrách nhiệm quản lý sẽ được phân chia giữa doanh nghiệp và nhà cung cấpđám mây công cộng