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

Luận văn thạc sĩ Khoa học máy tính: Đánh giá hiệu suất giải thuật so trùng chuỗi DNA BWA - Mem hiện thực trên nền tảng FPGA

182 1 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Nội dung

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC BÁCH KHOA -

Trang 2

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC BÁCH KHOA -

Trang 3

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠITRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQG – HCM

Cán bộ hướng dẫn khoa học : TS Phạm Quốc Cường

Cán bộ chấm nhận xét 1 : PGS.TS Phan Công Vinh

Cán bộ chấm nhận xét 2 : TS Huỳnh Trọng Thưa

Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQGTp HCM ngày 2 tháng 7 năm 2019Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:1 PGS.TS Trần Văn Hoài (Chủ tịch)

2 PGS.TS Phan Công Vinh (Phản biện 1)

3 PGS.TS Phạm Trần Vũ (Ủy viên)

4 TS Nguyễn Trần Hữu Nguyên (Thư ký)

5 TS Huỳnh Trọng Thưa (Phản biện 2) Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lýchuyên ngành sau khi luận văn đã được sửa chữa (nếu có).

PGS.TS Trần Văn Hoài

Trang 4

ĐẠI HỌC QUỐC GIA TP.HCM

TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAMĐộc lập - Tự do - Hạnh phúc

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: KIỀU ĐỖ NGUYÊN BÌNH MSHV: 1770283

Ngày, tháng, năm sinh: 19/04/1994 Nơi sinh: TP HCM

Chuyên ngành: Khoa học máy tính Mã số : 60.48.01.01

I TÊN ĐỀ TÀI: Đánh giá hiệu suất giải thuật so trùng chuỗi DNA BWA-MEM hiện thựctrên nền tảng FPGAII NHIỆM VỤ VÀ NỘI DUNG:- Phân tích và cải tiến giải thuật BWA-MEM để phù hợp hiện thực trên FPGA- Thiết kế và hiện thực lõi so trùng SEED Extension trong giải thuật BWA-MEM trênFPGA- Hiện thực phần cứng tăng tốc cho giải thuật BWA-MEM trên nền tảng FPGA- Tích hợp hệ thống, kiểm thử và đánh giá hiệu suất.III NGÀY GIAO NHIỆM VỤ: 13/08/2018

IV NGÀY HOÀN THÀNH NHIỆM VỤ: 02/06/2019

V CÁN BỘ HƯỚNG DẪN: TS Phạm Quốc Cường

Trang 5

LỜI CẢM ƠN

Đầu tiên, tôi muốn gửi lời cảm ơn sâu sắc đến thầy Phạm Quốc Cường, người đã hỗtrợ, hướng dẫn tôi trong suốt quá trình hoàn thiện đề tài và cũng là người đã truyền cho tôirất nhiều cảm hứng đối với sự nghiệp học tập và nghiên cứu của tôi.

Tôi cũng xin cảm ơn tất cả các thành viên của phòng Lab 201C5 và tất cả các giảngviên luôn sẵn lòng giúp đỡ và hỗ trợ tôi, cũng như đảm bảo một môi trường học tập vànghiên cứu thuận lợi cho tôi trong suốt 2 năm qua Thật sự tôi đã học được rất nhiều kiếnthức và kinh nghiệm từ họ.

Cuối cùng, tôi phải bày tỏ lòng biết ơn sâu sắc đến cha mẹ, anh em và bạn bè của tôiđã cung cấp cho tôi những hỗ trợ liên tục, cùng với đó là những sự động viên, khích lệtrong suốt hai năm học tập tại trường cũng như quá trình nghiên cứu và làm luận án này.

Xin chân thành cảm ơn.

Kiều Đỗ Nguyên Bình02/06/2019

Trang 6

TÓM TẮT ĐỀ TÀI

Ngày nay, nhu cầu cần có những giải thuật phân tích DNA nhanh chóng và hiệu quảđể sử dụng trong chẩn đoán những bất thường về gen như là chẩn đoán ung thư đang làmột đòi hỏi thiết yếu khi mà thế giới đang chứng kiến sự xuất hiện của các bệnh nhân mắcbệnh liên quan đến gen ngày càng nhiều hơn và trẻ hơn Trong kỹ thuật phân tích DNA(DNA sequencing), DNA được phân chia thành những mẫu nhỏ và sau đó các mẫu này lầnlượt được giải mã Quá trình này tạo ra hàng triệu mẫu DNA nhỏ (short DNA reads) Nhữngmẫu nhỏ này sau đó đươc xử lý để nhận dạng sự khác biệt giữa chuỗi DNA chưa đượckiểm tra và gen dùng tham khảo Xử lý hàng triệu mẫu nhỏ này là một quá trình tốn rấtnhiều thời gian Do đó, tăng tốc và tối ưu quá trình phân tích DNA là một đòi hỏi chínhđáng để kỹ thuật chẩn đoán DNA có thể phổ biến cho nhiều người bệnh hơn.

Nghiên cứu so trùng (read alignment) là một bước cốt lõi trong phân tích DNA Ở đóquá trình so sánh hai chuỗi DNA sẽ tìm ra độ tương tự giữa chúng Trong nghiên cứu sotrùng, một lần đọc ngắn (short read) (thông thường khoảng 100 gạch cơ bản (bases) – DNAcó 4 loại gạch cơ bản là A, T, G, và X) sẽ được so trùng với một gen tham khảo rất lớn (vídụ khoảng 3 tỉ gạch cơ bản nếu là bộ gen của con người).

Giải thuật BWA-SW là một giải thuật cơ bản và nổi tiếng trong so trùng chuỗi khi sotrùng hai chuỗi DNA chiều dài n và m Tuy nhiên, sử dụng giải thuật này tốn rất nhiều thờigian dù hiện thực trên bất kỳ nền tảng nào.Do đó, trong những năm gần đây, có rất nhiềugiải thuật so trùng chuỗi trên cơ sở BWA-SW ra đời.

Giải thuật BWA-MEM [3] là một trong những giải thuật mới và được đánh giá làhiệu quả và chính xác cho việc so trùng các chuỗi dài hơn (alginment of longer reads)700bp Tuy nhiên, do thời gian thực thi của giải thuật BWA-MEM trên CPU là tương đốilớn, nhu cầu tăng tốc quá trình thực thi của giải thuật này bằng phần cứng là cấp thiết vàkhả thi vì các giải thuật so trùng chuỗi DNA nói chung và BWA-MEM nói riêng được thựcthi song song rất hiệu quả Hiện nay, hầu hết các công trình liên quan đến hiện thực giảithuật so trùng chuỗi hầu hết được xây dựng trên nền tảng CPU hoặc GPU Có rất ít côngtrình hiện thực BWA-MEM nhưng chưa khai thác được hết tiềm năng của giải thuật hoặckhả năng tái cấu hình linh hoạt trên nền tảng FPGA.

Xuất phát từ ý tưởng này, nhóm tác giả đề xuất một hệ thống phát hiện và so trùngchuỗi DNA dựa trên phần cứng song song và tái cấu hình Hệ thống của nhóm tác giả đượcphát triển dựa trên các triết lý về tính mở, khả năng mở rộng thông qua tái cấu hình Cácphần tử hạt nhân tính toán được thiết kế hướng đến mục tiêu đơn giản hóa quá trình đi dâykhi kết nối vào hệ thống, đặc tính này cho phép thiết kế có thể được triển khai trong thờigian ngắn với yêu cầu phần cứng thấp Từ những hạt nhân tính toán này, một hệ thống với

Trang 7

phức tạp và sức mạnh tính toán cao sẽ được sinh ra thông qua quá trình nhân bản các hạtnhân cơ bản với thời gian thiết kế ngắn, thời gian triển khai nhanh Hệ thống được hiệnthực trong đề tài theo sát tinh thần của giải thuật BWA-MEM nhưng được cải biên bởinhóm tác giả nhằm hướng đến sự tối ưu khi hiện thức trên nền tảng FPGA Giải thuậtBWA-MEM cải tiến này cũng là một đóng góp quan trọng mà nhóm tác giả đề xuất trongphạm vi đề tài này.

Chúng tôi đã hiện thực một phiên bản thử nghiệm cho hệ thống phát hiện và so trùngchuỗi DNA theo kiến trúc/mô hình đề xuất với chip FPGA Zynq xc7z020clg484 của Xilinxcho tấn số tối đa lên đến 621.118 MHz Kết quả thực nghiệm cho thấy các kết quả cuốicùng của quá trình so trùng chuỗi khi thực hiện trên phần cứng tăng tốc FPGA tương đồngvới giải thuật BWA-MEM khi hoạt động trên CPU Các kết quả kiểm lỗi chi tiết mà chúngtôi đã thực hiện cũng cho thấy kết quả của giải thuật BWA-MEM cải tiến mà nhóm đề xuấtcho kết quả cuối cùng và kết quả ở mỗi công đoạn thực hiện hoàn toàn giống với kết quảcuối cùng và kết quả tính toán mỗi công đoạn trong chuỗi tính toán của giải thuật BWA-MEM gốc khi thực hiện trên CPU.

Trang 8

Today, the need of rapid and efficient DNA analysis algorithms to use in diagnosinggenetic abnormalities such as cancer diagnosis is an essential requirement when there aremore and more patients who suffer from genetic diseases in their young age In DNAsequencing, DNA is divided into small samples and then the samples are decodedsequentially This process produces millions of small DNA samples (short DNA reads).These small samples are then processed to identify the difference between undertestedDNA and reference genes Handling millions of small samples is a time-consumingprocess Therefore, speeding up and optimizing DNA analysis is a legitimate requirementfor DNA diagnostic techniques that can become popular for more investigations.

Read alignment is a pivotal step in DNA analysis where the comparison of two DNAsequences will find out the similarity between them In the studies of string matching, ashort read (usually about 100 base-pairs) - DNA (has four basic types of tiles, A, T, G, andX) will be compared with a reference gene Huge references (for example, about 3 billionbasic bricks in the case of a human genome).

BWA-SW algorithm is a basic and well-known algorithm in string matching whencomparing two DNA sequences of length n and m However, using this algorithm takes alot of time despite being realistic on any platform Therefore, in recent years, there aremore and more string matching algorithms based on BWA-SW that have been developed.The BWA-MEM algorithm [3] is one of the newest and is considered as an effectiveand accurate matching solution for comparing longer strings (alginment of longer reads)100bp However, because the execution time of the BWA-MEM algorithm on CPU isrelatively large, the need to speed up the implementation of this algorithm by hardware isurgent and feasible because of the DNA sequence matching algorithms and BWA-MEMin particular can effectively implemented in parallel Currently, most of the works relatedto realizing string matching algorithms are mostly built on the CPU or GPU platform.There are very few BWA-MEM implementations but did not fully exploited thereconfigurable features of FPGA platforms.

Derived from this idea, we propose a parallel hardware-based DNA detection andcomparison system that can be reconfigurable The proposed system is openness andarchieves a high-level of scalability through reconfiguration’s feature The nuclearprocessing elements are designed under philosophy of simplification for wiring process,this feature allows the design to be deployed in a short time with low hardwarerequirements From these computational core, a system with high complexity andcomputational power will be generated through the process of cloning basic elements with

Trang 9

short deployment time The system is implemented in the topic according to the spirit ofBWA-MEM algorithm, but is modified by the authors to aim to the optimization for FPGAplatform This improved BWA-MEM algorithm is also an important contribution that theauthors propose within this topic.

We have implemented a revision for the DNA sequencing and detection systemaccording to the proposed platform with Xilinx's Zynq xc7z020clg484-1 FPGA chip thatcan work properly on a maximum of 621,118 MHz Experimental results show that thefinal results of comparing process when implemented on FPGA acceleration hardware aresimilar to the BWA-MEM algorithm when it is operated on General Purpose Processor.The detailed results that we present in chapter 5 also prove the soundness of our improvedBWA-MEM algorithm.

Trang 10

LỜI CAM ĐOAN

Trong luận văn này, bất kỳ công thức, ý tưởng, nghiên cứu hay phân tích nào đã mượntừ bên thức ba được chú thích chính xác nguồn dẫn trong mục tài liệu tham khảo theoquyền của tác giả.

Tôi cam đoan rằng, ngoài các tài liệu tham khảo được trích dẫn, toàn bộ các nội dungkhác (bao gồm lý luận, công thức, hình ảnh, …) là thành quả nghiên cứu của tôi dưới sựhướng dẫn của TS Phạm Quốc Cường.

Tôi khẳng định rằng, toàn bộ các nội dung tìm hiểu đều được chứng thực từ các nguồnđáng tin cậy Các số liệu dẫn chứng và đánh giá hoàn toàn trung thực, tuyệt nhiên khônggian lận hoặc phóng đại.

Nếu có bất kỳ sự gian lận nào, tôi xin hoàn toàn chịu trách nhiệm về công trình nghiêncứu này.

Tp Hồ Chí Minh, tháng 06 năm 2018Kiều Đỗ Nguyên Bình

Trang 11

MỤC LỤC

LỜI CẢM ƠN ITÓM TẮT ĐỀ TÀI IIIABSTRACT VLỜI CAM ĐOAN VIIMỤC LỤC VIIIDANH MỤC HÌNH XIDANH MỤC BẢNG XIVDANH SÁCH CÁC TỪ VIẾT TẮT XVI

CHƯƠNG 1 CHƯƠNG MỞ ĐẦU 1

1.1 Cơ sở sinh học 1

1.2 Tác động của ngành máy tính đối với nghiên cứu sinh học 2

1.3 Phân tích sinh học và hạn chế của bộ xử lý đa dụng 4

1.4 Nền tảng tăng tốc phần cứng và FPGAs 5

1.5 Tình hình nghiên cứu ngoài nước 6

1.5.1 Tăng tốc với GPU 6

1.5.2 Tăng tốc với tính toán song song 8

1.5.3 Tăng tốc với FPGA 8

1.6 Nội dung và phương pháp nghiên cứu 10

1.7 Mục tiêu của đề tài 13

1.8 Kết quả đạt được 13

1.9 Bố cục của báo cáo 13

CHƯƠNG 2 GIẢI THUẬT SO TRÙNG CHUỖI BWA-MEM 15

2.1 Chỉ mục trong giải thuật so trùng chuỗi 15

2.1.1 Giới thiệu 15

2.1.2 Minh hoạ so trùng chuỗi sử dụng chỉ mục 15

2.2 Giải thuật chỉ mục Full-text Minute-space (FM-Index) 20

Trang 12

2.2.1 Burrows-Wheeler Transform (BWT) 20

2.2.2 Chuyển đổi chuỗi BWT về chuỗi gốc ban đầu (BWT-reversing) 21

2.2.3 FM-Index 23

2.2.4 Thuật toán cho FM-Index: 25

2.3 Burrows-wheeler aligner (BWA-MEM) 27

2.3.1 Giới thiệu 27

2.3.2 Cấu trúc chương trình BWA-MEM 28

CHƯƠNG 3 PHÂN TÍCH VÀ ĐIỀU CHỈNH GIẢI THUẬT 36

3.1 Đánh giá các nghiên cứu hiện có 36

3.1.1 Hướng tiếp cận thứ nhất 36

3.1.2 Hướng tiếp cận thứ hai 39

3.1.3 Tổng kết 43

3.2 Đánh giá và điều chỉnh giải thuật 45

CHƯƠNG 4 THIẾT KẾ VÀ HIỆN THỰC LÕI SEED EXTENSION 50

4.3 Cơ chế tính toán và cấu hình la truyền 58

4.3.1 Tính toán lan truyền 58

4.3.2 Cấu hình lan truyền 60

4.4 Giao tiếp với host 63

4.5 Thiết kế chi tiết và hiện thực 63

4.5.1 Module top-level 63

4.5.2 Thiết kế và hiện thực phần tử tính toán 82

4.6 Kết chương 89

CHƯƠNG 5 TÍCH HỢP, KIỂM THỬ VÀ ĐÁNH GIÁ HỆ THỐNG 90

5.1 Môi trường thí nghiệm 90

5.2 Mô phỏng cơ chế điều khiển hệ thống 90

5.3 Đánh giá hiệu suất của hệ thống 93

5.4 Đánh gia tài nguyên hệ thống 96

5.5 Thống kê năng lượng tiêu thụ 98

Trang 13

6.3 Kết luận và hướng mở rộng trong tương lai 103

TÀI LIỆU THAM KHẢO 105

PHỤ LỤC A: CÁC KHÁI NIỆM SINH HỌC 108

PHỤ LỤC B: CƠ SỞ CÁC GIẢI THUẬT SO TRÙNG CHUỖI – BÀI TOÁN LẬPTRÌNH ĐỘNG 112

PHỤ LỤC C: GIẢI THUẬT SMITH-WATERMAN 114

PHỤ LỤC D: GIẢI THUẬT NEEDLEMAN-WUNSCH 122

PHỤ LỤC E: SO SÁNH CÁC GIẢI THUẬT SO TRÙNG CHUỖI 126

Trang 14

DANH MỤC HÌNH

Hình 1.1 Biểu đồ tương quang giá trị giải mã chuỗi DNA với định luật Moore 4

Hình 1.2 Biểu đồ tương quan hiệu suất và tính linh hoạt giữa GPP, CPU, GPU vàASIC 6

Hình 1.3 Mô hình xử lý seed extension kernel trên GPU 7

Hình 1.4 Mô hình xử lý seed extension kernel trên máy chủ phân tán 8

Hình 1.5 Mô hình tăng tốc giải thuật BWA-MEM với FPGA 9

Hình 1.6 Systolic array (a), VLL (b), VPL (c) 10

Hình 2.1 Chuỗi đầu vào 15

Hình 2.2 Hoạt động so trùng chuỗi 16

Hình 2.3 Quá trình tạo chỉ mục 17

Hình 2.4 Các bước so trùng dựa trên chỉ mục 18

Hình 2.5 Tái cấu trúc bảng chỉ mục và bước so trùng 19

Hình 2.6 Quy trình tạo chuỗi BWT 20

Hình 2.7 Thêm ký tự $ vào chuỗi ban đầu 20

Hình 2.8 Tập hợp các hoán vị vòng quanh của một chuỗi 21

Hình 2.17 Quá trình Seed Generation & Extension 31

Hình 2.18 Cấu trúc tập tin định dạng FASTQ 34

Hình 2.19 Lưu đồ giải thuật BWA-MEM 34

Hình 3.1 Mạng tính toán PEs 37

Hình 3.2 Vai trò tính điểm của PE với ma trận Smith-Waterman 38

Hình 3.3 Sử dụng mạch cắt để giảm thời gian tính toán 38

Trang 15

Hình 3.4 Mô hình hệ thống của hướng tiếp cận thứ 2 39

Hình 3.5 Kết hợp tính toán trên FPGA với host trong mô hình multithreading 40

Hình 3.6 Số chu kỳ thực hiện của hướng tiếp cận thứ hai 42

Hình 3.7 Tính điểm ma trận Smith-Waterman trên GPU 46

Hình 3.8 Quy trình thực hiện giải thuật theo hướng tiếp cận thứ nhất 47

Hình 4.1 Mô hình tính toán mảng systolic 51

Hình 4.2 Kiến trúc tổng quát của hệ thống 52

Hình 4.3 Giao tiếp giữa bộ nhớ và hệ thống 53

Hình 4.4 Pipeline trên một PE qua các chu kỳ 55

Hình 4.5 Pipeline giữa các PE tính toán trên cùng một hàng ma trận Smith-Waterman 56

Hình 4.6 Pipeline giữa các PE trong cùng một chu kỳ 57

Hình 4.7 Yêu cầu đầu vào của PE cho việc tính toán 57

Hình 4.8 So sánh mô hình MISD và DP 59

Hình 4.9 Mảng systolic có mật độ giao tiếp cao 59

Hình 4.10 Áp dụng mảng systolic vào hệ thống 60

Hình 4.11 Cấu hình theo phương pháp truyền thống 60

Hình 4.12 Cấu hình theo phương pháp truyền thống kết hợp thanh ghi đệm 61

Hình 4.13 Phân nhóm PE dựa trên yêu cầu về dữ liệu theo thời gian 61

Hình 4.14 Cơ chế cấu hình lan truyền 63

Hình 4.15 So sánh tính toán giải thuật BWA-MEM trên CPU và kết hợp CPU vàFPGA 63

Hình 4.16 Kiến trúc chi tiết Module top-level của hệ thống 65

Hình 4.17 Lưu đồ thực thi của hệ thống 66

Hình 4.18 Tác động của cơ chế cấu hình lan truyền lên các PE 67

Hình 4.19 Hoạt động của dòng dữ liệu với giới hạn số lần thực thi 69

Hình 4.20 So sánh phương pháp cấu hình truyền thống và cấu hình lan truyền 70

Hình 4.21 Sơ đồ các cổng vào ra của module top-level 71

Hình 4.22 Hoạt động của module top (lý thuyết) 74

Hình 4.23 Hoạt động của module top (thực tế) 76

Trang 16

Hình 4.24 Hoạt động của module top (thực tế) áp dụng cache 77

Hình 4.25 Giao thức điều khiển 78

Hình 4.26 Lưu đồ điểu khiển hệ thống theo giao thức 80

Hình 4.27 Giao thức đọc dữ liệu 81

Hình 4.28 Kiến trúc module PE 83

Hình 4.29 Thứ tự thực hiện các tác vụ của module PE với tài nguyên giới hạn 85

Hình 4.30 Sơ đồ khối của module PE 86

Hình 4.31 Sơ đồ khối module PR 88

Hình 5.1 Hoạt động của hệ thống - tổng thể 91

Hình 5.2 Hoạt động của hệ thống – giao tiếp bộ nhớ 91

Hình 5.3 Hoạt động ghi bộ nhớ chi tiết 91

Hình 5.4 Kích hoạt quá trình thiết lập 92

Hình 5.5 Quá trình tính toán 93

Hình 5.6 Biểu đồ thời gian của một chu trình tính toán 94

Hình 5.7 Biểu đồ so sánh mức độ tăng tốc khi thực hiện trên các nền tảng FPGAkhác nhau 95

Hình 5.8 Sơ đồ mạch được tổng hợp bởi phần mềm Vivado 97

Hình 5.9 Bố trí trên chip FPGA Zynq Z-7020 98

Hình 5.10 Năng lượng tiêu thụ của thiết bị 99

Hình 5.11 Năng lượng tiêu thụ với các điều kiện làm việc khác nhau 100

Phụ lục AHình A 1 Cơ chế xây dựng bộ gen hoàn chỉnh 108

Phụ lục BHình B 1 Đồ thị tìm đường đi ngắn nhất từ A đến B 112

Phụ lục CHình C 1 Minh họa cách tính điểm ma trận 115

Hình C 2 Hai chuỗi so trùng 118

Phụ lục EHình E 1 So sánh tỷ lệ độ chính xác giữa các giải thuật 128

Trang 17

DANH MỤC BẢNG

Bảng 2.1 Thứ tự của các ký tự trong Tbwt 22

Bảng 2.2 ( ) của Tbwt 22

Bảng 2.3 ( , ) của Tbwt 22

Bảng 3.1 Phân tích gprof của giải thuật BWA-MEM 36

Bảng 3.2 Khả năng thực thi các bước trong hướng tiếp cận thứ hai 41

Bảng 3.3 thống kê các giải pháp cho giải thuật so trùng chuỗi trên FPGA 43

Bảng 4.1 so sánh giải thuật Smith-Waterman, BWA-MEM, Needleman-Wunsch 62Bảng 4.2 Các cổng vào ra của module top 71

Bảng 4.3 khả năng thực hiện của các tác vụ trong module top 75

Bảng 4.4 Tín hiệu sử dụng trong giao thức điều khiển 78

Bảng 4.5 Các ngõ vào ra của module PE 86

Bảng 4.6 Các ngõ vào ra của module PR 89

Bảng 5.1 Tần số hoạt động và số chu kỳ hoạt động của hệ thống 93

Bảng 5.2 Thời gian thực thi giải thuật trên các nền tảng xử lý khác nhau 94

Bảng 5.3 Thống kê tài nguyên cần dùng cho hệ thống 96

Bảng 5.4 Tỉ lệ tài nguyên yêu sử dụng trong chip FPGA 97

Bảng 6.1 Các nội dung nghiên cứu và kết quả tương ứng 101

Phụ lục ABảng A 1 Các phần mềm lắp ráp gen 109

Phụ lục CBảng C 1 Ma trận thay thế cơ bản 116

Bảng C 2 Một trường hợp khác của ma trận thay thế 117

Bảng C 3 Ma trận thay thế 119

Bảng C 4 Ma trận tính điểm H 119

Bảng C 5 Tính điểm ma trận H ô đầu tiên 120

Bảng C 6 Kết quả tính toán các vị trí còn lại 120

Bảng C 7 Truy ngược để tìm chuỗi so trùng dài nhất 121

Phụ lục D

Trang 18

Bảng D 1 Ma trận thay thế 123

Bảng D 2 Khởi tạo ma trận tính điểm H 124

Bảng D 3 Tính điểm ô đầu tiên của ma trận H 124

Bảng D 4 Hoàn thành tính toán ma trận H 124

Bảng D 5 Truy xuất ngược để tìm chuỗi trùng lắp toàn cục 125

Bảng D 6 Kết quả so trùng toàn cục 125

Trang 19

DANH SÁCH CÁC TỪ VIẾT TẮT

DNA Deoxyribo-NucleicAcid các sinh vậtPhần tử mang thông tin di truyền củaBWA-

Burrows-WheelerAligner - SmithWaterman

Giải thuật so trùng chuỗi nhóm BWTdựa trên giải thuật Smith-WatermanBWA-

Burrows-WheelerAligner - MaximalExact Match

Giải thuật so trùng chuỗi nhóm BWTdựa trên việc tìm kiếm cái chuỗi trùnglắp có độ chính xác cực đại

CPU Central ProcessingUnit Đơn vị xử lý trung tâmGPU Graphics ProcessingUnit Đơn vị xử lý hình ảnh

FPGA Field-ProgrammableGate Array trình, tái cấu trúcMột loại mạch tích hợp có khả năng lậpRNA Axit Ribo-Nucleic vai trò sinh học trong mã hóa, dịchlà một phân tử polyme cơ bản có nhiều

mã, điều hòa, và biểu hiện của gene.NGS Next-GenerationSequencing theoCác kỹ thuật so trùng chuỗi thế hệ tiếpASIC Application-SpecificIntegrated Circuit dụng cụ thểVi mạch được thiết kế dành cho một ứngLBF LoadFactor Balancing Hệ số cân bằng tải

PE Processing Element Phần tử xử lýCUDA ComputeDevice ArchitectureUnified

Tên của kiến trúc tính toán song song vàngôn ngữ sử dụng tương ứng để lập trìnhcho kiến trúc CUDA được phát triển bởiNVIDIA

WARP Warp nhau trong kiến trúc CUDACác cụm thực hiện cùng các lệnh giốngSMEM Supermaximal ExactMatch chứa trong một chuỗi lớn hơn nào khácLà một chuỗi MEM mà không thể được

có đặc tính tương tựDPU Data Processing Unit Đơn vị xử lý dữ liệu

VPL VariableLength Physical dài vật lý khác nhauKiến trúc tính toán được xây dựng có độ

Trang 20

VLL VariableLength Logical dài luận lý khác nhauKiến trúc tính toán được xây dựng có độVLPL Variable Logical andPhysical Length hợp độ dài luận lý và vật lý khác nhauKiến trúc tính toán được xây dựng kếtHGP HumanProject Genome Dự án nghiên cứu về bộ gen ngườiFASTA FASTA protein, Tên định dạng tập tin ghi dữ liệu gen,BLAST BasicAlignment SearchLocal

Tool Giải thuật so trùng các chuỗi sinh học

Phương pháp tổng hợp dựa trên cácngôn ngữ lập trình bậc cao

DRAM DynamicAccess MemoryRandom RAM động

BRAM BlockAccess MemoryRandom chip FPGAKhối RAM nội được bố trí phân tán trênFIFO First-In First-Out trước sẽ được đọc trướcLoại bộ nhớ dạng hàng đợi, dữ liệu vào

Trang 21

LUT Look-Up Table kiến trúc FPGA của XilinxCác phần tử cơ bản khả lập trình trongPC Program Counter Bộ đếm chương trình

Kiến trúc trao đổi dữ liệu tuần tự bấtđồng bộ

DP DynamicProgramming Lập trình động

MISD Multiple Instruction,Single Data tác động lên cùng một dữ liệuLoại kiến trúc xử lý cho phép nhiều lệnhPR Position Record trùng cực đạiPhần tử ghi nhận vị trí đạt điểm số soSC Scoring Circuit Smith-WatermanPhần tử ghi điểm so trùng trên ma trận

HDL HardwareDescription

Language Ngôn ngữ đặc tả phần cứng

Trang 22

Chương 1 Chương mở đầu

Trong chương này chúng tôi sẽ giới thiệu sơ nét về quá trình hình thànhvà phát triển của ngành tin sinh học nói chung, các công trình nghiên cứu trongvà ngoài nước về việc tăng tốc so trùng chuỗi DNA và bố cục của báo cáo

1.1 Cơ sở sinh học

Các phân tử sinh học như axit deoxyribonucleic acid (DNA), ribonucleicacid(RNA), protein, carbohydrate và lipid là nền tảng của các tổ chức tế bào vàsự tương tác phức tạp giữa chúng quyết định các đặc tính khác nhau của sinhvật sống Những phân tử sinh học này cho phép nhiều quá trình sinh học diễnra theo các cách xác định trước để duy trì sự sống ở cấp độ tế bào (Kitano, 2002;Noble, 2002) Các vật liệu di truyền (như DNA và RNA) được quy định chặtchẽ trong mỗi thực thể sinh học Cùng với hoạt động sống, các sinh vật phảitiếp xúc với các tác nhân sinh hóa khác nhau (bên trong hoặc bên ngoài) gây rađột biến lên cấu trúc di truyền Ngoài ra, sự thay đổi điều kiện sống trong thờigian dài cũng co thể dẫn đến các biến dị khởi nguồn cho sự tiến hóa của sinhvật Các biến dị này, có thể được điều chỉnh hoặc không có khả năng điều chỉnhbởi các cơ chế sinh học, truyền lại cho các thế tiếp theo thông qua gen Do sựđiều tiết ở cấp độ phân tử là điều cần thiết để duy trì sự sống ở cấp độ tế bào,các vấn đề ở cấp độ phân tử thường dẫn đến thay đổi sinh lý cũng như sự hìnhthành các cấu trúc sinh học của cơ thể, từ đó ảnh hưởng đến cân bằng giữa sinhvật và điều kiện sống của chúng.

Cuộc sống của một sinh vật được ánh xạ trong bộ gen của nó, gen là mộtchuỗi axit nucleic, đại diện cho một đặc điểm chức năng của toàn bộ gen Mỗimã gen cho mã hóa cho một bộ protein xác định Các quá trình tế bào như nhânbản hoặc cái chết của tế bào đều được lập trình và mã hóa trong bộ gen của cácsinh vật Với sự phát triển gần đầy của ngành công nghệ sinh với thành tự lớnlao nhất là sự mã hóa hoàn chỉnh bản đồ của bộ gen người, lần đầu tiên, conngười có cơ hội mở ra các phát kiến liên quan đến gen trong chuỗi các tiến trìnhdẫn đến sự phát triển của một sinh vật cũng như nguyên nhân của các bệnh khácnhau RNA là sản phẩm của quá trình phiên mã DNA và sau đó được dịch thànhpolypeptide, được gấp lại thành một dạng đại phân tử chức năng gọi là proteintham gia thực hiện nhiều chức năng trong sinh vật (Wikipedia) Bất kỳ đột biếnnào trong DNA, nếu không được sửa chữa bởi các polymerase (có thể được hiểunhư chất xúc tác hay cơ chế điều tiết quá trình sửa chữa và nhân bản DNA) khácnhau, có thể dẫn đến sự phiên mã của RNA bị lỗi dẫn đến một protein bị dịch

Trang 23

sai so với hoạt động ban đầu của nó Điều này có thể gây ra các vấn đề lớn nhưtập hợp protein và protein bị sai lệch, không thể phân hủy và dẫn đến các bệnhgây tử vong.

Từ những cơ sở thực tiễn trên, ngành tin sinh học (bioinformatic) ra đờivới vai trò phát triển khả năng phân tích và đánh giá các diễn biến sinh học dựatrên các các dữ liệu thực tế mà so trùng chuỗi được xem như một trong nhữnglĩnh vực quan trọng nhất của ngành Lĩnh vực này cung cấp các kỹ thuật và côngcụ để đánh giá sự sai lệch giữa hai hay nhiều chuỗi DNA, RNA kết hợp với cáckỹ thuật phân tích để đưa ra các kết luận hoặc nghiên cứu về biến dị và tiến hóasinh học Thời kỳ đầu trong lịch sử sinh học, các bộ dữ liệu rất nhỏ và có thểquản lý được Hầu hết các nhà sinh học có thể phân tích dữ liệu của riêng họsau khi tham gia khóa học thống kê, sử dụng Microsoft Excel trên máy tính đểbàn cá nhân Tuy nhiên, khi ngày càng nhiều bộ gen của sinh vật bậc cao đượcgiải mã (đặc biệt là bộ gen người), các bộ dữ liệu lớn được cung cấp rộng rãi vàngày càng trở nên phổ biến hơn trong các nghiên cứu về sinh học trong tươnglai Phân tích dữ liệu này cần các công cụ khác nhau, các kỹ năng mới và nhiềumáy tính có dung lượng bộ nhớ, sức mạnh tính toán cũng như là dung lượng ổđĩa lớn.

1.2 Tác động của ngành máy tính đối với nghiên cứu sinh học

Những tiến bộ công nghệ, đặc biệt là sự phát triển của các kỹ thuật và thiếtbị tính toán, đã giúp làm sáng tỏ trình tự và cấu trúc của các đại phân tử sin học.Năm 1977, Gilbert và Sanger đã phát triển một phương pháp giải trình tự DNA,quy trình chấm dứt chuỗi enzyme và báo cáo trình tự bộ gen hoàn chỉnh của vikhuẩn fX174 (Sanger et al., 1977) Năm 1986, Leroy Hood và các đồng nghiệpđã thiết kế bộ tách chuỗi DNA bán tự động đầu tiên bằng phương pháp củaSanger cho phép khả năng giải mã trình tự DNA nhanh chóng Năm 1990, dựán giải mã bộ gen của con người song song với các dự án giải mã bộ gen củanhiều sinh vật khác nhằm mục đích sắp xếp xây dựng ngân hàng gen (GenBank)của tất cả các loài sinh vật được triển khai (Cantor, 1990; Watson, 1990) Tínhđến tháng 8 năm 2005, GenBank chứa khoảng 47 triệu chuỗi DNA khác nhau(Benson et al., 2005) và vẫn còn nhiều bộ gen đang tiếp tục được giả mã Sơlượng trình tự bộ gen đã và đang được giả mã dẫn đến một lượng lớn dữ liệucần được xử lý Xử lý và đánh giá được các dữ liệu này ảnh hưởng đến việc tìmhiểu cấu trúc và chức năng sinh học, sự tương tác và điều hòa của protein làđiều cần thiết để hiểu được các quá trình của tế bào Trong thế kỷ này, sự pháttriển công nghệ và thiết bị tính toán đã cho phép các nhà khoa học có các công

Trang 24

cụ cần thiết để nghiên cứu các hệ thống và quy trình sinh học phức tạp Nhữngnghiên cứu như vậy sẽ làm sáng tỏ hơn quá trình phức tạp bên dưới mọi sinhvật sống.

Ngoài các tác động tích cực trong việc cải thiện lưu lượng và tốc độ tínhtoán, từ đó mở ra triển vọng nghiên cứu sâu rộng các bộ gen phức tạp, sự pháttriển của các thiết bị và kĩ thuật tính toán cũng góp phần giảm chi phí tính toántrên mỗi đơn vị Ở giai đoạn đầu, việc giải mã trình tự gen có tốc độ rất thấp vớichi phí cực kỳ tốn kém Toàn bộ nỗ lực giải trình tự bộ gen rất tốn kém (chi phícần cho việc giải mã bộ gen của con người vào khoảng 2,7 tỷ USD) và chỉ cóthể thực hiện được thông qua những nỗ lực hợp tác giữa nhiều quốc gia Kể từkhi hoàn thành bộ gen người, chi phí giải trình tự đã giảm theo cấp số nhân chođến khoảng năm 2008 Với sự ra đời của các công nghệ giải trình tự thế hệ tiếptheo , chi phí giải mã trình tự các bộ DNA lớn thậm chí còn giảm nhanh hơn.Tại thời điểm hiện tại, đã nhiều kỹ thuật tính toán phù hợp được cung cấp đểgiải mã trình tự các tổ hợp gen lớn với giá thành hợp lý (mặc dù vẫn còn khácao cho các nhà nghiên cứu sinh học độc lập hay phòng thí nghiệm nhỏ) có thểchấp nhận bởi các công ty hay phòng nghiên cứu lớn Tuy nhiên, chi phí nàyđang và sẽ tiếp tục giảm nhanh chóng Gordon Moore (một đồng sáng lập củaIntel) đã quan sát thấy rằng số lượng bóng bán dẫn trong chip máy tính tăng gấpđôi sau mỗi hai năm Nhiều bóng bán dẫn trên mỗi chip cung cấp tốc độ tínhtoán nhanh hơn trong bộ xử lý máy tính cùng với việc mật độ phần tử trong bộnhớ ngày càng dày đặc hơn và nhanh hơn trong máy tính, điều này dẫn đến cácmáy tính có khả năng tính toán mạnh hơn Sức mạnh tính toán tăng trên mỗiđơn vị tính toán cũng như giá thành làm giảm nhanh chóng chi phí tính toán chocác bài toán so trùng chuỗi sinh học Hình 1.1 cho thấy giai đoạn trước năm2007, đường chi phí tính toán giảm tiệm cận với định luật Moore Sự phát triểnnày còn khả quan hơn sau năm 2008 khi NGS ra đời Cùng với việc công bốhàng loạt giải thuật thuộc NGS, chi phí cần cho việc tính toán so trùng chuỗigiảm rất mạnh so với định luật Moore như được minh hoạ trong Hình 1.1, hứahẹn cung cấp một chi phí thấp cho các nhà nghiên cứu độc lập hay các phòngthí nghiệm nhỏ đến từ bất kỳ quốc gia nào mong muốn phát triển các kỹ thuậtdi truyền.

Trang 25

Hình 1.1 Biểu đồ tương quang giá trị giải mã chuỗi DNA với định luật Moore

1.3 Phân tích sinh học và hạn chế của bộ xử lý đa dụng

Sự ra đời của các giải thuật NGS cùng với sự phát triển nhanh chóng sứcmạnh tính toán của các bộ xử lý đã mở rộng phạm vi các đối tượng tham giavào lãnh vực nghiên cứu tính toán sinh học Hệ quả là cơ sở dữ liệu sinh họcphát triển nhanh chóng Nếu thời gian cần thiết để tăng gấp đôi số lượng bóngbán dẫn trên một con chip xử lý là hai năm thì thời gian cần cho kích thước củacác cơ sở dữ liệu sinh học tăng một lượng tương ứng chỉ bằng một nửa Mặc dùsự phát triển không ngừng của các giải thuật so trùng chuỗi cũng hạn chế phầnnào sự chênh lệch này, nhưng không may là để có thể tăng (hoặc giữ nguyên)hiệu suất tính toán trên các tập dữ liệu ngày càng lớn (trong bối cảnh định luậtMoore ngày càng không chính xác) các giải thuật mới ra đời đều dựa trên cácheuristic (kinh nghiệm) khác nhau Vì cải tiến các giải thuật dựa vào heuristicgiúp giảm khối lượng tính toán cũng như khối lượng bộ nhớ cần lưu trữ dữ liệu,nhưng cũng bộc lộ nhiều hạn chế:

- Áp dụng heuristic có thể đánh đổi tính chính xác với hiệu suất xử lý sovới các giải thuật chất phác Trong hầu hết các trường hợp, các nhànghiên cứu phải chấp nhận sai số trong giới hạn cho phép.

- Heuristic có thể chỉ áp dụng tốt cho các bộ DNA có các đặc trưng riêngbiệt Hay nói các khác, giải thuật có thể được áp dụng tốt khi phân bộDNA của loài (hay nhóm loài) này, nhưng lại không dùng được cho loài(hay nhóm loài) khác.

Trang 26

Những hạn chế trên có thể được khắc phục một phần bởi các giải phápsau:

- Các nhà nghiên cứu sinh học ngoài các kiến thức về sinh học còn cầnhiểu một lượng kiến thức nhất định về lập trình, toán tin để có thể đánhgiá nhược điểm của giải thuật.

- Khi một giải thuật mới ra đời, cần thiết có các nghiên cứu sâu rộng về ưuvà nhược điểm của giải thuật này so với các giải thuật đã tồn tại Từ đóđưa ra các đánh giá (hay khuyến cáo) cho việc sử dụng và áp dụng giảithuật.

Trong hầu hết các nghiên cứu sinh học, nhà nghiên cứu sinh học thườngbỏ qua (hoặc không nhận thức đầy đủ các vấn đề) đến từ giải thuật mà họ sửdụng Do đó mà các giải pháp được nêu không được áp dụng (hoặc không đượcáp dụng triệt để do tính phức tạp của giải pháp) Từ đó đặt ra một hướng tiếpcận mới và hiệu quả cho các giải thuật: Xây dựng giải thuật mới giữ nguyêntriết lý của các giải thuật trước đó hoặc cải tiến các giải thuật cũ để có thể hoạtđộng trên các nền tảng xử lý chuyên biệt, đặc biệt là các nền tảng hỗ trợ tínhtoán song song.

1.4 Nền tảng tăng tốc phần cứng và FPGAs

Các hệ thống máy tính hiện tại bao gồm máy tính để bàn, máy tính xáchtay và điện thoại di động có chip xử lý nhiều lõi Để kết hợp với phương phápnày, các bộ xử lý đa năng thường được tăng cường với các bộ tăng tốc phầncứng để tính toán các ứng dụng chuyên sâu để giảm thời gian tính toán Cácthiết bị tăng tốc phần cứng điển hình bao gồm một số lượng lớn các đơn vị thựcthi nhỏ tạo điều kiện cho việc thực hiện song song Thông thường, các thiết bịnày được thiết kế dựa trên triết lý chuyển đổi các vòng lặp trong một chươngtrình tuần tự (lặp theo thời gian) thành không gian của vòng lặp (lặp không gian)để giảm thời gian tính toán thông qua thực hiện đồng thời Một số kiến trúc tăngtốc phần cứng phổ biến hiện nay có thể kể đến như ASIC, GPU hay FPGA Mặcdù đã có nhiều giải thuật so trùng chuỗi được cải tiến để thực thi song song trênGPU và mang lại kết quả tốt, hạn chế cố hữu của nền tảng này là tiêu tốn nănglượng nhiều trong khi vẫn có mất rất nhiều thời gian (vài ngày đến vài tháng)để thực hiện bài toán do phụ thuộc nặng vào việc sử dụng bộ nhớ chia sẽ giữahàng nghìn đơn vị tính toán ASIC cung cấp giải pháp với sử dụng năng lượnghiệu quả với tốc độ xử lý cao (các đơn vị cấu thành nên chip ASIC có tốc độcao hơn so với GPU hay FPGA) nhưng tính linh hoạt rất thấp (như Hình 1.2) vàchi phí triển khai cao.

Trang 27

Hình 1.2 Biểu đồ tương quan hiệu suất và tính linh hoạt giữa GPP, CPU,GPU và ASIC

Các phần cứng tăng tốc dựa trên nền tảng FPGA đặc biệt hiệu quả trongviệc tăng tốc một số loại ứng dụng cụ thể khi so sánh với GPU Vì các chipFPGA có thể cấu hình lại được, chúng có thể được tùy chỉnh để thực hiện nhiềuyếu tố xử lý khác nhau đồng thời loại bỏ các thành phần dư thừa, nhờ vào đómà có thể sử dụng hiệu quả các tài nguyên của chip Hơn nữa mức độ song songcao khi hiện thực trên FPGA cùng với việc triển khai cơ chế tính toán ống vớigiao tiếp cục bộ và các kết nối ngắn có thể mang lại tốc độ rất cao so với cácgiải pháp phần mềm Hạn chế của nền tảng FPGA so với GPU là lượng tàinguyên cung cấp thường không đủ để tạo ra số lượng hạt nhân tính toán bằngvới các đơn vị tính toán trên GPU và tần số hoạt động thấp hơn Thêm vào đó,các bài toán thường bao gồm các phần tính toán tuần tự xen kẽ với tính toánsong song, và nền tảng FPGA không được đánh giá cao về hiệu suất khi thựchiện tính toán tuần tự Tuy nhiên, may mắn là các hạn chế trên đã được khắcđáng kể ở các họ chip FPGA mới, cụ thể các các dòng chip FPGA của Xilinxtừ thế hệ thứ 7 Việc bổ sung một lượng lớn các đơn vị DSP giúp tăng tốc tínhtoán và đặc biệt là sự tích hợp một bộ xử lý GPP với hiệu năng cao được kết nốivới các phần tử FPGA thông qua bus tốc độ cao giúp việc tính toán càng trở nênlinh hoạt hơn.

1.5 Tình hình nghiên cứu ngoài nước

1.5.1.Tăng tốc với GPU

Nền tảng GPU được sử dụng khá rộng rãi trong các đề tài tăng tốc giảithuật nhờ vào ưu điểm song song hóa của bản thân Một phiên bản tăng tốc giải

Trang 28

thuật BWA-MEM trên nền tảng GPU được hiện thực ở bài báo [16] Mô hìnhhiện thực ở bài báo này tương tự như hiện thực giải thuật BWA-MEM trênFPGA ở bài báo [17] Các mảng systolic được hiện thực trên nền tảng GPU thayvì trên nền tảng FPGA Bên cạnh đó, vấn đề cân bằng trong quá trình thực thigiữa CPU và GPU được cân nhắc trong bài báo này, và một chiến lược cân bằngtải (workload) giữa CPU và GPU được hiện thực nhằm tối ưu hóa thời gian hiệnthực của toàn bộ chương trình Giải thuật này sẽ tối ưu hóa thời gian rảnh rỗigiữa CPU và GPU Quá trình này được điều khiển bởi một tham số gọi là Hệ sốcân bằng tải (Load Balancing Factor: LBF), sau mỗi quá trình đọc dữ liệu thìgiá trị của LBF sẽ được tính toán lại Mỗi nhân CUDA thực hiện tính toán đượcánh xạ như là mỗi phần tử xử lí (PEs) Các luồng CUDA (CUDA thread) thựcthi các lệnh giống nhau sẽ được kết hợp lại thành một khối bao gồm 32 luồng(gọi là WARP) Các PEs sẽ chia sẻ, trao đổi dữ liệu với nhau thông qua bộ nhớchia sẻ cache trên cùng chip (on-chip Shared Memory cache) Trong đề tài này,kernel thực thi trên GPU được thiết kế và hiện thực trên mỗi WARP đơn, vớiđộ dài cột tối đa 32-kí tự và một bộ WARP ở đây cũng được hiểu như là mộtPASS Sự trao đổi dữ liệu giữa các PASS thông qua bộ nhớ chia sẻ (sharedmemory), còn giữa các core với nhau thì sử dụng xáo trộn các lệnh thực thi(shuffle instructions) để tránh sử dụng bộ nhớ chia sẻ (shared memory) Tronghiện thực này, ma trận tương tự Smith-Waterman không khởi tạo giá trị 0 banđầu Extend kernel tạo ra nhiều output hơn và heuristic được áp dụng để giớihạn sự tính toán lại trong ma trận tương tự này (Hình 1.3 thể hiện mô hình hiệnthực của bài báo trên).

Hình 1.3 Mô hình xử lý seed extension kernel trên GPU

Trang 29

1.5.2.Tăng tốc với tính toán song song

Ngày nay, các bộ vi xử lí được cải tiến trở nên mạnh mẽ với nhiều bộ xửlí trung tâm (CPU) tích hợp bên trong Với những đặc tính trên, nhóm tác giảbài báo [18] đã sử dụng lợi thế của những bộ vi xử lí này để hiện thuật tăng tốcgiải thuật BWA-MEM Một mô hình ngăn xếp (stack model) phần mềm tínhtoán hiệu suất cao (High-performance computing) đã được sử dụng để đánh giávà tăng tốc giải thuật BWA-MEM, các quá trình thử nghiệm đều sử dụng mãnguồn BWA-MEM Hình 1.4 thể hiện mô hình thiết kế hệ thống ở bài báo này.

Hình 1.4 Mô hình xử lý seed extension kernel trên máy chủ phân tán1.5.3.Tăng tốc với FPGA

Phiên bản đầu tiên được hiện thực bởi nhóm tác giả [1], nhóm tác giả đãphân tích chương trình giải thuật BWA-MEM ra làm ba phần kernel chính:SMEM Generation, Seed Extension and Output Generation tác giả đã tăng tốcphần seed extension trên FPGA dưới dạng một mảng các đơn vị xử lí(Processing Elements) và các mảng này hoạt động song song Bên cạnh đó, kĩthuật lập trình động (Dynamic Pogramming) rất phù hợp cho hiện thực trên nềntảng FPGA, do đó Seed Extension kernel được chọn để hiện thực quá trình tăngtốc Trong bài báo này [1], Seed Extension được hiện thực và thực thi trên nềntảng FPGA, quá trình SMEM Generation được thực thi trên CPU Các giai đoạnthực thi của hai quá trình này sẽ chồng chéo với nhau nhằm tối ưu thời gian,cũng như quá trình thực thi Giai đoạn cuối cùng là Output Generation sẽ đượcthực thi sau khi hai quá trình Seed Extension và SMEM Generation đã đượcthực thi xong hoàn toàn Trong Seed Extension, giải thuật Smith-Waterman là

Trang 30

một giải thuật lập trình động (Dynamic Programming) nổi tiếng trong việc tìmkiếm sự tối ưu trong việc sắp xếp giữa hai chuỗi với nhau và cho ra điểm kếtquả của việc tính toán Một ma trận tương tự như trong giải thuật Smith-Waterman được sử dụng trong BWA-MEM để đánh dấu những điểm số tốt nhấtcủa quá trình tính toán, bao gồm: khớp, không khớp và khoảng cách (matches,mismatches and gaps) Giải thuật lập trình động sẽ được hiện thực trên hệ thốngphần cứng tái cấu hình như là một mảng systolic (systolic array) tuyến tính.Mảng systolic là mạng đồng nhất của các đơn vị xử lý dữ liệu được ghép chặt(DPUs: Data Processing Units) được gọi là các ô (cells) hoặc các nút (nodes).Mỗi nút hoặc DPU độc lập tính toán một phần kết quả như một hàm của dữ liệunhận được từ các nút hoặc DPUs trước nó truyền vào, lưu trữ kết quả trongchính nó và truyền dữ liệu cho các nút hoặc DPUs tiếp theo mà đứng sau nó.Mỗi mảng systolic bao gồm nhiều phần tử xử lí (Processing Elements: PEs)thực thi song song, độc lập với nhau và mỗi phần tử xử lí sẽ đọc, xử lí từng kítự một Hình 1.5 thể hiện mô hình hiện thực tăng tốc Seed Extension của [1].

Hình 1.5 Mô hình tăng tốc giải thuật BWA-MEM với FPGA

Có nhiều loại cấu hình PE-Module (Processing Element Module) trênFPGA như: mảng systolic chuẩn (standard systolic array), tùy biến độ dài vật lí(Variable Physical Length: VPL), tùy biến độ dài logic (Variable LogicalLength: VLL) hoặc là PE-đơn giống như cấu trúc của GPU Hình 1.6 thể hiệncác loại cấu hình của PE-Module Dựa vào các ưu điểm và nhược điểm của cấuhình PE-Modules trên FPGA, sự kết hợp giữa tùy biến độ dài logic (VLL) vàtùy biến độ dài vật lí (VPL) tạo thành Variable Logical and Physical Length(VLPL) đã được lựa chọn dựa trên hiệu suất tương đối của cấu hình PE-Module

Trang 31

và các điểm tối ưu (được gọi là điểm thoát tối ưu hóa của cấu hình này) để hiệnthực trong bài báo trên.

Hình 1.6 Systolic array (a), VLL (b), VPL (c)

1.6 Nội dung và phương pháp nghiên cứu

Nội dung 1: Nghiên cứu xây dựng mô hình hệ thống kết hợp bộ xử lý đadụng và phần cứng có cấu hình phù hợp để tăng tốc giải thuật BWA-MEM.

Mục tiêu nội dung 1: mục tiêu chính của nội dung này là nghiên cứu vàxây dựng được một mô hình hoạt động kết hợp giữa nền tảng FPGA và bộ xửlý đa dụng phù hợp cho hiện thực tăng tốc giải thuật BWA-MEM Mô hình nàyphải xem xét đến việc tối ưu quá trình truyền nhận dữ liệu giữa bộ xứ lý đa dụngvà các kernels trên phần cứng FPGA.

Phương pháp: phương pháp được sử dụng là phân tích và thiết kế, có thểsử dụng kết hợp thêm với các công cụ mô phỏng hành vi để kiểm tra.

Phân tích và diễn giải số liệu thu được: đánh giá tính khả thi và tính hiệuquả của thiết kế một cách định tính.

Nội dung 2: Thiết kế các kernel tính toán cho quá trình Seed ExtensionMục tiêu nội dung 2: mục tiêu chính của nội dung này là thiết kế và hiệnthực được kernel tính toán cho quá trình Seed Extension Thiết kế kernel này lànội dung quan trọng nhất của đề tài vì nó đóng vai trò quyết định đến tốc độ xửlý cũng như là tính đúng đắn của giải thuật Thiết kế này phải khả hiện thựcbằng ngôn ngữ đặc tả phần cứng và khả tổng hợp bởi vì mục tiêu cuối cùng làphải hiện thực được các kernels này trên phần cứng FPGA.

Trang 32

Phương pháp: phương pháp được sử dụng là phân tích mã nguồn của giaiđoạn Seed Extension trong giải thuật BWA-MEM nguyên thủy và thiết kế, cóthể sử dụng kết hợp thêm với các công cụ mô phỏng hành vi để kiểm tra.

Phân tích và diễn giải số liệu thu được: đánh giá tính khả hiện thực củathiết kế.

Nội dung 3: Hiện thực kernel tính toán cho quá trình Seed Extension đãthiết kế trong nội dung 2

Mục tiêu nội dung 3: mục tiêu chính của nội dung này là hiện thực đượckernel tính toán cho quá trình Seed Extension Quá trình hiện thực các kernelsnày cũng nội dung quan trọng của đề tài vì nó đóng vai trò quyết định đến tốcđộ xử lý cũng như là tính đúng đắn của giải thuật Các kernel này phải khả hiệnthực bằng ngôn ngữ đặc tả phần cứng và khả tổng hợp bởi vì mục tiêu cuối cùnglà phải hiện thực được các kernels này trên phần cứng FPGA mà yêu cầu cụ thểlà phải hoạt động được ở tần số tối thiểu là 100Mhz.

Phương pháp: phương pháp được sử dụng là sử dụng ngôn ngữ đặc tảphần cứng kết hợp với các công cụ mô phỏng để hiện thực kernel Sau khi hiệnthực thành công, các kernel phải được tổng hợp với các công cụ tổng hợp dùngcho phần cứng tái cấu hình để xác định được tần số hoạt động.

Phân tích và diễn giải số liệu thu được: đánh giá tính khả tổng hợp củahiện thực và tần số hoạt động của kernel.

Nội dung 4: Hiện thực hai quá trình seed và ghi kết quả trên máy chủ bằngngôn ngữ C/C++.

Mục tiêu nội dung 4: mục tiêu chính của nội dung này là xây dựng đượcthư viện cho quá trình seed và đánh chỉ số cho các các seed tìm được Đồng thờilưu trữ lại dưới một cấu trúc dữ liệu hiệu quả về không gian lưu trữ mà khônglàm giảm thời gian truy xuất lại dữ liệu Ngoài ra, các hàm được xây dựng phảiđáp ứng được khả năng thực hiện song song trên CPU một cách hợp lý và khảnăng hoạt động trong thời gian dài.

Phương pháp: phương pháp được sử dụng là sử dụng ngôn ngữ lập trìnhC/C++ và các công cụ đánh giá hiệu suất được hỗ trợ Sau khi hiện thực thànhcông, chương trình được xây dựng phải được tổng hợp thành các thư viện và cókhả năng tái sử dụng dễ dàng.

Phân tích và diễn giải số liệu thu được: đánh giá khả năng hoạt độngcủa hai giai đoạn seed và ghi kết quả và tính tái sử dụng của hệ thống.

Trang 33

Nội dung 5: Hiện thực khung sườn hỗ trợ hệ thống.

Mục tiêu nội dung 5: mục tiêu chính của nội dung này là xây dựng đượcmột khung sườn hỗ trợ người dùng dễ dàng thực hiện cấu hình hệ thống và đưara các quyết chính xác về cấu hình hệ thống mà không cần nhiều kiến thức liênquan đến lập trình cũng như thiết kế phần cứng.

Phương pháp: sử dụng các khung sườn hỗ trợ thiết kế giao diện phối hợpvới thư viện được xây trong nội dung 4.

Nội dung 6: Tích hợp và hoàn chỉnh hệ thống

Mục tiêu nội dung 6: mục tiêu chính của nội dung này là tích hợp cáchiện thực của các kernels trong nội dung 3 với kiến trúc hệ thống trong nộidung 1 để hoàn thiện toàn bộ hệ thống của đề tài.

Phương pháp: sử dụng công cụ hỗ trợ phát triển ứng dụng của các thiếtbị phần cứng tái cấu hình để hiện thực toàn bộ hệ thống.

Phân tích và diễn giải số liệu thu được: đánh giá tính khả tổng hợp củahiện thực và tần số hoạt động của toàn bộ hệ thống.

Nội dung 7: Kiểm thử và đánh giá hiệu suất

Mục tiêu nội dung 7: mục tiêu chính của giai đoạn này là kiểm thử tínhđúng đắn của hệ thống và so sánh các tham số như hiệu suất, năng lượng tiêuthụ với hiện thực chỉ dùng sử dụng bộ xử lý đa dụng.

Phương pháp: sử dụng các công cụ phân tích và đánh giá sau khi đã thựcthi giải thuật Ngoài ra cần thực thi giải thuật trên cùng tập dữ liệu trên cả hệthống hiện thực trong đề tài này và trên duy nhất bộ xử lý đa dụng với giải thuậtBWA-MEM nguyên thủy để so sánh kết quả thu được.

Phân tích và diễn giải số liệu thu được: đánh giá toàn bộ hệ thống dựatrên các tham số kể trên.

Nội dung 8: hoàn chỉnh báo cáo tổng kết

Mục tiêu nội dung 8: mục tiêu chính của nội dung này hoàn thiện báo cáotổng kết cuối cùng.

Trang 34

1.7 Mục tiêu của đề tài

Mục tiêu chính cần đạt được của đề tài nghiên cứu cụ thể như sau:

- Nghiên cứu và hiện thực giai đoạn mở rộng hạt (seed extension – sẽ đượcđề cập ở chương ) trên nền tảng FPGA Giai đoạn seed extension đượclựa chọn để hiện thực trên FPGA vì thời gian thực thi so với tổng thờigian của quá trình chiếm tỷ lệ cao, do đó việc song song hóa quá trình sẽmang lại hiệu quả đáng kể trong việc cải thiện tốc độ xử lý Kết quả phảiđạt được là thời gian xử lý trên phần cứng FPGA phải nhanh hơn kết quảđạt được trên CPU với cùng một tập dữ liệu.

- Phát triển thư viện tích hợp và khung sườn hỗ trợ hướng đến việc khuyếnkhích người dung có thể dễ dàng tiếp cận và khai thác hiệu năng mà đềtài mang đến Kết quả hướng đến là một khung sườn hỗ trợ và một thưviện tích hợp có thể giao tiếp hiệu quả giữa máy chủ và phần cứng FPGA,góp phần tăng độ chính xác và cải thiện tốc độ thực thi của cả quá trình,giảm bớt sự trì hoãn trong việc giao tiếp giữa 2 phần cứng.

1.8 Kết quả đạt được

Kết thúc đề tài, tác giả đã xây dựng được hệ thống phần cứng tăng tốc giảithuật so trùng chuỗi BWA-MEM đạt hiệu suất cao Hệ thống được xây dựng cóthiết kế hợp lý trên nền tảng phần cứng tái cấu hình FPGA Các cơ chế giao tiếpgiữa các khối được kiểm chứng ở mức logic và hoạt động thực tế cho kết quảđúng đắn Kernel tính toán được tổng hợp và tích hợp hoàn chỉnh vào hệ thống,tần số hoạt động vượt yêu cầu đặt ra trên tất cả thử nghiệm tổng hợp trên cácnền tảng khác nhau, đạt tối đa 621.118 Mhz Bên cạnh việc thiết kế kernel tínhtoán, một khung sườn hỗ trợ cũng được xây dựng song song, hỗ trợ người dùngcó thể dễ dàng đưa ra các thiết lập cho hệ thống mà không cần nhiều kiến thứctrong thiết kế phần cứng Quá trình kiểm thử cho thấy hệ thống đạt được cácthông số tích cực về hiệu suất xử lý và năng lượng tiêu thụ.

1.9 Bố cục của báo cáo

Các phần vào nội dung của báo cáo được tổ chức như sau:- Chương 1: Chương mở đầu

- Chương 2: Giải thuật so trùng chuỗi BWA-MEM- Chương 3: Phân tích và điều chỉnh giải thuật

- Chương 4: Thiết kế và hiện thực lõi SEED Extension- Chương 5: Tích hợp, kiểm thử và đánh giá hệ thống- Chương 6: Tổng kết

Trang 35

- Tài liệu tham khảo

- Phụ lục A: Các khái niệm sinh học

- Phụ lục B: Cơ sở giải thuật so trùng chuỗi – bài toán lập trình động- Phụ lục C: Giải thuật Smith-Waterman

- Phụ lục D: Giải thuật Needleman-Wunsch- Phụ lục E: So sánh các giải thuật so trùng chuỗi

Trang 36

Chương 2 Giải thuật so trùng chuỗi BWA-MEM

Chương này sẽ trình bày về giải thuật BWA-MEM và cách thức hoạt độngcủa nó Trước khi đi vào giải thuật chính, chúng tôi sẽ trình bày các cơ sở đểhình thành nên giải thuật Đó là kỹ thuật Burrows-Wheeler Transform (BWT),Full-text Minute-space (FM-Index) Những kiến thức này đặc biệt quan trọngbởi nó giúp chúng ta biết được cách thức hoạt động của giải thuật BWA-MEMđể từ đó hiểu được cách thức tổ chức, kiến trúc và tối ưu hệ thống so trùng chuỗidựa trên BWA-MEM được trình bày trong những chương sau.

2.1 Chỉ mục trong giải thuật so trùng chuỗi

2.1.1.Giới thiệu

Một chỉ mục về cơ bản là một danh sách các thuật ngữ chính và mỗi thuậtngữ chính được liên kết với một danh sách các vị trí của từ khoá trong cơ sở dữliệu được đề cập Trên khía cạnh lập trình, chỉ mục có thể được xem như mộtloại cấu trúc dữ liệu để tổ chức chuỗi ban đầu thành chuỗi (hay nhiều chuỗi nhỏhơn) có thứ tự Trong hoạt động truy xuất các khối dữ liệu lớn, việc tìm kiếmmột thông tin bằng cách tìm kiếm tuần tự từng ô nhớ của bộ nhớ lữu trữ sẽchiếm nhiều thời gian, từ đó làm giảm hiệu suất chung của quá trình xử lý Nhờvào chỉ mục, chúng ta có thể tra cứu dễ dàng các thông tin của bố nhớ, do cácthông tin được sắp xếp có thứ tự theo chỉ mục nên thời gian truy xuất dữ liệu sẽgiảm theo một hàm với thời gian (tuỳ thuộc vào giải thuật chỉ mục) Để có cáinhìn rõ ràng hơn về tác động của chỉ mục trong bài toán so trùng chuỗi, ta hãyxem xét ví dụ sau đây được áp dụng với giải thuật chỉ mục so trùng chuỗi chấtphát.

2.1.2.Minh hoạ so trùng chuỗi sử dụng chỉ mục

Bài toán được xem xét là so trùng một chuỗi đầu vào có 4 ký tự trongchuỗi dài cho trước Hình 2.1 biểu diễn chuỗi đầu vào sẽ được lập chỉ mục.

Hình 2.1 Chuỗi đầu vào

Giả sử cần so trùng chuỗi đầu vào = dựa trên chuỗi gốc, việc sotrùng sẽ hoạt động theo Hình 2.2 Dễ dàng thấy được với một chuỗi đầu vào cóđộ dài là và chuỗi cần so trùng có độ dài là , độ phức tạp của bài toán sẽ là

×

Trang 37

Hình 2.2 Hoạt động so trùng chuỗiCơ chế so trùng chất phát

Cũng với bài toán này, chúng ta sẽ tiến hành đánh số chỉ mục so trùngchuỗi sau khi đã tổ chức dữ liệu ban đầu thành các chỉ mục Cách đánh số chỉmục được thực hiện theo các bước như Hình 2.3 Bước 1, bốn ký tự đầu tiêntrong chuỗi T (ACGT) sẽ được điền vào bảng chỉ mục với vị trí là 0 Tiếp theo,bốn ký tự tiếp theo, bắt đầu từ vị trí 1, được điền vào bảng chỉ mục cùng với vịtrí của nó (1) Trong trường hợp chuỗi tiếp theo trùng với chuỗi bất kỳ đã tồntại trong bảng, ta chỉ cần điền vị trí mới vào chỉ mục đã có sẵn trong bảng màkhông cần thiết phải tạo chỉ mục mới Điều này sẽ giúp hạn chế không gian lưutrữ cần thiết cho bảng chỉ mục Các bước tiếp theo được tiến hành tương tự chođến khi chuỗi con cuối cùng được đánh chỉ mục Việc đánh chỉ mục dựa trêncác chuỗi con có độ dài cố định là k được gọi là cách đánh chỉ mục k-mer.Phương pháp đánh chỉ mục k-mer được xem là phương pháp đánh chỉ mục chấtphát, độ phức tạp cho quá trình đánh chỉ mục là (n – m) với n là độ dài của chuỗiđầu vào, và m là độ dài tương ứng với k.

Trang 38

Hình 2.3 Quá trình tạo chỉ mục

Quá trình đánh chỉ mục được thực hiện một lần trong tất cả các quá trìnhso trùng, bảng chỉ mục sau khi được tạo ra sẽ được lưu trữ như một dữ liệu cócấu trúc và được tái sử dụng trong các lần so trùng tiếp theo nếu người dùngkhông có nhu cầu thay đổi đặc tính của bảng chỉ mục (Ví dụ: thay đổi k tronggiải thuật k-mer) Việc so trùng sẽ được thực hiện thông qua các bước như Hình2.4.

- Bước 1: bốn ký tự đầu tiên của chuỗi cần so trùng sẽ được đối chiếu vớibảng chỉ mục (trong trường hợp dùng bảng 4-mer).

- Bước 2: áp dụng giải thuật chất phát để so trùng bốn ký tự được chọn vớitừng chỉ mục trong bảng.

- Bước 3: nếu tìm được chỉ mục trùng khớp với bốn ký đang xét, trả về giátrị chỉ mục là vị trí bắt đầu của chuỗi con trong chuỗi ban đầu.

- Bước 4: tiếp tục mở rộng so trùng từ vị trí tiếp theo chuỗi đã được chỉmục ở cả chuỗi tham khảo và chuỗi cần so trùng Độ phức tạp của giaiđoạn so trùng ở tình huống xấu nhất khi sử dụng chỉ mục là ( − +1) × + ( – ).

Trang 39

Hình 2.4 Các bước so trùng dựa trên chỉ mục

Trong ví dụ trên, việc sử dụng chỉ mục để so trùng chuỗi về lý thuyết sẽcó độ phức tạp thấp hơn là phương pháp so trùng chất phát trong trường hợp mrất lớn hơn so với k Tuy nhiên, để thấy rõ hơn nữa ưu điểm của phương phápnày, chúng ta hãy thử thực hiện một thay đổi nhỏ trên bảng chỉ mục đã được tạora bằng cách sắp xếp các chỉ mục theo thứ tự alphabet của chuỗi và tiến hànhtìm kiếm chuỗi Hình 2.5 mô tả phương pháp tìm kiếm chuỗi với bảng chỉ mụccó thự tự Phương pháp so trùng tương tự, nhưng bảng chỉ mục sẽ được sắp xếpthứ tự trong quá trình chỉ mục để đưa ra cấu trúc dữ liệu có ‘tổ chức’ hơn Vớicấu trúc dữ liệu mới này, bước so trùng chuỗi sẽ có độ phức tạp là ( ( −) × + ( − )) Một số cải tiến khác cũng có thể được áp dụng như thayđổi giải thuật sắp xếp khi xây dựng chỉ mục, áp dụng các cấu trúc dữ liệu khácnhau để lưu trữ bảng chỉ mục, …

Trang 40

Hình 2.5 Tái cấu trúc bảng chỉ mục và bước so trùng

Rõ ràng, việc sử dụng chỉ mục rất thuận tiện và dễ dàng để truy xuất dữliệu vì dữ liệu đã được tổ chức, giúp quá trình truy xuất diễn ra nhanh chóng dotránh được việc phải quét qua toàn bộ các ký tự của chuỗi Bên cạnh đó, việc sửdụng bảng chỉ mục cũng tạo điều kiện cho nhà phát triển dễ dàng tích hợp cácgiải thuật khác nhau để cải thiện hiệu suất tính toán Việc sử dụng bảng chỉ mụccũng tồn tại một số hạn chế, việc sử dụng bảng chỉ mục đòi hỏi phát sinh thêmchi phí thời gian cho việc lập bảng chỉ mục, vì vậy mà không phù hợp khi chuỗitham chiếu thay đổi thường xuyên Tuy nhiên, tính chất bài toán so trùng chuỗiDNA mà chúng tôi xem xét trong đề tài này là việc so trùng rất nhiều chuỗi đầu

Ngày đăng: 05/08/2024, 00:46

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w