Mỗi tiến trình xử lý trên một nhóm các trình tự được phân đoạn một cách đồng thời Công việc 2: Song song hóa thuật toán bắt cặp trình tự 10... Công việc 1: Sử dụng mô hình truyền thô
Trang 1Báo cáo luận văn cao học
Khai thác kiến trúc phân tán và chia
sẻ tìm sự tương đồng của các trình
tự sinh học
GVHD: PGS.TS Trần Văn Lăng HVTH: Phạm Đông Phong
1
Lac Hong University
Trang 21 Đặt vấn đè
2 Mục tiêu cần giải quyết
3 Phương pháp thục hiện
4 Kết quả trình thực nghiệm
5 Kết luận và hướng phát triển
Nội dung trình bày
2
Trang 3Sắp hàng trình tự nhằm tìm kiếm, phân loại trình
tự chuỗi DNA, Protein, ứng dụng trong xây dựng cây phân loài vẫn là một bài toán lớn và
(Bioinfomation)
1 Đặt vấn đề
3
Trang 4Hiện nay số lượng các trình tự trong các cơ sở dữ liệu sinh tin học lớn trên thế giới như:
lượng lớn dữ liệu trở nên kém hiệu quả
phải giải quyết vấn đề này ???
1 Đặt vấn đề
4
Trang 5Những năm gần đây 2 thuật toán thường được sử dụng để bắt cặp trình tự nhất là thuật toán:
- Smith – Waterman
- Needleman - Wunsch
1 Đặt vấn đề
5
Trang 7Luận văn dựa vào thuật toán Smith – Waterman để bắt cặp trình tự cục bộ
cụ thể sẽ tìm kiếm sự tương đồng của 1 đoạn trình
tự đầu vào với 1 trình tự nào đó tồn tại trong ngân hàng gen
1 Đặt vấn đề
7
Trang 88
Trang 9 Giải quyết bài toán sắp hàng trình tự cục bộ
Cung cấp thực nghiệm cho các nghiên cứu khác sâu hơn
2 Mục tiêu cầm giải quyết
9
Trang 103 Phương pháp thực hiện
Đề giải quyết bài toán, nhóm tác giả thực hiện 2 công việc:
Công việc 1: Song song xử lý dữ liệu Mỗi tiến trình xử lý
trên một nhóm các trình tự được phân đoạn một cách đồng thời
Công việc 2: Song song hóa thuật toán bắt cặp trình tự
10
Trang 11 Công việc 1: Sử dụng mô hình truyền thông điệp
MPI
Giải quyết bài toán trên môi trường
tính toán song song
Mô hình MPI trong công trình này nhóm tác giả sử dụng không làm nhiệm vụ bắt cặp trình tự, mà:
- Gửi tập chỉ mục dữ liệu nhỏ về cho các máy tính con khác nhau để tiến hành bắt cặp trình tự đồng thời trên các
Trang 12Giải quyết bài toán trên môi trường
tính toán song song
* Các bước thực hiện:
Bước 1: Nhập và gửi trình tự muốn tìm
- Nhập 1 trình tự muốn tìm kèm theo các tham số: vd độ tương đồng mong muốn, phân nhóm trình tự, dựa theo cây phân loài, hoặc tìm trên các đoạn trình tự đặc trưng…
- Gửi trình tự muốn tìm này về cho các Client
Công việc của Client:
……
gửi DNA
trình tự muốn tìm
12
Trang 13Giải quyết bài toán trên môi trường
tính toán song song
* Các bước thực hiện:
Bước 2: Xác định tập dữ liệu nhỏ sẽ được
thực hiện trên Client
- Từ một dãy các trình tự trong ngân hàng
dữ liệu và các tham số đầu vào
- Phân chia thành các tập dữ liệu nhỏ, xác
định số lượng trình tự sẽ được xử lý trên
các Client
- Xác định vị trí (tập chỉ mục) trình tự sẽ
được xử lý trên Client
- Gửi các vị trí này về cho máy client
Server
Phân chia ngân hàng DNA
Client 1 Client 2
……
Ngân hàng DNA
GCTAGCTAGT CGTGATGGT CGTAGTGCTC CGTATATAC CGTGTGTATA ACATGTGCT
13
Trang 14Giải quyết bài toán trên môi trường
tính toán song song
* Các bước thực hiện:
Bước 3: Công việc của Client:
- Client sử dụng thuật toán Smith-Waterman cải tiến chạy trên GPU
để bắt cặp trình tự trên những trình tự được chỉ định trong ngân hàng dữ liệu từ Server với trình tự muốn tìm
14
Trang 15Giải quyết bài toán trên môi trường tính toán song song
Smith-Smith- Waterman
Smith- Waterman
GCTAGCTAGT CGTGATGGT CGTAGTGCTC CGTATATAC CGTGTGTATA ACATGTGCT
15
Trang 163 Giải quyết bài toán trên môi trường tính toán song song
* Các bước thực hiện:
Bước 4: Client gửi chuỗi kết quả về tiến trình Server tổng hợp
- Client gửi chuỗi kết quả về Server
- Server nhận chuỗi kết quả từ các Client gửi về
- Server tổng hợp so sánh tìm trình tự có vị trí và điểm số đánh giá cao nhất
16
Trang 17 Công việc 2: Song song hóa thuật toán bắt cặp trình tự
(Smith – Waterman)
Sơ lược thuật toán Smith – Waterman tuần tự
Thuật toán Smith-Waterman là thuật toán được phát triển bởi T.F Smith và M.S Waterman vào năm 1981 dựa trên một mô hình đề xuất trước đó của Needleman và Wunsch
Giải quyết bài toán trên môi trường
tính toán song song
17
Trang 18 Đặc điểm:
Thuật toán Smith-Waterman là thuật toán sắp hàng cặp chuỗi cục bộ dựa trên quy hoạch động để tính điểm cho quá trình sắp hàng chuỗi
Điểm cho sắp hàng chuỗi từng cặp ký tự phụ thuộc vào: hai ký
tự là giống nhau (matches), hai ký tự không giống nhau
(mismatches) và điểm cho việc thêm/bớt khoảng trống (gap
penalty)
Giải quyết bài toán trên môi trường
tính toán song song
18
Trang 19Giải quyết bài toán trên môi trường tính toán song song
Trang 20Giải quyết bài toán trên môi trường tính toán song song
Bước 1: Khởi tạo ma trận F
20
Trang 21Giải quyết bài toán trên môi trường tính toán song song
Bước 2: Điền giá trị vào ma trận F
+ Tính F(i,j) theo công thức:
F(i, j) = Max ( 0, F(i-1, j-1) + S(i, j), F(i-1, j) - d, F(i, j-1) - d )
+ Mỗi khi tính F(i, j) lưu lại chỉ số của số hạng ở vế phải
THUẬT TOÁN
Match = 2 , Mismatch= -1, D= -1
21
Trang 22Giải quyết bài toán trên môi trường tính toán song song
Bước 3: Tìm ô ( i max, j max) có điểm cao nhất
THUẬT TOÁN
Match = 2 , Mismatch= -1, D= -1
22
Trang 23Giải quyết bài toán trên môi trường
tính toán song song
Trang 24Giải quyết bài toán trên môi trường tính toán song song
THUẬT TOÁN
Kết quả:
24
Trang 25Giải quyết bài toán trên môi trường
tính toán song song
Thuật toán Smith-Waterman trên môi trường CPU-GPU
Vần đề chủ đạo của thuật toán Smith-Waterman là phải xây dựng ma trận F, với mỗi phần tử của ma trận F được tính và điền 1 cách tuần tự
Do đó tư tưởng chủ đạo của việc song song thuật toán là sẽ điền các phần tử ma trận F một cách đồng thời
Ví dụ khi cần tính phần tử Fi,j, phải dựa vào 3 phần tử khác là:
* Fi-1,j
* Fi-1,j-1
* Fi,j-1
25
Trang 26Giải quyết bài toán trên môi trường
tính toán song song
Thuật toán Smith-Waterman trên môi trường CPU-GPU
Do đó ta có thể tính giá trị các phần tử của ma trận F nằm trên đường chéo 1 cách đồng thời:
n +m - 2
26
Trang 27Card đồ hoạ NVIDIA GeForce GTX295 với 2 GB RAM DDR3,
480 cores, hệ điều hành Microsoft Windows 7 SP1
27
Trang 284 Kết quả thực nghiệm
• Dữ liệu thực nghiệm: Dữ liệu thử nghiệm là các trình tự
protein được lấy từ cơ sở dữ liệu NCBI theo chuẩn fasta, được chia làm 3 nhóm nhằm đánh giá khả năng thực hiện song song trên môi trường CUDA
- Nhóm 1 gồm 10000 trình tự có độ dài ngắn Độ dài trung
Trang 294 Kết quả thực nghiệm
Ngoài ra, để đánh giá khả năng thực hiện song song hoá dữ liệu trên môi trường MPI, mỗi nhóm dữ liệu trên lại chia thành 3 nhóm nhỏ:
Trang 304 Kết quả thực nghiệm
Nhóm 1A Nhóm 1B Nhóm 1C Thời gian chạy (giây) 0.45 4.61 20.94
Thời gian chạy (giây) 7.15 23.94 59.63
Nhóm 3A Nhóm 3B Nhóm 3C Thời gian chạy (giây) 37.86 138.41 581.95
Kết quả sắp hàng đa trình tự với nhóm 1 Mỗi nhóm tiến hành chạy thử nghiệm 10 lần và lấy thời gian trung bình
Kết quả sắp hàng đa trình tự với nhóm 2 Mỗi nhóm tiến hành chạy thử nghiệm 10 lần và lấy thời gian trung bình
Kết quả sắp hàng đa trình tự với nhóm 3 Mỗi nhóm tiến hành chạy thử nghiệm 10 lần và lấy thời gian trung bình
30
Trang 314 Kết quả thực nghiệm
Biểu đồ tương quan về thời gian chạy của 3 nhóm
0100
Trang 32MPI kết hợp CUDA Chương trình CPU
Trang 33BIỂU ĐỒ THỜI GIAN THỰC HIỆN CÁC NHÓM
Trang 345 Kết luận và hướng phát triển
Biểu đồ tương quan về thời gian chạy của 3 nhóm
• Đề tài này đưa ra giải pháp song song hoá giải thuật Clustal phổ biến nhằm nâng cao hiệu năng tính toán cho bài toán bắt cặp trình tự
• Đóng góp: tập dữ liệu càng lớn thì chương trình CUDA càng phát huy được ưu thế về tính toán của mình
34
Trang 355 Kết luận và hướng phát triển
Biểu đồ tương quan về thời gian chạy của 3 nhóm
• Hướng phát triển:
- Phát triển giao diện người dùng thay cho giao diện
dòng lệnh
- Song song hoá toàn bộ các bước của thuật toán
Clustal Tinh chỉnh hiệu quả hơn hàm thực thi trong CUDA
35
Trang 36Em chân thành cám ơn Hội đồng
36