Tải bản đầy đủ (.pdf) (76 trang)

Giải pháp nâng cao hiệu quả của giản đồ lập lịch dựa trên độ tin cậy trong các hệ thống tính toán tình nguyện luận văn thạc sĩ

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 (3.59 MB, 76 trang )

..

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
---------------------------------------

LUẬN VĂN THẠC SĨ KHOA HỌC

GIẢI PHÁP NÂNG CAO HIỆU QUẢ CỦA GIẢN ĐỒ
LẬP LỊCH DỰA TRÊN ĐỘ TIN CẬY TRONG CÁC
HỆ THỐNG TÍNH TỐN TÌNH NGUYỆN

NGÀNH: CƠNG NGHỆ THƠNG TIN
MÃ SỐ: ………………………………

Nguyễn Quang Hịa
Người hướng dẫn khoa học: TS. NGÔ HỒNG SƠN

Hà Nội – 2008


1

LỜI CAM ĐOAN

Tôi xin cam đoan bản Luận văn này là cơng trình nghiên cứu của riêng tơi.
Các dữ liệu và kết quả nêu trong Luận văn là hoàn toàn trung thực và có nguồn gốc
rõ ràng.

TÁC GIẢ
(Ký tên)



Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008


2

Chương 1.
LỜI CẢM ƠN

Trước hết, tôi xin được chân thành cảm ơn TS. Ngơ Hồng Sơn đã tận tình
hướng dẫn, cung cấp tài liệu và kiến thức cần thiết giúp tơi hồn thành Luận văn tốt
nghiệp này.
Tơi xin bày tỏ lịng biết ơn sâu sắc tới các thầy, cơ giáo trong Khoa Công
nghệ thông tin cũng như các thầy, cô giáo trong trường Đại học Bách Khoa Hà Nội
đã truyền đạt cho tôi những kiến thức quan trọng trong suốt thời gian tôi học tập và
nghiên cứu tại trường.
Cuối cùng, tơi xin được nói lời cảm ơn đến gia đình và bạn bè, những người
luôn ở bên tôi, cổ vũ và động viên tôi trong suốt thời gian học tập và làm luận văn
tốt nghiệp.
Trong q trình hồn thành luận văn, do còn thiếu kinh nghiệm, sự ràng buộc
về thời gian và sự hạn chế về kiến thức nên chắc chắn khơng tránh khỏi những thiếu
sót. Vì vậy tơi rất mong nhận được sự đóng góp ý kiến và giúp đỡ của các thầy, các
cô và các bạn.

Hà Nội, ngày 20 tháng 11 năm 2008
Người thực hiện luận văn

Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008



3

MỤC LỤC
LỜI CAM ĐOAN .......................................................................................................1
LỜI CẢM ƠN .............................................................................................................2
MỤC LỤC...................................................................................................................3
DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ ...............................................................5
MỞ ĐẦU.....................................................................................................................6
Chương 1.

TỔNG QUAN .....................................................................................8

1.1

Tính tốn lưới ................................................................................................8

1.2

Tính tốn ngang hàng ..................................................................................12

1.3

Tính tốn tình nguyện..................................................................................14

1.3.1

Khái niệm..............................................................................................14

1.3.2


BOINC ..................................................................................................15

1.3.2.1

Khái niệm.......................................................................................15

1.3.2.2

Các đặc trưng cơ bản của BOINC [23]..........................................16

1.3.2.3

Kiến trúc BOINC ...........................................................................18

1.3.3

Lập lịch trong tính tốn tình nguyện.....................................................19

1.3.3.1

Lập lịch phía máy trạm ..................................................................20

1.3.3.2

Lập lịch phía máy chủ....................................................................20

1.3.3.3

Lập lịch chịu lỗi dựa trên độ tin cậy ..............................................21


1.3.4

So sánh với tính tốn lưới và tính tốn ngang hàng .............................23

1.3.4.1

Tính tốn lưới.................................................................................23

1.3.4.2

Tính tốn ngang hàng.....................................................................23

Chương 2.

LÝ THUYẾT CƠ BẢN VỀ LẬP LỊCH DỰA TRÊN ĐỘ TIN CẬY
25

2.1

Mơ hình cơ bản và các giả định...................................................................25

Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008


4
2.2

Các kĩ thuật chịu lỗi truyền thống. ..............................................................28

2.2.1


Biểu quyết theo số đông........................................................................29

2.2.2

Kiểm tra điểm .......................................................................................30

2.3

2.2.2.1

Kiểm tra điểm dùng danh sách đen................................................31

2.2.2.2

Kiểm tra điểm không dùng danh sách đen.....................................32

Chịu lỗi dựa trên độ tin cậy .........................................................................33

2.3.1

Tổng quan .............................................................................................33

2.3.2

Tính tốn độ tin cậy ..............................................................................35

2.3.3

Ứng dụng sự tin cậy..............................................................................36


2.4

2.3.3.1

Kết hợp biểu quyết và kiểm tra điểm.............................................36

2.3.3.2

Kiểm tra điểm bằng biểu quyết......................................................37

Khảo sát một số giản đồ lập lịch. ................................................................38

2.4.1

Lập lịch Round Robin...........................................................................39

2.4.2

Lập lịch Round Robin dựa trên sự ưu tiên về khả năng tính tốn ........41

Chương 3.

GIẢN ĐỒ LẬP LỊCH ROUND ROBIN DỰA TRÊN ĐỘ TIN CẬY
44

3.1

Giản đồ lập lịch Round Robin dựa trên sự ưu tiên về độ tin cậy ................44


3.2

Giản đồ lập lịch Round Robin dựa trên kiểm thử độ tin cậy.......................55

Chương 4.

KẾT QUẢ THỰC NGHIỆM ............................................................65

4.1

Chương trình mơ phỏng...............................................................................65

4.2

Kịch bản mô phỏng......................................................................................65

4.3

Kết quả.........................................................................................................66

Chương 5.

KẾT LUẬN .......................................................................................72

5.1

Những kết quả đạt được...............................................................................72

5.2


Những cơng việc chưa làm được.................................................................72

Nguyễn Quang Hịa - Lớp CH CNTT 2006 – 2008


5
5.3

Hướng phát triển trong tương lai.................................................................73

TÀI LIỆU THAM KHẢO.........................................................................................74

DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ
Hình 1-1. Minh họa về tính tốn lưới..........................................................................9
Hình 1-2. Tổ chức ảo.................................................................................................11
Hình 1-3. Mơ hình mạng ngang hàng .......................................................................12
Hình 1-4. Mơ hình tính tốn tình nguyện..................................................................15
Hình 1-5. Mơ hình cơ bản của BOINC .....................................................................16
Hình 1-6. Kiến trúc BOINC ......................................................................................18
Hình 1-7. Sự tương tác giữa máy trạm và máy chủ ..................................................19
Hình 2-1. Mơ hình chủ khách ...................................................................................26
Hình 2-2. Hàng đợi cơng việc lập lịch tham lam với biểu quyết m đầu tiên ............28
Hình 2-3. Tỉ lệ lỗi của biểu quyết số đông với nhiều các giá trị m và f [8] ..............30
Hình 2-4. Hàng đợi cơng việc lập lịch tham lam nâng cao độ tin cậy [8] ................33
Hình 3-1. Mơ tả hệ thống tính tốn tình nguyện.......................................................45
Hình 3-2. Sơ đồ hình vẽ các bước của giản đồ lập lịch Round Robin dựa trên sự ưu
tiên về độ tin cậy .......................................................................................................46
Hình 3-3. Sơ đồ hình vẽ các bước của giản đồ lập lịch kiểm thử dựa trên độ tin cậy
...................................................................................................................................57
Hình 4-1. Biểu đồ so sánh sự chậm chễ của các giản đồ lập lịch với s= 0.25,N >P67

Hình 4-2. Biểu đồ so sánh sự chậm chễ của các giản đồ lập lịch với s= 0.5,N >P..68
Hình 4-3 Biểu đồ so sánh sự chậm chễ của các giản đồ lập lịch với s= 0.75,N >P.68
Hình 4-4. Biểu đồ so sánh sự chậm chễ của các giản đồ lập lịch với s= 1,N >P.....69
Hình 4-5. Biểu đồ so sánh sự chậm chễ của các giản đồ lập lịch với s= 0.25,N< P69
Hình 4-6. Biểu đồ so sánh sự chậm chễ của các giản đồ lập lịch với s= 0.5,N< P..70
Hình 4-7. Biểu đồ so sánh sự chậm chễ của các giản đồ lập lịch với s= 0.75,N< P70
Hình 4-8. Biểu đồ so sánh sự chậm chễ của các giản đồ lập lịch với s= 1,N< P.....71

Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008


6

MỞ ĐẦU
Tính tốn tình nguyện là một mơ hình tính toán song song hấp dẫn để xây dựng lên
các hệ thống tính tốn có phạm vi rộng lớn từ số lượng lớn các máy tính tình
nguyện trên mạng. Trong những năm gần đây, đã có sự quan tâm tăng lên và nhanh
chóng trong các hệ thống tính tốn tình nguyện. Hệ thống tính tốn tình nguyện cho
phép người sử dụng từ bất cứ nơi nào trên mạng, đóng góp thời gian tính tốn nhàn
rỗi của máy tính để hướng vào giải quyết các bài tốn có thời gian tính tốn lớn.
Tính tốn tình nguyện giúp cho có thể xây dựng các mạng tính tốn tồn cầu lớn rất
nhanh, điều này được chứng mình bởi sự thành cơng của dự án SETI@home[2], dự
án này đang triển khai hàng trăm nghìn máy tính tình nguyện để tìm kiếm số lượng
lớn dữ liệu đàm thoại radio cho tín hiệu của sự sống bên ngồi trái đất,
Einstein@Home [6] tìm kiếm các sao neutron xoay rất nhanh dùng dữ liệu từ các
nhà dị tìm sóng hấp dẫn LIGO và GEO hay Climateprediction.net@Home [7] dùng
để dự đốn khí hậu trên trái đất …
Trong hệ thống tính tốn tình nguyện, khả năng chịu đựng lỗi là một vấn đề quan
trọng bởi vì có thể có nhiều những người dùng ác ý trên mạng phá hoại hệ thống
bằng việc cố ý đệ trình các kết quả sai. Để giải quyết yêu cầu đưa ra kết quả tốt

trong hệ thống tính tốn tình nguyện mà có người dùng ác ý tham gia thì hệ thống
lập lịch tại máy chủ phải thực thi các chính sách lập lịch chịu lỗi. Do đó trong luận
văn này, tơi quan tâm đến vấn đề lập lịch nhiệm vụ phía máy chủ của hệ thống tính
tốn tình nguyện thực thi các kĩ thuật chịu đựng lỗi. Mặc dù một số kĩ thuật chịu lỗi
đang tồn tại như là biểu quyết theo số đông, kiểm tra điểm, kết hợp biểu quyêt và
kiểm tra điểm, kiêm tra điểm bằng biểu quyết [8], hay giản đồ lập lịch Round Robin
dựa trên sự ưu tiên về khả năng tính tốn [10] có thể đảm bảo các u cầu về độ tin
cậy cho các kết quả tính tốn, tuy nhiên, các kĩ thuật này luôn luôn là nguyên nhân
làm cho hiệu năng giảm đi trong giới hạn của toàn bộ thời gian tính tốn. Trong
luận văn này tơi đề xuất hai kĩ thuật lập lịch hiệu quả cho máy chủ được gọi là lập
lịch Round Robin dựa trên sự ưu tiên về độ tin cậy và lập lịch Round Robin dựa
trên kiểm thử độ tin cậy nhằm nâng cao hiệu quả của giản đồ lập lịch dựa trên độ tin
Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008


7
cậy trong các hệ thống tính tốn tình nguyện. Các kĩ thuật này đều đưa ra các tiêu
chí để chọn một máy trạm phù hợp nhất để thực thi một nhiệm vụ. Kĩ thuật đầu tiên
quan tâm đến chọn một máy trạm đang có khả năng có độ tin cậy cao nhất và khả
năng thực hiện tốt nhất. Kĩ thuật thứ hai thì chọn máy trạm sao cho khi nhiệm vụ
được thực hiện bởi nó thì độ tin cậy của nhiệm vụ sẽ tăng lên, Bằng việc sử dụng bộ
mô phỏng VCSIM để thực hiện mơ phỏng các thuật tốn lập lịch, tôi đã chỉ ra rằng
kĩ thuật được đưa ra có thể giúp giảm bớt thời gian thực thi của toàn bộ hệ thống so
với kĩ thuật lập lịch Round Robin tương ứng.
Phần còn lại của luận văn này được tổ chức như sau:
• Chương 1. Giới thiệu tổng quan: Trình bày về các hệ thống tính tốn phân
tán, tính tốn lưới, tính tốn ngang hàng, tính tốn tình nguyện, BOINC, và
khảo sát qua các thuật toán lập lịch trong tính tốn tình nguyện.
• Chương 2. Lý thuyết cơ bản lập lịch dựa trên độ tin: Trình bày về các mơ
hình cơ bản của hệ thống và các giả định, các kĩ thuật chịu lỗi chuyền thống,

chịu lỗi dựa trên độ tin cậy và khảo sát một số giản đồ lập lịch chịu lỗi dựa
trên độ tin cậy.
• Chương 3. Giản đồ lập lịch dựa trên độ tin cậy: Mô tả các đề xuất của chúng
tôi về giản đồ lập lịch dựa trên độ tin cậy.


Chương 4. Kết quả thực nghiệm: Giới thiệu kịch bản mô phỏng và thảo luận
về các kết quả mơ phỏng.



Chương 5. Kết luận: Tóm tắt lại những công việc đã đạt được, những công
việc chưa làm được và hướng phát triển trong tương lai.

Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008


8

Chương 1. TỔNG QUAN
Ngày nay, với sự phát triển vượt bậc của khoa học kỹ thuật và công nghệ, đã xuất
hiện những bài tốn trong nhiều lĩnh vực địi hỏi sức mạnh tính tốn mà một máy
tính riêng lẻ khơng thể đảm trách. Xuất phát từ những nhu cầu đó, các kỹ thuật tính
tốn song song, tính tốn phân tán đã được đề xuất và đã phần nào đáp ứng được
các yêu cầu này. Tuy nhiên, tham vọng của con người khơng dừng lại ở đó. Họ
muốn một sức mạnh tính tốn lớn hơn, với khả năng chia sẻ tài nguyên giữa mọi
người trên phạm vi toàn cầu, khả năng tận dụng các phần mềm cũng như tài nguyên
vật lý phân tán cả về mặt địa lý. Các tổ chức giải quyết vấn đề này bằng hai cách:
• Đầu tư thêm trang thiết bị, cơ sở hạ tầng tính tốn (mua thêm máy chủ, máy
trạm, siêu máy tính, cluster...). Tuy nhiên cách làm này hết sức tốn kém.

• Có một cách làm khác hiệu quả hơn đó là phân bố lại hợp lý các nguồn tài
nguyên trong tổ chức hoặc thuê thêm các nguồn tài nguyên từ bên ngoài (tất
nhiên là với chi phí rẻ hơn nhiều so với việc đầu tư cho cơ sở hạ tầng tính tốn).
Thực tế cho thấy có một phần lớn các nguồn tài nguyên của chúng ta đang được sử
dụng lãng phí: các máy để bàn công sở thường chỉ hoạt động khoảng 5% cơng suất,
ngay cả các máy chủ cũng có thể chỉ phải hoạt động với 20% công suất. Việc tận
dụng hiệu quả các nguồn tài nguyên này có thể mang lại một sức mạnh tính tốn
khổng lồ. Cách giải quyết thứ hai này chính là mục tiêu của tính tốn lưới và tính
tốn tình nguyện.

1.1 Tính tốn lưới
Tính tốn lưới hướng đến việc chia sẻ và sử dụng hiệu quả các nguồn tài nguyên
thuộc về nhiều tổ chức trên một quy mơ rộng lớn (thậm chí là quy mơ tồn cầu).
Chính các công nghệ mạng và truyền thông phát triển mạnh mẽ trong những năm
qua đã biến những khả năng này dần trở thành hiện thực. Các nghiên cứu về tính
tốn lưới đã và đang được tiến hành là nhằm tạo ra một cơ sở hạ tầng lưới cho phép
dễ dàng chia sẻ và quản lý các tài nguyên đa dạng và phân tán trong mơi trường

Nguyễn Quang Hịa - Lớp CH CNTT 2006 – 2008


9
lưới. Như vậy, tính tốn lưới, hiểu một cách đơn giản là một dạng của tính tốn
phân tán. Mục đích là tạo ra một máy tính ảo lớn mạnh từ một tập lớn các hệ thống
không đồng nhất nhằm nâng cao khả năng tính tốn, chia sẻ các tài ngun khác
nhau.
Một ví dụ về dự án tính tốn lưới là dự án Avian Flu Grid[24], dự án này nhằm sử
dụng lưới PRAGMA[25] và các cơ sở hạ tầng tính tốn hiệu năng cao để phát triển
một mơ hình cho hợp tác toàn cầu đấu tranh chống lại sự đe dọa dịch lớn của cúm
avian và các bệnh dịch lây nhiễm nghiêm trọng khác. Hệ thống lưới PRAGMA, mà

trung tâm HPCC-HUT (Trung tâm tính tốn hiệu năng cao của trường Đại Học
Bách Khoa Hà Nội) là một thành viên, được tạo ra nhằm duy trì các hoạt động cộng
tác và thúc đẩy sử dụng các kĩ thuật lưới trong các ứng dụng khoa học tiên tiến giữa
các viện hàng đầu trong các nước có đường biên giới nằm trên biển thái bình
dương.

Hình 1-1. Minh họa về tính tốn lưới
Hình 1-1 là một ví dụ về lưới, như một mạng liên kết các tài nguyên phân tán về
mặt địa lý, các tài nguyên rất phong phú, đa dạng, bao gồm tập các siêu máy tính,
các thiết bị truyền thơng vệ tinh, các kho lưu trữ, các cluster tính tốn hiệu năng cao
Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008


10
, các tổ chức ảo liên kết trong lưới. Người dùng trong lưới cũng hết sức đa dạng, từ
các người dùng thông thường, cho tới các người dùng chuyên dụng, có kiến thức
sâu về chun mơn như các nhà nghiên cứu, các nhà khoa học... Và lưới chính là sự
tập hợp, chia sẻ, chọn lựa các nguồn tài nguyên này thơng qua một chính sách thống
nhất, phân phối các siêu máy tính và các hệ cluster để đạt hiệu năng tốt hơn.
Các thách thức mà cơng nghệ tính tốn lưới đang phải giải quyết bao gồm:
• Các tài nguyên hết sức đa dạng, không đồng nhất. Tài nguyên ở đây được hiểu
theo nghĩa hết sức tổng quát. Đó có thể là các tài ngun phần cứng: tài ngun
tính tốn, tài nguyên lưu trữ, các thiết bị đặc biệt khác...; các tài nguyên phần
mềm: các CSDL, các phần mềm đặc biệt và đắt giá...; các đường truyền mạng...
Các tài nguyên này có thể rất khác nhau về mặt kiến trúc, giao diện, khả năng xử
lý... Việc tạo ra một giao diện thống nhất cho phép khai thác và sử dụng hiệu
quả các nguồn tài ngun này là hồn tồn khơng dễ dàng. Ban đầu tính tốn
lưới được đặt ra chủ yếu là để tận dụng các nguồn tài ngun tính tốn nhưng
hiện nay mục tiêu của nó đã được mở rộng sang rất nhiều nguồn tài nguyên khác
như đã kể trên.

• Các tài nguyên không chỉ thuộc về một tổ chức mà thuộc về rất nhiều tổ chức
tham gia lưới. Các tổ chức phải tuân thủ một số quy định chung khi tham gia
vào lưới cịn nhìn chung là hoạt động độc lập tức là các tài nguyên này đều có
quyền tự trị. Các tổ chức khác nhau thường có chính sách sử dụng hay cho thuê
tài nguyên của họ khác nhau và do vậy cũng gây khó khăn cho việc quản lý.
• Các tài nguyên phân tán rộng khắp về mặt địa lý do vậy phải có các cơ chế quản
lý phân tán.
• Đảm bảo an tồn thơng tin cho một môi trường phức tạp như môi trường lưới là
rất khó khăn trong khi đây là một trong những điểm ưu tiên hàng đầu.
Theo Ian Foster, một hệ thống lưới là hệ thống có 3 đặc điểm chính sau:
• Phối hợp các tài nguyên phân tán từ nhiều miền quản trị khác nhau.
• Sử dụng các giao diện và giao thức chuẩn mở.
• Mang lại cho người dùng chất lượng dịch vụ khơng tầm thường.

Nguyễn Quang Hịa - Lớp CH CNTT 2006 – 2008


11
Riêng điểm thứ 2 là một điểm rất đáng lưu ý. Vì lưới là một mơi trường thu hút
nhiều tổ chức tham gia nên khơng thể coi nhẹ vai trị của các chuẩn mở và các giao
thức mở, cũng giống như việc sử dụng các chuẩn này đã giúp cho mạng Internet
bùng nổ mạnh mẽ trong những năm 90 của thế kỉ trước.
Khái niệm tổ chức ảo cũng là một khái niệm rất quan trọng trong tính tốn lưới. Tổ
chức ảo là một tổ chức được lập ra động để giải quyết một vấn đề nào đó. Thành
phần của tổ chức ảo bao gồm rất nhiều tài nguyên thuộc về nhiều tổ chức (thực)
khác nhau trong môi trường lưới và cùng hoạt động vì một mục tiêu chung. Tùy
theo mức độ của vấn đề cần giải quyết mà các tổ chức ảo có thể rất khác nhau về
quy mơ, phạm vi hoạt động, thời gian sống. Hình 1.2 dưới đây là một minh họa về
tổ chức ảo. Có một người dùng cần giải một bài toán lớn về dự báo thời tiết, anh ta
thành lập l tổ chức ảo bằng cách thuê một số nguồn tài nguyên khác nhau từ một vài

tổ chức khác nhau. Tương tự như vậy, một người dùng cần giải một bài toán về dự
báo tài chính, anh ta cũng thành lập một tổ chức ảo để giải quyết bài tốn này.

Hình 1-2. Tổ chức ảo

Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008


12

1.2 Tính tốn ngang hàng
Mạng ngang hàng là một mơ hình truyền thơng ở đó mọi nút trong mạng thực hiện
giống nhau. Đối nghịch với mơ hình chủ khác, ở đây một nút cung cấp các dịch vụ
và các nút khác sử dụng các dịch vụ.

Hình 1-3. Mơ hình mạng ngang hàng
Tính tốn ngang hàng là một dạng của tính tốn phân tán, nó bao gồm một số lớn
các nút tịnh toán tự trị (các máy ngang hàng) hoạt động chia sẻ tài ngun và các
dịch vụ [2]. Tính tốn ngang hàng là chia sẻ các tài nguyên và các dịch vụ bằng điều
hướng chuyển đổi giữa các hệ thống. Những tài nguyên và dịch vụ này bao gồm
chuyển đổi thơng tin, các chu kì xử lý, lưu trữ đệm, và lưu trữ trên đĩa cho các file.
Tính tốn ngang hàng sử dụng tốt sức mạnh tính tốn của các máy tính để bàn đang
tồn tại và kết nối mạng. Các máy ngang hàng có trách nhiệm như nhau đồng thời có
các chức năng vừa là máy chủ vừa là máy khách cho dịch vụ và chia xẻ tài nguyên.
Lợi ích của việc sử dụng tính toán ngang hàng là: Giảm cân bằng tải trên các máy
chủ, cho phép các máy chủ thực thi các dịch vụ đặc biệt hiệu quả hơn, có thể giảm
các yêu cầu cho các tổ chức IT để tăng các phần cơ sở hạ tằng của họ để hỗ trợ các
dịch vụ như là lưu trữ sao lưu, tạo ra sức mạng tính tốn khơng tốn nhiều chi phí,
băng thơng, lưu trữ …
Một số thuận lợi của tính tốn ngang hàng đó là khơng có điểm trung tâm lỗi, khả

năng mở rộng lớn vì mọi máy ngang hàng là giống nhau do đó có thể thêm nhiều
máy ngang hàng đến hệ thống. Điểm không thận lợi của tính tốn ngang hàng chính
là sự điều phối không tập trung, tất cả các nút được tạo ra là khơng giống nhau về
sức mạng tính tốn, băng thơng …

Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008


13
Trong tính tốn ngang hàng, các ứng dụng được phân tách vào ba loại chính đó là:
• Tính tốn phân tán
• Chia sẻ file
• Các ứng dụng cộng tác
Ba loại này phục vụ các mục đích khác nhau và vì vậy chúng có các yêu cầu phát
triển riêng. Các ứng dụng tính tốn phân tán thường u cầu phân tích vấn đề lớn
vào các vấn đề song song nhỏ, các ứng dụng chia sẻ file yêu cầu tìm kiếm hiệu quả
theo các mạng diện rộng và các ứng dụng cộng tác yêu cầu cập nhập các kĩ thuật để
cung cấp tính nhất qn trong mơi trường đa người dung.
Các ứng dụng phổ biến nhất trong tính tốn ngang hàng [22] là chia sẻ nội dung và
file điển hình như là Napster, Gnutella, Mojo Nation, eDonkey and Freenet. Napster
là hệ thống lớn đầu tiên có thể trao đổi hướng và chia sẻ nội dung. Trong khi sự trao
đổi nội dung thực tế trong Napster là giữa các máy tính ngang hàng thì việc khám
phá các máy tính ngang hàng vẫn tập trung (như lưu trữ trong thư mục trung tâm).
Gnutella cung cấp một giải pháp chia sẻ file phân tán rõ ràng không sử dụng nút
trung tâm. Hạn chế của Gentella không phải là một ứng dụng mà là một giao thức
dùng để tìm kiếm và chia sẻ file. Để tìm nội dung và một máy ngang hàng khác một
người dùng phải biết địa chỉ IP của ít nhất một nút Gnutella khác. Một nút sẽ đưa ra
một câu truy vấn cho một file bằng việc gửi nó đến tất cả các nút khác nó biết. Nếu
một nút khơng phục vụ được yêu cầu nó có thể truyền đến các nút khác. Câu truy
vấn sẽ đi hết các nút trong mạng Gnutella cho đến khi file được tìm thấy hoặc thời

gian sống của nó đã hết. Kĩ thuật khám phá này sẽ làm lụt mạng và đây chính là
nguyên nhân cho các vấn đề về quy mô mạng. Một vấn đề khác trong Gnutella là
những người điều khiển tự do, ví dụ là những người không phân bố nội dung nhưng
lại lấy nội dung từ người dùng khác. Mojo Nation là ứng dụng trao đổi nội dung
ngang hàng, nó giới thiệu một sự lưu hành ảo để đếm những người điều khiển tự do.
Sư lưu hành ảo này dùng để khuyến phân bố các tài nguyên (như là không gian lưu
trữ và nội dung). Các máy trạm trong mạn Mojo Nation có thể có các vai trị khác
nhau. Nội dung được phân tách vào thành các khối và được phân bố trên tồn bộ

Nguyễn Quang Hịa - Lớp CH CNTT 2006 – 2008


14
mạng Mojo. Do đó, máy chủ lưu giữ chỉ một phần nội dung các host chứ khơng
phải tồn bộ file. Một hệ thống chia sẻ file phổ biến khác là eDonkey. Đặc điểm đặc
biệt của eDonkey là nó xác minh các file sử dụng thuật toán MD4 dựa trên giá trị
mảng băm và kích cỡ file. Phương thức này cho phép xác định các file với nội dung
giống nhau nhưng tên file khác nhau. Nó cũng có thể tải nội dung từ các file nguồn
khác và vì vậy tăng tỉ lệ tải mạng. Freenet cũng là một hệ thống chia sẻ nội dung/
file. Mục đích chính của Freenet là làm cho nó có thể sử dụng với người vơ danh.
Các yêu cầu của người dùng không phải của Freenet hoặc các file đang được đặc
trong những nơi khác trong Freenet có thể được xác định. Xa hơn, một người điều
khiển của một nút Freenet không thể xác minh dữ liệu gì được lưu trữ trên đĩa cục
bộ của nó. Freenet đã phân tán hoàn chỉnh và biểu diễn mạng ngang hàng theo mẫu
của riêng nó.

1.3 Tính tốn tình nguyện
1.3.1 Khái niệm
Tính tốn tình nguyện là một mơ hình tính tốn song song mới cho phép người
dùng tình nguyện trên tồn mạng phân bổ các tài ngun tính tốn nhàn rỗi của họ

để hỗ trợ cho tính tốn song song có phạm vi rộng lớn [1], [2], [3], [20]. Không
giống như các hệ thống tính tốn lưới phổ biến [4], [5], các hệ thống tính tốn tình
nguyện chứa đựng nhiều các máy tính từ các cá nhân (được gọi là những người tình
nguyện) người mà muốn chia sẻ các tài nguyên của họ cho các dự án nghiên cứu
mang tính cộng đống như là SETI@home [2] tìm kiếm sự sống bên ngồi trái đất,
Einstein@Home[6] tìm kiếm các sao neutron xoay rất nhanh dùng dữ liệu từ các
nhà dị tìm sóng hấp dẫn LIGO và GEO, Climateprediction.net@Home [7] dùng để
dự đốn khí hậu trên trái đất ... Khi tham gia vào dự án, những người tình nguyện
được giữ bí mật về tên tuổi cùng các thông tin cá nhân khác. Mặc dù khi đăng ký
tham gia dự án họ phải cung cấp email cũng như một số thông tin, tuy nhiên dự án
không thể làm ảnh hưởng đến đời sống thực của họ. Và vì thế, họ khơng phải chịu
bất kỳ trách nhiệm nào về dự án. Tính tốn tình nguyện giúp cho có thể xây dựng
các mạng tính tốn tồn cầu lớn rất nhanh, điều này được chứng mình bởi sự thành

Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008


15
công của dự án SETI@home với tổng số host 2,138,226 tổng số lượng người dùng
904,956 với tổng 252 quốc gia tham gia, các phép tốn con trỏ động trung bình cho
mỗi giây 51,103.68 GigaFLOPS (51.104 TeraFLOPS).
Một hệ thống tình nguyện điển hình bao gồm hàng trăm đến hàng nghìn máy tính
tình nguyện và một trung tâm tính tốn (trung tâm này có thể bao gồm nhiều các
máy chủ trung tâm cho cân bằng tải). Các máy chủ của trung tâm tính tốn quản lý
các cơng việc tính tốn song song được yêu cầu, phân chia chúng vào các nhiệm vụ
nhỏ hơn và đặt chúng đến các máy tính tình nguyện để thực thi. Mỗi máy tính tình
nguyện thực thi các nhiệm vụ được chỉ định và rồi gửi các kết quả quay trở lại đến
các máy chủ trung tâm. Các máy chủ trung tâm sẽ tập hợp những kết quả đó và làm
một vài các cơng việc thêm như là kiểm tra kết quả và trả về kết quả cuối cùng đến
người dùng cuối của hệ thống.


Hình 1-4. Mơ hình tính tốn tình nguyện
1.3.2 BOINC
1.3.2.1Khái niệm
BOINC (Berkeley Open Infrastructure for Network Computing) là một hệ thống
phần mềm trung gian cho tính tốn tình nguyện. BOINC đang được sử dụng bởi
một số các dự án bao gồm: SETI@home [2], Einstein@Home [6],
Climateprediction.net@Home [7]... Những người tình nguyện tham gia hệ thống
bằng cách chạy phần mềm khách BOINC trên máy tính của họ (hoặc các máy trạm).

Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008


16
Họ có thể tham gia mỗi máy trạm đến một tập các dự án, và có thể điều khiển chỉ
định các tài nguyên giữa các dự án.
Một dự án dựa trên BOINC cung cấp trên các máy chủ của nó. Các máy trạm tải các
chương trình thực thi ứng dụng và các file dữ liệu từ máy chủ, thực hiện các nhiệm
vụ (bằng cách chạy các ứng dụng theo các file dữ liệu đặc tả), và tải lên các file đầu
ra đến máy chủ. Phần mềm BOINC bao gồm các thành phần phía máy chủ, như là
các chương trình lập lịch và tiến trình để quản lý phấn bố và tập hợp các nhiệm vụ
[12], và giao diện dựa trên web cho những người tình nguyện và các nhà quản trị dự
án.

Hình 1-5. Mơ hình cơ bản của BOINC
1.3.2.2Các đặc trưng cơ bản của BOINC [23]
• Tính độc lập của dự án: Có nhiều dự án khác nhau đều sử dụng BOINC, tuy
nhiên các dự án độc lập hoàn toàn với nhau. Mỗi dự án có máy chủ và cơ sở dữ
liệu riêng, khơng có thư mục trung tâm cho tất cả các dự án. Điểm chung của
chúng là đều lấy BOINC làm nền phần mềm

• Tính linh hoạt trong sử dụng: Những người tình nguyện có thể tham gia vào
nhiều dự án; họ kiểm soát những dự án ấy, quản lý và phân chia tài nguyên cho
các dự án. Khi một dự án kết thúc hay không làm việc, tài nguyên dành cho nó
sẽ được thu hồi và phân chia cho các dự án khác.

Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008


17
• Linh hoạt trong phát triển: Các ứng dụng viết bằng C, C++ hay Fortran có thể
chạy các ứng dụng BOINC mà không cần cải biên hay cải biên rất ít. Một ứng
dụng có thể bao gồm nhiều file (đa chương trình). Những phiên bản mới của ứng
dụng có thể được tự động triển khai, cập nhật.
• Tính bảo mật: BOINC bảo vệ để chống lại các kiểu tấn công có thể xảy ra. Ví
dụ chữ ký số dựa trên mã hố khố cơng khai chống lại sự phân phối của
virus…
• Tính thực thi và khả chuyển: Phần mềm máy chủ BOINC vơ cùng hiệu quả.
Vì thế, 1 máy chủ trung tâm có thể gửi đi và điều khiển hàng triệu cơng việc
trong 1 ngày. Kiến trúc máy chủ cịn có khả năng biến đổi cao, làm cho nó dễ
dàng tăng khả năng máy chủ hoặc sẵn sàng tăng thêm nhiều máy.
• Mã nguồn mở: Bản thân BOINC được cung cấp dưới dạng mã nguồn mở, cả
BOINC máy chủ và BOINC khách. Tuy vậy các ứng dụng của BOINC không
nhất thiết phải là nguồn mở.
• Khả năng tính tốn với lượng dữ liệu lớn: BOINC hỗ trợ các ứng dụng tạo ra
hay sử dụng một số lượng lớn dữ liệu, hoặc cần dùng nhiều bộ nhớ. Sự phân
phối và tập hợp dữ liệu có thể được chia ra trên nhiều máy chủ. Những người
tham gia trao đổi lượng dữ liệu lớn một cách kín đáo. Những người sử dụng có
thể chỉ rõ giới hạn về bộ nhớ hay băng thông. Cơng việc chỉ gửi đến những máy
có khả năng hồn thành.
• Platform đa dạng: phiên bản BOINC dành cho máy trạm có sẵn cho hầu hết các

platform thơng dụng (Mac OS X, Windows, Linux và các hệ thống Unix khác
như Ubuntu, Fedora, Redhat…). Máy trạm có thể sử dụng nhiều CPU.
• Kiến trúc phần mềm dễ mở rộng: Những thành phần quan trọng của BOINC
đều được tài liệu hoá và cơng bố rộng rãi; nhờ đó các nhà phát triển ở hãng thứ 3
có thể dễ dàng tạo phần mềm và website mở rộng BOINC.
• Tính cộng đồng người tình nguyện: BOINC cung cấp các công cụ trên web
như bảng tin nhắn, thơng tin cá nhân những người tình nguyện và tin nhắn riêng;

Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008


18
điều đó giúp những người tình nguyện dễ dàng hình thành những cộng đồng trực
tuyến để trao đổi, giúp đỡ lẫn nhau.
1.3.2.3Kiến trúc BOINC
BOINC bao gồm các thành phần chủ và khách (Xem trong hình 1.5). BOINC khách
chạy các ứng dụng dự án. Các ứng dụng được liên kết với hệ thống thời gian chạy,
các chức năng của hệ thống này bao gồm điều khiển xử lý, điều khiển điểm kiểm
tra, và các đồ thị [13]. Máy khách thực thi lập lịch CPU(được thực thi trên đỉnh của
bộ lập lịch của hệ điều hành cục bộ, tại mức hệ điều hành, BOINC chạy các ứng
dụng tại mức độ ưu tiên 0). Nó có thể chiếm giữ các ứng dụng hoặc bằng cách trì
hỗn chúng(và rời chúng vào trong bộ nhớ) hoặc bằng cách chỉ dẫn chúng để thoát.
BOINC chủ thực hiện việc cung cấp các ứng dụng và các đơn vị cơng việc, xử lý
các kết quả tính tốn, quản lý sự phân phối và tập hợp dữ liệu.

Hình 1-6. Kiến trúc BOINC
Tất cả các kết nối mạng trong BOINC được khởi tạo bởi các máy khách. Một máy
khách giao tiếp với một máy chủ gán nhiệm vụ của dự án [12] theo HTTP. Yêu cầu
là một file dữ liệu XML trong đó bao gồm các miêu tả về phần cứng và khả năng
thực hiện, một danh sách công việc đã hoàn thành, và một yêu cầu cho một số lượng

chắc chắn (diễn tả giới hạn thời gian CPU) công việc thêm. Thơng điệp phản hồi

Nguyễn Quang Hịa - Lớp CH CNTT 2006 – 2008


19
bao gồm một danh sách các công việc mới(mỗi công việc được miêu tả bởi một
thành phân XML mà liệt kê ứng dụng, các file đầu vào đầu ra, bao gồm vị trí các
máy chủ dữ liệu từ mỗi file có thể được tải về). Đơi khi các máy khách có các kết
nối vật lý bị trục trặc. Như là cách máy tính có thể kết nối một ít hàng ngày. Trong
khoảng thời gian kết nối mạng, BOINC cố gắng tải đủ cơng việc để giữ cho máy
tính bận cho đến lần kết nối kế tiếp. Hình vẽ bên dưới chỉ định trình tự thực hiện
giữa máy trạm và máy chủ.

Hình 1-7. Sự tương tác giữa máy trạm và máy chủ
1.3.3 Lập lịch trong tính tốn tình nguyện
Theo như khái niệm về hệ thống tính tốn tình nguyện ở trên thì một hệ thống tính
tốn tình nguyện bao gồm nhiều máy trạm kết nối đến máy chủ, trong đó máy trạm
kết nối đến máy chủ để lấy công việc và thực hiện rồi trả về kết quả cho máy chủ,
còn máy chủ thì thực thi lựa chọn các máy trạn để gán nhiệm vụ. Vì vậy quá trình
xử lý lấy và thực thi các công việc này bao gồm bốn chính sách liên quan [14], [15]:
• Lập lịch CPU : Của các việc có thể chạy hiện nay, cơng việc nào có thể chạy.
• Lấy cơng việc : Khi nào để nghị một dự án cho nhiều công việc, dự án nào
được đề nghị và đề nghị bao nhiêu công việc.
• Gửi cơng việc : Khi một dự án nhận được một u cầu cơng việc, nó lên gửi
cơng việc nào.nó lên gửi cơng việc nào.
• Ước lượng thời gian hồn thành : Ước lượng thời gian CPU duy trì cơng việc
như thế nào.

Nguyễn Quang Hịa - Lớp CH CNTT 2006 – 2008



20
Lập lịch trong hệ thống tính tốn tình nguyện có vai trị hết sức quan trọng nó giúp
nâng cao tồn bộ thời gian thực thi của hệ thống. Với máy trạm nó giúp cho lập lịch
CPU và lấy cơng việc. Với máy chủ lập lịch giúp cho tối đa hóa được số công việc
được thực thi và giảm thời gian thực thi cua hệ thống.
1.3.3.1Lập lịch phía máy trạm
Lập lịch phía máy trạm đó là các chính sách lập lịch CPU và lấy cơng việc, vấn đề
lập lịch phía may trạm phải quan tâm đến các đầu vào: Trước tiên đó là các đặc
điểm phần cứng của máy trạm như là số lượng bộ vi xử lý. Máy trạm theo dõi các
đặc điểm ứng dụng đa dạng như là phân số thực thi(phân số của thời gian chạy và
được phép làm tính tốn), và các thống kê về các kết nối mạng của nó. Thứ hai đó là
sự ưu tiên của người dùng. Sự ưu tiên nay bao gồm : Tài nguyên chia sẻ cho mỗi
dự án, giới hạn về sử dụng bộ vi sử lý (điều kiện để tính toán trong khi máy đang
trong sử dụng, số lượng tối đa CPU được dùng, và phân số thời gian CPU được
dùng lớn nhất), khoảng kết lối(thời gian tối thiểu giưa các giai đoạn hoạt động của
mạng, điều nay dùng để cung cấp một gợi ý các máy trạm kết nối thường mạng
thường xuyên như thế nào)…. Cuối cùng mỗi công việc có một số lượng các tham
số đặc tả cho dự án, bao gồm ước lượng của số lượng các toán tử con trỏ động của
dự án và thời gian cuối cùng để máy trạm báo cáo công việc.
1.3.3.2Lập lịch phía máy chủ
Lập lịch phía máy chủ là phải sử dụng tối ưu được nguồn tài nguyên tình nguyện.
Vấn đề lập lích phía máy chủ đó là gửi cơng việc và ước lượng thời gian hồn thành
cơng việc. Có rất nhiều các nghiên cứu về lập lịch phía máy chủ để tối ưu hóa được
nguồn tài ngun tình nguyện. Chính sách lập lịch sử dụng phổ biến trong BOINC
là đến trước phục vụ trước, trong chính sách lập lịch này sẽ gán các cơng việc có
khả năng đầu tiên đến các máy trạm yêu câu công việc đầu tiên đáp ứng được các
tiêu chí về sự dư thừa đồng nhất cho việc phân bố nhiều công việc HR (HR phân bố
các cơng việc giống nhau đến các máy trạm có khả năng tính tốn như nhau nghĩa là

chúng có hệ điều hành giống nhau và có bộ vi xử lý thuộc cùng nhà sản xuất).
Trong [19], các tác giả đã đưa ra một chính sách lập lịch dựa trên ngưỡng, chính
Nguyễn Quang Hịa - Lớp CH CNTT 2006 – 2008


21
sách này thiết lập hai ngưỡng một cho khả năng thực hiện công việc của máy trạm
và một cho sự tin cậy của máy trạm và sử dụng những ngưỡng này để xác minh các
công việc phân bố đến máy trạm. Nó sẽ khơng phân bố cơng việc đến máy trạm có
tỉ lệ độ tin cậy và khả năng thực hiện công việc thấp hơn giá trị ngưỡng định nghĩa.
Những ngưỡng này thuộc trong khoảng tử 0 đến 1. Khi một máy trạm yêu cầu một
công việc mới, máy chủ sẽ tính tốn tỉ lệ khả năng thực hiện cơng việc và tỉ lệ tin
cậy của máy trạm dựa trên lịch sử thực hiện công việc của máy trạm. Nếu đồng thời
hai tỉ lệ này lớn hơn ngưỡng đã định nghĩa thì máy trạm được gán cơng việc nếu
khơng thi máy trạm khơng được gán cơng việc. Việc tính khả năng thực hiện của
máy trạm dựa vào tổng số công việc được phân bố đến máy trạm và số công việc
mà máy trạm đã hoàn thành cho đến thời điểm hiện tại (nó chính bằng tỉ số giữa số
cơng việc đã hồn thàng trên tổng số cơng việc được giao), cịn độ tin cậy của máy
trạm chính là tỉ số giữa các cơng việc hồn thành cho kết quả đúng trên số cơng việc
hồn thành của máy trạm.
1.3.3.3Lập lịch chịu lỗi dựa trên độ tin cậy
Cơ bản, một hệ thống tính tốn tình nguyện cho phép truy xuất rộng rãi từ cơng
chúng, vì vậy một vấn đề đang tăng lên là bảo vệ hệ thống như thế nào từ sự phá
hoại của nhiều người dùng ác ý đệ trình các kết quả giả mạo. Trong [17], các tác giả
đã đưa ra một kĩ thuật lịch dựa trên tính chính xác, trong kĩ thuật này sử dụng sự dư
thừa trong thực hiên cơng việc để gán đến một nhóm máy trạm, việc nhóm các máy
trạm thực hiện theo ba bước sau: (1) Ước lượng tỉ lệ tin cậy của các nút trạm độc
lập, (2) Sử dụng các tỉ lệ tin cậy của các máy trạm đã được ước lượng để tính tốn
tính khả thi chính xác (LOC) của các nhóm có thể. (3) Nhóm các máy trạm cho việc
gán các nhiệm vụ dựa trên LOC để ước lượng số tối đa các đầu vào và tỉ lệ thành

cơng hồn thành nhiệm vụ. Trong [8], tác giả đã thảo luận về nhiều các kĩ thuật chịu
đựng lỗi để bảo vệ các hệ thống chống lại những người tình nguyện ác ý như là biểu
quyết, kiểm tra điểm, dò vết trở lại và danh sách đen. Đặc biệt, tác giả đã giới thiệu
định nghĩa độ tin cậy và đề xuất một kĩ thuật chịu đựng lỗi dựa trên độ tin cậy mới.
Trong kĩ thuật mới này, độ tin cậy của một kết quả được ước lượng như là sác xuất

Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008


22
điều kiện để mà kết quả chính xác. Thực thi của một nhiệm vụ sẽ được lập lại trên
các máy tính nhiều lần cho đến khi kết quả cuối cùng đạt được độ tin cậy đủ cao.
Nó chứng minh rằng kĩ thuật chịu đựng lỗi dựa trên độ tin cậy được đề xuất có thể
thực thi nhanh hơn các kĩ thuật truyền thống khác như là biểu quyết và kiểm tra
điểm bên dưới các yêu cầu về tỉ lệ lỗi là giống nhau.
Trong [10], tác giả đã mở rộng công việc của Sarmenta vào nhiều các trường hợp
phổ biến bằng cách giải quyết các hệ thống tính tốn song song chứa đựng nhiều
các máy tính nguyện hơn số lượng các nhiệm vụ. Vì trong trường hợp này, một
nhiệm vụ lên được làm lại trong nhiều các máy tính nguyện để sử dụng tốt các tài
nguyên dư thừa. Nhận thấy rằng các kĩ thuật chịu lỗi dựa trên độ tin cậy đang tồn tại
không hiệu quả cho các ứng dụng song song loại này bởi vì chúng khơng quan tâm
đến trường hợp một nhiệm vụ giống nhau được thực hiện lại trên nhiều máy tình
nguyện tại cùng một thời điểm. Dẫn đến kết quả, thuật toán dựa trên độ tin cậy đang
tồn tại đạt được hiệu năng tính tốn thấp trong giới hạn thời gian thực thi. Tác giả
đã đề xuất một thuật toán lập lịch dựa trên độ ưu tiên theo khả năng thưc thi của các
máy tình nguyện cho trường hợp này. Nó đã chứng minh được việc áp dụng thuật
toán này đã làm tăng hiệu năng cho kĩ thuật chịu lỗi dựa trên độ tin cậy trong trường
hợp có nhiều máy tình nguyện hơn số lượng nhiệm vụ.
Tuy nhiên, cần chú ý rằng kĩ thuật chịu đựng lỗi được đề xuất bởi Sarmenta và kĩ
thuật lập lịch dựa trên độ ưu tiên của tác giả chưa quan tâm đến độ tin cậy của các

máy trạm và của các nhiệm vụ đang được thực hiện, vì vậy thuật tốn dựa trên độ
tin cậy chưa đạt được hiệu năng tốt nhất trong giới hạn thời gian thực thi. Trong
luận văn này, tôi tập trung vào việc kết hợp giữa khả năng tính tốn và độ tin cậy
của máy trạm với độ tin cậy của các nhiệm vụ đang được thực thi để cải thiện toàn
bộ hiệu năng trong giới hạn thời gian thực thi trong khi vẫn đảm bảo được yêu cầu
độ tin cậy và đề xuất ra một thuật toán lập lịch hiệu quả được gọi là “Lập lịch
Round Robin dựa trên độ ưu tiên về độ tin cậy và khả năng thực hiện”. Tính hiệu
quả của thuật tốn sẽ được xác minh bởi các mô phỏng ở phần 5.
Hiện tại để đánh giá độ tin cậy của các thuật tốn lập lịch tình nguyện có thể sử
Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008


23
dụng các bộ mô phỏng như SIMBA, SIMBOINC nhưng do quá trình liên hệ với các
tác giả để xin mã nguồn chương trình các bộ mơ phỏng có khó khăn và chỉ nhận
được mã nguồn bộ mô phỏng SIMBA của tác giả Derrick Kondo sau khi đã sử dụng
bộ mô phỏng VCSIM và xây dựng mô phỏng xong. Do thời gian khơng cịn đủ để
tơi thử nghiệm thêm các kết quả mơ phỏng trên bộ mơ phỏng SIMBA vì vây trong
luận văn của mình tơi đã sử dụng bộ mơ phỏng VCSIM để mơ phỏng các thuật tốn
đã đề xuất.
1.3.4 So sánh với tính tốn lưới và tính tốn ngang hàng
1.3.4.1Tính tốn lưới
Tính tốn lưới và Tính tốn tình nguyện giống nhau ở chỗ cùng sử dụng nhiều máy
tính kết nối với nhau để thực hiện một công việc chung. Tuy nhiên, tính tốn lưới
khơng có một máy chủ tập trung mà được phân thành các cụm nhỏ, mỗi cụm nhỏ ấy
có thể lại được phân chia nhỏ hơn và đơn vị nhỏ nhất là các PC thông thường, với
nhiệm vụ là tính tốn và trả về kết quả. Liên tưởng tính tốn lưới với sự tham chiếu
tới việc chia sẻ những tài ngun tính tốn bên trong và giữa các tổ chức.
-


Mỗi tổ chức có thể đóng vai trị là người sản xuất hoặc khách hàng của tài
nguyên (giống như trong lưới điện, các cơng ty điện năng có thể mua hoặc bán
năng lượng từ các công ty khác, phù hợp với yêu cầu biến đổi).

-

Các tổ chức chịu trách nhiệm qua lại, nếu 1 tổ chức cư xử khơng đúng, những tổ
chức khác có thể từ chối hợp tác, chia sẻ tài nguyên với họ và ngược lại.

Như vậy, tính tốn lưới có tính đến trách nhiệm và khơng có tính che giấu. Những
người tham gia phải chịu trách nhiệm về các kết quả, các xung đột, sai sót… (điểm
khác nhau cơ bản với tính tốn tình nguyện).
1.3.4.2Tính tốn ngang hàng
Điểm khác nhau cơ bản nhất là tính tốn ngang hàng khơng hề có server. Nó chỉ
đơn thuần gồm các PC kết nối với nhau và khơng có cái nào làm chủ. Trong đó, các
file và dữ liệu khác được trao đổi giữa các “máy ngang hàng” (ví dụ như các PCs)
mà khơng liên can gì tới máy chủ trung tâm. Nó khác với tính tốn tình nguyện:

Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008


24
-

Tính tốn tình nguyện có những máy chủ trung tâm. Điển hình là khơng có
truyền thơng ngang hàng.

-

Tính tốn ngang hàng mang lại lợi ích cho những người tham gia. Ở đó khơng

có khái niệm 1 dự án mà tài ngun được cung cấp miễn phí.

-

Tính tốn ngang hàng thật sự bao gồm sự tích trữ và lấy lại, khơng phải tính
tốn.

Nguyễn Quang Hịa - Lớp CH CNTT 2006 – 2008


×