Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 126 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
126
Dung lượng
4,26 MB
Nội dung
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, tơi 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, tơi 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 tơi trình bày luận văn phần kết hai năm tơi 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 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è tơi ln nguồn động lực dồi giúp tơi có hồ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 tố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 TỐN CPU-GPU 48 3.1 Tổng quan tính tốn đa dụng GPU (GPGPU) 49 3.2 Giới thiệu mơ hình tính tốn khơng đồng CPU+GPU 50 3.3 Kiến trúc hệ thống tính tốn khơng đồng CPU-GPU 52 3.3.1 Kiến trúc tính tốn CPU-GPU riêng biệt 52 3.3.2 Kiến trúc tính tốn CPU-GPU hợp 56 3.4 Cơ chế làm việc GPU GPU hệ tính tố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 TỐ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 tố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 tốn CPU-GPU 84 CHƢƠNG 5: THỬ NGHIỆM ĐÁNH GIÁ HIỆU NĂNG KIẾN TRÚC TÍNH TỐ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 tốn tốn tính tố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 tốn tố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 tốn tố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 tốn đa dụng GPU (GPGPU - General Purpose GPU) mà mơ hình kiến trúc tính tố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 tố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 tố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 tố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 tốn GPU mơ hình kiến trúc tính tố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 tốn đơn lẻ hệ thống đánh giá so sánh hiệu tính tốn hệ thống siêu máy tính sử dụng kiến trúc tính tố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 tốn đa dụng GPU CPU Central Processing Unit – xử lý trung tâm HPC High Performance Computing – Tính tố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 tố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 tố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ớ tồn cục chia sẻ biến 28 GMMP Global Memory Message Passing – hệ thống máy tính sử dụng nhớ tồ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 tốn khơng đồng CPU+GPU (1) 50 Hình 21: Mơ hình tính tố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 tốn CPU-GPU 82 Hình 37: Kiến trúc nút tính tố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 tố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 tố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 tốn (1) 94 Hình 43: Thời gian tính tốn CPU-GPU thay đổi độ dài mảng xử lý số lần lặp lại tính tố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 tố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 tố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 tốn (2) 98 Hình 47: Thời gian thực thi tố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 nút tính tốn đơn lẻ hệ thống đánh giá so sánh hiệu tính tốn hệ thống siêu máy tính sử dụng kiến trúc tính tốn CPU- GPU hệ thống siêu máy tính tƣơng đƣơng sử dụng CPU Ngƣời... 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 tốn CPU- GPU: giới thiệu lịch sử hình thành... trung vào mảng thiết kế kiến trúc phần cứng tận dụng ƣu điểm mơ hình máy tính cụm Beowulf kiến trúc tính toán CPU- GPU đánh giá so sánh hiệu hệ thống siêu máy tính sử dụng kiến trúc tính tốn CPU- GPU