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

Nghiên cứu một số thuật toán song song ứng dụng trong GIS

84 743 1

Đ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 84
Dung lượng 2,92 MB

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

Nội dung

Mục tiêu của luận văn là tìm hiểu về xử lý song song, và qua đó vận dụng các kiến thức có được để đưa ra giải pháp, ứng dụng tính toán song song vào việc xử lý thông tin trong GIS, nhằm

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Trang 3

78

LỜI MỞ ĐẦU 1

CHƯƠNG 1: KHÁI QUÁT VỀ GIS VÀ XỬ LÝ SONG SONG 3

1.1 Hệ thống thông tin địa lý GIS 3

1.1.1 Lịch sử ra đời 3

1.1.2 Định nghĩa GIS 5

1.1.3 Các thành phần GIS 5

1.1.4 Tổng quan các chức năng của hệ thống thông tin địa lý 9

1.1.5 Các ứng dụng phổ biến của GIS 16

1.2 Tổng quan về xử lý song song 20

1.2.1 Tại sao phải xử lý song song 20

1.2.2 Phân biệt xử lý song song 20

1.2.3 Mục đích của xử lý song song 21

1.2.4 Kiến trúc máy tính 21

1.2.4.1 Kiến trúc máy tính kiểu Voneument 21

1.2.4.2 Phân loại máy tính song song 22

1.2.4.3 Song song hoá trong máy tính tuần tự 25

1.2.4.4 Một số vấn đề cần quan tâm trong kiến trúc MTSS 27

CHƯƠNG 2: MỘT SỐ THUẬT TOÁN XỬ LÝ SONG SONG ỨNG DỤNG TRONG GIS 29

2.1 Tại sao lại áp dụng xử lý song song trong GIS 29

2.1.1 Ý nghĩa thực tiễn của xử lý song song 29

2.1.2 Đặc điểm riêng của GIS 29

Trang 4

79

2.2 Xây dựng thuật toán xử lý song song ứng dụng trong GIS 30

2.2.1 Nguyên lý thiết kế thuật toán song song(TTSS) 30

2.2.2 Các cách tiếp cận thiết giải thuật song song và đánh giá giải thuật song song 32

2.3 Xây dựng một số thuật toán song song áp dụng trong GIS 33

2.3.1 Thuật toán sắp xếp song song bitonic 33

2.3.3 Tìm kiếm đường đi ngắn nhất ứng dụng trong GIS 53

2.3.4 Xây dựng thuật toán tìm kiếm dữ liệu song song 58

2.3.5 Thuật toán sắp xếp Quicksort song song 62

CHƯƠNG 3: PHÁT TRIỂN CHƯƠNG TRÌNH THỬ NGHIỆM THUẬT TOÁN SONG SONG TRONG GIS65 3.1 Thực nghiệm áp dụng xử lý song song trong GIS và Bản đồ số 65

3.1.1 Thực nghiệm áp dụng thuật toán Bitonic trong việc sắp xếp dữ liệu đầu vào 65

3.1.2 Thực nghiệm với tìm kiếm dữ liệu thô 66

3.1.3 Thực nghiệm sắp xếp lại dữ liệu song song 68

3.1.3 Thực nghiệm tìm kiếm dữ liệu sau khi đã tổ chức lại dữ liệu 69

3.1.4 Thực nghiệm tìm đường đi ngắn nhất từ 1 đỉnh đến tất cả các đỉnh 70

3.2 Xây dựng Bản đồ số áp dụng 72

3.3 Một số hình ảnh chương trình 74

KẾT LUẬN 76

TÀI LIỆU THAM KHẢO 77

Trang 5

1

LỜI MỞ ĐẦU

Một trong những nghành phát triển rất mạnh mẽ hiện nay phải kể đến đó là ngành Công nghệ Thông tin, một trong những ngành mũi nhọn của nhiều quốc gia trên thế giới Sự phát triển không ngừng của công nghệ thông tin mang lại hiệu quả cao cho con người, đồng thời cũng giúp chính bản thân nghành công nghệ thông tin phát triển, sự phát triển cả về phần cứng cũng như các phần mềm tiện ích kèm theo

Sự phát triển đó đã kéo theo rất nhiều các ngành khác phát triền theo, trong đó có lĩnh vực nghiên cứu khoa học Tuy công nghệ ngày càng phát triển, tốc độ xử lý của các thiết bị cũng không ngừng tăng cao, nhưng nhu cầu tính toán của con người vẫn còn rất lớn Cho đến hiện nay vẫn còn rất nhiều vấn đề mà các nhà khoa học cùng với khả năng tính toán của các máy tính hiện nay vẫn chưa giải quyết được hay giải quyết được nhưng với thời gian rất lớn

Các vấn đề đó có thể là :

- Mô hình hóa và giả lập

- Xử lý thao tác trên các dữ liệu rất lớn

- Các vấn đề “grand challenge” (các vấn đề không thể giải quyết trong thời gian hợp lý)

Lời giải cho những vấn đề này đã dẫn đến sự ra đời của các thế hệ siêu máy tính Tuy nhiên việc đầu tư phát triển cho các thiết bị này gần như là điều quá khó khăn đối với nhiều người, tổ chức, trường học…

Chính vì lẽ đó mà ngày nay người ta đang tập trung nghiên cứu cách cách sử dụng các tài nguyên phân bố một cách hợp lý để tận dụng được khả năng tính toán của các máy tính đơn Những giải pháp này được biết đến với nhiều tên gọi khác nhau như parallel computing, meta-computing, salable-computing, global-computing, Internet computing và gần nhất hiện nay là peer to peer computing hay Grid computing Đây là phương pháp nhằm tận dụng khả năng của các máy tính trên toàn mạng thành một máy tính “ảo” duy nhất, nhằm hợp nhất tài nguyên tính toán ở nhiều nơi trên thế giới để tạo ra một khả năng tính toán khổng lồ, góp phần

Trang 6

Hệ thống thông tin địa lý GIS được hình thành vào những năm 1960 và phát triển rất rộng rãi trong 10 năm lại đây GIS ngày nay là công cụ trợ giúp quyết định trong nhiều hoạt động kinh tế - xã hội, quốc phòng của nhiều quốc gia trên thế giới GIS có khả năng trợ giúp các cơ quan chính phủ, các nhà quản lý, các doanh nghiệp, các cá nhân đánh giá được hiện trạng của các quá trình, các thực thể tự nhiên, kinh

tế -xã hội thông qua các chức năng thu thập, quản lý, truy vấn, phân tích và tích hợp các thông tin được gắn với một nền hình học (bản đồ) nhất quán trên cơ sở toạ độ của các dữ liệu đầu vào Với ý nghĩa sâu rộng của GIS thì việc làm thế nào áp dụng cho tốt, ứng dụng sao đem lại hiệu quả cao là một vấn đề cần lưu tâm

Mục tiêu của luận văn là tìm hiểu về xử lý song song, và qua đó vận dụng các kiến thức có được để đưa ra giải pháp, ứng dụng tính toán song song vào việc xử lý thông tin trong GIS, nhằm giải quyết các vấn đề về thời gian, hiệu quả xử lý hệ thống GIS khi dữ liệu đầu vào là tương đối lớn

Luận văn bao gồm 3 chương:

Chương 1: Khái quát về GIS và xử lý song song

Chương 2: Một số thuật toán song song ứng dụng trong GIS

Chương 3: Phát triển chương trình thử nghiệm thuật toán song song trong GIS

Trang 7

Hệ thống thông tin địa lý GIS có rất nhiều ứng dụng, nếu con người biết sử dụng và khai thác tiềm năng rộng lớn của nó thì GIS sẽ như lắp thêm đôi mắt, đôi tay, đôi cánh giúp con người nhìn thế giới trực quan hơn, chính xác hơn và nhanh chóng chinh phục được thế giới trong tiềm năng vốn có của mình

1.1.1 Lịch sử ra đời

Từ xa xưa con người đã biết cách biểu diễn các thông tin địa lý bằng cách thu nhỏ các sự vật theo một kích thước nào đó, rồi vẽ lên mặt phẳng Để đánh dấu các đặc tính của sự vật, người ta dùng các loại ký hiệu khác nhau như độ cao được biểu diễn bằng những đường bình độ, một số đối tượng được biểu thị bởi các loại màu sắc tương ứng hoặc bằng chú thích cùng các số hiệu đi kèm Sự biểu thị kết quả thể hiện các ý tưởng đó được gọi là bản đồ

Trên cơ sở của hệ thông tin bản đồ, những năm đầu của thập kỷ 60(1963-1964) các nhà khoa học Canada đã cho ra đời hệ thống thông tin địa lý hay còn gọi là GIS

Trang 8

4

(Geographical Information Systems - GIS) GIS kế thừa mọi thành tựu trong ngành bản đồ cả về ý tưởng lẫn thành tựu của kỹ thuật bản đồ GIS bắt đầu hoạt động cũng bằng việc thu thập dữ liệu theo định hướng tuỳ thuộc vào muc tiêu đặt ra Hệ thông tin đia lý (GIS) có thể hiểu một cách đơn giản là tập hợp các thông tin có liên quan đến các yếu tố địa lý một cách đồng bộ và logic

Trong những năm 70 ở Bắc Mỹ đã có sự quan tâm nhiều hơn đến việc bảo vệ môi trường và phát triển GIS Thời kỳ này hàng loạt thay đổi một cách thuận lợi cho

sự phát triển của GIS, đặc biệt là sự gia tăng ứng dụng của máy tính với kích thước

bộ nhớ và tốc độ tăng Chính những thuận lợi này mà GIS dần dần được thương mại hoá Năm 1977 đã có nhiều hệ thông tin địa lý khác nhau trên thế giới Bên cạnh GIS thời kỳ này còn phát triển mạnh mẽ các kỹ thuật xử lý ảnh viễn thám Một hướng nghiên cứu kết hợp giữa GIS và viễn thám được đặt ra

Thập kỷ 80 được đánh dấu bởi các nhu cầu sử dụng GIS ngày càng tăng với các quy mô khác nhau Người ta tiếp tục giải quyết những tồn tại của những năm trước mà nổi lên là vấn đề số hoá dữ liệu Thập kỷ này đánh dấu bởi sự nảy sinh các nhu cầu mới trong ứng dụng GIS như: theo dõi sử dụng tối ưu các nguồn tài nguyên, đánh giá khả thi các phương án quy hoạch, các bài toán giao thông… GIS trở thành một công cụ hữu hiệu trong công tác quản lý và trợ giúp quyết định

Những năm đầu của thập kỷ 90 được đánh dấu bằng việc nghiên cứu hoà nhập giữa viễn thám và GIS Các nước Bắc Mỹ và châu Âu thu được nhiều thành công trong lĩnh vực này Khu vực châu Á Thái Bình Dương cũng đã thành lập nhiều trung tâm nghiên cứu viễn thám và GIS Ở các nước như Trung Quốc, Nhật Bản, Thái Lan… đã chú ý nghiên cứu đến GIS chủ yếu vào lĩnh vực quản lý, đánh giá tài nguyên thiên nhiên và môi trường

Ở Việt Nam việc nghiên cứu và ứng dụng hệ thông tin địa lý cũng mới chỉ bắt đầu, và chỉ được triển khai ở những cơ quan lớn như tổng cục địa chính, trường Đại học mỏ Địa chất, Viện Điều tra quy hoạch rừng, Viện địa chất…Đồng thời mức

độ ứng dụng còn hạn chế, và mới chỉ có ý nghĩa nghiên cứu hoặc ứng dụng để giải quyết một số các nhiệm vụ trước mắt

Trang 9

5

Như vậy hầu hết các nước trên thế giới trong đó có Việt nam đều quan tâm nghiên cứu hệ thông tin địa lý và ứng dụng nó vào nhiều ngành, trong đó có ngành Lâm nghiệp Ngày nay, phần mềm GIS đang hướng tới đưa công nghệ GIS trở thành

hệ tự động thành lập bản đồ và xử lý dữ liệu ngày càng đạt hiệu quả cao về tốc độ và

độ chính xác

1.1.2 Định nghĩa GIS

Hiện nay có rất nhiều định nghĩa về GIS, nhưng chúng đều có điểm giống nhau như: bao hàm khái niệm dữ liệu không gian, phân biệt giữa hệ thông tin quản lý (Management Information System - MIS) và GIS Về khía cạnh của bản đồ học thì GIS là kết hợp của lập bản đồ trợ giúp máy tính và công nghệ cơ sở dữ liệu (CSDL)

So với bản đồ thì GIS có lợi thế là lưu trữ dữ liệu và biểu diễn chúng là hai công việc tách biệt nhau Do vậy GIS cho khả năng quan sát từ các góc độ khác nhau trên cùng tập dữ liệu

GIS là một bộ công cụ đầy sức mạnh để tuyển chọn, lưu trữ, phục hồi, chuyển đổi và hiển thị số liệu không gian từ thế giới thực đáp ứng cho một số mục đích cụ thể

Trang 10

Thao tác viên hệ thống (system operator) có trách nhiệm vận hành hệ thống hàng ngày để người sử dụng hệ thống làm việc hiệu quả Công việc của họ là sửa chữa khi chương trình bị tắc ngẽn hay là công việc trợ giúp nhân viên thực hiện các phân tích có độ phức tạp cao

Nhà cung cấp GIS (GIS supplier) có trách nhiệm cung cấp phần mềm, cập nhật phần mềm, phương pháp nâng cấp cho hệ thống Đôi khi tham gia huấn luyện người dùng GIS thông qua các hợp đồng với quản trị hệ thống

Nhà cung cấp dữ liệu (data supplier) có thể là tổ chức Nhà nước hay tư nhân Thông thường các công ty tư nhân cung cấp dữ liệu sửa đổi từ dữ liệu các cơ quan Nhà nước để cho phù hợp với ứng dụng cụ thể Thông thường các cơ quan Nhà

Trang 11

7

nước cung cấp dữ liệu được xây dựng cho chính nhu cầu của họ, nhưng dữ liệu này

có thể được sử dụng trong các cơ quan, tổ chức khác Một số dữ liệu này được bán với giá rẻ hay cho không tới các dự án GIS phi lợi nhuận

Người phát triển ứng dụng (application developer) là những lập trình viên được đào tạo Họ xây dựng các giao diện người dùng, làm giảm khó khăn khi thực hiện các thao tác cụ thể trên các hệ thống GIS chuyên nghiệp

Hình 1.2 Quản lý dự án GIS

Chuyên viên phân tích hệ thống GIS (GIS systems analysts) là nhóm người chuyên nghiên cứu thiết kế hệ thống Phần lớn họ là đội ngũ chuyên nghiệp, có trách nhiệm xác định mục tiêu của hệ GIS trong cơ quan, hiệu chỉnh hệ thống, đề xuất kỹ thuật phân tích đúng đắn, đảm bảo tích hợp thắng lợi hệ thống trong cơ quan

1.1.3.2 Dữ liệu

Với bất kỳ hệ thông tin nào cũng phải hiểu rõ các loại dữ liệu khác nhau lưu trữ trong chúng Dữ liệu (các biến) thống kê gắn theo các hiện tượng tự nhiên với mức độ chính xác khác nhau Hệ thống thước đo của chúng bao gồm các biến tên, số thứ tự, khoảng và tỷ lệ

Mỗi hệ GIS cần phải hiểu được dữ liệu trong các khuôn mẫu khác nhau, không chỉ hiểu khuôn mẫu dữ liệu riêng của hệ thống Thí dụ, đường biên bản đồ có thể trong khuôn mẫu tệp DXF của AutoCAD hay BNA của AtlasGIS Thông thường, GIS hiểu ngay khuôn mẫu DXF mà không cần sửa đổi nào Tương tự, GIS

Trang 12

8

phải hiểu ngay khuôn mẫu DBF của các thuộc tính được lưu trữ kèm theo Lý tưởng thì phần mềm GIS phải có khả năng đọc các khuôn mẫu dữ liệu raster (DEN, GIFF, TIFF, JPEG, EPS) và khuôn mẫu vectơ (TIGER, HPGL, DXF, Postscript, DLG) Với dữ liệu ba chiều, phần lớn phần mềm GIS trợ giúp lưới tam giác không đều (TIN) Một số khác trợ giúp cấu trúc raster trên cơ sở lưới bao gồm cây tứ phân và khả năng chuyển đổi toàn bộ hay một phần dữ liệu vào cấu trúc này Một vài phần mềm GIS chỉ trợ giúp khuôn mẫu riêng, chúng phụ thuộc vào nhà sản xuất phần mềm

1.1.3.3 Công cụ phần mềm

Một hệ thống GIS bao gồm nhiều môđun phần mềm Khả năng lưu trữ, quản lý

dữ liệu không gian bằng hệ quản trị CSDL địa lý là khía cạnh quan trọng nhất của GIS Các môđun khác là công cụ phân tích dữ liệu, làm báo cáo và truyền tin

Hình 1.3 Phần mềm của GIS

1.1.3.4 Giao diện người dùng

Giao diện đồ họa cho phép người dùng dễ dàng thực hiện các thao tác địa lý và các thao tác khác như truy nhập CSDL, làm báo cáo

1.1.3.5 Phần cứng

Ngày nay, có thể tìm thấy GIS trên mọi loại hình máy tính, từ máy tính cá nhân đến các trạm làm việc và máy tính đa người dùng GIS đòi hỏi các thiết bị ngoại vi

Trang 13

9

đặc biệt như bàn số hóa, máy vẽ, máy quét ảnh để vào/ra dữ liệu Các thiết bị này có thể được nối với nhau thông qua thiết bị truyền tin hay mạng cục bộ

Hình 1.4 Phần cứng GIS

1.1.4 Tổng quan các chức năng của hệ thống thông tin địa lý

Phần này mô tả các khả năng của bộ chương trình GIS thương mại Các chức năng của chúng được phân chia thành năm loại sau đây:

- Thu thập dữ liệu

- Xử lý sơ bộ dữ liệu

- Lưu trữ và truy nhập dữ liệu

- Tìm kiếm và phân tích không gian

- Hiển thị đồ họa và tương tác

Sức mạnh của các chức năng của hệ thống GIS khác nhau là khác nhau Kỹ thuật xây dựng các chức năng trên cũng rất khác nhau Hình 1.5 mô tả quan hệ giữa các nhóm chức năng và cách biểu diễn thông tin khác nhau của GIS

Chức năng thu thập dữ liệu tạo ra dữ liệu từ các quan sát hiện tượng thế giới thực

và từ các tài liệu, bản đồ giấy, đôi khi chúng có sẵn dưới dạng số Kết quả ta có tập

"dữ liệu thô", có nghĩa là dữ liệu này không được phép áp dụng trực tiếp cho chức năng truy nhập và phân tích của hệ thống Chức năng xử lý sơ bộ dữ liệu sẽ biến đổi

dữ liệu thô thành dữ liệu có cấu trúc để sử dụng trực tiếp các chức năng tìm kiếm và

Trang 14

10

phân tích không gian Kết quả tìm kiếm và phân tích được xem như diễn giải dữ liệu, đó là tổ hợp hay biến đổi đặc biệt của dữ liệu có cấu trúc Hệ thống GIS phải có phần mềm công cụ để tổ chức và lưu trữ các loại dữ liệu khác nhau, từ dữ liệu thô đến dữ liệu diễn giải Phần mềm công cụ này phải có các thao tác lưu trữ, truy nhập; đồng thời có khả năng hiển thị, tương tác đồ họa với tất cả loại dữ liệu

Hình 1.5 Các nhóm chức năng trong GIS

1.1.4.1 Thu thập dữ liệu

Thu thập dữ liệu là tiến trình thu nhận dữ liệu theo khuôn mẫu áp dụng được cho GIS Mức độ đơn giản nhất của thu thập dữ liệu là chuyển đổi khuôn mẫu dữ liệu có sẵn từ các nguồn bên ngoài Trong trường hợp này, GIS phải có môđun chương trình hiểu được các khuôn mẫu dữ liệu chuẩn khác nhau để trao đổi như DLG, DXF hay các dữ liệu là đầu ra của các hệ thống GIS khác như MapInfo,

Trang 15

11

Arc/Info GIS còn phải có khả năng nhập các ảnh bản đồ trong các khuôn mẫu như TIFF, GIF Thực tế, nhiều kỹ thuật trắc đạc được áp dụng để thu thập dữ liệu thô Chúng bao gồm thu thập dữ liệu về bề mặt Trái đất như địa hình, địa chất học và thảm thực vật nhờ trắc đạc bằng vệ tinh và máy bay Các dữ liệu kinh tế - xã hội thu thập từ điều tra, phỏng vấn hay chuyển đổi từ các tài liệu viết Những bản đồ vẽ bằng tay trên giấy phải được số hóa Việc sử dụng dữ liệu ảnh từ vệ tinh hay ảnh chụp từ máy bay được xem là nguồn dữ liệu quan trọng nhất khi nghiên cứu tài nguyên thiên nhiên và đo vẽ bản đồ địa hình Phần lớn các ảnh vệ tinh sử dụng trong GIS có độ phân giải mặt đất từ 10-80m Chúng đặc biệt hiệu quả khi nghiên cứu các biến môi trường như thảm cỏ hay hệ thống thủy lợi, nhưng chúng chỉ được ứng dụng cho bản đồ địa hình với tỷ lệ 1:50000 hay nhỏ hơn Còn ảnh máy bay sẽ cho số liệu chính xác hơn và được áp dụng để lập bản đồ tỷ lệ lớn hơn, thí dụ tỷ lệ 1:500 hay 1:1000

Phần lớn nguồn gốc thông tin không gian là các bản đồ in hay bản đồ dưới khuôn mẫu tương tự Để các dữ liệu này được sử dụng trong GIS thì phải số hóa chúng Các công việc này có thể là số hóa thủ công các hình dạng đặc trưng bản đồ

và nhập thuộc tính mô tả các đặc trưng đó Cách tiếp cận với mức tự động hóa cao hơn là số hóa bản đồ bằng máy quét để phát sinh ra ảnh số bản đồ đầy đủ Đầu ra của máy quét là ma trận của các giá trị điểm ảnh 2D, nó có thể được sử dụng cho công việc vectơ hóa để tạo ra bản đồ vectơ với các đặc trưng điểm, đường, vùng hay

xâu ký tự Trình tự số hóa bao gồm mã hóa dữ liệu, kiểm chứng và sửa lỗi để có

được dữ liệu phù hợp với GIS Nói chung, công đoạn thu thập dữ liệu không gian là nhiệm vụ khó khăn, nặng nề nhất trong quá trình xây dựng ứng dụng GIS

1.1.4.2 Xử lý dữ liệu thô

Hai khía cạnh chính của xử lý dữ liệu thô bao gồm:

- Phát sinh dữ liệu có cấu trúc tôpô

- Trường hợp dữ liệu ảnh vệ tinh thì phải phân lớp các đặc trưng trong ảnh thành các hiện tượng quan tâm

Trang 17

13

Hình 1.6 Xử lý dữ liệu thô

Một số công cụ phân tích của GIS phụ thuộc chặt chẽ vào mô hình dữ liệu raster, do vậy nó đòi hỏi quá trình biến đổi mô hình dữ liệu vectơ sang dữ liệu raster, hay còn gọi là raster hóa (hình 1.6c) Biến đổi từ raster sang mô hình vectơ, hay còn gọi là vectơ hóa, đặc biệt cần thiết khi tự động quét ảnh (hình 1.6d) Raster hóa là tiến trình chia đường hay vùng thành các tế bào Ngược lại, vectơ hóa là tập hợp các

tế bào (pixel) để tạo thành đường hay vùng Nếu dữ liệu raster không có cấu trúc tốt, thí dụ ảnh vệ tinh, thì việc nhận dạng mẫu sẽ rất phức tạp

Thủ tục biến đổi các đối tượng rời rạc trong khuôn mẫu vectơ sang các tế bào vuông của mô hình raster là rõ ràng, nhưng thủ tục biến đổi điểm dữ liệu có vị trí tùy

ý thành lưới đều sẽ ít chính xác (hình 1.6e) Lấy mẫu lại các điểm phân tán không đều có thể thực hiện bằng các kỹ thuật nội suy Có nghĩa là mô hình hóa dữ liệu

Trang 18

lại khá đơn giản, nó là tái phân lớp để tổ hợp một vài lớp thành lớp ít chi tiết hơn

hay tổng quát hơn (hình 1.6g) Thí dụ, trên bản đồ biên loại đất hay bản đồ địa chất, một vài vùng con bên trong được loại bỏ để tạo ra các đa giác lớn hơn Kết quả là chúng có thể được nhận biết nhờ thao tác phân lớp ở mức cao hơn

Vấn đề lớn nảy sinh khi tích hợp dữ liệu bản đồ (thí dụ, bản đồ của các nước khác nhau) là hệ thống tọa độ của chúng được đo vẽ trên cơ sở nhiều phép chiếu bản

đồ khác nhau Các dữ liệu này không thể tích hợp trên cùng bản đồ nếu không biến đổi chúng về cùng hệ trục tọa độ Bước thứ nhất của biến đổi tọa độ là từ dữ liệu gốc hay dữ liệu vừa số hóa sang đơn vị đo thế giới thực của phép chiếu bản đồ Đây là phần việc rất quan trọng của tiến trình thu thập dữ liệu bằng cách số hóa bản đồ giấy

có sẵn

1.1.4.3 Lưu trữ và truy cập dữ liệu

Chức năng lưu trữ dữ liệu trong GIS liên quan đến tạo lập CSDL không gian Nội dung của CSDL này có thể bao gồm tổ hợp dữ liệu vectơ hoặc/và dữ liệu raster,

dữ liệu thuộc tính để nhận danh hiện tượng tham chiếu không gian Thông thường

dữ liệu thuộc tính của GIS trên cơ cở đối tượng được lưu trong bảng (tệp), chúng chứa chỉ danh duy nhất tương ứng với đối tượng không gian, kèm theo rất nhiều mục dữ liệu thuộc tính khác nhau Chỉ danh đối tượng không gian duy nhất được dùng để liên kết giữa dữ liệu thuộc tính và dữ liệu không gian tương ứng Đôi khi mục dữ liệu trong bảng thuộc tính bao gồm cả giá trị không gian như độ dài đường, diện tích vùng mà chúng đã dược dẫn xuất từ biểu diễn dữ liệu hình học (hình 1.7) Trong mô hình dữ liệu raster thì các tệp thuộc tính thông thường chứa dữ liệu liên quan đến lớp hiện tượng tự nhiên như loại đất, thảm thực vật thay cho đối tượng rời

Trang 19

15

rạc Việc lựa chọn mô hình raster hay vectơ để tổ chức dữ liệu không gian được thực hiện khi thu thập dữ liệu vì mỗi mô hình tương ứng với cách tiệm cận khác nhau đến việc lấy mẫu và mô tả thông tin Tuy nhiên rất nhiều CSDL của GIS cho khả năng quản trị cả hai mô hình không gian nói trên Khi xây dựng CSDL không gian thì cần phải liên kết bảng dữ liệu liên quan đến hiện tượng tự nhiên tương ứng

Một số hệ thống GIS được sử dụng rộng rãi, thí dụ Arc/Info, xây dựng CSDL trên cơ sở tổ hợp các mô hình sau:

- Mô hình quan hệ quản lý thuộc tính phi hình học

- Lược đồ chuyên dụng, phi quan hệ để lưu trữ, xử lý dữ liệu không gian

Hình 1.7 Liên kết dữ liệu thuộc hình học

Một vài GIS khác đã lợi dụng các phương tiện của lược đồ lưu trữ CSDL quan

hệ để quản lý cả hai loại dữ liệu: hình học và phi hình học

Phương tiện truy nhập trong CSDL GIS cần bao gồm cả phương tiện có sẵn của CSDL quan hệ chuẩn, thí dụ, trích chọn dữ liệu đã lưu trữ trên cơ sở một thuộc tính nào đó như tên hay lớp hiện tượng (thành phố, vùng hành chính, loại đường quốc

lộ ) Chúng còn có khả năng xây dựng câu hỏi truy vấn (query) để tìm thông tin mà

giá trị của nó bằng hay nằm trong khoảng xác định (dân số trên 50000, số người trên

Trang 20

1.1.4.4 Tìm kiếm và phân tích không gian

Việc thu thập, lưu trữ dữ liệu trong GIS là để nhằm sử dụng vào giải quyết các vấn đề hay lập quyết định liên quan tới ứng dụng cụ thể Rất nhiều hệ GIS bao hàm hay có liên quan đến việc mô hình hóa dữ liệu và các chức năng thống kê chuyên dụng cho loại ứng dụng nào đó Tuy nhiên, cốt lõi chung nhất của GIS phải đáp ứng đòi hỏi của mọi ứng dụng

1.1.5 Các ứng dụng phổ biến của GIS

Vì GIS được thiết kế như một hệ thống chung để quản lý dữ liệu không gian,

nó có rất nhiều ứng dụng trong việc phát triển đô thị và môi trường tự nhiên như là: quy hoạch đô thị, quản lý nhân lực, nông nghiệp, điều hành hệ thống công ích, lộ trình, nhân khẩu, bản đồ, giám sát vùng biển, cứu hoả và bệnh tật Trong phần lớn lĩnh vực này, GIS đóng vai trò như là một công cụ hỗ trợ quyết định cho việc lập kế hoạch hoạt động

Môi trường

Trang 21

17

Theo những chuyên gia GIS kinh nghiệm nhất thì có rất nhiều ứng dụng đã phát triển trong những tổ chức quan tâm đến môi trường Với mức đơn giản nhất thì người dùng sử dụng GIS để đánh giá môi trường, ví dụ như vị trí và thuộc tính của cây rừng Ứng dụng GIS với mức phức tạp hơn là dùng khả năng phân tích của GIS

để mô hình hóa các tiến trình xói mòn đất sư lan truyền ô nhiễm trong môi trường khí hay nước, hoặc sự phản ứng của một lưu vực sông dưới sự ảnh hưởng của một trận mưa lớn Nếu những dữ liệu thu thập gắn liền với đối tượng vùng và ứng dụng

sử dụng các chức năng phân tích phức tạp thì mô hình dữ liệu dạng ảnh (raster) có khuynh hướng chiếm ưu thế

Khí tƣợng thuỷ văn

Trong lĩnh vực này GIS được dùng như là một hệ thống đáp ứng nhanh, phục

vụ chống thiên tai như lũ quét ở vùng hạ lưu, xác định tâm bão, dự đoán các luồng chảy, xác định mức độ ngập lụt, từ đó đưa ra các biện pháp phòng chống kịp thời

vì những ứng dụng này mang tính phân tích phức tạp nên mô hình dữ liệu không gian dạng ảnh (raster) chiếm ưu thế

Nông nghiệp

Những ứng dụng đặc trưng: Giám sát thu hoạch, quản lý sử dụng đất, dự báo

về hàng hoá, nghiên cứu về đất trồng, kế hoạch tưới tiêu, kiểm tra nguồn nước

Dịch vụ tài chính

GIS được sử dụng trong lĩnh vực dịch vụ tài chính tương tự như là một ứng dụng đơn lẻ Nó đã từng được áp dụng cho việc xác định vị trí những chi nhánh mới

Trang 22

18

của Ngân hàng Hiện nay việc sử dụng GIS đang tăng lên trong lĩnh vực này, nó là một công cụ đánh giá rủi ro và mục đích bảo hiểm, xác định với độ chính xác cao hơn những khu vực có độ rủi ro lớn nhất hay thấp nhất Lĩnh vực này đòi hỏi những

dữ liệu cơ sở khác nhau như là hình thức vi phạm luật pháp, địa chất học, thời tiết và giá trị tài sản

Y tế

Ngoại trừ những ứng dụng đánh gía, quản lý mà GIS hay được dùng, GIS còn

có thể áp dụng trong lĩnh vực y tế Ví dụ như, nó chỉ ra được lộ trình nhanh nhất giữa vị trí hiện tại của xe cấp cứu và bệnh nhân cần cấp cứu, dựa trên cơ sở dữ liệu giao thông GIS cũng có thể được sử dụng như là một công cụ nghiên cứu dịch bệnh

để phân tích nguyên nhân bộc phát và lây lan bệnh tật trong cộng đồng

Chính quyền địa phương

Chính quyền địa phương là một trong những lĩnh vực ứng dụng rộng lớn nhất của GIS, bởi vì đây là một tổ chức sử dụng dữ liệu không gian nhiều nhất Tất cả các

cơ quan của chính quyền địa phương có thể có lợi từ GIS GIS có thể được sử dụng trong việc tìm kiếm và quản lý thửa đất, thay thế cho việc hồ sơ giấy tờ hiện hành Nhà cầm quyền địa phương cũng có thể sử dụng GIS trong việc bảo dưỡng nhà cửa

và đường giao thông GIS còn được sử dụng trong các trung tâm điều khiển và quản

lý các tình huống khẩn cấp

Bán lẻ

Phần lớn siêu thị vùng ngoại ô được xác định vị trí với sự trợ giúp của GIS GIS thường lưu trữ những dữ liệu về kinh tế-xã hội của khách hàng trong một vùng nào đó Một vùng thích hợp cho việc xây dựng môt siêu thị có thể được tính toán bởi thời gian đi đến siêu thị, và mô hình hoá ảnh hưởng của những siêu thị cạnh tranh GIS cũng được dùng cho việc quản lý tài sản và tìm đường phân phối hàng ngắn nhất

Giao thông

Trang 23

19

GIS có khả năng ứng dụng đáng kể trong lĩnh vực vận tải Việc lập kế hoạch

và duy trì cở sở hạ tầng giao thông rõ ràng là một ứng dụng thiết thực, nhưng giờ đây có sự quan tâm đến một lĩnh vực mới là ứng dụng định vị trong vận tải hàng hải,

và hải đồ điện tử Loại hình đặc trưng này đòi hỏi sự hỗ trợ của GIS

Các dịch vụ điện, nước, gas, điện thoại

Những công ty trong lĩnh vực này là những người dùng GIS linh hoạt nhất, GIS được dùng để xây dựng những cơ sở dữ liệu là cái thường là nhân tố của chiến lược công nghệ thông tin của các công ty trong lĩnh vự này Dữ liệu vecto thường được dùng trong các lĩnh vực này những ứng dụng lớn nhất trong lĩnh vực này là Automated Mapping và Facility Management (AM-FM) AM-FM được dùng để quản lý các đặc điểm và vị trí của các cáp, valve Những ứng dụng này đòi hỏi những bản đồ số với độ chính xác cao

Một tổ chức dù có nhiệm vụ là lập kế hoạch và bảo dưỡng mạng lưới vận chuyền hay là cung cấp các dịch vụ về nhân lực, hỗ trợ cho các chương trình an toàn công cộng và hỗ trợ trong các trường hợp khẩn cấp, hoặc bảo vệ môi trường, thì công nghệ GIS luôn đóng vai trò cốt yếu bằng cách giúp cho việc quản lý và sử dụng thông tin địa lý một cách hiệu quả nhằm đáp ứng các yêu cầu hoạt động và mục đích chương trình của tổ chức đó

Trang 24

20

1.2 Tổng quan về xử lý song song

1.2.1 Tại sao phải xử lý song song

Yêu cầu thực tế cần thực hiện khối lượng tính toán lớn: bài toán xử lý ảnh 3D, thăm

dò dầu khí, dự báo thời tiết, (máy tính xử lý tuần tự kiểu von Neumann là không

đáp ứng yêu cầu)

Hình 1.7 Xử lý tuần tự

Tốc độ xử lý của các bộ xử lý(BXL) theo kiểu von Neumann đã dần tiến tới giới hạn, không thể cải tiến thêm được do vậy dẫn tới đòi hỏi phải thực hiện xử lý song song

Hiện nay giá thành của phần cứng (CPU) giảm mạnh, tạo điều kiện để xây dựng những hệ thống có nhiều BXL với giá thành hợp lý

Sự phát triển của công nghệ mạch tích hợp (VLSI) cho phép tạo ra những hệ thống

có hàng triệu transistor trên một chip

Xử lý song song là quá trình xử lý gồm nhiều tiến trình được kích hoạt đồng thời và cùng tham gia giải quyết một bài toàn, nói chung xử lý song song được thực hiện trên những hệ thống đa bộ xử lý

1.2.2 Phân biệt xử lý song song

Trong tính toán tuần tự với một BXL thì tại mỗi thời điểm chỉ thực hiện được một phép toán

Trang 25

21

Trong tính toán song song thì nhiều BXL cùng kết hợp với nhau để giải quyết cùng một bài toán cho nên giảm được thời gian xử lý vì mỗi thời điểm có thể thực hiện đồng thời nhiều phép toán

1.2.3 Mục đích của xử lý song song

Là thực hiện tính toán nhanh trên cơ sở sở dụng nhiều BXL đồng thời Cùng với tốc độ xử lý nhanh hơn, việc xử lý song song cũng sẽ giải được những bài toán phức tạp yêu cầu khối lượng tính toán lớn

Hình 1.8 Xử lý song song

1.2.4 Kiến trúc máy tính

1.2.4.1 Kiến trúc máy tính kiểu Voneument

Von Neumann computer có các đặc điểm sau:

- Bộ nhớ được dùng để lưu trữ chương trình và dữ liệu

- Chương trình được mã hoá (code) để máy tính có thể hiểu được

- Dữ liệu là những thông tin đơn giản được sử dụng bởi chương trình

- CPU nạp (fetch) những lệnh và dữ liệu từ bộ nhớ, giải mã (decode) và thực hiện tuần tự chúng

Máy tính kiểu V.Neumann được xây dựng từ các khối cơ sở:

- Bộ nhớ: để lưu trữ dữ liệu

- Các đơn vị logic và số học ALU: thực hiện các phép toán

- Các phần tử xử lý:điều khiển CU và truyền dữ liệu I/O

- Đường truyền dữ liệu: BUS

Trang 26

22

1.2.4.2 Phân loại máy tính song song

Theo Michael Flynn, dựa vào các đặc tính về số lượng BXL, số chương trình thực hiện, cấu trúc bộ nhớ ông phân chia ra làm 4 loại sau:

- SISD: Single Instruction Stream, Single Data Stream

(Đơn luồng lệnh, đơn luồng dữ liệu )

- SIMD: Single Instruction Stream, Multiple Data Stream

(Đơn luồng lệnh, đa luồng dữ liệu )

- MISD: Multiple Instruction Stream, Single Data Stream

( Đa luồng lệnh, đơn luồng dữ liệu )

- MIMD: Multiple Instruction Stream, Multiple Data Stream

( Đa luồng lệnh, đa luồng dữ liệu )

a Mô hình SISD -Đơn luồng lệnh, đơn luồng dữ liệu

Đặc điểm:

- Chỉ có 1 CPU

- Ở mỗi thời điểm chỉ thực hiện một lệnh và chỉ đọc/ghi một mục dữ liệu

- Có một thanh ghi gọi là bộ đếm chương trình, được sử dụng để nạp câu lênh tiếp theo khi xử lý tuần tự

- Các câu lệnh được thực hiện theo một thứ tự nhất định

Hình 1.9 Mô hình SISD

b Mô hình SIMD -Đơn luồng lệnh, đa luồng dữ liệu

Đặc điểm:

Trang 27

23

- Có một đơn vị điều khiển (CU) để điều khiển nhiều đơn vị xử lý (PE)

- CU phát sinh tín hiệu điều khiển đến các đơn vị xử lý

- Đơn luồng lệnh: các đơn vị xử lý thực hiện cùng một lệnh trên các mục dữ liệu khác nhau

- Đa luồng dữ liệu: mỗi đơn vị xử lý có luồng dữ liệu riêng

- Đây là kiểu tính toán lặp lại các đơn vị số học trong CPU, cho phép những đơn vị khác nhau thực hiện trên những toán hạng khác nhau, nhưng thực hiện cùng một lệnh

- Máy tính SIMD có thể hỗ trợ xử lý kiểu vector, trong đó có thể gán các phần tử của vector cho các phần tử xử lý để tính toán đồng thời

Hình 1.10 Mô hình kiến trúc SIMD với bộ nhớ phân tán

c Mô hình MISD –Đa luồng lệnh, Đơn luồng dữ liệu

Đặc điểm:

- Đa luồng lệnh: có thể thực hiện nhiều lệnh trên cùng một mục dữ liệu

- Đơn luồng dữ liệu: các PU xử lý trên cùng một luồng dữ liệu

Kiến trúc kiểu này có thể chia làm 2 nhóm:

- Các máy tính yêu cầu mỗi đơn vị xử lý (PU) nhận những lệnh khác nhau để thực hiện trên cùng một mục dữ liệu

- Các máy tính có các luồng dữ liệu được chuyển tuần tự theo dãy các CPU liên tiếp-gọi là kiến trúc hình ống-xử lý theo vector thông qua một dãy các bước, trong đó mỗi bước thực hiện một chức năng và sau đó chuyển kết quả cho PU thực

hiện bước tiếp theo

Trang 28

24

Hình 1.11 Mô hình kiến trúc MISD

d Mô hình MIMD -Đa luồng lệnh, đa luồng dữ liệu

- Đây là kiến trúc phức tạp nhất, nhưng nó là mô hình hỗ trợ xử lý song song cao nhất

- Các máy tính được sản xuất theo kiến trúc này: BBNButterfly, AlliantFX, iSPC của Intel

Hình 1.12 Mô hình MIMD -Đa luồng lệnh, đa luồng dữ liệu

Theo Flynn: có hai họ kiến trúc quan trọng cho các máy tính song song: SIMD

và MIMD Những kiến trúc khác có thể xếp theo hai mẫu đó

Trang 29

25

Mục tiêu của xử lý song song là khai thác đến mức tối đa các khả năng sử dụng của các thiết bị phần cứng nhằm giải quyết nhanh những bài toán đặt ra trong thực

tế

Kiến trúc phần cứng là trong suốt đối với người lập trình

Trong kiến trúc tuần tự có thể tận dụng tốc độ cực nhanh của BXL để thực hiện xử lý song song theo nguyên lý chia sẻ thời gian và chia sẻ tài nguyên

Những chương trình song song trên máy đơn BXL có thể thực hiện được nếu có HĐH cho phép nhiều tiến trình cùng thực hiện, nghĩa là có thể xem hệ thống như là

đa bộ xử lý

1.2.4.3 Song song hoá trong máy tính tuần tự

a Đa đơn vị chức năng:

- Các máy tính truyền thống chỉ có một đơn vị số học và logic (ALU) trong BXL Ở mỗi thời điểm nó chỉ có thể thực hiện một chức năng

- Máy tính song song có nhiều đơn vị xử lý(PE) Những đơn vị này có thể cùng nhau thực hiện song song Ví dụ: máy CDC6600(1964) có 10 PE được tổ chức trong một BXL Những đơn vị chức năng này độc lập với nhau và có thể thực hiện đồng thời

- Xây dựng bộ lập lịch tối ưu để phân chia các câu lệnh thực hiện sao cho tận dụng được tối đa các đơn vị xử lý cũng như các tài nguyên của máy tính

b Xử lý theo nguyên lý hình ống trong CPU

Các câu lệnh đƣợc chia thành các giai đoạn:

- Tại một thời điểm có thể nhiều lệnh được tải vào và được thực hiện trong các

bước khác nhau

- Các giai đoạn thực hiện khác nhau của mỗi câu lệnh có thể được thực hiện gối đầu nhau

- Đầu ra của giai đoạn này có thể là đầu vào của giai đoạn tiếp theo

- Thực hiện theo nguyên lý hình ống sẽ hiệu quả hơn vì không cần dùng vùng

đệm dữ liệu

Trang 30

26

Hình 1.13 Mô tả nguyên lý hình ống

c Sự gối đầu CPU và các thao tác vào/ra (I/O)

- Các phép vào/ra có thể thực hiện đồng thời đối với nhiều nhiệm vụ tính toán khác nhau bằng cách sử dụng những bộ điều khiển vào/ra, các kênh hay những BXL vào/ra khác nhau

- Nhiều máy tính hiện nay có nhiều bộ điều khiển thiết bị vào/ra, cho phép đa

xử lý vào/ra làm tăng được tốc độ trao đổi dữ liệu giữa các thiết bị ngoài với CPU

d Các hệ thống bộ nhớ phân cấp

- Do tốc độ thực hiện các phép toán trong BXL nhanh hơn rất nhiều việc đọc

dữ liệu vào bộ nhớ trong

- Các thanh ghi được sử dụng trực tiếp cho ALU nên bộ nhớ cache được xem như vùng đệm giữa BXL và bộ nhớ chính

- Khi dữ liệu được chuyển từ bộ nhớ cache vào bộ nhớ chính thì đồng thời có thể chuyển dữ liệu từ cache vào cho CPU xử lý

Trang 31

27

Hình 1.14 Sự gối đầu CPU và các thao tác vào/ra (I/O)

e Đa chương trình và chia sẻ thời gian

Thực hiện song song dựa vào hệ điều hành đa nhiệm, phần mềm đa luồng, đa tiến trình

Hệ điều hành đa nhiệm thường giải quyết các trường hợp:

- Trong cùng một khoảng thời gian, có nhiều tiến trình cùng truy cập vào dữ

liệu từ thiết bị vào/ra chung

- Một tiến trình tính toán với cường độ cao có thể tạm thời chiếm dụng CPU để làm việc, trong khi một tiến trình khác trước đó không đòi hỏi phải kết thúc công việc sớm phải ngưng lại

- Bộ lập lịchchia sẻ thời gian làm nhiệm vụ phân chia CPU cho mỗi tiến trình một khoảng thời gian cố định

- Tạo các BXL ảo: mỗi tiến trình được cung cấp một môi trường được xem như

một BXL để thực hiện riêng cho tiến trình đó

1.2.4.4 Một số vấn đề cần quan tâm trong kiến trúc MTSS

Thiết kế cấu hình mạng: tập trung vào việc kết nối giữa BXL với BXL, giữa

BXL với bộ nhớ trong hệ thống Cấu hình tôpô của mạng kết nối là vấn đề rất quan trọng trong thiết kế hệ thống song song

Trang 32

28

Phân đoạn( Partitioning): xác định mức độ song song trong các thuật toán để

xác định được các luồng xử lý đồng thời Sự phân đoạn có thể thể hiện ở nhiều mức khác nhau: mức lệnh, mức thủ tục, hoặc mức chương trình, v.v

Đảm bảo tin cậy (Reliability): nếu có một BXL nào đó không thực hiện được

công việc đảm nhiệm thì một BXL khác sẽ được thay thế để đảm bảo trong mọi tình huống công việc chung vẫn được hoàn thành

Trang 33

29

CHƯƠNG 2: MỘT SỐ THUẬT TOÁN XỬ LÝ SONG

SONG ỨNG DỤNG TRONG GIS

2.1 Tại sao lại áp dụng xử lý song song trong GIS

2.1.1 Ý nghĩa thực tiễn của xử lý song song

Việc tính toán hiệu năng cao là xu hướng chung của công nghệ thế giới Phần cứng cải tiến đáng kể hiệu năng tính toán của phần cứng của mình với việc phát triển phần cứng, gần đây là sự phát triển đa lõi (multi core) cũng như việc siêu phân luồng dữ liệu Mở ra những khunh hướng phát triển xử lý một cách song song hóa Bên cạnh sự sự phát triển của phần cứng thì phần mềm cũng phát triển mạnh mẽ với các thư viện cung cấp hỗ trợ lập trình xử lý song song, các ứng dụng viết song song hóa ngày càng phổ biến Bên cạnh đó là việc nghiên cứu phát triển mạnh các mô hình xử lý tiên tiến trên nền tảng xử lý song song (Grid Computing, Cluster

Computing, Distributed Computing, Cloud Computing, … )

Việc xử lý song song trên các hệ thống dữ liệu phù hợp đem lại rất nhiều lợi ích:

- Nâng cao tốc độ tính toán, xử lý dữ liệu

- Đáp ứng nhu cầu lớn hơn của con người, giả quyết được những bài toán khó hơn

- Dung thứ lỗi với những hệ thống đa máy song song

- Khai thác tốt sự dư thừa tài nguyên tính toán

2.1.2 Đặc điểm riêng của GIS

CSDL bao gồm các dữ liệu địa lý và các dữ liệu thuộc tính (các dữ liệu chữ

-số, dữ liệu multimedia ) và mối quan hệ giữa hai loại dữ liệu này

Hệ thống thông tin đầu vào và hệ thống hiển thị thông tin đòi hỏi những đặc thù riêng về độ chính xác

Mỗi hệ GIS có đặc thù của riêng mình, song để thực hiện tốt việc xử lý đầu vào cũng như, xử lý dữ liệu trong CSDL của GIS đạt hiệu năng cao thì không hề

Trang 34

2.2 Xây dựng thuật toán xử lý song song ứng dụng trong GIS

Đối với bất kỳ một hệ thống dữ liệu nào thì việc xây dựng thuật toán áp dụng riêng cho nó là cực kỳ quan trọng quyết định phần lớn tính hiệu quả thực hiện chương trình của hệ thông

Để xây dựng tốt thuật toán xử lý song song thì điều cần thiết phải hiểu nguyên

lý xây dựng, thiết kế thuật toán song song, cần hiểu được việc áp dụng và đánh giá giải thuật song song

2.2.1 Nguyên lý thiết kế thuật toán song song(TTSS)

Những thuật toán, trong đó có một số thao tác có thể thực hiện đồng thời được

gọi là thuật toán song song.

Tổng quát, thuật toán song song là một tập các tiến trình (process) hoặc các

tác vụ (task) có thể thực hiện đồng thời và có thể trao đổi dữ liệu với nhau để kết hợp cùng giải một bài toán đặt ra

Trang 35

31

Các nguyên lý cơ bản trong thiết kế thuật toán song song

a Nguyên lý lập lịch:

Giảm tối thiểu các bộ xử lý sử dụng trong thuật toán sao cho thời gian tính toán

là không tăng (xét theo khía cạnh độ phức tạp) Nghĩa là, nếu độ phức tạp tính toán của thuật toán là O(f(n)) thì thời gian thực hiện của chương trình có thể tăng khi số

bộ xử lý giảm, và thời gian tính toán tổng thể tăng lên một hằng số nào đó nhưng vẫn là O(f(n))

d Nguyên lý đồ thị phụ thuộc dữ liệu:

Phân tích mối quan hệ dữ liệu trong tính toán để xây dựng đồ thị phụ thuộc dữ liệu và dựa vào đó để xây dựng thuật toán song song

e Nguyên lý điều kiện tương tranh:

Nếu hai tiến trình cùng muốn truy cập vào cùng một mục dữ liệu chia sẻ thì chúng phải tương tranh với nhau, nghĩa là chúng có thể cản trở lẫn nhau

Ngoài ra khi thiết kế TTSS cần phải quan tâm

- Cấu hình tôpô liên kết mạng: cũng một thuật toán song song cài đặt trên hai máy tính có cấu hình tôpô liên kết mạng khác nhau thì có thể có độ phức tạp khác nhau

Ví dụ: DAP là máy tính kiểu SIMD với 64*64 bộ xử lý, thời gian nhân ma trận là

tuyến tính theo kích cỡ của ma trận và phụ thuộc vào đường truyền dữ liệu giữa các hang với cột

- Nhiều thuật toán song song được thiết kế dựa trên những kiến thức về kiến trúc máy tính, ngôn ngữ lập trình song song và các phương pháp tính toán

Trang 36

32

2.2.2 Các cách tiếp cận thiết giải thuật song song và đánh giá giải thuật song song

a Các cách tiếp cận thiết kế giải thuật song song

Có ba cách tiếp cận để thiết kế thuật toán song song:

1 Thực hiện song song hoán hững thuật toán tuần tự, biến đổi những cấu trúc tuần tự để tận dụng được những khả năng song song tự nhiên của tất cả các thành phần trong hệ thống xử lý

2 Thiết kế những thuật toán song song mới phù hợp với kiến trúc song song

3 Xây dựng những thuật toán song song từ những thuật toán song song đã được xây dựng cho phù hợp với cấu hình tôpô và môi trường song song thực tế

Chú ý: Khi chuyển một thuật toán tuần tự sang thuật toán song song hoặc chuyển

một thuật toán song song thích hợp với kiến trúc đang có Cần trả lời hai câu hỏi:

1 Kiến trúc nào phù hợp cho bài toán?

2 Những bài toán loại nào sẽ xử lý hiệu quả trong kiến trúc song song cho trước?

b Phân tích đánh giá giải thuật song song

Độ phức tạp tính toán của thuật toán song song không chỉ phụ thuộc vào kích

cỡ của dữ liệu đầu vào, mà còn phụ thuộc vào kiến trúc máy tính song song và số lượng các bộ xử lý được sử dụng trong hệ thống

Độ phức tạp theo thời gian của thuật toán sử dụng p bộ xử lý để giải một bài toán có kích cỡ n là hàm f(n,p) xác định thời gian cực đại giữa thời điểm bắt đầu thực hiện thuật toán bởi một bộ xử lý và thời điểm kết thúc của các bộ xử lý đối với

bộ dữ liệu vào bất kỳ

Có hai loại phép toán khác nhau trong các thuật toán song song:

-Các phép toán cơ sở như +, -, *, /, AND, OR, v.v

-Các phép toán truyền dữ liệu trên các kênh truyền

Các định nghĩa:

a Định nghĩa 1

Trang 37

33

Một thuật toán song song có độ phức tạp tính toán O(T) với P bộ xử lý khi nó

thực hiện nhiều nhất là O(T* P) phép toán cơ sở( giới hạn số lượng phép toán cơ sở

được thực hiện của một thuật toán có độ phức tạp cho trước)

b Định nghĩa 2

Một thuật toán song song có độ phức tạp tính toán O(T) sử dụng nhiều bộ xử

lý để thực hiện O(e) phép toán cơ sở thì khi cài đặt với P bộ xử lý sẽ có độ phức tạp thời gian là O([e/P]+ T)

Định nghĩa 2 chỉ ra rằng khi số bộ xử lý được sử dụng giảm xuống trong một phạm

vi nhất định thì thuật toán tiếp tục làm việc nhưng thời gian thực hiện sẽ tăng lên

c Định nghĩa 3

Một thuật toán song song có độ phức tạp tính toán O(T) với P bộ xử lý có thể cài đặt với [P/p], 1≤ p ≤ P bộ xử lý thì sẽ có độ phức tạp thời gian là O(p*T)

Định nghĩa 3 khẳng định rằng có cách để cài đặt thuật toán song song khi số các bộ

xử lý được sử dụng bị giảm xuống

Mức độ song song của thuật toán là số lượng cực đại các phép toán độc lập

có thể thực hiện đồng thời ở mỗi thời điểm thực hiện của thuật toán

Hệ số gia tốc để biết mức độ song song hóa của TTSS

Hệ số gia tốc của TTSS sử dụng p bộ xử lý được xác định:

Sp=

Tp Ts

Trong đó:

+ TSlà thời gian thực hiện tính toán trên một bộ xử lý

+ T plà thời gian thực hiện tính toán trên p bộ xử lý

Với giả thiết là bộ xử lý tuần tự và các bộ xử lý song song là như nhau

2.3 Xây dựng một số thuật toán song song áp dụng trong GIS

2.3.1 Thuật toán sắp xếp song song bitonic

Như đã trình bày ở phần trên, hệ thống cơ sở dữ liệu của GIS được lưu trữ một cách phức tạp, ở nhiều dạng khác nhau Dữ liệu trong GIS rất lớn và đặc biệt thường xuyên biến đổi theo thời gian Chẳng hạn khi người ta xây dựng thêm một con

Trang 38

34

đường mới, dữ liệu về con đường này phải được cập nhật vào hệ thống bản đồ số Cùng với sự thay đổi không ngừng của hệ thống dữ liệu, yêu cầu bắt buộc là thêm mới, sửa đổi dữ liệu hiện thời, việc này thông thường sẽ được tiến hành một cách định kì

Song song với qua trình cập nhật dữ liệu đầu vào, hệ thống GIS phải chịu một áp lực không kém cho dữ liệu đầu ra, các hệ thống phần mềm GIS liên tục truy vấn tới hệ thống cơ sở dữ liệu trong khi yêu cầu quan trọng nhất của mọi truy vấn vẫn là vấn

đề thời gian

Với một lượng dữ liệu khổng lồ và thường xuyên biến đổi, cách duy nhất để giảm thời gian truy vấn dữ liệu đó là sắp xếp chúng theo một trật tự nhất định Việc này tốn không ít thời gian, đặc biệt với một khối lượng dữ liệu lớn Để giải quyết vấn đề này, ta sử dụng thuật toán Bitonic song song cho P bộ vi xử lý

2.3.1.1 Sắp xếp bitonic tuần tự

a Định nghĩa dãy Bitonic: Dãy bitonic là một dãy với không có hơn một giá trị cực

đại địa phương và không có hơn một giá trị cực tiểu địa phương

Hình 2.2: Đồ thị mô tả dãy bitonic

Trang 39

35

Hình 2.3: So sánh và đổi vị trí 2 phần tử trong dãy bitonic

Phân chia dãy bitonic: Đầu tiên ta chia dãy bitonic thành 2 phần bằng nhau và tiến hành so sánh – chuyển đổi giữa từng phần tử ở nửa đầu với phần tử tương ứng của nó ở nửa sau

Tới đây nếu tiếp tục thực hiện đệ quy việc chia đôi với mỗi nửa thì cuối cùng

ta thu được một dãy đã được sắp xếp

Ví dụ: Cho dãy bitonic :

24 20 15 9 4 2 5 8 | 10 11 12 13 22 30 32 45

Thực hiện chia đôi dãy, so sánh các phần tử ở các bị trí tương ứng và đổi chỗ, ta được dãy:

Trang 40

c Sắp xếp một dãy không có thứ tự dựa trên tư tưởng Bitonic

Để sắp xếp một dãy không có thứ tự, ta thực hiện việc chia đôi dãy đó một cách liên tục cho tới khi mỗi dãy con chỉ gồm có 2 phần tử Khi đó một dãy con gồm 2 phần tử hiển nhiên là một dãy bitonic

Bằng toán tứ so sánh và chuyển đổi, mỗi dãy con 2 phần tử được chuyển thành dạng dãy tăng hoặc dãy giảm theo thứ tự cứ một dãy tăng rồi tới một dãy giảm

Bước tiếp theo ta ghép 2 dãy con thành một cặp, dãy này thỏa mãn tính chất của dãy bitonic, ta thực hiện sắp sếp bitonic tuần tự cho dãy này Áp dụng đệ quy cho việc ghép, sắp sếp bitonic tuần tự cho các dãy ta sẽ đạt được một dãy theo thứ tự tăng dần hoặc giảm dần

Hình 2.6: Mô hình săp xếp một dãy 8 phần tử theo tư tưởng bitonic

Ngày đăng: 25/03/2015, 10:00

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2] Nathan Thomas Kerr, Alternative Approaches To Parallel GIS Processing, Arizona State University, 2009 Sách, tạp chí
Tiêu đề: Alternative Approaches To Parallel GIS Processing
[3] Jurgen Schulze, Torslen Fahle, A Parallel Algorithm for the Vehicle Routing Problem, University of Paderbron, Germany Sách, tạp chí
Tiêu đề: A Parallel Algorithm for the Vehicle Routing Problem
[4] Đặng văn Đức, Hệ thống thông tin địa lý, NXB Khoa học và Kỹ Thuật Hà Nội năm 2001 Sách, tạp chí
Tiêu đề: Hệ thống thông tin địa lý
Nhà XB: NXB Khoa học và Kỹ Thuật Hà Nội năm 2001
[5] Đoàn văn Ban, Nguyễn Mậu Hân, Xử lý song song và phân tán, NXB KH&KT, 2006 Sách, tạp chí
Tiêu đề: Xử lý song song và phân tán
Nhà XB: NXB KH&KT
[6] Morgan Kaufmann, The Art of MultiProcessor Programing, 2008 Sách, tạp chí
Tiêu đề: The Art of MultiProcessor Programing
[1] Richard Healey, Steve Dowers, Druce Gittings, Mike Mineter, Parallel Processing Algorithms for GIS Khác
[7] Adam Freeman, DotNET 4 Parallel Programming in Csharp Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.1 Các thành phần hệ thống GIS - Nghiên cứu một số thuật toán song song ứng dụng trong GIS
Hình 1.1 Các thành phần hệ thống GIS (Trang 10)
Hình 1.2 Quản lý dự án GIS - Nghiên cứu một số thuật toán song song ứng dụng trong GIS
Hình 1.2 Quản lý dự án GIS (Trang 11)
Hình 1.3 Phần mềm của GIS - Nghiên cứu một số thuật toán song song ứng dụng trong GIS
Hình 1.3 Phần mềm của GIS (Trang 12)
Hình 1.4 Phần cứng GIS - Nghiên cứu một số thuật toán song song ứng dụng trong GIS
Hình 1.4 Phần cứng GIS (Trang 13)
Hình 1.5 Các nhóm chức năng trong GIS - Nghiên cứu một số thuật toán song song ứng dụng trong GIS
Hình 1.5 Các nhóm chức năng trong GIS (Trang 14)
Hình 1.6 Xử lý dữ liệu thô - Nghiên cứu một số thuật toán song song ứng dụng trong GIS
Hình 1.6 Xử lý dữ liệu thô (Trang 17)
Hình 1.7 Liên kết dữ liệu thuộc hình học - Nghiên cứu một số thuật toán song song ứng dụng trong GIS
Hình 1.7 Liên kết dữ liệu thuộc hình học (Trang 19)
Hình 1.8 Xử lý song song - Nghiên cứu một số thuật toán song song ứng dụng trong GIS
Hình 1.8 Xử lý song song (Trang 25)
Hình 1.12 Mô hình MIMD -Đa luồng lệnh, đa luồng dữ liệu - Nghiên cứu một số thuật toán song song ứng dụng trong GIS
Hình 1.12 Mô hình MIMD -Đa luồng lệnh, đa luồng dữ liệu (Trang 28)
Hình 1.13 Mô tả nguyên lý hình ống - Nghiên cứu một số thuật toán song song ứng dụng trong GIS
Hình 1.13 Mô tả nguyên lý hình ống (Trang 30)
Hình 1.14 Sự gối đầu CPU và các thao tác vào/ra (I/O) - Nghiên cứu một số thuật toán song song ứng dụng trong GIS
Hình 1.14 Sự gối đầu CPU và các thao tác vào/ra (I/O) (Trang 31)
Hình 2.1 Sơ đồ hệ thống GIS - Nghiên cứu một số thuật toán song song ứng dụng trong GIS
Hình 2.1 Sơ đồ hệ thống GIS (Trang 34)
Hình 2.7: Sắp xếp một dãy 8 số nguyên theo tư tưởng bitonic - Nghiên cứu một số thuật toán song song ứng dụng trong GIS
Hình 2.7 Sắp xếp một dãy 8 số nguyên theo tư tưởng bitonic (Trang 41)
Hình 2.8 Sắp xếp song song N phần tử với P bộ vi xử lý. Điều kiện P = N  b.  Sắp xếp song song bitonic với  P nhỏ hơn rất nhiều so với N: - Nghiên cứu một số thuật toán song song ứng dụng trong GIS
Hình 2.8 Sắp xếp song song N phần tử với P bộ vi xử lý. Điều kiện P = N b. Sắp xếp song song bitonic với P nhỏ hơn rất nhiều so với N: (Trang 42)
Hình 2.9: Sắp xếp song song N phần tử với P bộ vi xử lý. Điều kiện P < N - Nghiên cứu một số thuật toán song song ứng dụng trong GIS
Hình 2.9 Sắp xếp song song N phần tử với P bộ vi xử lý. Điều kiện P < N (Trang 43)

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