Xử lý song song được xem là một giải pháp hiệu quả nhằm nâng cao hiệu năng tính toán của hệ thống, đặc biệt trong các bài toán yêu cầu về tốc độ xử lý nhanh trong khi khối lượng dữ liệu cần xử lý là rất lớn. Với một hệ thống xử lý song song, ngoài các giải thuật song song đòi hỏi phải có một cơ sở hạ tầng phần cứng song song đủ mạnh để thực thi các giải thuật này. Trong phạm vi của bài báo, nhóm tác giả đề xuất và xây dựng một hệ thống xử lý song song áp dụng cho bài toán tính FFT (Fast Fourier Transform) hữu hạn.
THE INTERNATIONAL CONFERENCE ON MARINE SCIENCE AND TECHNOLOGY 2016 Xây dựng hệ thống tính tốn song song cho tốn tính FFT hữu hạn Design of parallel computing system for solving limited FFT problem Nguyễn Bình Minh, Lê Quốc Định, Nguyễn Trọng Đức Trường Đại học Hàng hải Việt Nam, minhnb@vimaru.edu.vn Tóm tắt Xử lý song song xem giải pháp hiệu nhằm nâng cao hiệu tính tốn hệ thống, đặc biệt toán yêu cầu tốc độ xử lý nhanh khối lượng liệu cần xử lý lớn Với hệ thống xử lý song song, giải thuật song song đòi hỏi phải có sở hạ tầng phần cứng song song đủ mạnh để thực thi giải thuật Trong phạm vi báo, nhóm tác giả đề xuất xây dựng hệ thống xử lý song song áp dụng cho tốn tính FFT (Fast Fourier Transform) hữu hạn Từ khóa: Tính tốn song song, máy tính cụm, Raspberry Pi 2, biến đổi Fourier nhanh Abstract Parallel computing has been considered as an efficient solution to improve performance of computation systems This is particularly the case of computing a large amount of computation in a short time In a parallel computing system, along with a set of algorithms, there must be a parallel hardware infrastructure which is sufficient to execute these algorithms In this paper the authors proposed and designed a parallel computing system for solving the limited FFT problem Keywords: Parallel computing, cluster computer, raspberry Pi2, FFT Đặt vấn đề Việc ứng dụng máy tính hầu hết lĩnh vực góp phần quan trọng thúc đẩy phát triển kinh tế - xã hội Đặc biệt, lĩnh vực tính tốn, máy tính cơng cụ khơng thể thiếu giải tốn đòi hỏi khối lượng tính tốn lớn, độ xác cao (điều khiển tàu vũ trụ, xử lý thông tin gen, điều khiển lò phản ứng hạt nhân, ) Với tốn này, việc tính tốn xử lý vi xử lý máy tính cá nhân khơng thể đáp ứng yêu cầu đặt Giải pháp cho vấn đề sử dụng siêu máy tính kết hợp nhiều máy tính với để tính tốn Khi đó, nhu cầu xây dựng hệ thống có khả tính tốn song song để tính tốn, giải vấn đề lúc nhiều máy tính khác trở nên cấp thiết nhà khoa học tập trung nghiên cứu [1] Khái niệm hệ thống tính tốn song song đời Tính tốn song song hay xử lý song song q trình xử lý thơng tin nhấn mạnh việc nhiều đơn vị liệu nhiều câu lệnh xử lý đồng thời hay nhiều xử lý để giải toán [2] Với phương pháp lập trình cổ điển việc thực lệnh chương trình khơng giúp phát huy tối đa hiệu hệ thống song song Điều đòi hỏi phải có giải thuật, chương trình phù hợp để tận dụng sức mạnh hệ thống đó, giải pháp lập trình song song đời Trong lập trình song song, hoạt động song song chương trình xác định cách rõ ràng, hoạt động thường xem tiến trình tác vụ Bên cạnh đó, ngơn ngữ lập trình song song có khả điều chỉnh tình mà tiến trình đòi hỏi phải trao đổi, tương tác với Một chương trình song song cho hiệu cao biết ứng dụng tốt ngơn ngữ lập trình song song thích hợp giải thuật song song tốt Như vậy, hệ thống xử lý song song liên quan trực tiếp đến kiến trúc phần cứng, phần mềm hệ thống, giải thuật ngơn ngữ lập trình [2-4] HỘI NGHỊ QUỐC TẾ KHOA HỌC CÔNG NGHỆ HÀNG HẢI 2016 429 THE INTERNATIONAL CONFERENCE ON MARINE SCIENCE AND TECHNOLOGY 2016 Trong phạm vi báo, nhóm tác giả đề xuất xây dựng hệ thống tính tốn song song với mơ hình kiến trúc phân cụm Thử nghiệm hệ thống với giải thuật biến đổi nhanh Fourier, sở đưa đánh giá hiệu hệ thống đạt Nội dung báo bao gồm 04 mục, mục - Mở đầu, mục - Hệ thống tính tốn song song, đưa mơ hình, kiến trúc hệ thống Mục - Xây dựng hệ thống mục - Kết luận, đánh giá hệ thống xây dựng hướng nghiên cứu, phát triển Hệ thống tính tốn song song 2.1 Kiến trúc máy tính song song Một phân loại kiến trúc máy tính song song biết đến nhiều phân loại Michael Flynn Cách phân loại dựa vào đặc tính số lượng xử lý, số lệnh thực hiện, cấu trúc nhớ,… để chia máy tính thành bớ n loại: kiến trúc đơn dòng lệnh - đơn dòng liệu (SISD); kiến trúc đơn dòng lệnh - đa dòng liệu (SIMD); kiến trúc đa dòng lệnh - đơn dòng liệu (MISD) kiến trúc đa dòng liệu - đa dòng lệnh (MIMD) [5] Hình 1a Kiến trúc SISD Hình 1b Kiến trúc SIMD Hình 1c Kiến trúc MISD Hình 1d Kiến trúc MIMD - Kiến trúc SISD (Single Instruction-Single Data), hệ thống bao gồm đơn vị điều khiển đơn vị thực hiện, thời điểm thực lệnh (hình 1a); - Kiến trúc SIMD (Single Instruction-Multiple Data), hệ thống bao gồm đơn vị điều khiển nhiều đơn vị thực hiện, thời điểm thực lệnh nhiều dòng liệu khác (hình 1b); - Kiến trúc MISD (Multiple Instruction-Single Data), hệ thống bao gồm nhiều đơn vị điều khiển đơn vị thực hiện, thời điểm thực nhiều lệnh dòng liệu (hình 1c); HỘI NGHỊ QUỐC TẾ KHOA HỌC CÔNG NGHỆ HÀNG HẢI 2016 430 THE INTERNATIONAL CONFERENCE ON MARINE SCIENCE AND TECHNOLOGY 2016 - Kiến trúc MIMD (Multiple Instruction-Multiple Data), hệ thống bao gồm nhiều đơn vị điều khiển nhiều đơn vị thực hiện, thời điểm thực nhiều lệnh nhiều dòng liệu khác (hình 1d) Từ phân loại Michael Flynn thấy, mơ hình kiến trúc cho hệ thống tính tốn song song sử dụng: kiến trúc SIMD MIMD 2.2 Hệ thống tính tốn song song Như đề cập trên, mơ hình kiến trúc cho hệ thống tính tốn song song sử dụng bao gồm kiến trúc SIMD MIMD Khi đó, mơ hình lập trình song song tương ứng đề xuất [5]: - Mơ hình chia sẻ nhớ (Shared Memory): máy tính hệ thống chia sẻ nhớ với nhau, lệnh liệu chia sẻ theo luồng (Thread) Mơ hình lập trình tương ứng cho hệ thống lập trình luồng (hình 2a); - Mơ hình phân tán nhớ (Distributed Memory): hệ thống bao gồm máy đơn kết nối với qua mạng liên kết Mơ hình lập trình tương ứng cho hệ thống truyền thơng thơng điệp (hình 2b) Hình 2a Mơ hình chia sẻ nhớ Hình 2b Mơ hình phân tán nhớ Hình 2a minh họa cho hệ thống đa vi xử lý (đa nhân - Core) tích hợp hệ thống vật lý Mỗi nhân thực việc xử lý gói liệu, nhiên kết hợp nhiều nhân làm tăng tốc độ xử lý chung hệ thống Hình 2b minh họa cho hệ thống đa máy tính (máy tính cụm - Cluster), máy tính độc lập kết nối với thành hệ thống thống thông qua việc sử dụng phần mềm cơng nghệ kết nối mạng thích hợp Hiệu hệ thống cải thiện nhờ khả tính toán song song máy hệ thống ứng dụng tính tốn phức tạp “chia nhỏ” thành tác vụ Trong phạm vi báo, hệ thống tính tốn song song mà nhóm tác giả đề xuất xây dựng hệ thống tính tốn cụm Xây dựng hệ thống 3.1 Hệ thống tính tốn song song với Rasp Berry Pi Hệ thống tính tốn phân cụm hình Các Computer Node thực tác vụ tính tốn, Management Node có vai trò giao diện để giao tiếp hệ thống với người sử dụng, tất kết nối hệ thống mạng Ethernet [6] HỘI NGHỊ QUỐC TẾ KHOA HỌC CÔNG NGHỆ HÀNG HẢI 2016 431 THE INTERNATIONAL CONFERENCE ON MARINE SCIENCE AND TECHNOLOGY 2016 Hình Kiến trúc hệ thống máy tính cụm Hệ thống mà nhóm tác giả đề xuất sử dụng 04 máy tính mini Raspberry Pi Computer Node, Node kết nối với qua mạng Ethernet: 10/100 Mbs (Hình 4) Hình Hệ thống tính tốn song song với Rasp Berry Pi Các Raspberry Pi lựa chọn với cấu hình CPU lõi, xung nhịp 900 MHz kiến trúc ARM, nhớ RAM 1Gb (DDR2) [7] Hệ thống chạy hệ điều hành Linux, mơ hình lập trình truyền thơng thơng điệp (MPI-Message Passing Interface), sử dụng thư viện mở MPICH 3.2 Biến đổi Fourier nhanh Biến đổi Fourier: chuyển tín hiệu x(n) từ miền thời gian sang miền tần số ω (hay tần số f = ω/2π) [8]: X (e j ) x ( n )e j n n jω Khi X(e ) hàm biến phức biểu diễn miền tần số ω dạng phần thực phần ảo Tuy nhiên, thực tế có số lượng hữu hạn giá trị rời rạc lưu trữ, ω rời rạc hóa miền giá trị từ đến 2π thành n điểm với khoảng cách 2π/n Với phương pháp biến đổi vậy, độ phức tạp thời gian tính tốn cho n điểm (mẫu) O(n2) Để tăng hiệu tính tốn, phương pháp biển đổi Fourier nhanh (FFT- Fast Fourier Transform) hình thành Ý tưởng chủ đạo FFT chia toán thành tốn để tính tốn (chia trị) Khi đó, độ phức tạp thời gian tính tốn cho n điểm O (nlogn) Bài tốn tính FFT giải quyết, nhiên lượng mẫu lớn, vấn đề xử lý trở lên phức tạp với hệ thống máy đơn giải thuật tính tốn Trong khn khổ báo HỘI NGHỊ QUỐC TẾ KHOA HỌC CÔNG NGHỆ HÀNG HẢI 2016 432 THE INTERNATIONAL CONFERENCE ON MARINE SCIENCE AND TECHNOLOGY 2016 này, nhóm tác giả đề xuất giải thuật song song cho phép tính FFT hệ thống Rasp Berry Pi 2, giải thuật gồm ba pha - Pha thứ nhất, hoán vị giá trị tần số đầu vào xếp lại số; - Pha thứ hai, thực thao tác (nhân chập) với logn giá trị tần số; - Pha thứ ba, lặp lại bước khắp hướng mảng Gọi n số mẫu vào, p số phần tử xử lý hệ thống, với giải thuật tính FFT song song, độ phức tạp thời gian tính tốn cho n mẫu O (nlogn/p) 3.3 Thử nghiệm giải thuật song song Raspberry Pi Tiến hành thử nghiệm giải thuật song song Raspberry Pi (hình 5), kết thu mô tả bảng 1: Bảng Kết thử nghiệm Số phần tử STT Giải thuật (ms) Giải thuật song song (ms) 256 0.000868 0.038 4096 0.015 0.047 65536 0.36 0.20 1048576 7.53 3.43 16777216 151.29 53.83 Trong lần thứ nhất, số phần tử đầu vào n = 256, thời gian thực FFT ttt = 0.000868 ms, thời gian thực FFT song song tss = 0.038 ms Tương tự, lần 2: ttt = 0.015 ms tss = 0.047 ms Như thấy với liệu nhỏ, thời gian thực giải thuật song song lớn so với giải thuật Điều lí giải ngồi thời gian tính tốn, hệ thống chi phí lượng thời gian khơng nhỏ cho truyền thơng nút Tuy nhiên, số phần tử đầu vào đủ lớn (lần 3, 5) thời gian thực giải thuật song song giảm đáng kể (lần 5: 53.83/151.29), điều đồng nghĩa với việc hiệu hệ thống cải thiện (tăng lên gần lần) Hình Kết thử nghiệm FFT song song Rasp Berry Pi HỘI NGHỊ QUỐC TẾ KHOA HỌC CÔNG NGHỆ HÀNG HẢI 2016 433 THE INTERNATIONAL CONFERENCE ON MARINE SCIENCE AND TECHNOLOGY 2016 Kết luận Xử lý song song xem giải pháp hiệu nhằm nâng cao hiệu tính tốn hệ thống, đặc biệt toán yêu cầu tốc độ xử lý nhanh song khối lượng liệu cần xử lý khổng lồ Với hệ thống xử lý song song, giải thuật song song đòi hỏi phải có sở hạ tầng phần cứng song song đủ mạnh để thực thi giải thuật Trong khuôn khổ báo, nhóm tác giả xây dựng thành cơng hệ thống tính tốn song song hiệu cao dựa mơ hình kiến trúc máy tính cụm với tảng máy tính mini Raspberry Pi Bên cạnh đó, giải thuật song song tính FFT đề cập, từ nhóm tác giả tiến hành cài đặt thử nghiệm đưa so sánh nhằm khẳng định ưu việt hiệu hệ thống xây dựng Tài liệu tham khảo [1] Hesham El-Rewini, Mostafa ABD-El-Barr Advanced Computer Architecture and Parallel processing Willey 2005 [2] Thomas Rauber, Gudula Runger Parallel Programming Springer 2007 [3] Nguyễn Đức Nghĩa Tính Tốn Song Song NXB Đại học Quốc gia Hà Nội 2007 [4] Lê Huy Thập Cơ sở lí thuyết song song NXB Thơng tin truyền thông 2010 [5] K Hwang Advanced Computer Architecture McGraw-Hill Education (India) 2010 [6] Barry Wlkingson, Michael Allen Parallel Programming, Technique and Applications Using Networked Workstations and Parallel Computers Prentice Hall New Jersey 1999 [7] Andrew K Dennis Raspberry Pi Super Cluster Birmingham Publishing 2013 [8] Quách Tuấn Ngọc Xử lý tín hiệu số NXB Giáo dục 1997 HỘI NGHỊ QUỐC TẾ KHOA HỌC CÔNG NGHỆ HÀNG HẢI 2016 434 ... mục - Hệ thống tính tốn song song, đưa mơ hình, kiến trúc hệ thống Mục - Xây dựng hệ thống mục - Kết luận, đánh giá hệ thống xây dựng hướng nghiên cứu, phát triển Hệ thống tính tốn song song 2.1... song song máy hệ thống ứng dụng tính tốn phức tạp “chia nhỏ” thành tác vụ Trong phạm vi báo, hệ thống tính tốn song song mà nhóm tác giả đề xuất xây dựng hệ thống tính tốn cụm Xây dựng hệ thống. .. kiến trúc cho hệ thống tính tốn song song sử dụng: kiến trúc SIMD MIMD 2.2 Hệ thống tính tốn song song Như đề cập trên, mơ hình kiến trúc cho hệ thống tính tốn song song sử dụng bao gồm kiến trúc