Song song 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 79 - 86)

CHƢƠNG 3 GIẢI MỘT SỐ BÀI TỐN ĐỒ THỊ TRÊN MƠI TRƢỜNG LƢỚI

3.3.2Song song trên lưới

3.3 Thuật tốn tơ mầu đồ thị

3.3.2Song song trên lưới

Sử dụng c màu tơ cho n đỉnh đồ thị sao cho khơng cĩ 2 đỉnh nào nối với nhau mà cĩ màu giống nhau. Ví dụ với c màu thì mã các màu từ 0 -> c-1, cần tơ n đỉnh sao cho mã màu khác nhau với 2 đỉnh được nối với nhau.

Ta sẽ kiểm tra tất cả các trường hợp, sử dụng thuật vét cạn với n đỉnh. Chẳng hạn n = 3, c = 2 thì ta vét các trường hợp:

0 0 0(đỉnh 1 tơ màu 0, đỉnh 2 tơ màu 0, đỉnh 3 tơ màu 0) 0 0 1(đỉnh 1 tơ màu 0, đỉnh 2 tơ màu 0, đỉnh 3 tơ màu 1) 0 1 0(….)

0 1 1(…) 1 0 0 1 0 1 1 1 0

68

1 1 1

Với cách như trên thì ta cĩ cn

trường hợp cần xét. Chạy song song ta chia đến cn

trường hợp cho số máy, mỗi máy chạy cn/k trường hợp (với k là số máy)

Nhưng với trường hợp c lớn, n lớn thì cn

sẽ vượt quá giới hạn số nên ta sử dụng cách chia khơng đều, chỉ là chia đều đoạn đầu tiên cho các máy.

Ví dụ với trường hợp trên, 3 máy chạy, n=3, c=2

Ta chạy với c=2 để chia cho 3 được thì phải là 2 phần tử đầu tiên(22

=4>3. 4/3=1=>mỗi máy chạy 1 phần, máy cuối cùng chạy hết phần cịn lại)

Máy 1: 0 0 Máy 2: 0 1 Máy 3: 1 0

Sau khi đã chi phần đầu tiên, thì ta thêm 0 vào các phần tử sau. Máy 1: 0 0 0

Máy 2: 0 1 0 Máy 3: 1 0 0

Riêng máy cuối cùng sẽ phải chạy đến phần cuối cùng tức là 1 1 1. Cơng việc chia cho các máy sẽ khơng đều nhưng tránh được số lớn.

3.3.3 Thực nghiệm chương trình

Mơi trường thực hiện thuật tốn này cũng như mơi trường thực hiện thuật tốn Dijkstra

69

Đơn vị xử lý chính

Hình 3.8 Giao diện chương trình trên máy server - thuật tốn tơ màu đồ thị

Đơn vị xử lý con

70

3.3.2.2 Kết quả

Đánh giá thời gian chạy thuật tốn tơ màu đồ thị

3. 4 Kết luận

Với việc song song hĩa hai thuật tốn tuần tự Dijkstra và tơ màu đồ thị sẽ giúp ta giải quyết được các vấn đề bế tắc mà thuật tốn tuần tự gặp phải như thời gian, dữ liệu vào. Tuy nhiên để cài đặt thuật tốn địi hỏi phải cĩ cụm máy tính song song, hoặc hệ thống máy ảo. Thuật tốn cho kết quả với thời gian xử lý nhanh hơn thuật tốn tuần tự khi dữ liệu đầu vào lớn (chẳng hạn với số đỉnh của đồ thị từ 1000 trở lên).

Đỉnh Cạnh Số màu Tuần Tự(s)

Song Song(s) (adsbygoogle = window.adsbygoogle || []).push({});

2 Client 5 Client 10 Client

30 100 2 890.9 459.3 206.8 123.6 20 50 3 556.3 321.3 132.6 70.9 10 30 3 0.2 0.5 0.6 1

71

KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN Kết quả chính của luận văn là:

Luận văn nghiên cứu tổng quan về mơ hình tính tốn lưới và thực hiện cài đặt thử nghiệm một số bài tốn đồ thị trên mơi trường lưới. Cụ thể, tìm hiểu tài liệu để hệ thống lại các vấn đề sau:

- Giới thiệu tổng quan về mơ hình tính tốn lưới: các định nghĩa về tính tốn lưới, các lợi ích của lưới, các dạng tài nguyên trên lưới, phân loại lưới và vấn đề an tồn thơng tin, những thách thức đối với tính tốn lưới.

- Việc phát triển ứng dụng trên mơi trường tính tốn lưới: bao gồm cơ sở hạ tầng, kiến trúc của một lưới, các mơi trường, cơng cụ hỗ trợ tính tốn lưới và các vấn đề cần quan tâm khi lập trình trên lưới.

- Thử nghiệm chương trình:

Luận văn đã sử dụng cơ chế tính tốn đa luồng trong Java. Tức là mơ phỏng trong mơi trường thơng qua cơ chế đa luồng của Java cụ thể là mỗi luồng thực hiện trên một nút của lưới (một luồng đại diện cho một nút).

Hƣớng phát triển

Cĩ thể nĩi việc phát triển mơi trường tính tốn lưới là một hướng nghiên cứu cơng nghệ cĩ triển vọng rất lớn trong tương lai, cĩ những ứng dụng lớn lao để cĩ thể tận dụng hết nguồn lực tài nguyên rất đa dạng và phong phú hiện nay. Các vấn đề mà lưới đặt ra đã và đang được cộng đồng thế giới giải quyết. Các thành quả mà tính tốn lưới đem lại đã giúp giải quyết nhiều bài tốn mà trước đây khơng thể giải quyết bằng kỹ thuật song song.

72

Tuy nhiên cung cĩ một số bài tốn mà cơng nghệ tính tốn lưới chưa thể giải quyết được. Dù sao việc tận dụng được nguồn tài nguyên nhàn rỗi để tính tốn đối với các bài tốn địi hỏi lượng tính tốn và tài nguyên cao luơn là thế mạnh để phát triển tốt mơi trường tính tốn lưới.

Dựa trên kiến thức đã thu được trong quá trình làm luận văn. Trong thời gian tới, việc nghiên cứu tiếp về tính tốn lưới sẽ theo hướng phát triển là: nghiên cứu về hạ tầng trong mơi trường lưới, tìm hiểu đưa ra các giải pháp để kết nối các nút với nhau trong điều kiện hạ tầng về truyền thơng cịn nhiều khĩ khăn.

73

TÀI LIỆU THAM KHẢO Tiếng Việt

[1] Ks. Nguyễn Long - Nguyễn Huy Văn - Ks. Lê Cơng Trung, Mơ hình lập lịch trong

hệ thống tính tốn lưới do Buyya đề xuất, Tạp chí Bưu chính Viễn thơng & Cơng nghệ

thơng tin & Truyền thơng, 2006.

[2] Đinh Mạnh Tường, Cấu trúc dữ liệu và thuật tốn, Nhà xuất bản Khoa học và Kỹ thuật, 2003.

Tiếng Anh

[3] Ahmar Abbas - Grid Computing: A Practical Guide to Technology and Applications, Charles River Media, 2004.

[4] Akshay Luther, Krishna Nadiminti, Rajkumar Buyya, Alchemi: A.NET-based Enterprise Grid System and Framework, 2005.

[5] Andrew S.Grimshaw, William A.Wulf, Alfred C.Weaver, Paul F.Reynolds Jr, A Synopsis of the Legion Project, Technical Report No. CS - 94 - 20 June - Department

of Computer Science - University of Virginia, 1994.

[6] Daniel Minoli, A Networking Approach to Grid Computing, John Wiley & Sons,

2005.

[7] Fran Berman, Anthony J.G.Hey and Geoffrey C. Fox, Grid

computing: Makingthe Global Infrastructure a Reality, John Wiley & Sons Ltd, 2003.

[8] Globus Books - A Globus Primer 0.6, 2005. (adsbygoogle = window.adsbygoogle || []).push({});

[9] Ian Foster, What is the Grid? A Three Point Checklist. Available at http://www-

fp.mcs.anl.gov/~foster/Articles/WhatIsTheGrid.pdf.

[10] IBM Red Books - Introduction to Grid Computing with Globus, 2003.

[11] I. Foster and C. Kesselman, The Grid: Blueprint for a New Computing Infrastructure. Morgan Kaufmann Publishers, 1999.

74 Trang Web: [12] http://www.unicore.org. [13] http://tronganh.com/cms/index.php?module=news&task=viewNewsdetail&itemId=374 &language=english

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 79 - 86)