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

Tiểu luận môn tính toán lưới Những mô hình điện toán

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 (515.39 KB, 31 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
CHƯƠNG TRÌNH ĐÀO TẠO THẠC SỸ CNTT QUA MẠNG
__________
Bài thu hoạch GRID-COMPUTING:
Giảng viên hướng dẫn: PGS. TS. Nguyễn Phi Khứ
Thực hiện: Nguyễn Võ Thanh Sang – CH1101036
Những
mô hình
điện
toán
phân
tán
TP HCM, năm 2013
LỜI CẢM ƠN
Trong suốt thời gian học vừa qua, em đã nhận được sự quan tâm, động viên và tận
tình hướng dẫn, giảng dạy của thầy, đã cung cấp những kiến thức hết sức bổ ích và cần thiết
làm hành trang cho công tác sau này.
Chúng em xin chân thành cảm ơn quý thầy cô trường Đại học Công Nghệ Thông
Tin, Phòng Đào tạo Sau đại học đã tạo cho chúng em một môi trường học tập, rèn luyện
trong suốt thời gian học đã cung cấp những kiến thức cũng như những kinh nghiệm hết sức
cần thiết cho việc học tập và nghiên cứu.
Đặc biệt, chúng em xin gửi lời cảm ơn chân thành đến PGS. TS. Nguyễn Phi Khứ,
thầy đã truyền đạt những kiến thức quý báu về môn học học “Tính toán hiệu năng cao – Grid
Computing” và hướng dẫn em thực hiện bài thu hoạch môn học này.
Do kiến thức về học phần còn hạn chế nên bài thu hoạch không tránh khỏi thiếu sót.
Em rất mong được hướng dẫn thêm của thầy để bài thu hoạch được hoàn thiện hơn.
Nguyễn Võ Thanh Sang -CH1101036
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN


















MỤC LỤC
Nội dung
GIỚI THIỆU
Điện toán phân tán được thực hiện trên nhiều hệ thống để giải quyết một vấn đề quy mô
lớn. Sự phát triển của các mạng băng thông rộng tốc độ cao ở các nước phát triển và đang phát
triển, sự gia tăng liên tục trong khả năng tính toán, và sự phát triển nhanh chóng của Internet đã
thay đổi cách thực hiện. Trong đó xã hội quản lý thông tin và dịch vụ thông tin. Trong lịch sử,
mô hình tính toán đã trải qua một loạt các nền tảng và thay đổi môi trường. Điện toán phân tán
đảm bảo tuyệt vời cho việc sử dụng hệ thống máy tính một cách hiệu quả. Kết quả là, các siêu
máy tính và trung tâm dữ liệu đã thay đổi từ việc cung cấp khả năng tính toán dấu chấm động
hiệu suất cao sang đồng thời phục vụ số lượng lớn các yêu cầu từ hàng tỷ người sử dụng. Hệ
thống điện toán phân tán sử dụng nhiều máy tính để giải quyết vấn đề quy mô lớn thông qua
môi trường Internet. Nó sẽ trở thành dữ liệu chuyên sâu và mạng lưới trung tâm. Các ứng dụng
điện toán phân tán ngày càng rộng rãi.
Trong điện toán phân tán, khó khăn chính là việc chia sẻ nguồn tài nguyên quy mô lớn

và luôn luôn thể hiện hiệu suất tốt nhất. Trong phạm vi bài thu hoạch này, em xin được giới
thiệu hai bài báo: “The Distributed Computing Paradigms: P2P, Grid, Cluster, Cloud, and
Jungle” của các tác giả: Brijender Kahanwal, Tejinder Pal Singh và “Smart Redundancy for
Distributed Computation” của các tác giả Yuriy Brun, George Edwards, Jae young Bang, and
Nenad Medvidovic. Hai bài báo đã giới thiệu các khái niệm cơ bản về điện toán phân tán và
một giải pháp cải thiện hiệu quả thực hiện, làm nền tảng cho các nghiên cứu sau này.
5
Phần I. NHỮNG MÔ HÌNH ĐIỆN TOÁN PHÂN TÁN
1. Giới thiệu
Sự phổ biến của Internet và sự sẵn có của máy tính mạnh mẽ và mạng tốc độ cao, chi
phí thấp đang thay đổi cách tác giả tính toán.Điện toán phân tán đã trở thành một thành phần
thiết yếu của máy tính khoa học trong nhiều thập kỷ. Nó bao gồm một tập hợp các quá trình
hợp tác để đạt được một mục tiêu cụ thể chung. Mọi người đều công nhận rộng rãi rằng Công
nghệ thông tin và Truyền thông Công nghệ (ICT) đã cách mạng hóa việc thực hành hàng ngày.
Mạng xã hội thể hiện một bước trong quá trình sử dụng Internet để cho phép các thao tác xã hội
hóa thông tin và văn hóa. Hết hết các trang mạng xã hội được thực hiện trên các khái niệm về
hệ thống điện toán phân tán lớn. Đó là những hoạt động trong các trung tâm dữ liệu điều khiển
tập trung. Tuy nhiên, xu hướng trong các hệ thống ồ ạt mở rộng là hướng tới việc sử dụng điện
toán ngang hàng, tiện ích, cụm, và rừng. Điện toán tiện ích về cơ bản là điện toán lưới và điện
toán đám mây là chủ đề gần đây của nghiên cứu. Phân loại này cũng thể hiện trong hình 1.1.
Với tính không đồng nhất ngày càng tăng của các phần cứng cơ bản, việc lập bản đồ một
cách hiệu quả về các vấn đề tính toán dựa trên phần cứng thuần đã trở thành cực kỳ phức tạp.
Có rất nhiều thách thức của điện toán phân tán như sau:
Sự trong suốt có nghĩa là ẩn sự phân tán từ người sử dụng ở mức độ cao và từ các
chương trình ở cấp thấp. Có nhiều hình thức ẩn như địa điểm, di cư, nhân rộng, truy cập đồng
thời và song song. Linh hoạt nên dễ phát triển. Độ tin cậy bao gồm một số yếu tố như không
mất dữ liệu, hệ thống an toàn, và các hệ thống chấp nhận lỗi. Hiệu suất nên được cao. Khả năng
mở rộng nên co dãn vô thời hạn.
6
Các hình thức điện toán phân tán

2. Các công trình liên quan
Ngành công nghiệp máy tính là một trong những ngành phát triển nhanh nhất và nó
được kích thích bởi sự phát triển công nghệ nhanh chóng trong các lĩnh vực phần cứng máy
tính và phần mềm. Công nghệ tiên tiến trong phần cứng bao gồm phát triển chip và công nghệ
chế tạo, bộ vi xử lý nhanh chóng và rẻ tiền, cũng như băng thông cao và mạng lưới kết nối độ
trễ thấp. Trong số đó, những tiến bộ gần đây trong công nghệ điện tử đã đóng một vai trò quan
trọng trong sự phát triển của máy tính tuần tự và song song mạnh mẽ.
Công nghệ phần mềm cũng đang phát triển nhanh. Phần mềm trưởng thành, chẳng hạn
như hệ điều hành, ngôn ngữ lập trình, phương pháp phát triển, và các công cụ, đang có sẵn.
Điều này đã cho phép sự phát triển và triển khai các ứng dụng phục vụ cho khoa học, kỹ thuật,
thương mại và nhu cầu. Cũng cần lưu ý rằng các ứng dụng mang tính thách thức lớn, chẳng hạn
như dự báo thời tiết và phân tích trận động đất, đã trở thành động lực chính đằng sau sự phát
triển của máy tính song song mạnh mẽ.
Hệ thống phân tán có thể được coi là mạng thông thường của những máy tính độc lập.
Chúng có nhiều hình ảnh hệ thống, như mỗi nút chạy hệ điều hành riêng của mình, và các máy
7
tính cá nhân trong một hệ thống phân tán có thể được, ví dụ, sự kết hợp của bộ xử lý đồng loạt
song song (MPP), đa xử lý đối xứng (SMPS), các cụm, và các máy tính cá nhân.
Dịch vụ điện toán đám mây chủ yếu chia thành ba mô hình cung cấp dịch vụ: SaaS
(phần mềm như một dịch vụ, ví dụ như Google Mail), PaaS (nền tảng như một dịch vụ, ví dụ
như Google AppEngine) và IaaS (Cơ sở hạ tầng như một dịch vụ, ví dụ như Amazon EC2). Kể
từ khi công việc trình bày trong chương này có liên quan chặt chẽ với cơ sở hạ tầng như một
mô hình dịch vụ, tác giả chỉ tập trung trong phần này trên loại hình dịch vụ này. Các nhà cung
cấp IaaS nhằm mục đích cung cấp nguồn lực cho người sử dụng như cách thức “chỉ trả những
gì bạn dùng”. Một nhà cung cấp chính của dịch vụ này là Amazon thông qua Điện toán đám
mây đàn hồi (EC2) và Dịch vụ lưu trữ đơn giản (S3).
Các viện sĩ và các nhóm khổng lồ đang làm hết sức mình để trở lại với những khái niệm
mới của điện toán phân tán và họ đã đưa ra rất nhiều kết quả tốt. Nhưng luôn luôn có một sự
tăng thêm để phát triển một công nghệ tốt hơn, vì vậy tác giả đang phát triễn và điện toán đám
mây là chủ đề gần đây đang được tiến hành.

3. Điện toán ngang hàng
Mạng ngang hàng (P2P) đã được làm việc chủ yếu vào các vấn đề khả năng mở rộng
vốn có trong các nguồn tài nguyên phân tán trên một số lượng lớn của các kết nối mạng. Trong
một hệ thống P2P, tất cả các nút hoạt động như một máy khách và máy chủ, cung cấp một phần
của tài nguyên hệ thống. Máy ngang hàng chỉ đơn giản là máy tính của khách hàng kết nối với
Internet. Tất cả các máy khách hàng hành động một cách tự tham gia hoặc rời khỏi hệ thống
một cách tự do. Điều này có nghĩa rằng không có mối quan hệ chủ-khách tồn tại giữa các đồng
nghiệp. Không có sự phối hợp tập trung hoặc không có cơ sở dữ liệu trung tâm là cần thiết. Nói
cách khác, không có máy ngang hàng nào có một cái nhìn toàn cục của toàn bộ hệ thống P2P.
Hệ thống được tự tổ chức với điều khiển phân tán như thể hiện trong hình 3.1.
8
Figure 3.1: P2P Network
4. Điện toán cụm
Một cụm máy tính bao gồm một tập hợp các máy tính độc lập hoặc đơn lẻ và một mạng
kết nối chúng. Nó hoạt động hợp tác với nhau như một nguồn tài nguyên máy tính tích hợp duy
nhất. Một cụm là địa phương trong tất cả các hệ thống con thành phần của nó được giám sát
trong một phạm vi hành chính duy nhất, thường trú tại một phòng đơn và quản lý như một hệ
thống máy tính duy nhất. Các thành phần của một nhóm được kết nối với nhau thông qua mạng
cục bộ nhanh. Để xử lý khối lượng công việc nặng nề với bộ dữ liệu lớn, các hệ thống máy tính
của nhóm đã chứng minh kết quả ấn tượng trong quá khứ. Kiến trúc của môi trường điện toán
cụm được thể hiện trong Hình 4.1
9
Thành phần của điện toán cụm: Có rất nhiều thành phần của điện toán cụm như sau:
o Máy tính hiệu năng cao như máy tính cá nhân, máy trạm, vv
o Hệ điều hành dựa trên hạt nhân nhỏ.
o Các mạng tốc độ cao hoặc chuyển mạch như Gigabit Ethernet.
o NIC (Network Interface Card)
o Các giao thức và dịch vụ thông tin nhanh
o Cụm Middleware là phần cứng, hạt nhân hệ điều hành, các ứng dụng và các hệ thống
con.

o Công cụ môi trường lập trình song song như các trình biên dịch, máy ảo song song, vv
o Các ứng dụng tuần tự và song song
Các cụm trung gian có rất nhiều khả năng cung cấp một ảnh hệ thống khó nắm bắt và
thống nhất.
Sự phân loại các cụm như thể hiện trong hình 4.2.
10
Figure 4.2: Cluster Computing Classification
Cụm có tính sẵn sàng cao
Đây cũng được gọi là cụm chuyển đổi dự phòng. Đây là những nhóm máy tính có hỗ trợ
các ứng dụng máy chủ. Đây có thể được sử dụng đáng tin cậy với tối thiểu là thời gian xuống.
Chúng hoạt động bằng cách khai thác các máy tính dư thừa trong nhóm hoặc cụm cung cấp
dịch vụ tiếp tục khi các thành phần hệ thống thất bại. Nếu không có phân nhóm, nếu một máy
chủ đang chạy một ứng dụng bị treo đặc biệt, ứng dụng sẽ không có sẵn cho đến khi máy chủ
bị rơi là cố định. Loại như vậy của cụm biện pháp khắc phục tình trạng này bằng cách phát hiện
lỗi phần cứng / phần mềm, và ngay lập tức khởi động lại ứng dụng trên máy tính khác mà
không cần sự can thiệp hành chính, một quá trình được gọi là chuyển đổi dự phòng. Như là một
phần của quá trình này, phần mềm phân nhóm có thể cấu hình các nút trước khi bắt đầu ứng
dụng trên nó.
Cụm cân bằng tải
Cân bằng tải thường được yêu cầu khi xây dựng các giải pháp xử lý khối lượng lớn các
yêu cầu của khách hàng hoặc có nhu cầu cao về an ninh và dự phòng. Cụm hỗ trợ đa người
dùng và môi trường đa nhiệm. Các yếu tố đi kèm với tính chất không đồng nhất của các phần
cứng và phần mềm cụm dẫn đến tình trạng đó phân công các khối lượng công việc của một
nhóm là khó dự đoán tại bất kỳ thời điểm cụ thể. Phương pháp tĩnh để I / O lập kế hoạch là do
gần như vô dụng. Hai loại chính của tải triển khai thực hiện cân bằng là:
11
Cân bằng tải dựa trên phần mềm bao gồm các phần mềm đặc biệt được cài đặt trên các
máy chủ trong một cụm cân bằng tải. Công văn được phần mềm hoặc chấp nhận yêu cầu từ
khách hàng đến các máy chủ, dựa trên các thuật toán khác nhau. Các thuật toán có thể là một
thuật toán vòng tròn đơn giản hoặc một thuật toán phức tạp hơn nhiều trong đó xem xét mối

quan hệ máy chủ. Ví dụ, Microsoft Network Load Balancing là một phần mềm cân bằng tải
cho các trang trại Web, và Microsoft phần cân bằng tải là một phần mềm cân bằng tải cho các
trang trại ứng dụng.
Dựa trên phần cứng cân bằng tải bao gồm một chuyển đổi chuyên ngành hoặc router với
phần mềm để cung cấp cho nó chức năng cân bằng tải. Giải pháp này tích hợp chuyển đổi và
cân bằng tải vào một thiết bị duy nhất, làm giảm số lượng phần cứng bổ sung là cần thiết để
thực hiện cân bằng tải. Kết hợp hai chức năng, tuy nhiên, cũng làm cho các thiết bị khó khăn
hơn để khắc phục sự cố.
Cụm tính toán hiệu suất cao
Các doanh nghiệp đang sử dụng cụm quy mô lớn thường được chia sẻ giữa các phòng
ban với công chúng truy cập dễ dàng. Cụm hiệu suất cao được sử dụng mà thời gian để giải
pháp là quan trọng. Họ cũng được sử dụng trong trường hợp một vấn đề quá lớn nó canít ìfitî
trên một máy tính duy nhất. Để tăng thông lượng tính toán, HPC cụm được sử dụng trong
nhiều cách khác nhau.
Cách đơn giản nhất là để cho phép các nhóm để hoạt động như một trang trại tính toán.
Thay vì chạy một công việc trên một máy trạm địa phương, được gửi đến các cụm để thực
hiện. Cluster sẽ quản lý các nguồn lực cần thiết cho công việc và phân công công việc cho một
hàng đợi công việc. Khi các nguồn tài nguyên (ví dụ, một máy chủ) có sẵn, công việc được
thực hiện và kết quả được trả về cho người dùng. Người dùng cần phải chạy nhiều công việc
tương tự với các thông số khác nhau hoặc tập hợp dữ liệu tìm thấy cụm lý tưởng cho các loại
hình công việc. Họ có thể gửi hàng trăm việc làm và cho phép các nhóm để quản lý dòng chảy
công việc. Tùy thuộc vào các nguồn tài nguyên, tất cả các công việc có thể chạy cùng lúc hoặc
một số có thể chờ đợi trong hàng đợi trong khi công việc khác kết thúc. Đây là loại máy tính là
địa phương đến một cụm nút, có nghĩa là doesnít giao tiếp nút với các nút khác, nhưng có thể
cần truy cập hệ thống tập tin tốc độ cao.
12
5. Điện toán tiện ích
Điện toán tiện ích được hình dung là thế hệ tiếp theo của công nghệ thông tin phát triển,
miêu tả như thế nào nhu cầu điện toán của người sử dụng có thể được hoàn thành trong tương
lai ngành công nghiệp CNTT. Tương tự của nó có nguồn gốc từ thế giới thực, nơi cung cấp

dịch vụ duy trì và cung cấp dịch vụ tiện ích, chẳng hạn như năng lượng điện, khí đốt và nước
cho người tiêu dùng. Người tiêu dùng lần lượt trả tiền cung cấp dịch vụ dựa vào cách sử dụng
của họ. Vì vậy, việc thiết kế cơ bản của điện toán tiện ích dựa trên một mô hình dịch vụ dự
phòng, nơi người dùng (người tiêu dùng) trả nhà cung cấp để sử dụng sức mạnh tính toán chỉ
khi họ cần. Điện toán tiện ích tập trung vào một mô hình kinh doanh, theo đó khách hàng nhận
được tài nguyên máy tính từ một nhà cung cấp dịch vụ thanh toán. Tất cả các nền tảng lưới /
điện toán đám mây được coi là nhà cung cấp dịch vụ tiện ích. Tuy nhiên, điện toán đám mây
cung cấp một khái niệm rộng hơn so với máy tính tiện ích.
5.1. Điện toán lưới
Mục đích của Điện toán lưới là cho phép chia sẻ tài nguyên và phối hợp giải quyết trong
năng động tổ chức nhiều tổ chức ảo, vấn đề.
Như một lưới điện-tiện ích, một mạng lưới máy tính cung cấp một cơ sở hạ tầng các cặp
máy tính, phần mềm/trung gian, dụng cụ đặc biệt, và người và cảm biến với nhau. Lưới điện
thường được xây dựng qua mạng LAN, WAN, hoặc mạng đường trục Internet tại khu vực,
quốc gia, hoặc quy mô toàn cầu. Các doanh nghiệp, tổ chức trình bày lưới như tài nguyên máy
tính tích hợp. Chúng có thể được xem cũng như các nền tảng ảo để hỗ trợ các tổ chức ảo. Các
máy tính được sử dụng trong một mạng lưới chủ yếu là các máy trạm, máy chủ, các cụm, và
các siêu máy tính. Máy tính cá nhân, máy tính xách tay và PDA có thể được sử dụng như các
thiết bị truy cập vào một hệ thống lưới điện. Lưới có thể có nhiều loại như, kiến thức, dữ liệu,
tính toán, ứng dụng Cung cấp dịch vụ, tương tác hoặc tiện ích.
Có nhiều ưu và nhược điểm. Ưu điểm là như, đây là những khả năng để giải quyết lớn
hơn, vấn đề phức tạp hơn trong một thời gian ngắn, đây là dễ dàng hơn để cộng tác với các tổ
chức khác, và những sử dụng tốt hơn phần cứng hiện có. Khuyết điểm là như, phần mềm lưới
và tiêu chuẩn vẫn còn đang phát triển, bắt đầu thương đi đường vòng, và trình công việc không
tương tác.
13
5.2. Điện toán đám mây
Điện toán đám mây là một hình thức điện toán tiện ích. Nó là một thuật ngữ mới trong
thế giới điện toán và báo hiệu sự ra đời của một mô hình điện toán mới. Mô hình mới này là
nhanh chóng phát triển và thu hút một lượng khách hàng và các nhà cung cấp như nhau. Sự

phát triển nhanh chóng của điện toán đám mây đang được thúc đẩy bởi các công nghệ máy tính
mới nổi cho phép cho giá hợp lý sử dụng cơ sở hạ tầng điện toán và khả năng lưu trữ lớn. Nó
cũng loại bỏ sự cần thiết phải đầu tư trả trước lớn trong Công nghệ thông tin (CNTT) cơ sở hạ
tầng.
Điện toán đám mây là một mô hình điện toán liên quan đến việc gia công phần mềm của
các tài nguyên máy tính với khả năng của khả năng mở rộng nguồn tài nguyên cạn kiệt, theo
yêu cầu trích lập dự phòng với chi phí đầu tư cơ sở hạ tầng CNTT ít hoặc không lên phía trước.
Điện toán đám mây cung cấp các lợi ích của mình thông qua ba loại hình dịch vụ hay mô hình
cung cấp cụ thể là cơ sở hạ tầng như một dịch vụ (IaaS), nền tảng-như-một dịch vụ (PaaS) và
phần mềm-như-một-dịch vụ (SaaS). Nó cũng cung cấp dịch vụ của mình thông qua bốn mô
hình triển khai cụ thể là, điện toán đám mây công cộng, đám mây riêng, đám mây cộng đồng và
đám mây lai là phân loại được thể hiện trong hình 5.
Đám mây công cộng trong việc triển khai này, cơ sở hạ tầng điện toán đám mây có thể
truy cập cho công chúng nói chung và chia sẻ trong một trả như bạn đi mô hình thanh toán. Các
nguồn tài nguyên điện toán đám mây có thể truy cập thông qua internet và các nhà cung cấp có
trách nhiệm bảo đảm quy mô kinh tế và quản lý cơ sở hạ tầng được chia sẻ.
Trong mô hình này khách hàng có thể lựa chọn mức độ bảo mật mà họ cần, và thương
lượng mức độ dịch vụ. Dịch vụ web Amazon EC2 là một đám mây công cộng. Nó có thể truy
cập cho công chúng.
Các đám mây riêng là một mô hình triển khai cho dịch vụ điện toán đám mây. Trong mô
hình này các tài nguyên điện toán đám mây không được chia sẻ bởi các bên thứ ba không rõ.
Các nguồn tài nguyên điện toán đám mây trong mô hình này có thể nằm trong phạm vi các cơ
sở tổ chức khách hàng hoặc ngoại vi.
14
Figure 5: Classification of Cloud Computing
Trong mô hình này, an ninh của khách hàng và yêu cầu tuân thủ không bị ảnh hưởng
mặc dù cung cấp này không đem lại lợi ích gắn liền với giảm chi phí vốn trong đầu tư cơ sở hạ
tầng CNTT. Trong loại này của điện toán đám mây công chúng không có quyền truy cập vào
các đám mây riêng không không tổ chức sử dụng điện toán đám mây công cộng.
Đám mây lai như tên gọi của nó là một mô hình triển khai kết hợp đám mây khác nhau

ví dụ như các đám mây riêng và công cộng. Trong mô hình này những đám mây kết hợp giữ lại
bản sắc của họ nhưng đang bị ràng buộc với nhau bằng công nghệ chuẩn hóa. Trong loại này
của điện toán đám mây công chúng không có quyền truy cập vào các đám mây, nhưng tổ chức
sử dụng cơ sở hạ tầng trong cả hai đám mây công cộng và tư nhân.
Đám mây cộng đồng là mô hình triển khai thứ tư có thể được sử dụng để cung cấp dịch
vụ điện toán đám mây. Trong mô hình này, các cơ sở hạ tầng điện toán đám mây được chia sẻ
bởi nhiều tổ chức, các tổ chức có một mối quan tâm chia sẻ hoặc quan tâm như xem xét việc
tuân thủ, yêu cầu bảo mật. Đây là loại điện toán đám mây có thể được quản lý bởi tổ chức hoặc
của một bên thứ ba và có thể được đặt tại chỗ hoặc tắt tại chỗ. Trong loại này của điện toán
đám mây cả công chúng và các tổ chức hình thành các đám mây cộng đồng được tiếp cận với
các dịch vụ đám mây được cung cấp bởi các đám mây cộng đồng.
6. Điện toán rừng
Điện toán rừng là sự kết hợp đồng thời của tài nguyên máy tính không đồng nhất, thứ
bậc, và phân tán. Trong nhiều lĩnh vực nghiên cứu khoa học thực tế, các chuyên gia miền đang
bị buộc vào sử dụng đồng thời nhiều cụm, lưới, đám mây, lưới máy tính để bàn, máy tính độc
lập, và nhiều hơn nữa. Tính toán rừng đề cập đến việc sử dụng đa dạng, hệ thống máy tính hoạt
động phân tán và rất không đồng đều cao để đạt được hiệu năng cao nhất. Những mô hình phân
15
tán máy tính mới đã dẫn đến một bộ sưu tập đa dạng của các nguồn lực sẵn có để các nhà khoa
học nghiên cứu, kể cả máy độc lập, hệ thống cụm, lưới, đám mây, lưới máy tính để bàn, vv như
thể hiện trong hình 6.1 và bộ sưu tập đa dạng này được đặt tên như rừng máy tính.
Sự phức tạp ngày càng tăng của môi trường điện toán hiệu năng cao đã cung cấp một
loạt rắc rối, sự lựa chọn bên cạnh các siêu máy tính truyền thống, cụm. Các nhà khoa học có
thể sử dụng lưới điện và cơ sở hạ tầng điện toán đám mây, trong một loạt các kết hợp cùng với
các siêu máy tính truyền thống - tất cả các kết nối thông qua mạng tốc độ cao. Và sự xuất hiện
của công nghệ nhiều lõi như GPU, cũng như các siêu máy tính trên chip trong những môi
trường đã được thêm vào sự phức tạp. Do đó tính toán hiệu năng cao có thể sử dụng nhiều nền
tảng khác nhau và các hệ thống cùng một lúc, dẫn đến thuật ngữ "Điện toán rừng". Ibis cao
hiệu năng hệ thống lập trình phân tán là một ví dụ về điện toán rừng.
Tác giả đã thảo luận về động lực để phân tán máy tính. Nó sẽ tiếp tục phát triển. Có rất

nhiều chủ đề mà sẽ rất nóng trong các đề tài nghiên cứu và phát triển trong cả học tập và công
nghiệp trong nhiều năm tới. Trong trên tất cả các điện toán đám mây là chủ đề gần đây đang
được xây dựng bởi rất nhiều công nghiệp khổng lồ như Google, EMC, Microsoft, Yahoo,
Amazon, IBM, vv Bài bình luận này soi sáng cho các mô hình mới của phân tán máy tính. Nó
sẽ có lợi cho các sinh viên và các nhà nghiên cứu.
16
Phần II. DỰ PHÒNG THÔNG MINH CHO ĐIỆN TOÁN PHÂN TÁN
Nhiều hệ thống phân tán phần mềm cho phép sự tham gia của số lượng lớn các thành
phần có khả năng bị lỗi và không đáng tin cậy trên một mạng mở. Như lỗi không thể tránh khỏi
là trong trường hợp các hệ thống sử dụng dự phòng và nhân rộng để đạt được khả năng chịu
lỗi. Trong bài báo này, tác giả trình bày một lý thuyết dự phòng "thông minh" được gọi là kỹ
thuật lặp, đảm bảo nhân rộng hiệu quả của tính toán và dữ liệu được xử lý và tài nguyên lưu trữ
hữu hạn, ngay cả khi phải đối mặt với lỗi Byzantine. Dự phòng lặp hiệu quả hơn và ứng phó tốt
hơn so sánh với kĩ thuật truyền thống mà hoạt động trong các môi trường không biết độ tin cậy
tài nguyên hệ thống. Tác giả cho thấy làm thế nào hệ thống giải quyết vấn đề tính toán sử dụng
một mạng lưới các nút độc lập có thể được hưởng lợi từ dự phòng lặp. Tác giả trình bày một
phân tích chính thức và một phân tích thực nghiệm, chứng minh dự phòng lặp trên một hệ
thống máy tính thực nghiệm trong thế giới thực, và so sánh với các phương pháp hiện có.
1. Giới thiệu
Nhiều hệ thống phần mềm hiện nay, chẳng hạn như lưu trữ dữ liệu phân tán (ví dụ,
Freenet) và ứng dụng trực tuyến ngang hàng A/V (ví dụ, Skype), bao gồm số lượng lớn các
phần mềm độc lập và phần cứng tham gia tương tác trên những mạng không đáng tin cậy. Các
hệ thống sử dụng cơ chế dự phòng để dung nạp lỗi và đạt mức chấp nhận được về độ tin cậy.
Trong bài báo này, tác giả tập trung vào một tập hợp con của các hệ thống này: những kiến trúc
tính toán phân tán (DCAs), trong đó giải quyết vấn đề lớn bằng cách triển khai cao các tính
toán song song (ví dụ, bộ các nhiệm vụ độc lập) cho mạng lưới động các nút tính toán có khả
năng bị lỗi và không đáng tin cậy. Những DCAs nổi tiếng và thành công bao gồm các hệ thống
lưới điện (ví dụ, Globus), hệ thống máy tính thực nghiệm (ví dụ, BOINC), và hệ thống
MapReduce (ví dụ, Hadoop). DCAs được sử dụng rộng rãi cho các ứng dụng đa dạng, bao gồm
phân tích web, và các mô phỏng khoa học trong các lĩnh vực như vật lý, tin sinh học, và kinh

tế.
Điều bắt buộc là DCAs có thể chịu được lỗi thường xuyên bởi vì các đơn vị trong hệ
thống của họ không phải chịu bất kỳ kiểm tra độ tin cậy đáng kể và các đối tượng độc hại có
thể dễ dàng tham gia hệ thống hoặc ảnh hưởng đến người tham gia khác. DCAs hiện nay nhằm
17
đảm bảo thực hiện đúng mỗi công việc thông qua bỏ phiếu: nhiều máy làm việc độc lập thực
hiện việc tính toán tương tự và kết quả của chúng được kiểm tra sự tương đồng. Kỹ thuật này
rất tốn kém, tuy nhiên, như tham gia một cuộc bỏ phiếu giữa n đối tượng đòi hỏi mở rộng một
nhân tố n tài nguyên hoặc bị một nhân tố của n suy giảm hiệu suất.
Trong bài báo này, tác giả đề xuất một công nghệ dự phòng mới- dự phòng lặp - đó là
dựa trên biểu quyết nhưng khai thác các tính chất của DCAs để thích ứng với môi trường thực
hiện thay đổi và cải thiện độ tin cậy khả năng hiệu quả hơn so với lựa chọn thay thế hiện tại.
Tổng quát hơn, dự phòng lặp được áp dụng cho các hệ thống thực hiện các tính toán sử dụng
một hồ bơi của các nguồn tài nguyên xử lý độc lập, như vậy mà nhiều tài nguyên có khả năng
để thực hiện từng nhiệm vụ và hệ thống có thể lựa chọn, trong thời gian chạy, trong số các
nguồn lực sẵn có một cách ngẫu nhiên. Một thuộc tính quan trọng của dự phòng lặp là nó
không đòi hỏi phải biết độ tin cậy của các nguồn lực xử lý trong hồ, mở rộng ứng dụng của nó
đến hệ thống mà thông tin này, không thể xác định được. Tác giả mô tả dự phòng lặp, phân tích
chi phí và hiệu quả tác động, và thực hiện một đánh giá thực nghiệm nghiêm ngặt trên một hệ
thống máy tính thực nghiệm trong thế giới thực. Chúng ta so sánh dự phòng lặp có hai lựa
chọn:
• Dự phòng truyền thống, còn được gọi là dự phòng k-mô-đun), thực hiện k ∈ {3, 5, 7,
.} Hành độc lập với nhiệm vụ tương tự song song và sau đó có một cuộc bỏ phiếu về tính chính
xác của kết quả.
• Dự phòng tiến bộ, đó là một sự thích nghi của một kỹ thuật có liên quan từ khu vực tự
cấu hình chương trình nghiên cứu lạc quan.
Tác giả chứng minh rằng dự phòng lặp là tốt hơn cả dự phòng truyền thống và tiến bộ vì
dự phòng lặp có hiệu quả hơn cả những phương pháp thay thế. dự phòng lặp sản xuất cùng một
mức độ tin cậy hệ thống với chi phí thấp hơn trong tài nguyên hệ thống làm chủ (hoặc tương
đương, độ tin cậy cao với chi phí tương tự). Trong thực tế, dự phòng lặp là tối ưu đối với các

chi phí với: nó được đảm bảo để sử dụng số tiền tối thiểu của tính toán cần thiết để đạt được độ
tin cậy hệ thống mong muốn.
Cuối cùng, tác giả thảo luận về mối quan hệ giữa dự phòng lặp và một số loại khác của
kỹ thuật dự phòng, bao gồm cả nhân rộng hoạt động, sao lưu chính, checkpointing, và sự tín
18
nhiệm dựa trên khả năng chịu lỗi. Trong một số trường hợp, dự phòng lặp có thể được sử dụng
kết hợp với các công nghệ, như là trường hợp với nhân rộng hoạt động. Trong trường hợp
khác, dự phòng lặp có thể được sử dụng trong các tình huống mà các kỹ thuật này có thể
không, như là trường hợp với khả năng chịu lỗi dựa trên sự tín nhiệm.
2. Định nghĩa và giả định
2.1. Hệ thống mô hình
Trong bài báo này, tác giả sử dụng các thuật ngữ sau đây. Một tính toán là vấn đề lớn
thường được giải quyết bằng một DCA. Một nhiệm vụ là một trong những phần của việc tính
toán có thể được thực hiện độc lập của những người khác. Một công việc là một ví dụ về một
công việc một nút cụ thể thực hiện. Với dự phòng, mỗi công việc sẽ được thực hiện như một số
công việc giống hệt nhau trên các nút riêng biệt. Trong mô hình của tác giả về một DCA, một
máy chủ nhiệm vụ phá vỡ một tính toán vào một số lượng lớn các nhiệm vụ. Máy chủ nhiệm
vụ sau đó gán việc làm cho các nút trong một hồ, đảm bảo rằng mỗi nút được chọn ngẫu nhiên.
Sau khi trở về một phản ứng với một công việc để máy chủ nhiệm vụ, mỗi nút nối với hồ và
một lần nữa có thể được lựa chọn và sắp xếp công việc mới. Nút tình nguyện viên mới có thể
tham gia vào các hồ trong khi các nút khác có thể để lại.
19
2.2. Mẫu nguy cơ
Trong bài báo này, tác giả sử dụng mô hình thất bại Byzantine, đó là mô hình mối nguy
cơ chung nhất và được chấp nhận rộng rãi, đã được chạy trên nhiều hệ thống phân tán. Mô hình
bao gồm thất bại Byzantine và cho phép các nút độc hại mà thông đồng và hình thức tập đoàn
để cố gắng lừa dối và tính toán phá vỡ. Nút Byzantine có thể cố gắng để báo cáo kết quả không
chính xác hoặc không báo cáo kết quả ở tất cả. Cho các mục đích của bài viết này, tác giả giả
định một nút mà không báo cáo kết quả trong một cách kịp thời đã không thành công. Có hai
báo cáo quan trọng được thực hiện về mô hình mối nguy cơ này:

1. Mô hình mối nguy cơ của tác giả ít nhất là mạnh mẽ như những kỹ thuật dự phòng
hiện đang được triển khai trong DCAS. Một mặt, mô hình mối nguy cơ của tác giả là chắc chắn
không bất khả xâm phạm. Ví dụ, nếu thất bại là hoàn toàn tương quan (có nghĩa là nếu một nút
không thành công trên một nhiệm vụ, tất cả các nút sẽ thất bại trên nhiệm vụ đó), tất cả các kỹ
thuật dự phòng không để tăng sự tin cậy hệ thống-của vùng. Mặt khác, tác giả không giả định
về thất bại đó triển khai hiện có của DCAs không thực hiện. Đặc biệt, tác giả giả định một nút
không thành công là một chức năng của nút đó, và không tính toán của nó được thực hiện.
20
2. Cho rằng lỗi xảy ra, mô hình của tác giả giả định trường hợp xấu nhất có thể: tất cả lỗi
là lỗi Byzantine. Có nghĩa là, các nút độc hại có thể thông đồng với nhau để trả về kết quả tổn
hại nhất độ tin cậy của hệ thống. Ví dụ, các nút thông đồng có thể không chỉ trả lại một kết quả
sai, nhưng kết quả sai như nhau, làm cho nó khó để xác định các nút độc hại. Tương tự như
vậy, các nút độc hại nhận thức của các nút khác không và làm thế nào họ đã thất bại, và do đó
có thể trả về kết quả sai tương tự như những nút không.
Trong một hệ thống biểu quyết, mô hình thất bại Byzantine có thể được áp dụng bằng
cách giả định rằng kết quả của mỗi công việc là một trong hai giá trị có thể. Mặc dù có lẽ phản
trực giác, giả định này tạo ra một trường hợp xấu nhất bởi vì tất cả không và các nút độc hại
báo cáo không chỉ là một kết quả sai nhưng kết quả sai như nhau, làm cho nó khó khăn để phân
biệt kết quả sai từ kết quả chính xác.
2.3. Giả định
Trong phần này, tác giả nêu năm giả định về các nút của mạng mà một DCA được triển
khai. Những giả định đơn giản hóa việc mô tả và phân tích của ba kỹ thuật dự phòng, và giúp
đỡ để xác định các lớp của hệ thống mà các kỹ thuật áp dụng:
1. Mỗi công việc gửi đến các nút có cùng một xác suất thất bại bởi vì, mặc dù một số nút
có thể là đáng tin cậy hơn những người khác, các công việc được giao cho các nút một cách
ngẫu nhiên.
2. Độ tin cậy của các nút không thể được xác định. Giả định này tạo ra một hạn chế về
kỹ thuật dự phòng, nhưng mở rộng các lớp học của các hệ thống mà kĩ thuật có thể được áp
dụng.
3. Các nút lỗi là độc lập với nhau. Tuy nhiên, một khi các nút làm lỗi, chúng được phép

thông đồng, theo mô hình thất bại Byzantine.
4. Kết quả của mỗi công việc là một trong hai giá trị có thể (ví dụ, "có" hoặc "không"),
nhưng kết quả có thể không được dễ dàng xác minh, như trong quyết định các vấn đề NP-đầy
đủ). Giả định này có nguồn gốc từ các mô hình thất bại Byzantine, như mô tả ở trên.
5. Độ tin cậy của khách hàng mà nhận được kết quả cuối cùng của việc tính toán loại trừ
từ độ tin cậy của hệ thống.
21
3. Thuật toán dự phòng
Trong phần này, tác giả xác định ba kỹ thuật dự phòng: dự phòng theo trạng thái thực
hành truyền thống, dự phòng theo nghệ thuật tiến bộ, và giải pháp dự phòng lặp. Để mô tả hành
vi của mỗi kỹ thuật, tác giả lấy được công thức cho hai biện pháp hiệu quả của chúng trên hệ
thống: độ tin cậy hệ thống R(r) đạt được và các yếu tố chi phí C(r) áp dụng các kỹ thuật dự
phòng. Cả hai biện pháp này là chức năng của độ tin cậy trung bình r ∈ [0, 1] của nút; r có thể
được định nghĩa là khoảng thời gian ngắn một công việc trả về câu trả lời đúng. Cho đầy đủ,
tác giả trình bày các công thức khá phức tạp đối với chi phí và độ tin cậy của mỗi kỹ thuật. Như
một sự trợ giúp cho người đọc, Hình 3 cung cấp một mô tả đồ họa của các chi phí và độ tin cậy.
Hơn nữa, trong phần 4, tác giả xác minh tính chính xác của công thức thực nghiệm.
3.1. Dự phòng truyền thống:
Kỹ thuật dự phòng truyền thống k-vote (đôi khi được gọi là dự phòng k-mô-đun) thực
hiện k ∈ {3, 5, 7, } hành độc lập với nhiệm vụ tương tự song song, và sau đó có một cuộc bỏ
phiếu về tính chính xác của kết quả. Nếu ít nhất một số lượng tối thiểu các vụ hành quyết đồng
ý vào một kết quả, một sự đồng thuận tồn tại, và kết quả được thực hiện để có giải pháp. Để
đơn giản hóa các cuộc thảo luận tiếp theo, tác giả sử dụng (k +1)/2 (tức là, một phần lớn) như
số lượng tối thiểu của các kết quả phù hợp với yêu cầu cho một sự đồng thuận. Triển khai thực
hiện hiện đại của DCAS, bao gồm BOINC và Hadoop, dựa trên dự phòng truyền thống. Hình 2
(a) mô tả đồ họa các thuật toán dự phòng truyền thống.
22
3.2 Dự phòng tiến bộ:
Là một phần của nghiên cứu của tác giả về các kỹ thuật dự phòng, tác giả phát hiện ra
một tự cấu hình kỹ thuật lập trình lạc quan rằng có thể được thiết kế lại để áp dụng cho DCAs.

Tác giả đã thừa hưởng chương trình này để phát triển dự phòng tiến bộ. Trong khi, để hiểu biết
của tác giả, dự phòng tiến bộ không được sử dụng ngày hôm nay trong bất kỳ hệ thống phân
phối triển khai, tác giả giới thiệu ở đây bởi vì, trong một nghĩa nào đó, nó đại diện cho một
mốc trung gian giữa dự phòng truyền thống và lặp, cả về độ tin cậy hệ thống đạt được như một
chức năng của chi phí, và trong việc giúp giải thích tốt hơn dự phòng lặp để một người đọc là
quen thuộc chỉ với dự phòng truyền thống.
Chìa khóa để dự phòng tiến bộ là quan sát dự phòng truyền thống đôi khi đạt đến một sự
đồng thuận một cách nhanh chóng nhưng vẫn tiếp tục phân phối công việc mà không ảnh
hưởng đến kết quả của công việc. Dự phòng tiến bộ giảm thiểu số lượng việc làm cần thiết để
tạo ra một sự đồng thuận: k bỏ phiếu tiến bộ máy chủ nhiệm vụ dự phòng phân phối chỉ (k + 1)
/ 2 công việc. Nếu tất cả các công việc trả lại kết quả tương tự, sẽ có một sự đồng thuận và kết
quả sản xuất bằng công việc tiếp theo của nhiệm vụ tương tự trở nên không thích hợp. Nếu một
số nút đồng ý, nhưng không đủ để tạo ra một sự đồng thuận, các máy chủ nhiệm vụ tự động
phân phối số lượng tối thiểu của bản bổ sung của công việc cần thiết để tạo ra một sự đồng
thuận, giả định rằng tất cả những hành thêm là để sản xuất cùng một kết quả. Máy chủ nhiệm
vụ lặp quá trình này cho đến khi một sự đồng thuận. Hình 2 (b) đồ họa mô tả các thuật toán dự
phòng tiến bộ.
3.3. Dự phòng lặp
DCAS thường thực hiện các công việc không đồng bộ và có (1) truy cập vào thông tin
thời gian chạy về độ tin cậy của hệ thống và (2) khả năng để thay đổi quyết định triển khai
nhiệm vụ dựa trên thông tin đó. Tác giả thừa hưởng sự quan sát này để phát triển lặp dư thừa.
Dự phòng lặp phân phối số lượng tối thiểu các công việc cần thiết để đạt được một mức
độ tin cậy mong muốn trong kết quả, giả định rằng kết quả tất cả các công việc đồng ý. Sau đó,
nếu tất cả các công việc đồng ý, hoàn thành nhiệm vụ. Tuy nhiên, nếu một số kết quả không
đồng ý, mức độ tin cậy liên quan với kết quả đa số được giảm bớt bởi vì các cơ hội mà kết quả
không đồng ý là chính xác. Nói cách khác, nguy cơ rõ ràng của sự thất bại của nhiệm vụ tăng
23
lên. Các thuật toán sau đó đánh giá lại tình hình và phân phối số lượng tối thiểu của công việc
làm thêm có thể sẽ đạt được mức mong muốn của sự tự tin. Quá trình này lặp cho đến khi kết
quả đồng ý đầy đủ đông hơn các kết quả không đồng ý để đạt được ngưỡng sự tự tin. Hình 2 (c)

đồ họa mô tả các thuật toán dự phòng tiến bộ.
4. Đánh giá:
Phần này phân tích chi phí và lợi ích của ba kỹ thuật dự phòng. Ngoài một số lý luận
chính thức dựa trên phương trình (1) đến (6), mỗi phân tích bao gồm dữ liệu từ một mô phỏng
sự kiện rời rạc của một DCA và triển khai hệ thống máy tính thực nghiệm BOINC, phân phối
trên nền tảng PlanetLab.
Trong phần 4.1, tác giả mô tả các nền tảng đánh giá để mô phỏng và triển khai BOINC.
Trong phần 4.2, tác giả đánh giá hiệu quả của các kỹ thuật.
4.1. Nền tảng đánh giá:
Tác giả sử dụng nền tảng “quá hạn sử dụng” để đánh giá các kỹ thuật dự phòng:
XDEVS và BOINC.
Môi trường mô phỏng XDEVS. Khuôn khổ mô phỏng XDEVS [14] là một mô phỏng
sự kiện rời rạc dễ mở rộng chuyên để mô phỏng hệ thống phần mềm. Các công việc phân phối
cho các nút trong mô phỏng XDEVS của tác giả không giải quyết bất kỳ vấn đề cụ thể, đúng
hơn, họ thực hiện công việc mô phỏng trong thời gian mô phỏng thời gian. Các công cụ mô
phỏng XDEVS, được thiết kế để thi hành chế hành vi hệ thống, đảm bảo rằng mô hình hệ thống
của tác giả mô tả trong phần 2 được đại diện chính xác.
Sử dụng XDEVS cho phép tác giả nhanh chóng thực hiện mỗi kỹ thuật dự phòng, linh
hoạt thử nghiệm với các thông số hệ thống, chẳng hạn như độ tin cậy công việc và số tiền dự
phòng làm việc, và quan sát hành vi năng động không tiếp xúc bằng cách phân tích tĩnh chính
thức. Để cho phép so sánh, tất cả các dữ liệu được đưa ra trong phần này được tạo ra từ mô
phỏng XDEVS chạy với (1) ít nhất là 1.000.000 nhiệm vụ và 10.000 nút, (2) thời gian hoàn
thành công việc thay đổi giữa 0.5 và 1.5 đơn vị thời gian, theo một thống nhất phân phối, và (3)
một độ tin cậy nút trung bình 0.7
24
Mỗi mô phỏng chạy ghi lại các đơn vị thời gian mô phỏng cần thiết để hoàn thành việc
tính toán, tổng số việc làm được tạo ra, số lượng trung bình của việc làm mỗi nhiệm vụ tạo ra,
số lượng tối đa việc tạo ra cho bất kỳ nhiệm vụ duy nhất, số lượng công việc mà đạt được một
kết quả chính xác, thời gian phản ứng trung bình cho mỗi công việc, và thời gian đáp ứng tối đa
cho nhiệm vụ bất kỳ.

Triễn khai BOINC. Đánh giá thực nghiệm thứ hai của tác giả sử dụng hệ thống máy
tính thực nghiệm BOINC. BOINC là một DCA phổ biến hiện nay được triển khai trên hơn một
triệu máy. Ví dụ về các ứng dụng BOINC bao gồm SETI@home, Folding@home,
Malariacontrol.net, và Climateprediction.net. Phần mềm máy chủ BOINC cho phép phân phối
của một vấn đề tùy chỉnh để máy tính hoạt động tình nguyện. Để so sánh ba kỹ thuật dự phòng,
tác giả (1) phát triển một máy chủ nhiệm vụ tùy chỉnh có thể phân hủy 3-SAT vấn đề thành các
nhiệm vụ cá nhân kiểm tra xem tập Boolean đặc biệt đáp ứng một công thức Boolean, và (2)
sửa đổi các phân công công việc, thủ tục xác nhận kết quả để sử dụng lặp và dự phòng tiến bộ.
Tác giả triển khai BOINC trên một tập hợp con 200-node của PlanetLab. Các thử
nghiệm PlanetLab bao gồm ~ 1.000 máy tốc độ và nguồn lực khác nhau, được phân phối tại ~
500 địa điểm trên khắp thế giới.
Để cho phép so sánh, tất cả các dữ liệu được đưa ra trong phần này được tạo ra từ hành
BOINC trên 200 nút đó đã giải quyết 22-biến 3-SAT vấn đề. Mỗi vấn đề đã được phân tách ra
thành 140 nhiệm vụ. Ba loại thất bại đã có mặt trong hệ thống BOINC:
1) hạt giống số thất bại gây ra kết quả sai để được trả lại 30% thời gian,
2) PlanetLab nút trở thành không phản hồi, và
3) tất cả những thất bại bất ngờ khác mà PlanetLab các nút có thể trải nghiệm.
Mỗi lần thực hiện ghi lại thời gian để hoàn thành việc tính toán, tổng số việc làm được
tạo ra, số lượng trung bình của việc làm mỗi nhiệm vụ tạo ra, số lượng tối đa công ăn việc làm
được tạo ra cho bất kỳ nhiệm vụ duy nhất, và số lượng công việc mà đạt được một kết quả
chính xác.
25

×