Xem mẫu

  1. BÁO CÁO SEMINAR MÔN TÍNH TOÁN LƯỚI NGƯỜI THỰC HIỆN: XƠN XAY NGUYỄN TUẤN VIỆT TRẦM THẾ PHIÊN ĐỀ TÀI: GRID COMPUTING MIDDLEWARE 1.Giới thiệu: Về khía cạnh người sử dụng thì môi trường lưới có thể được chia làm 3 lớp: *Lớp ứng dụng *Lớp giữa *Lớp cơ sở hạ tầng 1.1.Lớp ứng dụng: Trong môi trường lưới có rất nhiều loại ứng dụng khác nhau có nhu cầu sử d ụng tài nguyên của hệ thống tính toán lưới bên dưới, trong đó có những ứng d ụng nh ư vi ệc truy xu ất d ữ li ệu qua điện thoại di động, hay các máy trạm cần tài nguyên cho vi ệc tính toán c ủa nó, hay là các hệ thống mô phỏng cần một lượng rất lớn dữ liệu để trực quan hóa các kết quả thí nghiệm. 1.2.Lớp cơ sở hạ tầng: Bao gồm các hệ thống siêu máy tính, clusters, các h ệ th ống l ưu tr ữ d ữ li ệu, các phòng thí nghiệm, hệ thống mạng internet toàn cầu, … Các hệ thống c ơ sở hạ tầng này cung c ấp khả năng tính toán rất lớn, có khả năng lưu trữ lượng dữ li ệu vô cùng l ớn, ch ẳng h ạn nh ư d ữ li ệu thu được từ việc thu thập dữ liệu khi theo dõi chuyển động của các vì sao,… 1.3.Lớp giữa: Khi đó lớp giữa (grid middleware) chính là lớp đóng vai trò như là 1 bức tường m ỏng bao b ọc lấy lớp cơ sở hạ tầng. Nó có khả năng che dấu mọi sự ph ức h ợp bên d ưới c ủa l ớp c ơ s ở h ạ tầng, nhưng lại cung cấp cho lớp ứng dụng những giao ti ếp đ ược chuẩn hóa nhằm làm đ ơn giản hóa cho các user có khả năng sử dụng dễ dàng h ơn. Hình 1 d ưới đây s ẽ minh h ọa cho 3 lớp này: 1
  2. Hình 1. Môi trường lưới Từ đó, ta rút ra được 3 kết quả chính mà môi trường lưới phải đối mặt: - Sự phức hợp (Heterogeneity): Như đã nói ở trên, cơ sở hạ tầng lưới bao gồm rất nhiều loại tài nguyên khác nhau, và thuộc vào nhưng vùng qu ản tr ị, đ ịa lý khác nhau, có tiềm năng mở rộng toàn cầu. - Khả năng mở rộng (Scalability) : tức là làm sao để đảm bảo được rằng, khi độ phức tạp của bài toán tăng lên N lần thì cùng với sự tăng lên khả năng tính toán N lần mà vẫn đảm bảo được hiệu quả của bài toán gần như ban đầu. Điều này làm tăng m ức độ thử thách cho môi trường lưới, bởi vì như đã nhấn mạnh rằng môi tr ường l ưới có tính phức hợp. Việc mở rộng bài toán sẽ làm vượt ra ngoài vi ệc s ử d ụng tài nguyên cục bộ, làm phát sinh như cầu về sự xác thực, tin tưởng hay v ề bảo m ật. Việc mở rộng bài toán cũng làm tăng mức độ phức hợp của bài toán vì phải sử dụng đến tài nguyên của các hệ thống bên ngoài có thể không đồng nhất với hệ thống bên trong. - Khả năng thích nghi (Adaptability): Trong môi trường lưới, việc xảy ra lỗi là chuyện tất yếu, không phải là 1 ngoại lệ. Việc sử dụng càng nhi ều tài nguyên s ẽ làm tăng xác suất xảy ra lỗi. Do đó, các nhà quản lý tài nguyên l ẫn ứng d ụng ph ải làm sao đ ể phản ứng 1 cách linh động để có được hiệu suất tính toán cao nh ất t ừ những tài nguyên và dịch vụ có sẵn. 2.Định nghĩa Grid middleware: Grid middleware là phần mềm hệ thống nằm giữa lớp ứng dụng và hệ điều hành. Nó có khả năng: - Cung cấp các dịch vụ cho các ứng dụng. Bao gồm các d ịch v ụ v ề khám phá tài nguyên(discovery), lưu trữ (storage), thực thi (execution), thông tin (information), theo dõi tài nguyên (resource monitoring), kiểm lỗi và phục hồi (failure detector and 2
  3. recovery),… Đây là các dịch vụ cốt lõi và thiết yếu nhất để làm sao user có thể tham gia vào môi trường lưới. Chẳng hạn, khi 1 user mu ốn sử d ụng 1 tài nguyên tính toán mà đã được mô tả trước, thì dịch vụ khám phá tài nguyên sẽ dò tìm ra nh ững lo ại tài nguyên thích hợp cho user, sau đó sẽ cấp phát cho user ứng v ới quy ền h ạn mà user đó có thông qua các dịch vụ về bảo mật ( security). Sau khi được cấp phát, các dịch vụ theo dõi về thông tin tài nguyên, theo dõi việc thực thi c ủa job, phân b ổ job (scheduling) sao cho hợp lý,… Như vậy, ứng với mỗi quá trình đáp ứng yêu cầu của user, có rất nhiều dịch vụ tham gia vào quá trình này. - Che dấu sự phức hợp (heterogeneous) của môi trường lưới: Bởi vì cơ sở hạ tầng của môi trường lưới là phức hợp, đó là sự tham gia của nhiều tổ ch ức, nhi ều h ệ thống máy tính khác nhau, mỗi hệ thống lại chạy trên nền hệ đi ều hành khác nhau, như Unix, Linux, Sun Solaris, Mac OS,… Nhưng đối với cái nhìn c ủa user, môi trường lưới dưới vỏ bọc của Grid middleware, đó là 1 hệ thống tính toán l ớn trong suốt (transparent). Khi user yêu cầu thực thi 1 công việc nào đó, user không cần quan tâm đến việc thực thi công việc của mình nằm trên những tài nguyên nào, ở xa hay gần, nằm ở đâu,… quan trọng là kết quả mà người dùng nhận đ ược, th ời gian đáp ứng,… - Cung cấp các giao tiếp đã được chuẩn hóa cho ứng dụng. 3.Mục đích của Grid middleware: Có 3 mục đích: - Xây dựng các giao tiếp, và các giao thức có tính m ục đích chung, tính m ở và tính chuẩn. Bởi vì hệ thống lưới được xây dưng trên những giao tiếp và giao thức với rất nhiều mục đích khác nhau. Những giao tiếp và giao thức này đi ều ch ỉ ra đ ược các kết quả cơ bản, mang tính nền tảng như về việc xác nhận, xác th ực, khám phá tài nguyên, truy xuất tài nguyên. Do đó, việc xây dựng các giao ti ếp, giao th ức chu ẩn và mở là rất quan trọng, nếu không, chúng ta chỉ xây dựng được những ứng d ụng mang tính đặc thù mà thôi. - Định nghĩa các giao thức chuẩn: Nó định nghĩa nội dung và chuỗi các sự kiện trao đổi thông điệp sử dụng các thao tác yêu cầu từ xa. Điều này rất quan trọng và thiết để thực hiện tính interoperability (nghĩa là khả năng mà 2 thực thể khác nhau có thể làm việc với nhau, và được thực hiện bởi các giao thức thông thường) mà hệ thống lưới phụ thuộc vào. - Cung cấp các API chuẩn: đó là các giao diện lập trình ứng dụng chuẩn, định nghĩa các giao tiếp chuẩn để viết mã thư viện, và cấu trúc các thành phần c ủa Grid b ằng cách cho phép các thành phần mã được sử dụng lại. 3
  4. 4.Kiến trúc phân tầng của lưới: Hình 2: Kiến trúc phân tầng của hệ thống lưới. Kiến trúc lưới bao gồm nhiều tầng với những độ rộng khác nhau, đ ược th ể hiện thông qua minh họa dạng hình đồng hồ cát như hình 2 (hình 2.2 – ch ương 2 – trong quy ển “F.Berman,G.Fox,T.Hey-Grid Computing-Making The Global Infrastructure a Reality (Wiley2003)”. Phần hẹp nhất, phần cổ của đồng hồ cát là lớp về các giao thức k ết n ối và giao thức tài nguyên (Resource and connectivity protocols). Lớp này chứa 1 tập rất nhỏ các giao thức chính và giao diện lập trình ứng dụng mà sẽ được hi ện th ực ở m ọi n ơi. L ớp trên cùng c ủa đồng hồ cát là tập các ứng dụng và công cụ hỗ trợ. Và phần nằm dưới cùng của đồng hồ cát là lớp cở sở hạ tầng, nó phụ thuộc nhiều vào công nghệ. Dựa hình 2, ta cũng nhận ra rằng, Grid middleware chính là ph ần n ằm trong hình ch ữ nh ật viền đen. Nó bao gồm 3 lớp chính: - Lớp giao thức kết nối – Connectivity layer - Lớp giao thức tài nguyên – Resource layer - Lớp giao thức nhóm – Collective layer 4.1.Lớp giao thức kết nối – Connectivity layer Đây là lớp có chức năng giao tiếp một cách dễ dàng và an toàn. Lớp k ết n ối đ ịnh nghĩa giao thức giao tiếp (communication) và giao thức xác thực (authentication). - Giao thức giao tiếp cho phép các thông điệp có thể được trao đổi v ới nhau gi ữa các tài nguyên của lớp Fabric. - Giao thức xác thực xây dựng trên các dịch vụ giao ti ếp b ằng cách cung c ấp c ơ ch ế bảo mật mã hóa cho việc xác định user và tài nguyên. Các gi ải pháp xác th ực cho môi trường tổ chức ảo (VO – Virtual Organization) có thể có 4 đặc tính sau: o Single sign-on: User có thể được xác thực chỉ 1 lần bằng cách đăng nhập vào hệ thống và có thể truy xuất vào nhiều tài nguyên lưới. 4
  5. o Việc ủy quyền: User có khả năng ủy quyền cho 1 chương trình khác đ ể th ực thi giống như những hành vi của user khi user đã được xác th ực. Đ ến l ượt chương trình có thể ủy quyền cho nhưng chương trình khác 1 cách tùy chọn. o Việc tích hợp với nhiều giải pháp bảo mật cục bộ: Đó là vi ệc m ỗi tổ chức, mỗi tài nguyên đã có nhưng giải pháp bảo mật riêng cho mình. Do đó, các giải pháp bảo mật của hệ thống lưới sẽ tận dụng các giải pháp bảo mật cục bộ có sẵn này mà không cần phải thay thế 1 gi ải pháp bảo m ật m ới, và ch ỉ cần cho phép ánh xạ vào môi trường cục bộ. o Mối quan hệ đáng tin cậy dựa trên user: Để user có khả năng truy xu ất vào tài nguyên từ nhiều nhà cung cấp khác nhau, thì hệ thống bảo m ật không c ần phải yêu cầu các nhà cung cấp tài nguyên phải liên lạc với nhau đ ể c ấu hình cho môi trường mạng. Chẳng hạn, nếu user có quyền truy xu ất vào tài nguyên của tổ chức A và B, thì user có thể truy xuất vào c ả 2 tài nguyên c ủa tổ chức A và B với nhau mà không cần sự liên lạc gi ữa những nhà qu ản tr ị bảo mật của tổ chức A và B . 4.2.Lớp giao thức tài nguyên – Resource layer Đây là lớp có khả năng chia sẻ các tài nguyên đ ơn l ẻ. Nó đ ịnh nghĩa các giao th ức v ề s ự thương lượng an toàn, khởi tạo, theo dõi, điều khiển, tài kho ản và sự trả chi phí cho vi ệc chia sẽ các thao tác trên những tài nguyên đơn lẻ. Lớp tài nguyên sẽ được hiện th ực b ởi các giao thức để truy xuất và điều khiển các tài nguyên cục bộ, bao gồm 2 lớp chính: - Giao thức thông tin (Information protocol) được sử dụng để rút ra thông tin về c ấu trúc và trạng thái của tài nguyên chẳng hạn như cấu hình c ủa tài nguyên, t ải hi ện thời, hay chính sách sử dụng,… - Giao thức quản lý (Management protocol) được sử dụng để thỏa thuận việc truy xuất vào tài nguyên chia sẽ, chẳng hạn về yêu cầu tài nguyên (bao gồm vi ệc đ ặt chỗ và chất lượng dịch vụ) và các thao tác thực hiện như khởi tạo, truy xu ất tài nguyên,… 4.3.Lớp giao thức nhóm – Collective layer Có khả năng quản lý 1 tập các tài nguyên trong khi lớp tài nguyên ch ỉ t ập trung vào vi ệc tương tác giữa các tài nguyên đơn lẻ. Và nó dựa trên lớp kết n ối và lớp tài nguyên đ ể hi ện th ực rất nhiều hành vi chia sẽ mà không cần phải thay thế những yêu c ầu m ới ứng v ới m ỗi tài nguyên được chia sẽ. Chẳng hạn: - Directory service cho phép các thành viên tham gia vào tổ chức ảo có thể khám phá ra tài nguyên hay các thuộc tính của tài nguyên. Nó cho phép user truy vấn v ề tài nguyên bằng tên hoặc các thuộc tính như kiểu, sự sẵn sàng, hay tải. - Coallocation-allocation, scheduling, and brokering services cho phép các thành viên của tổ chức ảo yêu cầu việc định vị cho 1 hay nhiều tài nguyên và phân bổ các task cho các tài nguyên thích hợp. - Monitoring and diagnotics services hỗ trợ việc theo dõi các tài nguyên của tổ chức ảo về lỗi, việc tấn công hay việc quá tải. - Data replication services hỗ trợ quản lý việc lưu trữ tài nguyên để tối đa hiệu quả truy xuất như thời gian đáp ứng, khả năng tin cậy, chi phí,… - Grid-enabled programming systems cho phép các mô hình lập trình thân thiện, chẳng hạn như MPI (Message-passing Interfaces),… 5
  6. - Workload management systems and collaboration frameworks - Software discovery service - Community authorization servers - Community accounting and payment services - Collaboratory services 5.Các công nghệ: Nội dung về công nghệ của Grid middleware sẽ trình bày về Globus Toolkit, gLite, và cu ối cùng là bảng so sánh các công nghệ trên, trong đó có UNICORE. 5.1.Globus Toolkit: Sự phát triển về công nghệ của Globus Toolkit được thể hiện ở hình vẽ 3 dưới đây: Hình 3. Quá trình phát triển của công nghệ Globus Toolkit. Trước những năm 2003 là giai đoạn hình thành ở m ức khái ni ệm v ới phiên b ản n ổi b ật là GT2.0. Năm 2003 xuất hiện phiên bản GT3.0 sử dụng kiến trúc dịch vụ lưới m ở ( OGSA – Open Grid Service Architecture). Giai đoạn sau năm 2003 là giai đoạn chuẩn hóa với sự xuất hiện của phiên bản GT4.x sử dụng công nghệ WSRF – Web service resource framwork. 5.1.1.Globus Toolkit phiên bản 2: Từ năm 1997, GT2 đã trở thành 1 chuẩn thực sự cho tính toán lưới. Phiên bản này t ập trung vào tính sử dụng và tính interoperability, GT2 định nghĩa và hiện thực các giao thức, các giao diện lập trình ứng dụng và các dịch vụ sử dụng hàng ngàn tri ển khai trên th ế gi ới. GT2 gi ải quyết được những vấn đề chung như sự xác nhận, khám phá tài nguyên, truy xu ất tài nguyên. GT2 cũng định nghĩa và hiện thực các giao thức, dịch vụ chuẩn. GT2 đã đi tiên phong trong việc tạo ra hệ thống lưới có tính interoperable và cho phép cải tiến hiệu quả công cụ lập trình trên lưới. GT2 được xây dựng dựa trên kiến trúc phân lớp của môi trường lưới, bao gồm 3 l ớp ch ủ yếu: - Lớp kết nối: o Giao thức xác thực: hiện thực giao thức cơ sở hạ tầng bảo m ật l ưới ( GSI – Grid Security Infrastructure) dựa trên mã khóa công khai. Giao thức này sử dụng cho việc xác thực, bao vệ kết nối và xác nhận. GSI được xây d ựng và mở rộng dựa vào giao thức bảo mật tầng vận chuyển (TLS – Transport Layer Security – định nghĩa 1 giao thức về sự riêng tư và toàn vẹn d ữ li ệu giữa 2 ứng dụng kết nối với nhau) 6
  7. o Giao thức giao tiếp dựa trên kiến trúc phân tầng Internet. T ầng Internet s ử dụng giao thức IP và ICMP. Tầng vận chuyển sử dụng TCP, UDP. Tầng ứng dụng sử dụng DNS, OSPF, RSVP,… - Lớp tài nguyên: Bao gồm 1 tập nhỏ các giao thức chuẩn. Bao gồm: o Giao thức thông tin tài nguyên lưới (GRIP – Grid Resource Information Protocol) dựa trên LDAP – Lightweight Directory Access Protocol o Giao thức quan lý và truy xuất tài nguyên GRAM – Grid Resource Access and Management dựa trên chuẩn HTTP. Giao thức này được sử dụng cho việc định vị tài nguyên tính toán, theo dõi và điều khi ển vi ệc tính toán trên nh ững tài nguyên đó. o GridFTP, một giao thức mở rộng giao thức truyền file. Đó là giao th ức qu ản lý việc truy xuất dữ liệu. - Lớp nhóm (Collective): bao gồm Meta Directory Service, GIIS – Grid Information Index Servers hỗ trợ việc view trên tập con các tài nguyên, với giao thức thông tin LDAP. Thư viện đồng định vị tài nguyên của DUROC ( DUROC co-allocation library). 5.1.2.Globus Toolkit phiên bản 3: GT3 được xây dựng và mở rộng trên những công nghệ và khái niệm của GT2. Phiên bản này dựa trên kiến trúc dịch vụ lưới mở (OGSA – Open Grid Services Architecture). Kiến trúc này dựa vào những mục đích sau: - Tập trung vào các hành vi của các thành phần: nghĩa là xác định các chức năng cần thiết của lưới, sau đó các hành vi sẽ được thực hiện dựa vào việc thiết lập các thông số. - Hướng dịch vụ: 1 dịch vụ là 1 thực thể mà interface của nó được định nghĩa trước. - Sử dụng Web service: GT2 chỉ pha trộn nhưng giao thức ở mức thấp và không cung cấp 1 ngôn ngôn định nghĩa giao diện chuẩn nào. Do đó, sự xuất hiện của Web service rất phù hợp với kiến trúc OGSA để tận dụng các chuẩn WS ( đó là Web Services Definition Language – WSDL), các nền tảng ứng dụng và các công cụ phát triển. 5.1.3.Globus Toolkit phiên bản 4: Trong phiên bản này, kiến trúc dịch vụ lưới mở yêu cầu phải có các dịch vụ có trạng thái (stateful services). Hình 4 sau đây diễn tả mối quan hệ của GT4 đối với các công nghệ OGSA, WSRF và Web Service (Hình 1-2. – progtutorial GT4). GT4 sẽ hiện thực các dịch vụ ở mức cao vừa đủ cho các ứng dụng lưới và hiện thực WSRF. OGSA yêu cầu stateful Web service và WSRF đặc tả Web service này. 7
  8. Hình 4. Quan hệ giữa GT4 với OGSA,WSRF, và Web Service. 5.2.gLite: 5.2.1.Giới thiệu Enabling Grids for E-sciencE project (EGEE) là một dự án Research Infrastructures Grid quan trọng nhất của châu Âu và là hạ tầng Grid lớn nhất. Nó có sự tham gia của 70 thành viên của 27 quốc gia và được cung cấp hơn 20000 CPU, khoảng 200 site và 10 petabyte lưu trữ mạng có sẵn. Bắt đầu từ tháng 4 2004, EGEE đã phát triển một cách nhanh chóng từ phạm vi châu Âu đến toàn cầu. Hệ thống và các ứng dụng Grid hướng đến việc tích hợp, quản trị các tài nguyên và dịch vụ trong phạm vi những Tổ chức ảo (Virtual Organization) động, phân tán và hỗn tạp qua việc quản trị truyền thống và các miền tổ chức. Một Tổ chức ảo (VO) bao gồm một tập các cá nhân hoặc tổ chức mà có quyền truy cấp đến máy tính, dữ liệu, phần mềm và các tài nguyên khác phục vụ cho việc giải quyết các vấn đề hợp tác và các mục đích khác. VO là một khái niệm cung cấp một ngữ cảnh cho các hoạt động của Grid. Việc chia sẻ các tài nguyên cần thiết phải có sự điểu khiển cao với người cung cấp và tiêu thụ tài nguyên cần phải được chỉ định rõ ràng cẩn thận tài nguyên nào được chia sẻ, ai được phép chia sẻ và những điều kiện thỏa mãn khi chia sẻ. Việc chia sẻ tài nguyên được làm thuận tiện và được điều khiển bởi một tập các dịch vụ mà cho phép tài nguyên có thể được khám phá, truy cập, cấp phát, giám sát và cấp tài khoản mà không cần quan tâm đến vị trí địa lý của chúng. Từ đó các dịch vụ này cung cấp một lớp giữa tài nguyên và ứng dụng vật lý, mà thường được gọi là Grid Middleware. 5.2.2.Kiến trúc Dịch vụ gLite Grid là một kiến trúc hướng dịch vụ (SOA) cho phép dễ dàng mở rộng giữa các dịch vụ Grid và đáp ứng thuận lợi hơn các tiêu chuẩn được công bố sau này như OGSA. Các dịch vụ này được kỳ vọng sẽ làm việc phối hợp cùng nhau để đạt được kết quả đến người dùng cuối, tuy vậy nó vẫn có thể được triển khai và sử dụng một cách độc lập cho 8
  9. phép việc khai thác chúng trong những ngữ cảnh khác nhau. Hình sau mô tả các dịch vụ ở cấp cao có thể được chia thành 5 nhóm dịch vụ. Dịch vụ Security bao gồm các dịch vụ Authentication, Authorization và Auditing mà cho phép nhận dạng các thực thể (người sử dụng, hệ thống và dịch vụ), cho phép hoặc từ chối truy cập đến dịch vụ hay tài nguyên và cung cấp thông tin cho việc phân tích các sự kiện liên quan đến bảo mật. Nó cũng cung cấp các chức năng cho việc bí mật dữ liệu và một dịch vụ kết nối động. Dịch vụ Information và Monitoring cung cấp một cơ chế xuất bản và tiêu thụ thông tin và sử dụng nó cho mục đích giám sát. Hệ thống thông tin và giám sát có thể được sử dụng trực tiếp để xuất bản, ví dụ như thông tin liên quan đến tài nguyên trên Grid. Các dịch vụ đặc biệt hơn như Job Monitoring và Network Performance Monitoring có thể được xây dựng trên đỉnh. Dịch vụ Job Management. Các dịch vụ chính có liên quan đến việc quản trị và thực thi job là thành phần tính toán, quản trị workload, tài khoản, phát sinh job và các dịch vụ quản trị gói. Các thành phần tính toán CE cung cấp triều tượng hóa của một tài nguyên tính toán (điển hình như là một hàng đợi khối của một cluster của siêu máy tính hay thậm chí là workstation đơn). Nó cung cấp thông tin về các tài nguyên bên dưới và cung cấp một giao diện chung để xác nhận và quản lý job trên tài nguyên. Hệ thống quản lý workload WMS là một trình siêu lập biểu mức Grid mà lập lịch cho trên các CE có sẵn mà phù hợp với tham khảo người dùng và các chính sách thông dụng. Nó cũng nắm giữ các job mà nó quản trị một cách tin cậy qua dịch vụ log và kế toán. Dịch vụ phát sinh job JP cung cấp thông tin liên tục trên các job được xử lý trên hạ tầng Grid cho việc xem xét sau đó, các hoạt động data-mining và quá trình làm lại có thể xảy ra. Cuối cùng dịch vụ quản lý gói PM cung cấp việc triển khai động của các phần mềm ứng dụng. Dịch vụ Data. Ba dịch vụ chính có liên quan đến việc truy cập file và dữ liệu: Storage Element, File & Replication Catalog và Data Management. Trong tất cả các dịch vụ quản lý dữ liệu miêu tả bên dưới có tính chất của dữ liệu ở cấp độ file. Tuy nhiên, các dịch vụ này thì đủ khái quát để mở rộng đến các cấp độ khác. Storage Element (SE) cung cấp các triều tượng hóa về tài nguyên lưu trữ (mà có thể tiếp cận từ dịch vụ đĩa đơn giản đến hệ thống lưu trữ băng phân cấp phức tạp) nhiều như CE làm cho các tài nguyên tính toán. Dịch vụ danh mục sẽ nắm giữ vị trí dữ liệu cũng như các siêu dữ liệu liên quan (checksum hoặc kích thước file) và dịch vụ di chuyển dữ liệu cho phép dữ liệu được quản trị được truyền giữa các SE. Việc truy cập file được điều khiển bởi Access Control Lists (ACLs). Siêu dữ liệu đặc tả ứng dụng được mong muốn không chỉ được lưu trữ trong các dịch vụ gLite cơ bản mà còn trong thư mục siêu dữ liệu đặc tả ứng dụng. Tất cả các dịch vụ quản trị dữ liệu hoạt động trên các file đơn hoặc là tập hợp các file. 9
  10. Hình 5. Kiến trúc dịch vụ của gLite. Chú ý rằng kiến trúc gLite không có các tình huống triển khai đặc tả áp đặt tổng quát. Quan trọng nhất là các instance dịch vụ có chia sẻ đa VO mà làm thuận tiện cho việc mở rộng và hoạt động của hệ thống Grid mặc dù một VO có thể yêu cầu chính instance của nó. 5.2.3.Security Kiến trúc bảo mật EGEE dựa trên việc thiết lập tốt trong cộng đồng Grid. Về mặt authentication việc lưu trữ ủy nhiệm bảo đảm đúng việc bảo mật ủy nhiệm trong khi chứng nhận proxy hỗ trợ sign-on. Giao thức bảo mật cấp độ thông điệp và vận chuyển TLS, GSI, và WS-Security đảm bảo tích hợp, xác thực và tin cậy. Thuộc tính cấp quyền (authority) cho phép VO quản trị việc điều khiển truy cập. Trong khi dịch vụ xác nhận chính sách cho phép việc hợp nhất và quản trị trung tâm của chính sách thông dụng. Một nền tảng Authorization cho phép việc tùy chọn, phân xử, tập hợp các chính sách từ các miền quản trị khác nhau cũng như việc tích hợp các bộ chức dịch vụ và các dịch vụ kế thừa. Các chức năng miêu tả trong kiến trúc bảo mật EGEE trong trường hợp tốt nhất nhúng vào các bộ chứa dịch vụ hay chính trong ứng dụng, Vì những lý do hoạt động, nó không đưa vào như là các Web Service riêng biệt. Vấn đề quan trọng là kiến trúc bảo mật được sử dụng bởi EGEE cho phép việc mở rộng với các triển khai Grid và các dự án Middleware khác. 10
  11. Hình sau sẽ mô tả một cách tổng quát về các thành phần kiến trúc bảo mật tương tác với một số luồng yêu cầu tiêu biểu người sử dụng truy cập đến tài nguyên - Người sử dụng thu được ủy quyền Grid từ các lưu trữ ủy quyền và các token c ần thi ết mà xác nhận quyền người sử dụng truy cập tài nguyên. Các ủy quyến này có th ời gian sống ngắn và được truyền từ các ủy quyền dài hạn hơn, chẵn hạn như ch ứng nh ận nhận dạng X.509 được đưa ra bởi CA. EGEE sử dụng myProxy là b ộ l ưu tr ữ ủy nhi ệm và Virtual Organization Membership Service VOMS như m ột cấp quyền thu ộc tính. VOMS cũng còn được sử dụng để quản lý các thành viên của VO. - Người sử dụng và các bộ chứa dịch vụ sẽ xác thực nhận dạng lẫn nhau và thi ết l ập một kênh kết nối bảo mật qua mạng (mở) với việc bảo vệ tích hợp, xác thực và tin c ậy và trên đó thông điệp SOAP được truyền. Mặc định nó được hoàn tất b ởi vi ệc s ử d ụng HTTP qua TLS. Và sự kiện kết nối được thiết lập sẽ được ghi lại. - Trong việc xác thực ở bước 2, lớp xác thực đánh giá việc nhận dạng người dùng v ới anchor và thông tin thu hồi ủy quyền nếu nó tồn tại. Kết qu ả c ủa vi ệc đánh giá này s ẽ ghi lại. Các bộ chứa dịch vụ tiếp nhận payload và định hướng nó đ ến các đi ểm cu ối chính xác. Trong trường hợp bảo mật cấp độ thông điệp, vi ệc ki ểm tra tính xác th ực và tích hợp diễn ra ở đây (sau khi thông điệp được tiếp nhận từ mạng). - Thủ tục cấp quyền bảo đảm rằng người dùng sẽ được cho phép truy cập đến tài nguyên, bởi việc xác nhận thuộc tính kết hợp và chính sách VO (gởi cùng v ới yêu c ầu) với chính sách site nội bộ và các nguồn khác của điều khiển truy cập. - Trong trường hợp sự ủy quyền đại diện được sử dụng, người dùng sử dụng ủy quyền đến tài nguyên được ủy quyền đóng vai trò nhân danh người dùng. Chú ý tuy v ậy vi ệc ủy quyền thông thường diễn ra bởi một yêu cầu điểm cuối riêng lẻ và là phần c ủa luồng thông điệp cấp độ ứng dụng giữa người dùng và dịch vụ. - Đặc tả ứng dụng lấy yêu cầu. Thủ tục cấp quyền có thể sử dụng cho vi ệc đánh giá và tham khảo thêm. - Dịch vụ tích hợp với tài nguyên, mà lần lượt có thể được ủy quyền. K ỹ thuật Sand- boxing và kỷ thuật cô lập giới hạn tác động người dùng vào tài nguyên trong phạm vi mong muốn tránh việc sử dụng có ý hay không định trước hay trong tình hu ống x ấu nhất vi phạm bảo mật. Điều đó bao gồm: o Sử dụng tải nguyên trong không gian người dùng khác nhau h ơn trong b ộ chứa dịch vụ đó. o Hỏi ý kiến Dynamic Connectivity Service để thực hiện tạm thời cho phép việc kết nối mạng bên ngoài lẫn bên trong đến tài nguyên. o Cung cấp sự bảo vệ thêm của các ủy quyền bởi vi ệc sử dụng Active Credential Store. Nó hữu dụng trong trường hợp sử d ụng dài h ạn m ột tài nguyên, nơi mà một sự khôi phục ủy quyền có thể cần thiết. 11
  12. Hình 6. Quá trình tương tác của các thành phần bảo mật. 5.2.4.Information and monitoring services Hệ thống gLite cho thông tin và giám sát là R-GMA, là m ột đ ặc t ả m ối quan h ệ c ủa Grid Monitoring Architecture từ GCF. R-GMA được thiết kế để dễ dàng cho người dùng cuối xuất bản thông tin và truy vấn thông tin trên môi tr ường Grid. Hình sau s ẽ ch ỉ nguyên lý t ổng quát của R-GMA. Dữ liệu sẽ được viết trong cơ sở dữ liệu ảo R-GMA bởi các producer và đọc từ nó bởi các consumer. R-GMA thì không là một h ệ th ống qu ản tr ị d ữ li ệu phân tán. Thay vào đó nó cung cấp một hệ thống thông tin dự đoán trước và hữu dụng. Hình 7. Schema 12
  13. Defining the schema Tác vụ đầu tiên cho người dùng là định nghĩa cái c ần thi ết đ ể xu ất b ản. Nó có m ột hay nhiều bảng theo mô hình mối quan hệ. Một kỹ thuật thông d ụng trong vi ệc thi ết k ế các gi ản đồ quan hệ là việc sử dụng khóa đại diện: là một số nguyên nhỏ có th ể đ ược sử d ụng nh ư khóa ngoại để thiết lập mối quan hệ. Một trường hợp tiêu bi ểu là ký nh ận m ột departmentId đến mỗi bộ phận và sau đó sẽ chứa như một cột trong bảng nhân viên. Đi ều này làm vi ệc t ốt cho cơ sở dữ liệu được quản lý đơn với một cơ chế ký nhận giá trị departmentId, nhưng nó sẽ không làm việc trong Grid. Bạn không nên thừa nhận bất c ứ đi ều gì v ề cái mà b ất c ứ ng ười nào đó đang xuất bản. Producers Producer là người cung cấp dữ liệu cho cơ sở dữ liệu ảo. Việc vi ết dữ liệu sang c ơ sở d ữ liệu ảo được biết như là publishing, và dữ liệu luôn luôn xuất bản trong những dòng hoàn thành, gọi là tuple. Có 3 lớp producer: Primary, Secondary và On-demand. M ỗi lo ại đ ược t ạo bởi ứng dụng của người dùng và trả về tuple đáp lại truy vấn từ comsumer. S ự khác nhau chính là ở nới tuple đến. Có ba cách xem xét ở đây để một job xuất bản dữ liệu qua R-GMA. Sự xâm phạm ít nhất là sử dụng một job swapper mà có thề xuất bản thông tin trên tr ạng thái c ủa job. Job swapper sẽ chèn dữ liệu sang hệ thống R-GMA bởi m ột primary producer mà có b ốn l ời g ọi R- GMA quan trọng. - Tạo primary producer với thuộc tính thích hợp - Biểu diễn bảng với thuộc tính – thông tin này đi đến registry - Chèn các tuple sang cơ sở dữ liệu ảo - Đóng primary producer Một thay thế thứ hai là chèn lời gọi R-GMA trực tiếp sang mã ứng d ụng. Đi ều này có th ể được làm bẳng việc dùng các API có hỗ trợ: C, C++, Java và Python. Cách tiếp cận thứ ba là sử dụng logging API (log4cxx hay log4j) đ ể ghi l ại nh ững v ấn đ ề hữu dụng. Consumer Trong R-GMA, mỗi consumer đưa ra một truy vấn SQL SELECT đơn trên cơ sở d ữ li ệu ảo. Truy vấn này đầu tiên sẽ đối xánh với danh sách các producer có sẵn trong registry và m ột t ập các producer có khả năng trả lời truy vấn được lựa chọn. Có bốn kiểu truy vấn: continuous, lastest, history và static. Tất c ả chúng đ ều đ ược trình bày bởi một truy vấn SQL bình thường qua đó sẽ có một số hạn chế trên truy vấn liên tục. Command Line Tool Một cách dễ dàng để sử dụng công cụ dòng lệnh (viết bẳng Python) được cung c ấp bởi một hệ thống help. Công cụ này chấp nhận những lệnh ngắn và cung c ấp nh ững tùy ch ọn m ặc định nhiều nhất có thể. Ví dụ rgma> SELECT Name, Endpoint FROM Service Service Discovery Khám phá dịch vụ là một API ẩn trong hệ thống thông tin bên d ưới. H ệ th ống thông tin này được liên kết qua một cơ chế plug-in cho cái mà chúng ta hỗ trợ R-GMA, bdII và m ột file XML. Các API được cung cấp trong C và Java và cho phép m ột ng ười dùng (hay m ột d ịch v ụ khác) để lựa chọn một dịch vụ phù hợp. 13
  14. 5.2.5.Workload management services Workload Management System (WMS) bao gồm một tập các thành phần Grid middleware đáp ứng được các tác vụ quản trị và phân tán qua tài nguyên Grid, theo đó các ứng dụng sẽ được xử lý một cách hiệu quả. Loại đặc trưng của các tác v ụ mà yêu c ầu tính toán thì thường được nói đến như các job. Trong WMS, phạm vi của các tác vụ cần đ ược m ở r ộng để đưa vào sổ kế toán các loại tài nguyên khác chẵn hạn như việc lưu trữ hay khả năng mạng. Thành phần lõi của Workload Management System là Workload Manager (WM), mà m ục đích của nó là để chấp nhận và thỏa mãn yêu cầu của vi ệc quản trị job đến từ các client c ủa nó. Thành phần cơ bản khác là Job Logging và Bookkeeping Service. Cho job liên quan tính toán s ẽ có hai yêu cầu chính: submission và cancellation. Tr ạng thái c ủa yêu c ầu s ẽ đ ược qu ản lý b ởi dịch vụ Logging và Bookkeeping. The gLite Job Description Language Một job sẽ được thông qua đến gLite WMS cần được mô tả trong một ngôn ngữ đặc trưng, gLite Job Description Language (JDL). JDL được sử dụng cho gLite và khởi đầu phát triển cho dự án EU DataGrid, dựa trên ngôn ngữ Condor ClassAd. Khái ni ệm trung tâm c ủa nó là c ấu trúc giống bản ghi, classad, gồm một số giới hạn tên thuộc tính phân biệt ánh xạ đến bi ểu th ức. Một biểu thức sẽ chứa chữ và các tham khảo thuộc tính chứa các toán t ử có cú pháp gi ống C/C++. WMS User Interfaces Sau khi đã tạo được phần mô tả ứng dụng, người dùng mong mu ốn có th ể l ờ đi tính ph ức tạp của tài nguyên Grid và có thể xem xét chúng đến Workload Management System và giám sát quá trình phát triển của chúng trên Grid. Các chức năng của WMS bao gồm như sau: - Đề trình Job (bao gồm các DAG) cho việc xử lý trên một Computing Element, cũng bao gồm: o sự lựa chọn và khám phá tài nguyên một cách tự động o trạng thái của sandbox đầu vào ứng dụng o khởi động lại job từ trạng thái checkpoint được lưu từ trước o giao tiếp tương tác với job đang chạy - Danh sách các tài nguyên phù hợp để chạy job đặc trưng theo yêu cầu job - Hủy bỏ một hay nhiều job - Thu hồi những file đầu ra của một hay nhiều job - Thu hồi thông tin bookkeeping và logging của các job Tất cả các chức năng này được tạo sẵn qua một giao diện dòng lệnh và m ột API cung c ấp t ừ C++ và Java. Thành phần GUI được phát triển trên đỉnh của Java API. Logging and Bookkeeping Dịch vụ Logging và Bookkeeping được sử dụng bởi WMS n ội t ại đ ể t ập h ợp các thông tin khác nhau trên các job đang chạy và cung cấp cho người dùng cái nhìn t ổng quan v ề tr ạng thái job. Dịch vụ thu thập các sự kiện trong một cách non-blocking bất đ ộng b ộ v ới c ơ ch ế truy ền mạnh mẽ. 5.2.6.Data management service Với chồng dịch vụ quản trị dữ liệu gLite, chúng ta có thể giả sử r ằng tính chất th ấp nhấn của dữ liệu là ở cấp độ file. Chúng ta sẽ xử lý v ới file t ốt h ơn đ ối t ượng d ữ li ệu hay các bảng trong cơ sở dữ liệu quan hệ nếu như nó đến từ dữ liệu ứng dụng. Có hai lý do chính gi ải thích. Thứ nhất, hai nhóm ứng dụng khởi đầu là cộng đồng High Energy Physics và Biomedical làm việc với đặc tả EGEE gLite lưu trữ dữ liệu của họ bằng đ ịnh dạng file. Th ứ hai, m ặc ng ữ 14
  15. nghĩa của file rất dễ hiểu cho mọi người với cả hai người cung c ấp d ịch v ụ l ẫn ph ần ứng dụng. Trong Grid, người dùng định nghĩa các file bởi logical file name (LFN). LFN namespace là hệ phân cấp, giống với hệ thống file quy ước. Mặc ngữ nghĩa của LFN namespace cũng r ất giống với hệ thống file Unix. LFN thì không chỉ tên/nhận dạng mà đ ược k ết h ợp v ới m ột file trên Grid, mặc dù người dùng trung bình có thể không bao giờ sử dụng tên file khác. Chúng ta có các tên sau nhận dạng dữ liệu trong Grid: LGN – Logic File Name, GUID – Global Unique Identifier, Logical Symlink, SURL, TURL. Dịch vụ dữ liệu có thể được đặt qua ba danh mục: storage, catalog và movement. Nhận xét Trong phần trên, chúng ta đã có cái nhìn tồng quát cách một hạ tầng EGEE Grid có th ể được lập trình sử dụng các dịch vụ cung cấp bởi gLite middleware. Chúng ta cũng tập trung vào một số các dịch vụ được sử dụng thường xuyên. Như đã nói phần trên, EGEE không chỉ là m ột trong nh ững h ạ t ầng Grid qui mô l ớn đ ược tạo ra trong những năm vừa qua. Mỗi hạ tầng khác nhau được triển khai trên những d ịch v ụ khác nhau được xây dựng trên những chồng phần mềm khác nhau. So sánh các công nghệ Trong khi Globus Toolkit 4 nhanh và hiệu quả hơn thì gLite phức tạp hơn và thân thi ện với người phát triển. Một sự khác biệt nữa giữa các middleware là chất lượng của các tài li ệu hiện có. Với Globus 4 thì thường thô sơ, không đầy đủ và những ví d ụ hoàn thi ện thi ếu th ốn. Mặc khác, lại có những thông tin và mã nguồn hữu ích có s ẵn trong gLite. Th ực ch ất, gLite có nguồn gốc từ GT, nhưng bởi vì GT được xây dựng để chuẩn hóa, cho nên có nhi ều ch ức năng không thực sự cần thiết. gLite đã gỡ bỏ 1 số chức năng và gi ữ l ại và t ập trung vào phát tri ển 1 số chức năng cần thiết mà thôi. - Về mặt xác thực, cả 3 công cụ điều dùng 1 chuẩn X.509 - Về Web service thì GT4 có OGSA hỗ trợ, UNICORE thì dùng WSRF 1.2. - Nghi thức truyền file thì GT4 và gLite đều sử dụng GridFTP - Về thư viện thì gLite chỉ dùng ngôn ngữ C, trong khi UNICORE sử d ụng Java, còn GT4 có khả năng hỗ trợ cả C,Java, Python. - Đặc trưng riêng của gLite là chỉ chạy trên 1 n ền hệ đi ều hành duy nh ất đó là Scientific Linux, do đó gLite chủ yếu là dùng cho nghiên cứu khoa học. 15
  16. Hình 8. So sánh các công cụ. 6.Tổng kết: Như vậy, bài báo cáo đã trình bày được khái niệm về Grid computing middleware, tìm hiểu được mô hình kiến trúc phân lớp của môi trường lưới cũng như của Grid middleware. Tìm hiểu sâu thêm vào các lớp của Grid middleware cũng như các giao thức, dịch vụ của các lớp này. Trình bày được 1 số công cụ điển hình cho Grid middleware đó là Globus Toolkit và gLite. Vì chưa có điều kiện về thời gian nên công cụ UNICORE chưa được trình bày ở đây. Dù sao, qua hình ảnh so sánh chúng ta đã thấy được 1 phần nào đó những đặc điểm nổi bật của công cụ UNICORE so với các công cụ khác. Phân công trình bày bài báo cáo này gồm có: - Xơn Xay : trình bày o phần 1 – giới thiệu o phần 2 – về định nghĩa Grid computing middleware o phần 3 – về mục đích của Grid computing middleware - Trầm Thế Phiên : o Phần 4 – kiến trúc phân lớp của môi trường lưới và của Grid middleware o Phần 5.1 – Các công nghệ  Công cụ Globus Toolkit - Nguyễn Tuấn Việt: trình bày 16
  17. o Phần 5.2 về công cụ gLite và so sánh các công cụ, bao gồm Globus Toolkit, gLite và UNICORE. Tài liệu tham khảo 1. I. Foster and C. Kesselman, The Grid: Blueprint for a New Computing Infrastructure. Morgab Kaufmann Publishers, 1999. 2. Fran Berman, Anthony J. G. Hey and Geoffrey C. Fox, Grid computing: Making the Global Infrastructure a Reality. John Wiley & Sons Ltd, 2003. 3. Globus project: http://www.globus.org/alliance/ 4. Grid Computing Slides – Nguyen Tuan Anh 5. Grid Computing Slides – Pham Tran Vu 6. vonLaszewski--grid-middleware 7. 03-grid-concepts-architecture-middleware-adler-vortrag 8. Websites of gLite (http://www.eu-egee.org) MỤC LỤC 1.Giới thiệu:.......................................................................................................................................1 1.1.Lớp ứng dụng: ........................................................................................................................1 1.2.Lớp cơ sở hạ tầng: .................................................................................................................1 1.3.Lớp giữa: ................................................................................................................................ 1 2.Định nghĩa Grid middleware:..........................................................................................................2 3.Mục đích của Grid middleware:.....................................................................................................3 4.Kiến trúc phân tầng của lưới:....................................................................................................... 4 17
  18. 4.1.Lớp giao thức kết nối – Connectivity layer............................................................................4 4.2.Lớp giao thức tài nguyên – Resource layer.............................................................................5 4.3.Lớp giao thức nhóm – Collective layer...................................................................................5 5.Các công nghệ:............................................................................................................................... 6 5.1.Globus Toolkit:........................................................................................................................ 6 5.1.1.Globus Toolkit phiên bản 2:............................................................................................. 6 5.1.2.Globus Toolkit phiên bản 3:............................................................................................. 7 5.1.3.Globus Toolkit phiên bản 4:............................................................................................. 7 5.2.gLite:........................................................................................................................................ 8 5.2.1.Giới thiệu..........................................................................................................................8 5.2.2.Kiến trúc........................................................................................................................... 8 5.2.3.Security............................................................................................................................10 5.2.4.Information and monitoring services.............................................................................. 12 5.2.5.Workload management services......................................................................................14 6.Tổng kết:...................................................................................................................................... 16 Tài liệu tham khảo.......................................................................................................................... 17 MỤC LỤC........................................................................................................................................17 18
nguon tai.lieu . vn