Đề tài nghiên cứu khoa học Ứng dụng GRID Computing khai thác nguồn tài nguyên nhàn rỗi trên hệ thống mạng máy tính

pdf 48 trang thiennha21 12/04/2022 7320
Bạn đang xem 20 trang mẫu của tài liệu "Đề tài nghiên cứu khoa học Ứng dụng GRID Computing khai thác nguồn tài nguyên nhàn rỗi trên hệ thống mạng máy tính", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfde_tai_nghien_cuu_khoa_hoc_ung_dung_grid_computing_khai_thac.pdf

Nội dung text: Đề tài nghiên cứu khoa học Ứng dụng GRID Computing khai thác nguồn tài nguyên nhàn rỗi trên hệ thống mạng máy tính

  1. TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM KHOA CÔNG NGHỆ THÔNG TIN THUYẾT MINH ĐỀ TÀI NCKH CẤP TRƯỜNG ĐỀ TÀI ỨNG DỤNG GRID COMPUTING KHAI THÁC NGUỒN TÀI NGUYÊN NHÀN RỖI TRÊN HỆ THỐNG MẠNG MÁY TÍNH Chủ nhiệm đề tài: NGUYỄN DUY TRƯỜNG GIANG Thành viên tham gia: TRẦN VĂN TUYỀN Hải Phòng, tháng 4/2016
  2. Đề tài nghiên cứu khoa học MỤC LỤC MỞ ĐẦU 1 1. Tính cấp thiết của vấn đề nghiên cứu 1 2. Các thách thức đối với lĩnh vực nghiên cứu 3 3. Mục tiêu, đối tượng, phạm vi nghiên cứu 3 4. Phương pháp nghiên cứu, kết cấu của công trình nghiên cứu 4 5. Kết quả đạt được của đề tài 4 CHƯƠNG I: CƠ SỞ LÝ THUYẾT 5 1.1. Một số khái niệm cơ bản 5 1.2. Các tính năng của tính toán lưới 6 1.3. Mô hình, nền tảng của tính toán lưới 7 1.4. Nền tảng của tính toán lưới 7 1.4.1. Tính toán lưới là gì và hoạt động như thế nào? 7 1.4.2. Mốt số thành phần cơ trong mô hình tính toán lưới 9 1.4.3. Các lợi ích của tính toán lưới 10 CHƯƠNG II: PHÂN TÍCH VÀ XÂY DỰNG HỆ THỐNG 11 2.1. Tổng quan về hệ thống được xây dựng 11 2.2. Cơ sở dữ liệu được sử dụng trong hệ thống 13 CHƯƠNG III: TRIỂN KHAI HỆ THỐNG 15 3.1. Chương trình Anthill 15 3.2. Yêu cầu cài đặt thệ thống 15 3.3. Cài đặt và chạy phần mềm trên máy chủ 15 3.4. Cài đặt và chạy phần mềm trên máy trạm 20 3.5. Thông tin chạy chương trình 26 i
  3. Đề tài nghiên cứu khoa học KẾT LUẬN 27 TÀI LIỆU THAM KHẢO 28 PHỤ LỤC 29 1. Chương trình đơn giản để test trên ANTHILL 29 2. Chương trình chạy trên ngôn ngữ FlexPde 29 3. Chương trình chạy trên ngôn ngữ ANSYS 34 4. Chương trình sinh tập mẫu để chạy trên ANSYS 42 ii
  4. Đề tài nghiên cứu khoa học DANH SÁCH HÌNH ẢNH Hình 1.1. Cấu trúc của hệ thống tính toán lưới 8 Hình 1.2. Mô hình tính toán lưới dựa trên Internet 8 Hình 1.3. Minh họa một hệ thống điện toán mạng lưới 9 Hình 2.1. Giao diện chính của chương trình AntHill 12 Hình 2.2. Thời gian thực hiện của hệ thống giải một bài toán cụ thể 13 Hình 2.3. Cơ sở dữ liệu của hệ thống 13 Hình 2.4. Một số bảng dùng trong hệ thống 14 Hình 3.1. Giao diện server khởi tạo thành công 16 Hình 3.2. Giao diện AntHill chạy thành công 16 Hình 3.3. Giao diện đăng nhập vào phần mềm trên máy chủ 17 Hình 3.4. Giao diện đăng ký một tài khoản mới vào phần mềm trên máy chủ 17 Hình 3.5. Giao diện tải chương trình lên máy chủ 17 Hình 3.6. Giao diện tải thành công chương trình 18 Hình 3.7. Giao diện cập nhật, sửa, xóa 18 Hình 3.8. Kết quả giải quyết một nhiệm vụ 19 Hình 3.9. Thời gian thực hiện trung bình của CPU 19 Hình 3.10. Thời gian thực hiện trung bình của mạng 20 Hình 3.11. Thời gian trung bình trên tổng thời gian thực hiện 20 Hình 3.12. Giao diện tải chương trình trên máy chủ 21 Hình 3.13. Giao diện bắt đầu cài đặt phần mềm trên máy trạm 21 Hình 3.14. Giao diện về các nội dung sẽ cài đặt 22 Hình 3.15. Giao diện thiết lập đường dẫn trên máy trạm 22 Hình 3.16. Lựa chọn vị trí xuất hiện của chương trình 23 Hình 3.17. Lựa chọn xuất hiện trên màn hình 23 Hình 3.18. Tiến hành cài đặt 24 Hình 3.19. Cài đặt hệ thống 24 Hình 3.20. Kết thúc cài đặt phần mềm trên máy trạm 25 Hình 3.21. Cấu hình máy trạm 25 Hình 3.22. Log file 26 iii
  5. Đề tài nghiên cứu khoa học DANH SÁCH THUẬT NGỮ, CHỮ VIẾT TẮT Chữ viết tắt Trang CERN - tổ chức Châu âu về nghiên cứu hạt nhân 2 ESA - cơ quan vũ trụ Châu âu 2 VO - Virtual Organization 7 ĐTML - Điện toán mạng lưới 7 iv
  6. Đề tài nghiên cứu khoa học MỞ ĐẦU 1. Tính cấp thiết của vấn đề nghiên cứu Trong vài năm trở lại đây tính toán phân tán đã phát triển mạnh mẽ, mở ra các giải pháp mới cho các ứng dụng đòi hỏi khả năng tính toán lớn. Tính toán phân tán có thể được sử dụng cho các bài toán nghiên cứu về cơ học, vật lý, điện tử và xuất phát từ nhu cầu thực tế của con người. Các tiến bộ liên tục trong nghiên cứu khoa học tự giải thích về nhu cầu vô cùng to lớn đối với sức mạnh tính toán. Mặt khác, một trong những kết quả của tiến bộ khoa học là sự sẵn có của nhiều hơn và mạnh hơn các nền tảng máy tính. Ngày nay, hướng nghiên cứu về tính toán phân tán đóng một vai trò quan trọng trong việc giải các bài toán khoa học kỹ thuật đòi hỏi thời gian tính toán lớn. Thực hiện được điều này sẽ giảm đáng kể các chi phí để trang bị các siêu máy tính phục vụ công việc tính toán. Việc tính toán phân tán cũng giải quyết được các hoạt động khoa học đối với các chủ thể ở xa thông qua hệ thống mạng máy tính. Với tính toán phân tán, hạ tầng công nghệ thông tin là vấn đề cốt lõi của hệ thống. Trong thập kỷ qua, cuộc cách mạng Internet dẫn đến sự bùng nổ về các ứng dụng web. Dựa trên nền web có thể xây dựng được ứng dụng xử lý phân tán. Do đó, việc tận dụng nền web mở ra những quan điểm mới trong quá trình tính toán phân tán để ứng dụng giải quyết các bài toán khoa học, đây là một cách tiếp cận tự nhiên nhất để theo đuổi một mục tiêu tính toán phân tán. Công nghệ tính toán phân tán cho phép sử dụng mạng máy tính như một công cụ tính toán, phân nhóm hoặc kết nối một loạt các tài nguyên có khả năng phân phối trên một khu vực địa lý rộng lớn, bao gồm cả siêu máy tính, hệ thống lưu trữ, nguồn dữ liệu, các thiết bị phần cứng, và sử dụng chúng như là một tài nguyên thống nhất. Mở đầu cho quá trình này là dự án liên kết các trang web với nhau và bây giờ đã phát triển vượt xa mục đích ban đầu của nó, mở ra một kịch bản mới cho việc hợp tác, khai thác dữ liệu, giải các bài toán khoa học lớn và tính toán hiệu năng cao sử dụng các siêu dữ liệu. Đại học Hàng Hải Trang 1
  7. Đề tài nghiên cứu khoa học Các ứng dụng tính toán phân tán trực tuyến cho phép họ chia sẻ tài nguyên từ xa, thay đổi và sử dụng chúng một cách hiệu quả nhất. Trong bối cảnh này, một mạng lưới có thể được xem như là một môi trường tính toán toàn cầu, nơi mà hệ thống phân tán có thể được tạo ra và thực thi các yêu cầu. Tính linh hoạt của lưới làm cho hệ thống này linh động và cấu hình. Thông qua mạng lưới, các nhà nghiên cứu có thể nhanh chóng thay đổi các yêu cầu của mình nhằm thích ứng với nhu cầu giải quyết cụ thể theo từng thời điểm cũng như tận dụng hợp lý những thay đổi của hệ thống, cơ sở hạ tầng và nguồn lực. Khai thác dữ liệu trên hệ thống cũng quan trọng đặt biệt là khi xử lý lượng lớn dữ liệu thì việc khai thác từ các trang web từ xa là hết sức cần thiết. Một số lĩnh vực nghiên cứu, chẳng hạn như phân tích khí hậu và nghiên cứu sinh học, yêu cầu lưu trữ và truy cập dữ liệu lên đến terabyte hoặc petabyte. Trong những trường hợp này, dữ liệu có thể phân bố trên một số trang web và sau đó khai thác để đưa đến một kết quả thống nhất. Đôi khi hệ thống cũng phải tạo ra các bản sao nhằm cải thiện hiệu suất xử lý và tăng cường độ tin cậy. Dịch vụ quản lý dữ liệu phân tán và sao lưu cũng hết sức quan trọng trong tính toán lưới. Tính toán với hiệu năng cao đòi hỏi một lượng lớn sức mạnh tính toán trong một thời gian dài. Ví dụ trong các bài toán cơ học về dầm, cầu hay đường ống muốn thử nghiệm nhiều lần và việc chia lưới nhỏ đòi hỏi một thời gian rất lớn để tính toán. Giải quyết vấn đề này trong tính toán phân tán thông qua việc mô phỏng bài toán phù hợp, xây dựng tập các tham số đầu vào khác nhau thì việc giải quyết sẽ được thực hiện trong một khoảng thời gian hợp lý. Tính toán phân tán sẽ khai thác các máy tính nhàn rỗi trong mạng để giái quyết vấn đề này. Tính toán lưới đã được các công ty và các trung tâm lớn nghiên cứu và ứng dụng như IBM, Microsoft, Google, tổ chức Châu âu về nghiên cứu hạt nhân (CERN), cơ quan vũ trụ Châu âu (ESA). Một số ứng dụng cụ thể của tính toán phân tán như lưu trữ GEN và giải quyết các bài toán liên quan đến GEN của con người nói riêng cũng như động vật nói chung, tìm kiếm phân tán, Đại học Hàng Hải Trang 2
  8. Đề tài nghiên cứu khoa học Hiện nay tại các phòng LAB, các phòng thực hành ở các đơn vị nghiên cứu khoa học hoặc các trường đại học đang bị sử dụng lãng phí: các máy tính trong các hệ thống này thường chỉ hoạt động khoảng 15% công suất, ngay cả các máy chủ cũng hoạt động với 30% công suất. Việc tận dụng hiệu quả các nguồn tài nguyên này có thể mang lại một sức mạnh tính toán khổng lồ. Mục tiêu của đề tài này là nghiên cứu tính toán phân tán và xây dựng một hệ thống giải các bài toán khoa học đòi hỏi thời gian tính toán lớn nhằm tận dụng nguồn tài nguyên nhàn rỗi này. 2. Các thách thức đối với lĩnh vực nghiên cứu Các thách thức mà công nghệ tính toán phân tán đang phải giải quyết bao gồm: - Các tài nguyên hết sức đa dạng, không đồng nhất. Tài nguyên ở đây bao gồm các tài nguyên về phần cứng, phần mềm, hệ thóng mạng Các tài nguyên này có thể được thiết kế khác nhau về giao diện, kiến trúc Việc tạo ra một ứng dụng cho phép khai thác, sử dụng hiệu quả là không dễ dàng và đây là thách thức vô cùng lớn đối với hệ thống tính toán phân tán. - Các tài nguyên không chỉ thuộc về một tổ chức mà thuộc về rất nhiều tổ chức tham gia. Các tổ chức phải tuân thủ một số quy định chung khi tham gia vào hệ thống còn nhìn chung là hoạt động độc lập tức là các tài nguyên này đều có quyền tự trị. Các tổ chức khác nhau thường có chính sách sử dụng hay cho thuê tài nguyên của họ khác nhau và do vậy cũng gây khó khăn cho việc quản lý. - Các tài nguyên phân tán rộng khắp về mặt địa lý do vậy cần có các cơ chế quản lý phân tán. - Đảm bảo an toàn thông tin cho một môi trường phức tạp như môi trường phân tán là rất khó khăn trong khi đây là một trong những điểm ưu tiên hàng đầu. 3. Mục tiêu, đối tượng, phạm vi nghiên cứu Mục tiêu của đề tài là ứng dụng xử lý phân tán để xây dựng một hệ thống giải quyết các bài toán với tập mẫu lớn thỏa mãn các nội dung: - Có sự kết hợp, chia sẻ các tài nguyên không được quản lý tập trung: thúc đẩy việc khai thác hiệu quả các tài nguyên nhàn rỗi. Ngoài ra tính toán phân tán Đại học Hàng Hải Trang 3
  9. Đề tài nghiên cứu khoa học cũng giúp cân bằng sử dụng tài nguyên tốt hơn. Với hệ thống phân tán việc thêm hoặc bớt tài nguyên được thực hiện một cách dễ dàng. - Sử dụng các giao diện và giao thức chuẩn, mang tính mở, đa dụng: Có khả năng tùy biến tốt với người dùng. Hệ thống cho phép người dùng mở rộng hệ thống tính toán dễ dàng và có thể giải quyết được số lượng nhiều bài toán khác nhau. - Đáp ứng yêu cầu cao về chất lượng dịch vụ: Cho phép xử lý song song nhằm sử dụng tối đa nguồn lực của các bộ vi xử lý. Đơn giản hóa các thao tác để có thể chia sẻ trên một cộng đồng lớn. Cho phép chia sẻ hiểu quả khả năng xử lý và dữ liệu đảm bảo độ tin cậy tối đa. 4. Phương pháp nghiên cứu, kết cấu của công trình nghiên cứu Phương pháp nghiên cứu của đề tài là kết hợp lý thuyết với thực tiễn. Kết cấu của đề tài là tìm hiểu, nghiên cứu về tính toán phân tán. Phân tích các bài toán có thể xử lý dựa trên tập mẫu lớn. Xây dựng chương trình kiểm thử và đưa ra các kết luận. 5. Kết quả đạt được của đề tài - Nghiên cứu về tính toán phân tán trên cơ sở đó đưa ra mô hình giải quyết vấn đề: giải các bài toán với tập mẫu lớn trên hệ thống máy tính nhàn rỗi. - Nghiên cứu cách thức hoạt động của các chương trình trên ngôn ngữ lập trình. - Xây dựng cơ sở dữ liệu để lưu trữ các thông tin trên máy chủ. - Xây dựng chương trình xử lý việc phân tán trên máy chủ. - Xây dựng phần mềm chạy trên máy trạm. - Đưa ra những đánh giá về hiệu năng sử dụng hệ thống. Đại học Hàng Hải Trang 4
  10. Đề tài nghiên cứu khoa học CHƯƠNG I: CƠ SỞ LÝ THUYẾT Hiện nay tính toán phân tán được ứng dụng rộng rãi trong lĩnh vực công nghệ thông tin. Với đề tài này tác giả tìm hiểu về kiến trúc của hệ thống tính toán phân tán từ đó đưa ra mô hình giải quyết bài toán khoa học với tập mẫu lớn thông qua hệ thống mạng máy tính nhằm tăng tốc độ giải quyết bài toán và tận dung được nguồn tài nguyên nhàn rỗi. 1.1. Một số khái niệm cơ bản Thời gian gần đây, mô hình tính toán lưới được nghiên cứu để giải nhiều bài toán đòi hỏi tính toán phức tạp với thời gian lớn. Mục tiêu là nhằm kết hợp sức mạnh tính toán, nguồn tài nguyên của các máy tính cơ bản phân tán ở những nơi khác nhau, tạo ra một hạ tầng tính toán tổng hợp thậm còn có thể mạnh hơn các siêu máy tính được đầu tư với một nguồn tiền lớn. Định nghĩa về tính toán lưới của Carl Kesselman và Ian Foster: “A computational grid is a hardware and software infrastructure that provides dependable, consistent, pervasive, and inexpensive access to high-end computational capabilities”. [1] Nhà khoa học Ian Foster đưa ra ba đặc điểm của một lưới thực sự : - Khai thác và sử dụng tài nguyên phân tán. - Hệ thống phát triển dựa trên các các giao thức chuẩn. - Hệ thống hoạt động và cho chất lượng dịch vụ tốt hơn so với việc hoạt động trên môi trường đơn lẻ. [1] Các khái niệm “tính toán lưới” với “tính toán ngang hàng” có điểm chung nhưng cũng có những điểm khác nhau. Điểm chung là cả hai cùng hoạt động nhằm khai thác tài nguyên trên hệ thống mạng máy tính, việc xây dựng với mỗi mô hình có những điểm mạnh, điểm yếu riêng. Tính toán lưới thường phục vụ cộng đồng người dùng với quy mô nhỏ hơn nhằm giải các bài toán tính toán trên tập mẫu lớn trong một lĩnh vực nghiên cứu nào đó. Tính toán lưới hỗ trợ khả năng tích hợp tài nguyên tốt hơn, đa dạng hơn tính toán ngang hàng. Ngược lại, các hệ thống tính toán ngang hàng thường được xây dựng dựa trên nền kiến trúc linh hoạt hơn, các hệ thống ngang hàng thường phục vụ cho một cộng đồng Đại học Hàng Hải Trang 5
  11. Đề tài nghiên cứu khoa học người dùng lớn hơn, có thể lên đến hàng triệu người, hệ thống này chủ yếu hỗ trợ việc chia sẻ tài nguyên, chia sẻ chu kỳ tính toán hoặc chia sẻ tệp. 1.2. Các tính năng của tính toán lưới Các bài toán trong các lĩnh vực khoa học khác nhau sử dụng tính toán lưới nhằm khai thác các năng lực nhàn rỗi trong hệ thống mạng máy tính (CPU, bộ nhớ), đây như một hệ thống máy tính ảo với môi trường liên lạc phân tán cho phép tính toán trên những phạm vi địa lý khác nhau, điều này làm cho tính toán lưới tách biệt với mô hình cụm tính toán. Tính toán lưới cho phép giải quyết những bài toán với tập mẫu lớn đòi hỏi nhiều thời gian tính toán như các bài toán trong cơ học như dầm, cầu, đường ống đòi hỏi việc chia lưới lớn, mô hình hoá tài chính, dự đoán khí hậu thời tiết, mô phỏng động đất. Tính toán lưới giúp các tổ chức, doanh nghiệp khai thác tối ưu tài nguyên của đơn vị mình. Ngoài ra tính toán lưới cũng có thể tạo ra các dịch vụ tính toán mang tính thương mại theo nhu cầu cho các khách hàng, đôi khi khách hàng chỉ phải trả những gì họ đã sử dụng giống như điện và phí vận hành. Việc thiết kế các hệ thống tính toán lưới thường cho phép tính toán hiệu quả và cung cấp một môi trường làm việc với nhiều người dùng khác nhau. Tiếp đến là khả năng khai thác tốt hơn nguồn tài nguyên cũng như năng lực tính toán còn nhàn rỗi nhằm phục vụ cho những bài toán khoa học lớn có nhu cầu tính toán không ngừng nghỉ. Việc hỗ trợ môi trường làm việc đa người dùng trên các phạm vi địa lý khác nhau cho phép khai thác hệ thống hiệu quả hơn, tiết kiệm chi phí, tiện lợi hơn trên các hệ thống xử lý tập trụng. Các hệ thống tính toán lưới được bố trí ở những phạm vi địa lý khác nhau nhằm ảo hoá các tài nguyên tính toán. Tính toán lưới giúp các công ty tận dụng tài nguyên trong một phòng hoặc một số đơn vị công nghệ của mình kết nối các máy tính để bàn, các cụm và thiết bị. Việc thực hiện tính toán lưới có thể thực hiện trong một phạm vi nhỏ là một Đại học Hàng Hải Trang 6
  12. Đề tài nghiên cứu khoa học phòng máy hoặc cũng có thể mở rộng ra trên hệ thống các phòng máy kết nối với nhau. 1.3. Mô hình, nền tảng của tính toán lưới Mô hình khái niệm: tính toán lưới là thực hiện một nhiệm vụ giải quyết bài toán có nhu cầu tính toán lớn mang tính chất nền tảng. Đúng nghĩa hơn là ở mức khái niệm chứ không như là một tài nguyên vật lý. Mô hình tổ chức ảo(Virtual Organization – VO): cung cấp một tập riêng rẽ các chính sách quản lý như là quản lý cục bộ, quản lý tài nguyên bên ngoài. Mô hình tính toán lưới được chuẩn hóa để thực thi các ứng dụng nhằm tận dụng tài nguyên tốt nhất. Tận dụng tốt nguồn tài nguyên sẵn có: cho phép khai thác tài nguyên trở nên dễ dàng hơn. Khi thực hiện việc này sẽ phát sinh chi phí cho các phần mềm trung gian cũng như thời gian trễ. Cần phải đánh giá tốt chi phí, thời gian trễ, để đánh giá hiệu năng tính toán của hệ thống. Để triển khai một hệ thống tính toán lưới cũng có thể sử dụng W3C thông qua các ngôn ngữ hỗ trợ khai thác tài nguyên trên web. Sử dụng các giao thức internet cho phép triển khai các hệ thống lưới để giải các bài toán khoa học với tập mẫu lớn và trong đề tài này tác giả đi sâu vào sự hỗ trợ này. 1.4. Nền tảng của tính toán lưới Tính toán lưới sử dụng hệ thống mạng máy tính để triển khai nhằm đem lại một sức mạng như những siêu máy tính để phục vụ người dùng. 1.4.1. Tính toán lưới là gì và hoạt động như thế nào? Grid là hệ thống xử lý phân tán, cho phép linh hoạt chia sẻ và tập hợp các nguồn tài nguyên độc lập và rải rác về địa lý, tùy theo khả năng sẵn có, công suất, hoạt động, chi phí và yêu cầu về chất lượng dịch vụ của người sử dụng. Điện toán mạng lưới(ĐTML) có nghĩa là tất cả hoặc một phần của một nhóm máy tính, máy chủ và thiết bị lưu trữ trong một mạng máy tính được “ảo hóa” thành một cỗ máy tính lớn. Chúng cho phép gia tăng về tốc độ, đẩy mạnh Đại học Hàng Hải Trang 7
  13. Đề tài nghiên cứu khoa học quá trình tính toán mật độ cao với chi phí không tăng lên đáng kể do hệ thống sử dụng lại hạ tầng đang có, khai thác hiệu quả nhằm huy động sức mạnh tính toán và tối ưu khả năng tính toán. Hình 1.1. Cấu trúc của hệ thống tính toán lưới Hệ thống ĐTML dựa trên một tập các chuẩn giao thức. Hệ thống có thể hoạt động trên hệ thống mạng LAN hay rộng hơn là trên mạng Internet. Hình 1.2. Mô hình tính toán lưới dựa trên Internet Đại học Hàng Hải Trang 8
  14. Đề tài nghiên cứu khoa học Chẳng hạn, một ai đó có chiếc máy tính cá nhân nhàn rỗi có thể kết nối vào hệ thống ĐTML để góp thêm sức mạnh tính toán cho hệ thống. Khi người này muốn thực hiện một ứng dụng cần thêm sức mạnh xử lý thì hệ thống sẽ tự động phân bố đến các máy tính đang có nguồn lực rảnh rỗi trong hệ thống để xử lý, tính toán. Hình 1.3. Minh họa một hệ thống điện toán mạng lưới Xây dựng một hệ thống tính toán lưới có thể bắt đầu từ quy mô nhỏ, sau đó có thể dần dần mở rộng lưới tùy theo nhu cầu của mình. 1.4.2. Mốt số thành phần cơ trong mô hình tính toán lưới Hệ thống tính toán mạng lưới được phân chia thành 3 lớp: Lớp ứng dụng: lớp này rất phong phú, có thể là các hệ thống mô phỏng, các ứng dụng tính toán khoa học. Lớp cơ sở hạ tầng: gồm các máy tính trong hệ thống mạng, các máy tính trong mạng, các tài nguyên, hạ tầng mạng. Lớp giữa: lớp này cung cấp các giao thức được chuẩn hóa cho các lớp còn lại nhằm tạo ra việc truy cập dễ dàng, thuận tiện. Đại học Hàng Hải Trang 9
  15. Đề tài nghiên cứu khoa học 1.4.3. Các lợi ích của tính toán lưới Lợi ích của ĐTML là rất lớn. Hệ thống giúp tận dụng, phân bổ tốt tài nguyên. Rút ngắn thời gian giải quyết các bài toán khoa học phức tạp. Tận dụng và tiết kiệm nguồn lực về con người cũng như hạ tầng sẵn có. Một số lợi ích của tính toán mạng lưới: 1) Không cần phải mua các siêu máy tính với chi phí lớn có thể tận dụng hệ thống mạng máy tính hiện có để khai thác phục vụ tính toán lớn. 2) Khai thác tối đa nguồn lực máy tính nhàn rỗi tại các phòng Lab, phòng thực hành để giải các bài toán khoa học đòi hỏi thời gian tính toán lớn. 3) Việc mở rộng hoặc thu hẹp quy mô của hệ thống tính toán lưới khá dễ dàng, chỉ cần những thao tác rất đơn giản và nhanh gọn. Đại học Hàng Hải Trang 10
  16. Đề tài nghiên cứu khoa học CHƯƠNG II: PHÂN TÍCH VÀ XÂY DỰNG HỆ THỐNG 2.1. Tổng quan về hệ thống được xây dựng Điển hình của tính toán phân tán là các hệ thống tính toán tình nguyện đã phát triển và khẳng định chỗ đứng của mình trong khoa học máy tính bằng những dự án tiêu biểu như: SETI@Home[2], ClimatePrediction[3], Einstein@Home[4] Tính toán tình nguyện cho phép các cá nhân, tổ chức có thể dễ dàng tham gia và đóng góp công sức vào các hoạt động khoa học mang tính cộng đồng. Đó cũng là một cách để các tổ chức quảng bá, phổ biến các hoạt động khoa học ra cộng đồng. Hiện tại các hệ thống tính toán phân tán cũng như tính toán tình nguyện chưa đầu tư nghiên cứu nhiều vào việc giải quyết các bài toán lớn trong cơ học. Khi giải quyết một bài toán ứng dụng với tập mẫu huấn luyện lớn và chỉ chạy trên máy đơn, để đạt được kết quả mong đợi thời gian xử lý là vấn đề hết sức quan tâm. Với mong muốn áp dụng công nghệ tính toán phân tán để giải quyết các bài toán ứng dụng với độ phức tạp về mặt thời gian là rất lớn. Tác giả đã đi sâu nghiên cứu và tìm hiểu các công nghệ tính toán phân tán, từ đó khai thác những ưu điểm sẵn có, tìm ra những nhược điểm cần cải tiến và khắc phục, nhằm thiết lập nên một hệ thống tính toán phân tán đáp ứng được các nhu cầu thực tế đang đặt ra. Về mặt dữ liệu: Dữ liệu là tập mẫu đầu vào để giải bài toán sau khi được tải lên máy chủ sẽ được chia nhỏ để khi có máy khách yêu cầu máy chủ sẽ gửi chương trình kèm theo dữ liệu cho máy khách xử lý. Sau khi máy khách xử lý xong dữ liệu sẽ được đẩy lên máy chủ để đồng bộ và bắt đầu một tiến trình mới. Người sử dụng chỉ cần chuyển dữ liệu về khuôn dạng đã được quy định sẵn, dữ liệu có thể đã được chuẩn hóa sẵn hoặc chương trình sẽ tự động chuẩn hóa. Về mặt chương trình: Để giảm thiểu lượng truyền tải dữ liệu qua mạng chương trình chạy trên hệ thống được thiết kế riêng biệt cho máy chủ và máy khách. Chương trình trên máy chủ cho phép phân tán và đồng bộ dữ liệu. Chương trình trên máy khách được sử dụng để huấn luyện cho tập mẫu tương Đại học Hàng Hải Trang 11
  17. Đề tài nghiên cứu khoa học ứng. Sau khi hoàn thiện dữ liệu và chương trình cần được nén lại theo dạng chuẩn zip để giảm kích thước nhằm tăng tốc độ khi nạp dữ liệu và chương trình lên máy chủ. Công nghệ để xây dựng hệ thống dựa trên nền tảng của hệ thống phân tán: - Thực hiện cơ chế tập trung tính toán phân tán với giao diện người dùng dựa trên web. Hệ thống thiết kế trên ngôn ngữ Python dưới dạng nền tảng. Hệ thống trao đổi dữ liệu qua giao thức HTTP/HTTPS với định dạng XML. Hình 2.1. Giao diện chính của chương trình AntHill - Các máy khách tải từ trang đăng nhập người dùng gói cài đặt, cái mà đã được cấu hình trên máy chủ. Sau đó máy skhách cài đặt phần này với việc đăng ký nút mới tự động. Để giải một bài toán người nghiên cứu cần vào trang chủ để nạp chương trình và dữ liệu với các tham số phù hợp. Như vậy sẽ hạn chế được sự phụ thuộc vào ngôn ngữ lập trình và phần cứng cũng như hệ thống hàm API. Gói chương trình này người dùng có thể tự thiết kế theo định dạng đã được lập sẵn. Các tính toán được thống kê thông qua đồ thị. - Máy khách thực hiện đa xử lý cho phép tối ưu hoá các bộ xử lý đang có. Việc trao đổi dữ liệu giữa máy chủ đã được giảm thiểu tối đa nhằm tối ưu hiệu năng trong hệ thống. Mã nguồn của chương trình được viết ngắn gọn, dễ kiểm soát và phát triển. Đại học Hàng Hải Trang 12
  18. Đề tài nghiên cứu khoa học Hình 2.2. Thời gian thực hiện của hệ thống giải một bài toán cụ thể 2.2. Cơ sở dữ liệu được sử dụng trong hệ thống Cơ sở dữ liệu của hệ thống Hình 2.3. Cơ sở dữ liệu của hệ thống Đại học Hàng Hải Trang 13
  19. Đề tài nghiên cứu khoa học Một số bảng quan trọng sử dụng trong hệ thống Bảng Node Bảng Unit Bảng Task Hình 2.4. Một số bảng dùng trong hệ thống Hệ thống được xây dựng trên nền tảng python-django. [5] Đại học Hàng Hải Trang 14
  20. Đề tài nghiên cứu khoa học CHƯƠNG III: TRIỂN KHAI HỆ THỐNG 3.1. Chương trình Anthill Anthill là một công cụ cho phép chạy phân tán trên thệ thống mạng LAN, WAN or internet. Với chương trình này tác giả xin giới thiệu một hướng tiếp cận xử lý các bài toán khoa học với tập mẫu lớn trên hệ thống mạng máy tính. 3.2. Yêu cầu cài đặt thệ thống - Chương trình trên máy trạm có thể cài đặt trên: WinXP, winServer, window 7, window 8 - Các phần mềm cần cài đặt trên server: + Python + Apache + Mysql, MySqldb + Django + Trình duyệt web: FireFox, IE, Google Chrome, Opera Độ phân giải tốt nhất: 1024x768 - Phần mềm cần cài đặt trên máy trạm: + Python + PyWin + Numpy 3.3. Cài đặt và chạy phần mềm trên máy chủ Bước 1: Chuẩn bị chương trình và các gói phần mềm cần thiết. Cài đặt lên server các phần mềm như Python, Apache, Mysql, Mysqldb, Django. Bước 2: Cài đặt Database từ dòng lệnh của DOS - Vào thư mục Hill - Thay đổi cấu hình phù hợp trong file: setting.py - Tạo cơ sở dữ liệu với tên là HILL trong Mysql Đại học Hàng Hải Trang 15
  21. Đề tài nghiên cứu khoa học - Thực hiện lệnh: python manage.py syncdb Bước 3: Chạy chương trình HILL từ dòng lệnh của DOS - Vào thư mục Hill - Chạy lệnh: python manage.py runserver [add:post] Hình 3.1. Giao diện server khởi tạo thành công - Sử dụng trình duyệt web truy cập theo cú pháp: [add: post], nếu thành công màn hình xuất hiện như sau: Hình 3.2. Giao diện AntHill chạy thành công Nếu đã có sẵn tài khoản chương trình trên máy chủ thì tiến hành đăng nhập qua giao diện sau: Đại học Hàng Hải Trang 16
  22. Đề tài nghiên cứu khoa học Hình 3.3. Giao diện đăng nhập vào phần mềm trên máy chủ Nếu chưa có sẵn tài khoản người dùng có thể đăng ký một tài khoản mới Hình 3.4. Giao diện đăng ký một tài khoản mới vào phần mềm trên máy chủ Tải một bài toán lên mạng để chạy cần tải 2 file, thứ nhất là file chương trình, thứ hai là file tham số đầu vào: Hình 3.5. Giao diện tải chương trình lên máy chủ Tải chương trình và tham số đầu vào: Đại học Hàng Hải Trang 17
  23. Đề tài nghiên cứu khoa học Nhập tên nhiệm vụ -> click nút Choose tại mục Program để chọn chương trình, click nút Choose tại mục parameter để chọn file tham số -> click nút Add để hoàn tất quá trình, chương trình sẽ tải các file vừa chọn lên server. Hình 3.6. Giao diện tải thành công chương trình Cập nhật, sửa, xóa một nhiệm vụ xử lý: Edit Dele Updat te e Hình 3.7. Giao diện cập nhật, sửa, xóa Đại học Hàng Hải Trang 18
  24. Đề tài nghiên cứu khoa học Một số kết quả xử lý trên máy chủ: Results Hình 3.8. Kết quả giải quyết một nhiệm vụ Hình 3.9. Thời gian thực hiện trung bình của CPU Đại học Hàng Hải Trang 19
  25. Đề tài nghiên cứu khoa học Hình 3.10. Thời gian thực hiện trung bình của mạng Hình 3.11. Thời gian trung bình trên tổng thời gian thực hiện 3.4. Cài đặt và chạy phần mềm trên máy trạm Bước 1: Tải chương trình từ máy chủ có tên là Ant Đại học Hàng Hải Trang 20
  26. Đề tài nghiên cứu khoa học Click here to download Hình 3.12. Giao diện tải chương trình trên máy chủ Bước 2: Cài đặt chương trình trên máy trạm Ant: - Chạy file AntSetup.exe, khi màn hình xuất hiện nhấn nút Next để tiếp tục. Hình 3.13. Giao diện bắt đầu cài đặt phần mềm trên máy trạm Sau đó sẽ xuất hiện màn hình về các nội dung sẽ cài đặt, tiếp tục nhấn nút next. Đại học Hàng Hải Trang 21
  27. Đề tài nghiên cứu khoa học Hình 3.14. Giao diện về các nội dung sẽ cài đặt Tiếp đến chương trình yêu cầu lựa chọn vị trí cài đặt phần mềm trên máy trạm, chọn nút Browse để chỉ ra đường dẫn phù hợp và tiếp tục. Hình 3.15. Giao diện thiết lập đường dẫn trên máy trạm Đại học Hàng Hải Trang 22
  28. Đề tài nghiên cứu khoa học Đặt tên chương trình và lựa chọn vị trí xuất hiện: Hình 3.16. Lựa chọn vị trí xuất hiện của chương trình Lựa chọn thêm vị trí xuất hiện của phần mềm: Hình 3.17. Lựa chọn xuất hiện trên màn hình Đại học Hàng Hải Trang 23
  29. Đề tài nghiên cứu khoa học Bước cuối cùng là nhấn Install để tiến hành cài đặt Hình 3.18. Tiến hành cài đặt Hình 3.19. Cài đặt hệ thống Đại học Hàng Hải Trang 24
  30. Đề tài nghiên cứu khoa học Khi kết thúc có thể lựa chọn chạy chương trình ngay lập tức hoặc không và nhấn nút Finish để kết thúc quá trình cài đặt. Hình 3.20. Kết thúc cài đặt phần mềm trên máy trạm Tiến hành cấu hình cho máy trạm nến cần thiết Hình 3.21. Cấu hình máy trạm Đại học Hàng Hải Trang 25
  31. Đề tài nghiên cứu khoa học 3.5. Thông tin chạy chương trình Chương trình có hệ thống log file cả trên máy chủ lẫn máy trạm Hình 3.22. Log file Chúng ta có thể theo dõi quá trình hoạt động của máy chủ cũng như máy trạm qua file log để đưa ra các quyết định phù hợp điều chỉnh quá trình giải quyết các bài toán đang giải quyết trên hệ thống. Đại học Hàng Hải Trang 26
  32. Đề tài nghiên cứu khoa học KẾT LUẬN Qua quá trình thực hiện đề tài tác giả đã tìm hiểu về tính toán phân tán, sử dụng lý thuyết tính toán phân tán xây dựng thành công ứng dụng cho phép giải các bài toán khoa học đòi hỏi thời gian tính toán lớn. Hệ thống chạy trên nền web, dễ dàng cài đặt, thiết lập các thông số và sử dụng. Hệ thống cho phép giải các bài toán khoa học có thể phát triển trên ngôn ngữ python, flexpde, ansys, Hệ thống cũng được tối ưu để việc gửi nhận dữ liệu đạt hiểu quả, chiếm dụng ít đường truyền mạng, khai thác tối ưu các tài nguyên nhàn rỗi trong các phòng thực hành hoặc phòng LAB. Đại học Hàng Hải Trang 27
  33. Đề tài nghiên cứu khoa học TÀI LIỆU THAM KHẢO [1]. What is the Grid? A three points checklist. Ian Foster. fp.mcs.anl.gov/~foster/Articles/WhatIsTheGrid.pdf [2]. Seti@home URL: [3]. ClimatePrediction URL: [4]. Einstein@Home URL: [5]. Python – django: Đại học Hàng Hải Trang 28
  34. Đề tài nghiên cứu khoa học PHỤ LỤC 1. Chương trình đơn giản để test trên ANTHILL import sys, math def check(number): i = 2 root = math.ceil(math.sqrt(number)) while i <= root: if not (number % i): return False i += 1 return True f=open('output.txt','w'); #open file to write data f.write('%s'%check(float(sys.argv[1]))) #Write data to file f.close() #Close file 2. Chương trình chạy trên ngôn ngữ FlexPde import os, re, sys bin = 'C:/FlexPDE5/FlexPDE5.exe' root = os.path.dirname(os.path.realpath(__file__)) root = root.replace('\\', '/') source1 = root + '/layerCoating.pde' source2 = root + '/layerReal.pde' target = root + '/tmp.pde' output = root + '/out.txt' params = sys.argv[1] Đại học Hàng Hải Trang 29
  35. Đề tài nghiên cứu khoa học params=params.split(' ') file_output=sys.argv[2] #####COATING ################################## fs = open(source1) s = fs.read() fs.close() s = s.replace('{placeholder_e}', 'E1=%s' % params[0]) s = s.replace('{placeholder_h}','h=%s' % params[1]) s = s.replace('{placeholder_output}',output) f = open(target, 'w') f.write(s) f.close() os.system('%s -R -X -S %s' % (bin, target)) r = open(output).read() sx1 = r.split('\n')[-2].split('=')[1] #####REAL ##################################### fs = open(source2) s = fs.read() fs.close() s = s.replace('{placeholder_e}', 'E1=%s' % params[0]) s = s.replace('{placeholder_h}','h=%s' % params[1]) s = s.replace('{placeholder_output}',output) f = open(target, 'w') f.write(s) Đại học Hàng Hải Trang 30
  36. Đề tài nghiên cứu khoa học f.close() os.system('%s -R -X -S %s' % (bin, target)) r = open(output).read() sx2 = r.split('\n')[-2].split('=')[1] ################################################# result = "%s %s %s %f" %(' '.join(params), sx1, sx2, float(sx1) - float(sx2)) open(file_output, 'w').write(result) File dữ liệu mẫu tương ứng để chạy params.txt 99.696969697 0.0909090909091 99.696969697 0.0919191919192 99.696969697 0.0929292929293 99.696969697 0.0939393939394 99.696969697 0.0949494949495 99.696969697 0.0959595959596 99.696969697 0.0969696969697 99.696969697 0.0979797979798 99.696969697 0.0989898989899 99.696969697 0.1 101.818181818 0.0 101.818181818 0.0010101010101 101.818181818 0.0020202020202 101.818181818 0.0030303030303 101.818181818 0.0040404040404 101.818181818 0.00505050505051 Đại học Hàng Hải Trang 31
  37. Đề tài nghiên cứu khoa học 101.818181818 0.00606060606061 101.818181818 0.00707070707071 101.818181818 0.00808080808081 101.818181818 0.00909090909091 101.818181818 0.010101010101 101.818181818 0.0111111111111 101.818181818 0.0121212121212 101.818181818 0.0131313131313 101.818181818 0.0141414141414 101.818181818 0.0151515151515 101.818181818 0.0161616161616 101.818181818 0.0171717171717 101.818181818 0.0181818181818 101.818181818 0.0191919191919 101.818181818 0.020202020202 101.818181818 0.0212121212121 101.818181818 0.0222222222222 101.818181818 0.0232323232323 101.818181818 0.0242424242424 101.818181818 0.0252525252525 101.818181818 0.0262626262626 101.818181818 0.0272727272727 101.818181818 0.0282828282828 101.818181818 0.0292929292929 Đại học Hàng Hải Trang 32
  38. Đề tài nghiên cứu khoa học 101.818181818 0.030303030303 101.818181818 0.0313131313131 101.818181818 0.0323232323232 101.818181818 0.0333333333333 101.818181818 0.0343434343434 101.818181818 0.0353535353535 101.818181818 0.0363636363636 101.818181818 0.0373737373737 101.818181818 0.0383838383838 101.818181818 0.0393939393939 101.818181818 0.040404040404 101.818181818 0.0414141414141 101.818181818 0.0424242424242 101.818181818 0.0434343434343 101.818181818 0.0444444444444 101.818181818 0.0454545454545 101.818181818 0.0464646464646 101.818181818 0.0474747474747 101.818181818 0.0484848484848 101.818181818 0.0494949494949 101.818181818 0.0505050505051 101.818181818 0.0515151515152 101.818181818 0.0525252525253 Đại học Hàng Hải Trang 33
  39. Đề tài nghiên cứu khoa học Trong file này có 10000 tập mẫu dữ liệu để chạy, ở đây tác giả chỉ trích ra một phần nhỏ mang tính chất minh họa. 3. Chương trình chạy trên ngôn ngữ ANSYS File start.py import numpy, math, sys, os from lib.ansys import run_ansys from lib.fourier import rfft from lib.db import DB params = sys.argv[1] file_output=sys.argv[2] if not len(params): exit() f=open(file_output,'w') stored=params root = os.path.dirname(os.path.realpath(__file__)) params=params.split(' ') params = [x.split('=') for x in params] result = run_ansys(root,'layer', params).replace('\n',';') if result.strip() != '': f.write(stored+' ### ') f.write(result) f.close() File Ansys.py import os Đại học Hàng Hải Trang 34
  40. Đề tài nghiên cứu khoa học import shutil def run_ansys(root,input_file, parameters = {}, dry_run = False): bin = '"C:/Program Files/ANSYS Inc/v130/ansys/bin/INTEL/ansys130.exe"' root =root.replace("\\", "/")+'/' ansys= bin + ' -p ansys -np 4 -dir ' + root + 'workdir ' ansys+= '-i ' + root + 'script/'+input_file+'.dat ' ansys+= '-o ' + root + 'workdir/output.txt ' result = '' for k in parameters: result+="-%s %s " % (k[0],k[1]) call = ansys+' -b '+result if not dry_run: try: os.remove(root + 'workdir/file.lock') except : pass if not dry_run: os.system(call) return open(root + 'workdir/data.dat').read() Chương trình thực thi trên Ansys /UNITS,SI ! TITLE&CONSTANTS /title, Crack in coated layer ! PARAMETERS Đại học Hàng Hải Trang 35
  41. Đề tài nghiên cứu khoa học !constants WIDTH=2 FORCE=10e6 TimeStep=5e-5 TimeForce=5e-5 TimeTicks=7500e-5 Damping=8e-5 ! comment out following lines in batch mode !LHEIGHT=0.01 !HEIGHT=0.8 !CCENTER=0.1 !AAA=0.09 !ACTUATOR=0.9 !SENSOR_OFFSET=0.1 ex1=70e9 nu1=.34 dens1=2700 ex2=210e9 nu2=.28 dens2=7700 ! Variables DEPTH=CCENTER - AAA SIZE=2*AAA A=AAA Đại học Hàng Hải Trang 36
  42. Đề tài nghiên cứu khoa học TIPX=SIZE/100 TIPY=SIZE/10 SENSOR=ACTUATOR+SENSOR_OFFSET CENTER=WIDTH/2 RANGE=WIDTH/4 ! MATERIAL PROPERTIES /prep7 ET,1,PLANE183 ET,2,PLANE183 MPTEMP,1,1 MPDATA,EX,1,,21e9 MPDATA,PRXY,1,,nu1 mp,dens,1,dens1 MPTEMP,2,2 MPDATA,EX,2,,ex1 MPDATA,PRXY,2,,nu2 mp,dens,2,dens2 MP,DAMP,1,Damping MP,DAMP,2,Damping ! GEOMETRY !keypoints k,1,-CENTER, LHEIGHT k,2,-CENTER+ACTUATOR, LHEIGHT k,3,-CENTER+SENSOR, LHEIGHT Đại học Hàng Hải Trang 37
  43. Đề tài nghiên cứu khoa học k,4,CENTER, LHEIGHT k,5,CENTER, 0 k,6, A, 0 k,7,-A, 0 k,8,-CENTER, 0 k,11,-CENTER, -HEIGHT k,12,-A, -HEIGHT k,13,A, -HEIGHT k,14,CENTER, -HEIGHT k,21,-A, -DEPTH k,22,0, -DEPTH k,23,A, -DEPTH k,24,A, -DEPTH-SIZE k,25,0, -DEPTH-SIZE k,26,-A, -DEPTH-SIZE k,31,-TIPX, -DEPTH-TIPY k,32,TIPX, -DEPTH-TIPY k,33,TIPX, -DEPTH-SIZE+TIPY k,34,-TIPX, -DEPTH-SIZE+TIPY !lines lstr,1,2 lstr,2,3 lstr,3,4 lstr,4,5 Đại học Hàng Hải Trang 38
  44. Đề tài nghiên cứu khoa học lstr,5,6 lstr,6,7 lstr,7,8 lstr,8,1 lstr,8,11 lstr,11,12 lstr,12,13 lstr,13,14 lstr,14,5 lstr,21,22 lstr,22,23 lstr,23,24 lstr,24,25 lstr,25,26 lstr,26,21 lstr,7,21 lstr,6,23 lstr,24,13 lstr,26,12 lstr,31,22 lstr,22,32 lstr,32,33 lstr,33,25 lstr,25,34 Đại học Hàng Hải Trang 39
  45. Đề tài nghiên cứu khoa học lstr,34,31 AL,1,2,3,4,5,6,7,8 AL,20,19,23,10,9,7 AL,12,13,5,21,16,22 AL,18,17,22,11,23 AL,6,21,15,14,20 AL,26,27,17,16,15,25 AL,14,24,29,28,18,19 ! LOADS lsel,s,,,4 lsel,a,,,8 lsel,a,,,9 lsel,a,,,13 SFL,all,PRES,-FORCE lsel,all DL,10,,UY,0 DL,11,,UY,0 DL,12,,UY,0 ! MESHING MSHAPE,0,2D asel,all aatt,1 asel,s,area,,1 aatt,2 Đại học Hàng Hải Trang 40
  46. Đề tài nghiên cứu khoa học asel,all AMESH,ALL ! SOLUTION /SOLU ANTYPE,4 TRNOPT,REDUC M,ALL,ALL DELTIM,TimeStep !step by step problem definition TIME,0.000 FK,2,FY,-FORCE*10 LSWRITE,1 TIME,TimeForce FKDELE,2,ALL LSWRITE,2 TIME,TimeTicks LSWRITE,3 LSSOLVE,1,3,1 FINISH ! POSTPROCESSING /POST26 FILE,'file','rdsp','.' KSEL,S,,,2 NSLK,S Đại học Hàng Hải Trang 41
  47. Đề tài nghiên cứu khoa học NSOL,2,ndnext(0),U,Y,S1 STORE,MERGE KSEL,S,,,3 NSLK,S NSOL,3,ndnext(0),U,Y,S2 STORE,MERGE ! EXPORTING *GET,size,VARI,,NSETS *dim,A1,array,size *dim,A2,array,size *dim,A3,array,size VGET,A1(1),1 VGET,A2(1),2 VGET,A3(1),3 *CFOPEN,data,dat *VWRITE,A1(1),A2(1),A3(1) ! Write array in given format to file ".dat" (f12.6,f20.8,f20.8) *CFCLOSE 4. Chương trình sinh tập mẫu để chạy trên ANSYS import os from numpy import * f=open('params.txt','w') for HEIGHT in [.4]: for LHEIGHT in [.01]: Đại học Hàng Hải Trang 42
  48. Đề tài nghiên cứu khoa học for CCENTER in [.1,.15,.2,.25,.3]: for AAA in [.09,.06,.03]: for SENSOR_OFFSET in [.1]: for ACTUATOR in linspace(0.4,1.6,20): call = 'HEIGHT=%s LHEIGHT=%s CCENTER=%s AAA=%s SENSOR_OFFSET=%s ACTUATOR=%s' call = call%(HEIGHT,LHEIGHT,CCENTER,AAA,SENSOR_OFFSET,ACTUATOR) f.write(call+'\n') f.close() Đại học Hàng Hải Trang 43