1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tổ chức thông tin và giải thuật khám phá tài nguyên cho môi trường lưới p2p

63 16 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 63
Dung lượng 1 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Thực tế, với một yêu cầu bài toán: “ứng dụng song song chạy trên 300 processors với ít nhất 25Mb/s băng thông kết nối giữa chúng” thì tài nguyên thích hợp có thể nằm rải rác ở các grid

Trang 1

Hình 1.3: Kiến trúc của Globus MDS-2 15

Hình 1.4: Kiến trúc của Condor 16

Hình 1.5: Chord - cấu trúc vòng 1 chiều 17

Hình 1.6: CAN: (a)-Không gian 2 chiều với 5 node, (b)-Trước khi node 7 tham gia, (c)- Sau khi node 7 tham gia 18

Hình 1.7: Kiến trúc đề xuất trong [13] 21

Hình 1.8: Kiến trúc của Grid 23

Hình 1.9: Một số topology của P2P 24

Hình 1.10: Mô hình P2P theo kiểu tập trung (a), không tập trung (b) hoặc kiểu lai (c) 25

Hình 2.1: Mô hình 3 lớp tổ chức thông tin tài nguyên và các services được sử dụng 30

Hình 2.2: Các VO (c) được hình thành bằng cách biến đổi đồ thị (a) kết nối vật lý giữa các host thành đồ thị đầy đủ (b) kết nối luận lý với băng thông xác định 33

Hình 3.1: Sơ đồ lớp thay đổi cơ bản trong GridGain 39

Hình 3.2: Sơ đồ khám phá tài nguyên 40

Hình 3.3: Giải thuật xây dựng VO 42

Hình 3.4: Giải thuật xây dựng VO.NET 44

Hình 4.1: Biểu đồ thể hiện thời gian tham gia mạng của các node theo thứ tự 46

Hình A.1: Sơ đồ lớp cho interface Grid 54

Hình A.2: Map/Reduce cho một grid task 58

Trang 2

Hình A.4: Sơ đồ lớp cho GridMulticastDiscoverySpi 62 Hình A.5: Sơ đồ lớp cho Gridnode 65

Trang 3

Bảng 4.2: Kết quả cho trường hợp thử nghiệm 2 47 Bảng 4.3: Kết quả cho trường hợp thử nghiệm 3 47

Trang 4

1 Tổng quan

1.1 Mở đầu

Bắt đầu từ những năm 90, đã có rất nhiều các nghiên cứu về Grid computing trên khắp thế giới Với nhiều bắt nguồn nghiên cứu khác nhau như: compute grids, data grids, science grids, access grids, knowledge grids, cluster grids, terra grids, và commodity grids,…; nhìn chung đều tập trung vào khả năng chia sẻ tài nguyên

Và ngày nay, với môi trường lưới ngày càng phát triển rộng lớn thì tài nguyên chia sẻ ngày càng khổng lồ, và nhu cầu tìm kiếm những tài nguyên đạt một chất lượng nhất định đang được quan tâm Vì vậy, vấn đề đặt ra trên hệ thống tính toán lưới diện rộng này là cần xây dựng, tổ chức và khám phá được tài nguyên hướng đến chất lượng dịch vụ (QoS), trong đó đặc biệt quan tâm đến dịch vụ mạng

Với đặc thù mạng Việt Nam, việc quản lý tập trung tài nguyên là không hiệu quả

và khả năng mở rộng thấp Chính vì vậy, mục tiêu của luận án là hướng đến việc xây dựng cơ sở hạ tầng lưới sao cho các tài nguyên được phân bổ và quản lý một cách hiệu quả nhằm đáp ứng tốt nhất yêu cầu khám phá tài nguyên hướng đến chất lượng dịch

vụ Hướng tiếp cận được đưa ra là dựa trên việc phân chia các tổ chức ảo (VOs) và áp dụng công nghệ P2P [3], [5] lên các tổ chức ảo này

1.2 Phát biểu vấn đề

Ta thấy rằng với những ứng dụng tính toán lớn thì tài nguyên trên hệ thống đơn

lẻ không thể đáp ứng yêu cầu về tốc độ tính toán cũng như thời gian cho phép để hoàn tất tác vụ Vì thế cần phải tận dụng được tài nguyên thỏa mãn khả năng xử lý và liên lạc trên các hệ thống khác nhau Grid Computing chính là một trong những giải pháp hướng đến vì bản thân nó là một hệ thống song song và phân bố, cho phép chia sẻ, lựa

Trang 5

requirements” - Buyya 2002) Thực tế, với một yêu cầu bài toán: “ứng dụng song song

chạy trên 300 processors với ít nhất 25Mb/s băng thông kết nối giữa chúng” thì tài

nguyên thích hợp có thể nằm rải rác ở các grid node mà việc tìm kiếm để đảm bảo cả yêu cầu liên lạc giữa các tài nguyên phải đạt một băng thông cho phép nào đó vẫn chưa

có một middleware nào hỗ trợ

Ứng dụng vào dự án thực tế , VN-Grid, một trong những dự án trọng điểm của ĐHQG-TPHCM, với mục tiêu xây dựng hạ tầng lưới tính toán chia sẻ tài nguyên giữa các trường thành viên của ĐHQG-TPHCM cho các bài toán có khối lượng tính toán lớn tiến tới việc hình thành hạ tầng lưới tính toán quốc gia, thì vấn đề về băng thông liên lạc giữa các tài nguyên chia sẻ thật sự là một hướng nghiên cứu và đóng góp cấp thiết

Đặc trưng của mạng VN-Grid (mạng Đại học Quốc gia) là bao gồm nhiều trường Đại học kết nối lại với nhau theo kiểu P2P (như VNU: Đại học Quốc gia Hà Nội, HUT: Đại học Bách Khoa Hà Nội, HCMUT: Đại học Bách Khoa TPHCM,…) Dưới đây là ví

dụ cho mô hình kết nối trong mạng VN-Grid (hình 1.1):

Trang 6

Hình 1.1: Mạng VN-Grid kết nối giữa các thành viên trong Đại Học Quốc Gia

Và trong từng grid node (hay site), có một số các host kết nối nhau với băng thông này, một số khác kết nối nhau với băng thông khác; và giữa site này với site khác cũng

có băng thông kết nối riêng (như hình 1.2 bên dưới) Như vậy, khi cần tìm kiếm những tài nguyên thỏa mãn băng thông kết nối nào đó, cần bắt đầu từ một mô hình để gom nhóm các tổ chức ảo (VO) vùng loại băng thông với nhau, từ đó đưa ra giải thuật khám phá tài nguyên một cách hiệu quả

Trang 7

10 0M

Hình 1.2: Băng thông kết nối giữa các host trong cùng site và giữa các site với nhau

1.3 Các công trình liên quan

Tính đến thời điểm hiện tại, Grid computing đã phát triển qua 3 thế hệ (theo phân loại của De Roure, Baker, Jennings & Shadbolt – 2003):

• Thế hệ đầu tiên tập trung chủ yếu vào các giải pháp cho việc chia sẻ các tài nguyên tính toán có hiệu suất cao trong môi trường phân bố Một dự án điển hình là I-WAY (Foster, Geisler, Nickless, Smith & Tuecke 1997) [15]

• Thế hệ kế tiếp phải kể đến là sự ra đời của các middleware giúp giải quyết các vấn đề về quy mô, tính không đồng nhất, và khả năng thích ứng trong môi trường phân bố, trong đó tập trung vào khả năng tính toán trên diện rộng với khối lượng dữ liệu khổng lồ Đã có một số dự án Grid tiêu biểu cho thế

hệ thứ hai này như: Globus toolkit 2 (Foster & Kesselman - 1997) [22],

Trang 8

Condor (Condor - 2006) [17], Nimrod / G (Buyya, Abramson & giddy 2000) [19], DataGrid (DataGrid - 2006) [18]

• Cuối cùng là thế hệ thứ ba vẫn đang trên đà phát triển Nó định ra được những yêu cầu cho sự cộng tác phân bố (distributed collaboration) trong các môi trường ảo Thế hệ này chọn hướng tiếp cận service oriented và nhấn mạnh đến tầm quan trọng của sự tự động được kích hoạt bởi các agent tính toán Kiến trúc dịch vụ lưới mở (OGSA) (Foster, Kesselman, Nick & Tuecke 2002) được hiện thực trong phiên bản Globus Toolkit 3 và hiện tại phiên bản

4 (The Globus Alliance 2006) [20] và Semantic Grid (De Roure, Jennings & Shadbolt - 2003) [21] là những điển hình cho các công nghệ Grid ở thế hệ thứ ba này

Như vậy, trải qua nhiều nghiên cứu và hướng tiếp cận khác nhau, xét riêng phương diện khám phá tài nguyên, đã có một số Grid middleware ở cấp cao được phát triển Nhìn chung, có thể xếp theo 3 hướng:

Khám phá tài nguyên trên hệ thống Grid

Những giải pháp đưa ra dựa vào mô hình tập trung và có cấu trúc tầng client/server như Globus Toolkit [22], Condor [17], Unicore [28]:

• Trong Globus Tookit 2, Monitoring and discovery service (MDS-2) cung cấp những thông tin về trạng thái của các thành phần hệ thống thông qua LDAP 1 MDS-2 bao gồm bộ cung cấp thông tin tài nguyên gọi là Grid Tài nguyên Information Service (GRIS) và dịch vụ tổng hợp Grid Index Information Service (GIIS) GRIS có thể trả lời cho những yêu cầu về thông tin tài nguyên tại một Grid node nào đó như hệ điều hành, phiên bản, hay những thông tin động như CPU và bộ nhớ Khi đó GIIS sẽ kết hợp những thông tin được cung cấp bởi GRIS được quản lý bởi các tổ chức ảo (Virtual organization – VO) Nhờ vậy, những thông tin này có thể được khai thác, hoặc tìm kiếm bởi các ứng dụng

Trang 9

Hình 1.3: Kiến trúc của Globus MDS-2

Tương tự, khi MDS-3 được phát triển, vẫn là kiến trúc tầng được áp dụng Tuy nhiên có sự cải tiến khi tích hợp với mô hình OGSA [29] mà trong đó mỗi tài nguyên là một Grid Service và có một Index Service (cũng là một dạng Grid Serivce) chịu trách nhiệm tổng hợp các thông tin của các Grid Service đăng ký với nó

Và hiện nay, với Globus Toolkit 4, MDS-4 hổ trợ thêm Web Services Tài nguyên Framework (WSRF) [30]

• Condor áp dụng mô hình lập lịch tập trung Trong đó, Central Manager (CM) chịu trách nhiệm chính: lập lịch các tác vụ, thu thập các thông tin tài nguyên và nhận request từ người dùng Thông qua ClassAd, một dạng ngôn ngữ đặc tả, các tài nguyên và job được mô tả và phân loại để từ đó CM đóng vai trò như một đối tác môi giới có nhiệm vụ lựa chọn và đánh giá các tài nguyên cung cấp cho người dùng (Ở đây, nguồn tài nguyên trong Condor được đại diện bởi Resource-owner Agent (RA) Mỗi RA định kỳ kiểm tra trạng thái của các tài

Trang 10

nguyên và sau đó xây dựng ClassAd cho các tài nguyên này và gửi chúng đến các CM)

Hình 1.4: Kiến trúc của Condor

• Trong Unicore, bộ phận chính trong khám phá tài nguyên là Incarnation

Database (IDB) The IDB cung cấp các thông tin sau:

(1) Địa chỉ và port của một instance Target System Information (TSI)

(2) Hiện thể của các lệnh trừu tượng

(3) Thông tin về dung lượng, năng lực của tài nguyên

Khám phá tài nguyên trên hệ thống P2P: mô hình P2P dựa trên đặc tính là tất cả các

thành phần của hệ thống có cùng mức độ trách nhiệm như nhau và hoạt động đồng thời vừa là một client vừa là một server, ngược lại hoàn toàn với mô hình cổ điển client-server Hệ thống P2P được chia thành hai loại chính (loại cấu trúc và không cấu trúc) dựa trên giao thức kết nối và cách thức tổ chức các peer:

• Hệ thống P2P có cấu trúc là một cơ cấu cứng nhắc kết nối các peer với nhau Thông qua Distributed Hash Table (DHT), các peer và file được ánh xạ vào index tương ứng theo tùy vào khóa của chúng Điển hình là Chord [31], một trong những hệ thống P2P có cấu trúc được đề xuất đầu tiên, với cấu trúc vòng 1 chiều, trong đó mỗi node sẽ duy trì thông tin của O(log N) node khác và phân giải khoảng O(log N) các thông điệp truy vấn của những node này Các thông

Trang 11

thực tế là một hạn chế khi duy trì thông tin các node còn lại trong Chord dẫn đến thông tin không còn hiệu lực tại thời điểm có yêu cầu truy vấn

Hình 1.5: Chord - cấu trúc vòng 1 chiều, ví dụ cho 3 node với key 1 cho node 1, key 2

cho node 3 và key 6 cho node 0

• Một giải pháp được đặt ra, Content-Addressable Network (CAN) [32], nhằm giới hạn số lượng node láng giềng mà một node bất kỳ cần duy trì thông tin của chúng Trong CAN, các node được tổ chức theo cấu trúc vòng đa chiều (d-dimensional torus) Khi đó mỗi key bao gồm d số và tương ứng một điểm trong không gian đa chiều Như vậy, mỗi node sẽ chỉ cần duy trì thông tin của một node liền trước và 1 node liền sau nó trong mỗi chiều (tương ứng với O(d) node lân cận cần quản lý) Rõ ràng, với CAN, độ phức tạp của việc forward các yêu cầu tìm kiếm tài nguyên đã giảm đáng kể, O(N1/d) Tuy nhiên, hiện thực không gian đa chiều này khá phức tạp nên việc cập nhật thông tin để duy trì cấu trúc cứng nhắc này tốn nhiều chi phí

Trang 12

Hình 1.6: CAN: (a)-Không gian 2 chiều với 5 node, (b)-Trước khi node 7 tham gia, (c)-

Sau khi node 7 tham gia

• Đối với P2P không cấu trúc, Gnutella and KaZaA được xem là 2 mô hình tiêu biểu nhất, trong đó mỗi node duy trì thông tin đến một số node lân cận cố định nào đó Do trong hệ thống P2P này việc kết nối giữa các peer không có cấu trúc

cố định, nên việc khám phá tài nguyên thông qua một phương pháp gọi là

“flooding”, nghĩa là khi có một yêu cầu tìm kiếm tài nguyên, yêu cầu này sẽ được broadcast từ node này đến những node lân cận và gửi kết quả trả về node ban đầu theo đúng đường đã trace qua Việc flooding các yêu cầu như vậy gây cho mạng bị nghẽn lưu thông khi khối lượng truyền đi khá lớn Chính vì vậy, thông số Time-to-live (TTL) được truyền vào trong message gửi đi sao cho nó giảm đi 1 khi đi qua một node, và việc broadcast message này sẽ dừng lại khi TTL = 0 Một số giải pháp khác được đưa ra để giới hạn lượng message broadcast trên mạng như Dynamic Querying [33], traffic/coverage trade-off [34], hay randomwalks [35]

Nhìn chung, trên mỗi loại, P2P có cấu trúc hay không cấu trúc đều có những ưu và khuyết điểm riêng, và cũng đã có nhiều nghiên cứu cùng các giải pháp đưa ra để khắc phục những điểm yếu trong từng mô hình

Trang 13

cấu trúc:

• Iamnitchi et al đề xuất một kiến trúc P2P không tập trung cho việc khám phá tài nguyên trên môi trường Grid [12] Trong kiến trúc này, mỗi thành viên tham gia vào VO sẽ đưa thông tin lên 1 hay nhiều máy chủ nội bộ, còn gọi là node hay peer Những node này sẽ chịu trách nhiệm lưu trữ và cung cấp thông tin tài nguyên khi cần thiết Người dùng chỉ việc gửi yêu cầu đến những node đã biết nào đó Lập tức những node này sẽ trả kết quả những mô tả tài nguyên nào mà

nó tìm thấy phù hợp, hoặc ngược lại, nó sẽ chuyển yêu cầu này đến những node khác Trong quá trình chuyển yêu cầu sang node khác, thì node này truyền cả thời gian sống (time-to-live TTL) của yêu cầu để đảm bảo yêu cầu sẽ hết hiệu lực trong một khoảng thời gian không tìm ra tài nguyên phù hợp

Kiến trúc này phân chia việc khám phá tài nguyên gồm 4 thành phần chính: giao thức thành viên (membership protocol), overlay construction, tiền xử lý (preprocessing), và xử lý yêu cầu (request processing) Membership protocol giúp xác định cách mà một node mới tham gia vào mạng và học những thông tin cần thiết về những node khác như thế nào Chức năng overlay construction cho phép lựa chọn một tập hợp các node cộng tác trong danh sách cục bộ của các thành viênt tham gia Preprocessing là quá trình xử lý ngầm nhầm giúp nâng cao hiệu suất tìm kiếm trước khi tiến hành xử lý yêu cầu Bước cuối cùng là khi yêu cầu được xử lý Ở giai đoạn này, chiến thuật lan truyền yêu cầu được sử dụng

Trang 14

như: random walk, learning-based, neighbor, learning-based + neighbor

best-• Trong [13], Talia et al đưa ra môt kiến trúc P2P cho việc khám phá tài nguyên trong Grid trên nền OGSA Kiến trúc bao gồm 2 lớp (hình 1.3); lớp thấp là cấu trúc tầng của dịch vụ Index (Index Service – IS) được cung cấp sẵn trong Globus Toolkit phiên bản 3 và 4) IS này chịu trách nhiệm đưa thông tin lưu giữ trong mỗi VO; lớp cao hơn là lớp P2P, trong đó thông tin sẽ được thu thập và phân bổ Lớp P2P này bao gồm 2 web service: Peer service (PS) và Contact service (CS), trong đó PS được dùng cho việc khám phá tài nguyên và CS là dịch vụ giúp cho phép các PS tự tổ chức lại mạng P2P của mình khi cần thiết

Có 1 PS trên mỗi VO Mỗi PS này sẽ kết nối với những PS lân cận khác và trao đổi các thông báo truy vấn/trả lời với nhau theo kiểu P2P Trong đó kết nối giữa

2 node lân cận nhau là dạng kết nối cục bộ giúp chúng có thể trao đổi thông báo một cách trực tiếp Như vậy, một thông báo truy vấn được một PS gửi đi đến những lân cận của nó, và đến lượt những node lân cận này lại chuyển sang cho những node lân cận khác của chúng Hai chiến lượt chính được dùng là: message buffering và message merging mà kết quả thực nghiệm mang lại hiệu suất tăng đáng kể

Trang 15

Hình 1.7: Kiến trúc đề xuất trong [13].

Tổng kết: Khi quy mô của hệ thống Grid nhanh chóng tăng lên, quản lý tập trung là

kém hiệu quả Mặt khác, các hệ thống P2P ngày càng thích ứng cho những ứng dụng tinh vi cũng như hổ trợ đa dạng các truy vấn phức tạp và các mức QoS khác nhau P2P không chỉ cho phép chia sẻ tập tin, mà sẽ mở ra một kỷ nguyên mới cho việc truyền thông qua lại giữa các tài nguyên với nhau

Tuy nhiên, mới chỉ dừng lại ở mức cho phép các ứng dụng mô tả yêu cầu về những đặc tính tài nguyên cần tìm kiếm như memory, storage, CPU speed, … , mà chưa đặt ra được yêu cầu về sự tương tác qua lại giữa các tài nguyên dùng trong ứng dụng grid Vậy nên, vẫn còn thiếu các dịch vụ ở lớp trung gian (middleware service) hổ trợ khám phá những tài nguyên phù hợp và đáp ứng được một mức băng thông kết nối nhất định nào đó

Trang 16

1.4 Cơ sở lý thuyết

1.4.1 Sơ lược về Grid

1.4.1.1 Phân loại Grid

Một trong những điểm trọng yếu của Grid, dù là commodity grid hay computational grid, đều được đánh giá trên khả năng thương mại cũng như khả năng đáp ứng yêu cầu người dùng Trong đó, khả năng đáp ứng người dùng được đo dựa trên chất lượng dịch vụ cung cấp bởi Grid (như tính khả dùng, hiệu xuất, cơ chế truy xuất, quản lý, ….)

Grid được phân làm nhiều loại, trong đó có 3 loại phổ biến như sau:

• Knowledge grid: lưới có thể chia sẻ tài nguyên về knowledge, thường dùng cho những ứng dụng trên các lab phân bố ảo

• Data grid: chia sẻ về dữ liệu, ứng dụng cho những bài toán có khối lượng dữ liệu lớn

• Computing grid: chia sẻ về sức mạnh tính toán, nhằm giải quyết cho những bài toán đòi hỏi khả năng tính toán lớn của các siêu máy tính (supercomputer)

1.4.1.2 Kiến trúc Grid

Kiến trúc của Grid, theo Ian Foster, là một kiến trúc phân lớp tùy vào đặc điểm chung, tính chất và vai trò của các thành phần đối với hệ thống Grid Trong đó mỗi lớp cung cấp một số dịch vụ riêng biệt Như trong hình 1.8, Fabric là lớp thấp nhất, đại diện cho các thiết bị vật lý mà các tổ chức, người dùng muốn chia sẻ, sử dụng Lớp cao nhất Application là lớp ứng dụng trong Grid, bao gồm các interface cho phép người dùng truy xuất vào hệ thống Grid Các lớp ở giữa (Connectivity, Resource, và Collectivity) được xem là lõi của Grid mà trên đó các middleware được xây dựng:

Trang 17

Hình 1.8: Kiến trúc của Grid

• Lớp Connectivity định nghĩa các protocol liên lạc và chứng thực cần thiết cho những giao dịch mạng đặc trưng của Grid Các protocol liên lạc cho phép trao đổi dữ liệu giữa các tài nguyên tầng Fabric, và các protocol chứng thực được xây dựng dựa trên các dịch vụ liên lạc giúp cung cấp các cơ chế mã hóa, bảo mật, xác minh và nhận dạng người dùng và tài nguyên Các giải pháp dựa trên các chuẩn bảo mật hiện hành cũng được thực thi trên lớp Connectivity này

• Lớp Resource: dựa trên các protocol liên lạc và chứng thực của tầng Connectivity để xây dựng các protocol, API, SDK nhằm hổ trợ việc cung cấp thông tin về cấu trúc và trạng thái của các tài nguyên trong Grid, cũng như thương lượng, khởi tạo, theo dõi, điều khiển, tính toán các chi phí và chi trả cho các hoạt động chia sẻ trên từng tài nguyên riêng lẻ một cách an toàn

• Lớp Collective: khác với việc tập trung vào các tài nguyên riêng lẻ của lớp Resource, ở lớp Collective này chú trọng đến việc quản lý toàn cục các tập tài nguyên Một số dịch vụ được bổ sung như: directory service, co-allocation scheduling và broker, monitoring và diagnostic, data replication,

Trang 18

Nhìn chung, thành phần trong kiến trúc của Grid Computing chứa những phần chính mà người phát triển ứng dụng cần chú ý khi tiến hành thiết kế cũng như hiện thực:

• Bảo mật (Security)

• Quản lý tài nguyên (Resource management)

• Các dịch vụ thông tin (Information services)

• Quản lý dữ liệu (Data management)

1.4.2 Mô hình Peer-to-peer (P2P)

1.4.2.1 Tổng quan

P2P là một mô hình mạng máy tính hoạt động chủ yếu dựa vào khả năng tính toán

và băng thông của các máy tham gia chứ không tập trung vào một số nhỏ các máy chủ trung tâm như các mạng thông thường Mạng P2P thường được sử dụng để kết nối các máy thông qua một lượng lớn kết nối dạng ad hoc

Một mạng P2P đúng nghĩa không có khái niệm máy chủ và máy khách, mà tất cả các máy tham gia đều bình đẳng và được gọi là peer, là một nút mạng đóng vai trò đồng thời là máy khách và máy chủ đối với các máy khác trong mạng

Trang 19

Phân theo mức độ tập trung của mạng, P2P được chia làm 3 loại: tập trung, không tập trung, hoặc lai giữa cả 2 loại

Hình 1.10: Mô hình P2P theo kiểu tập trung (a), không tập trung (b) hoặc kiểu lai (c)

• Tập trung: một máy trong mạng P2P này đóng vai trò như một máy chủ

• Không tập trung: trong mô hình này, không máy nào trong mạng giữ vai trò chủ hoặc khách, mà tất cả đều ngang hàng Một máy bất kỳ sẽ liên lạc

và biết thông tin của những máy lân cận có kết nối với nó, đóng vai trò như một máy chủ hoặc máy khách tại một thời điểm nào đó

• Loại lai: là sự kết hợp giữa 2 mô hình tập trung và không tập trung

Dựa vào cách các node liên kết với nhau, người ta chia làm 2 loại: có cấu trúc

và không có cấu trúc:

Trang 20

• P2P không cấu trúc: là hệ thống P2P mà trong đó mỗi peer kết nối một cách ngẫu nhiên với một số lượng peer ấn định nào đó

• P2P có cấu trúc: là một hệ thống P2P có cấu trúc rất chặt chẽ nối liền giữa các peer

Hỗ trợ sự tham gia không liên tục vào ứng dụng cho các cá nhân (node) không tin cậy , nặc danh

Tính bảo mật Cộng đồng đóng (Closed

community)

Cộng đồng mở (Open community)

Tính kết nối Kết nối các VO thông qua

mạng có hiệu suất cao (mạng tốc độ cao)

Bao gồm nhiều máy tính

cụ hiện thực Grid có phần

mở rộng cho phép phát triển

Mỗi node tự quản trị dữ liệu của nó Liên lạc với các node xung quanh để tìm kiếm tài nguyên

Trang 21

lỗi giản trạng thái tại một thời

điểm và khởi động lại khi có lỗi, hầu hết các công cụ và

mô hình Grid đều chưa triển khai khả năng chịu đựng lỗi

điểm mô hình dữ liệu phân

bố, khi lỗi xảy ra tại một node, hoạt động của toàn hệ thống hầu như không bị ảnh hưởng

Bảng 1.1: So sánh giữa Grid và P2P

Đối với các ứng dụng lớn, cần đến hàng ngàn node, Grid sẽ xảy ra tình trạng nghẽn cổ chai ở các tác vụ tập trung Điều này cho thấy khả năng đáp ứng của Grid không đủ khi môi trường Grid ngày càng phát triển về kích thước, không đồng nhất và không ổn định Để khắc phục nhược điểm này, người ta đã bắt đầu áp dụng công nghệ P2P lên hệ thống Grid, nhằm tận dụng những ưu điểm của P2P để khắc phục những nhược điểm của Grid và ngược lại

1.4.4 Tổ chức ảo (Virtual organization – VO)

1.4.4.1 Tổng quan

Khái niệm về VO được đề cập khá nhiều trong các tài liệu về Grid Tuy nhiên không có một định nghĩa cố định nào về VO Nhìn chung, VO là tập hợp những tổ chức cá nhân, hoặc các viện, không phụ thuộc vào địa lý, có khả năng chia sẻ tài nguyên, hợp nhất thành một tổ chức ảo nhằm đáp ứng một mục tiêu nào đó

Một VO bất kỳ cần thỏa mãn một số đặc tính chung sau:

• Một VO chứa ít nhất 1 thành viên

Trang 22

• Một VO có thể là VO con của một VO khác, gọi là VO cha

• Các VO có thể hình thành nên một mắc xích các VO nối lại với nhau

• Một VO thường không sở hữu những tài nguyên thật, mà chỉ quản lý chúng

• Một VO không là một thực thể hợp pháp

1.4.4.2 Chu kỳ sống

Một VO từ lúc hình thành đến khi kết thúc sẽ trải qua 6 chu kỳ sống [4]:

a) Giai đọan creation

Trong giai đoạn này, sẽ có một tập hợp các thành viên được ứng cử cho việc gia nhập VO

Những tổ chức nào có tham gia vào sẽ được thiết lập nên một sự thỏa thuận nào

đó phù hợp với kiến trúc cung cấp Lúc này, các ứng viên sẽ đăng ký những dịch vụ của mình và đưa ra những mộ tả sơ bộ về những tính năng hỗ trợ (bao gồm cả chức năng và phi chức năng)

b) Giai đoạn identification

Ở giai đoạn này, Business Process (BP) cần được đặt ra, nhằm đảm bảo các thành viên tham gia phải đáp ứng được những BP này (ví dụ như: vai trò của từng thành viên khi tham gia, tính bảo mật cũng như độ tin cậy cần thiết)

c) Giai đoạn formation

Dựa vào những thỏa thuận cũng như những ràng buộc đối với những thành viên tham gia vào VO, mà VO được hình thành

d) Giai đọan operation

Trang 23

Nhờ vào trigger, ngay khi có lỗi, thành viên đó sẽ bị loại khỏi VO; hoặc ngược lại khi có yêu cầu gia nhập, dựa vào những Business Process cũng như những thỏa thuận ban đầu mà cho phép hoặc không

f) Giai đoạn dissolution

Giai đoạn này xảy ra khi VO cần được loại bỏ vì một lý do nào đó

Trang 24

2 Mô hình tổ chức và khám phá tài nguyên P2P dựa trên VOs

2.1 Mô hình 3 lớp đề xuất cho luận văn:

Đây là mô hình tổ chức thông tin tài nguyên trên môi trường P2P, được đưa ra hướng đến việc gom nhóm những tài nguyên có kết nối nhau với băng thông gần giống nhau Mô hình gồm có 3 lớp cơ bản:

• Lớp thứ 1 – lớp vật lý: chứa tổ chức vật lý của các tài nguyên tính toán Các tài nguyên tính toán này được quản lý và phân bổ trong từng site vật lý

• Lớp thứ 2 – lớp P2P: thể hiện sự kết nối giữa các site với nhau trong mạng P2P

• Lớp thứ 3 – lớp tài nguyên liên mạng: là tổ chức các tài nguyên về mặt luận lý Tài nguyên ở đây chính là những tài nguyên được quản lý bởi các site khác nhau trong mạng các VOs

Dưới đây là hình ảnh mô tả chi tiết cho từng lớp của mô hình đề xuất, bao gồm cả vai trò và hoạt động của các services:

10

10 M 500

Index Service SMS Site Management Service

VOMS VO.N ET Management

Trang 25

băng thông mạng có thể dùng để xây dựng các VO Một trong những chuẩn này như: một VO X có thể hình thành thông qua một tập các tài nguyên có kết nối mạng với nhau với băng thông tối thiểu là X Mbps Từ phần này trở đi, chuẩn này sẽ được dùng cho site VO

Ngoài ra, thông tin về băng thông mạng có thể được thu thập thông qua một số công cụ phổ biến như: netperf [6], iperf [7], hoặc ntop [8]

2.1.2 Lớp P2P

Ở lớp thứ 2 này mô tả thông tin về băng thông của các kết nối vật lý P2P giữa các site với nhau trong mạng lưới thực Ở đây, mỗi site được xem như một node ngang hàng và có một tập hợp các node ngang hàng lân cận Nhờ vậy, thông tin có thể liên lạc được giữa các node này với nhau

2.1.3 Lớp tài nguyên liên mạng

Ý tưởng chính cho việc mô hình hóa lớp thứ 3 này là dựa vào việc hình thành nên những mạng ảo mà trong đó các VOs của các site sẽ được kết nối với nhau Những mạng ảo này được gọi là VO.NET Tuy nhiên, trong mỗi VO.NET, có một quy luật ràng buộc mà các VO thành viên tham gia vào phải tuân theo, đó là các VO này phải được thuộc cùng một loại và băng thông kết nối giữa chúng phải lớn hơn hoặc bằng một giá trị nhỏ nhất cho phép (chính là chuẩn băng thông của loại VO tham gia) ứng với mỗi VO.NET

Trang 26

tin như CPU, Bộ Nhớ, Bộ Lưu Trữ, … cũng như cả về thông tin băng thông kết nối local trong từng site Kế đến là Site Management Service (SMS), chịu trách nhiệm liên lạc với những site lân cận để giữ thông tin về băng thông kết nối giữa các site này với nhau; đồng thời cũng thu thập những thông tin cần thiết từ những site lân cận này để giúp hình thành nên những VO.NET ở lớp thứ 3 Cuối cùng là VO.NET Management Service (VOMS), là service hoạt động trong từng VO Service này dùng để lưu chứa thông tin từ SMS của nó nhằm giúp cho các kết nối ảo P2P được hình thành khi cần thiết

2.2 Đề xuất giải thuật xây dựng VO

Phần này đề cặp đến giải thuật để hình thành nên các VO trong từng site Với giả định rằng băng thông kết nối giữa các host trong cùng site đã được tính toán trước nhờ vào những công cụ tính băng thông Nhờ vậy, graph đầy đủ được hình thành mà không phụ thuộc vào topology vật lý của site đang có Dưới đây là hình ảnh minh họa cho kết nối giữa 6 host (a); đồ thị (b) với mỗi node đại diện cho 1 host, các cạnh thể hiện sự kết nối giữa host này với host kia, và trọng số của các cạnh chính là băng thông đo được trên thực tế; và đồ thị (c) được thiết lập thông qua việc chọn các cạnh có trọng số nằm trong khoảng chấp nhận được đối với từng loại VO

Hình 2.2: Các VO (c) được hình thành bằng cách biến đổi đồ thị (a) kết nối vật lý giữa

các host thành đồ thị đầy đủ (b) kết nối luận lý với băng thông xác định

Trang 27

Với E = {e1, e2, e3 …} là tập tất cả các cạnh được lấy ra từ đố thị đầy đủ Dựa vào trọng số của những cạnh này mà giá trị băng thông nhỏ nhất cho mỗi loại VO được chọn (10M, 20M, 500M như hình 2.2 c))

2.2.2 Giai đoạn Identification

Giai đoạn này sẽ chọn ra những ứng viên trong tập E ở giai đoạn creation Trong

đó, những cạnh nào có trọng số lớn hơn hoặc bằng giá trị băng thông nhỏ nhất ứng với mỗi VO sẽ được chọn

2.2.3 Giai đoạn Formation

Dựa vào luật đã đưa ra ở giai đoạn trước, ở giai đoạn này chỉ đơn giản chọn ra những cạnh nào của đồ thị thỏa mãn luật và đưa chúng vào VO tương thích Như vậy

VO đã được hình thành và sẽ hoạt động từ đây cho đến lúc kết thúc

2.2.4 Giai đoạn Operation

Mặc định, trong giai đoạn này, VO sẽ thực thi những nhiệm vụ của mình như: tổng hợp thông tin được cung cấp khi chạy IS, liên lạc với những SMS của site lân cận

để cấu hình lại các kết nối ảo P2P ở lớp thứ 3 khi cần thiết, hoặc nhận/trả lời/chuyển yêu cầu sang những VO khác

2.2.5 Giai đoạn Evolution

Mục đích của giai đoạn này là tập trung vào việc làm thế nào khi có host mới

Trang 28

Khi host mới có yêu cầu tham gia vào một site nào đó, SMS của site này sẽ chịu trách nhiệm đánh giá mức độ tương thích về băng thông giữa host mới này với những VO đang có trong site và phân bổ nó vào VO thích hợp

Ngược lại, một khi băng thông kết nối giữa một host với tất cả những host còn lại trong một VO nào đó bị mất hoặc không chấp nhận được thì host này cần được xóa khỏi VO này Công việc phải làm là SMS cập nhật lại thông tin cho biết host này không còn nằm trong VO đó nữa và nó sẵn sàng tham gia vào một VO thích hợp khác Lúc này, host này sẽ được tiếp tục xử lý như là một host mới gia nhập vào site

2.2.6 Giai đoạn Dissolution

Ngay khi không còn thành viên nào trong VO, thì VO này cần được chấm dứt họat động Việc cần làm trong giai đoạn này là SMS sẽ cập nhật thông tin cho biết VO này không còn hoạt động nữa

2.3 Đề xuất giải thuật xây dựng VO.NET

Trong phần này, chỉ tập trung vào cách xây dựng nên VO.NET Cần chú thích rằng thông qua SMS, thông tin của các VO tồn tại trong site này cũng như những VO

có trong site lân cận và băng thông kết nối giữa chúng có thể được ước lượng trước Giải thuật cho việc hình thành VO.NET được đưa ra như sau:

1 Với V = {m1, m2, m3 …} là tập hợp tất cả những VO có trong site và cả những site lân cận Sau đó, tách tập V này thành những tập con V1, V2, … chứa các VO ứng viên cùng loại Nhờ đó mà các VO.NET với chuẩn băng thông khác nhau được hình thành

2 Luật để kết nối các VO trong mỗi tập con lại với nhau chỉ rõ là một VO-A nào đó chỉ có thể kết nối với VO-B khác khi và chỉ khi site của VO-A có băng thông kết nối đến site của VO-B lớn hơn hoặc bằng chuẩn băng thông của các VO thành viên đang

Trang 29

kết nối giữa các VO với nhau là các cạnh của đồ thị, và băng thông của những kết nối này chính là trọng số của các cạnh Dễ dàng nhận ra rằng sẽ có trường hợp mà 2 hay nhiều đồ thị cùng loại nhau nhưng không có kết nối nào giữa chúng (hay những thành phần liên thông của cùng một đồ thị) Điều này cũng có nghĩa là sẽ có 2 hay nhiều VO.NET cùng loại nhau được hình thành Như vậy một lúc nào đó, khi có kết nối giữa các VO.NET cùng loại này với nhau, thì yêu cầu nhập những VO.NET này lại sẽ được đặt ra Tương tự cho trường hợp cần tách VO.NET thành những thành phần cùng loại Khi đó việc cần làm là VOMS phải cập nhật thông tin cho các kết nối mới hình thành hoặc những kết nối bị dứt Dần dần, thông qua cơ chế này, một khi môi trường lưới càng lớn rộng, thì VO.NET cũng sẽ trải rộng ra

2.4 Áp dụng một số giải thuật có sẵn để khám phá tài nguyên cho mô hình trên

Việc hình thành VO.NET cho phép người dùng và những service khác có thể chọn lựa những tài nguyên nào cần dùng cho application của họ Nhiều chiến thuật có thể áp dụng để khám phá tài nguyên trên VO.NET này như: random walk, learning-based, best-neighbor, learning-based + best-neighbor [2]

• Random walk: yêu cầu sẽ được chuyển ngẫu nhiên sang một node nào đó được chọn

• Learning-based: các node lưu lại những yêu cầu đã được trả lời bởi những node khác Khi đó, yêu cầu sẽ được chuyển đến node mà trước đây đã từng trả lời cho những yêu cầu tương tự Ngược lại, nếu không tìm thấy, random walk sẽ được

Trang 30

• Best-neighbor: với cách tiếp cận best-neighbor này, số các trả lời mà mỗi node nhận được sẽ được lưu lại Và yêu cầu sẽ được chuyển đến node nào có số lượng trả lời nhiều nhất

• Learning-based + neighbor: sự kết hợp giữa learning-based và neighbor sẽ giúp trong quá trình học, yêu cầu sẽ được chuyển đến node có trả lời cho những yêu cầu tương tự, ngược lại nếu chưa có , yêu cầu sẽ được chuyển đến node lân cận tốt nhất (best-neighbor)

best-Như vậy, dựa vào mô hình 3 lớp đã được đề xuất ở trên, và tùy vào loại truy vấn là cục bộ (local query) hay toàn cục (global query) mà thứ tự xử lý yêu cầu sẽ khác nhau

Cụ thể như mô tả dưới đây:

• Đối với truy vấn cục bộ, là những yêu cầu được submit đến một host nào đó bên trong site: dịch vụ định vị tài nguyên (resource location service) trong host này

sẽ giúp xác định những tài nguyên hiện có trong host này có thỏa mãn được yêu cầu không Nếu đáp ứng đủ số lượng tài nguyên yêu cầu thì kết quả sẽ được trả ngay Ngược lại, yêu cầu sẽ được tiếp tục chuyển đến những host khác trong cùng VO nếu băng thông yêu cầu là phù hợp với loại VO của host này Còn nếu không phù hợp về băng thông trong VO đang chứa, yêu cầu này sẽ được chuyển đến bộ quản lý site để xử lý yêu cầu này theo loại yêu cầu toàn cục

• Đối với truy vấn toàn cục được gửi đến một site nào đó, dịch vụ SMS sẽ chịu trách nhiệm xử lý truy vấn này và chuyển yêu cầu đến VO tương thích trong site hoặc đến những site lân cận nếu cần thiết

Trang 31

riêng cũng như dễ dàng tiến hành kiểm thử

Một trong số đó là GridGain, một phần mềm opensource trên nền Java, đưa ra một framework cho Grid Computing đáp ứng được yêu cầu cơ bản của Grid về khả năng xử

lý song song các yêu cầu tính toán, lưu trữ, phân tích dữ liệu, …

Ngoài ra, GridGain dễ dàng triển khai, cài đặt, cũng như cho phép giả lập nhiều grid node chạy trên cùng một máy thích hợp cho người lập trình tự do phát triển, tra lỗi cũng như thử nghiệm các ý tưởng về Grid

3.1 Phân tích, thiết kế hệ thống GridGain

Phát triển trên nền opensource này, luận văn chỉ tập trung vào việc phát triển cho mô hình tổ chức tài nguyên mới đề xuất, nên việc phân tích thiết kế cho GridGain chỉ chú trọng vào một số lớp phục vụ cho việc tổ chức và khám phá tài nguyên

3.1.1 Tổ chức tài nguyên trong GridGain

Mỗi Grid Node xem như một tài nguyên tương ứng Mô hình lý thuyết đề xuất trong luận văn phục vụ cho mục tiêu gom nhóm các node có độ tương đồng về bandwidth kết nối với nhau vào cùng một VO và các VO cùng loại ở các site khác nhau sẽ nối kết lại với nhau tùy vào bandwidth giữa các site này

Như vậy, trước hết, trong từng node cần thêm thuộc tính isLeader, isManager để xác định vai trò của node này trong mạng Grid Ứng với từng vai trò khác nhau, một node

Ngày đăng: 15/02/2021, 18:24

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w