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

Tổ chức xử lí tri thức đồng thời trên các cụm máy của máy tính hiệu năng cao

66 20 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 66
Dung lượng 27,94 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mục tiêu và nội dung nghiên cứu Mục tiêu : Tim hiểu và nghiên cứu về chương trình xử lí tri thức trên các máy tính cụm tại Trung tâm tính toán hiệu năng cao, Trường Đại học Khoa học Tự n

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC KHOA HỌC T ự NHIÊN

> [ « » 2 * * t « « 1 # » [ « wjw » Ị 1* ì ị » *ỊW » Ị » » Ị * r p r ] S « n

TÊN ĐỂ TÀI

Tổ chức xử lí tri thức đ ồn g thời trên các cụm m áy của M áy tính h iệu năng cao

5 TS Nguyễn Văn Tảo

6 Ths Nguyễn Thị Thanh Duyên

7 Ks Lê Trung Nghĩa

HÀ NỘI - 2007

Trang 2

5 TS Nguyễn Văn Tảo

6 Ths Nguyễn Thị Thanh Duyên

7 Ks Lê Trung Nghĩa

d Mục tiêu và nội dung nghiên cứu

Mục tiêu : Tim hiểu và nghiên cứu về chương trình xử lí tri thức trên các máy tính cụm tại Trung tâm tính toán hiệu năng cao, Trường Đại học Khoa học Tự nhiên, Đại học Quốc gia Hà Nội.

Nội dung :

■ Tim hiểu về hệ thống máy tính hiệu năng cao;

■ Cài đặt và thử nghiệm chương trình GNƯ Prolog;

■ Đề xuất xử lí tri thức trên máy tính cụm.

■ Chương trình thử nghiệm về ngổn ngữ Prolog trên máy tính hiệu nãng cao ;

■ Một số luận vãn tốt nghiệp đại học, cao học liên quan đến đề tài;

■ Bài báo khoa học.

Trang 3

f Tình hình kinh phí của đề tài

Tổng kinh phí 20.000.000 đ (Hai mươi triệu đồng chẵn)

KH OA QUẢN LÝ (Ký và ghi rõ họ tên)

GS TS Nguyễn Hữu D ư Dỗ Trung T

TRƯ ỜNG ĐẠI H Ọ C KHOA H Ọ C T ự NHIÊN

CHÚ TR Ì ĐỂ TÀI(Ký và

Trang 4

■ MA Thuy TranThi

■ MA Binh DoVan

d Project Objective and Content

Objective : Researching and studying on programs for manipulating knowledge on clusters of High Performance Computer, University of Science, Vietnam National University, Hanoi

C ontent:

■ Studying about High Performance Computer systems;

■ Installing and testing GNU Prolog programs;

■ Proposals of knowledge manipulation in clusters

e Some results

■ Studying about High Performance Computer systems, University of Science, Vietnam National University, Hanoi;

■ Installing and testing GNU Prolog programs on High Performance Computer;

■ Some test programs in GNU Prolog;

■ Thesis concerning the project content;

■ Some articles

Trang 5

L ời cám ơn

ĐỀ tài nghiên cứu khoa học cấp Đại học Quốc gia Hà Nội mã số QT0708 xin chân thành cảm ơn :

ũ Ban khoa học Đại học Quốc gia Hà Nội;

□ Trường Đại học Khoa học tự nhiên, đặc biệt Phòng quản ỉý khoa học và

công nghệ, Phòng Tài vụ; Khoa Toán Cơ Tin học,

đã tạo điều kiện cho các cán bộ tham gia đề tài này được nghiên cứu và tìm hiểu, thừ nghiệm về tri thức và xử ỉỉ tri thức trên hệ thống mảy tính hiệu năng cao.

Xin chân thành cám om lãnh đạo, cán bộ nhân viên Trung tâm tính toán hiệu năng cao Trường Đại học Khoa học Tự nhiên, Đại học Quốc gia Hà Nội đã tạo điêu kiện

đẻ đề tài được thực hiện.

Hà nôi, 3 / 2008 Thav mặt đề tài

Trang 6

Chủ nhiệm đề tài : PGS TS Đỗ Trung Tuấn,

Khoa Toán Cơ Tin học, trường Đại học Khoa học tự nhiên

Đại học Quốc gia Hà nội

Đe tài nghiên cứu cơ bản đã thực hiện các nhiệm vụ đã đăng kí trong hợp đồng nghiên cứu khoa học, kí giữa

ũ Trường Đại học Khoa học tự nhiên,

Đại diện : GS TS Trần Nghi, Phó Hiệu trường, Trường Đại học Khoa học tự nhiên,

Q Chủ nhiệm đề tài, PGS TS Đỗ Trung Tuấn

Đề tài đã thực hiện các công việc với kinh phí cấp năm 2007 là

20.000.000 đ (hai mươi triệu đồng chẵn)

■ Một số luận văn tổt nghiệp đại học, cao học liên quan đến đề tài;

■ Bài báo khoa học

Hà nội, 15 tháng 3 năm 2008 Chù nhiệm đề tài 201606

Đồ Trung Tuấn

Trang 7

M u c lu c

• _#

1 Giới thiệu về hệ thống máy tính hiện năng cao trang 4

2 Cài đặt phần mềm GNƯ Prolog trên máy tính hiệu năng cao trang 11Phần mềm xử lí tri thức GNU Prolog

3 Thử nghiệm chương trình với phần mềm cài đặt trang 17

Trang 8

6 NgiiVcn thị Thanh Duvên

7 Lê Truns Nghĩaw w

Thời gian thực hiện đề t à i : thán-: 4/ 2C07 - 4/ 2CCS

Trang 9

1 Giới thiệu về hệ thống máy tính hiệu nảng cao

Máy tính cụm thực chất là liên kết của nhiều bộ xử lí để hợp tác trong việc giải bài toán như một thực thể đom Do vậy quản lí các nhiệm vụ trên các bộ xử lí, quản trị các tài nguyên, như bộ nhớ, thời gian cần đến các kĩ thuật phù hợp

Do máy tính cụm làm việc như một thực thể nên tạo ra một số điểm lợi nổi bật, bao gồm

1 Khả năng tính toán cao, do kết hợp năng lực của nhiều bộ xử lí và thiết bị phức tạp;

2 Quản lí tài nguyên hợp lí Đối với vấn đề yêu cầu tài nguyên, như bộ xử lí, thời gian,

bộ nhớ, thiết bị ngoại vi hệ thống điều phối và kết hợp nhiều tài nguyên nhỏ lẻ với nhau;

3 Sử dụng tối ưu các tài nguyên Máy tính cụm chia sẻ nhiều tài nguyên, có cái nhìn tổng quát về tài nguyên Điều này tạo điều kiện để thực hiện nhiệm vụ một cách hợp

lí, tiến đến tối ưu;

4 Phục vụ theo vùng địa lí Việc chia sẻ tài nguyên với hạ tầng mạng không bị không gian địa lí hạn chế;

5 Đảm bảo phục vụ đều đặn và giảm rủi ro Do tập các bộ xử lí làm việc liên tục, thay thế nhau qua hệ thống quản lí tài nguyên, người dùng được phục vụ liên tục;

6 Khắc phục lỗi Các sau sót, rủi ro trên một máy tính được kiểm định và thực hiện đối chứng trên máy tính khác Một máy tính hỏng sẽ được máy tính khác chia sẻ nhiệm vụ thay thế Máy tính này không nhất thiết ở ngay vùng có sai sót;

7 Phân tán theo các chiều không gian và thời gian Việc dùng chung các bộ xử lí và thiết bị ngoại vi cho phép thể hiện tính phân tán theo nhiều chiều;

8 Quản lí hệ thống tập trung Công ty lớn như IBM cho phép bảo trì các hệ thống cụm phân tán tại một số trạm nhất định Kiến trúc quản lí tập trung là hiệu quả

1.2 Hệ thống máy tính cụm IBM 1600

Máy tính cụm IBM 1600 là kết hợp của các máy tính dịch vụ IBM POWER5™ và POWER5+™ với bộ đa xử lí đối xứng (SMP) Hệ thống điều hành sử dụng là AIX 5L™ hay Linux® Máy tính cụm 1600 sử dụng cho mô hình tính toán đa hướng, cho phép xây dựng

Trang 10

v ề liên kết mạng, hệ thống IBM 1600 có thể dùng mạng Ethernet, mạng InfiniBand hay Chuyển mạch hiệu năng cao của IBM Hệ thống được phần mềm quản trị cụm CSM quản lí Đây là công cụ thiết kế phù hợp cho hệ thống máy tính cụm.

1.2.1 Một số nét chung

• Các giải pháp AIX 5L hay Linux là phù họp đổi với mô hình hóa tính toán qui mô lớn, cơ sở dữ liệu lớn và trung tâm dữ liệu hiệu quả, máy tính chủ;

• Hệ thống quản trị cụm CSM cho phép quản lí mềm dẻo, linh động;

• Các tùy chọn kết nối cụm : có thể dùng mạng Ethernet 1/ 10Gb đối với AIX 5L hay Linux, dùng chuyển mạch hiệu năng cao IBM đổi với AIX 5L và CSM;

• Tùy chọn về hệ thống điều hành : AIX 5L thể hệ 5.2 hay 5.3, dùng Server Linux SUSE 8/ 9, dùng Linux Red Hat 4;

• Bộ phần mềm hoàn thiện cho phép tạo, tinh chinhe các ứng dụng song song như ESSL (Engineering & Scientific Subroutine Library), ESSL song song, môi trường song song, Fortran XL, hay VisualAge c++;

• Hệ thong file song song đổi với cụm GPFS, có độ sẵn sàng và hiệu năng cao;

• Phần mềm đặt lịch công việc để tối ưu tài nguyên và thông lượng truyền thông cụm;

• Phần mềm HACMP™ (High Availability Cluster Multiprocessing) cho phép truy cập phần mềm và ứng dụng

1.2.2 Tổng quát về phần cứng

Các máy chủ POWERS+ và IBM POWERS dưới đây là phù hợp với nhau :

• IBM System p5™ 595, 590, 575, 570, 560Q, 550Q, 550, 520Q, 520, 510Q, 510, 505Q và 505

• IBM eServer™ p5 595, 590, 575, 570, 550, 520, và 510

Người ta có thể dùng đến 128 máy chủ hay các máy LPAR, tức hệ thống điều hành máy AIX 5L hay Linux, đối với mỗi cụm, tùy theo phần cứng

Hình 1 Máy tính cụm IBM

Trang 11

1.2.3 Tham số về bộ xử lí POWER™ dựa trên AIX 5L™ và các cụm Linux m m

Người ta sử dụng bộ xử lí này nhằm tính toán khoa học, kĩ thuật, dùng cho cơ sở dừ liệu

lớn.

Máy dịch vụ : IBM System p5 595, 590, 575, 570, 560Q, 550Q, 550, 520Q, 520, 510Q,

510, 505Q và 505

■ Bộ xử lí : 1.5 GHz đến 2.3 GHz IBM POWER5+, POWER5

■ Số các máy tính chủ , phần logic (LPAR):

o Có đến 64 bộ với 1 đến 8 nhân SMPs và 128 LPARs

o Có đến 32 bộ với 16 đến 32 nhân SMPs và 128 LPARs

o Có đến 16 bộ với 48 đến 64 nhân SMPs và 128 LPARs

• Liên kết mạng :

o 10/100Mbps Ethernet (AIX 5L hoặc Linux)

o 1/10 Gigabit Ethernet (AIX 5L hoặc Linux)

o 4x/12x GX HCA (AIX 5L hoặc Linux)

o SP Switch2 (AIX 5L và PSSP)

o Chuyển mạch hiệu năng cao Switch (AIX 5L và CSM)

o Myrinet-2000 (AIX 5L và Linux)

1.3 Hệ thống máy tính cụm IBM 1350

Nhiều ứng dụng được xây dựng trong môi trường Windows của Microsoft và Linux, Cá hai hệ thống đều sử dụng cùng tài nguyên, trên cùng thiết bị cứng và hạ tầng mạng máy tính Ngoài ra hai hệ thống điều hành cũng sử dụng mã nguồn mở, cùng dùng sản phẩm của hãng thứ ba khác Để đáp ứng hiện thực khách quan như vậy, máy tính cụm cần có khả năng dù cho tốn kém về chi phí

Công ty IBM thiết kế máy tính cụm IBM 1350 đáp ứng các yêu cầu trên Người dùng có thể làm việc với máy tính hiệu năng cao HPC Họ được sừ dụng các công nghệ tiến tiến của Intel® Xeon®, AMD Opteron™ và của IBM Power Architecture™ trên các nút máy tính chủ Phần mềm quản trị cụm với nối kểt của IBM 1350 được đánh giá sử đụng công nghệ tot của IBM và của hãng khác

Máy tính cụm IBM 1350 được thiết kế để ứng dụng được nhiều trong môi trường thiết

kế công nghệ, dịch vụ tài chính Các lĩnh vực này cần đến quản lí tốc độ cao và khối lượng lớn các thao tác xử lí dữ liệu

1.3.1 Tổng quan về máy tính cụm IBM 1350

Máy tính IBM System Cluster 1350 có tổng quan về hệ thống : Blade servers: HS21, LS21, LS41, JS22, ỌS21; Rack servers: x3455, x3550, x3650, x3655, x3755

về mạng máy tính

• Ethernet

• Blade Network Technologies, Brocade, Cisco, ForcelO, Nortel, Qlogic, SMC

• InfiniBand

Trang 12

• Phần mềm quản trị cụm IBM (CSM) cho Linux V I.5.1 (tùy chọn)

• Hệ thống quản trị tệp song song IBM (GPFS) cho Linux V3.2 (tùy chọn)

Qui mô

• Hệ thông trang bị một nút quản trị và một nút dự trữ Tùy theo yêu cầu người dùng, có thể dùng hai đến tối đa là 1,024 nút Tuy nhiên, số bản quyền phần mềm

có thể hạn chế trên một số nút, Có thể sử dụng đến 64 nút được phép lưu trữ

• Cấu hình tối đa là 1,026 nút, gồm cả nút tính toán, nút lưu trừ và nút quàn trị Có thể sử dụng cấu hình cao hơn với xử lí đặc biệt

Các dịch vụ

• Phần cứng cụm 1350 nhất thiết trên bộ nổi 42Ư và 25Ư.

• Các dịch vụ phần mềm HPC và SupportLine cho các cụm Linux Clusters đêu săn

Trang 13

sàng, như dịch vụ miễn phí.

• Các dịch vụ trợ giúp cài đặt đã có thône qua CET (Cluster Enablement Team), như phần mềm miễn phí

1.3.3 Thông tin k ĩ th uật chi tiết cùa m áy tính cụm IBM 1350

Máy tính cụm IBiM 1350 có bộ xử lí Intel® Xeon®, AMD Opteron™ và dùno các nút cụm HPC với công nehệ dựa trên IBM Power Architecture™, cho phép thực hiện các giải pháp về Linux hay Windows để tăng hiệu năng tính toán

Máy chủ có thể lựa chọn trong :

■ Bộ xử lí Dual-core AMD Opteron, có khả năns đến 3.0 GHz (x3455)

■ Bộ xử lí Duaỉ-core AMD Opteron có khà năns đến 2.8 GHz AMD Opteron(x3655)

■ Bộ xử lí Dual-core AMD Opteron có khả năng đen 3.0 GHz (x3755)

* Bộ xử lí Duaỉ-Core Intel Xeon có khả năns đến 3.0 GHz, với bus có khả năngđến 1333 MHz, hoặc bộ xử lí Quad-Core Intel Xeon có kha năns đến 2.33 GHz, với bus có khả năng đến 1333 MHz (HS21 XM)

■ Bộ xử lí Dual-Core Intel Xeon có khả năng đến 3.0 GHz, với bus có khả năngđến 1333 MHz, hoặc bộ xừ lí Quad-Core Intel Xeon có khả năne đến 3.0 GHz, với bus có khả năns đển 1333 MHz (HS21)

- Four 64-bit 4.0 GHz POWER6 (JS22)

■ Bộ xử lí Dual-core AMD Opteron có khả năng đến 3.0 GHz (LS21, LS41)

■ Đa bộ xừ lí Multi-core 3.2 GHz Cell Broadband Engine™(QS21)

Hình 2 Máv tính IBiVl 1350

Trang 14

số các máy chủ : lên đến 1,024 cluster nodes; 1- to 8-core nodes

Với hạ tầng Ethernet nhanh, hay Ethernet Giga, chuyển mạch này có thể dùng làm chuyển mạch đường trục đối với ứng dụng mức vừa phải

Người dùng có thể thực hiện chia đường IP chất lượng cao trên chuyển mạch này Vậy

có thể dùng nó trong chuyển mạch LAN truyền thống hay mạng Intranet

Chuyển mạch CISCO 3750

Trang 15

1.5 Cơ chế truy cập máy tính và hạ tầng mạng tại Trung tâm

Việc truy cập mạng chủ tại Trung tâm theo kiến trúc khách/ chủ Người dùna sừ dụna máy đơn

T rao đổi thông qua Putty

■ Bộ nhớ RAM hiện là 2G cho mồi nút

Để lập trình dùng hết năns lực của các cụm máy tínhT người ta có hai cơ chế :

1 Lập trình theo Open MP : cho phép tự động chọn quản trị bộ nhớ chuns tự động chia sẻ tải nguyên;

2 Lập trình theo MPI yêu cầu nsười dùng tự quản li tài nguyên, tự chia công việc ứng với bài toán ra các nhiệm vụ nhỏ

Có hai máy tinh cụm, IBM 1600 và IBM 1350 Thôn2 số k ĩ thuật của hai máy tính này

đã nêu trên Địa chi IP hiện thời của máv IBM 1600 lã 172.72.20.0

■ Máy tính IBM 1600 là cụm 5 máy Mồi máv có 8 CPU Hệ thống điều hành nhận

8 CPU

■ Chuyển mạch Cisco Catalvst 3750 và 3550

A IX A dvanced Interactive executive

16C0

máy

Hình 6 Nối các máy tính qua LAN

Trang 16

Việc chuyển dữ liệu, dưới dạng các file trong hệ thống được tiến hành theo :

■ Sử dụng hệ thống điều hành Linux và các lệnh xử lí file; hoặc

■ Sử dụng cơ chế giao diện Windows với Linux

Hình 7 Hệ thống điều hành trên một số máy

Từ máy trạm trong Trung tâm tính toán hiệu năng cao, người ta có thể truy cập mạng Internet qua máy chủ của Đại học Quốc gia Hà Nội, hay qua máy chủ VDC, nhờ đường thuê bao ADSL Hệ quản trị mạng tại Trung tâm là NIS (network information service), và Windows NT sử dụng TCP/IP

AIX

Hình 8 Nổi mạng với INTRANET của đại học Quốc gia Hà nội

Trang 17

2 Phần mềm xử lí tri thức GNU Prolog

2.1 về GNU Prolog

GNƯ Prolog là chương trình dịch Prolog với việc giải các ràng buộc trên lĩnh vực vô hnạ

do Daniel Diaz phát triển

Ngôn ngữ này chấp nhận Prolog và chương trình với ràng buộc, sinh các mã nhị phân, giống như gcc sinh ra từ chương trình ngôn ngữ c

Chương trình trực khai thu được sau khi dịch và liên kết là chương trình chạy độc lập Kích thước của chương trình nhỏ do GNU Prolog có thể tránh việc liên kết đến các vị từ không cần thiết của quá trình xử lí tri thức Vậy nên hiệu quả của GNƯ Prolog cao

Ngoài việc dịch ra mã nguồn, GNU Prolog cho phép tìm lỗi chương trình theo chế dodọ

2.2 Cài đặt GNU Prolog trên máy tính hiệu năng cao

2.2.1 Bước 1 Kiểm tra cấu hình

[tuandt@portaI src]$ /configure — prefix=$HOME

checking for gcc gcc

checking for c compiler default output file name a out

checking whether the c compiler works yes

checking whether we are cross compiling no

checking for suffix of executables

checking for suffix of object files o

checking whether we are using the GNU c compiler , yes

checking whether gcc accepts -g yes

checking for gcc option to accept ISO C89 none needed

checking for ranlib ranlib

checking whether make sets $ (MAKE) yes

checking for a BSD-compatible install /usr/local/bin/install -c

checking whether In -s works yes

checking build system type i686-pc-linux-gnu

checking host system type i686-pc-linux-gnu

checking how to run the c preprocessor gcc -E

checking for grep that handles long lines and -e /bin/grep

checking for egrep /bin/grep -E

checking for ANSI c header files yes

checking for sys/types h yes

checking for sys/stat.h yes

checking for stdlib.h yes

checking for string.h yes

checking for memory.h yes

checking for strings.h yes

Trang 18

checking for inttypes.h yes

checking for stdint.h yes

checking for unistd.h yes

checking for long yes

checking size of long 4

checking sys/ioctl_compat.h usability no

checking sys/ioctl_compat.h presence no

checking for sys/ioctl_compat.h no

checking termios.h usability yes

checking termios.h presence yes

checking for termios.h yes

checking malloc.h usability yes

checking malloc.h presence yes

checking for malloc.h yes

checking for stdlib.h (cached) yes

checking for unistd.h (cached) yes

checking for getpagesize yes

checking for working mmap yes

checking for mprotect yes

checking for mallopt yes

checking for fgetc yes

checking for socklen_t yes

checking for inline inline

checking for socket yes

checking for gethostbyname yes

/home/tuandt/gprolog-1.3.0/doc /home/tuandt/gprolog-1.3 0/doc/html_node /home/tuandt/gprolog-1.3.0

configure: creating /config.status

creating Win32/gp-setup.iss creating EnginePl/gp_config.h EnginePl/gp_config.h is unchanged

[tuandt@portal src]$ make

(cd EnginePl; make config)

make[l]: Entering directory '/home/tuandt/src/EnginePl'

make[l]: Nothing to be done for 'config’

Trang 19

make[l]: Leaving directory '/home/tuandt/src/EnginePl'

•/SETVARS;for i in TopComp EnginePl Wara2Ma Ma2Asm Linedit BipsPl Pl2WamFd2C EngineFD BipsFD;do (cd $i; make) I I exit 1; done;\

(cd TopComp; make gprolog)

makefl]: Entering directory '/home/tuandt/src/TopComp'

make[l]: Nothing to be done for 'first'

make[l]: Leaving directory '/home/tuandt/src/TopComp'

make[l]: Entering directory '/home/tuandt/src/EnginePl'

make[l]: Nothing to be done for 'all'

make[l]: Leaving directory '/home/tuandt/src/EnginePl'

make[l]: Entering directory '/home/tuandt/src/Wam2Ma'

make[l]: Nothing to be done for 'all'

make[l]: Leaving directory '/home/tuandt/src/Wam2Ma'

make[l]: Entering directory '/home/tuandt/src/Ma2Asm'

make[l]: Nothing to be done for 'all'

make[l]: Leaving directory '/home/tuandt/src/Ma2Asm'

make[l]: Entering directory '/home/tuandt/src/Linedit'

make[l]: 'liblinedit.a ' is up to date

make[l]: Leaving directory '/home/tuandt/src/Linedit1

make[l]: Entering directory '/home/tuandt/src/BipsPl'

make[l]: 'libbips_pl.a ' is up to date

make[l]: Leaving directory '/home/tuandt/src/BipsPl'

make[l]: Entering directory '/home/tuandt/src/P12Wam'

make[l]: 'pl2wam' is up to date

make[l]: Leaving directory '/home/tuandt/src/P12Wam'

make[l]: Entering directory '/home/tuandt/src/Fd2C'

make[l]: 'fd2c' is up to date

make[l]: Leaving directory '/home/tuandt/src/Fd2C'

make[l]: Entering directory '/home/tuandt/src/EngineFD'

make[l]: 'libengine_fd a ' is up to date

make[l]: Leaving directory '/home/tuandt/src/EngineFD'

make[l]: Entering directory '/home/tuandt/src/BipsFD'

make[l]: 'libbips_fd.a ' is up to date

make[l]: Leaving directory '/home/tuandt/src/BipsFD'

make[l]: Entering directory '/home/tuandt/src/TopComp'

make[l]: 'gprolog' is up to date

make[l]: Leaving directory '/home/tuandt/src/TopComp'

2.2.3 Tạo các thư mục cho GNU Prolog

[tuandt@portal src]S make install

./mkinstalldirs /home/tuandt/gprolog-1.3.0 /home/tuandt/gprolog-1.3.o/bin

for i in COPYING VERSION NEWS ChangeLog; do /usr/local/bin/install -c -m

644 /$i /home/tuandt/gprolog-1.3.0; done

for i in gplc hexgplc gprolog pl2wam wam2ma ma2asm fd2c; do

/usr/local/bin/install -c */$i /home/tuandt/gprolog-1.3 o/bin; done

for i in top_level.o all_pl_bips.o debugger.o all_fd_bips.o; do

/usr/local/bin/install -c -m 644 */$i /home/tuandt/gprolog-1.3.o/lib; done

Trang 20

f°r Ị in libengine_pl.a libbips_pl.a liblinedit.a libengine_fd.a

libbips_fd.a; do /usr/local/bin/install -c -m 644 */$i

/home/tuandt/gprolog-1.3.o/lib; done

for i in gprolog.h fd_to_c.h; do /usr/local/bin/install -c -m 644 */$i /home/tuandt/gprolog-1.3.o/include; done

f°r i in /home/tuandt/gprolog-1.3.o/lib/*.a; do ranlib $i; done

if test /home/tuandt/gprolog-1.3.0/doc != none; then \

./mkinstalldirs /home/tuandt/gprolog-1.3 0/doc; \

{F='cd /doc; echo ???*.dvi ???*.ps ???*.pdf ???*.chm ???*.eps

(F='cd /doc/html_node; echo ???*.html ???*.gif ???*.css'; \

for i in $F; do /usr/local/bin/install -c -m 644 /doc/html_node/$i /home/tuandt/gprolog-1.3 0/doc/html_node; done); \

fi

mkdir /home/tuandt/gprolog-1.3.0/doc/html_node

if test /home/tuandt/gprolog-1.3.0 != none; then \

./mkinstalldirs /home/tuandt/gprolog-1.3.O/ExamplesPl; \

(F='cd /ExamplesPl; echo Makefile README PROGS ??*.pl*; \

for i in $F; do /usr/local/bin/install -c -m 644 /ExamplesPl/$i /home/tuandt/gprolog-1.3 O/ExaraplesPl; done); \

./mkinstalldirs /home/tuandt/gprolog-1.3•O/ExamplesC; \

(F='cd /ExamplesC; echo Makefile README ??*.pl ??*_c.c'; \

for i in $F; do /usr/local/bin/install -c -m 644 /ExamplesC/$i

/home/tuandt/gprolog-1.3.O/ExamplesC; done); \

./mkinstalldirs /home/tuandt/gprolog-1.3.O/ExamplesFD; \

(F='cd /ExamplesFD; echo Makefile ??*.pl ??*.fd'; \

for i in $F; do /usr/local/bin/install -c -m 644 ,/ExamplesFD/$i /home/tuandt/gprolog-1.3,O/ExamplesFD; done); \

fi

mkdir /home/tuandt/gprolog-1.3.O/ExamplesPl

mkdir /home/tuandt/gprolog-1.3.O/ExamplesC

rakdir /home/tuandt/gprolog-1.3.O/ExamplesFD

if test /home/tuandt/bin != none; then \

{cd /home/tuandt/bin 2>/dev/null && rm -f gplc hexgplc gprolog pl2wam wam2ma ma2asm fd2c); \

rmdir /home/tuandt/bin 2>/dev/null; \

2.2.4 Kiểm tra lại việc cài đặt

[tuandt@portal src]S make check

{cd EnginePl; make check) && \

(cd Ma2Asm; make check) && \

(cd P12Wam; make check) && \

(cd BipsPl; make check) && \

Trang 21

echo All tests succeeded

make[l]: Entering directory '/home/tuandt/src/EnginePl'

f°r i in 1 2 3 4 5; do echo -e "#define OBJ_NO $i\\n#include

\"test_oc_defs.h\"” >/tmp/test_oc_m$i.c; done

gcc -march=pentiumpro -03 -fomit-frame-pointer -o test_oc test_oc.c

obj_chain.c -I /tmp/test_oc_m[1-5].c

rm -f /tmp/test_oc_m[l-5].c

./test_oc

starting

object cobject #5> found &name:0x804cle0

object <object #4> found iname:0x804clc0

object <object #3> found &name:0x804cla0

object cobject #2> found &name:0x804cl80

object <object #1> found &name:0x804cl60

finished - OK !

make[l]: Leaving directory '/home/tuandt/src/EnginePl'

make[l]: Entering directory '/home/tuandt/src/Ma2Asm'

if [ "$FC" = "Y" ]; then FCFLAGS=1-DFAST'; fi; \

gplc — c-compiler "gcc -march=pentiumpro" -C "-03 -fomit-frame-pointer

$FCFLAGS" -c chkma.c

if [ "$FC" != "Y" ]; then MAFLAGS='— ignore-fast'; fi; \

./ma2asm — comment 5MAFLAGS chkma_ma.ma

gplc -c chkma_ma.s

gcc -march=pentiumpro -03 -fomit-frame-pointer -o chkma chkma.o chkma_ma.o /EnginePl/enginel.o

./chkma

check running without FC (NO fast call}

reg_bank=&X(0):0x8052840 B:0x804b7c0 E:0x804c7c0 &Y (0) :0x804c7b0

Trang 22

make[l]: Leaving directory '/home/tuandt/src/Ma2Asm'

make[l]: Entering directory '/home/tuandt/src/P12Wam'

./check_boot -a && echo Bootstrap Prolog Compiler OK

Bootstrap Prolog Compiler OK

make[l]: Leaving directory '/home/tuandt/src/P12Wam'

make[l]: Entering directory '/home/tuandt/src/BipsPl'

/P12Wam/check_boot -a && echo Bootstrap Prolog Bips OK

Bootstrap Prolog Bips OK

make[l]: Leaving directory '/home/tuandt/src/BipsPl1

All tests succeeded

2.2.5 Các thư mục hiện tại liên quan đến truy cập NGU Prolog

[tuandt@portal tuandt]$ Is

bin COPYING ExamplesC ExamplesPl INSTALL PROBLEMS srcChangeLog doc ExamplesFD gprolog-1.3.0 NEWS README VERSION[tuandt@portal tuandt]$ cd

griduser hangkt mimwebroot ngoandt thangdq trungtv

[tuandt@portal home]$ cd

Trang 23

[tuandt@portal /]$ ls

bin dev gpfs initrd lost+found mnt proc root share tmp

boot etc home lib

3 Thử nghiệm chương trình

3.1 Thừ chương trình về bài toán gia phả

Name •- Size Type Date Modified

[âj giapha warn 2 KB WAM File 11/15/2007 10:45 AM

giapha 24 KB Microsoft Word Doc 11/15/2007 10:59 AM

3.1.1 Nội dung File giapha.pl

x \ = Y

kq anhemR(X,Y),

write('anh em ruot '),write(X),

cha/2 (/home/tuandt/gprolog-1.3 0/bin/giapha.pi:1)

Trang 24

switch_on_atom([(toto,2),(mo,3),(man,4)]),fast Switch_On_Atom(st(0) , 3)

label(2),try(6),fast Create_Choice_Point2{&Lpredl_sub_0)Lpredl_6

trust(8), fast Delete_Choice_Point2()Lpredl_8

label(3),try(10),fast Create_Choice_Point2(&Lpredl_sub_l)Lpredl_10

trust(12), fast Delete_Choice_Point2()Lpredl_12

label(4),try(14),fast Create_Choice_Point2(&Lpredl_sub_2)Lpredl_14

trust (16), fast Delete_Choice_Point2()Lpredl_l6

label(5),

try_me_else(7) , fast Create_Choice_Point2(&Lpredl_7) label(6),

get_atom(toto,0), fast Get_Atom_Tagged(ta(0) , X (0))

get_atom(mo,1), fast Get_Atom_Tagged(ta(1) , X (1) )proceed,

label(7),retry_me_else(9),fast Update_Choice_Point2(&Lpredl_9) label (8),

Lpredl_8:

40: get_atom(toto,0),

Trang 25

call c fast Get Atom Tagged(ta(0),X (0))

Trang 26

call_c fast Get_Atom_Tagged(ta (2) , X (0) )

; *** Predicate: anhemR/2 (/home/tuandt/gprolog-1.3.O/bin/giapha

pl_code global X616E68656D52_2

Trang 27

; 108: trust me else fail,

call c fast Delete Choice Point(0

c code local Prolog Object Initializer

call c fast Create Atom 1., 3.0/bin/giapha pi")

Trang 28

call_c fast Create_Pred(at(1),2,at(0) , 1,1, &X636861_2)

call_c fast Create_Swt_Table(3)

move_ret st(0)

call_c fast Create_Swt_Atm_Element(st (0) , 3, at (2) , &Lpredl_2)call_c fast Create_Swt_Atm_Element(st(0),3,a t (3),&Lpredl_3)call_c fast Create_Swt_Atm_Element(st(0),3,a t (4),&Lpredl_4)call_c fast Create_Pred(at(5),2,at(0),8, 1, &X616E68656D52_2)call_c fast Create_Pred(a t (6),0,at(0),12,1, &X6B71_0)

Trang 30

11 15 2007 10:45:28

1.3.0 (Jan 4 2007'

p l ' )

1 0: predicate(cha/2,1,static,private,user,[Predicate: cha/2 (/home/tuandt/gprolog- 1.3.0/bin/giapha.pl:1)

$3,%edxSwitch_On_Atom 21: jump_ret

*%eax22: ; 16: label(2),24: Lpredl_2:

switch_on_atom([(toto,2), (mo,3), (man,4 fast Switch_On_Atom(st(0),3)

Trang 33

%eax,%eax fail

95: ; 4 996: call_c ta+12,%eax reg_bank+4,%edx Get_Atom Tagged 97: fail_ret

%eax,%eax fail

98: ; 50: proceed,99: pl_ret

*reg_bank+1036 100: ; 52: label(11),102: Lpredl 11:

fast Get_Atom Tagged (ta (1) , X (0) )

get_atom (am, 1) , fast Get_Atom_Tagged(ta(3),X(1)

104: call_c

$Lpredl_13+0,%eax Update_Choice_Point2 105: ; 5 5; label(12),107: Lpredl 12:

etry_me_else(13) ,fast Update_Choice_Point2(&Lpredl 13)

g e t _ a t o m ( m o , 0) , fast G e t _ A t o m _ T a g g e d ( t a (1), X ( 0 ;

58: proceed,ret

reg_bank+1036 116: ; 60: label(13),118: Lpredl 13:

$Lpredl 15+0,%eax

Ngày đăng: 18/03/2021, 16:01

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[3]. c. Zaniolo, H. Wang, Logic-based user-defined aggregates for the next generation of database systems, in “The logic programming paradigm : a 25 year perspective”, Ed.Springer, p. 401-426 Sách, tạp chí
Tiêu đề: The logic programming paradigm : a 25 year perspective
[1], B. Yang et al., Deductive synthesis of workflows for e-science, IEEE inter. Symposium on cluster computing and the grid, p. 168- 175, 2005 Khác
[2], c. Lee., M. Chen, Progressive partition miner : an efficient algorithm for mining general temporal association rules, EEEE tran. on knowledge and data engineering, V. 15, N. 4,1004-1017,2003 Khác
[4], c. Zaniolo, Mining databases and data streams with query languages and rules, 14 p., 2005 [5]. D. Botzer, o. Etzion, Self-tuning of relationships among rule’s components in activedatabases systems, IEEE tran. on knowledge and data engineering, V, 16, N. 3, p. 375­379,2004 ' Khác
[6]. J. D. Ưllman, Nguyên lí các hệ cơ sở dữ liệu và cơ sờ tri thức, T. 1, 2, 3. Ed. Thông kê, 2000 Khác
[7], Jiuyong Li, On Optimal rule discovery, IEEE tran. on knowledge and data engineering. Vol. 18, N. 4, 2006 Khác
[8]. Jiuyong Li, Robust Rule-based pred:c*:ion, IEEE tran. on knowledge and data engineering. Vol. 18, N. 8,2006 Khác
[9]. K. Sagonas, T. Swift, D. S. Warren, XSB as an efficient deductive database engine. Proc. of SIGMOD, p. 442- 453, 1994 Khác
[10]. M. Liu, Deductive database languages : problems and solutions, ACM computing surveys. V. 31, N. 1, p. 27-59, 1999 Khác
[11], M. Liu, Design and implementation of the ROL system, Journal of intelligent information systems, N. 14, p. 1-21, 2000 Khác
[12], Maja van der Velden, Knowledge facts, knowledge fiction, Journal of international Development, J. Wiley &amp; son, 15 p., 2002 Khác
[13]. S. Ceri, Effective scheduling of detached rules in active databases, IEEE tran. on knowledge and data engineering, V. 15, N. 1, p. 2- 13, 2003 Khác
[14]. S. Flesca, S. Greco, Declarative semantics for active rules, 27 p., 2003 Khác
[15]. Sudermier A., Dietrich Suzannne W\, Shah V., An active database approach to integrating black-box software components, Arizona state University, 1998 Khác
[19], Xindong Wu, Synthesizing High-frequency Rules from different data sources, IEEE tran. on knowledge and data engineering, V. 15, N. 2, p. 353- 367, 2003 Khác
[20]. Y. Law, H. Wang, C. Zaniolo, Query languages and data models for database sequences and data streams, Proc. of the 30,h VLDB conference, 12 p., 2004 Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w