nhập môn công tác kỹ sư đề tài điện toán đám mây - Pdf 13

Điện toán đám mây
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA: KỸ THUẬT MÁY TÍNH

TIỂU LUẬN MÔN HỌC
MÔN : NHẬP MÔN CÔNG TÁC KỸ SƯ
ĐỀ TÀI : ĐIỆN TOÁN ĐÁM MÂY
GVHD: ThS. Nguyễn Văn Lợi
SVTH: Phan Đình Duy 06520111
Trần Ngọc Đức 06520091
Lê Phước Phát Đạt Đức 06520089
Hoàng Thị Thúy Trà 06520496
Hồ Chí Minh – 2009
Tiểu luận môn học
1
Điện toán đám mây
MỤC LỤC
TÓM TẮT NỘI DUNG VÀ GIỚI THIỆU ĐỀ TÀI

3
1. Điện toán đám mây.

4
2. Các đặc điểm của điện toán đám mây.

5
3. Sự cần thiết của điện toán đám mây

8
4. Hoạt động của điện toán đám mây

Đề tài “Điện toán đám mây ” tìm hiểu các định nghĩa, chức năng, nguyên tắc hoạt
động và các ứng dụng của điện toán đám mây trong thực tế cuộc sống.
Máy vi tính ngày nay đã trở thành một phần tất yếu của cuộc sống. Chúng ta
cần máy tính ở khắp mọi nơi, có thể là cho công việc, nghiên cứu hoặc trong bất kỳ
lĩnh vực nào. Khi việc sử dụng máy tính trong cuộc sống hàng ngày của chúng ta tăng
lên, các nguồn tài nguyên máy tính mà chúng ta cũng cần tăng lên. Đối với các công ty
lớn như Google và Microsoft, khai thác các nguồn tài nguyên như vậy khi họ cần
không phải là một vấn đề lớn. Nhưng khi nói đến doanh nghiệp nhỏ hơn, các nguồn tài
nguyên lớn như vậy trở thành một yếu tố rất lớn tác động đến kinh doanh. Với những
vấn đề lớn về cơ sở hạ tầng CNTT như máy hỏng, treo ổ cứng, lỗi phần mềm, v.v Đó
thật sự là những vấn đề rất đau đầu cho các doanh nghiệp. Điện toán đám mây cung
cấp một giải pháp cho tình trạng này.
Điện toán đám mây là một cuộc dịch chuyển cách mạng trong đó việc tính toán sẽ
được chuyển từ máy tính cá nhân và thậm chí cả các máy chủ ứng dụng doanh nghiệp,
cá nhân đến một đám mây máy tính. Đám mây là một hình tượng để chỉ đến tập các
máy chủ ảo hóa có thể cung cấp các nguồn tài nguyên của máy tính khác nhau cho
khách hàng của họ. Người sử dụng của hệ thống này chỉ cần được quan tâm tới các
dịch vụ máy tính đang được yêu cầu. Cái chi tiết bên dưới hệ thống của nó như thế nào
thì được ẩn khỏi người dùng. Các dữ liệu và các dịch vụ cung cấp nằm trong các trung
tâm dữ liệu của đám mây có khả năng mở rộng lớn và có thể được truy cập ở bất kỳ
đâu, từ bất kỳ thiết bị được kết nối trên thế giới.
Điện toán đám mây là một kiểu tính toán mà ở đó các công việc CNTT được cung
cấp như một dịch vụ trên internet đến nhiều khách hàng bên ngoài và khách hàng được
tính tiền theo sự sử dụng dịch vụ của họ. Nhiều nhà cung cấp điện toán đám mây đã
xuất hiện và có một sự tăng trưởng đáng kể trong việc sử dụng dịch vụ này. Google,
Microsoft, Yahoo, IBM và Amazon đã bắt đầu cung cấp dịch vụ điện toán đám mây.
Trong đó Amazon là nhà tiên phong trong lĩnh vực này. Các công ty nhỏ hơn như
SmugMug, một trang web lưu trữ hình ảnh trực tuyến, có sử dụng dịch vụ điện toán
đám mây để lưu trữ tất cả các dữ liệu và thực hiện một số dịch vụ của mình.
Tiểu luận môn học

như vậy.
Tính toán bắt đầu với thời đại máy tính mainframe. Đã có những mainframe lớn
và tất cả mọi người kết nối với chúng thông qua thiết bị đầu cuối câm (dumb terminal).
Mô hình cũ của doanh nghiệp máy tính là gây nên sự bất tiện và gò bó cho người ngồi
Tiểu luận môn học
5
Điện toán đám mây
ở các thiết bị đầu cuối câm, vì họ chỉ có thể làm những gì họ được "ủy quyền" để làm.
Họ bị lệ thuộc vào quản trị viên máy tính. Những nguời quản trị viên máy tính, chứ
không phải họ, sẽ cho phép họ làm việc hoặc sửa chữa những vấn đề của họ. Họ
có không có cách nào để ở lại đó làm việc cho đến khi những sáng kiến mới nhất nảy
ra.
Các máy tính cá nhân là một cuộc cách mạng nhằm thay đổi áp đặt và bất tiện của
hoạt động tính toán tập trung. Có một loại tự do trong việc sử dụng máy tính cá
nhân. Nhưng điều này sau đó được thay thế bởi các kiến trúc máy chủ, với các máy
chủ doanh nghiệp và những loại khác được thực hiện trong ngành công nghiệp. Điều
này đã làm cho chắc chắn là tính toán được hoàn tất và nó sẽ không làm trùng lắp các
nguồn lực đã có. Tất cả các máy tính đã được thực hiện tại các máy chủ. Internet đã
tăng trưởng mạnh mẽ trong rất nhiều vòng của những máy chủ này. Với Điện toán
đám mây chúng ta đã đến một sự giải quyết cho những vấn đề trên một cách đầy đủ
hơn. Chúng ta trở lại cơ sở hạ tầng điện toán tập trung. Nhưng ở trong môi trường
được cải tiến đó tại thời điểm này chúng ta có thể dễ dàng truy cập thông qua internet
và nắm toàn quyền điều khiển qua truy cập mạng đó.
2. Đặc điểm của điện toán đám mây
Một định nghĩa cho điện toán đám mây có thể được đưa ra như là một mô hình
máy tính mới mà ở đó dữ liệu và các dịch vụ được đặt tại các trung tâm dữ liệu có thể
mở rộng trong các đám mây và có thể được truy cập từ bất kỳ thiết bị nào qua internet.
Đám mây điện toán là một cách để cung cấp các dịch vụ khác nhau trên các máy
ảo được cấp phát trong một tập hợp các máy tính vật lý lớn nằm trong đám mây. Điện
toán đám mây trở nên tập trung chỉ khi chúng ta suy nghĩ về cái mà CNTT đã luôn

sử dụng. Số lượng phần cứng cần thiết cho tính toán được thực hiện bởi trình quản lý
và nói một cách khái quát là khách hàng được tính chi phí dựa trên cách ứng dụng sử
dụng các nguồn tài nguyên.
Những Đặc Điểm Của Điện Toán Đám Mây:
2.1. Tự Sửa Chữa:
Bất kỳ ứng dụng hoặc dịch vụ nào đang chạy trong một môi trường điện toán đám
mây có một tính chất tự sửa chữa. Trong trường hợp ứng dụng thất bại, luôn luôn có
một dự phòng tức thời của ứng dụng sẵn sàng để cho công việc không bị gián đoạn.
Có nhiều bản sao của cùng một ứng dụng - mỗi bản cập nhật chính nó thường xuyên vì
vậy ở những lần thất bại, có ít nhất một bản sao của ứng dụng có thể lấy lên hoạt động
mà thậm chí không cần thay đổi nhỏ nào trong trạng thái chạy của nó.
2. 2. Nhiều người sử dụng:
Với điện toán đám mây, bất kỳ ứng dụng nào cũng hỗ trợ đa người dùng - đó
là khái niệm dùng để chỉ nhiều người sử dụng đám mây trong cùng thời gian. Hệ thống
cho phép một số khách hàng chia sẻ cơ sở hạ tầng được phân bổ cho họ mà không
Tiểu luận môn học
7
Điện toán đám mây
ai trong họ nhận biết về sự chia sẻ này. Điều này được thực hiện bởi việc ảo hóa các
máy chủ trong một dải các máy tính và sau đó cấp phát các máy chủ đến nhiều người
sử dụng. Điều này được thực hiện theo cách mà trong đó sự riêng tư của người sử
dụng và bảo mật của dữ liệu của họ không bị tổn hại.
2.3. Khả năng mở rộng tuyến tính:
Dịch vụ điện toán đám mây có khả năng mở rộng tuyến tính. Hệ thống có khả
năng phân chia các luồng công việc thành phần nhỏ và phục vụ nó qua cơ sở hạ tầng.
Một ý tưởng chính xác của khả năng mở rộng tuyến tính có thể được lấy từ thực tế là
nếu một máy chủ có thể xử lý 1000 giao dịch trong một giây, thì hai máy chủ có thể
xử lý 2.000 giao dịch trong một giây.
2.4. Hướng dịch vụ:
Hệ thống Điện toán đám mây là tất cả các dịch vụ theo định hướng – những dịch

chỉ dùng hệ thống tính toán truyền thống của khách hàng, và điều này phụ thuộc vào
năng lực của nhà cung cấp dịch vụ chứ không phụ thuộc vào hệ thống tại chỗ của
khách hàng, mà thường là các máy của các nhà cung cấp dịch vụ thường là những máy
có năng lực tính toán rất lớn để có thể cung cấp cho nhiều người.
So với các hệ thống máy tính truyền thống thì điện toán đám mây có nhiều ưu
điểm vượt trội hơn. Ưu điểm đầu tiên là về tài nguyên hệ thống, giả sử với một công ty
khi trang bị hệ thống tính toán truyền thống cần phải xây dựng một hệ thống mạnh đủ
để phục vụ công việc cho một công ty. Điều đó đồng nghĩa với việc chi phí lắp đặt hệ
thống ban đầu tốn kém, và đối với hệ thống của công ty cần phải có người quản trị hệ
thống tốn thêm tài nguyên và nhân lực, và chi phí cho năng lượng tiêu thụ của hệ
thống cũng rất cao. Thêm vào đó là sự lãng phí tài nguyên khi mà hệ thống không
được sử dụng hết công suất của nó. Điều đó cho thấy rằng đầu tư vào một hệ thống
máy tính theo kiểu truyền thống thì có thể là tốn kém và lãng phí. Và nếu công ty sử
dụng điện toán đám mây thì khi đó không phải tốn một người quản trị, năng lượng tiêu
thụ cho hệ thống cũng không còn là vấn đề, đặc biệt là tài nguyên không sử dụng sẽ
không bị lãng phí vì khi đó công ty chỉ trả tiền cho phần tài nguyên mà họ sử dụng,
phần tài nguyên còn lại sẽ được người cung cấp dịch vụ cung cấp cho một công ty
khác.
Một ưu điểm nữa của điện toán đám mây là khả năng truy cập và sử dụng tài
nguyên ở mọi lúc mọi nơi khi mà ta có một máy tính bình thường được nối mạng
internet, khi đó ta có thể thực hiện một phép tính khổng lồ hoặc có thể sử dụng một
khối lượng dữ liệu lớn chỉ với một máy tính đơn giản.
Vấn đề về bản quyền phần mềm cũng là một vấn đề hết sức nan giải đối với các
công ty khi mà các phần mềm đó có giá quá cao. Với điện toán đám mây thì chỉ cần
nhà cung cấp dịch vụ bỏ tiền ra mua bản quyền thì tất cả các khách hàng của họ đều có
thể sử dụng nó như một phần mềm có bản quyền thật sự mà không phải bỏ ra một số
tiền lớn để mua bản quyền mà họ chi phải trả tiền cho những gì họ dùng.
Tiểu luận môn học
9
Điện toán đám mây

lập với người dùng thể hiện ở chỗ nó xử lý và trả về kết quả đạt được, chứ không cần
Tiểu luận môn học
11
Điện toán đám mây
phải quan trọng nó ở đâu và nó thực hiện điều đó bằng cách nào. Người dùng trả tiền
trên lưu lượng sử dụng hệ thống, như đã nói dịch vụ được tính bằng chu kỳ của CPU
hoặc byte. Thực tế số tiền mà khách hàng phải trả thường được tính dựa vào lưu lượng
dùng CPU trên một giờ hoặc số Gb dữ liệu di chuyển trong một giờ.
4.2. Kiến trúc máy chủ:
Điện toán đám mây được tạo thành bằng cách sử dụng tài nguyên vật lý lớn từ
nhiều máy chủ trong đám mây của nhà cung cấp dịch vụ. Đây là một ứng dụng của
nguyên tắc kết hợp vào trong bài toán cần một hệ thống tính toán lớn mà thiết bị
hoặc cơ sở vật chất không cho phép nên chúng ta cần phải ghép những thiết bị,
những hệ thống nhỏ lại với nhau để trở thành một hệ thống lớn đáp ứng những
nhu cầu lớn hơn cho người sử dụng trong những hệ thống yêu cầu tính toán và
lưu trữ lớn. Như đã nói bên trên, dịch vụ và ứng dụng của điện toán đám mây dựa
Tiểu luận môn học
12
Điện toán đám mây
trên máy chủ ảo được thiết kế từ tài nguyên góp lại này. Có hai ứng dụng (hoặc hệ
điều hành) sẽ giúp quản lý các thể hiện trên máy trong đám mây, cũng như quản lý tất
cả các tài nguyên của các thể hiện máy chủ ảo. Đây là một ứng dụng nguyên lý tách
khỏi vào trong hệ thống điện toán đám mây nhằm tách biệt phần cứng phức tạp
của hệ thống vói giao diện bên ngoài. Nhằm tạo ra một giao diện người dùng đơn
giản, dễ sử dụng hơn so với phần cứng phức tạp bên dưới và cũng là để tách biệt
giao diện người dùng với hệ thống phần cứng, khi đó người dùng chỉ cần quan
tâm đến những ứng dụng mà học cần chứ không cần quan tâm đến phần cứng
bên dưới được thực hiện như thế nào. Ứng dụng thứ nhất là Xen hypervisor cung
cấp các lớp trừu tượng giữa phần cứng và hệ điều hành ảo, nhờ vậy sự phân tán của
các tài nguyên và tiến trình được quản lý giống như là đang thực hiện trên một máy.

and Xen, OpenVZ, Linux Containers, VirtualBox. Nó có chế độ phân quyền người
dùng và đặt quyền truy cập.
4.3. MAP REDUCE
Map Reduce là một mô hình lập trình, được Google phát triển vào năm 2003, để
hỗ trợ cho quá trình tính toán song song trên số lượng tập các dữ liệu cực lớn (vài tỷ
Tiểu luận môn học
14
Điện toán đám mây
byte) lưu trữ ở các cụm máy tính thành phần trong đám mây điện toán. Trong mô hình
này, người dùng định nghĩa một hàm map để tính toán một cặp khóa/giá trị đầu vào và
tạo nên một tập các cặp khóa/giá trị tạm thời, sau đó hàm reduce sẽ gom nhóm tất cả
những giá trị tạm thời nào có chung khóa lại với nhau cho ra kết quả mong muốn. Rất
nhiều các tác vụ trong đời sống thực có thể được thực thi bằng mô hình này,chúng ta
sẽ xem xét cụ thể hơn ở phần sau.
Chương trình được viết theo kiểu chức năng này được song song hóa một cách tự
động và được thực thi trên một cụm lớn các “máy tính hàng hóa” (các máy tính thành
phần cấu tạo nên đám mây điện toán). Hệ thống khi chạy sẽ quan tâm chi tiết phân
vùng của dữ liệu đầu vào, lập lịch quá trình thực thi chương trình thông qua một tập
các máy tính thành phần, xử lý lỗi và quản lý các kết nối nội giữa các máy tính thành
phần. Điều này cho phép các lập trình viên ngay cả chưa có bất kỳ kinh nghiệm nào
trong các hệ thống song song và phân tán đều có thể dễ dàng tối ưu hóa các tài nguyên
của một hệ thống phân tán lớn
Trong vòng vài năm trước đây, các kỹ sư của Google phải khởi tạo hàng trăm các
quá trình tính toán dành cho các mục đích đặc biệt trên số lượng lớn các dữ liệu thô
như các dữ liệu móc nối, nhật ký các trang web yêu cầu…Các quá trình tính toán này
dùng cho nhiều mục đích khác nhau như tóm tắt số lượng các trang đã được móc nối
bởi từng host, tính tần số truy xuất của 1 trang web, tìm ra tập các câu truy vấn được
dùng nhiều nhất trong ngày…Hầu hết các tính toán này đều không phức tạp,nhưng dữ
liệu đầu vào thường rất lớn và quá trình tính toán cần phải được phân tán cho hàng
trăm ngàn máy nhằm có thể thực thi trong khoảng thời gian cho phép. Các vấn đề về

trung gian của key I này. Sau đó tiến hành hợp nhất các giá trị này thành một tập các
giá trị nhỏ hơn nếu có thể. Một lần nữa nguyên tắc kết hợp lại được sử dụng trong
hệ thống điện toán đám mây nhằm phục vụ cho thuật toán giải quyết yêu cầu bài
toán, sau khi chia nhỏ các chương trình lớn thành các phần nhỏ để thực hiện tính
toán một cách song song nhằm làm giảm thời gian thực hiện một bài toán thì hệ
thống tiến hành kết hợp các kết quả tính toán từ các tiến trình nhỏ song song lại
với nhau để đưa ra một kết quả tính toán thống nhất của chương trình tính toán
mà người dùng yêu cầu. Thông thường chỉ có một giá trị output được đưa ra từ hàm
Tiểu luận môn học
16
Điện toán đám mây
Reduce hoặc không có giá trị nào cả.
Ví dụ:
Giả sử chúng ta có một bài toán là đếm số lần xuất hiện của một từ trong một bộ
tài liệu lớn, người dùng cần phải viết một đoạn code tương tự với mã giả sau đây:
map(String key,String value):
//key: tên của tài liệu
//value:nội dung tài liệu đó
Với mỗi chữ cái w trong value :
EmitIntermediate(w,”1”);
reduce(String key,Iterator values):
//key: chữ cái cần đếm
//values:danh sách các số đếm trong map
int result = 0;
với mỗi giá trị v trong values:
result += ParseInt(v);
Emit(AsString(result)) ;
Hàm map thêm vào mỗi từ một số tương ứng với số lần xuất hiện của nó (trong ví
dụ đơn giản trên là ‘1’). Hàm reduce làm nhiệm vụ cộng tất cả các số đếm của từ đó.
Sau đó, người dùng cần phải thực hiện thêm các thủ tục khai báo đặc tả đối tượng

tính trong đám mây điện toán. Nguyên tắc sao chép cũng được đưa vào ứng
dụng trong hệ thống điện toán đám mây, trên mỗi cụm máy tính trong đám
mây điện toán thực hiện một tiến trình mà chương trình giao phó, tiến trình
này sẽ được tạo ra nhiều bản sao để cho các máy tính trong cụm máy tính
thực hiện.
• Một trong số các bản sao của chương trình sẽ là chương trình master. Các
chương trình còn lại sẽ là worker, là chương trình sẽ thực thi các tác vụ do master
giao phó. Có tất cả là M tác vụ Map và R tác vụ Reduce cần được thực thi. Chương
trình master chọn các worker rãnh rỗi để gán cho tác vụ Map hoặc Reduce.
• Worker được gán thực thi tác vụ Map đọc nội dung của mảnh giá trị đầu vào
tương ứng, nó phân tích giá trị đầu vào thành các cặp khóa/giá trị và chuyển chúng
đến cho hàm Map người dùng tự định nghĩa. Các cặp giá trị key/value trung gian
(kết quả của hàm Map) sẽ được lưu vào bộ nhớ đệm.
• Sau đó, các cặp giá trị trong vùng nhớ đệm này sẽ được ghi xuống vùng nhớ
địa phương, và được phân thành R vùng. Vị trí của các cặp khóa/giá trị này (trên
bộ nhớ địa phương) sẽ được chuyển về cho master. Chương trình master sau đó sẽ
chuyển vị trí của chúng cho các worker được gán tác vụ Reduce.
• Khi một worker thực thi tác vụ Reduce nhận được các vị trí của các vùng nhớ
từ master, nó dùng các lời gọi thủ tục từ xa (RPC- Remote Procedure Call) để đọc
các giá trị này. Sau khi worker đọc xong tất cả các cặp giá trị trung gian này, nó sẽ
sắp xếp lại chúng theo khóa bằng cách gom nhóm các cặp có cùng khóa lại với
nhau. Nếu số lượng các file trung gian này quá lớn so với bộ nhớ thì chúng ta sẽ
phải cần có một hàm sắp xếp ngoài
• Sau đó các worker thực thi tác vụ Reduce chuyển khóa và tập các dữ liệu
tương ứng đến hàm Reduce do người dùng định nghĩa, kết quả output thu được là
Tiểu luận môn học
19
Điện toán đám mây
kết quả cuối cùng.
• Sau khi tất cả các tác vụ Map và Reduce đều hoàn tất, chương trình master gọi

20
Điện toán đám mây
Đây là một áp dụng của nguyên tắc dự phòng vào việc giải quyết bài toán
trong đám mây điện toán, nó giúp cho hoạt động tính toán không bị mất khi sử ra
sự cố. Một trong các nguyên nhân thường xảy ra làm tăng thời gian hoàn tất tác vụ
MapReduce là các “straggler”. ”Straggler” là các máy có khoảng thời gian hoàn tất
một trong số các tác vụ cuối của Map hoặc Reduce dài một cách bất thường.
”Straggler” có thể là bất cứ máy nào trong số các máy trong hệ thống đám mây đang
được sử dụng. Có rất nhiều nguyên nhân tạo nên “straggler”, ví dụ như một máy tính
trong hệ thống có ổ đĩa cứng không tốt, khi hoạt động có thể gặp một số trục trặc làm
giảm tốc độ truy xuất bình thường của ổ cứng từ 30Mb/s xuống thành 1Mb/s chẳng
hạn. Hệ thống lặp lịch cho các cụm máy tính lúc này phải gán tác vụ khác cho máy là
nguyên nhân làm chậm tốc độ thực thi MapReduce (dựa trên sự so sánh tốc độ CPU,
truy xuất bộ nhớ, hệ thống lưu trữ của máy địa phương, băng thông của mạng). Một
vấn đề mới nhất mà Google gặp phải là một lỗi trong đoạn code khởi tạo tác vụ
MapReduce, nó làm cho các cache của CPU không thể hoạt động, quá trình tính toán
của máy tính bị lỗi do đó mà giảm xuống khoảng 100 lần.
Google đã tạo ra một phương pháp nhằm giảm bớt tác hại do các “straggler” gây
ra. Khi các tác vụ MapReduce gần hoàn tất, master sẽ tạo ra các tác vụ back up cho
các tác vụ đang thực thi và gán cho các workers rãnh rỗi thực hiện. Quá trình
MapReduce sẽ kết thúc khi tác vụ nguyên thủy hoặc tác vụ back up hoàn tất. Đối với
các tác vụ MapReduce nhỏ, phương pháp này chỉ giúp cải thiện hiệu năng một vài
phần trăm, nhưng đối với các tác vụ MapReduce lớn thì chúng giúp cải thiện hiệu
năng rất đáng kể.
Tiểu luận môn học
21
Điện toán đám mây
Bên trên là biểu đồ so sánh tốc độ thực thi của chương trình sắp xếp viết theo
MapReduce của Google. Chương trình thực hiện sắp xếp khoảng 1 tetrabyte dữ liệu.
Biểu đồ đầu tiên là tốc độ đọc các giá trị input,biểu đồ bên dưới là tốc độ thực hiện sắp

22
Điện toán đám mây
Các chunkserver lưu trữ các mảnh này như là một file Linux. Để đảm bảo độ tin cậy
cao, các mảnh file được lập bản sao và lưu trữ trên nhiều chunkserver khác nhau, mặc
định là chúng ta sẽ lưu trữ 3 bản sao.
Node Master không thường lưu trữ bất kỳ một phân khúc dữ liệu nào,nó chỉ lưu
trử các siêu dữ liệu liên quan đến các phân khúc như bản ánh xạ các nhãn 64-bit đến
vị trí lưu trữ vật lý và vị trí trong file gốc, vị trí của tất cả các bản sao dữ liệu, các tiến
trình đang đọc hoặc ghi lên 1 phân khúc, tình trạng các phân khúc hoặc ảnh của của
phân khúc để dành cho việc tạo thêm các bản sao…Các siêu dữ liệu này được update
liên tục bởi các chunkserver sau khoảng thời gian cố định. Ngoài ra node Master luôn
giữ kết nối và kiểm tra trạng thái của các chunkserver bằng các gửi và nhận các thông
điệp phản hồi liên tục sau khoảng thời gian cố định.
Chúng ta sẽ phân tích một tiến trình đọc file đơn giản theo hình bên trên. Đầu tiên
dựa vào kích thước cố định được quy ước trước của 1 mảnh dữ liệu,client dùng
chương trình biên dịch tên của file và các byte offset thành một danh mục các mảnh dữ
liệu chứa trong 1 file. Sau đó nó gửi đến node master một yêu cầu có chứa tên file và
danh mục các mảnh dữ liệu. Master phản hồi lại với con trỏ các mảnh dữ liệu và vị trí
các bản sao theo yêu cầu của client. Các client lưu trữ các thông tin này trong bộ nhớ
cache và sử dụng chúng như chìa khóa để cho phép truy xuất dữ liệu.
Sau đó client tiến hành gửi yêu cầu truy xuất dữ liệu đến 1 trong các bản sao
thường là bản sao gần nhất. Trong yêu cầu truy xuất của client phải có con trỏ mang
Tiểu luận môn học
23
Điện toán đám mây
địa chỉ của mảnh đó và phạm vi byte cần truy xuất ttrong mảnh. Các quá trình đọc tiếp
theo không cần có sự kết nối đến node master nữa cho đến khi các thông tin lưu trữ
trong bộ nhớ cache bị xóa. Trong thực tế thì client thường yêu cầu cho phép truy xuất
đến nhiều mảnh dữ liệu lưu trữ trên nhiều nơi khác nhau cùng một lúc và node master
cũng có thể gửi các thông tin cần thiết cho client một cách tức thời.

Điện toán đám mây
MapReduce và hệ thống file phân tán đều được thiết kế sao cho khi có lỗi xảy ra ở bất
kỳ node nào thì chúng đều được quản lý bởi framework. Hadoop được viết bằng ngôn
ngữ Java.
Các tác vụ trong mỗi pha được thực thi trong một cơ chế chấp nhận lỗi. Nếu một
hoặc nhiều node nào đó xảy ra lỗi trong quá trình tính toán thì tác vụ được gán cho các
node bị lỗi đó sẽ được được phân tán ta cho các node còn lại. Đối với MapReduce thì
các tác vụ Map và Reduce có độ cân bằng nạp rật tốt,điều này cho phép các tác vụ xảy
ra lỗi có thể được thực thi lại với một chi phí nhỏ hơn.
Framework Hadoop MapReduce có cấu trúc chủ/tớ. Nó có một server master hay
còn gọi là jobTracker và nhiều slave hay còn gọi là taskTrackers. JobTracker là điểm
kết nối giữa người dùng và framework. Người dùng gửi các công việc lên jobTracker,
các công việc này sẽ được đưa vào một hàng đợi xử lý theo nguyên tác FIFO. Sau đó
jobTracker sẽ gán các công việc này cho các taskTracker. Các taskTracker này xử lý
các tác vụ và quản lý sự di chuyển của dữ liệu trong các quá trình Map và Reduce.
Hadoop có ứng dụng rất rộng rãi trong các hệ thống đám mấy điện toán hiện nay
vì nó cung cấp một cơ chế sử dụng tài nguyên hệ thống tối ưu, chi phí thấp. Amazon
sử dụng Hadoop để phân tích hàng trăm triệu session giao dịch. Báo NewYork Times
sử dụng Hadoop cho việc xử lý hình ảnh. Yahoo sử dụng Hadoop cho công cụ tìm
kiếm của mình và hỗ trợ cho hệ thống khảo sát quảng cáo…
5. Tổng kết.
Điện toán đám mây là một khái niệm trừu tượng vô cùng rộng lớn, với rất nhiều
mặt và nhiều khía cạnh khác nhau, mặc dù nhóm đã tham khảo và tìm hiểu từ rất nhiều
tài liệu nghiên cứu của Google, cũng như của nhiều trường đại học danh tiếng khác
trên thế giới, nhưng do những hạn chế về thời gian và môn học nên nhóm không thể
phân tích toàn diện hơn về mô hình điện toán đám mây. Tuy nhiên bài báo cáo trên
cũng đã cho chúng ta cái nhìn tổng quan và một số hiểu biết nhất định về công cụ điện
toán rất mạnh này.
Tiểu luận môn học
25


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status