Tổng quan nghiên cứu

Sự bùng nổ của công nghệ giải trình tự gen thế hệ mới (Next-Generation Sequencing - NGS) đã tạo ra khối lượng dữ liệu khổng lồ với tốc độ tăng trưởng theo cấp số nhân. Theo thống kê từ Trung tâm Thông tin Công nghệ sinh học Quốc gia Hoa Kỳ (NCBI), dung lượng dữ liệu chứa các trình tự sinh học đã vượt quá 120GB với hơn 9 Gbase (tương đương 9 tỷ cặp bazơ nitơ). Trong quy trình xử lý dữ liệu NGS, việc so trùng và sắp hàng các đoạn đọc ngắn (short reads) có độ dài từ 70bp đến hàng megabases vào một bộ gen tham khảo là bước bắt buộc, chiếm tỷ trọng tài nguyên tính toán lớn nhất.

Vấn đề nghiên cứu trọng tâm là giải quyết tình trạng nghẽn cổ chai về tốc độ khi thực thi giải thuật sắp hàng trình tự gen BWA-MEM trên nền tảng CPU truyền thống. Mục tiêu cụ thể của đề tài là phân tích chi tiết dòng dữ liệu của BWA-MEM, thiết kế lại nhân tính toán ma trận Smith-Waterman và hiện thực giải pháp tăng tốc phần cứng thông qua mô hình tính toán song song trên GPU với kiến trúc NVIDIA CUDA.

Nghiên cứu được triển khai trong phạm vi 12 tháng, từ tháng 7 năm 2017 đến tháng 7 năm 2018, tại Phòng thí nghiệm 201C5 thuộc Khoa Khoa học và Kỹ thuật Máy tính, Trường Đại học Bách Khoa - Đại học Quốc gia Thành phố Hồ Chí Minh. Ý nghĩa thực tiễn của công trình thể hiện qua việc giảm thiểu đáng kể thời gian phân tích mẫu gen, hỗ trợ đắc lực cho các ứng dụng y sinh học hiện đại như phát hiện sớm đột biến bệnh tế bào máu hình lưỡi liềm, thiết kế peptide kháng thể, xét nghiệm di truyền và nghiên cứu tiến hóa loài với độ chính xác bảo toàn tuyệt đối 100%.

Cơ sở lý thuyết và phương pháp nghiên cứu

Khung lý thuyết áp dụng

Nghiên cứu vận dụng hệ thống lý thuyết nền tảng vững chắc trong tin sinh học và kỹ thuật tính toán hiệu năng cao:

  • Biến đổi Burrows-Wheeler (Burrows-Wheeler Transform - BWT) và kỹ thuật ánh xạ cột Last-to-First (LF-mapping): Kỹ thuật hoán vị chuỗi ký tự theo thứ tự từ điển, cho phép nén dữ liệu văn bản gốc đồng thời bảo toàn khả năng giải mã ngược chính xác chuỗi ban đầu.
  • Cấu trúc chỉ mục toàn văn FM-index (Full-text index in Minute-space): Kết hợp BWT với mảng đếm số lần xuất hiện Occ(c, q) và mảng vị trí để thực hiện truy vấn chuỗi con nhanh chóng với độ phức tạp không gian bộ nhớ cực thấp thông qua hai hàm thủ tục cốt lõi là get_rows và get_position.
  • Giải thuật Smith-Waterman với điểm phạt quãng cách (Affine Gap Penalty): Thuật toán quy hoạch động kinh điển dùng để tìm kiếm miền tương đồng cục bộ tối ưu giữa hai chuỗi ký tự thông qua việc khởi tạo ma trận tính điểm kích thước (n+1) nhân (m+1), tính điểm ô dựa trên ma trận thay thế và truy vết đường đi tối ưu.
  • Luận thuyết Seed-and-Extend: Mô hình hai pha gồm bước Seeding để tìm các chuỗi khớp chính xác tối đại (Supermaximal Exact Matches - SMEM) và bước Extension mở rộng hạt giống bằng quy hoạch động Smith-Waterman.
  • Kiến trúc phần cứng GPU và mô hình lập trình song song CUDA: Mô hình phân cấp tính toán gồm Grid, Block, Thread và nhóm 32 luồng xử lý (Warp), kết hợp hệ thống bộ nhớ đa tầng gồm Global Memory, Shared Memory, Constant Memory và Register.

Phương pháp nghiên cứu

Nghiên cứu sử dụng nguồn dữ liệu chuẩn trong tin sinh học bao gồm bộ gen tham khảo ở định dạng FASTA và tập dữ liệu các đoạn đọc ngắn ở định dạng FASTQ. Cỡ mẫu thực nghiệm bao gồm nhiều tập dữ liệu với số lượng từ 50.000 đến 200.000 đoạn đọc đơn và đoạn đọc kép (paired-end reads). Phương pháp chọn mẫu tập trung vào các bộ dữ liệu chuẩn có độ dài đoạn đọc phổ biến từ 100bp đến 150bp, mang đầy đủ các biến thể sinh học như đột biến điểm, hiện tượng chèn/xóa đoạn (indels) và phân bố chất lượng giải trình tự ngẫu nhiên nhằm kiểm định toàn diện độ ổn định của giải thuật.

Phương pháp phân tích được lựa chọn là kỹ thuật định hình hiệu năng chương trình (Performance Profiling) thông qua các công cụ đo kiểm chuyên dụng như gprof, oprof trên CPU và bộ công cụ nvprof của NVIDIA trên GPU. Lý do lựa chọn phương pháp này là nhằm định lượng chính xác tỷ lệ tiêu thụ thời gian của từng module độc lập trong mã nguồn BWA-MEM phiên bản 0.7.x, từ đó xác định chính xác nhân tính toán gây nghẽn để thiết kế kiến trúc song song phù hợp.

Dữ liệu được xử lý qua quy trình đường ống 3 giai đoạn (Pipeline Architecture): đọc dữ liệu đầu vào, xử lý đa luồng kết hợp đẩy tác vụ sang GPU xử lý ma trận Smith-Waterman, và ghi kết quả đầu ra theo chuẩn SAM (Sequence Alignment/Map). Toàn bộ quá trình nghiên cứu, thiết kế phần mềm và đo lường thực nghiệm được tiến hành liên tục trong khung thời gian từ ngày 10 tháng 7 năm 2017 đến ngày 18 tháng 7 năm 2018.

Kết quả nghiên cứu và thảo luận

Những phát hiện chính

Quá trình phân tích mã nguồn và thực nghiệm chuyên sâu trên hệ thống phần cứng đã mang lại 4 phát hiện quan trọng:

  1. Phân tích cấu trúc thời gian của BWA-MEM trên CPU chỉ ra rằng giai đoạn tạo chuỗi khớp chính xác SMEM Generation chiếm 56% tổng thời gian thực thi (nghẽn bộ nhớ - Memory Bound), giai đoạn mở rộng hạt giống Seed Extension chiếm 32% (nghẽn tính toán - Computation Bound), giai đoạn tạo kết quả Output Generation chiếm 9% và các thao tác vào/ra dữ liệu (I/O) chiếm 3%.
  2. Nhân tính toán Smith-Waterman trong giai đoạn Seed Extension khi được tái cấu trúc và chuyển dịch sang xử lý song song trên GPU NVIDIA 940M đạt mức tăng tốc riêng phần từ 2,1 lần đến 3,4 lần so với việc thực thi tuần tự trên một luồng CPU Intel Core i3-5010U xung nhịp 2,10GHz.
  3. Việc kết hợp xử lý song song giữa CPU đa luồng và nhân Smith-Waterman trên GPU giúp toàn bộ chương trình BWA-MEM cải thiện tốc độ xử lý tổng thể, rút ngắn từ 20% đến 31% tổng thời gian thực thi trên các tập dữ liệu thử nghiệm chuẩn.
  4. Kết quả so trùng đầu ra được định dạng chuẩn SAM hoàn toàn đồng nhất 100% về tọa độ ánh xạ, điểm số căn chỉnh và chuỗi CIGAR so với phần mềm BWA-MEM gốc, chứng minh giải pháp tăng tốc phần cứng không gây ra bất kỳ sai lệch nào về mặt sinh học.

Thảo luận kết quả

Hiệu năng vượt trội của nhân Smith-Waterman trên GPU bắt nguồn từ việc mô hình hóa ma trận quy hoạch động theo các đường chéo phụ (anti-diagonal parallelism). Các ô trên cùng một đường chéo không có sự phụ thuộc dữ liệu lẫn nhau, cho phép hàng trăm luồng CUDA tính toán song song giá trị ma trận tính điểm đồng thời. Việc tối ưu hóa cấu trúc dữ liệu nhiều lớp (flattened data structures) đã triệt tiêu hiện tượng phân kỳ nhánh (branch divergence) giữa các luồng trong cùng một Warp, đồng thời tận dụng bộ nhớ chia sẻ (Shared Memory) để tăng băng thông đọc dữ liệu tham chiếu.

Khi so sánh với các công trình tăng tốc BWA-MEM sử dụng mảng phần tử xử lý tuyến tính (Systolic Array) trên chip FPGA, giải pháp trên nền tảng GPU CUDA mang lại tính linh hoạt cao hơn, khả năng mở rộng dễ dàng và chu kỳ lập trình ngắn hơn nhiều so với việc mô tả phần cứng ở mức truyền thanh ghi (RTL) trên FPGA. Dữ liệu thực nghiệm được trực quan hóa rõ nét qua các biểu đồ phân bổ thời gian thực thi và bảng đối sánh hiệu năng đa luồng. Kết quả chỉ ra rằng độ trễ truyền thông qua giao tiếp bus PCIe giữa bộ nhớ máy chủ (Host Memory) và bộ nhớ thiết bị (Device Global Memory) chiếm khoảng 12% đến 18% tổng thời gian của GPU Kernel, đây chính là yếu tố giới hạn mức tăng tốc kỳ vọng.

Đề xuất và khuyến nghị

Dựa trên kết quả nghiên cứu và phân tích điểm nghẽn hệ thống, 4 giải pháp hành động cụ thể được đề xuất nhằm tiếp tục tối ưu hóa hiệu năng:

  1. Triển khai kỹ thuật chồng lấn truyền thông và tính toán (Stream Overlapping): Áp dụng cơ chế CUDA Streams bất đồng bộ kết hợp với bộ nhớ Pinned Memory để truyền dữ liệu qua PCIe song song với quá trình tính toán ma trận của GPU. Mục tiêu hướng tới là giảm 40% độ trễ giao tiếp dữ liệu trong quý 1 năm 2019, do nhóm kỹ sư phát triển phần mềm hệ thống chủ trì.
  2. Thiết kế lại nhân tạo hạt giống SMEM trên GPU: Chuyển dịch giai đoạn SMEM Generation (vốn chiếm 56% thời gian thực thi) lên kiến trúc song song của GPU thông qua việc tối ưu mảng hậu tố nén và chỉ mục FM-index. Mục tiêu là nâng tốc độ toàn hệ thống lên 2,5 lần vào quý 2 năm 2019, do các nhà nghiên cứu tin sinh học đảm trách.
  3. Nâng cấp nền tảng phần cứng chuyên dụng: Di chuyển mô hình sang các dòng card đồ họa kiến trúc mới có số lượng nhân CUDA vượt trên 2.048 nhân và hỗ trợ công nghệ NVLink nhằm giải phóng băng thông bộ nhớ. Mục tiêu là đạt thông lượng xử lý hơn 150.000 reads/giây trước quý 4 năm 2019, do phòng thí nghiệm công nghệ y sinh đầu tư.
  4. Tối ưu hóa cấu trúc đường ống I/O đa cấp: Kết hợp kỹ thuật đa luồng nâng cao trên CPU để giải nén định dạng FASTQ và ghi tập tin SAM đồng thời với tiến trình tính toán trên GPU. Mục tiêu là giảm thời gian xử lý I/O xuống dưới 2% tổng thời gian thực thi trong 6 tháng đầu năm 2020, do nhóm kỹ thuật tích hợp phần mềm thực hiện.

Đối tượng nên tham khảo luận văn

Nội dung và kết quả của luận văn mang lại giá trị thực tiễn sâu sắc cho 4 nhóm đối tượng chính:

  • Kỹ sư phát triển phần mềm Tin sinh học: Nắm bắt phương pháp phân tích kiến trúc mã nguồn của các công cụ căn chỉnh chuỗi gen tiêu chuẩn, từ đó biết cách tích hợp các thư viện tăng tốc phần cứng vào quy trình phân tích dữ liệu giải trình tự NGS.
  • Chuyên gia tính toán hiệu năng cao (HPC): Học hỏi kỹ thuật tối ưu hóa thuật toán quy hoạch động phức tạp trên kiến trúc GPU, cách phân bổ bộ nhớ đa tầng và phương pháp quản lý luồng nhằm hạn chế tối đa độ trễ trong môi trường CUDA.
  • Học viên cao học và nghiên cứu sinh ngành Khoa học máy tính: Sử dụng luận văn như một tài liệu tham khảo chuẩn mực về phương pháp nghiên cứu thực nghiệm, kỹ thuật đo kiểm điểm nghẽn hệ thống và cách thức hiện thực giải thuật song song hóa.
  • Các trung tâm giải mã di truyền và bệnh viện chuyên khoa: Tham khảo mô hình tăng tốc giá thành thấp sử dụng GPU thương mại để rút ngắn thời gian trả kết quả xét nghiệm đột biến gen từ nhiều giờ xuống vài chục phút, phục vụ chẩn đoán bệnh lý di truyền kịp thời.

Câu hỏi thường gặp

Tại sao BWA-MEM lại được chọn để tăng tốc thay vì các thuật toán so trùng gen khác?

BWA-MEM là công cụ tiêu chuẩn vàng trong tin sinh học nhờ khả năng cân bằng tuyệt vời giữa độ chính xác và tốc độ đối với các chuỗi đọc có độ dài lớn từ 70bp đến hàng megabases. Thuật toán có mã nguồn mở hoàn chỉnh, được cộng đồng khoa học quốc tế tín nhiệm và hỗ trợ cơ chế ghép cặp linh hoạt, rất lý tưởng để nghiên cứu song song hóa.

Giai đoạn nào trong BWA-MEM chiếm nhiều thời gian thực thi nhất?

Qua phân tích định hình hiệu năng bằng gprof và oprof, giai đoạn tạo chuỗi khớp chính xác SMEM Generation chiếm tỷ trọng thời gian lớn nhất với 56% tổng thời gian chạy do phụ thuộc vào truy xuất bộ nhớ. Đứng thứ hai là giai đoạn mở rộng hạt giống Seed Extension chiếm 32% thời gian do khối lượng tính toán ma trận quy hoạch động dày đặc.

Việc chuyển thuật toán Smith-Waterman sang GPU gặp phải thách thức kỹ thuật gì?

Thách thức lớn nhất là sự phụ thuộc dữ liệu tuần tự giữa các ô trong ma trận tính điểm và hiện tượng phân kỳ nhánh khi thực thi các cấu trúc điều kiện if/else trên cùng một Warp. Nghiên cứu đã khắc phục vấn đề này bằng cách tính toán song song theo đường chéo phụ kết hợp đồng bộ hóa bộ nhớ chia sẻ.

Kết quả căn chỉnh gen trên GPU có hoàn toàn trùng khớp với phiên bản CPU gốc không?

Kết quả thực nghiệm khẳng định dữ liệu đầu ra ở định dạng SAM hoàn toàn trùng khớp 100% so với phiên bản gốc chạy trên CPU đơn luồng. Tất cả các thông số về vị trí khớp, chuỗi CIGAR, điểm số căn chỉnh và cờ trạng thái đều không có bất kỳ sai lệch nào.

Giải pháp sử dụng GPU có ưu điểm gì so với việc triển khai trên chip FPGA?

So với FPGA, GPU có lợi thế vượt trội về môi trường phát triển phần mềm linh hoạt bằng ngôn ngữ C/C++ trên nền tảng CUDA, chi phí đầu tư phần cứng thấp hơn và thời gian triển khai nhanh chóng. Người dùng có thể dễ dàng nâng cấp hoặc mở rộng hệ thống mà không cần thiết kế lại mạch logic phần cứng phức tạp.

Kết luận

  • Luận văn đã phân tích toàn diện cấu trúc giải thuật BWA-MEM và xác định chính xác hai điểm nghẽn hiệu năng cốt lõi là SMEM Generation (56%) và Seed Extension (32%).
  • Thiết kế thành công nhân tính toán Smith-Waterman song song trên nền tảng GPU CUDA, mang lại mức tăng tốc riêng phần từ 2,1 lần đến 3,4 lần cho khâu tính toán ma trận.
  • Tích hợp hiệu quả mô hình phối hợp giữa CPU quản lý luồng và GPU xử lý song song, giúp rút ngắn từ 20% đến 31% tổng thời gian thực thi của toàn bộ chương trình BWA-MEM.
  • Bảo toàn tuyệt đối 100% độ chính xác của kết quả sắp hàng chuỗi gen theo định dạng chuẩn SAM so với phần mềm BWA-MEM gốc.
  • Đặt nền móng kỹ thuật vững chắc cho việc ứng dụng tính toán song song chi phí thấp vào quy trình xử lý dữ liệu giải trình tự gen thế hệ mới tại Việt Nam.

Đóng góp lớn nhất của công trình là chứng minh tính khả thi và hiệu quả vượt trội của việc ứng dụng GPU thương mại để giải quyết bài toán nghẽn tính toán trong tin sinh học. Kế hoạch tiếp theo trong giai đoạn 2019-2020 là mở rộng song song hóa cấu trúc FM-index cho giai đoạn SMEM Seeding trên GPU để tối ưu hóa toàn diện hiệu năng hệ thống. Các nhà nghiên cứu và đơn vị y sinh quan tâm có thể khai thác mô hình này để nâng cao năng lực phân tích dữ liệu gen quy mô lớn.