HỘI THẢO ỨNG DỤNGGIS TOÀN QUỐC 2011
400
BƯỚC ĐẦU XÂY DỰNGMÔHÌNH XỬ LÝSONGSONG
CHUYỂN ĐỔITỌAĐỘVỚIKHỐILƯỢNGDỮLIỆUGISLỚN
(INITIALIZING ESTABLISHING PARALLEL PROCESSING MODEL FOR
THE GIS DATA TRANSFORMATION PROBLEM)
Khưu Minh Cảnh
a
, Lê Trung Chơn
b
a
Trung tâm Ứng dụng Hệ thống Thông tin Địa lý, Sở KH&CN, Tp. HCM
kmcanh@yahoo.com
b
Khoa Kỹ thuật Xây dựng, Trường Đại học Bách Khoa, Tp. HCM
ltchon@hcmut.edu.vn
Abstract: This paper presents some analyses on parallel processing the GIS data
transformation problem. Besides the correctness, the main problem is the time to transfer
data, especially in online applications or in some remote sensing applications. Thanks to the
technology development, we could process it in parallel. And there is also the description of
some parallel packages.
Keywords: Parallel processing, GIS, data transformation.
1. GIỚI THIỆU
Bài báocáo này tập trung vào việc phân tích các nhu cầu tính toán trong bài toán chuyển
đổi hệ tọađộ và qua đóhình thành môhình tính toán song song. Ta có, bên cạnh độ chính
xác, vấn đề chính trong các ứng dụngchuyển hệ tọađộ là thời gian tính toán, đặc biệt trong
các ứng dụng trực tuyến như web hoặc các ứng dụng về viễn thám. Việc tính toán trên một
máy tính bằng các phần mềm sẽ bị giới hạn về vật lý: xung nhịp của bộ xử lý. Tuy nhiên, với
những tiến bộ của công nghệ, chúng ta có thể tính toán trên nhiều bộ xửlý cùng lúc, gọi là
tính toán song song. Việc tính toán songsong sẽ giúp tăng tốc độ tính toán.
Trong bài viết này, chúng tôi sẽ đề xuất về một số gói phần mềm thiết lập môi trường
tính toán song song.
2. NỀN TẢNG VÀ CÁC NGHIÊN CỨU LIÊN QUAN
2.1. Cơ sở lý thuyết chuyểnđổitọađộ
2.1.1. Quan hệ toán học giữa các hệ tọađộ vuông góc không gian ba chiều
Cho trước hai hệ tọađộ vuông góc ba chiều A(XYZ) và B(X’Y’Z’), ta có công thức
chuyển đổi hệ tọađộ là:
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
'
'
'
Z
Y
X
=
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
Z
Y
X
+
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
Δ
Δ
Δ
Z
Y
X
+
⎢
⎢
⎢
⎣
⎡
−
y
z
ds
ω
ω
x
ds
z
ω
ω
−
⎥
⎥
⎥
⎦
⎤
−
ds
x
y
ω
ω
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
Z
Y
X
(1)
Trong đó:
ZYX ΔΔΔ ,,
: là những tham số tịnh tiến gốc tọađộ từ hệ A sang hệ B.
zy
x
ω
ω
ω
,,
: là những tham số quay của các trục tương ứng trên hệ A để về hệ B.
HỘI THẢO ỨNG DỤNGGIS TOÀN QUỐC 2011
401
ds: là tham số tỉ lệ co giãn chuyểnđổi đơn vị dài trong hệ tọađộ A về đơn vị dài trong
hệ tọađộ B.
2.1.2. Quan hệ toán học giữa hệ tọađộ vuông góc không gian ba chiều và hệ tọađộ trắc
địa
Trong quan hệ này, chúng ta có hai công thức tính toán chuyểnđổi qua lại giữa hai hệ
tọa độ vuông góc (X,Y,Z) và hệ tọađộ trắc địa (B,L,H). Ta có các công thức chuyểnđổi từ hệ
tọa độ trắc địa sang hệ tọađộ vuông góc là:
Với:
Và ngược lại, chúng ta có các công thức chuyểnđổi từ hệ vuông góc sang hệ tọađộ trắc
địa bằng các công thức như công thức Bouring hoặc công thức lặp.
Ngoài ra, chúng ta có các công thức chuyểnđổi giữa hệ tọađộ phẳng và hệ tọađộ trắc
địa, nghĩa là chúng ta chỉ xác định hai tham số x và y từ hai tham số B và L hoặc ngược lại.
2.2. Môhình tính toán songsong trong GIS
2.2.1. Giới thiệu sơ lược về tính toán songsong
Xử lý hay tính toán songsong là phương pháp sử dụng nhiều bộ xửlý tham gia cùng lúc
giải quyết một công việc. Trên thế giới, nhiều ứng dụng được triển khai để xửlýsong song.
Ưu điểm của xửlýsongsong là thực hiện nhanh chóng và nhiều phép toán có thể xửlý cùng
lúc. Đến nay, nhiều nghiên cứu về xửlýsongsong cũng như những ứng dụng được cài đặt.
Và một tập phức tạp các vấn đề liên quan phát sinh phải giải quyết, bao gồm:
- Mức độsongsong hóa, nghĩa là, số lượng các xửlý có thể hoạt động cùng lúc.
- Vấn đề quản lýdữ liệu, như phân chia và đồng bộ dữliệu
- Áp các quá trình xửlý vào các node xử lý.
- Lập lịch thực thi cho các tác vụ.
- Truyền thông giữa các tác vụ không trên cùng một máy
Qua đó, các mục tiêu đánh giá cho một ch
ương trình xửlýsongsongbao gồm:
- Thời gian thực thi chương trình (program latency)
- Băng thông (bandwidth): nghĩa là thông lượng của các tác vụ tương tự được lặp lại.
- Tăng tốc (speed-up): tỉ số tốc độ giữa chương trình tính toán songsongvới một
chương trình tuần tự.
Theo đó, chúng ta có nhiều phân loại về phần cứng cũng như phần mềm trong lĩnh xửlý
song song như: phân loại về môhình bộ
nhớ, phân loại về đồhình kết nối, phân loại về xửlý
tính toán (phân chia xửlý theo vùng dữliệu hoặc phân chia xửlý theo phép toán).
,sin})1({
;sincos)(
;coscos)(
2
BHeNZ
LBHNY
LBHNX
+−=
+=
+=
.
sin1
22
Be
a
N
−
=
HỘI THẢO ỨNG DỤNGGIS TOÀN QUỐC 2011
402
Hình 1. Minh họa về đồhình kết nối các bộ xửlýhình tháp phù hợp với bài toán
có phân chia hoặc phân tích ảnh viễn thám nhiều độ phân giải.
Hiện nay để xâydựng các ứng dụngxửlýsong song, một số gói phần mềm đã được xây
dựng để làm nền tảng cho các hệ thống tính toán song song. Đó là các phần mềm theo chuẩn
MPI, LAM. Các gói phần mềm đó sẽ có nhiệm vụ thiết lập môi trường tính toán songsong và
cung cấ
p các hàm (API) để thực hiện các tác vụ tính toán songsong cũng như truyền dữliệu
và giải quyết tranh chấp mạng.
2.2.2. Môhình tính toán songsong trong GIS
Với hệ thống GIS, việc tính toán songsong cũng dựa trên nền tảng môi trường tính toán
song song. Do đó, môhình tính toán songsong tổng quát trong GIS sẽ có thứ tự tuần tự sau:
tầng ứng dụng, tầng thư viện, tầng các hàm/phương thức tiện ích cho tính toán song song, tầng
môi trường tính toán songsong và các tầng hệ điều hành, phần cứng truyền thông. Trong mô
hình này, chúng ta có thể thấy sự kế thừa và phát huy những chức năng của tầng dưới trong việc
xử
lý bài toán GIS. Mặt khác, chúng ta có thể liên lạc trực tiếp giữa tầng ứng dụngvới các tầng
khác theo các thư viện hệ thống khác. Tuy nhiên, đặc điểm chính của môhình là việc sử dụng
giao diện MPI để tách biệt kiến trúc phần cứng và các thuật toán, ứng dụng bên trên. Khi đó,
chúng ta có thể viết các chương trình theo một chuẩn (như chuẩn MPI) và cài đặt chương trình
trên các hệ thống cấu hình phần cứng khác nhưng có cùng chuẩn (nh
ư chuẩn MPI).
Hình 2. Môhình tính toán songsong tổng quát trong GIS theo lược đồ MPI
HỘI THẢO ỨNG DỤNGGIS TOÀN QUỐC 2011
403
Dữ liệu là thành phần chính trong các hệ thống GIS. Do đó, việc tính toán songsong
trong GIS đa phần theo kỹ thuật phân chia theo dữliệu (phân chia theo vùng – domain
decomposition) hơn là phân chia theo chức năng. Các kỹ thuật phân chia theo dữliệu sẽ phụ
thuộc vào các yếu tố cơ bản như:
-
Bài toán GIS cần thực hiện: tính toán theo từng điểm, từng đối tượng, theo từng
đường, theo vùng,…
-
Định dạng lưu trữ dữliệu GIS: theo tập tin hoặc theo cơ sở dữ liệu.
-
Cấu trúc dữ liệu: vector, raster, BBL,…
-
Bản thân mỗi đối tượng hình học. Ví dụ: một đối tượng không gian có 100 đỉnh và
một đối tượng không gian có 4 đỉnh sẽ có tốc độchuyểnđổitọađộ khác nhau.
Thật sự, những yếu tố trên sẽ ảnh hưởng đến quá trình đọc dữ liệu. Hơn thế nữa, đốivới
một số bài toán như bài toán chuyểnđổi hệ tọa độ. Do các đối tượng mớ
i hình thành sẽ có sự
tương đồng vớiđối tượng cũ. Do đó, những yếu tố trên sẽ ảnh hưởng đến quá trình sau cùng
trong tính toán song song, đó là quá trình tổng hợp dữ liệu.
2.2.3. Một số gói phần mềm hỗ trợ tính toán songsong trong GIS
Hiện tại, chi phí để xâydựng một hệ thống tính toán songsong rất lớn. Tuy nhiên, trong
một phạm vi nghiên cứu, chúng ta có thể sử dụng một số gói phần mềm mở hỗ trợ môi trường
tính toán songsong như: LAM/MPI, OpenMPI, MPICH2. Hầu hết các phần mềm đều có các
gói nghiên cứu trên các hệ điều hành Unix và Microsoft Windows. Hơn thế nữa, hiện tại các
gói phần mềm đã hỗ trợ chuẩn MPI2. Từ đó, chúng ta có thể dễ dàng qu
ản lý các tiến trình và
các đồhình tính toán.
Hình 3. Tạo môi trường thực thi MPI trên 2 máy bằng gói MPICH2 phiên bản 1.2.1
HỘI THẢO ỨNG DỤNGGIS TOÀN QUỐC 2011
404
Ngoài ra, chúng ta phải kết hợp một số chuẩn và gói phần mềm lưu trữ và xửlý GIS,
như:
-
Hoặc chuẩn dữliệu shapefile, đi kèm với các gói xửlý kèm theo như shapelib.
-
Hoặc chuẩn dữliệu spatialite.
-
Hoặc các hệ quản trị CSDL hỗ trợ lưu dữliệuGIS được trang bị ngôn ngữ truy vấn
không gian (spatial SQL) như Postgres/PostGIS, SQL Server 2008, Oracle.
Ngoài ra, để hiển thị dữliệu đã tổng hợp, chúng ta có thể tận dụng phần thể hiện bản đồ
của các gói phần mềm như ArcEngine, MapXtreme, MapWindow, gvSIG…
3. PHÂN TÍCH CÁC NHU CẦU TÍNH TOÁN TRONG BÀI TOÁN CHUYỂNĐỔI
TỌA ĐỘ
3.1. Nhu cầu tính toán trong bài toán chuyểnđổitọađộ
Nhìn chung, đốivới bài toán chuyểnđổitọa độ, các công thức sẽ áp dụng cho từng đối
tượng không gian trong tập đối tượng. Cụ thể hơn, một tập đối tượng không gian gồm n phần
tử thì mỗi đối tượng không gian sẽ được tính. Do đó, thuật toán tính tuần tự sẽ lặp tính công
thức chuyểnđổitọađộ n lần. Từ đó, chúng ta nhận thấy rằng, tốc độ
xửlýchuyểnđổitọađộ
sẽ phụ thuộc khi số lượngdữliệu lớn.
Mặt khác, từ phân tích trên, chúng ta nhận thấy rằng các đối tượng có thể được tính toán
một cách độc lập tọađộ mới. Do đó, trong giải pháp tính toán song song, chúng ta có thể phân
phối các đối tượng đến các bộ xửlý khác nhau và thực hiện chuyểnđổitọađộ trên từng bộ xử
lý. Hơn thế
nữa, việc tính toán độc lập, nên chúng ta có thể tính toán dựa trên việc phân chia
về số lượng phần tử trong tập đối tượng cần tính chuyểntọa độ. Từ đó, ta có:
Nếu hệ thống có m máy và tập dữliệu gồm n đối tượng cần chuyển đổi. Khi đó, mỗi
máy sẽ đảm nhiệm chuyểnđổi số lượngđối tượng tương ứng sẽ là: [n/m]+1.
Tuy nhiên, đến
đây, chúng ta lại thấy rằng, nếu tập dữliệu cần chuyểnđổi hệ tọađộ
gồm 10 tỷ đối tượng, thì chúng ta có thể bị cản trở về thời gian phân phối dữliệu (nếu chỉ một
máy đảm trách). Như vậy, môhình phân phối dữliệu phục vụ tính toán là môhình quan trọng
trong xửlýsongsongchuyểnđổitọa độ. Hai mức độ giải quyết bài toán phân phối d
ữ liệu:
-
Mức độ 1: Giải quyết bài toán phân phối dữliệu trên cơ sở thiết lập các đồhình kết
nối. Đốivới mức độ này, chúng ta phải nhận diện ra được các luồngdữliệu truyền
trên mạng. Với cấu hình mạng tốt, chúng ta sẽ giảm thời gian mạng chờ.
-
Mức độ 2: Giải quyết bài toán phân phối dữliệu trên cơ sở đã có đồhình kết nối. Ở
mức độ này, thông thường chúng ta áp dụng cho những ứng dụng. Ví dụ: chúng ta
cần tạo (render) một hình về dữliệu sau khi biến đổi để trả về cho máy khách trong
mô hình WebGIS. Khi đó, chúng ta phải hội tụ các máy tính tính toán cho một vùng
dữ liệu cần trả về máy khách tổng hợp. Khi đó, dữliệu phân phối cụ th
ể đến các
máy được lọc theo vùng với những chiến lược riêng.
3.2. Đề xuất các chiến lược songsong hóa
Từ những phân tích trên, chúng ta có các phương án thực hiện songsong hóa khi thực
hiện tính toán chuyểnđổitọađộ như sau:
-
Phương án 1: Songsong hóa việc chuyểnđổi từng đối tượng. Chúng ta chỉ quan tâm
đến việc phân phối đều số đối tượng vào số bộ xử lý.
HỘI THẢO ỨNG DỤNGGIS TOÀN QUỐC 2011
405
- Phương án 2: Songsong hóa việc chuyểnđổi từng điểm. Vì trong đối tượng không
gian có thể có nhiều điểm. Do đó, chúng ta có thể thực hiện việc đánh giá số lượng
điểm trong tập đối tượng và phân phối việc tính toán song song. Trong phương án
này, chúng ta sẽ có thời gian tính toán tốt hơn phương án trên. Tuy nhiên, việc chuyển
đổi xâydựng lại đối tượng từ các điểm của nó sẽ chiếm một khoảng thời gian.
3.3. Môhình tính toán songsongxửlýchuyển hệ tọađộ
Từ những phân tích trên, chúng ta có môhình (qui trình) thực hiện tính toán songsong
để xửlýchuyển hệ đổitọađộ như sau:
-
Xác định số lượng máy có thể tham gia tính toán song song.
-
Xác định mức độsongsong hóa: theo đối tượng hoặc theo điểm.
-
Thực hiện thống kê dữliệu để nhận được thông tin về độ phức tạp hình học trong
mỗi đối tượng.
-
Xây dựngmôhình kết nối bằng các chuẩn như MPI.
-
Phân phối dữliệu vào mô hình. Tùy các ứng dụng, chúng ta có thể chọn và nhóm
các ứng dụng theo vùng địa lý.
-
Thực hiện tính toán songsong trên từng node.
-
Tổng hợp dữ liệu.
-
Trả kết quả tính toán.
4. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Bài toán xửlýsongsong để chuyểnđổi hệ tọađộ là bài toán quan trọng. Chúng ta có thể
thấy các ứng dụng liên quan đến như thiết lập bản đồ, chuyểnđổidữliệu cũ, xửlý không ảnh
và ảnh viễn thám. Theo đó, chúng ta cần mở rộng cài đặt hơn trong các bài toán lớn hơn (như
bài toán tiền xửlý ảnh viễn thám) mà trong đó vấn đề chuyểnđổi hệ tọađộ chỉ
là một phần.
Vì khi đó, môhình tính toán sẽ bị ảnh hưởng mạnh bởi các bài toán và yếu tố khác.
Tài liệu tham khảo
1. TS. Lê Trung Chơn, Bài giảng môn học sau đại học Hệ qui chiếu trắc địa nâng cao.
http://ww.pgs.hcmut.edu.vn/~ltchon/lectures/geodetic_datum/Chuong1_BK_files/frame.htm
2. TS. Trần Văn Hoài, Bài giảng môn học sau đại học Tính toán song song.
3. PGS.TS. Nguyễn Đức Nghĩa, Bài giảng môn Tính toán song song, NXB Đại học Bách Khoa Hà
Nội, 2008.
4. Michael A. G. A¨ıv´azis, ACM/CS 114 Parallel algorithms for scientific applications, California
Institute of Technology, 2010.
5. George A.Jennings, sách Modern Geometry with Applications, Springer, 1994
6. Ian Foster, sách Designing and Building Parallel Programs, 1995.
7. Richard Healey, Steve Dowers, Bruce Gittings và Mike Mineter, sách Parallel Processing
Algorithms for GIS, Nhà xuất bản Taylor&Francis, 1998.
. DỤNG GIS TOÀN QUỐC 2011 400 BƯỚC ĐẦU XÂY DỰNG MÔ HÌNH XỬ LÝ SONG SONG CHUYỂN ĐỔI TỌA ĐỘ VỚI KHỐI LƯỢNG DỮ LIỆU GIS LỚN (INITIALIZING ESTABLISHING PARALLEL PROCESSING MODEL FOR THE GIS. gian. 3.3. Mô hình tính toán song song xử lý chuyển hệ tọa độ Từ những phân tích trên, chúng ta có mô hình (qui trình) thực hiện tính toán song song để xử lý chuyển hệ đổi tọa độ như sau:. gian phân phối dữ liệu (nếu chỉ một máy đảm trách). Như vậy, mô hình phân phối dữ liệu phục vụ tính toán là mô hình quan trọng trong xử lý song song chuyển đổi tọa độ. Hai mức độ giải quyết