Cổng thông tin điện tử cho hệ thống dự báo thời tiết
sử dụng công nghệ tính toán lưới
Nguyễn Thanh Thủy
*
, Doãn Trung Tùng
**
, Đỗ Đức Thành
*
, Nguyễn Chí Linh
**
*Faculty of Information System
**High Performance Computing Center
Hanoi University of Technology
Hanoi, Vietnam
Tóm tắt: Trong những năm gần đây, công nghệ tính toán lưới đã có những bước phát triển
mạnh mẽ và được triển khai ứng dụng ngày càng nhiều. Tính toán lưới không chỉ cung cấp nền
tảng hợp tác để chia sẻ các nguồn tài nguyên không đồng nhất giữa các tổ chức ảo mà còn có
khả năng triển khai các mô hình dịch vụ phục vụ kinh doanh và phát triển các phần mềm mang
tính xã hội. Bài báo này xin giới thiệu cổng điện tử - portal cho hệ thống lưới dữ liệu phục vụ dự
báo thời tiết sử dụng công nghệ tính toán lưới được xây dựng tại Trung tâm Tính Toán Hiệu
năng cao, trường Đại Học Bách Khoa Hà nội.
Từ khóa: grid computing, Grid portal, Meteorology data grid, Portal
1 Giới thiệu
Công nghệ Tính toán lưới đang phát triển rất nhanh trên nhiều phương diện như mục
đích, phạm vi và cộng đồng ứng dụng, tính xã hội với việc sử dụng nhiều tài nguyên phân tán
không đồng nhất bao gồm các siêu máy tính, các trung tâm tính toán hiệu năng cao, cơ sở dữ
liệu, các thiết bị lưu trữ, trang thiết bị đặc biệt hay các thiết bị hiển thị tiên tiến [1]. Những tài
nguyên đó có thể được người dùng cuối khai thác triệt để thông qua kết nối mạng LAN tốc độ
cao, qua mạng không dây hay truy nhập từ các máy tính để bàn thông qua mạng internet. Hiện
nay có nhiều ứng dụng khoa học được triển khai trên nền công nghệ tính toán lưới. Trong lĩnh
vực hoá học có các dự án như GridChem [2] - một tổ chức ảo cung cấp khả năng truy cập tới
các tài nguyên máy tính được sử dụng cho hóa học y học; hoặc BIRN [3] - một mạng lưới thông
tin y học nhằm chia sẻ tài nguyên máy tính phân tán về mặt địa lý giúp nghiên cứu và chuẩn
đoán bệnh nhanh chóng. Trong công nghệ nano có nanoHUB [4] – dự án được triển khai để
tiến hành mô phỏng những hạt nano dựa trên công nghệ lưới. Tất cả những ứng dụng kể trên
đều được triển khai trên môi trường phân tán về mặt địa lý, nhờ đó tận dụng tối đa các tài
nguyên tính toán và lưu trữ phân tán.
Tuy nhiên, việc triển khai rộng rãi các ứng dụng trên lưới còn gặp nhiều khó khăn do
tính phức tạp của tính toán lưới. Các ứng dụng này đòi hỏi người dùng phải có kiến thức
chuyên sâu về công nghệ tính toán lưới cũng như quy trình làm việc trên lưới. Công nghệ cổng
thông tin lưới (Grid Portal Technology) giúp khắc phục những hạn chế này. Nhờ cổng thông tin
lưới - Grid Portal, việc truy nhập đến nguồn tài nguyên lưới trở nên dễ dàng hơn bao giờ hết
che dấu đi kiến trúc phức tạp và các vấn đề liên quan đến lưới.
Trong bài báo này chúng tôi trình bày về xây dựng portal cho hệ thống lưới dữ liệu phục
vụ chia sẻ các tệp kết quả dự báo thời tiết. Đây là hệ thống cho phép nhiều trung tâm tính toán
nằm phân tán về mặt địa lý chia sẻ các tệp kết quả dự báo thời tiết với kích thước lớn được tạo
ra nhờ các hệ thống sử dụng các mô hình dự báo thời tiết số trị. Hệ thống lưới dữ liệu đã được
xây dựng và triển khai tại Trung tâm Tính toán Hiệu năng cao, Đại học Bách Khoa Hà Nội.
Cổng thông tin lưới trong bài báo này được xây dựng dựa trên nền của hệ thống lưới dữ liệu,
giúp cho những chuyên gia khí tượng có thể truy cập các bộ dữ liệu phân tán một cách dễ dàng
chỉ với một trình duyệt Internet mà không cần những hiểu biết chuyên sâu về công nghệ tính
toán lưới. Thêm vào đó một công cụ sinh ảnh trực quan cho các trường khí hậu cũng được tích
hợp vào hệ thống cho phép sinh ảnh dự báo theo yêu cầu và hiển thị các ảnh dự báo hàng
ngày lên cổng thông tin lưới.
Phần còn lại của bài toán này được tổ chức như sau. Phần 2 trình bày một số mô hình dự báo
thời tiết số trị. Phần 3 mô tả ngắn gọn về hệ thống lưới dữ liệu giúp chia sẻ các tệp dữ liệu dự
báo khí tượng thủy văn nằm phân tán. Phần 4 trình bày kiến trúc portal mà chúng tôi đã xây
dựng. Phần 5 trình bày một số kết quả triển khai. Kết luận và hướng phát triển được trình bày
trong phần 6.
2 Một số mô hình dự báo thời tiết
Như chúng ta đã biết, bài toán dự báo thời tiết ra đời nhằm cung cấp thông tin dự báo
về thời tiết, các thảm họa liên quan đến khí tượng để giúp đưa ra những cảnh báo sớm, nhờ đó
đảm bảo cho người dân yên tâm lao động sản xuất cũng như giảm thiểu thiệt hại do thiên tai
gây ra. Vấn đề này ngày càng chiếm một vị trí quan trọng khi mà xã hội đã nhận ra vai trò của
công tác dự báo khí tượng nhất là sau những thiên tai xảy ra gây thiệt hại không nhỏ đến con
người và tài sản, ảnh hưởng nghiêm trọng tới nền kinh tế trong những năm gần đây. Trong bài
toán dự báo thời tiết thì quan trọng nhất chính là mô hình dự báo. Đó là một tập các quy tắc
toán học thao tác trên bộ dữ liệu khí tượng, giúp mô phỏng các quá trình diễn biến của khí hậu
ví dụ như hình ảnh trực quan về sự di chuyển của các luồng không khí, sự thay đổi của độ ẩm,
khí áp ..v..v.. để từ đó đưa ra các kết quả dự báo thời tiết cho tương tai. Dưới đây xin tóm tắt
một số mô hình dự báo thời tiết phổ biến trên thế giới.
Fifth generation Penn State/NCAR mesoscale model (MM5) mô hình khí tượng động lực quy
mô vừa thế hệ thứ 5 của Trung tâm Quốc gia Nghiên cứu Khí quyển Mỹ (NCAR) và Trường Đại
học Tổng hợp Pennsylvania Mỹ (PSU) là thế hệ mới nhất trong một loạt các mô hình dự báo
được phát triển từ mô hình thời tiết quy mô vừa do Anthes xây dựng tại bang Pennsylvania, Mỹ
từ những năm 1970. MM5 được thiết kế để mô phỏng hoặc dự đoán quá trình lưu thông quyển
khí trong hệ thời tiết quy mô vừa.
The Weather Research and Forecasting (WRF) là thế hệ tiếp theo của mô hình khí tượng động
lực học hệ thống dự báo thời tiết được thiết kế để phục vụ dự báo và nghiên cứu khí quyển khi
cần thiết. Nét đặc biệt của nó là đa lõi động, một hệ thống đồng hóa dữ liệu ba biến đổi 3 chiều
và một kiến trúc phần mềm cho phép tính toán song song và mở rộng hệ thống. WRF thích hợp
với các ứng dụng dự báo có độ dao động lớn từ vài kilomet đến vài ngàn kilomet.
High resolution Regional Model (HRM) là mô hình dự báo thời tiết số học được phát triển bởi
Dịch Vụ Thời tiết Đức - trực thuộc viện thời tiết Đức - vào năm 1999. Hiện có rất nhiều trung
tâm khí tượng, trường đại học và viện nghiên cứu quốc tế đang sử dụng mô hình này. HRM
được viết bằng Fortran 90, và một vài hàm thư viện của C để mã và giải mã định dạng GRIB 1.
Mô hình này hỗ trợ song song hóa dựa trên OpenMP - để chia sẻ bộ nhớ đa vi xử lý - và trên
MPI - phân tán bộ nhớ đa vi xử lý - cho phép giản thời gian chạy của mô hình.
Ở nước ta, hiện tại chỉ có trung tâm dự báo khí tượng thủy văn là đơn vị trong ngành
duy nhất được trang bị máy móc và mô hình dự báo thời tiết. Việc triển khai các mô hình này
đòi hỏi tài nguyên máy tính lớn và các gói phần mềm phức tạp (nguồn mở hoặc có bản quyền).
Thêm vào đó, các mô hình dự báo thời tiết thường được song song hóa và chạy trên hệ thống
cluster để giảm thời gian xử lý mà vấn đề này thì chỉ được tập trung nghiên cứu triển khai ở các
trung tâm tính toán hiệu năng cao. Với những lý do như vậy thì việc triển khai rộng rãi các mô
hình dự báo ở các trung tâm khí tượng thủy văn là rất khó và nếu có triển khai được thì cũng
gặp khó khăn trong vấn đề duy trì, bảo trì nâng cấp hệ thống. Vấn đề chia sẻ, phối hợp các dữ
liệu dự báo thời tiết không những góp phần thúc đẩy việc nghiên cứu dự báo khí tượng thủy
văn trong cộng đồng các nhà khoa học mà còn giảm thiểu chi phí quản lý lưu trữ, cũng như
tăng tính chính xác của các kết quả dự báo. Chính vì vậy việc triển khai mô hình dự báo ở các
trung tâm tính toán hiệu năng cao với sự giúp đỡ về mặt chuyên môn của các chuyên gia khí
tượng và cho các chuyên gia này sử dụng dễ dàng có một ý nghĩa rất lớn.
Mô hình dự báo thời tiết mà chúng tôi sử dụng ở Trung Tâm Tính Toán Hiệu Năng Cao
trường Đại Học Bách Khoa Hà Nội là mô hình MM5. Kết quả của mô hình dự báo sẽ được trích
chọn metadata và quản lý bởi lưới dữ liệu. Thêm vào đó, chúng tôi còn sử dụng một chương
trình sinh ảnh chuyên môn từ tệp kết quả của mô hình dự báo, cho phép các chuyên gia khí
tượng sử dụng chương trình này ngay trên portal bằng cách đưa vào các tham số của ảnh cần
sinh, yêu cầu sinh ảnh và đợi kết quả trả về.
3 Hệ thống lưới dữ liệu phục vụ chia sẻ dữ liệu phân tán
Hệ thống chia sẻ dữ liệu dự báo phân tán được xây dựng dựa trên công nghệ tính toán
lưới. Về mặt vật lý, lưới bao gồm một số lượng lớn các máy tính, cụm máy tính kết nối với nhau
qua một mạng, và được điều khiển bởi những kỹ thuật quản lý hiệu quả. Về mặt logic, lưới bao
gồm hai thành phần tính toán và dữ liệu (Hình 1).
Lưới tính toán – Computational Grid: cung cấp dịch vụ quản lý và chia sẻ công việc trên một
môi trường phân tán, tài nguyên của nó chính là các chu kỳ CPU rỗi, băng thông mạng, bộ
nhớ…
Lưới dữ liệu – Data Grid: cung cấp khả năng quản lý dữ liệu, cho phép truy cập, đồng bộ hóa và
phân phối dữ liệu trên một lưới. Tài nguyên của lưới dữ liệu bao gồm các hệ thống lưu trữ,
băng thông mạng, và các tệp dữ liệu nằm phân tán trên các nút lưới.
Lưới tính toán
Lưới dữ liệu
Môi trường tính toán lưới
Hình 1 Thành phần của một lưới
Hệ thống lưới dữ liệu phục vụ chia sẽ dữ liệu phân tán được xây dựng tại Trung tâm
Tính toán Hiệu năng cao, Đại học Bách Khoa Hà Nội có mô hình hoạt động minh họa trong hình
2 dưới đây:
Hình 2 Mô hình hệ thống
Hàng ngày, các mô hình dự báo số trị nằm tại các trung tâm tính toán sản sinh ra các
tệp dự báo khí tượng thủy văn dưới dạng chuẩn GRIB hoặc NetCDF. Các tệp này thường có
kích thước rất lớn. Tổng dung lượng dữ liệu tạo ra trong một ngày có thể lên đến 3 GB. Những
bộ dữ liệu này được tự động lưu trữ vào các máy chủ dữ liệu. Quá trình lưu trữ không chỉ đơn
thuần là việc truyền một tệp kích thước lớn giữa các máy tính phân tán về mặt địa lý, mà còn
bao gồm quá trình tích hợp các thông tin mô tả để phục vụ quá trình tìm kiếm sau này. Ngoài
ra, một dịch vụ nhân bản cũng được triển khai để tăng tính sẵn dùng và giảm thiểu thời gian
truy cập dữ liệu khi cần thiết. Dịch vụ sinh ảnh từ các kết quả dự báo này tự động chạy hàng
ngày và sinh ra các bức ảnh dự báo về nhiệt độ, lượng mưa, độ ẩm… Các máy chủ dữ liệu
cũng nằm phân tán, và tài nguyên lưu trữ trên các máy này được chia sẻ dựa trên công nghệ
tính toán lưới. Bộ phần mềm nền Globus Toolkit 4.0 [8] được lựa chọn để xây dựng các dịch vụ
lưới dữ liệu. Người sử dụng truy cập các dịch vụ của hệ thống thông qua công thông tin lưới –
Grid Portal. Phần tiếp theo trình bày kiến trúc của thành phần này.
4 Cổng thông tin cho hệ thống lưới dữ liệu
Trong môi trường tính toán lưới, các tài nguyên là phân tán, phức tạp và thường xuyên
biến động. Thêm vào đó, hầu hết những người dùng lưới đều là những nhà khoa học trong lĩnh
vực chuyên môn, và không có nhiều kinh nghiệm làm việc trong một môi trường phân tán và
nhiều biến động như lưới. Vì vậy, việc làm việc trực tiếp với các tài nguyên phân tán là rất khó
khăn. Grid Portal làm việc như một giao diện giữa người sử dụng đầu cuối với các dịch vụ mức
thấp. Thông qua Grid Portal, các chuyên gia có thể truy xuất, sử dụng các nguồn tài nguyên
phân tán bất cứ khi nào có đường kết nối Internet. Grid Portal che đi sự phức tạp của các hệ
thống nền tảng phân tán ở phía dưới. Sử dụng Grid Portal, người dùng không cần thiết phải tải
về và triển khai các gói phần mềm lưới chuyên biệt hoặc cấu hình an toàn bảo mật. Tất cả
những gì họ cần là một đường kết nối Internet và một trình duyệt web.
Hiện tại, có rất nhiều portal framework hỗ trợ xây dựng portal cho các ứng dụng lưới
như Grid portal Development Kit [5], Astrophysics Scientific Collaboratory Portal [6] ..v..v..
nhưng chúng tôi chọn Gridsphere cho hệ thống của mình. Gridsphere hỗ trợ các dịch vụ cơ bản
như quản lý portlet, quản lý người dùng, quản lý nhóm, quản lý layout,…giúp giảm đáng kể
công sức của người phát triển. Các portlet của Gridsphere hoàn toàn tương thích với chuẩn
portlet hiện nay là JSR 168 và Websphere (một portal framework nổi tiếng của IBM). Các
chuyên gia phát triển Gridsphere cũng đã có mặt tại hội nghị JSR 268 để đưa ra chuẩn portlet
trong tương lai.
Portal phục vụ ba loại người sử dụng chính, bao gồm:
Người dùng thông thường: Người dùng sử dụng hệ thống chỉ như một website dự báo thời tiết
đơn giản. Họ không cần đăng nhập vào hệ thống do đó không cần quản lý người dùng này.
Người dùng thông thường có kiến thức sử dụng máy tính và internet ở mức độ trung bình.
Chuyên gia khí tượng: Người dùng sử dụng hệ thống như là nơi cung cấp các thông tin chuyên
môn sự báo thời tiết, cần đăng nhập vào hệ thống để sử dụng các chức năng mà hệ thống
cung cấp. Lớp người dùng này có kiến thức cơ bản về sử dụng máy tính và internet và có kiến
thức chuyên sâu trong lĩnh vực dự báo thời tiết. Người dùng này được hệ thống quản lý theo tài
khoản, các thông tin về email, địa chỉ, tổ chức.
Người quản trị Portal: Đây là người quản trị người dùng, quản trị các chức năng Portal cung
cấp cho người dùng thông thường và người dùng chuyên môn, cấu hình hệ thống, bảo mật.
Người dùng này có kiến thức chuyên sâu về máy tính và internet. Vì quản trị một hệ thống về
vấn đề khí tượng nên lớp người dùng này cũng cần có kiến thức trong lĩnh vực khí tượng thủy
văn.
Dựa trên nền tảng Gridsphere, chúng tôi triển khai thêm 7 portlet cho portal, các portlet này có
thể chia làm bốn nhóm chính (hình 3):
Nhóm các portlet quản lý: Bao gồm porlet cấu hình hệ thống và portlet quản lý mô tả của tệp
hàng ngày. Porlet cấu hình hệ thống sẽ cho phép người quản trị portal có thể chỉnh sửa các
tham số của thành phần công cụ sinh ảnh và thành phần bảo mật của hệ thống. Portlet quản lý
mô tả của tệp hàng ngày cho phép người quản trị viết các nhận xét của mình về tệp kết quả
của mô hình dự báo, lưu các nhận xét này và cho phép chuyên gia khí tượng có thể tìm kiếm
theo nhận xét trong cơ sở dữ liệu.
Nhóm portlet tìm kiếm: Cho phép chuyên gia khí tượng có thể tìm kiếm theo thời gian mô hình
dự báo sản sinh ra tệp, hoặc cũng có thể tìm kiếm theo các nhận xét của người quản trị portal
về tệp. Từ các kết quả tìm kiếm, chuyên gia khí tượng có thể sử dụng công cụ sinh ảnh của hệ
thống để sinh ra các ảnh chuyên môn, hoặc gắn thẻ cho các kết quả ưa thích phục vụ cho lần
đăng nhập sau, hay tải tệp metadata hoặc tệp kết quả dự báo cho kết quả tìm kiếm đó.
Nhóm portlet hiển thị: Bao gồm các portlet hiển thị nhiệt độ, biểu tượng thời tiết hàng ngày và
portlet hiển thị ảnh chuyên môn hàng ngày. Porlet hiển thị nhiệt độ và biểu tượng thời tiết sẽ
hiển thị biểu tượng thời tiết cho các thành phố lớn trong cả nước ở ngay trang chủ của portal.
Còn portlet hiển thị ảnh chuyên môn hàng ngày sẽ hiển thị các ảnh chuyên môn hay được các
chuyên gia khí tượng sử dụng là ảnh dự báo cho trường mưa, gió, độ ẩm, nhiệt độ do thành
phần sinh ảnh dự báo GrADS sinh sẵn hàng ngày. Porlet này cũng cung cấp khả năng hiển thị
các trường dự báo dưới dạng hoạt hình để các chuyên gia dễ dàng quan sát.
Nhóm portlet quản lý thẻ: Bao gồm portlet quản lý các thẻ mà người dùng đã gắn cho các kết
quả tìm kiếm, nhằm giúp họ ghi nhớ một sự kiện thời tiết đáng quan tâm nào đó. Portlet này
cung cấp khả năng truy nhập nhanh từ các thẻ tới tệp kết quả tương ứng..
Hình 3 Kiến trúc của Portal
5 Một số kết quả triển khai
Phần này trình bày một số kết quả triển khai thử nghiệm được thực hiện tại Trung tâm Tính
toán Hiệu năng cao, trường Đại học Bách Khoa Hà Nội bao gồm các chức năng như hiển thị
thông tin hàng ngày, sinh ảnh dự báo theo yêu cầu, quản lý thẻ cho tệp dự báo, cấu hình hệ
thống…
5.1 Chức năng hiển thị thông tin dự báo hàng ngày
Nhiệt độ cũng như biểu tượng thời tiết của một số thành phố lớn sẽ được hiển thị ngay
ở trang chủ của portal. Portlet đảm nhận vai trò này sẽ truy cập tới lưới dữ liệu thông qua dịch
vụ Metadata Catalog Service [9] của Globus Toolkit để lấy thông tin về nhiệt độ cao nhất, thấp
nhất, lượng mưa, độ ẩm, sức gió, tổng lượng mây của thành phố định trước của ngày hiện tại,
sau đó từ các thông tin này tổng hợp để chọn một biểu tượng thời tiết phù hợp để cuối cùng
hiển thị nhiệt độ thấp nhất, thấp nhất và biểu tượng thời tiết của thành phố. Hình dưới đây là