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: Ứng dụng GPU database trong xử lý dữ liệu lớn

46 0 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

Cấu trúc

  • I. GIỚI THIỆU ĐỀ TÀI (9)
    • 1. Mục tiêu (10)
    • 2. Đối tượng nghiên cứu (10)
    • 3. Giới hạn (11)
  • II. CÁC HƯỚNG GIẢI PHÁP LIÊN QUAN VÀ HẠN CHẾ (12)
    • 1. Giải pháp CSDL truyền thống (12)
    • 2. Các giải pháp tính toán song song thông dụng dùng CPU và mô đun tăng tốc (12)
  • III. CƠ SỞ LÝ THUYẾT VÀ ĐỊNH HƯỚNG GIẢI PHÁP (14)
    • 1. Bộ xử lý đồ họa đa dụng (GP-GPU) (14)
    • 2. Tổng quan quá trình xử lý tính toán trên GPU và nền tảng CUDA (14)
    • 3. Phần cứng CUDA trên thị trường (16)
    • 4. MapD – Hệ CSDL dựa trên card đồ họa (17)
  • IV. MÔI TRƯỜNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU (20)
    • 1. Thực nghiệm môi trường đánh giá (20)
    • 2. Tiền xử lý dữ liệu và import vào hệ thống (21)
    • 3. Phương pháp đo đạc (23)
    • 4. Các khó khăn thách thức và giải pháp (23)
  • V. HIỆN THỰC ĐÁNH GIÁ VÀ CÁC KẾT QUẢ (26)
    • 1. Chi tiết cấu trúc dữ liệu (26)
    • 2. Các bộ dữ liệu (26)
    • 3. Bài toán mục tiêu và các truy vấn mẫu trong quá trình đánh giá (27)
    • 4. Các Kết quả (29)
    • 5. Tối Ưu Hóa (32)
    • 6. Các nhận xét và đề xuất (33)
  • VI. MÔ HÌNH ỨNG DỤNG THỰC TẾ (36)
    • 1. Vị trí của GPU Database MAPD trong hạ tầng CNTT (36)
    • 2. Bổ sung phần cứng hỗ trợ (36)
    • 3. Chuyển tải dữ liệu từ hệ thống truyền thống sang MapD (37)
    • 4. Khảo sát trực quan dùng công cụ sẵn có MapD Immerse (38)
    • 5. Kết nối cho việc xây dựng ứng dụng (39)
  • VII. KẾT LUẬN (40)
  • VIII. TÀI LIỆU THAM KHẢO (41)
  • IX. PHỤ LỤC (42)
    • 1. Các đường dẫn đến các nội dung quan trọng (42)
    • 2. Tham khảo kết quả khảo sát các công cụ truy vấn (43)
    • 3. Giải thích các thuật ngữ (44)

Nội dung

Với bài toán xử lý khảo sát dữ liệu truyền thống trên bối cảnh dữ liệu lớn, các giải pháp truyền thống bộc lộ nhiều khuyết điểm như khả năng tính toán giới hạn, hệ thống nhiều máy tính c

GIỚI THIỆU ĐỀ TÀI

Mục tiêu

Đề tài nhằm vào một lớp các bài toán truy vấn dữ liệu có cấu trúc bảng, cần cho ra kết quả tức thời trong doanh nghiệp Giải pháp mã nguồn mở (và thương mại) hiện tại rất triển vọng cho vấn đề trên là hệ CSDL MapD dựa trên GPU Tuy nhiên hướng công nghệ này khá mới mẻ và chưa có các khảo sát chi tiết về ưu nhược điểm trong ứng dụng thực tế, việc ứng dụng các hệ thống mã nguồn mở này vào thực tế vẫn còn khoảng cách lớn

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

- Hiện thực môi trường phần cứng thông dụng, phần mềm và dữ liệu theo định hướng bài toán truy vấn dữ liệu có cấu trúc bảng;

- Đo đạc và so sánh hiệu năng xử lý của MapD trên GPU và trên CPU;

- Từ đó đề xuất mô hình triển khai hệ thống có thể chuyển giao cho doanh nghiệp.

Đối tượng nghiên cứu

- Bài toán truy vấn tức thời, phục vụ khảo sát cho kết quả mang tính tương tác (interactive query), có các đặc điểm: o Làm việc trên dữ liệu dạng bảng o Phải duyệt qua và tính toán trên số lượng lớn các phần tử dữ liệu để tìm kết quả o Câu truy vấn thường không biết trước hoặc thay đổi theo tình huống (do việc khảo sát liên tục trong quá trình kỹ sư dữ liệu làm việc), làm cho việc tính trước hoặc index dữ liệu không có hiệu quả hoặc mất nhiều thời gian

- Tập dữ liệu: Dựa trên dữ liệu lớn thực tế o Dữ liệu Taxi ở New York: khoảng 1 tỷ chuyến taxi ở thành phố New York trong các năm 2011-2017 [11] o Thực hiện chia nhỏ nhiều bộ dữ liệu cho việc khảo sát giải pháp trên các kích thước dữ liệu khác nhau từ 70 triệu đến 1 tỷ records

Giới hạn

- Dữ liệu có cấu trúc bảng, hoặc có khả năng chuyển về cấu trúc bảng sau giai đoạn tiền xử lý

- Độ lớn dữ liệu: 70 triệu – 1 tỷ records

- Hướng đến bài toán khảo sát dữ liệu cho kết quả tức thời, thời gian xử lý mỗi truy vấn chấp nhận được (không quá 5 giây)

CÁC HƯỚNG GIẢI PHÁP LIÊN QUAN VÀ HẠN CHẾ

Giải pháp CSDL truyền thống

Các CSDL truyền thống như MySQL, PostgreSQL hay MS SQL được dùng rộng rãi, và có đầy đủ khả năng xử lý tính toán khối lượng lớn dữ liệu Tuy nhiên các kết quả khảo sát đơn giản cho thấy các truy vấn ở khối lượng 10 triệu đến 30 triệu dòng cần thời gian từ vài chục giây đến vài phút (được trình bày ở kết quả khảo sát) Có khác biệt rất lớn với các CSDL tính toán song song khác từ vài chục đến vài trăm lần, và không thể áp dụng cho nhu cầu khảo sát dữ liệu

Lý do chính cho sự chênh lệch về khả năng xử lý là thiết kế các hệ CSDL này đảm bảo tốt cho việc xử lý chính xác các giao dịch, nhưng không được tối ưu cho xử lý song song trên dữ liệu lớn Do đó các hệ thống truyền thống cần một hệ thống phụ chuyên biệt cho việc tính toán để thực hiện nhu cầu khảo sát thống kê dữ liệu.

Các giải pháp tính toán song song thông dụng dùng CPU và mô đun tăng tốc

Các hệ thống CSDL chuyên dụng cho tính toán thống kê, do giới hạn kỹ thuật trên một nhân xử lý đơn, luôn chọn phương pháp xử lý song song để đạt hiệu suất tính toán mong muốn [9]

Tiêu biểu cho giải pháp dựa trên CPU có nhiều giải pháp của các hãng công nghệ lớn như Amazon Redshift, Google Big Query, Sparks [1] Sử dụng nhiều máy tính kết nối mạng tốc độ cao, mỗi máy tính thực hiện một phần công việc tính toán Mô hình này yêu cầu doanh nghiệp phải đầu tư một khối lượng lớn các trang thiết bị như máy tính cấu hình cao, thiết bị mạng, bản quyền phần mềm, cũng như đội ngũ kỹ sư phải qua thời gian đào tạo lâu dài để có thể nắm bắt và sử dụng công nghệ

Việc tính toán song song cần hệ thống nhiều máy chủ, nay có thể được thực hiện một phần nhờ những card chuyên dụng cho việc xử lý đồ họa (GPU) với hàng ngàn nhân xử lý mỗi card, cho khả năng tính toán nhiều TFlops trên FP32

Trang 5 và băng thông bộ nhớ lớn lên đến vài trăm GB/s Trong số những framework CSDL trên GPU, MAPD là giải pháp mã nguồn mở miễn phí cho phép người dùng tạo, lưu trữ và truy vấn dữ liệu cấu trúc bảng thông qua ngôn ngữ tương tự như SQL và hỗ trợ kết nối cơ bản để lập trình Dù còn nhiều hạn chế nhưng giải pháp này khá phù hợp và triển vọng giải quyết được nhiều vấn đề xử lý dữ liệu lớn trong hiện tại và tương lai

Cộng đồng kỹ sư đã thực hiện các đo đạc so sánh hiệu năng giữa các công cụ dùng CPU và hệ thống card CUDA chuyên dụng, trong đó những query tương tự được thực hiện trên cùng một bộ dữ liệu, trên nhiều hệ thống phần cứng và nền tảng truy vấn khác nhau Bảng sau tổng hợp một số kết quả:

Hình 2.1: Tổng hợp so sánh thời gian truy vấn giữa các framework và phần cứng thông dụng

Một hệ thống đơn máy dùng nhiều GPU dựa trên framework MapD có thể thực hiện cùng khối lượng tính toán nhanh hơn hệ thống nhiều máy tính/hệ thống đa xử lý [6] với khác biệt khá xa về chi phí đầu tư và độ phức tạp hệ thống Cho thấy khả năng triển vọng của giải pháp GPU

Do đó việc kiểm chứng giải pháp này trên card GPU thông thường có giá thành thấp, là quan trọng và đóng góp nhất định cho lĩnh vực này

CƠ SỞ LÝ THUYẾT VÀ ĐỊNH HƯỚNG GIẢI PHÁP

Bộ xử lý đồ họa đa dụng (GP-GPU)

GPU là viết tắt của Graphics Processing Unit là bộ xử lý chuyên dụng nhận nhiệm vụ tăng tốc, xử lý đồ họa cho bộ xử lý trung tâm CPU Các GPU ban đầu được thiết kế với các opcode chuyên xử lý các phép toán đồ họa đơn giản, sau đó được thêm vào nhiều lệnh phức tạp và được nhà sản xuất (ví dụ NVidia) cho phép lập trình từ ngôn ngữ cấp thấp đến cấp cao

Chức năng chính của GPU phù hợp với mô hình tính toán song song

“Streaming Processing” trong đó các dữ liệu (ví dụ pixel hình ảnh) được tập hợp thành một dòng (stream) và đẩy qua các chương trình xử lý định trước (kernel functions) theo cơ chế pipeline Kết quả sau quá trình được phân bổ lại bộ nhớ ram trên GPU

Sức mạnh của GPU ngày càng vượt trội so với CPU và ngày càng hiệu quả trong tính toán đa dụng (General purpose computing), đặc biệt là các ứng dụng SIMD (single instruction, multiple data) Các GPU hiện đại ngày nay đều được nhà sản xuất nhúng vào các khả năng lập trình như CUDA, OPENCL với sức mạnh tính toán hàng ngàn GFLOPS trên băng thông bộ nhớ ram lớn hàng trăm GB/s [7] , đóng vai trò là một bộ xử lý đa dụng hoàn chỉnh song song với CPU

Hai hướng GPGPU hiện tại dẫn đầu bởi NVIDIA với mô hình xử lý tính toán CUDA trên dòng card tính toán chuyên dụng Tesla và các dòng card đồ họa dân dụng GTX, và AMD với mô hình tính toán OPENCL trên dòng card đồ họa Radeon Trong đó mô hình CUDA được sử dụng rộng rãi trong các nghiên cứu khoa học, nay đã trở thành mô hình lập trình thông dụng được nhiều nhà phát triển phần mềm dựa trên và cung cấp nhiều giải pháp vượt trội hơn hẳn OPENCL.

Tổng quan quá trình xử lý tính toán trên GPU và nền tảng CUDA

Hình 3.1: Tổng quan các bus chính trên máy tính

Các card đồ họa thông dụng hiện nay kết nối vào máy tính thông qua cổng PCI Express, trên chuẩn thông dụng 2.0 và 3.0 Việc chuyền tải dữ liệu giữa bộ xử lý chính CPU và GPU thông qua và bị giới hạn ở kênh giao tiếp này Hiệu năng tính toán dữ liệu lớn của máy tính cũng chịu giới hạn ở các kênh giao tiếp bộ nhớ (memory bus) hoặc bởi kênh internal bus xuống bộ nhớ thứ cấp trên đĩa cứng hoặc SSD

Mô hình tính toán CUDA trải qua 4 bước cơ bản [10]:

Hình 3.2: Các bước trên mô hình tính toán CUDA

Dữ liệu cần tính toán được nạp vào bộ nhớ chính (Ram) của máy tính (1) Hệ thống chuyển dữ liệu từ CPURam sang GPURam thông qua kênh PCIe

Trang 8 (2) CPU nạp các hàm tính toán vào GPU và ra lệnh cho GPU xử lý phép tính

(3) GPU thực hiện các hàm tính toán trên tất cả các nhân xử lý

(4) Kết quả phép tính toán được chuyển ngược lại vào CPURam

Kết thúc 1 quá trình tính toán

Các GPU ngày nay được trang bị phần bộ nhớ Ram nội khá lớn Do đặc điểm kiến trúc, phần bus từ Ram nội đến các nhân xử lý được trang bị rộng hơn CPU (384 bits đến 4096 bits so với 64 bits) và xung nhịp cao hơn, cho băng thông bộ nhớ rất cao, cũng là một ưu điểm tính toán lớn so với CPU.

Phần cứng CUDA trên thị trường

Nền tảng CUDA đã có hơn 10 năm phát triển bởi NVidia và cộng đồng khoa học tính toán Đến nay đã CUDA xuất hiện trên các card tính toán chuyên dụng đắt tiền (15.000 usd), card đồ họa thông dụng (ít hơn 1000usd), và cả card đồ họa cấp thấp (100-200usd) Tham khảo một số card xử lý và card đồ họa trung và cao cấp của NVidia

Ram 12GB / 16GB 24GB 11GB 6 GB

Bandwidth 550-730 GB/s 2 x 240 GB/s 484 GB/s 70~192 GB/s

Memory Bus 4096 bits 2 x 384 bits 352 bits 192 bits

32Bits FP 10’600 GFlops 8’740 GFlops 10’700 GFlops 4’300 GFlops

64bits FP 5’200 GFlops 2’910 GFlops 355 Gflops 77 Gflops

Price 256 triệu đồng 122 triệu đồng 24 triệu đồng 7 triệu đồng

Bảng 3 1: Phần cứng Cuda trên thị trường

Nguồn: website các nhà phân phối tại Việt Nam tháng 7/2018: Ha Noi Computer (www.hanoicomputer.vn) Nhất Tiến Chung (www.thegioimaychu.vn) Siêu Siêu Nhỏ

Doanh nghiệp có nhiều lựa chọn khác nhau để chọn lựa phần cứng phù hợp, tùy theo nhu cầu tính toán, kích thước dữ liệu và ngân sách.

MapD – Hệ CSDL dựa trên card đồ họa

MapD được phát triển từ đầu năm 2016 và đã công bố mở mã nguồn phần nhân xử lý cho cộng đồng nguồn mở vào tháng 5 năm 2017 Được xây dựng là hệ cơ sở dữ liệu dạng bảng, cung cấp giao diện truy vấn tương thích SQL, và dựa trên sức mạnh xử lý của hàng ngàn nhân xử lý trên GPU để duyệt qua hàng tỷ đối tượng dữ liệu một cách nhanh chóng trong thời gian tính bằng mili-giây [8]

Các đặc điểm chính: o Tổ chức dữ liệu dạng bảng theo cấu trúc cột (column store) o Dựa trên kỹ thuật in-memory tổ chức những cột dữ liệu cần thiết trên bộ nhớ o Dựa trên nhân xử lý CUDA trên card xử lý hoặc card đồ họa NVidia Hoạt động trên nhiều card o Cung cấp các giao diện lập trình ODBC, JDBC, MapDQL, Apache Thrift o Hầu hết dựa trên các thuật toán vét cạn để duyệt qua dữ liệu

Trang 10 o Tương thích hệ điều hành Linux, khuyến cáo dùng Centos hoặc Ubuntu

Hình 3.3: Độ lợi tính toán do sự phù hợp kích thước dữ liệu và bộ nhớ trên

Khả năng sử dụng của MapD phụ thuộc chủ yếu vào kích thước dữ liệu phù hợp với kích thước bộ nhớ chính trên card đồ họa o Trường hợp kích thước dữ liệu những cột cần xử lý có thể chứa vừa trên bộ nhớ Ram của các GPU gắn trên máy, MapD có thể tính toán (ước tính) nhanh hơn 100 đến 1000 lần so sánh với các CSDL truyền thống o Trường hợp kích thước dữ liệu vượt quá GPU nhưng chứa vừa trên RAM của máy tính xử lý Hệ thống bắt buộc phải tính toán song song trên CPU, tốc độ tính toán (ước tính) nhanh hơn 10 đến 100 lần so với CSDL truyền thống

Các mô hình triển khai:

MapD có thể hoạt động độc lập hoặc nối mạng nhiều máy tính với các loại phần cứng khác nhau o Máy tính đơn với card đồ họa hỗ trợ (khuyến cáo NVidia dòng Pascal) o Máy tính đơn với nhiều card đồ họa o Nhiều máy tính đơn nối mạng o Thuê dịch vụ đám mây tính tiền theo giờ (Amazon Web Service)

Nhận xét các ưu điểm:

Trang 11 o Mỗi máy tính đơn có thể gắn đến 8 card xử lý, cho sức mạnh tính toán song song trên mỗi máy lên đến hơn 80.000 Gflops với card đồ họa thông dụng GTX 1080TI o MapD cũng dựa vào băng thông bộ nhớ lớn trên card (400-700GB/s) duyệt qua dữ liệu nhanh hơn CPU-Ram gấp nhiều lần o Hoạt động với card xử lý chuyên dụng Tesla và card đồ họa thông dụng GTX nhiều cấu hình, với chi phí đầu tư đa dạng o Tương thích khá tốt với các truy vấn dạng SQL

Nhận xét các khuyết điểm: o Do kỹ thuật in-memory, MapD yêu cầu máy có đủ bộ nhớ Ram để chứa tất cả những cột đang dùng trên bộ nhớ chính Do đó có giới hạn cho kích thước tập dữ liệu o Các GPU cắm trên khe cắm PCI Express nên có giới hạn về băng thông PCIE (khoảng 16GB/s, hiệu dụng 12GB/s) trong quá trình nạp dữ liệu từ Ram vào GPU lần đầu tiên, gây ra thời gian trễ o Do mô hình tính toán SIMD và đặc điểm tính toán của GPU, MapD chỉ phù hợp với các tính toán lặp đi lặp lại giống hệt nhau trên tập dữ liệu lớn

Mapd không thực hiện được các mô hình tính toán khác SIMD, hoặc các bước tính toán đòi hỏi bộ nhớ động như trích xuất văn bản o Hiện MapD chỉ hỗ trợ một tập nhỏ các lệnh SQL, như các thao tác INSERT đơn và QUERY, trong tương lai sẽ hỗ trợ các phép UPDATE hoặc INSERT hàng loạt

MÔI TRƯỜNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU

Thực nghiệm môi trường đánh giá

- Hệ thống máy tính thử nghiệm dùng CPU Intel và GPU NVidia dựa trên nhân CUDA Cấu hình: o CPU Intel X5650 6 core 12 thread o 48GB Ram; SSD 512GB; HDD 1TB o 4 GPU Card, tổng bộ nhớ các card 24 GB Ram § 3x GTX 1060 6GB Ram § 1x P106 Mining Card 6GB Ram o Hệ điều hành UBUNTU 16 o MapD phiên bản 3.6

Hình 4.1: Máy tính dùng cho khảo sát với 4 VGA card 1060 và P106

Trang 13 - Dữ liệu được tổ chức thành các bộ kích thước khác nhau nhằm đánh giá khả năng xử lý trên nhiều kích thước khác nhau

Tiền xử lý dữ liệu và import vào hệ thống

Quá trình thực hiện đề tài có dùng nhiều nguồn dữ liệu khác nhau để khảo sát hiệu quả của framework, trong đó dữ liệu tiêu biểu nhất và gần với thị trường trong nước nhất, được dùng trong báo cáo, là dữ liệu chuyến taxi ở New York được công bố từ website: http://www.nyc.gov/html/tlc/html/about/trip_record_data.shtml Đây là nguồn dữ liệu thật, dạng bảng ở định dạng CSV, khá tổng quát cho các thị trường khác nhau và có thể dùng để mô phỏng khối lượng lớn dữ liệu doanh nghiệp

Quá trình tiền xử lý:

Do dữ liệu khá lớn (170GB) và trải dài nhiều năm, mỗi năm có sự khác biệt nhỏ về cấu trúc, gây khó khăn về thời gian trong việc nhập và chuẩn hóa khối lượng lớn dữ liệu lên hệ thống phân tích

Hai cách chính cho việc chuẩn hóa và nhập liệu: a Nhập (import) dữ liệu từng năm vào MySQL hoặc PostgreSQL sau đó thay đổi cấu trúc bảng cho đồng nhất Sau đó ghép các bảng nhỏ thành bảng lớn, xuất sang hệ thống MapD

Việc này thường mất 3-5 ngày để hoàn thành, và dễ bị hỏng hoặc sai sót trong quá trình nhập liệu b Do cấu trúc dữ liệu ở dạng CSV, mỗi file chứa các chuyến đi trong khoảng một tháng, kích thước mỗi file lên đến 2GB không thể chỉnh sửa bằng chương trình chỉnh sửa nội dung thông thường Tuy nhiên có

Trang 14 thể dùng các công cụ dòng lệnh trên Linux để kết xuất các thay đổi trên file Cách làm này không thể giữ tất cả các cột dữ liệu, nhưng có thể rút ngắn thời gian chuẩn hóa dữ liệu, mà vẫn giữ được những cột dữ liệu cần thiết cho khảo sát

- Với dữ liệu các năm 2015, 2016, có thể xóa đi cột thứ 17 của tất cả các file để thống nhất cấu trúc cột với dữ liệu các năm trước Thực hiện bằng câu lệnh Linux cho mỗi file

$ cut -d, -f17 complement input.csv > output.csv &

- Với dữ liệu các năm 2011-2014, có sự khác nhay về tiêu đề cột nhưng cấu trúc chung các cột vẫn giữ Có thể thay dòng đầu tiên chứa tên các cột của tất cả các file

$ sed "1s/.*/VendorID, tpep_pickup_datetime, tpep_dropoff_datetime, passenger_count, trip_distance, pickup_longitude, pickup_latitude, RateCodeID, store_and_fwd_flag, dropoff_longitude, dropoff_latitude, payment_type, fare_amount, extra, mta_tax, tip_amount, tolls_amount, total_amount/" 'input.csv' > 'output.csv' &

Sau khi hoàn thành quá trình này, có thể kiểm tra nội dung file bằng các lệnh head, tail, grep trong Linux để chắc chắn rằng các file csv có cùng cấu trúc và các cột có cùng kiểu dữ liệu

Sau khi đã hoàn tất quá trình chẩn hóa, dữ liệu có thể được tải vào MapD qua 3 cách chính:

- Import thủ công dùng công cụ Mapd Immerse

- Dùng giao diện dòng lệnh MapdQL

- Dùng công cụ kết nối đến Mapd qua giao diện Thrift, ODBC hoặc JDBC

Phương pháp đo đạc

Với bài toán mục tiêu của đề tài, khả năng tính toán sẽ được đo đạc qua thời gian thực hiện các câu truy vấn Mỗi truy vấn được thực hiện nhiều lần, thời gian truy vấn dùng cho nhận xét là trung bình của 5 lượt chạy nhỏ nhất

Việc đo đạc có bỏ qua thời gian nạp dữ liệu vào GPU Ram.

Các khó khăn thách thức và giải pháp

• Vấn đề chuẩn cắm và không gian kết nối thiết bị:

Hệ thống máy tính thông dụng thiết kế các khe cắm PCI Express phục vụ cho việc tăng tốc đồ họa nên các khe cắm khá gần nhau và không thể cắm nhiều card đồ họa trực tiếp Cần có các cáp riser chuyên dụng đảm bảo đầy đủ kết nối x16 cho băng thông tối ưu giữa mainboard và card

Hình 4.2: Giải pháp cáp riser x16

• Vấn đề nguồn điện và nhiệt:

Mỗi card GPU cần nguồn cấp điện lên đến 140W, hệ thống máy tính nhiều CPU và GPU cần cấp điện lên đến 900W-1800W, cần nguồn điện khá đặc biệt

Trang 16 có công suất lớn và hệ thống dây dẫn điện đạt chuẩn từ nguồn PSU đến GPU Đồng thời công suất lớn cũng sinh ra lượng nhiệt lớn

Các GPU của NVidia cung cấp khả năng Overclock tùy chỉnh công suất điện, băng thông và xung nhịp xử lý Cho phép tùy chỉnh giới hạn công suất từ 140W xuống 78W chỉ mất khoảng 5% năng lực xử lý Máy tính khảo sát có thể sử dụng tốt nguồn thông dụng 850W Đồng thời nhiệt sinh ra cũng giảm cho phép máy tính hoạt động trong điều kiện thông thường 27-32 độ C với ít hơn tiếng ồn từ hệ thống tản nhiệt, không gây phiền hà cho người vận hành

Các lệnh thực hiện việc điều chỉnh công suất: sudo nvidia-smi -i 0 -pm 1 sudo nvidia-smi -i 0 -pl 78 sudo nvidia-settings -a [gpu:0]/GPUMemoryTransferRateOffset[3]0 sudo nvidia-settings -a [gpu:0]/GPUGraphicsClockOffset[3]=+20 sudo nvidia-smi -i 1 -pm 1 sudo nvidia-smi -i 1 -pl 78 sudo nvidia-settings -a [gpu:1]/GPUMemoryTransferRateOffset[3]0 sudo nvidia-settings -a [gpu:1]/GPUGraphicsClockOffset[3]=+20 sudo nvidia-smi -i 2 -pm 1 sudo nvidia-smi -i 2 -pl 78 sudo nvidia-settings -a [gpu:2]/GPUMemoryTransferRateOffset[3]0 sudo nvidia-settings -a [gpu:2]/GPUGraphicsClockOffset[3]=+20 sudo nvidia-smi -i 3 -pm 1 sudo nvidia-smi -i 3 -pl 78 sudo nvidia-settings -a [gpu:3]/GPUMemoryTransferRateOffset[3]0 sudo nvidia-settings -a [gpu:3]/GPUGraphicsClockOffset[3]=+20

• Vấn đề tương thích Driver:

Các hệ thống mã nguồn mở được thử nghiệm và tối ưu với các phiên bản driver khác nhau theo mỗi phiên bản phần cứng Việc tính toán cần phải thử nghiệm với các phiên bản driver khác nhau để chọn được phiên bản cho công suất và ổn định nhất cho hệ thống máy tính

• Vấn đề Băng thông PCI Express:

Việc xử lý dữ liệu trên GPU cần chuyển một lượng lớn bộ nhớ từ CPU Ram đến GPU Ram thông qua khe cắm vật lý PCI Express, phụ thuộc băng thông Mainboard đến mỗi GPU Phần cứng mainboard chọn lựa nên được tối ưu băng thông cho phép cắm nhiều card nhất với băng thông song song trên mỗi card đạt tốc độ và độ rộng (x4, x8, x16) lớn nhất có thể

HIỆN THỰC ĐÁNH GIÁ VÀ CÁC KẾT QUẢ

Chi tiết cấu trúc dữ liệu

2 tpep_pickup_datetime TIMESTAMP Thời gian nhận chuyến taxi 3 tpep_dropoff_datetime TIMESTAMP Thời gian trả khách

4 passenger_count SMALLINT Số lượng khách trên chuyến 5 trip_distance FLOAT Khoảng cách (đoạn đường) chuyến 6 pickup_longitude FLOAT Tọa độ điểm nhận khách

7 pickup_latitude FLOAT Tọa độ điểm nhận khách 8 RatecodeID SMALLINT Tỷ lệ giá theo khu vực đón khách 9 store_and_fwd_flag STR [dict encode] Chỉ báo trường hợp chuyến offline 10 dropoff_longitude FLOAT Tọa độ điểm trả khách

11 dropoff_latitude FLOAT Tọa độ điểm trả khách 12 payment_type SMALLINT Phương thức thanh toán

13 fare_amount FLOAT Cước phí chuyến

14 extra FLOAT Các phí phụ thu

16 tip_amount FLOAT Số tiền tip khách trả

17 tolls_amount FLOAT Các phí qua trạm thu phí

18 total_amount FLOAT Tổng giá cho chuyến taxi

Bảng 5.1: Chi tiết cấu trúc bảng khảo sát

Các bộ dữ liệu

Để tài thực hiện khảo sát trên các trích xuất kích thước dữ liệu (kích thước bảng) khác nhau từ khoảng 70.000.000 (70 triệu) đến khoảng 1.000.000.000 (1 tỷ) dòng, thực hiện cùng nội dung truy vấn và đo thời gian hoàn thành truy vấn Nhằm đo đạc phân tích khả năng hệ thống phản hồi trên các kích thước dữ liệu khác nhau

Trang 19 Các kích thước dữ liệu:

Tên bảng Nội dung Số lượng record cụ thể nyc70 Bộ khoảng 70 triệu record 79,700,600 nyc150 Bộ khoảng 150 triệu record 146,112,989 nyc300 Bộ khoảng 300 triệu record 303,510,409 nyc600 Bộ khoảng 600 triệu record 615,572,152 nyc800 Bộ khoảng 800 triệu record 794,116,476 nyc1b Bộ khoảng 1 tỷ record 971,013,675

Bảng 5.2: Kích thước các bộ dữ liệu

Bài toán mục tiêu và các truy vấn mẫu trong quá trình đánh giá

Bài toán mục tiêu: Khảo sát tổng quan nhu cầu taxi theo giờ - Đếm số lượng chuyến theo giờ trong ngày

- Tính toán trên giá taxi - Tính toán trên khoảng cách điểm nhận & trả khách Đầu ra của bài toán thường là sơ đồ heatmap thể hiện nhu cầu taxi theo ngày và giờ trong tháng Được hiện thực bằng các truy vấn SQL nhóm các record theo ngày giờ, và thực hiện các phép tính toán

Hình 5.1: Mô tả heatmap từ kết quả truy vấn

Việc đo đạc được thực hiện qua 3 truy vấn tổng quát có khối lượng tính toán từ thấp đến trung bình Các câu truy vấn trích xuất ngày và giờ nhận chuyến, từ đó nhóm và tính toán theo ngày/giờ nhận chuyến:

Trang 20 Query 1: thực hiện việc đếm record trong tập dữ liệu (nhóm theo ngày giờ) select extract(day from tpep_pickup_datetime) as d, extract(hour from tpep_pickup_datetime) as h, count(tpep_pickup_datetime) from nyc1b group by d,h ;

Query 2: Thực hiện tính trung bình giá tiền chuyến taxi (nhóm theo ngày giờ) select extract(day from tpep_pickup_datetime) as d, extract(hour from tpep_pickup_datetime) as h, count(*), avg(total_amount) from nyc1b group by d,h;

Query 3: Thực hiện việc tính trung bình khoảng cách đường thẳng giữa tọa độ điểm nhận và trả khách (nhóm theo giờ) Câu truy vấn này đòi hỏi các phép tính toán khá phức tạp trên số thực select extract(day from tpep_pickup_datetime) as d, extract(hour from tpep_pickup_datetime) as h, avg(distance_in_meters(pickup_longitude,pickup_latitude,dropof f_longitude,dropoff_latitude)) from nyc1b group by d,h;

Do giới hạn bộ nhớ trong quá trình thực hiện, các GPU không đủ dung lượng Ram chứa toàn bộ các cột cần thiết nên tọa độ điểm đến được thay thế bằng phép tính trên tọa độ điểm nhận khách, cộng thêm 1.1 đơn vị select extract(day from tpep_pickup_datetime) as d, extract(hour from tpep_pickup_datetime) as h, avg(distance_in_meters(pickup_longitude,pickup_latitude,pickup

_longitude+1.1,pickup_latitude+1.1)) from nyc1b group by d,h;

Việc thay đổi này cho phép thực hiện khảo sát trên tập dữ liệu lớn hơn nhưng vẫn giữ nguyên bản chất phép tính toán cần khảo sát

Các Kết quả

Đề tài có thực hiện khảo sát các truy vấn trên MySQL tuy nhiên kết quả có sự chênh lệch lớn do khác biệt kiến trúc giải pháp Truy vấn trên MySQL cần thời gian nhiều hơn vài chục đến hàng trăm lần

Bảng 5.3: So sánh thời gian truy vấn Q1 trên MySQL và Mapd

Các phân tích tiếp theo được tập trung thực hiện trên MapD giữa CPU và GPU

Bảng sau liệt kê chi tiết kết quả truy vấn trên các tập dữ liệu Thời gian hoàn tất câu truy vấn được tính trên đơn vị mili giây (ms) trung bình 5 lượt chạy nhanh nhất (R1 đến R5) Cột Data Load thể hiện thời gian nạp dữ liệu từ lưu trữ SSD vào CPU Ram và GPU Ram

Bảng 5.4: thời gian thực hiện các truy vấn trên các tập dữ liệu

Hình 5.2: Biểu đồ so sánh thời gian truy vấn Q1 và tỷ lệ (speedup) giữa GPU và CPU

Hình 5.3: Biểu đồ so sánh thời gian truy vấn Q2 và tỷ lệ (speedup) giữa GPU và CPU

Hình 5.4: Biểu đồ so sánh thời gian truy vấn Q3 và tỷ lệ (speedup) giữa GPU và CPU

Tối Ưu Hóa

Nhận xét các tập dữ liệu nhỏ có thời gian chạy trên CPU khá cao, tương đương thời gian chạy trên các tập lớn hơn

Một đặc điểm trong kiến trúc MapD là tổ chức dữ liệu theo các fragment, mỗi fragment chứa số lượng phần tử nhất định, và phân công toàn bộ fragment cho một tiến trình xử lý Kích thước fragment này được đặt mặc định số lượng 30 triệu dòng khi tạo bảng Điều này làm cho những bộ dữ liệu nhỏ như 70 triệu và 150 triệu dòng chỉ được chia từ 3 đến 6 tiến trình song song và không dùng hết số lượng tiến trình xử lý trên CPU

Hình 5.6: cơ chế phân công gói dữ liệu cho CPU trong MapD và phương án tối ưu

Tiến hành điều chỉnh cấu trúc bảng chia fragment nhỏ hơn (từ 30 triệu xuống 4 triệu) để các fragment dữ liệu được chia nhỏ Việc này đòi hỏi bảng được tạo mới và nhập dữ liệu lại từ đầu

Hình 5.5: Vấn đề thời gian chạy truy vấn trên tập dữ liệu nhỏ

Trang 25 Các kết quả truy vấn có được sau khi tối ưu

Hình 5.7: Kết quả chạy các truy vấn sau khi tối ưu

Thời gian chạy query tăng gần như tuyến tính cho các kích thước dữ liệu Tỷ lệ chênh lệch giữa CPU và GPU khá ổn định và tăng trong trường hợp tính toán phức tạp, thể hiện đúng ưu thế hiệu suất tính toán trên GPU.

Các nhận xét và đề xuất

• Về tăng tốc tính toán:

Hệ thống GPU cho phép tăng tốc tính toán gấp nhiều lần trên máy chủ đơn thông dụng hiện có Trên máy tính khảo sát là 15 đến 25 lần sử dụng card GPU giá rẻ Và có thể cao hơn nhiều lần nếu sử dụng card GPU cao cấp hơn

Khả năng tăng tốc này cho phép các hệ thống realtime cung cấp kết quả phân tích kịp thời và phản ứng lại lập tức các thay đổi Cũng như thể hiện kết quả nhanh cho các kỹ sư dữ liệu cho việc phân tích dữ liệu

Kích thước dữ liệu: Với khối lượng tính toán như khảo sát:

- CPU cho kết quả trong thời gian trong khoảng mục tiêu, với truy vấn đơn và tập dữ liệu dưới 300 triệu record

Trang 26 - Giải pháp GPU hiệu quả hơn trong trường hợp tập dữ liệu khoảng từ 300 triệu record, khối lượng tính toán phức tạp hơn, hoặc nhiều query cùng lúc (nhiều người dùng)

Tuy thời gian nạp dữ liệu lần đầu vào bộ nhớ Ram trên GPU còn cao, các phiên bản công nghệ mới hơn như PciExpress Gen4 đang bắt đầu được ứng dụng, sẽ cải thiện đáng kể (4 đến 8 lần) thời gian nạp dữ liệu so với hệ thống dùng khảo sát (Gen2)

• Về giới hạn bộ nhớ:

Do giới hạn kỹ thuật về băng thông giao tiếp giữa Cpu-Ram và Gpu-Ram, việc tăng tốc xử lý tính toàn chỉ có ý nghĩa khi dữ liệu được nạp đầy đủ vào Gpu- Ram trên tất cả các card Khi xây dựng giải pháp cần chú ý chọn kích thước bộ nhớ của GPU phù hợp với khối lượng dữ liệu

• Về chi phí trên lợi ích đầu tư cơ sở hạ tầng:

Khảo sát cho thấy lợi ích lớn về chi phí cho cùng một năng lực tính toán

Hoặc lợi ích lớn về năng lực tính toán ở cùng một mức đầu tư cho hạ tầng

Máy tính CPU khảo sát

Máy tính GPU Khảo sát

Máy tính GPU khuyến cáo

Hệ thống CPU tương đương

Khả năng tính toán lý thuyết

600 ms (x15) dự đoán (x 56) dự đoán (x 56)

Bảng 5.5: So sánh ước tính giữa khả năng tính toán và chi phí đầu tư Đặc điểm này cho phép doanh nghiệp có thể nâng cấp một phần hạ tầng xử lý của mình cho nhu cầu tính toán khảo sát trên dữ liệu mà không cần thay thế chuyển đổi công nghệ

• Về tính sẵn sàng ứng dụng

Giải pháp MapD do đặc điểm dựa trên chuẩn SQL và cấu trúc bảng tương tự CSDL truyền thống, các kỹ sư hiện có của doanh nghiệp có thể nhanh chóng nắm bắt, quản lý, sử dụng, mà cần rất ít nguồn lực và thời gian đào tạo công nghệ

- Cấu trúc dữ liệu tương tự, có thể chuyển từ hệ thống CSDL Quản Trị (hiện dùng cho quản trị vận hành doanh nghiệp) sang CSDL phân tích mà không cần chuyển đổi định dạng

- Câu truy vấn trên MySQL có thể chuyển (port) sang MapD với ít thay đổi

- Giao diện lập trình thân thiện ODBC và JDBC cho phép đội ngũ kỹ thuật phát triển chức năng mới

MÔ HÌNH ỨNG DỤNG THỰC TẾ

Vị trí của GPU Database MAPD trong hạ tầng CNTT

Hệ CSDL dựa trên GPU như MapD vẫn còn khá mới mẻ ở thời điểm 2017- 2018, được tập trung cho việc tính toán nhanh và còn nhiều khiếm khuyết; nên tương lai gần chưa thể thay thế cho hệ CSDL truyền thống MapD hoạt động tốt như là một thành phần bên cạnh CSDL quản trị, chuyên biệt cho việc tính toán khảo sát thống kê trên dữ liệu Các kết quả truy vấn có thể được thể hiện ngay lập tức trên màn hình cho kỹ sư dữ liệu, hoặc trả về qua các giao diện lập trình cho hệ thống phần mềm chính

Hình 6.1: Mô hình ứng dụng MapD vào hệ thống thực tế

Bổ sung phần cứng hỗ trợ

Các máy chủ Server hoặc máy trạm Workstation thông dụng phần lớn được trang bị nhiều cổng kết nối PCI Express có thể mở rộng Hệ thống GPU có thể hoạt động rộng rải trên các chuẩn PCI Express thế hệ 2 và thế hệ 3 mà không cần cấu hình lại hệ thống

Phiên bản MapD 3.x hiện chỉ hỗ trợ các dòng GPU do hãng nVidia sản xuất, dựa trên nhân CUDA Khuyến cáo dùng các dòng Maxwel trở lên (Pascal và Volta)

Hệ thống được hỗ trợ tốt trên hệ đều hành Linux Centos 7 và Ubuntu 16

Các trình điều khiển Driver cũng được hỗ trợ cho các GPU gần đây

Hệ thống dùng kết nối TCP và HTTP/HTTPS trên các port 9091 đến 9093, tương thích hoàn toàn với hệ thống mạng hiện có của các doanh nghiệp

Chuyển tải dữ liệu từ hệ thống truyền thống sang MapD

Dữ liệu cần được chuyển tải từ hệ thống chính sang hệ thống phân tích, nhằm tách biệt các quyền truy xuất và để các việc tính toán nặng nề không ảnh hưởng đến hoạt động của hệ thống chính Các phần mô tả và khuyến cáo sau dùng MySQL làm ví dụ giải thích cho việc chuyển dữ liệu

Các Phương pháp thông dụng chuyển tải dữ liệu

• Đẩy dữ liệu từ CSDL truyền thống qua file Phương pháp thông dụng là kết xuất dữ liệu từ hệ thống vận hành ra file, và chuyển (upload) file vào hệ thống phân tích Thích hợp cho việc chuyển dữ liệu trong trường hợp hệ thống chính nằm sau tường lửa và có các ràng buộc về mở cổng kết nối (incoming connection) Các file kết xuất sau đó được nạp vào MapD bằng một đoạn script, kích hoạt khi phát hiện file mới hoặc theo giờ

• Kéo dữ liệu qua kết nối MySQL connector Trường hợp có thể mở kết nối an toàn thẳng vào hệ thống vận hành, MapD hỗ trợ thư viện kéo dữ liệu từ MySQL bằng trình điều khiển (driver) MySQL Connector trên môi trường Java Các kỹ sư hệ thống có thể viết các query rút trích dữ liệu từ MySQL, kết quả trả về từ query được chuyển thẳng qua stream vào MapD

Trang 30 Một số trường hợp phức tạp cần chuyển đổi định dạng hoặc tính toán trung gian, kỹ sư hệ thống có thể chọn lựa viết chương trình riêng kết nối đến hệ thống vận hành qua kết nối MySQL thông thường, và đẩy dữ liệu đến MapD thông qua kết nối JDBC.

Khảo sát trực quan dùng công cụ sẵn có MapD Immerse

Tầng bên trên phần mã nguồn mở MapD Core là công cụ khảo sát dữ liệu trực quan MapD Immerse Được cung cấp các phiên bản miễn phí cho cộng đồng và bản thương mại (không mở mã nguồn) Bộ công cụ này giúp kỹ sư dữ liệu nhanh chóng trình bày các truy vấn đơn giản dưới dạng nhiều dạng biểu đồ khác nhau, giúp cho việc phát hiện các đặc điểm dữ liệu quan trọng

Hình 6.2: Màn hình MapD Immerse

Một điểm quan trọng giữa MapD Core và MapD Immerse là khả năng tận dụng sức mạnh đồ họa trên GPU để render một số lượng lớn điểm dữ liệu (hàng

Trang 31 triệu điểm) để hình thành một layer trên biểu đồ hoặc bảng đồ Quá trình này là ưu điểm vượt trội so với việc phải render cùng khối lượng dữ liệu trên CPU.

Kết nối cho việc xây dựng ứng dụng

Phần mã nguồn mở và phiên bản miễn phí hỗ trợ các hệ thống ứng dụng nhiều lựa chọn kết nối:

• MapD QL : công cụ dòng lệnh (commandline) hỗ trợ đầy đủ cơ chế nhập lệnh trực tiếp bằng tay, hoặc piping và redirecting chuyển các lệnh và kết quả thông suốt giữa các tiến trình linux

• JDBC: Đi kèm trình điều khiển MapD JDBC trên JAVA cho phép các hệ thống ứng dụng kết nối đến như một hệ thống CSDL tiêu chuẩn Các thao tác nhập dữ liệu và truy vấn được hỗ trợ tốt nhất

• Apache Thrift: Cơ chế RPC (Remote Procedure Calls) hỗ trợ các ngôn ngữ lập trình thông dụng: C++, Java, PHP, Python và Ruby

Ngày đăng: 09/09/2024, 00:38

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Tổng hợp so sánh thời gian truy vấn giữa các framework và phần cứng thông dụng - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng GPU database trong xử lý dữ liệu lớn
Hình 2.1 Tổng hợp so sánh thời gian truy vấn giữa các framework và phần cứng thông dụng (Trang 13)
Hình 3.1: Tổng quan các bus chính trên máy tính - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng GPU database trong xử lý dữ liệu lớn
Hình 3.1 Tổng quan các bus chính trên máy tính (Trang 15)
Hình 3.2: Các bước trên mô hình tính toán CUDA - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng GPU database trong xử lý dữ liệu lớn
Hình 3.2 Các bước trên mô hình tính toán CUDA (Trang 15)
Bảng 3. 1: Phần cứng Cuda trên thị trường - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng GPU database trong xử lý dữ liệu lớn
Bảng 3. 1: Phần cứng Cuda trên thị trường (Trang 16)
Hình 3.3: Độ lợi tính toán do sự phù hợp kích thước dữ liệu và bộ nhớ trên - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng GPU database trong xử lý dữ liệu lớn
Hình 3.3 Độ lợi tính toán do sự phù hợp kích thước dữ liệu và bộ nhớ trên (Trang 18)
Hình 4.1: Máy tính dùng cho khảo sát với 4 VGA card 1060 và P106 - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng GPU database trong xử lý dữ liệu lớn
Hình 4.1 Máy tính dùng cho khảo sát với 4 VGA card 1060 và P106 (Trang 20)
Hình 4.2: Giải pháp cáp riser x16 - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng GPU database trong xử lý dữ liệu lớn
Hình 4.2 Giải pháp cáp riser x16 (Trang 23)
Bảng 5.1: Chi tiết cấu trúc bảng khảo sát - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng GPU database trong xử lý dữ liệu lớn
Bảng 5.1 Chi tiết cấu trúc bảng khảo sát (Trang 26)
Hình 5.1: Mô tả heatmap từ kết quả truy vấn - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng GPU database trong xử lý dữ liệu lớn
Hình 5.1 Mô tả heatmap từ kết quả truy vấn (Trang 27)
Bảng 5.2: Kích thước các bộ dữ liệu - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng GPU database trong xử lý dữ liệu lớn
Bảng 5.2 Kích thước các bộ dữ liệu (Trang 27)
Bảng sau liệt kê chi tiết kết quả truy vấn trên các tập dữ liệu. Thời gian hoàn tất  câu truy vấn được tính trên đơn vị mili giây (ms) trung bình 5 lượt chạy nhanh  nhất (R1 đến R5) - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng GPU database trong xử lý dữ liệu lớn
Bảng sau liệt kê chi tiết kết quả truy vấn trên các tập dữ liệu. Thời gian hoàn tất câu truy vấn được tính trên đơn vị mili giây (ms) trung bình 5 lượt chạy nhanh nhất (R1 đến R5) (Trang 29)
Bảng 5.3: So sánh thời gian truy vấn Q1 trên MySQL và Mapd - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng GPU database trong xử lý dữ liệu lớn
Bảng 5.3 So sánh thời gian truy vấn Q1 trên MySQL và Mapd (Trang 29)
Bảng 5.4: thời gian thực hiện các truy vấn trên các tập dữ liệu - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng GPU database trong xử lý dữ liệu lớn
Bảng 5.4 thời gian thực hiện các truy vấn trên các tập dữ liệu (Trang 30)
Hình 5.2: Biểu đồ so sánh thời gian truy vấn Q1 và tỷ lệ (speedup) giữa GPU và CPU - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng GPU database trong xử lý dữ liệu lớn
Hình 5.2 Biểu đồ so sánh thời gian truy vấn Q1 và tỷ lệ (speedup) giữa GPU và CPU (Trang 30)
Hình 5.3: Biểu đồ so sánh thời gian truy vấn Q2 và tỷ lệ (speedup) giữa GPU và CPU - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng GPU database trong xử lý dữ liệu lớn
Hình 5.3 Biểu đồ so sánh thời gian truy vấn Q2 và tỷ lệ (speedup) giữa GPU và CPU (Trang 31)
Hình 5.4: Biểu đồ so sánh thời gian truy vấn Q3 và tỷ lệ (speedup) giữa GPU và CPU - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng GPU database trong xử lý dữ liệu lớn
Hình 5.4 Biểu đồ so sánh thời gian truy vấn Q3 và tỷ lệ (speedup) giữa GPU và CPU (Trang 31)
Hình 5.5: Vấn đề thời gian chạy truy vấn - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng GPU database trong xử lý dữ liệu lớn
Hình 5.5 Vấn đề thời gian chạy truy vấn (Trang 32)
Hình 5.6: cơ chế phân công gói dữ liệu cho CPU trong MapD và phương án tối ưu - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng GPU database trong xử lý dữ liệu lớn
Hình 5.6 cơ chế phân công gói dữ liệu cho CPU trong MapD và phương án tối ưu (Trang 32)
Hình 5.7: Kết quả chạy các truy vấn sau khi tối ưu - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng GPU database trong xử lý dữ liệu lớn
Hình 5.7 Kết quả chạy các truy vấn sau khi tối ưu (Trang 33)
Hình 6.1: Mô hình ứng dụng MapD vào hệ thống thực tế - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng GPU database trong xử lý dữ liệu lớn
Hình 6.1 Mô hình ứng dụng MapD vào hệ thống thực tế (Trang 36)
Hình 6.2: Màn hình MapD Immerse - Luận văn thạc sĩ Khoa học máy tính: Ứng dụng GPU database trong xử lý dữ liệu lớn
Hình 6.2 Màn hình MapD Immerse (Trang 38)