Tải bản đầy đủ (.docx) (29 trang)

TÌM HIỂU CÔNG NGHỆ CLOUD COMPUTING

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (695.64 KB, 29 trang )

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
TÍNH TOÁN LƯỚI
ĐỀ TÀI:
TÌM HIỂU CÔNG NGHỆ CLOUD COMPUTING
Giảng viên hướng dẫn: PGS. TS. Nguyễn Phi Khứ
Học viên thực hiện: Ngô Hải Linh – CH1101019
Phan Khánh Nguyên – CH1101111
Lớp cao học khóa 6
TP Hồ Chí Minh, tháng 07/2013
Tìm hiểu công nghệ Cloud Computing
MỤC LỤC
2

Tính toán lưới Trang 2
Tìm hiểu công nghệ Cloud Computing
mở đầu
Ngày nay công nghệ thông tin phát triển rất nhanh chóng, nắm giữ vai trò quan
trọng trong việc thúc đấy sự tăng trưởng kinh tế, với sự ra đời của rất nhiều công
nghệ mới, các dịch vụ CNTT đáp ứng nhu cầu của người dùng cũng như là các
doanh nghiệp Tuy nhiên, trong giai đoạn suy thoái kinh tế như hiện nay, thì việc
ứng dụng một công nghệ hay một dịch vụ CNTT đáp ứng việc quản lý tốt, hiệu quả
dữ liệu của riêng công ty cũng như dữ liệu khách hàng, đối tác là một trong những
bài toán được ưu tiên hàng đầu và đang không ngừng gây khó khăn cho doanh
nghiệp. Để có thể quản lý được nguồn dữ liệu đó, ban đầu các doanh nghiệp phải
đầu tư, tính toán rất nhiều loại chi phí như chi phí cho phần cứng, phần mềm, mạng,
chi phí quản trị, chi phí bảo trì, sửa chữa… Ngoài ra họ còn phải tính toán khả năng
mở rộng, nâng cấp thiết bị; phải kiểm soát việc bảo mật dữ liệu cũng như tính sẵn
sàng cao của dữ liệu. Để giải quyết vấn đề trên chúng ta thấy được rằng nếu có một
nơi tin cậy giúp các doanh nghiệp quản lý tốt nguồn dữ liệu đó, các doanh nghiệp sẽ
không còn quan tâm đến cơ sở hạ tầng, công nghệ mà chỉ tập trung chính vào công


việc kinh doanh của họ thì sẽ mang lại cho họ hiệu quả và lợi nhuận ngày càng cao
hơn. Khái niệm “cloud computing” (điện toán đám mây) đã ra đời trong hoàn cảnh
đó và đang dần trở nên quen thuộc đối với các doanh nghiệp, đặc biệt là đối với các
doanh nghiệp vừa và nhỏ.
Vậy “cloud computing” là gì ? Nó có thể giải quyết bài toán trên như thế nào
và có những đặc điểm nổi bật gì ? Chúng ta sẽ đi qua các phần sau để nắm rõ vấn đề
này. Do khả năng và kiến thức có hạn, nên bài báo cáo còn nhiều sai sót.
Em xin chân thành cảm ơn thầy đã giảng dạy và hướng dẫn để hoàn thành bài
báo cáo này.
3

Tính toán lưới Trang 3
Tìm hiểu công nghệ Cloud Computing
I. Tổng quan về Cloud Computing
1. Khái niệm Cloud Computing
Theo Wikipedia: “Điện toán đám mây (cloud computing) là là môi
trường tính toán dựa trên internet mà ở đó tất cả phần mềm, dữ liệu, tài
nguyên được cung cấp cho máy tính và các thiết bị khác theo nhu cầu
(tương tự như mạng điện)”.
Hình 1: Sơ đồ Điện toán đám mây
Theo Viện tiêu chuẩn và công nghệ quốc gia Bộ Thương mại Mỹ
(NIST): “Điện toán đám mây là một mô hình cho phép truy cập mạng
thuận tiện, theo nhu cầu đến một kho tài nguyên điện toán dùng chung, có
thể định cấu hình (ví dụ như mạng, máy chủ, lưu trữ, ứng dụng) có thể được
cung cấp và thu hồi một cách nhanh chóng với yêu cầu tối thiểu về quản lý
hoặc can thiệp của nhà cung cấp dịch vụ”.
2. Tính chất cơ bản
Theo NIST định nghĩa có 5 tính chất sau:
4


Tính toán lưới Trang 4
Tìm hiểu công nghệ Cloud Computing
 Tự phục vụ theo nhu cầu (On-demand self-service): người dùng tự
chọn khả năng tính toán như máy chủ, lưu trữ mạng, mà không cần
sự tương tác của con người với mỗi nhà cung cấp dịch vụ.
 Truy xuất diện rộng (Broad network access): có thể truy cập thông
qua điện thoại di động, máy tính bảng, máy tính xách tay, và máy trạm.
 Dùng chung tài nguyên (Resource pooling): nguồn tài nguyên vật lý
và ảo hóa tự động được cấp phát theo nhu cầu của người dùng.
 Khả năng co giãn (Rapid elasticity): có thể tăng giảm tài nguyên
theo nhu cầu.
 Điều tiết dịch vụ (Measured service): hệ thống đám mây tự động
kiểm soát và tối ưu hóa việc sử dụng tài nguyên.
3. Mô hình dịch vụ
Cloud computing ra đời để giải quyết các vấn đề sau:
 Vấn đề lưu trữ dữ liệu: Dữ liệu được lưu trữ tập trung ở các kho dữ liệu
khổng lồ. Các công ty lớn như Microsoft, Google có hàng chục kho dữ liệu
trung tâm nằm rải rác khắp nơi trên thế giới. Các công ty lớn này sẽ cung
cấp các dịch vụ cho phép doanh nghiệp có thể lưu trữ và quản lý dữ liệu của
họ trên các kho lưu trữ trung tâm.
 Vấn đề về sức mạnh tính toán: có 2 giải pháp chính:
 Sử dụng các siêu máy tính (super-computer) để xử lý tính toán.
 Sử dụng các hệ thống tính toán song song, phân tán, tính toán
lưới (grid computing).
 Vấn đề về cung cấp tài nguyên, phần mềm: Cung cấp các dịch vụ như SaaS
(Software as a Service), PaaS (Platform as a Service), IaaS (Infrastructure
as a Service).
3.1. SaaS - Software as a Service
Là một mô hình triển khai ứng dụng mà ở đó người cung cấp cho phép
người dụng sử dụng dịch vụ theo yêu cầu. Những nhà cung cấp SaaS có thể

5

Tính toán lưới Trang 5
Tìm hiểu công nghệ Cloud Computing
lưu trữ ứng dụng trên máy chủ của họ hoặc tải ứng dụng xuống thiết bị
khách hàng, vô hiệu hóa nó sau khi kết thúc thời hạn. Các chức năng theo
yêu cầu có thể được kiểm soát bên trong để chia sẻ bản quyền của một nhà
cung cấp ứng dụng thứ ba.
Hình 2: Mô hình dịch vụ Cloud Computing
3.2. PaaS - Platform as a Service
Cung cấp nền tảng tính toán và một tập các giải pháp nhiều lớp. Nó hỗ
trợ việc triển khai ứng dụng mà không quan tâm đến chi phí hay sự phức tạp
của việc trang bị và quản lý các lớp phần cứng và phần mềm bên dưới.
Cung cấp tất cả các tính năng cần thiết để hỗ trợ chu trình sống đầy đủ của
việc xây dựng và cung cấp một ứng dụng và dịch vụ web sẵn sàng trên
Internet mà không cần bất kì thao tác tải hay cài đặt phần mềm cho những
người phát triển, quản lý tin học, hay người dùng cuối. Nó còn được biết
đến với một tên khác là cloudware.
Cung cấp dịch vụ nền tảng (PaaS) bao gồm những điều kiện cho qui
trình thiết kế ứng dụng, phát triển, kiểm thử, triển khai và lưu trữ ứng dụng
có giá trị như là dịch vụ ứng dụng như cộng tác nhóm, sắp xếp và tích hợp
6

Tính toán lưới Trang 6
Tìm hiểu công nghệ Cloud Computing
dịch vụ web, tích hợp cơ sở dữ liệu, bảo mật, khả năng mở rộng, quản lý
trạng thái, phiên bản ứng dụng, các lợi ích cho cộng đồng phát triển và
nghiên cứu ứng dụng. Những dịch vụ này được chuẩn bị như là một giải
pháp tính hợp trên nền web.
3.3. IaaS - Infrastructure as a Service

Người dùng có thể truy cập đến phần cứng của hệ thống mạng máy
tính. Cung cấp nhiều nguồn tài nguyên như firewall, load balancer, địa chỉ
IP, nhưng hệ điều hành và các ứng dụng sẽ do bạn cài đặt và cập nhật. Điều
này giúp người dùng linh hoạt hơn trong việc sử dụng tài nguyên của mình.
IaaS xuất hiện rộng rãi bởi các nhà cung cấp Amazon, Memset, Google,
Windows… Một cách giúp quản lý IaaS dễ dàng hơn là phát triển các
template cho các dịch vụ đám mây nhằm tạo ra một bản kế hoạch chi tiết để
xây dựng hệ thống ready-to-use, và tránh tình trạng di chuyển giữa các đám
mây khác nhau.
4. Mô hình triển khai
7

Tính toán lưới Trang 7
Tìm hiểu công nghệ Cloud Computing
Hình 3: Các mô hình triển khai
4.1. Private Cloud
Cơ sở hạ tầng và các dịch vụ được xây dựng để phục vụ cho một tổ
chức (doanh nghiệp) duy nhất. Điều này giúp cho doanh nghiệp có thể kiểm
soát tối đa đối với dữ liệu, bảo mật và chất lượng dịch vụ.
4.2. Public Cloud
Các dịch vụ Cloud được nhà cung cấp dịch vụ cung cấp cho mọi người
sử dụng rộng rãi. Các dịch vụ được cung cấp và quản lý bởi một nhà cung
cấp dịch vụ và các ứng dụng của người dùng đều nằm trên hệ thống Cloud.
4.3. Hybrid Cloud
Hybrid Cloud là sự kết hợp của hai hoặc nhiều mô hình triển khai.
Trong đó doanh nghiệp sẽ “out-source” các chức năng nghiệp vụ và dữ liệu
không quan trọng, sử dụng các dịch vụ Public Cloud để giải quyết và xử lý
các dữ liệu này. Đồng thời, doanh nghiệp sẽ giữ lại các chức năng nghiệp vụ
và dữ liệu tối quan trọng trong tầm kiểm soát (Private Cloud).
5. Kiến trúc Cloud Computing

8

Tính toán lưới Trang 8
Tìm hiểu công nghệ Cloud Computing
Hình 4: Mô hình kiến trúc Cloud Computing
Cơ sở hạ tầng (Infrastructure): là phần cứng được cung cấp như là các dịch vụ,
nghĩa là được chia sẻ và có thể sử dụng lại dễ dàng. Các tài nguyên phần cứng được
cung cấp theo thời gian, theo nhu cầu cụ thể. Loại dịch vụ này giúp cho khách hàng
giảm chi phí bảo hành, chi phí sử dụng…
Lưu trữ (Storage): Lưu trữ đám mây là khái niệm tách dữ liệu khỏi quá trình
xử lý và chúng được lưu trữ ở những vị trí từ xa. Lưu trữ đám mây cũng bao gồm cả
các dịch vụ CSDL, ví dụ như BigTable của Google, SimpleDB của Amazon…
Cloud Runtime: Là dịch vụ phát triển phần mềm ứng dụng và quản lý các nhu
cầu phần cứng - phần mềm. Ví dụ nền tảng dịch vụ như web framework, web
hosting…
Ứng dụng đám mây (Cloud application): là một đề xuất về kiến trúc phần mềm
sẵn sàng phục vụ, nhằm loại bỏ việc mua phần mềm, cài đặt, vận hành và duy trì
ứng dụng tại máy bàn/thiết bị của người dùng. Ứng dụng đám mây loại bỏ được các
chi phí để bảo trì và vận hành các chương trình ứng dụng.
Hạ tầng khách hàng (Client Infrastructure): là những yêu cầu phần mềm hoặc
phần cứng để sử dụng các dịch vụ Cloud trên mạng. Thiết bị cung cấp cho khách
hàng có thể là trình duyệt, máy tính, thiết bị di động…
II. So sánh giữa Grid và Cloud
Phần này tập trung so sánh giữa Grid và Cloud ngang qua nhiều khía
cạnh từ kiến trúc, mô hình bảo mật, mô hình thương mại, mô hình lập trình,
ảo hóa, mô hình dữ liệu, mô hình tính toán và ứng dụng. Cả hai mô hình
tính toán về mặt tổng quát thì giống nhau nhưng trong cụ thể thì có một số
điểm khác biệt.
1. Mô hình thương mại (Business Model)
Mô hình thương mại truyền thống trong các phần mềm trước đây là

hình thức tính phí theo máy tính. Trong Cloud mô hình tính phí linh hoạt
hơn nhiều, người dùng chỉ cần trả theo nhu cầu sử dụng. Ngoài ra Cloud
9

Tính toán lưới Trang 9
Tìm hiểu công nghệ Cloud Computing
còn hỗ trợ khả năng mở rộng hệ thống mang tính kinh tế, tức là người sử
dụng có thể triển khai với hệ thống ngày một lớn hơn với chi phí phù hợp.
Người dùng trong tương lai chỉ cần một thẻ tín dụng đã có thể truy cập theo
nhu cầu đến hàng 100,000 bộ xử lý qua hàng chục trung tâm dữ liệu trải
khắp thế giới.
Mô hình thương mại của Grid là hướng đến các dự án nghiên cứu trong
môi trường học thuật như các đại học, viện nghiên cứu, phòng thí nghiệm
của chính phủ. TeraGrid làm một ví dụ điển hình cho hình thức thương mại
của Grid, sử dụng hàng chục Grid khác nhau từ các viện nghiên cứu trong
cùng một quốc gia. Khi một tổ chức nào đó gia nhập vào TeraGrid thì sẽ có
thể truy cập đến các Gird khác và đồng thời có thể sử dụng tài nguyên, kết
quả thí nghiệm… trên hệ thống Grid này. Mô hình này đã được ứng dụng
rộng rải nhiều nơi trên thế giới.
Có nhiều nỗ lực để xây dựng mô hình kinh tế Grid cho cơ sở hạ tầng
Grid toàn cầu, nó hỗ trợ thương mại, chuyển nhượng, cung cấp dịch vụ theo
nhu cầu sử dụng, rủi ro và chi phí, sở thích của người dùng…
2. Kiến trúc (Architecture)
Grid tập trung vào việc tích hợp các tài nguyên sẵn có gồm phần cứng,
hệ điều hành, quản lý tài nguyên cục bộ và cở sở hạ tầng an ninh.
Để hỗ trợ sự phát triển tổ chức ảo (Virtual Organizations) – một thực
thể luận lý có thể nhận ra và chia sẻ các tài nguyên phân tán như trong cùng
một tổ chức, Grid đã định nghĩa và cung cấp một tập các giao thức chuẩn,
phần mềm trung gian (middleware), bộ công cụ và các dịch vụ được xây
dựng trên các giao thức này. Những vấn đề chính được quan tâm là khả

năng hoạt động liên kết và tính an toàn trên cơ sở hạ tầng Grid vì các tài
nguyên đến từ các miền quản trị khác nhau, có cả chính sách sử dụng tài
nguyên cục bộ và toàn cục, các nền tảng và cấu hình phần cứng và phần
mềm khác nhau.
10

Tính toán lưới Trang 10
Tìm hiểu công nghệ Cloud Computing
Grid cung cấp các giao thức và dịch vụ với 5 lớp khác nhau như hình
minh họa sau:
Hình 5: Kiến trúc của Grid và Cloud.
 Lớp Fabric: cung cấp truy cập tới các loại tài nguyên khác nhau
như tính toán, tài nguyên lưu trữ và mạng, kho mã nguồn…
 Lớp Connectivity: định nghĩa các chuẩn giao tiếp thông tin và
chứng thực chính cho các giao tác mạng dễ dạng và an toàn hơn.
 Lớp Resourcce: định nghĩa các giao thức cho việc phát hành, phát
minh, chuyển nhượng, giám sát, thanh toán chi phí cho các hoạt
động trên các tài nguyên riêng biệt.
 Lớp Collective: nắm giữ sự tương tác giữa các tài nguyên, dịch vụ
thư mục (như MDS) cho phép giám sát và phát hiện ra các tài
nguyên tổ chức ảo hóa
 Lớp Application: gồm các ứng dụng người dùng được xây dựng
trên đỉnh của các giao thức trên và API và hoạt động trong môi
trường ảo hóa.
Cloud được phát triển để giải quyết những bài toán tính toán mở rộng
qua Internet trong đó một số giả thiết là khác biệt so với Grid. Cloud được
xem như là nguồn tài nguyền tính toán và lưu trữ lớn, được truy cập thông
11

Tính toán lưới Trang 11

Tìm hiểu công nghệ Cloud Computing
qua các giao thức chuẩn và qua lớp trừu tượng. Cloud được xây dựng trên
các giao thức sẵn có như Web Services (WSDL, SOAP) và một số công
nghệ Web 2.0 như REST, RSS, AJAX Thực tế, Cloud được hiện thi trên
những công nghệ Grid đã tồn tại hàng thập niên của cộng đồng Grid.
Có nhiều phiên bản định nghĩa kiến trúc Cloud. Nhưng để so sánh với
kiến trúc Grid nên chúng ta hướng vào kiến trúc 4 lớp sau (xem hình 5):
 Lớp Fabric: chứa các tài nguyên phần cứng như tài nguyên tính
toán, tài nguyên lưu trữ và tài nguyên mạng.
 Lớp Unified Resource: chứa các tài nguyên được trừu tượng hóa
(ảo hóa) để kết nối với lớp trên và với người dùng cuối như tài
nguyên được tích hợp (hệ thống tập tin, hệ cơ sở dữ liệu…).
 Lớp Platform: thêm vào các công cụ chuyên dụng, phần mềm trung
gian và dịch vụ ở trên lớp Unified Resource.
 Lớp Application: chứa các ứng dụng chạy trên Cloud.
Kiến trúc của Cloud hướng đến ba mô hình dịch vụ sau: Software as a
Service – SaaS, Platform as a Service – PaaS, Infrastructure as a Service –
IaaS.
3. Quản lý tài nguyên
Quản lý tài nguyên là vấn đề quyết định khả năng hoạt động của hệ
thống và nó không thể thiếu trong các hệ thống lớn như Grid và Cloud.
Trong phần này, chúng ta đề cập đến những thách thức chính mà cả Grid và
Cloud phải đối mặt để thấy được điểm tương đồng và khác biệt trong hai
mô hình này.
3.1. Mô hình tính toán (Compute Model)
Hầu hết các Grid sử dụng mô hình tính toán batch-scheduled cùng với
một bộ quản lý tài nguyên cục bộ như PBS, Condor, SGE để quản lý tài
nguyên tại các vị trí của Grid, và người dùng gửi các batch job (thông qua
12


Tính toán lưới Trang 12
Tìm hiểu công nghệ Cloud Computing
GRAM) để yêu cầu một số tài nguyên. Nhiều Grid buộc các batch job nhận
dạng người dùng và chứng nhận công việc nào sẽ được thực thi nhằm mục
đích bảo mật, số bộ xử lý cần, và thời gian cấp phát. Chẳng hạn trong
trường hợp một chương trình cần 100 bộ xử lý và thực thi trong 60 phút, nó
phải đợi đến khi hệ thống có đủ 100 bộ xử lý và rảnh trong 60 phút. Mô
hình tính toán trong Cloud hoàn toàn khác, tất cả người dùng được sử dụng
tài nguyên cùng lúc, đồng thời vẫn đảm bảo được chất lượng dịch vụ cho
người dùng. Đây cũng là một trong những thách thức của Cloud về khả
năng mở rộng khi số lượng người dùng lớn.
3.2. Mô hình dữ liệu (Data Model)
Trong khi một số người mạnh dạn khẳng định Internet Computing tương lai sẽ
tập trung vào Cloud Computing. Cloud sẽ chủ yếu cung cấp các dịch vụ như lưu trữ,
tính toán, và tất cả các loại tài nguyên khác. Chúng tôi hình dung rằng Internet
Computing thế hệ tiếp theo sẽ đi theo mô hình tam giác thể hiện trong hình 6.
Vai trò của Cloud Computing không cần đề cập tiếp, nhưng tầm quan trọng của
Client Computing thì không thể bỏ qua vì một vài lý do sau:
 Về bảo mật, người dùng sẽ không muốn chạy các ứng dụng quan trọng trên
Cloud và gửi các dữ liệu nhạy cảm để xử lý và lưu trữ trên Cloud.
 Người dùng muốn hoàn thành công việc ngay cả khi Internet và Cloud bị
chậm hay rớt mạng.
 Công nghệ đa nhân (multi-core technology) cũng mang đến cho người dùng
nhiều hệ thống con mạnh mẽ trong tương lai.
13

Tính toán lưới Trang 13
Tìm hiểu công nghệ Cloud Computing
Hình 6: Mô hình tam giác của Internet Computing thế hệ tiếp theo.
Cộng đồng Grid quan tâm tới tầm quan trọng của dữ liệu cách đây một

thập kỷ trước. Data Grid đã được thiết kế dành riêng cho các ứng dụng
chuyên về dữ liệu, với khái niệm dữ liệu ảo hóa giữ vai trò then chốt. Dữ
liệu ảo hóa nắm giữ mối quan hệ giữa dữ liệu, chương trình và tính toán và
quy định các kiểu trừu tượng.
3.3. Vị trí dữ liệu (Data locality)
Một thách thức lớn cho bài toán mở rộng ứng dụng để hiệu quả hơn là
vị trí của dữ liệu với các tài nguyên sẵn có - việc di chuyển dữ liệu liên tục
ở xa về các bộ xử lý gây nghẽn cổ chai. Quá trình nhập xuất (I/O) dữ liệu từ
xa có khác biệt lớn với I/O trên dữ liệu cục bộ và gây ảnh hưởng trực tiếp
đến hiệu năng của hệ thống. Để đạt được khả năng mở rộng tốt ở quy mô
Internet cho Cloud và Grid, dữ liệu được phân tán trên nhiều máy tính và
quá trình tính toán phải thực thi ở nơi tốt nhất để chi phí truyền thông tin là
tối thiểu. Đây là hướng được Cloud quan tâm giải quyết. Quá trình xử lý dữ
liệu được sắp xếp lưu trữ dữ liệu: khi cần xử lý một tập tin, job scheduler sẽ
gọi dịch vụ storage metadata để lấy nút chính ứng với mỗi chunk, sau đó
lập lịch xử lý trên nút đó, vì vậy vấn đề “data locality” sẽ được giải quyết
một cách hiệu quả.
14

Tính toán lưới Trang 14
Tìm hiểu công nghệ Cloud Computing
Với Grid, dữ liệu được lưu trữ trên các hệ thống tập tin chia sẻ (như
NFS, GPFS, PVFS, Luster) nên không dễ dàng áp dụng. Đây cũng là một
điểm yếu của Grid so với Cloud.
3.4. Kết hợp tính toán và quản lý dữ liệu
Vị trí của dữ liệu chỉ hiệu quả khi mà số lượng người dùng và qui mô
chưa thực sự lớn. Khi hệ thống ngày càng mở rộng thì vấn đề kết hợp tính
toán và quản lý dữ liệu trở thành yếu tố quan trọng cho việc cải thiện hiệu
năng. Lập lịch cho các tác vụ tính toán gần với dữ liệu và để tiết kiệm chi
phi di chuyển dữ liệu. Data-aware scheduler và dữ liệu phân tán gần với bộ

xử lý để đạt được khả năng mở rộng và hiệu năng tốt. Kiến trúc quản lý dữ
liệu thì quan trọng nhằm đảm bảo việc thực thi quản lý dữ liệu phù hợp với
mọi kích thước tập dữ liệu trong cùng một lúc. Gird đã có các mô hình tập
trung cho các ứng dụng dữ liệu khổng lồ, còn Cloud thì sẽ phải đối mặt với
vấn đề này trong tương lai.
3.5. Ảo hóa (Virtualization)
Đây là công nghệ được khai thác mạnh mẽ trong hầu hết các Cloud. Không
giống như mô hình tính toán của Grid, Cloud phải chạy nhiều ứng dụng đa người
dùng (lên tới hàng ngàn, hàng triệu người) và tất cả các ứng dụng này phải được
chạy đồng thời và có thể sử dụng mọi tài nguyên sẵn có trên Cloud. Công nghệ ảo
hóa cung cấp mức trừu tượng thiết yếu để hợp nhất các cấu trúc bên dưới (tính toán
thô, lưu trữ, tài nguyên mạng). Đồng thời ảo hóa còn cho phép đóng gói mỗi ứng
dụng để có thể cấu hình, triển khai, bắt đầu, di chuyển, tạm dừng, tiếp tục, dừng
hẳn và cung cấp thêm khả năng bảo mật, quản lý, và cô lập tốt hơn. Grid không
dựa vào công nghệ ảo hóa nhiều như Cloud, nhưng để đảm bảo được tính riêng tư
cho các tổ chức ảo trên tài nguyên thì công nghệ ảo hóa cũng được sử dụng trong
Grid chẳng hạn như Nimbus.
3.6. Giám sát (Monitoring)
15

Tính toán lưới Trang 15
Tìm hiểu công nghệ Cloud Computing
Một thách thức khác mà công nghệ ảo hóa mang lại cho Clouds đó là việc
giám sát tài nguyên. Vấn đề giám sát tài nguyên trên Cloud chưa được tổ chức trực
tiếp như Grid. Grid đưa ra các mô hình tin cậy khác nhau để người dùng được ủy
quyền có thể truy cập và duyệt các tài nguyên trên các Grid khác nhau. Hơn nữa,
Grid không có độ trừu tượng cao và tận dụng ảo hóa như Cloud, ví dụ hệ thống giám
sát phân tán (và phân cấp) Ganglia có thể theo dõi toàn bộ các cluster và Grid khá
hiệu quả và được chấp nhận rộng rãi trong cộng đồng Grid. Khả năng giám sát tài
nguyên của Cloud gặp nhiều thách thức do mục tiêu đề ra là việc cân bằng quá trình

giám sát các ứng dụng thương mại, quản lý máy chủ doanh nghiệp, giám sát máy ảo,
bảo trì phần cứng Do đó trong tương lai gần Cloud sẽ hướng đến việc cung cấp
khả năng tự bảo trì, cấu hình và quản lý về tay người dùng.
3.7. Nguồn gốc dữ liệu (Provenance)
Provenance ám chỉ tới nguồn gốc, lai lịch của sản phẩm dữ liệu, bao gồm tất cả
các nguồn dữ liệu, sản phẩm dữ liệu trung gian, và các thủ tục đã sử dụng trong sản
phẩm dữ liệu. Thông tin nguồn gốc cần thiết trong nhận thức, khám phá, xác minh,
chia sẻ sản phẩm dữ liệu nào đó, cũng như trong các ứng dụng và chương trình.
Trong Grid, quản lý nguồn gốc được xây dựng thành hệ thống workflow từ rất sớm
như Chimera cho tới các hệ thống workflow hiện đại như Swift, Kepler và VIEW để
hỗ trợ khám phá và tái sử dụng các kết quả khoa học. Ngược lại, Cloud còn chưa
khai thác lĩnh vực này và có nhiều thách thức trong việc theo vết dữ liệu thông qua
các nhà cung cấp dịch vụ khác nhau (khác nền tảng và chính sách tiếp cận), các lớp
trừu tượng phần mềm và phần cứng khác nhau của một nhà cung cấp.
4. Mô hình lập trình (Programming Model)
Về cơ bản mô hình lập trình trong môi trường Grid không khác biệt so với các
môi trường lập trình song song và phân tán truyền thống. Nó có một số vấn đề phức
tạp như nhiều miền quản trị, tài nguyên không đồng bộ, tính ổn định và hiệu năng,
điểu khiển ngoại lệ trong môi trường có tính linh động cao Mục tiêu chính của
Grid là hướng tới khả năng mở rộng cao cho các ứng dụng khoa học, nó phải mở
rộng để tận dụng số lượng tài nguyên lớn và thực thi vừa nhanh vừa hiệu quả. Do dó
16

Tính toán lưới Trang 16
Tìm hiểu công nghệ Cloud Computing
các chương trình cần phải hoàn thành một cách chính xác nên phải xem xét đến độ
tin cậy và khả năng kháng lỗi trong môi trường Grid.
Ngoài các môi trường lập trình truyền thống như MPI, Globus Toolkit, còn có
một mô hình lập trình được quan tâm gần đây là MapReduce. MapReduce thật ra chỉ
là một mô hình lập trình song song khác nhằm vào các hệ thống với số lượng dữ liệu

lớn. Nó được xây dựng dựa trên hai từ hàm chính là “map” và “reduce” mượn từ các
ngôn ngữ hàm. Hàm “map” áp dụng phép toán cụ thể lên mỗi tập dữ liệu và sinh ra
một tập dữ liệu mới. Hàm “reduce” ngược lại sẽ hợp các dữ liệu lại. Một hiện thực
mã mở của mô hình này là Hadoop và đang được quan tâm trong Cloud.
Cloud về khái quát chấp nhận các Web Services APIs, nơi mà người dùng cấu
hình và lập trình dịch vụ Cloud dựa trên các API được trình bày trong Web Services.
Các giao thức HTTP và SOAP là những giao thức chuẩn được chọn trong các dịch
vụ này. Mặc dù Cloud chấp nhận một số giao thức chung như HTTP và SOAP, khả
năng tích hợp và liên kết giữa các dịch vụ lẫn ứng dụng vẫn là một thách thức lớn
khi người dùng làm việc với các nhà cung cấp Cloud khác nhau.
5. Mô hình ứng dụng (Application Model)
Grid hỗ trợ nhiều loại ứng dụng từ high performance computing (HPC) cho tới
high throughput computing (HTC). Những ứng dụng HPC thực thi hiệu quả những
bài toán song song trên hệ thống cục bộ không qua internet; những ứng dụng này sử
dụng giao diện truyền tin (MPI) để đạt được độ truyền thông liên tiến trình cần thiết.
Có một số lớp ứng dụng như Multiple Program Multiple Data (MPMD), MTC, tính
toán khả năng, tính toán theo như cầu…
Theo lý thuyết Cloud Computing cũng hỗ trợ các loại ứng dụng như trong
Grid. Nhưng các ứng dụng HPC trong Cloud không đạt được hiệu quả như trong
Grid, vì chúng yêu cầu tốc độ kết nối nhanh và độ trễ thấp. Vì thế Cloud còn trong
quá trình sơ khai, và còn nhiều vấn đề cần giải quyết.
Science Gateway là các công cụ được cộng đồng phát triển, các ứng dụng, các
bộ dữ liệu được tích hợp thông qua portal hoặc một bộ các ứng dụng. Gateway cung
cấp nhiều khả năng truy cập tới workflow, ảo hóa, khám phá tài nguyên… thông qua
17

Tính toán lưới Trang 17
Tìm hiểu công nghệ Cloud Computing
trình duyệt web. Gateway khoa học bắt đầu phát triển trên công nghệ Web 2.0. Trình
duyệt web và công nghệ Web 2.0 sẽ giữ vai trò trung tâm khi người dùng tương tác

với Grid và Cloud trong tương lai.
6. Mô hình bảo mật (Security Model)
Cloud hầu như bao gồm nhiều trung tâm dữ liệu riêng cùng một tổ chức, với
mỗi trung tâm dữ liệu, cấu hình phần cứng và phần mềm, các nền tảng hỗ trợ thì
đồng nhất hơn so với môi trường Grid. Tuy nhiên Grid xây dựng trên giả định rằng
các nguồn tài nguyên là không đồng nhất và động, và mỗi Grid có tên miền riêng
của mình và tự chủ hoạt động. Vì vậy, bảo mật đã được thiết kế trong cơ sở hạ tầng
Grid cơ bản. Khóa công khai dựa trên giao thức GSI (Grid Security Infrastructure)
được sử dụng để xác thực, bảo vệ thông tin và ủy quyền. CAS (Community
Authorization Service) được thiết kế để ủy quyền tài nguyên cấp cao.
Mô hình bảo mật của Cloud hiện tại đơn giản và kém bảo mật hơn các mô hình
sẵn có của Grid. Tiêu biểu là Cloud dựa trên Web tạo ra tài khoản người dùng, cho
phép họ đặt lại mật khẩu và nhận mật khẩu mới thông qua email trong một môi
trường không mã hóa và không an toàn. Chú ý rằng, người dùng có thể dễ dàng sử
dụng Cloud ngay lập tức với chỉ một thẻ tín dụng hay địa chỉ email. Ngược lại hoàn
toàn, Grid hạn chế hơn về tính bảo mật. Chẳng hạn, mặc dù thông qua Web để tạo
tài khoản người dùng, thông tin nhạy cảm về tài khoản, mật khẩu được yêu cầu giao
tiếp giữa người với người để xác nhận rõ ràng người dùng được ủy quyền.
Tính bảo mật là một vấn đề quan trọng được quan tâm nhiều trong Cloud
Computing. Có 7 điểm chính mà một người dùng Cloud cần chú ý khi quyết định sử
dụng:
 Truy cập bởi người dùng có quyền hạn: Việc xử lý dữ liệu nhạy cảm bên
ngoài doanh nghiệp cần đảm bảo rằng chúng chỉ được truy cập và sử dụng
bởi người có quyền hạn.
 Tuân thủ quy định : Người dùng cần phải biết được nhà cung cấp Cloud có
thực hiện các thao tác ngoài luồng trên dữ liệu của họ hay không.
18

Tính toán lưới Trang 18
Tìm hiểu công nghệ Cloud Computing

 Vị trí dữ liệu: Do người dùng không biết nơi lưu trữ dữ liệu của họ, nhà
cung cấp Cloud phải đảm bảo lưu trữ và xử lý dữ liệu đúng theo thỏa thuận
pháp lý ban đầu và phải tuân thủ yêu cầu về tính riêng tư của người dùng.
 Sự tách biệt về dữ liệu: Dữ liệu giữa các người sử dụng khác nhau phải
được lưu trữ riêng biệt.
 Khôi phục: Nhà cung cấp Cloud phải có cơ chế sao lưu và khôi phục dữ liệu
trong trường hợp có hư hại xảy ra.
 Hỗ trợ kiểm tra: Các dịch vụ Cloud rất khó kiểm tra, nếu như điều đó là
quan trọng với người dùng thì nhà cung cấp dịch vụ cũng phải có cơ chế hỗ
trợ.
 Tính lâu dài: Dữ liệu trên Cloud phải tồn tại lâu dài bền vững ngay khi nhà
cung cấp Cloud bị thu mua bởi một công ty khác.
III. Thử nghiệm bài toán khí quyển – đại dương trên EC2
Tính toán hiệu năng cao (HPC) chạy song song truyền thống bị chi phối bởi hệ
thống hàng đợi hướng xử lý theo khối. Mô hình hoạt động này đã đạt được nhiều
thành quả, nhưng cũng gặp trở ngại để phát triển. Đặc biệt là mô hình khối hàng đợi
gây khó khăn trong việc đáp ứng theo nhu cầu và trong nghiên cứu khoa học mang
tính toán tùy biến cao. Điện toán đám mây theo nhu cầu ra đời tạo ra một hướng mới
đối với HPC, trong đó nguồn tài nguyên ảo hóa có thể được cô lập và tùy biến.
Trong phần này, chúng tôi thực hiện bài đánh giá HPC truyền thống trên hệ thống
điện toán đám mây EC2 của Amazon, thử nghiệm một ví dụ mô hình khí quyển - đại
dương. Thử nghiệm mô phỏng tính toán song song trên điện toán đám mây bắt đầu
tác động đến các ứng dụng HPC song song trong tương lai gần.
1. Amazon Web Services: Elastic Compute Cloud
Trong năm 2006 Amazon công bố dịch vụ lưu trữ Simple Storage Service (S3)
và điện toán đám mây Elastic Compute Cloud (EC2). S3 và EC2 cùng tạo ra một
điện toán đám mây tính toán và lưu trữ nguồn cung cấp khả năng tính toán trên các
cluster song song ảo hóa được cấp phát và thu hồi theo nhu cầu. EC2 dựa trên Linux
và Xen và rất nhiều O/S images, Amazon Machine Images (AMIs).
1.1. Các mẫu EC2

19

Tính toán lưới Trang 19
Tìm hiểu công nghệ Cloud Computing
Hiện nay Amazon EC2 cung cấp năm loại mẫu “phần cứng” với các đặc tính
(sức mạnh CPU, bộ nhớ, ổ đĩa và định địa chỉ) và giá cả khác nhau. Amazon đưa ra
các mẫu EC2 Compute Unit: “Một EC2 Compute Unit cung cấp các khả năng của
CPU tương đương với vi xử lý 1.0-1.2 GHz Opteron 2007 hoặc Xeon 2007”.
Amazon phân loại:
- Một bộ ba mẫu chuẩn gọi là m1.small, m1.large và m1.xlarge.
- Cặp mẫu high_cpu được gọi là c1.medium và c1.xlarge.
Chúng tôi khởi tạo tất cả năm mẫu và xem phần cứng thực tế đã được cung
cấp. Chúng tôi được chỉ định CPU đa nhân dual socket. Đối với đánh giá này không
chỉ đề cập tới wallclock và thời gian cpu trong các trường hợp này, mà cả trong
trường hợp các đoạn mã. Đảm bảo rằng không có các tiến trình nền hoặc tiến trình
khác đang sử dụng CPU, rất quan trọng cho tất cả các bài thử nghiệm. Với các ứng
dụng chiếm phần lớn thời gian thực thi của CPU thì hạn chế sử dụng ở mức 50%,
điều này có nghĩa là một mẫu về cơ bản tương đương với một vi xử lý 1,3 GHz
Opteron (định nghĩa của EC2 Compute Unit). Nghĩa là không nhất thiết do độ trễ
băng thông bộ nhớ hoặc bộ nhớ (số lượng quan trọng đối với nhiều ứng dụng HPC).
Vì chạy trong một môi trường máy ảo, chúng ta cũng không thể biết tại bất kỳ thời
điểm nào liệu các nhân khác trong hệ thống vật lý thực tế của chúng ta (nhưng
không phải trong O/S image) đang được sử dụng bởi chính chúng ta hoặc người
dùng khác. Dùng chung hệ thống vật lý dẫn đến tranh chấp băng thông bộ xử lý (với
loại mẫu chuẩn), và băng thông bộ nhớ chính (với loại mẫu trung bình). Ngoại trừ
các mẫu xlarge mà chủ yếu chạy một máy ảo Xen domU đơn nhân trên một Xen
dom0 cơ sở vì chung hai nút socket. Các mẫu CPU tốc độ cao sử dụng vi xử lý lõi
tứ: trong khi kiến trúc Core2 rất nhanh, băng thông bộ nhớ hiệu quả của chúng tiếp
tục giảm như 4 nhân xử lý chia sẻ cùng các chân socket tới đường dẫn cầu bắc vào
bộ nhớ chính (đó là lần lượt chia sẻ bốn nhân của các socket khác).

Trong mỗi bộ các mẫu, giá cả tỷ lệ thuận với số lượng EC2 Compute Units
nhưng tính toán hiệu năng thông minh (dựa trên số liệu của Amazon) với CPU tốc
độ cao 32-bit dường như là chi phí hiệu quả. Đối với thử nghiệm này, chúng tôi đã
20

Tính toán lưới Trang 20
Tìm hiểu công nghệ Cloud Computing
lựa chọn ban đầu tập trung thử nghiệm trên 32-bit có chi phí rẻ nhất (ở mức 0.1 và
0.2 USD trên một giờ CPU tương ứng).
1.2. Thử nghiệm với các đánh giá HPC chuẩn
Chúng tôi đặt ra một số tiêu chuẩn cơ bản về khả năng thực thi cho một lớp
tổng quát của các ứng dụng khoa học. Thử nghiệm băng thông bộ nhớ bằng cách sử
dụng chuẩn STREAM thực thi 32-bit có sẵn cho từng bộ xử lý. Kết quả thể hiện
trong Bảng 1 cho băng thông cao đáng ngạc nhiên với các loại mẫu chuẩn (tốt hơn
đáng kể so với hệ thống Opteron 1.4GHz thế hệ đầu tiên - nhờ sử dụng bộ nhớ
DDR2). Trường hợp trung bình CPU tốc độ cao cung cấp băng thông tương tự như
những gì người ta mong đợi với một kiến trúc như vậy nhưng tốt hơn so với những
gì người ta mong chờ từ hai nhân chia sẻ cùng các chân socket của bộ nhớ chính.
Điều này dẫn chúng ta đưa ra giả thuyết rằng trong thực tế, phần cứng ánh xạ từ ảo
tới bộ xử lý vật lý chọn 2 nhân từ các socket khác nhau cho loại mẫu này.
Hệ thống 1 luồng N luồng trên 1 nhân B/W
m1.shall 5.4 GB/s n/a 5.4 GB/s
c1.medium 3.6 GB/s 5.3 GB/s 2.6 GB/s
Operton 1.4 GHz 2.8 GB/s 5.6 GB/s 2.8 GB/s
Bảng 1: STREAM Triad bandwidth (B/W) per core on Amazon EC2.
Để thử nghiệm hiệu năng tính toán trên một tập rộng các ứng dụng mô hình và
kernel, chúng tôi sử dụng phiên bản NAS Parallel Benchmarks (NPB) (v.3.3).
Chúng tôi sử dụng cả lớp máy trạm (W) và các lớp song song nhỏ nhất (A). (Từ khi
được định nghĩa sau hơn 10 năm, lớp A phù hợp với bất kỳ mẫu nào của chúng tôi
hoặc các hệ thống máy trạm có sẵn). Để thực thi chúng tôi biên dịch tất cả mọi thứ

với trình biên dịch hệ thống và cờ tối ưu với mục tiêu của mẫu chung nhỏ nhất
(Opteron trong mẫu chuẩn). Chúng ta thấy trong Bảng 2 là trung bình nhân của (BT,
CG, FT, IS, LU, MG, SP, UA - chúng tôi loại trừ DC) cũng như giá trị của EP đã thử
nghiệm vào khoảng 2.2 và 2.4 lần nhanh hơn trên các mẫu CPU tốc độ cao. Đây là ít
hơn một nửa hiệu suất của EC2 compute unit của Amazon cho máy này, nhưng vẫn
đáng giá 2 lần.
Hệ thống Lớp A Lớp W EP (A) EP (W)
21

Tính toán lưới Trang 21
Tìm hiểu công nghệ Cloud Computing
m1.shall 132 149 6.66 6.73
c1.medium 312 357 15.59 15.04
ratio 2.36 2.40 2.34 2.23
Bảng 2: NPB Benchmarks v.3.3.
2.2.1. Hiệu năng nhập xuất (I/O)
Để thử nghiệm hiệu năng hệ thống phụ I/O chúng tôi xây dựng phiên bản mới
nhất theo chuẩn IOR trong chế độ POSIX và thử nghiệm các yêu cầu ghi và đọc lớn
trên cả thư mục /tmp cũng như thư mục home kết nối từ xa (nơi chứa mẫu
“c1.small” chuẩn). Kết quả hiệu năng (sử dụng hàm fsync để vô hiệu hóa các cache
tập tin hệ thống O/S) được như mong đợi khi bộ nhớ đang được sử dụng hoàn toàn,
xem trong bảng 3. Có sự khác biệt lớn giữa hiệu năng ghi và đọc của CPU tốc độ
cao đến/từ ổ đĩa cục bộ. Hiệu năng NFS cơ bản là giống nhau trong mọi trường hợp
và sử dụng cả hai nhân làm tăng hiệu năng đọc và làm giảm hiệu năng ghi. Thực tế,
hiệu năng đọc từ ổ đĩa cục bộ gần bằng giữa hai mẫu, hầu hết các phép đo là trong
khoảng 800MB/s cho một chuẩn.
Để tiếp tục thử nghiệm sâu hơn, chúng tôi sử dụng BT-IO I/O benchmark với
phiên bản MPI của NPB (biên dịch những ứng dụng trước đây với MPI, đặt 1 bộ xử
lý). Chúng tôi chạy thử nghiệm cả trong /tmp và trên NFS để thấy sự khác biệt trong
thử nghiệm này. Như đã thấy trong Bảng 3, hiệu năng I/O trong các mẫu c1.medium

là khoảng gấp đôi trong các mẫu chuẩn và điều này vẫn còn gần đúng (với mức
giảm cho mỗi nhân khoảng 20%), ngay cả khi cả hai quá trình trên các nút ảo đang
thực hiện I/O.
Tóm lại, có vẻ như mẫu trung bình CPU tốc độ cao không nhanh hơn 5 lần so
với mẫu chuẩn trong thử nghiệm. Đó là trong thực tế thiếu nhiều băng thông bộ nhớ
(một yếu tố phụ của sự khác biệt giữa kiến trúc CPU Opteron và Core2) và giữa 2-
2.5 lần nhanh hơn trên NAS Parallel Benchmarks. Hiệu năng I/O ở ổ đĩa cũng có xu
hướng cao hơn, xấp xỉ 1.5 - 2.0. Loại mẫu này có giá gấp đôi, không quá phụ thuộc
vào băng thông bộ nhớ.
System to /tmp over NFS
22

Tính toán lưới Trang 22
Tìm hiểu công nghệ Cloud Computing
Write Read Write Read
m1.shall 167.59 1626.20 40.36 72.73
c1.medium 283.52 1882.17 42.10 62.79
using both cores, separate file targets, total performance
c1.medium 264.44 2399.00 41.27 63.38
Bảng 3: Hiệu năng đọc và ghi theo chuẩn IOR.
System
to /tmp over NFS
Class A Class W Class A Class W
m1.shall 17 MB/s 16 MB/s 15 MB/s 14 MB/s
c1.medium 29 MB/s 29 MB/s 26 MB/s 30 MB/s
using both cores, performance per core
c1.medium 28 MB/s 28 MB/s 21 MB/s 26 MB/s
Bảng 4: NAS NPB 3.3 BT-IO Benchmark.
2. MPI trong điện toán đám mây MC2
Để sử dụng EC2 cho nhiều việc gì khác hơn là kiểu bag-of-tasks của các ứng

dụng khoa học, người ta sẽ cần phải sử dụng một số ứng dụng trung gian song song.
Ứng dụng khoa học song song phổ biến hiện nay sử dụng MPI và do đó chúng được
xây dựng và cài đặt một số tập lệnh MPI và thử nghiệm về hiệu năng và tính chính
xác. Một điều lưu ý chính khi sử dụng EC2 là chúng ta phải sử dụng tập lệnh MPI
miễn phí thực hiện để tạo tự động các cluster với bản quyền đã cho. Chúng tôi đã
thử nghiệm phiên bản mới nhất của LAM (7.1.2), MPICH2 (1.0.7), OpenMPI (1.2.6
và phiên bản alpha 1.3-1.3a1r19110) và GridMPI (2.1. 1).
Trong tất cả các tập lệnh MPI, chỉ duy nhất OpenMPI 1.2.6 là không hoạt
động. Điều này đã được truy vết từ một kiểm tra xem mã OpenMPI nào để đảm bảo
tất cả các nút trong cùng một mạng con và được giả định có các định tuyến với
nhau. Cách thiết lập EC2, ngay cả khi một trong những yêu cầu khởi tạo nhiều nút,
không đảm bảo rằng tất cả các mẫu khởi động sẽ trong cùng một mạng con và trong
thực tế, phần lớn thời gian của chúng thì không. Chúng tôi đã xây dựng một phiên
bản alpha cho OpenMPI để tránh vấn đề này. Ban đầu chúng tôi xây dựng MPICH2
bằng cách sử dụng thiết bị CH3 “Nemesis” hiệu năng cao và mới hơn, nhưng sau
khi chứng kiến hiệu suất kém, chúng tôi xây dựng lại nó với cấu hình socket cơ bản.
23

Tính toán lưới Trang 23
Tìm hiểu công nghệ Cloud Computing
System độ trễ uni-bw bi-bw
LAM
GridMPI
MPICH2 nemesis
MPICH2 sock
OpenMPI
81.20µs
83.46µs
300µs
85.87µs

300µs
57.85MB/s
54.60MB/s
15.72MB/s
58.49MB/s
16.44MB/s
81.98MB/s
77.07MB/s
26.08MB/s
83.42MB/s
17.99MB/s
LAM/ACES 35.83µs 117.64MB/s 198.59MB/s
Bảng 5: Các thông số MPI cơ bản.
Chúng tôi tóm tắt trong Bảng 5 các thông số hoạt động cơ bản của các lần chạy
MPI khác nhau như phép đo của OMB-3.1 benchmarks tương ứng. Cả hai OpenMPI
và MPICH2-nemesis thể hiện độ trễ cao (khoảng 300 - 600μs cho kích cỡ gói tin
nhỏ, xem hình 7). Băng thông tiệm cận của chúng cũng rất thấp. GridMPI, LAM và
MPICH2-sock mặt khác có đặc tính hiệu năng tương tự (và mượt hơn).
Hình 7: So sánh độ trễ
Kết quả cho thấy tầng ảo hóa Xen ở mức tốt nhất với độ trễ mạng trong khoảng
80μs và băng thông hai chiều trong khoảng 80MB/s. Điều này thực sự đáng mong
đợi với độ trễ chấp nhận được (nhiều cluster Beowulf đầu tiên có độ trễ trên 100μs).
Tuy nhiên, cluster Gigabit Ethernet thế hệ mới có độ trễ ≈ 30μs. Thực tế là EC2 chỉ
cung cấp “khu khả dụng” và không phải là tùy chọn của cùng một mạng con cùng
24

Tính toán lưới Trang 24
Tìm hiểu công nghệ Cloud Computing
với thực tế là không có cách nào để biết liệu các mẫu đang chia sẻ cùng một nút (và
băng thông mạng đến/từ nó) sẽ không nhất quán việc thực thi do sự can thiệp từ bên

ngoài. Một số có thể được cải thiện hoặc thậm chí hủy bỏ bằng cách sử dụng tập
lệnh Xen-aware MPI với việc sửa đổi Xen domUs. Bằng cách đó việc chia sẻ bộ nhớ
được sử dụng giữa các mẫu trên cùng một máy chủ vật lý và con đường nhanh hơn
là dùng card mạng. Tuy nhiên những kết quả này phải yêu cầu trực tiếp Amazon khi
họ kiểm soát Xen domUs.
3. Minh họa ứng dụng
Với kết quả thực hiện mô tả ở trên, chúng tôi thực hiện cấu hình ứng dụng
HPC quy mô nhỏ. Chúng tôi chọn ứng dụng là hình thể khí quyển – đại dương của
MIT General Circulation Model (MITgcm). Mục tiêu của chúng tôi trong bài tập
này là:
- Hiểu các bước cần thiết để tạo ra một EC2 theo yêu cầu dựa trên cluster mà
có thể chạy một ứng dụng như chạy trên nền tảng HPC truyền thống.
- Chứng minh các ngăn xếp phần mềm cần thiết để tận dụng lợi thế của khả
năng tương tác, theo nhu cầu như nguồn tài nguyên cung cấp.
3.1. Các cluster EC2 theo nhu cầu
Để sử dụng EC2 tự động, chúng tôi cần tạo và hủy các cluster theo nhu cầu.
Hiện nay, không có cơ sở hạ tầng chuẩn nên chúng tôi sử dụng các công cụ EC2
API và sử dụng một số công việc trước đây của các học viên khác. Trong trường
hợp không có kết hợp cluster AMI cho EC2, chúng tôi tạo ra AMI riêng của mình,
dựa trên Fedora Core 7 mà chúng tôi đã chỉnh sửa theo các nhu cầu của mình.
3.2. Tối ưu trình biên dịch
Trong khi bản phát hành Linux hiện đại đi kèm với phiên bản v.4.1+ của GNU,
bao gồm GFortran cần thiết cho các mã khí hậu, có hai trình biên dịch hiệu năng cao
khác có thể được triển khai mà không cần bản quyền cho việc nghiên cứu và thực thi
tốt hơn, đó là Open64 và Sun Studio 12. Trong thực tế, ở trường hợp kết quả NPB
thể hiện trong Bảng 2.2 sau này cung cấp một sự gia tăng hiệu năng 11.5% cho giá
trị trung bình nhân của các thử nghiệm (lên đến 25% đối với loại MG). Nhược điểm
25

Tính toán lưới Trang 25

×