Các vấn đề cần quan tâm khi lập trình trên lưới

Một phần của tài liệu Mô hình tính toán lưới và ứng dụng giải một số bài toán trên đồ thị (Trang 65)

2.4.2.1 Vấn đề quản lý tài nguyên

Mục tiêu của cơng nghệ Grid Computing là chia sẻ, phối hợp, sử dụng hiệu quả nhiều loại tài nguyên đến từ nhiều nguồn khác nhau. Để thực hiện được điều đĩ, cần phải giải quyết các thách thức và yêu cầu chính sau đây:

54

Các tài nguyên lưới phân tán theo địa lý qua nhiều vùng quản trị và được sở hữu và quản lý bởi nhiều tổ chức khác nhau. Khơng thể chờ đợi một sự thống nhất chung về các chính sách sử dụng, chia sẻ, bảo mật giữa các tổ chức. Lưới cần phải tơn trọng, tương thích với các chính sách quản trị và sử dụng tài nguyên cục bộ.

Cần cĩ một cơ chế chia sẻ cĩ tính mềm dẻo cao, từ mơ hình client-server đến peer-to-peer để kiểm sốt chi tiết, chính xác cách sử dụng các tài nguyên chia sẻ, bao gồm kiểm sốt truy cập, ủy quyền, áp dụng các chính sách cục bộ và tồn cục; để chia sẻ nhiều loại tài nguyên khác nhau từ các chương trình, file, dữ liệu đến các máy tính, sensor,…; và cho nhiều phương thức sử dụng khác nhau từ đơn người dùng đến đa người dùng, từ hướng hiệu suất đến hướng chi phí, từ đĩ đưa ra mơ hình chất lượng dịch vụ, lập lịch, phối hợp cấp phát tài nguyên và thanh tốn chi phí.

Cần cĩ cơ chế dàn xếp việc chia sẻ tài nguyên giữa các bên tham gia (bên cung cấp và bên sử dụng) hợp lý. Việc chia sẻ này phải được quản lý chặt chẽ và đặc tả rõ ràng giữa các bên cung cấp và sử dụng về những gì được chia sẻ, ai được phép chia sẻ, ở điều kiện nào thì việc chia sẻ được thực hiện.

2/. Tài nguyên đa dạng, hỗn tạp

Lưới phải quản lý nhiều tài nguyên khơng đồng nhất về bản chất, sử dụng nhiều cơng nghệ, các hệ thống quản lý tài nguyên cục bộ khác nhau. Ngay cả khi cĩ 2 site cùng sử dụng một cơng nghệ, một hệ quản lý tài nguyên cục bộ nhưng cĩ cấu hình khác nhau cũng dẫn đến cĩ các chức năng khác nhau.

3/. Việc tồn tại của tài nguyên trong lƣới thay đổi theo thời gian

Trong lưới, các tài nguyên cĩ thể xuất hiện hoặc biến mất mà khơng hề báo trước do nhiều nguyên do khác nhau như lỗi hệ thống, lỗi mạng, các chính sách chia sẻ của nhà cung cấp,…Đây cũng là một thách thức lớn để đảm bảo tính tin cậy của hệ thống. Cần cĩ các cơ chế tìm kiếm, xác định tài nguyên, phát hiện và phục hồi lỗi.

55

Các ứng dụng cĩ nhiều địi hỏi về tài nguyên mà chỉ cĩ thể đáp ứng bằng cách sử dụng song song các tài nguyên trên nhiều site khác nhau. Các chính sách quản trị cục bộ của các site cùng với khả năng bị lỗi trong quá trình cấp phát tài nguyên địi hỏi phải cĩ các cơ chế đặc biệt để phối hợp cấp phát nhiều tài nguyên, khởi tạo các quá trình tính tốn, theo dõi và quản lý chúng trên các tài nguyên.

5/. Vấn đề điều khiển trực tuyến, theo thời gian thực (online)

Cần cĩ cơ chế cho phép thoả thuận sử dụng tài nguyên trong thời gian thực thi để đáp ứng nhu cầu của ứng dụng, nhất là trong trường hợp các yêu cầu và tính chất các tài nguyên thay đổi trong quá trình thực thi.

2.4.2.2 Vấn đề bảo mật

Các hệ thống lưới cần phải cung cấp đầy đủ các chức năng bảo mật truyền thống như chứng thực, phân quyền, bảo vệ thơng điệp, tồn vẹn dữ liệu, … ngồi ra cần đáp ứng các yêu cầu sau:

1/. Đăng nhập một lần (Single sign-on)

Một tính tốn đơn giản cũng địi hỏi phải sử dụng nhiều tài nguyên khác nhau, do đĩ nếu cứ mỗi lần truy xuất tài nguyên lại cần phải chứng thực người dùng là điều khơng thực tế và khơng thể chấp nhận được. Thay vào đĩ, hệ thống lưới cần cĩ cơ chế cho phép người dùng chỉ cần chứng thực một lần mà cĩ thể sử dụng nhiều tài nguyên khác nhau.

2/. Cho phép ủy quyền

Đây là một yêu cầu quan trọng, để thực hiện được yêu cầu “đăng nhập một lần” thì cần phải cĩ sự uỷ quyền. Người dùng cần cĩ khả năng uỷ quyền cho các chương trình sử dụng các quyền của mình, để chương trình cĩ thể truy cập đến các tài nguyên được phép khác của người dùng. Và chương trình cũng cần cĩ khả năng ủy quyền cho các chương trình khác.

56

Mỗi site hoặc nhà cung cấp tài nguyên đều cĩ chính sách bảo mật riêng của mình. Do đĩ, các giải pháp bảo mật trên lưới cần phải liên kết được với các giải pháp bảo mật cục bộ, khơng được thay thế tồn bộ các giải pháp này mà cần cho phép kế thừa, sử dụng lại.

4/. Sử dụng các quan hệ tin cậy lẫn nhau dựa theo ngƣời dùng

Để cho phép người dùng sử dụng kết hợp tài nguyên từ nhiều nhà cung cấp khác nhau, hệ thống bảo mật khơng được yêu cầu các nhà cung cấp phải hợp tác, liên lạc với nhau để thiết lập mơi trường bảo mật. Ví dụ, nếu người dùng cĩ quyền sử dụng 2 site A và B, thì người dùng cũng cĩ thể sử dụng kết hợp 2 site A, B cùng lúc mà khơng cần các chuyên gia bảo mật của site A, B liên lạc với nhau.

5/. Hỗ trợ bảo mật liên lạc nhĩm

Một quá trình tính tốn được cấu thành từ nhiều tiến trình khác nhau, những tiến trình này cần phải liên lạc với nhau theo từng nhĩm. Các nhĩm cĩ thể thay đổi trong suốt quá trình tính tốn. Lưới cần cĩ giải pháp để thực hiện bảo mật cho các nhĩm này.

6/. Đảm bảo tính riêng tƣ

Một trong những khả năng của lưới là cho phép xử lý dữ liệu trên máy tính ở xa. Từ đây cũng nảy sinh vấn đề cần bảo vệ tính riêng tư của dữ liệu, sao cho các người dùng hay nhà quản trị trên máy tính ở xa khơng thể xâm nhập, sử dụng các dữ liệu đang được xử lý trên máy tính của mình.

7/. Cho phép cĩ nhiều cài đặt khác nhau

Các giải pháp bảo mật khơng nên chỉ tập trung vào một cài đặt cụ thể mà nên cài đặt theo nhiều cơng nghệ khác nhau dựa trên một nền tảng chung. Điều này đảm bảo tính tương thích với nhiều hệ thống khác nhau.

Ghi chú: Các giải pháp bảo mật trên lưới cũng nên cung cấp sự hỗ trợ mềm dẻo cho cơng tác bảo vệ liên lạc (ví dụ như điều khiển được mức độ bảo vệ, bảo vệ các gĩi dữ liệu trong các giao thức khơng đảm bảo tính tin cậy (UDP), hỗ trợ các giao thức vận

57

chuyển tin cậy khác ngồi TCP,…) và cho phép các nhà cung cấp ra quyết định về phân quyền cũng như hạn chế ủy quyền theo nhiều cách khác nhau.

2.4.2.3 Quản lý thơng tin

Hệ thống thơng tin lưới cần cĩ các cơ chế hỗ trợ việc truy cập, tìm kiếm thơng tin các loại về hệ thống lưới một cách nhanh chĩng, chính xác. Cần cĩ các chức năng để xác định đặc tính phần cứng, phần mềm cũng như các thơng tin trạng thái như tải hiện tại và trạng thái hàng đợi trong trường hợp tài nguyên được lập lịch sử dụng và cĩ các cơ chế cung cấp các thơng tin này gần như theo thời gian thực.

Hệ thống thơng tin cần hỗ trợ theo dõi thơng tin của một lượng rất lớn các thành phần, cho phép nhiều loại thực thể truy cập, tìm kiếm thơng tin trong khi giảm thiểu các chi phí về cơng sức và tài nguyên cần thiết để tạo lập, cập nhật các thơng tin cả ở từng site lẫn tồn bộ lưới.

Một trong những mục tiêu của hệ thống thơng tin là đơn giản hố việc tìm kiếm thơng tin để ra các quyết định sử dụng tài nguyên thích hợp, do đĩ hệ thống thơng tin cần phải được xây dựng theo mơ hình dữ liệu đơn nhất (uniform), cung cấp một giao diện chung để truy xuất nhiều thơng tin khác nhau

Mơ hình quản lý thơng tin cần đủ bao quát để biểu diễn các cấu trúc thơng tin trong mơi trường tính tốn phân tán. Một trong những thách thức là biểu diễn được các thuộc tính liên quan đến nhiều site cùng lúc (ví dụ như : băng thơng liên lạc giữa các site).

Do tài nguyên của lưới rất đa dạng, cĩ thể được thêm bớt theo thời gian, do đĩ khả năng tích hợp thêm các thơng tin mới vào hệ thống là rất quan trọng. Các hệ thống thơng tin lưới cần phải cĩ khả năng này.

Các hệ thống thơng tin lưới cần cĩ khả năng phát sinh thơng tin từ nhiều nguồn khác nhau để cung cấp các thơng tin tổng hợp về hệ thống.

Đưa ra các cách thức truy xuất mềm dẻo đến hệ thống thơng tin, người dùng cần cĩ khả năng đọc, cập nhật cùng với khả năng tìm kiếm, định vị thơng tin.

58

Hệ thống thơng tin chỉ cĩ thể hữu dụng khi nĩ được triển khai rộng rãi, do đĩ cần cĩ những kỹ thuật cho phép cài đặt, triển khai, bảo trì dễ dàng trên các site khác nhau.

Cần cĩ mơ hình quản lý thơng tin phân tán, nên cho phép uỷ quyền tạo lập và quản lý thơng tin tài nguyên cho các site.

2.4.2.4 Quản lý dữ liệu

Cần cĩ mơ hình quản lý dữ liệu phân tán, cho phép kết hợp dữ liệu từ nhiều nơi khác nhau, hệ thống quản lý dữ liệu cần cĩ các cơ chế quản lý sao cho cĩ thể che đi sự phức tạp của dữ liệu, cung cấp cho người dùng cách thức truy cập đơn giản, hiệu quả thơng qua một giao diện chung mà khơng cần biết đến vị trí của dữ liệu.

Cho phép sắp xếp các vị trí dữ liệu và cĩ cơ chế lập lịch truy xuất dữ liệu tối ưu nhằm nâng cao hiệu suất của lưới.

Cần cĩ cơ chế di chuyển dữ liệu đến nơi xử lý mà khơng tạo ra hiệu ứng cổ chai trong hệ thống mạng hoặc các vấn đề về truy xuất dữ liệu khác.

Cần cĩ các cơ chế truyền file hiệu suất cao, đọc ghi một loạt các file hoặc các chức năng chọn lựa, tinh giảm dữ liệu từ xa, các cơ chế điều khiển việc cấp phát tài nguyên phục vụ truyền dữ liệu (khơng gian, băng thơng, CPU).

2.4.2.5 Phát triển ứng dụng

Việc xây dựng lưới gặp khĩ khăn hơn nhiều so với các ứng dụng bình thường hiện nay, cần phải đưa ra các mơ hình, phương pháp giải quyết các vấn đề như chia sẻ, chia nhỏ, phân tích, di chuyển , bảo mật, quản lý, dữ liệu, đồng bộ hố các tiến trình, cơng việc,… nhằm tận dụng tối đa khả năng của hệ thống.

Cần xây dựng các mơ hình, các mơi trường lập trình, các bộ cơng cụ phát triển ứng dụng cho lưới nhằm đơn giản hĩa việc phát triển ứng dụng, tạo điều kiện đưa cơng nghệ Grid Computing vào thực tế.

59

Khi kích cỡ lưới tăng lên, chi phí quản lý cũng tăng theo, hiệu suất của lưới cũng giảm xuống, do đĩ khi xây dựng các cơng nghệ lưới cần tính tốn khả năng mở rộng của hệ thống.

Cần cĩ các cơ chế quản lý tiến trình để đặt chỗ trước trên tài nguyên, khởi động, kiểm sốt, điều khiển việc thực thi của các tiến trình.

Về mã thực thi ứng dụng, dạng đặc biệt của tài nguyên lưu trữ này địi hỏi các cơ chế để quản lý phiên bản mã nguồn và mã thực thi của các đối tượng để đảm bảo tính tương thích.

Nguời dùng mong muốn cĩ thể dùng mơi trường ảo của lưới với chất lượng gần giống như trên hệ thống cục bộ. Do đĩ, lưới cần phải cung cấp các cơng cụ đơn giản để hỗ trợ người dùng để xác định các dịch vụ, số lượng và chất lượng (QoS ) của chúng, chất lượng trong trường hợp này liên quan đến khả năng truy cập dịch vụ một cách nhanh chĩng thơng qua các giao diện hồn hảo, các hệ thống chứng thực thơng minh và các đường truyền tốc độ cao.

Cần cĩ một hệ thống quản lý phân phối hợp lý giữa các nhu cầu của người dùng với khả năng của tài nguyên, theo dõi việc sử dụng các dịch vụ, và cung cấp các dịch vụ cộng thêm khác như quản lý tài nguyên cục bộ, quản lý hiệu suất, trạng thái tài nguyên, quản lý đăng nhập và bảo mật.

Cần cĩ một giao diện chuẩn để chuyển các yêu cầu của người dùng và khả năng của tài nguyên thành một ngơn ngữ duy nhất bất kể nền tảng phần cứng, phần mềm của mỗi tài nguyên phân tán nhằm mục đích phối hợp hoạt động.

Các bƣớc chung trong quá trình hiện thực hố lƣới:

1. Tích hợp các thành phần phần cứng và phần mềm đơn lẻ thành tài nguyên kết hợp thơng qua hệ thống mạng.

2. Xây dựng và triển khai

Middleware cấp thấp để cung cấp mơi trường truy cập bảo mật và trong suốt (tức là người dùng khơng nhận thấy sự phức tạp) đến các tài nguyên.

60

Middleware cấp cao và các cơng cụ phục vụ kết hợp các tài nguyên phân tán và phát triển ứng dụng.

3. Phát triển và tối ưu hố các ứng dụng phân tán để tận dụng khả năng của các tài nguyên và cơ sở hạ tầng.

2.5 Kết luận

Trong chương này luận văn đã trình bày chi tiết về cơ sở hạ tầng, kiến trúc, mơi trường và các cơng cụ hỗ trợ tính tốn lưới, các vấn đề cơ bản khi lập trình trên lưới. Qua đĩ ta thấy:

 Globus là bộ cơng cụ rất hữu dụng để triển khai một lưới. Nĩ là cơ sở hạ tầng phần mềm cung cấp các cơng cụ để xây dựng tính tốn mạng lưới và các ứng dụng khác dựa trên cơng nghệ lưới một cách dễ dàng. Các cơng cụ này được gọi chung là Globus Toolkit, gồm nhiều module cơng cụ, mỗi cơng cụ định nghĩa một giao diện phục vụ ở cấp cao và cung cấp những tốn tử ở cấp thấp cĩ thể thực hiện được trên nhiều mơi trường khác nhau. Hầu hết các lưới đang được triển khai hiện nay đều được thực hiện dựa trên nền Globus Toolkit.

 Bên cạnh đĩ bộ cơng cụ Alchemi cũng là bộ cơng cụ hữu ích được sử dụng làm mơi trường để xây dựng tính tốn lưới.

 Những bài tốn lớn địi hỏi tốc độ tính tốn nhanh, dung lượng tính tốn nhiều, độ phức tạp lớn, địi hỏi phải xử lý trong mơi trường xử lý song song và phân tán. Mơi trường tính tốn lưới hỗ trợ để xử lý song song và phân tán với hiệu năng cao. Tính tốn mạng lưới là dạng phân tán nhất của tính tốn song song. Nĩ sử dụng các máy tính kết nối thơng qua mạng Internet để làm việc với một vấn đề nhất định.

61

CHƢƠNG 3. GIẢI MỘT SỐ BÀI TỐN ĐỒ THỊ TRÊN MƠI TRƢỜNG LƢỚI 3.1 Các khái niệm cơ bản

3.1.1 Đồ thị

Cĩ hai loại đồ thị là đồ thị cĩ hướng và đồ thị vơ hướng.

Một đồ thị định hướng G gồm một tập hữu hạn V các đỉnh và một tập E các cung, G = (V, E). Mỗi cung là một cặp cĩ thứ tự các đỉnh khác nhau (u, v), tức là (u, v) (v, u). Cung (u, v) được gọi là cung đi từ đỉnh u tới đỉnh v, ký hiệu là u v, và trong biểu diễn hình học nĩ được biểu diễn như sau [2].

Hình 3.1 Cung (u, v)

Nếu cĩ cung u v, thì ta nĩi v là đỉnh kề với đỉnh u.

Một đồ thị vơ hướng G = (V, E) gồm một tập hữu hạn V các đỉnh và một tập các cạnh thuộc E. Khác với đồ thị định hướng, trong đồ thị vơ hướng, mỗi cạnh E là một cặp khơng cĩ thứ tự các đỉnh khác nhau (u, v), tức là (u, v) = (v, u). Nếu cĩ cạnh (u, v) thì ta nĩi hai đỉnh u, v kề nhau (u kề v và v kề u), và cạnh u, v được biểu diễn hình học như sau [2].

Hình 3.2 Cạnh (u, v)

Cạnh nối một đỉnh với chính nĩ gọi là một khuyên, được biểu diễn hình học như sau:

Hình 3.3 Biểu diễn khuyên

Đồ thị mà mỗi cung (cạnh) (u, v) được gắn với một số c (u, v) là đồ thị cĩ trọng

u v

u v

62

số. Số c(u, v) được gọi là trọng số của cung (cạnh) (u, v). Ký hiệu: G = (V, E, c).

Trong đồ thị định hướng bậc của đỉnh là v là số cung đi ra khỏi v và số cung đi tới v. Ký hiệu: deg (v).

Với đồ thị vơ hướng bậc của đỉnh v là số cạnh của đồ thị nối với đỉnh v. Đỉnh

Một phần của tài liệu Mô hình tính toán lưới và ứng dụng giải một số bài toán trên đồ thị (Trang 65)