Luận văn thạc sĩ khoa học máy tính tăng tốc kết chuỗi con trên dữ liệu chuỗi thời gian dựa vào công nghệ gpu

Luận văn thạc sĩ nghiên cứu máy tính tăng tốc kết chuỗi con trên dữ liệu chuỗi thời gian dựa vào công nghệ gpu, đánh giá hiện trạng, phân tích vấn đề, đề xuất biện pháp hoàn thiện

Chuyên ngành

Khoa học máy tính

Người đăng

Ẩn danh

Thể loại

luận văn thạc sĩ

2018

95
3
0

Phí lưu trữ

35 Point

Tóm tắt

I. Tăng tốc kết chuỗi con trên dữ liệu chuỗi thời gian

Luận văn tập trung vào việc tăng tốc kết chuỗi con trên dữ liệu chuỗi thời gian bằng cách sử dụng công nghệ GPU. Bài toán kết chuỗi con là một bài toán nền tảng trong nhiều ứng dụng khai phá dữ liệu, đặc biệt là trong các lĩnh vực như tài chính, y tế, và thiên văn học. Tăng tốc kết chuỗi con giúp cải thiện hiệu suất tính toán, đặc biệt khi xử lý các bộ dữ liệu lớn. Luận văn đề xuất một phương pháp kết hợp giữa tối ưu hóa hiệu suất bằng phần mềm và sức mạnh tính toán song song của GPU để giải quyết bài toán này.

1.1. Bài toán kết chuỗi con

Bài toán kết chuỗi con được định nghĩa là việc tìm kiếm các cặp chuỗi con tương tự trên hai chuỗi thời gian. Đây là bài toán tổng quát hơn so với bài toán so trùng chuỗi con, vốn chỉ tập trung vào việc tìm kiếm một chuỗi con trong một chuỗi thời gian lớn hơn. Bài toán này đòi hỏi việc phân đoạn chuỗi thời gian và tính toán độ tương tự giữa các chuỗi con, thường sử dụng độ đo Dynamic Time Warping (DTW).

1.2. Tối ưu hóa hiệu suất

Để tối ưu hóa hiệu suất, luận văn sử dụng các kỹ thuật như cắt tỉa các phép tính DTW không cần thiếttính toán song song trên GPU. Các kỹ thuật này giúp giảm thiểu thời gian tính toán và tăng tốc độ xử lý dữ liệu. Đặc biệt, việc sử dụng GPU cho phép thực hiện hàng nghìn phép tính song song, giúp cải thiện đáng kể hiệu suất của bài toán.

II. Phương pháp đề xuất

Luận văn đề xuất một phương pháp kết hợp giữa tối ưu hóa thuật toántính toán song song trên GPU để giải quyết bài toán kết chuỗi con. Phương pháp này bao gồm các bước như chuẩn hóa dữ liệu, phân đoạn chuỗi thời gian, và tính toán độ đo DTW song song trên GPU. Kết quả thực nghiệm cho thấy phương pháp này đạt được hiệu suất cao trên các bộ dữ liệu lớn.

2.1. Chuẩn hóa dữ liệu

Quá trình chuẩn hóa dữ liệu giúp đảm bảo các chuỗi thời gian có cùng tỷ lệ và phạm vi giá trị, giúp việc tính toán độ tương tự chính xác hơn. Đây là bước quan trọng trước khi thực hiện các phép tính toán phức tạp như DTW.

2.2. Tính toán song song trên GPU

Việc sử dụng GPU cho phép thực hiện hàng nghìn phép tính DTW song song, giúp giảm thiểu thời gian tính toán. Luận văn sử dụng các kỹ thuật lập trình song song trên GPU để tối ưu hóa hiệu suất, đặc biệt là khi xử lý các bộ dữ liệu lớn.

III. Kết quả và đánh giá

Kết quả thực nghiệm cho thấy phương pháp đề xuất đạt được hiệu suất cao trên các bộ dữ liệu lớn, với thời gian tính toán được cải thiện đáng kể so với các phương pháp truyền thống. Luận văn cũng đánh giá tính khả thi và hiệu quả của việc sử dụng GPU trong việc tăng tốc kết chuỗi con trên dữ liệu chuỗi thời gian.

3.1. Hiệu suất tính toán

Kết quả thực nghiệm cho thấy phương pháp đề xuất giảm thiểu thời gian tính toán đáng kể, đặc biệt khi xử lý các bộ dữ liệu lớn. Việc sử dụng GPU giúp tăng tốc độ tính toán lên nhiều lần so với các phương pháp truyền thống.

3.2. Ứng dụng thực tiễn

Phương pháp đề xuất có nhiều ứng dụng thực tiễn trong các lĩnh vực như tài chính, y tế, và thiên văn học. Việc tăng tốc kết chuỗi con giúp cải thiện hiệu suất của các ứng dụng khai phá dữ liệu, đặc biệt là khi xử lý các bộ dữ liệu lớn và phức tạp.

21/02/2025

Trích đoạn nội dung tài liệu

Chương 1: Giới thiệu về Đề tài CHƯƠNG 3: CƠ SỞ LÝ THUYẾT Chương này trình bày chi tiết về các cơ sở lý thuyết được áp dụng trong đề tài như: độ đo xoắn thời gian động, các phương pháp xác định các điểm cực trị quan trọng giúp cho quá trình phân đoạn chuỗi thời gian. Ngoài ra, chương này còn trình bày về công nghệ GPU, kiến trúc cũng như mô hình lập trình song song dựa vào GPU và các phương pháp tiếp cần để tăng tốc xử lý khi tính toán độ đo xoắn thời gian động. CHƯƠNG 4 : PHƯƠNG PHÁP ĐỀ NGHỊ Chương này giới thiệu chi tiết hướng tiếp cận trong việc giải bài toán kết chuỗi con theo hướng tiếp cận bằng phần cứng thuần túy và giải pháp kết hợp giữa phần mềm và phần cứng GPU. Chương này cũng giới thiệu tổng quan về mô hình, kiến trúc và các thành phần quan trọng của ứng dụng kết chuỗi con dựa vào GPU.

CHƯƠNG 5: THỰC NGHIỆM Chương này trình bày kết quả của một số loại thực nghiệm như: thực nghiệm về tính chính xác của phương pháp đề xuất cho kết quả bài toán kết chuỗi con, thực nghiệm so sánh hai giải thuật kết chuỗi con tuần tự và song song. Bên cạnh đó, một số đánh giá, kết luận và đề xuất cũng sẽ được nêu lên dựa trên các kết quả thực nghiệm có được. CHƯƠNG 6: TỔNG KẾT Chương này trình bày tổng lược lại toàn bộ nội dung quan trọng của luận văn, các đóng góp chính của đề tài, và hướng phát triển. PHẦN TÀI LIỆU THAM KHẢO 7 Chương 2: Các Công trình nghiên cứu liên quan CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN Chương này giới thiệu sơ lược một số nghiên cứu liên quan như: độ đo tương tự, và các công trình liên quan đến kết chuỗi con.

Phần đầu chương nêu lên định nghĩa dạng tổng quát và một số thể hiện cụ thể của không gian độ đo như là độ đo Minkowski, độ đo xoắn thời gian động. Phần kế đến trình bày tổng lược các công trình liên quan như ý tưởng phân đoạn chuỗi thời gian nhờ các điểm cực trị quan trọng, giải thuật kết chuỗi con trực tiếp. Phần tiếp theo trình bày về các hướng tiếp cận giải quyết bài toán kết chuỗi con dựa trên GPU hiện nay. Phần cuối chương sẽ giới thiệu phương pháp mà luận văn đề nghị để giải quyết bài toán kết chuỗi con trên dữ liệu chuỗi thời gian.

CÁC CÔNG TRÌNH LIÊN QUAN ĐẾN ĐỘ ĐO KHOẢNG CÁCH Về độ đo khoảng cách, trước đây hầu hết các công trình đều sử dụng độ đo Minkowski, hay cụ thể là Euclid. Cách tính khoảng cách này khá đơn giản và dễ dàng, phù hợp cho những biến đổi DFT, DWT, …. Tuy nhiên, kết quả của phép đo ảnh hưởng nhiều bởi nhiễu và không hiệu quả với những dữ liệu được đo ở nhiều thang do khác nhau. Hiện nay, đã có nhiều công trình sử dụng DTW kể từ khi nó được ứng dụng vào bài toán nhận dạng giọng nói [12], hai tác giả Berndt và Clifford đã lần đầu áp dụng độ do này cho bài toán liên quan đến chuỗi thời gian [3].

Sau đó, cũng đã có nhiều công trình ([5], [6], [9], [13], [14]) sử dụng độ đo này. Độ đo xoắn thời gian động DTW có cách tính khoảng cách Minkowski nhưng thay vì so trùng hai đường biểu diễn dữ liệu bằng cách tính khoảng cách từng cặp điểm 1 − 1 (điểm thứ 𝑖 của chuỗi thứ nhất so với điểm thứ 𝑖 của chuỗi thứ hai) thì một điểm có thể ánh xạ với nhiều điểm và ánh xạ này không tuyến tính. Cách tính khoảng cách xoắn thời gian động sẽ được trình bày chi tiết trong phần 3. Ưu điểm của phương pháp này là cho phép nhận dạng những mẫu có hình dạng giống nhau nhưng chiều dài hình dạng về mặt thời gian có thể khác nhau và hiệu quả hơn rất nhiều so với phương pháp tính khoảng cách theo Euclid, đặc biệt trong bài toán phân lớp, gom cụm hay trong các ứng dụng nhận dạng giọng nói.

Tuy nhiên, nhược điểm của phương pháp này là độ phức tạp tính toán lớn cả về thời gian lẫn không gian bộ nhớ. 8 Chương 2: Các Công trình nghiên cứu liên quan Để khắc phục các nhược điểm này, các tác giả đã đưa nhiều phương pháp phần mềm nhằm tăng tốc quá trình tính toán cho DTW. Có thể kể đến như ràng buộc dải của Sakoe và Chiba [12], ràng buộc hình bình hành của Itakura [15] hay bộ kỹ thuật UCR - DTW của Rakthanmanon và nhóm cộng sự [16]. CÁC CÔNG TRÌNH LIÊN QUAN ĐẾN BÀI TOÁN KẾT CHUỖI CON Để thực hiện kết chuỗi con, trước hết cần phân đoạn chuỗi thời gian thành những chuỗi con.

Tuy nhiên, nhiều tác giả đưa ra những phương pháp phân đoạn và kết chuỗi thời gian quá cầu kỳ, phức tạp với thời gian tính toán lâu. Do đó, luận văn đề nghị hướng tiếp cận cho bài toán bằng việc phân đoạn dựa vào các điểm cực trị quan trọng (important extreme points) của tác giả Fink và Gandhi [17] và mô hình xác định tham số R của công trình [13] [14] để tìm các phân đoạn. Định nghĩa về các điểm cực trị và giải thuật xác định chúng được giới thiệu trong phần 3. Về bài toán kết chuỗi con, phương pháp đầu tiên là cách kết chuỗi con trực tiếp.

Chuỗi thời gian sẽ được kết trực tiếp bằng giải thuật lặp lồng nhau (nested loop) và thực hiện so trùng tất cả các chuỗi con có thể mà không có thêm bất kỳ kỹ thuật nào khác. Cách tiếp cận này bảo đảm tính đúng đắn và đẩy đủ của kết quả. Tuy nhiên, hạn chế lớn nhất của phương pháp là đưa đến trường hợp vét cạn (brute force) trên dữ liệu chuỗi thời gian. Ngoài ra còn có các phương khác như phương pháp kết chuỗi con dưa trên dữ liệu đã lập chỉ mục ([18], [19], [20]).

Các nhóm tác giả đề xuất lập chỉ mục không gian 𝑅 − 𝑇𝑟𝑒𝑒 và thực hiện thao tác kết chuỗi con hoặc thực hiện phép kết không gian trên dữ liệu đã được lập chỉ mục. Tuy nhiên, tất cả các hướng tiếp cận lập chỉ mục dựa trên cây 𝑅 đều yêu cầu không gian bộ nhớ lớn cho việc duy trì và xây dựng lại cấu trúc chỉ mục 𝑅 − 𝑇𝑟𝑒𝑒. Mà việc xây dựng lại cây 𝑅 tốn nhiều tài nguyên. Do đó, chi phí truy vấn tốn kém trong ngữ cảnh này.

CÁC CÔNG TRÌNH LIÊN QUAN ĐẾN SONG SONG HÓA DỰA TRÊN GPU Hầu hết các cách tiếp cận kể trên đều hướng đến giải pháp bằng phần mềm. Các phương pháp có thể đưa kết quả nhanh nhưng độ chính xác chỉ mang tính xấp xỉ, hơn nữa khó áp dụng với dữ liệu dạng luồng (streaming data). Vì thế, một số tác giả đã tiếp 9 Chương 2: Các Công trình nghiên cứu liên quan cận theo hướng tăng tốc bằng phần cứng như kỹ thuật xử lý song song dựa vào GPU ([5], [6], [8], [9], [10], [11]) cho những bài toán khai phá dữ liệu liên quan đến chuỗi thời gian tĩnh, cũng như dữ liệu luồng. Theo như giải pháp của Sart và các cộng sự năm 2010 [6] cho bài toán so trùng chuỗi con, các tác giả đã thực hiện giải thuật vét cạn song song trên GPU.

Trong đó, mỗi luồng của GPU sẽ đảm nhận tính toán độc lập một ma trận DTW, kết quả trả về từ GPU sẽ là một mảng các giá trị khoảng cách DTW. Host hay CPU sẽ so sánh các giá trị này với ngưỡng cho trước để tìm ra các chuỗi con trùng với chuỗi truy vấn. Cụ thể, hiện thực DTW trên GPU của tác giả đề xuất bao gồm ba công đoạn sau: 1. Sao chép dữ liệu từ CPU sang GPU.

CPU kích hoạt các hạt nhân (kernel) của GPU để xử lý song song. Sao chép kết quả trả về từ GPU cho CPU. Ở bước một, CPU sao chép toàn bộ chuỗi thời gian T vào bộ nhớ toàn cục của GPU. Nếu kích thước của T lớn hơn bộ nhớ sẵn dùng của thiết bị thì nó được chia thành những lô (batch) nhỏ hơn và xử lý mỗi lần một lô.

Quá trình này có thể gây ra độ trễ, nhưng không ảnh hưởng nhiều đến xử lý thời gian thực vì thời gian sao chép thường chỉ khoảng vài phần ngàn giây (milisecond). Cho nên, việc sao chép từng lô một có thể chịu được tốc độ dữ liệu đến hàng trăm hertz mà không làm tràn bộ đệm. Vì chuỗi truy vấn Q được cố định và sử dụng để so trùng với tất cả các lô, nên nó được sao chép vào bộ nhớ toàn cục ngay từ đầu và giữ nó ở đó trong suốt quá trình thực thi. Ở bước thứ hai, CPU gọi kernel trong GPU để xử lý song song.

Mỗi luồng trong kernel sẽ xử lý một cửa sổ trượt (sliding window) trong T qua hai bước: truy cập vào của sổ trượt và tính khoảng cách DTW với chuỗi truy vấn Q. Nếu chúng ta nhóm các luồng chịu trách nhiệm cho các cửa sổ trượt liên tiếp trong một khối, thì việc truy cập bộ nhớ bằng những luồng này sẽ dẫn đến các truy cập được kết hợp lại. Tức là, việc truy cập vùng nhớ chỉ thực hiện một lần cho các luồng thuộc một khối.1, một khối gồm bốn luồng cho thấy việc truy cập bộ nhớ lần đầu bởi những luồng này chỉ đọc một lần thay vì là bốn, bởi vì các luồng hoạt động trên các vị trí tiếp giáp trong bộ nhớ. 10 Chương 2: Các Công trình nghiên cứu liên quan Hình 2.1: Phân chia công việc giữa các luồng.

Truy cập bộ nhớ được kết hợp bởi các luồng trùng lắp [6]. Mặt khác, Q là một chuỗi thời gian truy vấn cố định và theo định nghĩa, nó không bị thay đổi trong quá trình thực thi. Hơn nữa Q nhỏ hơn nhiều so với T nên nó có thể vừa với bộ nhớ chia sẻ của thiết bị GPU. Bộ nhớ chia sẻ là bộ nhớ đặc biệt có sẵn trong một lõi trong bộ xử lý đa nhân của thiết bị GPU.

Bộ nhớ chia sẻ nhanh hơn 150x so với bộ nhớ toàn cục. Thông thường, bộ nhớ chia sẻ là nhỏ hơn nhiều so với bộ nhớ toàn cục và do đó là nơi lý tưởng cho chuỗi thời gian truy vấn. Cuối cùng trong bước thứ ba, khi tất cả các luồng kết thúc thực thi, CPU sao chép kết quả của khoảng cách DTW trở lại bộ nhớ hệ thống và xử lý cho ra kết quả cuối cùng của bài toán so trùng chuỗi con. KẾT LUẬN Luận văn đề nghị và mở rộng hướng tiếp cận của Sart và các cộng sự cho bài toán tổng quát hơn là kết chuỗi con, đồng thời kết hợp thêm ràng buộc Sakoe-Chiba và các kỹ thuật chặn dưới khi tính toán độ đo DTW nhằm tăng tốc hơn nữa quá trình tính toán này.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tăng tốc kết chuỗi con trên dữ liệu chuỗi thời gian bằng GPU trong luận văn thạc sĩ khoa học máy tính là một nghiên cứu chuyên sâu về việc ứng dụng GPU để tối ưu hóa quá trình xử lý dữ liệu chuỗi thời gian. Luận văn này tập trung vào việc cải thiện hiệu suất tính toán thông qua việc sử dụng sức mạnh xử lý song song của GPU, giúp giảm thời gian xử lý và tăng độ chính xác trong các bài toán liên quan đến chuỗi thời gian. Đây là một bước tiến quan trọng trong lĩnh vực khoa học máy tính, đặc biệt là trong các ứng dụng yêu cầu xử lý dữ liệu lớn và phức tạp.

Để mở rộng kiến thức về các ứng dụng công nghệ trong nghiên cứu khoa học, bạn có thể tham khảo thêm Giải pháp cảnh báo kiểu tấn công an ninh mạng deface và hiện thực, một luận văn thạc sĩ khoa học máy tính khác tập trung vào an ninh mạng. Ngoài ra, Nghiên cứu ứng dụng công nghệ IoT trong giám sát chất lượng không khí tại Hà Nội cũng là một tài liệu hữu ích để hiểu rõ hơn về cách công nghệ hiện đại được áp dụng trong thực tế. Cuối cùng, Nghiên cứu giải thuật điều khiển phân tán cho bộ đa bậc kiểu modulle sẽ cung cấp thêm góc nhìn về các thuật toán điều khiển trong kỹ thuật điện.

Những tài liệu này không chỉ bổ sung kiến thức chuyên môn mà còn giúp bạn có cái nhìn toàn diện hơn về các ứng dụng công nghệ trong nhiều lĩnh vực khác nhau.