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

Xây dựng công cụ lập trình cho tính toán thích nghi hiệu năng cao trên môi trường tính toán lưới

87 0 0

Đ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 87
Dung lượng 3,37 MB

Nội dung

ỦY BAN NHÂN DÂN TP.HCM SỞ KHOA HỌC VÀ CÔNG NGHỆ TRƯỜNG ðẠI HỌC BÁCH KHOA TP.HCM KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH BÁO CÁO NGHIỆM THU (Theo yêu cầu chỉnh sửa hội ñồng sở) XÂY DỰNG CƠNG CỤ LẬP TRÌNH CHO TÍNH TỐN THÍCH NGHI HIỆU NĂNG CAO TRÊN MƠI TRƯỜNG TÍNH TỐN LƯỚI Chủ nhiệm: TS TRẦN VĂN HỒI THÀNH PHỐ HỒ CHÍ MINH THÁNG 12/ 2009 TÓM TẮT NỘI DUNG NGHIÊN CỨU Hiện chúng tơi với Trường Kỹ Sư Kiến Trúc Fribourg, Thụy Sĩ nghiên cứu phát triển cơng cụ tính tốn hiệu cao POP-C++ [20, 28] dựa khái niệm ñối tượng phân bố hướng tài nguyên POP-C++ ñang phiên 1.1.1 ñược xây dựng dạng mã nguồn mở ñồng sở hữu hai tác giả TS Nguyễn Tuấn Anh GS Pierre Kuonen (Trường Kỹ Sư Kiến Trúc Fribourg, Thụy Sĩ) Việc phát triển ứng dụng dựa POP-C++ ñơn giản hiệu POPC++ mở rộng C++ với vài từ khóa cho phép khai báo ñối tượng chạy phân bố dựa yêu cầu cao chất lượng dịch vụ tài nguyên (QoS) POP-C++ cung cấp kiểu cú pháp ñể thực phương thức ñối tượng phân bố C++ Viết chương trình chạy mơi trường lưới đơn giản việc viết chương trình chạy C++ Phiên 1.1.1 POP-C++ cung cấp số chức như: trình biên dịch cho phép dịch source code sang ngôn ngữ ANSI C++, compiler front-end cho phép tự động hóa q trình dịch từ POP-C++ sang ngôn ngữ máy, thư viện truyền thông ñối tượng song song phân bố dựa TCP/IP dạng nhị phân XDR, số dịch vụ thực thi cho phép giao tiếp với PreWS GRAM công cụ Globus Toolkit ñể thực thi ứng dụng Việc hỗ trợ ña phương thức giao tiếp (muti-protocols) chuẩn liệu (multi-encoding) chưa ñược hỗ trợ POP-C++ Phương thức giao tiếp ñối tượng song song phân bố lưới tính tốn sử dụng kết nối TCP/socket nên gặp vấn ñề tài ngun tính tốn nằm mạng ảo ngăn cách firewall Các chuẩn giao tiếp lưới OGSA, WSRF chưa ñược hỗ trợ Các nội dung nghiên cứu đề tài gồm: Tìm hiểu chuẩn OGSI WSRF Xây dựng cơng cụ hỗ trợ lập trình WSRF cách mở rộng POP-C++: • Tìm hiểu khả kích hoạt phương thức POP-C++ thơng qua giao thức HTTP/SOAP • Tìm hiểu khả mở rộng thư viện hệ thống POP-C++ • Mở rộng thư viện hỗ trợ ñồng thời giao thức truyền thông khác dạng plugin • Xây dựng hệ thống thơng điệp kích hoạt đối tượng dựa SOAP/WSRF • Xây dựng cơng cụ chuyển ñổi từ ñối tượng song song POP-C++ sang dạng WSDL ngược lại Công cụ cho phép dịch vụ chuẩn WSRF khơng viết POP-C++ gọi dịch vụ WSRF/POPii C++ ngược lại, dịch vụ tính tốn POP-C++ gọi dịch vụ WSRF khác (e.g GT4 GRAM) Tích hợp POP-C++ lưới EDAGRID (Campus Grid) nối chia sẻ tài ngun tính tốn ðHBK TPHCM Xây dựng phát triển ứng dụng lưới triển khai thử nghiệm mơi trường lưới EDAGRID: • Song song hóa ứng dụng cho phép sử dụng tài nguyên phân bố mặt vật lý • Xây dựng Grid portal cho ứng dụng • Chạy, đo đạc đánh giá hiệu iii SUMMARY OF RESEARCH CONTENT At the moment, depending on the concept of resources oriented distributed objects, we, along with the College of Engineering and Architecture of Fribourg, Switzerland, have been studying and developing a tool for high performance computing - POP-C++ [20, 28] The current open source version 1.1.1 of POP-C++ is owned by Dr Tuan-Anh Nguyen and Prof Pierre Kuonen (College of Engineering and Architecture of Fribourg, Switzerland) Developing an application using POP-C++ is quite simple POP-C++ extends C++ by adding some new keywords that allow declaring distributed objects based on requirements of quality of services (QoS) POP-C++ supplies the same syntax with C++ to implement methods of distributed objects Writing a distributed program in POP-C++ is as simple as writing a traditional program in C++ The current version of POP-C++ (1.1.1) only supplies fundamental components such as: a pre-compiler to convert POP-C++ source code to ANSI C++ language; a front-end compiler to automatically compile POP-C++ code to machine code, to distributed objects communication libraries based on TCP/IP connection and XDR format, to some services that allow communicating to PreWS GRAM of Globus Toolkit to launch an application It has not supported multi-protocol and multiencoding in this version yet Communicating between parallel objects based on TCP/IP connections is not allowed when computing resources are located in virtual networks or separated by firewall Grid communicating standard such as OGSA, WSRF has not been supported yet The project focuses on these main points: Study OGSI and WSRF standards Build a tool supporting programming using WSRF by extending POP-C++: • Study how to invoke a remote method by using HTTP/SOAP • Study how to extend POP-C++ libraries • Extend POP-C++ libraries to support multi-protocol and multi-encoding as plugins • Implement message-encoding based on SOAP/WSRF • Implement a tool that supports converting POP-C++ objects to WSDL and vice versa This tool makes standard WSRF services that are not written in POP-C++ can invoke a service written in WSRF/POP-C++ and vice versa, it also makes POP-C++ computing services be able to invoke other services based on WSRF (e.g GT4 GRAM) Integrate POP-C++ into EDAGRID (Campus Grid) to connect and share computing resources of HCMUT Build and develop grid applications and test them on EDAGRID: iv • Parallel application to utilize physical distributed resources • Build a Grid portal for that application • Make some experiments to evaluate performance v MỤC LỤC TÓM TẮT NỘI DUNG NGHIÊN CỨU ii SUMMARY OF RESEARCH CONTENT iv MỤC LỤC vi DANH SÁCH CÁC CHỮ VIẾT TẮT viii DANH SÁCH BẢNG ix DANH SÁCH HÌNH x PHẦN MỞ ðẦU xii CHƯƠNG 1: TỔNG QUAN 1.1 Tổng quan tình hình nghiên cứu thuộc lĩnh vực đề tài 1.1.1 Ngoài nước: 1.1.2 Trong nước: 1.2 Tính cấp thiết ñề tài 1.3 Ý nghĩa tính khoa học thực tiễn CHƯƠNG 2: NỘI DUNG NGHIÊN CỨU 2.1 Phân tích yêu cầu toán 2.2 Phân tích tìm hiểu công nghệ/hệ thống liên quan 2.2.1 Tìm hiểu chuẩn WSRF 2.2.2 Tìm hiểu giao thức SOAP Web Services 14 2.2.3 Tìm hiểu thư viện xử lý XML có 16 2.2.3.1 2.2.3.2 2.2.3.3 2.2.3.4 Document Object Model (DOM) .17 Simple API for XML (SAX) .18 So sánh hai mơ hình DOM SAX 18 Xerces-C++ 19 2.2.4 Tìm hiểu thư viện hệ thống POP-C++ 19 2.2.5 Cơ chế kích hoạt phương thức từ xa định dạng thơng điệp POPC++ 22 2.2.5.1 Cơ chế kích hoạt phương thức từ xa 23 2.2.5.2 Cơ chế định dạng thơng ñiệp POP-C++ 24 2.3 Mở rộng POP-C++ hỗ trợ lập trình lưới 26 2.3.1 Thiết kế mở rộng POP-C++ hỗ trợ ñồng thời nhiều network protocol 26 2.3.2 Xây dựng hệ thống truyền thông POP-C++/HTTP 31 2.3.3 Thiết kế mở rộng POP-C++ hỗ trợ ñồng thời nhiều buffer 34 2.3.4 Thiết kế hệ thống ñịnh dạng liệu theo chuẩn WSRF 36 2.3.5 Xây dựng hệ thống trao ñổi liệu SOAP/XML 39 2.3.6 Tích hợp hệ thống vào POP-C++ 41 2.4 Tích hợp POP-C++ lên hạ tầng lưới EDAGrid 42 2.4.1 Mơ hình thực thi ứng dụng POP-C++ 42 2.4.2 Qui trình thực thi ứng dụng 43 vi 2.4.3 Mở rộng tích hợp POP-C++ vào EDAGrid 44 2.4.4 Cải tiến API giao tiếp ứng dụng POP-C++ môi trường thực thi 45 2.4.4.1 Runtime API 45 2.4.4.2 Nâng cấp mở rộng API có .46 2.4.5 Nâng cấp dịch vụ ứng dụng hỗ trợ service plugin 47 2.4.6 Tích hợp POP-C++ EDAGrid 48 2.5 Công cụ hỗ trợ 50 2.5.1 Cơng cụ chuyển đổi giao tiếp (API) WSRF POP-C++ 51 2.5.1.1 Kiến trúc POP-C++ compiler 51 2.5.1.2 Công cụ tạo WSDL từ source POP-C++ 52 2.5.2 Công cụ tự ñộng sinh ñối tượng song song từ ñặc tả WSDL/WSRF 53 2.5.2.1 Cấu trúc file WSDL 54 2.5.2.2 Cách thực 56 2.6 Ứng dụng POP-C++ cho toán thiết kế vi mạch 56 2.6.1 Song song hóa giải thuật 56 2.6.2 Xây dựng Grid portal cho ứng dụng 57 2.6.2.1 2.6.2.2 2.6.2.3 2.6.2.4 Tìm hiểu EDAGrid 57 Tìm hiểu tốn thiết kế vi mạch 59 Tìm hiểu Grid portal 60 Thiết kế giao diện Portlet cho toán thiết kế vi mạch 62 CHƯƠNG 3: KẾT QUẢ VÀ THẢO LUẬN 66 3.1 ðánh giá kết dựa sản phẩm KH&CN 66 3.2 ðánh giá kết dựa việc chuyển giao công nghệ 67 3.3 ðánh giá kết dựa việc xây dựng phát triển hướng nghiên cứu 68 CHƯƠNG 4: KẾT LUẬN VÀ ðỀ NGHỊ 70 PHỤ LỤC 72 TÀI LIỆU THAM KHẢO 73 vii DANH SÁCH CÁC CHỮ VIẾT TẮT DOM Document Object Model SAX Simple API for XML SOAP Simple Object Access Protocol WSDL Web Services Description Language WSRF Web Service Resource Framework XDR External Data Representation Standard viii DANH SÁCH BẢNG Bảng - 1: So sánh kích thước thơng điệp XDR SOAP 19 Bảng - 2: Một số thư viện hệ thống POP-C++ 21 Bảng - 1: Sản phẩm ñề tài so với ñăng ký 66 Bảng - 2: Sản phẩm khoa học ñề tài 67 ix DANH SÁCH HÌNH Hình - 1: Mơ hình lập trình lưới (dựa [3]) Hình - 1: Cách tiếp cần hệ thống POP-C++ phiên 1.1.1 mơi trường có firewall Hình - 2: Mơ hình đề xuất hệ thống POP-C++ phiên mơi trường có firewall Hình - 3: Một lời gọi Web Service [2] Hình - 4: Lời gọi Web Service khơng có trạng thái [2] 10 Hình - 5: Lời gọi Web Service có trạng thái [2] 11 Hình - 6: Mối quan hệ OGSA, GT4, WSRF, Web [2] 12 Hình - 7: WS-Resource [2] 13 Hình - 8: Gửi nhận thơng điệp thông qua giao thức SOAP 14 Hình - 9: Trao đổi thơng điệp dùng giao thức SOAP [7] 15 Hình - 10: Cấu trúc SOAP message [12] 16 Hình - 11: Cấu trúc DOM [38] 17 Hình - 12: Quá trình tạo đối tượng POP-C++ [19] 20 Hình - 13: Lược đồ lớp số đối tượng POP-C++ 21 Hình - 14: Giao tiếp ñối tượng POP-C++ 23 Hình - 15: Gửi nhận thơng điệp đối tượng Interface Object 24 Hình - 16: ðịnh dạng buffer 25 Hình - 17: Mơ hình kết nối đối tượng combox POP-C++ 27 Hình - 18: Q trình kết nối đối tượng POP-C++ sử dụng combox 29 Hình - 19: Quá trình load combox plugin hệ thống POP-C++ 30 Hình - 20: Giao tiếp ñối tượng sử dụng combox_http 32 Hình - 21: Gửi nhận thơng điệp đối tượng thơng qua buffer 34 Hình - 22: Q trình trao đổi liệu POP-C++ 36 Hình - 23: Request message theo ñịnh dạng WSRF 38 Hình - 24: Response message theo ñịnh dạng WSRF 39 Hình - 25: Request SOAP message 41 Hình - 26: Response SOAP message 41 Hình - 27: Kiến trúc phân lớp POP-C++ 42 Hình - 28: Tương tác dịch vụ ứng dụng (service A) dịch vụ toàn cục (service B) 43 Hình - 29: Các bước khởi tạo thực thi parallel object 44 Hình - 30: Tổ chức lại API POP-C++ runtime service 46 Hình - 31: Cơ chế plugin dịch vụ vào POP-C++ 48 Hình - 32: Tích hợp POP-C++ vào EDAGrid 49 Hình - 33: POP-C++ compiler 51 Hình - 34: Các thành phần POP-C++ parser 52 x mạng lưới bán lẻ, ngân hàng, website bán hàng cỡ lớn hay quản lý tài nguyên công ty Một số portal chuyên nghiệp loại kể đến Microsoft SharePoint, Oracle ApplicationServer, IBM WebSphere • Website Portal: Portal loại khơng khác website tùy biến Với loại này, người sử dụng dựa theo chuẩn viết portal để tự xây dựng tích hợp thêm module Các portal ñược xây dựng thường thỏa mãn tính sau: • ðăng nhập lần: Khi đăng nhập, portal quản lý thơng tin người dùng thơng qua session, cần phải lấy thông tin hay mật người dùng cho ứng dụng mới, người dùng không cần phải nhập lại thơng tin • Cá nhân hóa: Khi muốn sử dụng hệ thống portal, người dùng ñược cung cấp tài khoản riêng Với tài khoản họ tùy biến giao diện theo ý thích, thêm bớt module hay gỡ bỏ chúng, … Nói chung họ thao tác portal theo ý thích mà khơng sợ ảnh hưởng đến người khác • Dịch vụ tự hoạt ñộng (self-service): Các module hệ thống Portal có khả tự hoạt động cách ñộc lập, không phụ thuộc hay ảnh hưởng ñến module khác Mỗi thêm vào, chúng có nguồn liệu khác nhau, vịng đời khác phương thức hoạt ñộng khác hẳn ðể làm ñược ñiều người phát triển hệ thống phải viết tất module theo chuẩn định • Tùy biến ngơn ngữ: Cơng nghệ portal có hỗ trợ phương pháp ñể giúp người phát triển ứng dụng xây dựng portal dạng nhiều ngôn ngữ khác với cơng sức bỏ Khi sử dụng người dùng tùy ý sử dụng ngơn ngữ mà portal cung cấp Với tìm hiểu trên, ta kết luận Web Portal có ưu điểm so với website thơng thường Người dùng Web Portal tùy biến giao diện, lựa chọn ngôn ngữ sử dụng, tự thêm bớt module tùy thích, … Grid Portal khái niệm mới, ta hiểu nơm na có tính ñầy ñủ Web Portal, nhiên Grid Portal ñược phát triển ñể làm cổng ñiện tử cho hệ thống lưới Ngoài việc cung cấp dịch vụ thơng thường thơng báo, upload/download file, tìm kiếm, … Grid Portal cung cấp dịch vụ lưới dịch vụ khám phá tài nguyên lưới, dịch vụ thực thi ứng dụng môi trường lưới, dịch vụ chuyển file môi trường lưới, … Mỗi Grid Portal phải gắn với hệ thống lưới xác ñịnh Khi người dùng muốn sử dụng dịch vụ lưới họ phải có tài khoản hệ thống lưới tài khoản phải có quyền sử dụng dịch vụ 61 Cũng giống Web Service, người phát triển ứng dụng xây dựng module ñộc lập với theo chuẩn xác định Mỗi module hiểu portlet Như portal có chứa nhiều portlet, người sử dụng tùy biến để sử dụng số portlet định Hiện có chuẩn ñể xây dựng portlet jsr-168 jsr-268 Chuẩn jsr-268 ñời sau ñược xem phiên cải tiến chuẩn cũ jsr-168 Một vài cải tiến chuẩn jsr-268 bao gồm: • Các portlet giao tiếp với thông qua kiện (event) tham số tồn cục (public renter parameter) • Tạo tài ngun động cách trực tiếp thơng qua portlet • AJAX JSON phục vụ trực tiếp thơng qua portlet • Thêm khái niệm lọc lắng nghe portlet (portlet filter, portlet listener) 2.6.2.4 Thiết kế giao diện Portlet cho toán thiết kế vi mạch Portlet cho tốn thiết kế vi mạch dùng cổng truy xuất giúp quản lý file vi mạch input người dùng, cho phép người dùng upload file bilf dạng thô lên portal, tối ưu hóa file vi mạch download file ñã ñược tối ưu Portlet cho toán thiết kế vi mạch module nhỏ toàn cục hệ thống tốn lưới tính tốn VN-Grid, portlet cần phải xây dựng cho có khả tích hợp vào portal VN-Grid ñã ñược xây dựng Portal VN-Grid grid portal xây dựng dựa framework OGCE, cho phép người dùng có khả quản lý thơng tin họ, triệu gọi dịch vụ lưới VN-Grid, chạy ứng dụng có sử dụng lưới VN-Grid ðể sử dụng portlet VN-Grid, người dùng cần phải có tài khoản portal, đồng thời người phải có tài khoản lưới VN-Grid để xác thực cấp quyền lưới VN-Grid để truy xuất vào lưới VN-Grid Hiện portal VN-Grid viết portal sử dụng chuẩn jsr-168, để tích hợp portlet cho toán thiết kế vi mạch vào portal VN-Grid, portlet phải ñược viết theo chuẩn jsr-168 Qua q trình tìm hiểu phân tích, chúng tơi thiết kế portlet cho toán thiết kế vi mạch có chức sau: • Cho phép người dùng upload file blif lên hệ thống • Quản lý file blif ñã ñược upload lên hệ thống, người dùng có khả xóa xem thơng tin file họ upload • Cho phép người dùng tối ưu hóa file blif họ upload 62 • Trong q trình ttối ưu vi mạch, người dùng chọn ch thơng số đầu vào (số lượng ng file script, m file script gì, nhập p vào workflow để đ có kết tốii ưu hơn, …) 2.6.2.5 Kếtt qu tính tốn ðể minh họaa cho vi việc sử dụng POP-C++, vớii thư viện vi hỗ trợ lập trình metaheuristic, nhóm th thực ñề tài ñã sử dụng tập p tốn tối t ưu tổ hợp chuẩn IWLS’93 đư ñược nhiều nhóm nghiên cứu sử dụng ng ñánh giá kết k nghiên cứu (xem thêm [22]) Các tốn sử dụng ng đư trình bày bảng sau Trong khuôn khổ ccủa báo cáo tính tốn tiêu biểểu trình bày ñể minh họa khả củaa ssản phẩm mà thơi Nếu người đọcc có nhu cầu c tham khảo tính tốn khác có th thể liên hệ trực tiếp nhóm tác giả để th giới thiệu kỹ (hoặcc xem xét qua báo mà nhóm đđã cơng bố) - Tính tốn 1: mộột tính tốn thực n workflow dư ñây, sử dụụng nhánh tính tốn Trong đó, HC Hill Climbing, SA Simulated Annealing, TS Tabu Search (các tham ssố mặc định sử dụng ng cho tính tốn) - Mạch #lit(in) MIS RAMBO Pert/Sim LogicOpt C3540 2778 2145 1976 1876 1548 C7552 6583 3513 3521 2851 2125 C6288 7184 5237 4666 3766 3490 des 7657 6095 6145 5718 3664 apex6 1422 1260 1291 1086 788 Trong bảng ng trên, ccột #lit(in) xác ñịnh số lượng literal củaa vị v mạch nhập vào, cộtt MIS, RAMBO, Pert/Sim kkết tính tốn đư trình bày báo cáo Chang đồng tác giả Kết tính toán cho thấy th việc sử dụng phối hợpp thu thuật tốn metaheuristic (cộtt LogicOpt) đem lại nhiều hiệu (vi mạch ch có ssố lượng literal nhỏ trường trư hợp) Tính tốn 2: mộột tính tốn phân bố thực n EDAGrid, sử dụng lạii workflow tính tốn ði ðiều u có nghĩa ngh người dùng 63 POP-C++, thư viện hỗ trợ metaheuristic không cần phải thay đổi nhiều triển khai tính tốn hạ tầng lưới Kết tính tốn cho số tốn trình bày bảng sau: Mạch C3540 C7552 C6288 des apex6 nhánh #lit Time (giây) 1382 161 2458 461 3378 222 3597 1241 756 110 16 nhánh #lit Time (giây) 333 1379 2281 >4000 723 3300 3583 2569 186 736 32 nhánh #lit Time (giây) 1383 525 1623 2263 3300 1451 3593 3591 749 284 Trong bảng sau, rõ ràng nghiệm tốt tìm sử dụng nhiều nhánh tính tốn ðiều dễ hiểu tính đa dạng tìm kiêm ñược tăng lên Tuy nhiên, vấn ñề mà nhóm cần phải khắc phục tương lai thời gian tính tốn Mặc dù tài ngun tính tốn dư thừa (có nghĩa việc cấp phát ñược thực có yêu cầu), mà phí tổn thư viện metaheuristic cịn lớn thực tính tốn lớn ðánh giá hiệu suất truyền tin: bảng trình bày kết ño ñạc thực lần triệu gọi hàm mảng có kích thước khác nhau, sử dụng tổ hợp phương thức truyền nhận/mã hóa: SOCKET/XDR, HTTP/XDR, HTTP/SOAP Chi tiết thời gian, dùng SOCKET/XDR 100% 80% 60% 40% 20% 0% send data 4096 1024 256 64 16 encode/decode Time (%) - nhánh #lit Time (giây) 1548 150 2506 220 3490 160 3664 851 755 110 Array size (INTEGER) 64 100% 80% 60% 40% 20% 0% send data 4096 1024 256 64 16 send HTTP header Time (%) Chi tiết thời gian dùng HTTP/XDR encode/decode Array size (INTEGER) 100% 80% 60% 40% 20% 0% send data 4096 1024 256 64 16 send HTTP header Time (%) Chi tiết thời gian dùng HTTP/SOAP encode/decode Array size (INTEGER) Rõ ràng phương thức sử dụng HTTP/XDR, phí tổn xuất làm giảm tốc độ truyền nhận ðó phần HTTP header, ảnh hưởng khơng lớn Sự ảnh hưởng thể rõ tổ hợp HTTP/SOAP thời gian dành cho mã hóa giải mã liệu gần chiếm hết tổng thời gian truyền tin (nhất kích thước liệu lớn) ðây ñiểm mà nhóm ý định hướng cho nghiên cứu tương lai mã nói rõ chương 65 CHƯƠNG 3: KẾT QUẢ VÀ THẢO LUẬN Phần khái quát lại kết ñã ñạt ñược toàn ñề tài Báo cáo chi tiết kết khối công việc trình bày phần chun sâu phía trước ðể giúp cho việc ñánh giá kết ñã ñạt ñược cách dễ dàng xác, báo cáo trình bày kết dựa tiêu chí riêng biệt mảng KH&CN 3.1 ðánh giá kết dựa sản phẩm KH&CN ðể cho người ñọc thấy ñược kết ñạt ñược chưa ñạt ñược ñề tài, phần trình bày cung cấp kết ñã ñăng ký [14] sản phẩm ñạt ñược dạng bảng sau Bảng - 1: Sản phẩm ñề tài so với ñăng ký TT Sản phẩm Chương trình parser tự động tạo Grid service interface từ ñối tượng song song POP-C++ Chương trình tự động chuyển interface WSRF Grid Service (WSDL) thành interface ñối tượng song song POP-C++ Xây thư viện kích hoạt phương thức từ xa POP-C++ cho phép hỗ trợ nhiều giao thức truyền thơng điệp đồng thời Xây dựng module truyền thơng điệp dựa giao thức HTTP Xây dựng module mã hố thơng điệp theo chuẩn WSRF Dịch vụ thực thi ứng dụng POPC++ mơi trường lưới EDAGrid Kết Chú thích Hồn thành Sản phẩm cung cấp dạng tiện ích hỗ trợ gói POP-C++ Hồn thành Sản phẩm cung cấp riêng lẻ công cụ hỗ trợ Hồn thành Sản phẩm tích hợp vào phiên POP-C++ Hoàn thành Sản phẩm ñược cung cấp riêng lẽ plugin dùng ñể cấu hinh cho POP-C++ Hồn thành Sản phẩm cung cấp riêng lẽ plugin dùng ñể cấu hinh cho POP-C++ Hồn thành POP-C++ bổ sung thử nghiệm hệ thống tính tốn gồm có đầy đủ thành phần gồm: firewall, proxy, máy trạm máy cụm Sản phẩm ñược cung cấp dạng portal cho ứng dụng giải toán tối ưu vi mạch tổ hợp Như trình bày phần chun mơn, sản phẩm tạo khn khổ ñề tài ñã ñược tích hợp vào phiên POP-C++ 66 cung cấp gói riêng biệt tùy theo nhu cầu sử dụng Chi tiết xem wiki POP-C++ địa http://gridgroup.hefr.ch/popc/doku.php Về mặt khoa học có nhiều hoạt động khoa học đáng khích lệ bảng sau Bảng - 2: Sản phẩm khoa học ñề tài TT ðăng ký Kết Bài báo khoa học mơ hình lập trình lưới (tối thiểu bài) - chấp nhận trình bày ñăng kỷ yếu hội nghị IWACI’09 (IEEE International Workshop on Advances of CyberInfrastructure), 811/12, Shenzhen, China “Extending POP-C++ to Integrate Web Services into Parallel Objects” [21] - chấp nhận trình bày HPSC2009 (Fourth International Conference on High Performance Scientific Computing), 2-6/3, 2009, Hanoi, Vietnam ðang chờ kết xét duyệt ñể ñăng kỷ yếu (Springer) “The Workflow Framework for Metaheuristic Search on Grid Environment” [5] Luận văn thạc chủ nhiệm ñề tài ñã hướng dẫn sỹ (2 luận văn) nhiều ñề tài sử dụng POP-C++ lĩnh vực khác nhau, chủ yếu khoa học tính tốn Chú thích Mặc dù chưa đạt hồn tồn kết đề ra, nhóm tác giả tin tưởng báo thứ ñược chấp nhận (tuy nhiên thời gian xét duyệt kỷ yếu HPSC2009 lâu, năm) Trong phần báo khoa học, liệt kê báo có nội dung gắn chặt với kết nghiên cứu khuôn khổ ñề tài Tuy nhiên, nhiều báo khác ñã sử dụng POP-C++ phần ñược tài trợ ñã ñược công bố [4, 9, 17] ðiều ñã chứng tỏ khả POP-C++ nhiều ngành khác nhau, thể tính tiện dụng POP-C++ lĩnh vực tính tốn Phần hướng dẫn sinh viên làm luận văn thạc sỹ ñại học, báo cáo khơng trình bày chi tiết có nhiều luận văn hồn thành theo hướng thời gian thực ñề tài ñược hướng dẫn thành viên tham gia ñề tài POP-C++ 3.2 ðánh giá kết dựa việc chuyển giao công nghệ ðây điểm cịn hạn chế mặt kết việc thực ñề tài Mặc dù đạt kết chun mơn đáng khích lệ, việc chuyển giao cơng nghệ cịn gặp nhiều cản trở Q trình chuyển giao cơng nghệ gặp phải số vấn đề sau: 67 • Nơi tiếp nhận (ñơn vị sản xuất kinh doanh) chưa thực có nhu cầu Nhóm chủ động tìm kiếm đối tác để triển khai kết nghiên cứu (chẳng hạn nhóm ñã tiếp xúc với số công ty phát triển phần mềm quản lý danh mục đầu tư), tình hình kinh doanh đơn vị kinh doanh chưa ñạt ñến mức ñộ sử dụng kết chun gia nhóm • Q trình làm việc nhóm cịn mang nặng nghiên cứu túy Việc hồn thiện chức sản phẩm chuẩn hóa quy trình cơng nghệ chưa quan tâm nhiều ðiều gây khó khăn cho hoạt động chuyển giao (nếu có), cho dù khả cơng nghệ ñã phát triển có tiềm ứng dụng Cụ thể sản phẩm ñề tài dừng lại mức ngơn ngữ lập trình, từ đến việc xây dựng sản phẩm cơng nghệ cịn nhiều công việc phải làm Mặc dù vậy, cơng nghệ phần mềm phát triển nhóm có ích cho nghiên cứu lĩnh vực tính tốn hiệu cao Sản phẩm nhóm ñã bổ khuyết phần mối liên kết phát triển ứng dụng xây dựng hạ tầng tính tốn mạnh, cụ thể lưới tính tốn Ngồi việc chuyển giao cơng nghệ cho nhóm nghiên cứu khác (sẽ trình bày phần sau), nhóm chuyển giao kết sang lĩnh vực ñào tạo Cụ thể POP-C++ công cụ minh họa giảng mơn học “Tinh tốn lưới” chương trình ñào tạo thạc sỹ Khoa Khoa học Kỹ thuật Máy tính, ðH Bách khoa TP.HCM 3.3 ðánh giá kết dựa việc xây dựng phát triển hướng nghiên cứu Một thành cơng đề tài cầu nối nhóm nghiên cứu xây dựng hạ tầng tính tốn nhóm nghiên cứu ứng dụng ðây thách thức mà nhiều ñề tài nghiên cứu khoa học cơng nghệ chưa đạt ñược, có tham vọng Kết đề tài khơng có to tát, cụ thể hóa ngơn ngữ quen thuộc, giúp cho người nghiên cứu ứng dụng bỏ qua nghiên cứu phụ (không thuộc chuyên ngành) tập trung vào đối tượng nghiên cứu ðó POP-C++ sử dụng ngôn ngữ C++ mở rộng truyền thông dùng WSRF/SOAP, cung cấp cho người dùng nhiều tiện lợi giai ñoạn phát triển Và giai ñoạn triển khai, POP-C++ giúp dễ dàng thực tính tốn lớn lưới, vượt qua rào cản truyền thơng tường lửa, mạng riêng ảo Việc xây dựng cầu nối thể rõ qua việc POP-C++ ñược sử dụng nhiều ứng dụng khác (ở Việt Nam) như: • Tính tốn mềm: thư viện hỗ trợ tính tốn mềm lưới [5], • Thiểt kế vi mạch: tối ưu vi mạch tổ hợp dùng thư viện tính tốn mềm [22], • Thiết kế thí nghiệm: dùng POP-C++ ñể liệt kê dãy trực giao [9] • Mật mã: dùng POP-C++ để kiểm tra độ mạnh khóa [6] 68 Các hoạt ñộng nghiên cứu phát triển cơng nghệ suốt thời gian nhiệm vụ ñược ñánh dấu báo khoa học nhiều hội nghị ngồi nước ðây ñiều kiện quan trọng giúp cán nghiên cứu trẻ có học bổng học sau đại học nước ngồi Cụ thể nhóm ñã: • Cử cán trẻ sang Thụy Sỹ thực tập làm luận văn tốt nghiệp thạc sỹ hướng checkpointing POP-C++ • Cử cán trẻ sang EPFL, Thụy Sỹ để theo học chương trình cao học Về mặt xây dựng quan hệ nghiên cứu nhóm có kết nối chặt chẽ với nhóm nghiên cứu khác: • VN-Grid: đề tài trọng ñiểm ðHQG TP.HCM hướng ñến việc xây dựng lưới tính tốn trường ðH • Nhóm tính tốn lưới tiện ích, University of Applied Sciences of Fribourg, Thụy Sỹ GS Pierre Kuonen: phát triển POP-C++ Do có biến động nhân chủ nhiệm đề tài, nên nhóm Việt Nam tương lai hướng ñến phát triển ứng dụng thư viện phục vụ phát triển ứng dụng • Nhóm thiết kế vi mạch, khoa KH&KT MT, ðH Bách khoa TP.HCM • Nhóm thiết kế thí nghiệm, khoa KH&KT MT, ðH Bách khoa TP.HCM • Nhóm nghiên cứu mô hàng không, khoa Giao thông, ðH Bách khoa TP.HCM 69 CHƯƠNG 4: KẾT LUẬN VÀ ðỀ NGHỊ Mặc dù gặp nhiều khó khăn q trình thực hiện, nhân chủ nhiệm ñề tài bị thay đổi q trình thực lý khách quan, đề tài hồn thành tiến ñộ Sau thời gian dự ñịnh năm, ñề tài hồn thành mục tiêu đề tài khoa học cơng nghệ Sở KH&CN TP.HCM Về mặt chuyên môn, thách thức khoa học cơng nghệ nhóm thực đào sâu tìm hiểu đề xuất ý tưởng khoa học Có thể nhấn mạnh thêm thách thức ñược quan tâm Việt Nam vài năm trở lại ñây Với ñội ngũ khoa học mạnh tiền ñề tốt hợp tác nghiên cứu, sở vật chất tính tốn ñược ñầu tư tốt nhóm nghiên cứu ñã mạnh dạn ñối mặt với thách thức ñi ñến kết quả: Xây dựng cơng cụ lập trình cho tính tốn thích nghi hiệu cao mơi trường tính toán lưới Nhằm phát huy tác dụng mạnh mẽ tính tốn lưới hạ tầng tính tốn hiệu cao, ñề tài ñã hướng ñến xây dựng cải tiến cơng cụ lập trình thích hợp Vấn đề mà đề tài giải kết hợp mạnh mẽ ngơn ngữ C++ nói chung POP-C++ nói riêng với ưu cơng nghệ truyền thơng ngày nay, Web service, để tạo sản phẩm có tính thích nghi cao ðiều có ý nghĩa sử dụng mơi trường đa dạng (về nhiều mặt) lưới tính toán Một ý nghĩa sử dụng quan trọng thực HTTP/SOAP với chế hỗ trợ nhiều protocol cho phép bổ sung dễ dàng phương thức truyền nhận khác (dưới dạng plugin) Tuy nhiên, mục tiêu mà ñề tài chưa ñáp ứng ñến mức cao chuyển giao cơng nghệ đem lại hiệu kinh tế Hơn nữa, nghiên cứu khoa học bí cơng nghệ tạo nhiệm vụ cịn xa so với định hướng kinh doanh thị trường Việt Nam Kết ñã ñạt ñược quan trọng mục tiêu chuyển giao công nghệ ñề tài liên quan ñến việc sử dụng POPC++ nhiều lĩnh vực ứng dụng khác ðiều đem đến khích lệ lớn cho nhóm nghiên cứu hy vọng nhóm ứng dụng có hội chuyển giao cơng nghệ, sử dụng tảng lập trình mà đề tài thực Ngồi ra, sản phẩm kiến thức ñã nắm bắt tạo đúc kết thành mơn học ñại học cao học ñưa vào triển khai ñào tạo ðH Bách khoa TP.HCM Một thành cơng quan trọng mà đề tài đạt đặt tảng vững cho nhóm nghiên cứu đến cơng cụ lập trình phục vụ người dùng ðây đề tài khoa học mà nhiều sinh viên ñại học cao học ñang thực ðH Bách khoa TP.HCM Hơn nữa, hoạt động nghiên cứu khn khổ đề tài ñã tạo kết nối nghiên cứu với đối tác giới 70 Tính tốn khoa học hướng ñang ñược ñầu tư mạnh giới Việt Nam năm gần ñây Theo ý kiến chủ quan nhóm nghiên cứu thi khó khăn thiếu kết nối nhóm nghiên cứu Hơn nữa, kết nối phải ñược thể cụ thể qua sản phẩm đạt kết khoa học công nghệ xa Qua thời gian thực hiện, nhóm nghiên cứu rút kinh nghiệm cho hướng nghiên cứu nhóm ñến mục tiêu xa sau: • Xây dựng mơi trường có giao diện đồ họa phát triển ứng dụng tính tốn sử dụng POP-C++ ngơn ngữ lập trình chính, • Hồn thiện thư viện tính tốn mềm hỗ trợ tối ưu tổ hợp, • Sử dụng POP-C++ mô phỏng, cụ thể mô giao thông Việt Nam dựa lý thuyết Cellular Automata (đã thử nghiệm thành cơng mơ tuần tự) • Sử dụng POP-C++ để phát triển Web service phục vụ tính tốn lớn, thơng dụng cung cấp cho người dùng nhiều dạng khác (Web service, portlet,…) Nhóm nghiên cứu mong muốn Sở KH&CN TPHCM hỗ trợ thêm để nhóm tiếp cận ñược với doanh nghiệp có nhu cầu giải tốn tính tốn lớn 71 PHỤ LỤC Một số hình ảnh nh liên quan đđến cộng tác liên kết giữaa nhóm nghiên cứu c nhóm giáo sư Kounen tạại Trường Kỹ Sư Kiến n Trúc Fribourg, Thụy Th Sĩ ñược ñăng tải website củaa POP POP-C++ 72 TÀI LIỆU THAM KHẢO [1] Bernman, F and Hey, T and Fox, G., Grid Computing – Making the Global Infrastructure a Reality, John Wiley & Sons, Ltd., 2003 [2] Borja Sotomayor, Globus Toolkit Programmer's Tutorial, 2005 [3] C Lee et al., A Grid programming primer, Technical report, Advanced Programming Models Research Group, Grid Forum, August 2001 http://www.eece.unm.edu/~apm/docs/APM Primer 0801.pdf [4] D H S Phan, T A Nguyen, POP-Java programming system, Proc International Workshop on Advanced Computing and Applications, Ho Chi Minh City, Vietnam, March 12-14, 2008 [5] D.-K Tran, T V Hoai, The Workflow Framework for Metaheuristic Search on Grid Environment, submitted to Proc of 4rd International Conference on High Performance Scientific Computing (HPSC2009), Mar 2-6, 2009, Hanoi, Vietnam [6] Dat C Nguyen, Thuc D Nguyen, Large integer factoring on grid computing environment, Journal of Sience and Technology, Vol 46, No 5A, VietNam Academy of Science, pp 193-204, 2009 [7] Ferreira, Luis and al., Introduction to Grid Computing with Globus, IBM, 2003 [8] Foster, I and Kesselman, C., The Grid – Blueprint for a new Computing Infrastructure, the 2nd edition, Morgan Kaufmann, 2004 [9] Hien H T Phan, Man V M Nguyen, T A Nguyen, Applying parallel computing for enumeration orthogonal arrays, Proc International Workshop on Advanced Computing and Applications, Ho Chi Minh City, Vietnam, March 12-14, 2008 [10] I Foster, Globus Toolkit Version 4: Software for Service-Oriented Systems, IFIP International Conference on Network and Parallel Computing, SpringerVerlag LNCS 3779, pp 2-13, 2006 [11] Lehning, M., Volksch, I., Gustafsson, D., Nguyễn Tuấn Anh, Stahli, M., Zappa, M., ALPINE3D: A detailed model of mountain surface processes and its application to snow hydrology, Hydrological Processes (20), 2006 [12] Maozhen Li, Mark Baker, The Grid: Core Technologies, John Wiley & Sons, 2005 73 [13] Nguyễn Thanh Sơn, ðặng Trần Khánh and Thoại Nam, DPPT – a Distributed and Parallel Programming Tool, presented in High Performance Scientific Computing, an International Conference, Hanoi, March 37-31, 2000 [14] Nguyen Tuan Anh et al., Thuyết minh đề tài “Xây dựng cơng cụ lập trình cho tính tốn thích nghi hiệu cao mơi trường tính tốn lưới”, 12/2007 [15] Nguyễn Tuấn Anh, Kuonen, P., ParoC++: Extending C++ to the Grid, The 2005 International Conference on Grid Computing and Applications, 2005, Las Vegas, Nevada, USA [16] Nguyễn Tuấn Anh, Nguyễn Cao ðạt, Nguyễn Quang Hùng, Trần Ngọc Minh, Thoại Nam, ðặng Tuấn Nghĩa, Nguyễn Thanh Sơn, EDAGrid@HCMUT: A Campus Grid Infrastructure for Service-centric Grid Applications, International Workshop on Advanced Computing and Applications, Ho Chi Minh City, 2007 [17] Nguyen Tuan Anh, Nguyen Cao Dat, Tran Ngoc Minh, Nguyen Thanh Son, Nguyen Quang Hung, Dang Tuan Nghia, EDAGRID@HCMUT: Một hạ tầng lưới tính tốn cho ứng dụng hướng dịch vụ, Tạp chí Phát triển Khoa học Công nghệ; Vol 10, No 13 (2007); 52-61 [18] Nguyễn Tuấn Anh, P Kuonen, Programming the Grid with POP-C++, Journal of Future Generation Computer Systems, No 23, p 23-30, 2007 [19] Nguyễn Tuấn Anh, POP-C++ Developer Documentation, Draft [20] Nguyễn Tuấn Anh, Mơ hình hướng đối tượng cho tính tốn thích nghi hiệu cao mơi trường tính tốn lưới, Luận án Tiến sĩ Viện Công Nghệ Liên Bang Thụy Sĩ (2004), http://library.epfl.ch/theses/?nr=3079 [21] T.-N Ngo, T.-A Nguyen, T.V Hoai, Extending POP-C++ to Integrate Web Services into Parallel Objects, Procs Of Fifteenth International Conference on Parallel and Distributed Computing, Dec 8-11, Shenzhen, China [22] Tran Van Hoai et al., Báo cáo EDAGrid, 2008 [23] Vũ Lê Hùng and Nguyễn Thanh Sơn, A New Approach to Parallel Application Development Using VEPAD, Proceedings of School on Scientific Computing and Applications, Ho Chi Minh City, March 4-6, 2002, pp.108-116 [24] Document Object Model (DOM), http://www.w3.org/DOM/ [25] External Data Representation editor.org/rfc/rfc4506.txt, 2006 Standard (XDR), http://www.rfc- [26] MPI – Message Passing Interface Standard, http://www.mpi-forum.org/ [27] MPICH-G, http://www3.niu.edu/mpi/ 74 [28] POP-C++ project, http://www.eif.ch/gridgroup/popc [29] Portal, http://tincongnghe.com/phan-mem/tim-hieu-portal.html [30] PVM – Parallel http://www.csm.ornl.gov/pvm/pvm_home.html Virtual Machine, [31] SAX, http://en.wikipedia.org/wiki/Simple_API_for_XML [32] Simple API for XML (SAX), http://www.saxproject.org/ [33] The Open Grid Services Architecture, http://www.gridforum.org/projects/ogsa-wg [34] Web Services Resource Framework, open.org/committees/tc_home.php?wg_abbrev=wsrf Version 1.0, http://www.oasis- [35] WSDL, http://www.w3.org/TR/wsdl [36] WSDL2Java, http://ws.apache.org/axis/java/user-guide.html [37] Xerces-C++ XML Parser, http://xerces.apache.org/xerces-c/ [38] XML DOM Tutorial, http://www.w3schools.com/dom/default.asp 75

Ngày đăng: 05/10/2023, 20:26

w