Chulalongkorn University Theses and Dissertations (Chula ETD)

การประยุกต์ใช้การโปรแกรมคำนวณแบบขนานลูกผสมกับการจำลองสึนามิแบบหลายระดับความละเอียด

Other Title (Parallel Title in Other Language of ETD)

APPLYING HYBRID PARALLEL PROGRAMMING TO MULTI-SCALE TSUNAMI SIMULATION

Year (A.D.)

2012

Document Type

Thesis

First Advisor

วีระ เหมืองสิน

Faculty/College

Faculty of Engineering (คณะวิศวกรรมศาสตร์)

Degree Name

วิศวกรรมศาสตรมหาบัณฑิต

Degree Level

ปริญญาโท

Degree Discipline

วิศวกรรมคอมพิวเตอร์

DOI

10.58837/CHULA.THE.2012.1272

Abstract

ในปัจจุบันคอมพิวเตอร์แบบขนานมักถูกสร้างขึ้นมาจาก 3 เทคโนโลยีอันได้แก่ คลัสเตอร์คอมพิวเตอร์ (Cluster computer), มัลติโพรเซสเซอร์หรือมัลติคอร์ (Multiprocessors/Multicores) และหน่วยประมวลผลกราฟิกส์สำหรับงานทั่วไป (General Propose Graphics Processing Unit/GPGPU) ซึ่งมีความแตกต่างกันหลายประการ เช่น ลำดับชั้นของการทำงานแบบขนาน (level of parallelism), สถาปัตยกรรม, อัลกอริทึม, รูปแบบการเขียนโปรแกรม และความสามารถในการปรับขนาด (scalability) เป็นต้น ดังนั้นเพื่อที่จะใช้ประโยชน์จากการทำงานแบบขนานในหลายระดับและเพิ่มความสามารถในการปรับขนาดคอมพิวเตอร์แบบขนานหนึ่งเครื่องอาจสร้างมาจากการรวมกันของทั้ง 3 เทคโนโลยีข้างต้น เกิดเป็นคอมพิวเตอร์ขนานแบบลูกผสม คือ เป็นคลัสเตอร์คอมพิวเตอร์ที่มีหน่วยประมวลผลแบบมัลติคอร์และหน่วยประมวลผลกราฟิกส์ ซึ่งจะนำเอาข้อดีของแต่ละเทคนิคมาใช้เพื่อเพิ่มประสิทธิภาพในการทำงานของโปรแกรมโดยรวม งานวิจัยนี้จึงต้องการหาวิธีจัดการงานของโปรแกรมคำนวณแบบขนาน สำหรับปัญหาที่มีหลายระดับความละเอียด ที่ทำงานบนคลัสเตอร์คอมพิวเตอร์ที่มีหน่วยประมวลผลกราฟิกส์ ด้วยเทคนิคการเขียนโปรแกรมแบบลูกผสม โดยแบ่งงานและกระจายงานไปยังหน่วยประมวลผลที่ไม่สมมาตรอย่างเหมาะสม และสามารถปรับการจัดการงานให้เหมาะสมกับความสามารถของระบบคลัสเตอร์คอมพิวเตอร์ที่ใช้งาน โดยใช้การจำลองสึนามิเป็นกรณีศึกษา เพื่อที่จะนำวิธีการจัดการงานที่ได้ไปประยุกต์ใช้กับโปรแกรมคำนวณแบบขนานสำหรับปัญหาที่มีหลายระดับความละเอียดอื่นๆ

Other Abstract (Other language abstract of ETD)

Currently, most parallel computers are built from three technologies, namely cluster computer, multiprocessor/multicore, and general purpose graphics processing unit (GPGPU). In order to exploit many levels of parallelism and improve scalability, many parallel computers are hybrid systems built from combinations of the three. Mixing their programming interfaces in a non-trivial program is quite challenging. Moreover, the introduction of GPUs brings new problems in load balancing because now the processors (CPUs/GPUs) are asymmetric. This paper presents the development of a hybrid parallel program using MPI and CUDA for a cluster of multicore processors and GPUs. The target application is a tsunami simulation program called TUNAMI. We especially focus on partitioning techniques for load balancing. The work can be divided into two parts. The first part was to develop a hybrid version of the program based on an MPI version. The second part was to develop an analysis tool to support data partitioning onto CPUs and GPUs.

Share

COinS