ĐỀ tài nckh cẤp trƯỜ - khcn. · pdf filetrong thập kỷ qua, cuộc...
TRANSCRIPT
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
Đề tài nghiên cứu khoa học
i
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
Đề tài nghiên cứu khoa học
ii
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
Đề tài nghiên cứu khoa học
iii
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
Đề tài nghiên cứu khoa học
iv
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
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 1
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.
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 2
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,....
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 3
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
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 4
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.
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 5
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
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 6
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
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 7
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
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 8
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
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 9
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.
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 10
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.
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 11
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
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 12
ứ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.
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 13
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
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 14
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]
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 15
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
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 16
- 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:
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 17
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:
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 18
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ý:
Hình 3.7. Giao diện cập nhật, sửa, xóa
Updat
e
Edit Dele
te
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 19
Một số kết quả xử lý trên máy chủ:
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
Results
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 20
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
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 21
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.
Click here to
download
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 22
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
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 23
Đặ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
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 24
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
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 25
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
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 26
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.
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 27
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.
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 28
TÀI LIỆU THAM KHẢO
[1]. What is the Grid? A three points checklist. Ian Foster. http://www-
fp.mcs.anl.gov/~foster/Articles/WhatIsTheGrid.pdf
[2]. Seti@home URL: http://setiathome.berkeley.edu
[3]. ClimatePrediction URL: http://climateprediction.net.
[4]. Einstein@Home URL: http://boinc.berkeley.edu/wiki/Einstein@Home.
[5]. Python – django: https://pypi.python.org/pypi/Django
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 29
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]
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 30
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)
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 31
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
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 32
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
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 33
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
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 34
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
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 35
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 **********************************************
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 36
!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
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 37
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
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 38
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
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 39
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
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 40
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
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 41
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
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 42
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]:
Đề tài nghiên cứu khoa học
Đại học Hàng Hải Trang 43
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()