Đánh giá hiệu năng của hệ thống siêu máy tính sử dụng kiến trúc CPU-GPU

Một phần của tài liệu 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 (Trang 119 - 126)

GPU

Qua ba thử nghiệm trên, ta có thể thấy sức mạnh tính toán vƣợt trội của mô hình tính toán CPU-GPU so với CPU đơn lẻ tuy nhiên không phải trong mọi trƣờng hợp và benchmark mà nhà sản xuất cung cấp cho chúng ta chỉ là một yếu tố góp phần quyết định tỷ số cải thiện hiệu năng khi chạy từng chƣơng trình.

Ta cũng có thể thấy để tận dụng hết sức mạnh tính toán đồ sộ của GPU là một việc không đơn giản. Để có thể để GPU hoạt động ở hiệu suất tối ƣu, ta cần nắm rõ kiến trúc của GPU sử dụng cũng nhƣ cấu trúc của bài toán cần xử lý để có thể tìm ra giải thuật song song hóa giải quyết bài toán một cách tối ƣu. Và cuối cùng, không phải một bài toán nào cũng có một giải thuật xử lý song song đem lại hiệu suất cao.

Giờ ta sẽ tiếp tục đánh giá để tìm mối tƣơng quan của kết quả phần trƣớc khi so sánh hiệu năng tính toán của 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 chỉ sử dụng CPU.

Thời gian thực thi một bài toán trên hệ thống siêu máy tính chỉ sử dụng CPU sẽ bằng

Trong đó, là thời gian để nút máy chủ phân chia bài toán đầu vào thành N phần và xếp lịch tính toán cho N nút tính toán khả dụng. là tổng thời gian dữ liệu đầu vào gửi đến N nút tính toán và kết quả tính toán từ N nút tính toán gửi về nút máy chủ. là thời gian tính toán của một nút tính toán và là 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 quả thành kết quả cuối cùng hoàn chỉnh. Do các nút tính toán là đồng nhất với nhau nên ta giả định rằng thời gian thực thi trên tất cả các nút tham gia vào tính toán đều bằng nhau và bằng .

121

Do hai hệ thống là tƣơng đƣơng về số nút tính toán, hiệu năng nút máy chủ và hệ thống kết nối giữa các nút và đầu vào bài toán là nhƣ nhau, ta có thể coi thời gian xử lý, xếp lịch và tổng hợp kết quả của nút máy chủ và thời gian truyền dữ liệu đầu vào đến các nút và thời gian gửi kết quả từ các nút tính toán tới máy chủ trong hai hệ thống là nhƣ nhau nên tƣơng tự ta cũng có thời gian thực thi cùng bài toán đó trên hệ thống siêu máy tính tƣơng đƣơng sử dụng kiến trúc CPU-GPU

Trong đó là thời gian thực thi tính toán của một nút tính toán sử dụng kiến trúc tính toán CPU-GPU.Theo các thí nghiệm trên thì thông thƣờng thời gian thực thi trên hệ thống kết hợp CPU-GPU sẽ cho kết quả nhanh gấp k lần so với hệ thống tƣơng đƣơng chỉ sử dụng CPU để tính toán. Do đó theo định luật Amdahl [18] thì tốc độ cải thiện hiệu năng khi sử dụng GPU có công thức nhƣ sau

Trong đó p là phần có thể song song hóa tính toán của bài toán đầu vào. n là số luồng thực thi đồng thời ở GPU. Theo kết quả thu đƣợc từ các thử nghiệm trƣớc

có thể dao động từ 3 đến 50 lần. Ta đặt . Do đó ta có:

Khi độ phức tạp của bài toán cần xử lý đủ lớn và hệ thống mạng không xảy ra tình trạng tắc nghẽn, mất bản tin thì ta có thể coi có giá trị không đáng kể so với và . Thời gian phân nhỏ và xếp lịch bài toán đầu vào và tổng hợp kết quả trên nút máy chủ và thông thƣờng sẽ nhỏ hơn nhiều so với thời gian xử lý trên các nút tính toán trong các bài toán phức tạp.

Vậy ta có chỉ số cải thiện hiệu năng khi nâng cấp một 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 sẽ phụ thuộc phần lớn vào thời gian tính toán tại một nút tính toán.

122

Vậy khi hệ số k càng lớn thì hiệu năng tính toán của hệ thống có thể tăng đến cũng tăng tƣơng ứng so với hệ thống siêu máy tính tƣơng đƣơng chỉ sử dụng CPU. Hệ số này có thể không đáng kể so với các máy tính thông thƣờng nhƣng thử tƣởng tƣợng một siêu máy tính có tốc độ tính toán tối đa 100 teraflops, hiệu năng đƣợc cải thiện 5 lần thì tốc độ tính toán tối đa sẽ là 500 teraflops. Hệ thống siêu máy tính càng lớn thì hiệu năng cải thiện khi triển khai kiến trúc tính toán CPU-GPU càng nhiều.

123

KẾT LUẬN

Luận văn đã trình bày những kiến thức cơ bản về GPU và tính toán đa dụng GPGPU rồi từ đó tập trung đi vào nghiên cứu kiến trúc tính toán CPU-GPU để giúp ngƣời đọc hiểu rõ cơ chế hoạt động của kiến trúc tính toán CPU-GPU. Sau đó luận văn trình bày các kiến thức về các hệ thống máy tính, siêu máy tính rồi 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 các bài toán thử nghiệm đánh giá sức mạnh tính toán của một nút tính toán sử dụng kiến trúc tính toán CPU-GPU so với kịch bản chỉ sử dụng CPU đơn lẻ truyền thống, trong đó có hai bài toán xử lý trên 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) và một bài toán xử lý số nguyên nhằm đem đến cho ngƣời đọc một đánh giá khách quan nhất, chân thực và đầy đủ nhất về hiệu năng tính toán của kiến trúc tính toán CPU-GPU. Cuối cùng tác giả đánh giá hiệu năng của toàn bộ 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 chỉ sử dụng CPU để tính toán, luận văn đã thu đƣợc một số kết luận về mặt thực nghiệm nhƣ sau:

- Khi tỷ lệ giữa độ phức tạp tính toán và dữ liệu đầu vào của bài toán đủ lớn thì hiệu năng thực thi bài toán trên một nút tính toán sử dụng kiến trúc CPU- GPU sẽ cho kết quả tốt hơn kịch bản tính toán trên CPU truyền thống.

- Việc xác định thuật toán xử lý bài toán để tận dụng tối đa cơ chế song song trong kiến trúc GPU và trong mô hình máy tính cụm sẽ đóng vai trò then chốt quyết định hiệu năng của hệ thống khi thực thi chƣơng trình.

Đồng thời luận văn cũng rút ra đƣợc kết luận về mặt lý thuyết:

- Tỷ lệ cải thiện hiệu năng của hệ thống siêu máy tính sử dụng kiến trúc CPU- GPU so với hệ thống siêu máy tính tƣơng đƣơng chỉ sử dụng CPU phụ thuộc

124

phần lớn vào tỷ lệ cải thiện hiệu năng khi triển khai kiến trúc tính toán CPU- GPU trên một nút tính toán.

Do hạn chế về thiết bị thử nghiệm nên luận văn vẫn tồn tại một số hạn chế sau: - Luận văn chƣa bao gồm việc đánh giá hiệu năng của các hệ thống siêu máy

tính sử dụng chip GPU của AMD (bao gồm kiến trúc CPU-GPU hợp nhất). - Đề tài chƣa thực hiện đánh giá trên các hệ thống mà một nút tính toán bao

gồm nhiều CPU, GPU.

- Các tham số về mạng kết nối trong hệ thống chƣa đƣợc đƣa vào phân tích, ƣớc lƣợng.

Với các kết quả đã đạt đƣợc trong luận văn, tác giả mong muốn trong tƣơng lai gần có thể đƣa ra một mô hình để đánh giá hiệu năng của hệ thống siêu máy tính sử dụng kiến trúc CPU-GPU một cách toàn diện và quan hệ chặt chẽ với kiến trúc của hạ tầng của hệ thống hơn nữa và tiếp tục mở rộng nghiên cứu các cấu phần khác của hệ thống siêu máy tính nhƣ hệ thống mạng kết nối, các giao thức liên lạc và tính toán giữa các nút tính toán trong mạng.

125

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.

126

[12] E.Lindholm, J. Nickolls, S. Oberman, J. Montrym (2008), “NVIDIA Tesla: A Unified Graphics and Computing Architecture”, IEEE Micro, (28), pp. 39- 55.

[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.

127

[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”,

Một phần của tài liệu 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 (Trang 119 - 126)