Giải pháp thiết kế và đánh giá hiệu năng siêu máy tính sử dụng CPU GPU

126 301 0
Giải pháp thiết kế và đánh giá hiệu năng siêu máy tính sử dụng CPU GPU

Đ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

LỜI CAM ĐOAN Với mục đích nghiên cứu, học tập để nâng cao kiến thức trình độ chuyên môn nên làm luận văn cách hoàn toàn nghiêm túc trung thực Trong luận văn, có sử dụng trích dẫn từ số tài liệu tác giả khác Tôi nêu phần tài liệu tham khảo cuối luận văn Tôi xin cam đoan chịu trách nhiệm nội dung trung thực luận văn tốt nghiệp Thạc sĩ Hà Nội, tháng năm 2015 Học viên Nguyễn Trí Trung LỜI CẢM ƠN Đầu tiên, xin bày tỏ lòng biết ơn chân thành xin đƣợc gửi lời cám ơn sâu sắc đến thầy giáo TS Nguyễn Kim Khánh, ngƣời trực tiếp hƣớng dẫn định hƣớng cho giải vấn đề khó khăn làm luận văn Những kiến thức trình bày luận văn phần kết hai năm có hội học tập chƣơng trình thạc sĩ Viện Công nghệ Thông tin, đại học Bách Khoa Hà Nội Tôi xin gửi lời cám ơn chân thành đến thầy cô giáo viện CNTT, phòng Đào tạo sau đại học, ĐHBK Hà Nội tạo điều kiện thuận lợi cho thời gian học tập trƣờng Tôi xin gửi lời cám ơn gia đình, ngƣời thân bạn bè nguồn động lực dồi giúp có hoàn thành luận văn Hà Nội, tháng năm 2015 MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN MỤC LỤC LỜI MỞ ĐẦU DANH MỤC THUẬT NGỮ DANH MỤC HÌNH VẼ BÀNG BIỂU 10 CHƢƠNG 1: GIỚI THIỆU ĐỀ TÀI 13 1.1 Nội dung đề tài 13 1.2 Phạm vi đối tƣợng đề tài 13 1.3 Lý mục đích chọn đề tài 14 CHƢƠNG 2: TỔNG QUAN KIẾN TRÚC GPU 15 2.1 Lịch sử GPU 16 2.2 Kiến trúc GPU 26 2.2.1 Đƣờng ống dẫn đồ họa (Graphics Pipeline) 27 2.2.2 Tiến hóa kiến trúc GPU 32 2.2.3 Kiến trúc GPU đại 36 2.3 Tính toán GPU 38 2.3.1 Tổng quan mô hình tính toán GPU 38 2.3.2 Cơ chế đa luồng GPU 41 2.3.3 Kiến trúc đa lõi GPU 42 2.4 Tổng kết GPU 47 CHƢƠNG 3: KIẾN TRÚC MÔ HÌNH TÍNH TOÁN CPU-GPU 48 3.1 Tổng quan tính toán đa dụng GPU (GPGPU) 49 3.2 Giới thiệu mô hình tính toán không đồng CPU+GPU 50 3.3 Kiến trúc hệ thống tính toán không đồng CPU-GPU 52 3.3.1 Kiến trúc tính toán CPU-GPU riêng biệt 52 3.3.2 Kiến trúc tính toán CPU-GPU hợp 56 3.4 Cơ chế làm việc GPU GPU hệ tính toán không đồng CPU-GPU 59 CHƢƠNG 4: SIÊU MÁY TÍNH VÀ MÔ HÌNH SIÊU MÁY TÍNH SỬ DỤNG KIẾN TRÚC TÍNH TOÁN CPU-GPU 62 4.1 Phân loại hệ thống máy tính 62 4.2 Lịch sử đời phát triển siêu máy tính 66 4.1.1 Thời kì đầu (1960-1969) 66 4.1.2 Thời kì sử dụng xử lý vector (1970-1990) 67 4.1.3 Thời kì gần (1990-nay) 69 4.3 Phân loại hệ thống siêu máy tính 74 4.4 Hệ thống cụm máy tính 77 4.4.1 Phân loại mô hình cụm máy tính 77 4.4.2 Hệ thống máy tính cụm Beowulf 78 4.4.3 Hệ thống mạng/cụm máy tính trạm 80 4.5 Hệ thống siêu máy tính dựa mô hình máy tính cụm sử dụng kiến trúc tính toán CPU-GPU 81 4.5.1 Nút máy chủ nút lƣu trữ, quản lý thiết bị ngoại vi 83 4.5.2 Nút tính toán 83 4.5.3 Ƣu nhƣợc điểm hệ thống siêu máy tính cụm Beowulf dựa kiến trúc tính toán CPU-GPU 84 CHƢƠNG 5: THỬ NGHIỆM ĐÁNH GIÁ HIỆU NĂNG KIẾN TRÚC TÍNH TOÁN CPU-GPU 87 5.1 Sự cần thiết việc đánh giá hiệu hệ thống 87 5.2 Đánh giá hiệu nút tính toán toán tính toán độ dài cạnh huyền nhiều tam giác vuông 88 5.2.1 Đặt vấn đề toán 88 5.2.2 Thông số cấu hình thử nghiệm 89 5.2.3 Kết thử nghiệm đánh giá 91 5.3 Đánh giá hiệu nút tính toán toán xếp dãy số 102 5.3.1 Thuật toán xếp dựa số 102 5.3.2 Thông số cấu hình thử nghiệm 107 5.3.3 Kết thử nghiệm đánh giá 108 5.4 Đánh giá hiệu nút tính toán toán tính nhanh biến đổi Fourier 111 5.4.1 Biến đổi Fourier rời rạc giải thuật tính nhanh biến đổi Fourier: 111 5.4.2 Kết thử nghiệm đánh giá 113 5.5 Đánh giá hiệu hệ thống siêu máy tính sử dụng kiến trúc CPU-GPU 120 KẾT LUẬN 123 TÀI LIỆU THAM KHẢO 125 LỜI MỞ ĐẦU Siêu máy tính trở thành thành phần thiếu lĩnh vực nghiên cứu khoa học nhƣ nghiên cứu dự báo khí hậu thời tiết, khoa học vật liệu, v.v Tuy nhiên việc triển khai xây dựng hệ thống siêu máy tính tiêu tốn nhiều thời gian tiền Đồng thời sóng tính toán đa dụng GPU (GPGPU - General Purpose GPU) mà mô hình kiến trúc tính toán không đồng CPU-GPU đại diện ngày đem lại nhiều kết khả quan lĩnh vực tính toán song song Với mục đích xây dựng kiến trúc phần cứng cho hệ thống siêu máy tính có tỷ lệ hiệu giá thành cao kết hợp đƣợc sức mạnh tính toán song song đồ sộ từ xử lý đồ họa (GPU – Graphic Processing Unit), lựa chọn đề tài “Giải pháp thiết kế đánh giá hiệu siêu máy tính sử dụng CPUGPU” Đề tài gồm nội dung sau: Tổng quan kiến trúc GPU kiến trúc mô hình tính toán CPU-GPU: giới thiệu lịch sử hình thành phát triển hệ GPU, kiến thức kiến trúc GPU cổ điển GPU đại ngày nay, từ vào giới thiệu tổng quan chế xử lý tính toán GPU mô hình kiến trúc tính toán đa dụng CPU-GPU Siêu máy tính mô hình siêu máy tính sử dụng kiến trúc tính toán CPUGPU: giới thiệu lịch sử hệ siêu máy tính, phân loại hệ thống siêu máy tính đề xuất mô hình siêu máy tính dựa mô hình máy tính cụm Beowulf kiến trúc tính toán CPU-GPU Các thử nghiệm đánh giá hiệu nút tính toán đơn lẻ hệ thống đánh giá so sánh hiệu tính toán hệ thống siêu máy tính sử dụng kiến trúc tính toán CPU-GPU hệ thống siêu máy tính tƣơng đƣơng sử dụng CPU Ngƣời thực Nguyễn Trí Trung DANH MỤC THUẬT NGỮ STT Tên Ý nghĩa viết tắt GPU Graphic Processing Unit – xử lý đồ họa GPGPU General Purpose GPU- tính toán đa dụng GPU CPU Central Processing Unit – xử lý trung tâm HPC High Performance Computing – Tính toán hiệu lớn TTL Transitor to Transitor Logic – loại mạch số hoạt động dựa nguyên lý transitor lƣỡng cực PGA Professional Graphics Controller – điều khiển đồ họa chuyên nghiệp PCI Peripheral Component Interconect - giao diện bus hệ thống máy tinh ACP Accelerated Graphics Port - cổng tăng tốc đồ họa SM Streaming Multiprocessor – xử dòng lý đa lõi kiến trúc GPU NVIDIA 10 CUDA Compute Unified Device Architecture – mô hình lập trình tính toán đa dụng GPU NVIDIA 11 SIMT Single Instruction Multiple Thread – chế đơn lệnh đa luồng 12 SIMD Single Instruction Multiple Data – chế đơn lệnh đa liệu 13 MIMD Multiple Instruction Multiple Data – chế đa lệnh đa liệu 14 SISD Single Instruction Single Data – chế đơn lệnh đơn liệu 15 MISD Multiple Instruction Single Data – chế đa lệnh đơn liệu 16 VGA Video Graphics Array – chuẩn xử lý đồ họa theo dãy để hiển thị hình 17 DMA Dynamic Memory Access – hoạt động truy cập nhớ trực tiếp không qua CPU từ thiết bị ngoại vi 18 DPP Data Parallel Processor Array – dãy xử lý liệu song song (AMD) 19 VLIW Very Long Instruction Word – kiến trúc xử lý thiết kế để tận dụng chế song song tầng thị lệnh 20 RISC RISC – Reduce Instruction set computer – kiến trúc xử lý thiết kế tập lệnh rút gọn 21 CU 22 CTA Computing Unit – đơn vị xử lý tính toán nói chung GPU Co-Operative Thread Array – dãy luồng có khả xử lý phối hợp với (tƣơng tự nhƣ định nghĩa luồng khối luồng CUDA) 23 ALU Arithmetic Logic Unit – đơn vị xử lý phép toán học logic 24 DFT Discrete Fourier Transform – biến đổi Fourier rời rạc 25 FFT Fast Fourier Transform – tính nhanh biến đổi Fourier rời rạc 26 MTS Message Transfer System – hệ thống chuyển tin 27 GMSP Global Memory Shared Variables – hệ thống máy tính sử dụng nhớ toàn cục chia sẻ biến 28 GMMP Global Memory Message Passing – hệ thống máy tính sử dụng nhớ toàn cục trao đổi tin 29 DMSP Distributed Memory Shared Variables – hệ thống máy tính sử dụng nhớ phân tán chia sẻ biến 30 DMMP Distributed Memory Message Passing – hệ thống máy tính sử dụng nhớ phân tán trao đổi tin 31 NOW Network of Workstations – hệ thống máy tính cụm theo mô hình mạng máy trạm 32 COW Cluster of Workstations – hệ thống cụm máy trạm 33 SMP Symmetric Multiprocessing – hệ thống xử lý đa lõi đối xứng DANH MỤC HÌNH VẼ BÀNG BIỂU DANH MỤC HÌNH VẼ Hình 1: Screenshot game DOOM phiên năm 2993 phiên năm 2014 15 Hình 2: Đƣờng ống dẫn đồ họa cố định chức cổ điển 16 Hình 3: Xu hƣớng song song đƣờng ống dẫn đồ họa thời điểm đầu 18 Hình 4: Việc chuyển dần chức đƣờng ống dẫn đồ họa cho GPU 19 Hình 5: Kiến trúc card GeForce 21 Hình 6: Kiến trúc cạc GeForce 22 Hình 7: Kiến trúc cạc GeForce 24 Hình 8: Kiến trúc Fermi 25 Hình 9: Kiến trúc AMD Fusion 26 Hình 10: Đƣờng ống dẫn đồ họa 27 Hình 11: Cơ chế tráo đổi hai khung hình GPU sử dụng đệm đôi 30 Hình 12: Kiến trúc hợp GPU (GeForce 8800 với 112 xứ lý dòng) 32 Hình 13: Shader hợp – Tiến hóa đƣờng ống dẫn đồ họa 35 Hình 14: Sơ đồ khối kiến trúc GPU 37 Hình 15: Hệ thống phân cấp nhớ đơn vị tính toán 40 Hình 16: Kiến trúc đa luồng xử lý đa nhân 43 Hình 17: Sắp xếp cuộn đa luồng SIMT 44 Hình 18: Bộ gửi thị lệnh kép kiến trúc Kepler 45 Hình 19: So sánh Sun UltraSPARC T2 với chip Tesla, Lõi SM 46 Hình 20: Mô hình tính toán không đồng CPU+GPU (1) 50 Hình 21: Mô hình tính toán không đồng CPU+GPU (2) 51 Hình 22: Kiến trúc máy tính năm 1990 53 Hình 23: Sơ đồ khối máy tính với GPU (a) Sơ đồ khối máy tính với CPU Intel (b): Sơ đồ khối máy tính với CPU AMD 53 Hình 24: Liên kết NVLink 56 Hình 25: Sơ đồ khối CPU GPU riêng biệt 57 Hình 26: Kiến trúc Fusion AMD 58 Hình 27: Kiến trúc hợp CPU GPU bảng mạch 59 Hình 28: Phƣơng thức hoạt động host device 60 10 Hình 29: Lịch trình cho kịch CPU-GPU (a): đơn luồng, nhân GPU với GPU (b): đơn luồng, hai nhân GPU với GPU; (c): đa nhân GPU với nhiều GPU 61 Hình 30: Mô hình phân loại hệ thống máy tính Flynn-Johnson 65 Hình 31: Mô hình phân loại hệ thống máy tính MIMD Tanenbaum 66 Hình 32: Siêu máy tính Cray-1 với thiết kế hình trụ, đảm bảo khoảng cách vi xử lí với thành phần khác hệ thống 68 Hình 33: Hệ thống máy tính cụm 76 Hình 34: Phân loại hệ thống máy tính sử dụng nhớ phân tán trao đổi tin Thomas L Sterling 77 Hình 35: Kiến trúc hệ thống máy tính cụm 78 Hình 36: Mô hình siêu máy tính loại Beowulf sử dụng kiến trúc tính toán CPU-GPU 82 Hình 37: Kiến trúc nút tính toán hệ thống 84 Hình 38: Màn hình hiển thị lúc chạy chƣơng trình 91 Hình 39: File liệu chƣơng trình 92 Hình 40: Thời gian xử lý CPU thay đổi số lần lặp lại tính toán độ dài mảng (1) 93 Hình 41: Thời gian xử lý CPU thay đổi số lần lặp lại tính toán độ dài mảng (2) 93 Hình 42: Thời gian xử lý CPU-GPU thay đổi độ dài mảng xử lý số lần lặp lại tính toán (1) 94 Hình 43: Thời gian tính toán CPU-GPU thay đổi độ dài mảng xử lý số lần lặp lại tính toán (2) 95 Hình 44: Thời gian xử lý CPU-GPU thay đổi độ dài mảng xử lý số lần lặp lại tính toán (2) 96 Hình 45: Tỷ lệ thời gian xử lý CPU CPU-GPU thay đổi độ dài mảng số lần lặp lại tính toán (1) 98 Hình 46: Tỷ lệ thời gian xử lý CPU GPU thay đổi độ dài mảng số lần lặp lại tính toán (2) 98 Hình 47: Thời gian thực thi toán GPU thay đổi kích cỡ khối lƣới ô khối 100 Hình 48: Tính tổng liền trƣớc GPU – giai đoạn 104 Hình 49: Tính tổng liền trƣớc GPU – giai đoạn 105 Hình 50: Thuật toán xếp dựa số GPU 106 Hình 51: Thời gian xếp mảng theo thuật toán xếp dựa số 109 Hình 52: Tỷ lệ thời gian xử lý CPU/GPU thay đổi độ dài mảng xử lý 110 Hình 53: Sơ đồ FFT điểm phân chia theo thời gian 113 11 Thử nghiệm đánh giá hiệu kiến trúc tính toán CPU-GPU Có nhiều thuật toán FFT nhƣng phổ biến đƣợc sử dụng thử nghiệm thuật toán FFT Cooley-Tukey Đây thuật toán chia để trị dùng đệ quy để chia toán tính DFT có kích thƣớc nhỏ Dạng phổ biến thuật toán Cooley-Tukey chia biến đổi thành hai nửa kích thƣớc N/2 bƣớc (vì dùng đƣợc cho kích thƣớc lũy thừa 2) nhƣng cách phân tích thừa số dùng đƣợc [35] Đây dạng số dạng nhiều số Việc tính toán DFT N điểm dùng giải thuật FFT cần có  : phép nhân phức  : phép cộng phức Hình 53: Sơ đồ FFT điểm phân chia theo thời gian 5.4.2 Kết thử nghiệm đánh giá Ngoài thƣ viện có sẵn, chƣơng trình sử dụng thêm thƣ viện C FFTW CuFFT để triển khai FFT CPU GPU Thƣ viện FFTW thƣ viện miễn phí đƣợc phát triển dựa thuật toán FFT Cooley-Tukey trình bày Thƣ viện CuFFT thƣ viện miễn phí CUDA Toolkit NVIDIA đƣợc phát triển dựa thƣ viện FFTW C Hai thƣ viện dùng để triển khai thuật 113 Thử nghiệm đánh giá hiệu kiến trúc tính toán CPU-GPU toán FFT đƣợc tối ƣu để triển khai FFT mảng có kích thƣớc hàm mũ 2,3,5,7 ta cho máy tính Dell E6420 có cấu hình nhƣ trình bày phần 3.1.2 lần lƣợt chạy FFT từ miền số phức tới miền số phức với độ xác đơn tín hiệu đầu vào mảng chiều có kích thƣớc hàm mũ 2,3,5,7 mảng có giá trị tác giả chọn ngẫu nhiên nhiên hai kịch CPU kết hợp CPU GPU đo thời gian xử lý trƣờng hợp thu đƣợc kết nhƣ sau: 0.45 Thời gian xử lý (s) 0.4 0.35 0.3 0.25 Thời gian xử lý CPU 0.2 0.15 Thời gian xử lý CPU+GP U 0.1 0.05 Kích cỡ mảng xử lý (số phần tử) Hình 54: Thời gian tính toán FFT CPU CPU-GPU với mảng chiều có độ dài hàm mũ 114 Thử nghiệm đánh giá hiệu kiến trúc tính toán CPU-GPU 0.35 Thời gian xử lý (s) 0.3 0.25 0.2 Thời gian xử lý CPU 0.15 Thời gian xử lý CPU+GPU 0.1 0.05 Kích cỡ mảng xử lý (số phần tử) Hình 55: Thời gian tính toán FFT CPU CPU-GPU với mảng chiều có độ dài hàm mũ 0.7 Thời gian xử lý (s) 0.6 0.5 0.4 Thời gian xử lý CPU 0.3 0.2 Thời gian xử lý CPU+GPU 0.1 Kích cỡ mảng xử lý (số phần tử) Hình 56: Thời gian tính toán FFT CPU CPU-GPU với mảng chiều có độ dài hàm mũ 115 Thử nghiệm đánh giá hiệu kiến trúc tính toán CPU-GPU 0.4 Thời gian xử lý (s) 0.35 0.3 0.25 0.2 Thời gian xử lý CPU 0.15 0.1 Thời gian xử lý CPU+GPU 0.05 Kích cỡ mảng xử lý (số phần tử) Hình 57: Thời gian tính toán FFT CPU CPU-GPU với mảng chiều có độ dài hàm mũ Thời gian 1.6 xử lý (s) 1.4 1.2 0.8 Thời gian xử lý CPU 0.6 0.4 Thời gian xử lý CPU+GPU 0.2 Kích cỡ mảng xử lý (số phần tử) Hình 58: Thời gian tính toán FFT CPU CPU-GPU với mảng chiều có độ dài tùy ý 116 Thử nghiệm đánh giá hiệu kiến trúc tính toán CPU-GPU Từ hình 54 đến 58, ta thấy mảng đầu vào có độ dài đủ lớn (tùy tính chất độ dài mảng) thời gian tính FFT sử dụng kết hợp CPU-GPU có tốc độ vƣợt trội hẳn Mảng cần xử lý có kích thƣớc lớn (độ dài tín hiệu cần xử lý lớn) tỷ lệ thời gian xử lý CPU với mô hình CPUGPU lớn theo, đặc biệt mảng cần xử lý có kích cỡ tùy ý tốc độ xử lý chƣơng trình kết hợp CPU-GPU hoàn toàn vƣợt trội (khi mảng đầu vào có kích thƣớc 8453223 phần tử, tốc độ xử lý toán kế hợp CPU-GPU nhanh gấp 100 lần so với sử dụng CPU đơn lẻ) chí mảng có độ dài bốn triệu phần tử, thời gian xử lý FFT hệ thống CPU-GPU nhanh với thời điểm mảng có độ dài triệu phần tử độ dài mảng hàm mũ Kết gần tƣơng đồng với báo cáo thống kê tốc độ xử lý CuFFT từ NVIDIA [27] Ta tiếp tục thí nghiệm tính FFT mảng đầu vào mảng chiều, chiều với kích cỡ mảng hàm mũ không, ta thu đƣợc kết nhƣ hình 59 tới 62 0.6 Thời gian xử lý (s) 0.5 0.4 0.3 0.2 Thời gian xử lý CPU 0.1 Thời gian xử lý CPU+GPU Kích cỡ mảng xử lý (số phần tử) Hình 59: Thời gian tính toán FFT CPU CPU-GPU với mảng hai chiều có độ dài hàm mũ 117 Thử nghiệm đánh giá hiệu kiến trúc tính toán CPU-GPU 0.7 Thời gian xử lý (s) 0.6 0.5 0.4 0.3 Thời gian xử lý CPU 0.2 0.1 Kích cỡ mảng xử lý (số phần tử) Hình 60: Thời gian tính toán FFT CPU CPU-GPU với mảng hai chiều có độ dài tùy ý 0.2 Thời gian 0.18 xử lý (s) 0.16 0.14 0.12 0.1 Thời gian xử lý CPU 0.08 0.06 Thời gian xử lý CPU+GP U 0.04 0.02 Kích cỡ mảng xử lý (số phần tử) Hình 61: Thời gian tính toán FFT CPU CPU-GPU với mảng ba chiều có độ dài hàm mũ 118 Thử nghiệm đánh giá hiệu kiến trúc tính toán CPU-GPU 0.8 Thời gian xử lý (s) 0.7 0.6 0.5 0.4 Thời gian xử lý CPU 0.3 0.2 Thời gian xử lý CPU+GPU 0.1 Kích cỡ mảng xử lý (số phần tử) Hình 62: Thời gian tính toán FFT CPU CPU-GPU với mảng ba chiều có độ dài tùy ý Qua kết thí nghiệm, ta thấy mảng xử lý có độ dài đủ lớn tốc độ xử lý kết hợp CPU-GPU nhanh hẳn sử dụng CPU đơn lẻ Về chất, mảng nhiều chiều làm tăng số lƣợng phép tính toán không thay đổi thuật toán FFT sử dụng nên kết hoàn toàn tƣơng tự nhƣ chạy FFT mảng đơn chiều Bài toán FFT toán ta gọi “đáng đồng tiền bát gạo” ta cho hệ thống CPU-GPU xử lý thay xử lý CPU truyền thống hiệu suất thu đƣợc cao nhiều lần 119 Thử nghiệm đánh giá hiệu kiến trúc tính toán CPU-GPU Đánh giá hiệu hệ thống siêu máy tính sử dụng kiến trúc CPU- 5.5 GPU Qua ba thử nghiệm trên, ta thấy sức mạnh tính toán vƣợt trội mô hình tính toán CPU-GPU so với CPU đơn lẻ nhiên trƣờng hợp benchmark mà nhà sản xuất cung cấp cho yếu tố góp phần định tỷ số cải thiện hiệu chạy chƣơng trình Ta thấy để tận dụng mạnh tính toán đồ sộ GPU việc không đơn giản Để để GPU hoạt động hiệu suất tối ƣu, ta cần nắm rõ kiến trúc GPU sử dụng nhƣ cấu trúc toán cần xử lý để tìm giải thuật song song hóa giải toán cách tối ƣu Và cuối cùng, toán có giải thuật xử lý song song đem lại hiệu suất cao Giờ ta tiếp tục đánh giá để tìm mối tƣơng quan kết phần trƣớc so sánh hiệu tính toán hệ thống siêu máy tính sử dụng kiến trúc CPU-GPU với hệ thống siêu máy tính tƣơng đƣơng nhƣng sử dụng CPU Thời gian thực thi toán hệ thống siêu máy tính sử dụng CPU Trong đó, thời gian để nút máy chủ phân chia toán đầu vào thành N phần xếp lịch tính toán cho N nút tính toán khả dụng tổng thời gian liệu đầu vào gửi đến N nút tính toán kết tính toán từ N nút tính toán gửi nút máy chủ thời gian tính toán nút tính toán thời gian để nút máy chủ tổng hợp lại (không có hành động tính toán thêm) N phần kết thành kết cuối hoàn chỉnh Do nút tính toán đồng với nên ta giả định thời gian thực thi tất nút tham gia vào tính toán 120 Thử nghiệm đánh giá hiệu kiến trúc tính toán CPU-GPU Do hai hệ thống tƣơng đƣơng số nút tính toán, hiệu nút máy chủ hệ thống kết nối nút đầu vào toán nhƣ nhau, ta coi thời gian xử lý, xếp lịch tổng hợp kết nút máy chủ thời gian truyền liệu đầu vào đến nút thời gian gửi kết từ nút tính toán tới máy chủ hai hệ thống nhƣ nên tƣơng tự ta có thời gian thực thi toán hệ thống siêu máy tính tƣơng đƣơng sử dụng kiến trúc CPU-GPU Trong thời gian thực thi tính toán nút tính toán sử dụng kiến trúc tính toán CPU-GPU.Theo thí nghiệm thông thƣờng thời gian thực thi hệ thống kết hợp CPU-GPU cho kết nhanh gấp k lần so với hệ thống tƣơng đƣơng sử dụng CPU để tính toán Do theo định luật Amdahl [18] tốc độ cải thiện hiệu sử dụng GPU có công thức nhƣ sau Trong p phần song song hóa tính toán toán đầu vào n số luồng thực thi đồng thời GPU Theo kết thu đƣợc từ thử nghiệm trƣớc dao động từ đến 50 lần Ta đặt Do ta có: Khi độ phức tạp toán cần xử lý đủ lớn hệ thống mạng không xảy tình trạng tắc nghẽn, tin ta coi có giá trị không đáng kể so với Thời gian phân nhỏ xếp lịch toán đầu vào tổng hợp kết nút máy chủ thông thƣờng nhỏ nhiều so với thời gian xử lý nút tính toán toán phức tạp Vậy ta có số cải thiện hiệu nâng cấp hệ thống siêu máy tính cụm lên hệ thống siêu máy tính cụm sử dụng CPU-GPU phụ thuộc phần lớn vào thời gian tính toán nút tính toán 121 Thử nghiệm đánh giá hiệu kiến trúc tính toán CPU-GPU Vậy hệ số k lớn hiệu tính toán hệ thống tăng đến tăng tƣơng ứng so với hệ thống siêu máy tính tƣơng đƣơng sử dụng CPU Hệ số không đáng kể so với máy tính thông thƣờng nhƣng thử tƣởng tƣợng siêu máy tính có tốc độ tính toán tối đa 100 teraflops, hiệu đƣợc cải thiện lần tốc độ tính toán tối đa 500 teraflops Hệ thống siêu máy tính lớn hiệu cải thiện triển khai kiến trúc tính toán CPU-GPU nhiều 122 Kết luận KẾT LUẬN Luận văn trình bày kiến thức GPU tính toán đa dụng GPGPU từ tập trung vào nghiên cứu kiến trúc tính toán CPU-GPU để giúp ngƣời đọc hiểu rõ chế hoạt động kiến trúc tính toán CPU-GPU Sau luận văn trình bày kiến thức hệ thống máy tính, siêu máy tính tác giả tập trung vào nghiên cứu vào mô hình siêu máy tính cụm Beowulf có sử dụng kiến trúc tính toán CPU-GPU Luận văn trình bày toán thử nghiệm đánh giá sức mạnh tính toán nút tính toán sử dụng kiến trúc tính toán CPU-GPU so với kịch sử dụng CPU đơn lẻ truyền thống, có hai toán xử lý số thực dấu phảy động từ logic tính toán đơn giản (tính cạnh huyền) tới phức tạp (FFT) toán xử lý số nguyên nhằm đem đến cho ngƣời đọc đánh giá khách quan nhất, chân thực đầy đủ hiệu tính toán kiến trúc tính toán CPU-GPU Cuối tác giả đánh giá hiệu toàn hệ thống siêu máy tính cụm sử dụng kiến trúc tính toán CPU-GPU so với hệ thống siêu máy tính tƣơng đƣơng sử dụng CPU để tính toán, luận văn thu đƣợc số kết luận mặt thực nghiệm nhƣ sau: - Khi tỷ lệ độ phức tạp tính toán liệu đầu vào toán đủ lớn hiệu thực thi toán nút tính toán sử dụng kiến trúc CPUGPU cho kết tốt kịch tính toán CPU truyền thống - Việc xác định thuật toán xử lý toán để tận dụng tối đa chế song song kiến trúc GPU mô hình máy tính cụm đóng vai trò then chốt định hiệu hệ thống thực thi chƣơng trình Đồng thời luận văn rút đƣợc kết luận mặt lý thuyết: - Tỷ lệ cải thiện hiệu hệ thống siêu máy tính sử dụng kiến trúc CPUGPU so với hệ thống siêu máy tính tƣơng đƣơng sử dụng CPU phụ thuộc 123 Kết luận phần lớn vào tỷ lệ cải thiện hiệu triển khai kiến trúc tính toán CPUGPU nút tính toán Do hạn chế thiết bị thử nghiệm nên luận văn tồn số hạn chế sau: - Luận văn chƣa bao gồm việc đánh giá hiệu hệ thống siêu máy tính sử dụng chip GPU AMD (bao gồm kiến trúc CPU-GPU hợp nhất) - Đề tài chƣa thực đánh giá hệ thống mà nút tính toán bao gồm nhiều CPU, GPU - Các tham số mạng kết nối hệ thống chƣa đƣợc đƣa vào phân tích, ƣớc lƣợng Với kết đạt đƣợc luận văn, tác giả mong muốn tƣơng lai gần đƣa mô hình để đánh giá hiệu hệ thống siêu máy tính sử dụng kiến trúc CPU-GPU cách toàn diện quan hệ chặt chẽ với kiến trúc hạ tầng hệ thống tiếp tục mở rộng nghiên cứu cấu phần khác hệ thống siêu máy tính nhƣ hệ thống mạng kết nối, giao thức liên lạc tính toán nút tính toán mạng 124 Tài liệu tham khảo TÀI LIỆU THAM KHẢO [1] Abhranil Das (2011), Process Time Comparison between GPU and CPU, Technical Report, University Hamburg [2] Allen D Malony, Scott Biersdorff, Sameer, Heike Jagode, Stanimire Tomov, Guido Juckeland, Robert Dietrich, Duncan Poole, Christopher Lamb (2011), “Parallel Performance Measurement of Heterogeneous Parallel Systems with GPUs”, Parallel Processing (ICPP), IEEE, pp 176-185 [3] AMD (2010), AMD Fusion Whitepaper, Technical Report, AMD [4] AMD (2015), What is Heterogeneous Computing?, Technical Report, AMD [5] Andrew S Tanenbaum (1992), Modern Operating System, Prentice-Hall International, Inc [6] Behrooz Parhami (1999), Introduction to Parallel Processing, pp 15 78, Plenum Press [7] Chris McClanahan, History and Evolution of GPU Architecture, Paper Survey, Georgia Tech [8] Dana Schaa and David Kaeli (2009), “Exloring the multiple GPU design space”, Parallel & Distributed Processing, IEEE, pp 1-12 [9] David Luebke, Greg Humphreys (2007), “How GPU Work”, IEEE Computer, 2(40), pp 96-100 [10] Dattatraya Londhe, Praveen Barapatre, Nisha Gholap, Soumitra Das (2013), “A Survey on GPU System Considering its Performane on Different Applications”, Computer Science & Engineering: An international Journal (CSEIJ), 3(4) [11] Dongara J., A Lastovetsky (2006), “An Overview of Heterogeneous High Performance and Grid Computing”, Engineering the Grid: Status and Perspective, American Scientific 125 Tài liệu tham khảo [12] E.Lindholm, J Nickolls, S Oberman, J Montrym (2008), “NVIDIA Tesla: A Unified Graphics and Computing Architecture”, IEEE Micro, (28), pp 3955 [13] Flynn, M J (1972), "Some Computer Organizations and Their Effectiveness", IEEE Trans Comput, C–21 (9), pp 948–960 [14] Jacek Radjewski, Douglas Eadline (1998), Beowulf How-to, Technical Report [15] GE Intelligent Platform (2013), GPUDirect RDMA, Tehnical Report, GE Intelligent Platform [16] Jason Sanders, Edward Kandrot (2010), CUDA by Example: An Intruduction to General-Purpose GPU Programming, Addision-Wesley [17] Jayshree Ghorpade, Jitendra Paranade, Madkhura Kulkarni, Amit Bawaskar (2012), “GPGPU Processing in CUDA Architecture”, Advanced Computing: An International Journal, 3(1), pp 105-120 [18] John L Hennessy, David A Patterson (2003), Computer Architecture: A Quantitative Approach (third edition), Morgan Kaufmann [19] Jonathan Palacios, Josh Triska (2011), A Comparison of Modern GPU and CPU Architectures: And the Common Convergence of Both [20] John D Owens, Mike Houston, David Luebke, Simon Green, John E Stone, James C Phillips (2008) “GPU Computing”, Proceedings of the IEEE, 5(96), pp 879-899 [21] Karl Rupp (2014), CPU, GPU and MIC Hardware Characteristic over Time, Technical Report [22] Keon Jang, Sangjin Han, Seungyeop Han, Sue Moon, KyoungSoo Park, SSLShader: Cheap SSL Accleration with Commodity Processors [23] Maayank Daga, Ashwin M Aji, Wu-chun Feng (2011), “On the Efficacy of a Fused CPU+GPU Processor (or APU) for Parallel Computing”, Application Accelerators in High-Performance Computing (SAAHPC), IEEE, pp 141-149 126 Tài liệu tham khảo [24] M Probert, High Performance Computing – History of the Supercomputer, Technical Report [25] NVIDIA (2009), NVIDIA’s Next Generation CUDA Architecture: Fermi, Technical Report, NVIDIA [26] NVIDIA (2010), Fermi Whitepaper, Technical Report, NVIDIA [27] NVIDIA (2014), CUDA 6.5 Performance Report, Technical Report, NVIDIA [28] NVIDIA (2014), NVIDIA’s Next Generation CUDA Compute Architecture: Kepler GK110/210, Technical Report, NVIDIA [29] NVIDIA (2014), Summit and Sierra Supercomputers: An Inside Look at the U.S Department of Energy’s New Pre-Exascale Systems Whitepaper, Technical Report, NVIDIA [30] NVIDIA (2015), CUDA C Best Practices Guide, Design Guide, NVIDIA [31] NVIDIA (2015), CUDA C Programing Guide, Design Guide, NVIDIA [32] P.Glaskowsky (2009), NVIDIA’s Fermi: The first complete GPU computing architecture, Technical report, NVIDIA [33] Takahiro Harada, Lee Howes (2011), Introduction to Radix Sort [34] Thomas L Sterling, John Salmon, Donald J Becker, Daniel F Savarese (1999), A Guide to the Implementation and Application of PC Clusters, The MIT Press [35] Wikipedia [36] Yuan Wen, Zheng Wang, Micheale F.P O’Boyle (2014), “Smart multi-task scheduling for OpenCL programs on CPU/GPU heterogeneous platforms”, High Performance Computing (HiPC), IEEE, pp 1-10 127 ... từ vào giới thiệu tổng quan chế xử lý tính toán GPU mô hình kiến trúc tính toán đa dụng CPU-GPU Siêu máy tính mô hình siêu máy tính sử dụng kiến trúc tính toán CPUGPU: giới thiệu lịch sử hệ siêu. .. đánh giá, so sánh hiệu hệ thống siêu máy tính sử dụng kiến trúc CPU-GPU với hệ thống siêu máy tính tƣơng đƣơng sử dụng CPU dựa số thử nghiệm đánh giá hiệu nút tính toán sử dụng kiến trúc CPU-GPU.. . đƣợc thiết kế có tính chất song song cao cấp nhƣ hƣớng phát triển kiến trúc GPU tƣơng lai gần Nội dung đề tài nghiên cứu giải pháp thiết kế đánh giá hiệu siêu máy tính sử dụng CPU-GPU, hệ thống siêu

Ngày đăng: 25/07/2017, 21:36

Từ khóa liên quan

Mục lục

  • loi cam doan

  • loi cam on

  • muc luc

  • loi mo dau

  • danh muc thuat ngu

  • danh muc hinh ve bang bieu

  • chuong 1

  • chuong 2

  • chuong 3

  • chuong 4

  • chuong 5

  • ket luan

  • tai lieu tham khao

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan