FFT2

19
Pelaksanaan dan evaluasi kinerja algoritma FFT paralel Abstrak  Fast Fourier Transform (FFT) algoritma yang banyak digunakan di banyak bidang ilmu pengetah uan dan reka yasa .  Beber apa yang di kenal luas al gor it ma FFT kebanyakan Radix-2 algoritma, Radix-4 algoritma, algoritma Split Radix, Cepat transfor masi Hartle y alg ori tma berb asi s tran sformasi Fourie r Cepa t.  Dalam makalah ini, pertama tiga algoritma yang terdaftar diimplementasikan dalam MPI (pe san dan berurut an le wat  inter face) bent uk paralel dan ki nerja mereka dibandingkan. Kedua algoritma tersebut  dilaksanakan dalam dua gaya paralel dari algoritma seperti yang kita mengurangi komunikasi overhead.  Kami juga melihat efek dari antar-koneksi jaringan di  kinerja algoritma. 1. Pengantar Salah satu teknik yang paling banyak digunakan dalam ilmu pengetahuan dan teknik ada lah kons ep Fourie r Tra nsf orm dan algori tma lai nnya. Dal am pemrosesa n sinyal, ini terutama digunakan untuk mengkonversi sinyal masukan dalam domain waktu ke domain frekuensi dan sebaliknya. Dalam dunia digital, sinyal sampel dalam domain waktu. Jadi, kami telah Diskrit Fourier Transform (DFT) di dunia digital. DFT diterapkan  pad a sin yal inp ut dis kri t dan kami mendapatkan kar akt eri sti k fre kuen si dar i sin yal sebagai output. Pertunjukan DFT invers, yang memiliki bentuk matematis sangat mirip dengan DFT, hasil domain frekuensi kembali memberikan sinyal dalam domain waktu. Ini berarti bahwa sinyal bila dikonversi menjadi domain frekuensi akan memberi kita  berbagai komponen frekuensi dari sinyal input dan kemudian dapat digunakan untuk menghilangkan komponen-komponen frekuensi tertentu yang tidak diinginkan. Konsep ini dapat yang digunakan dalam gambar atau kompresi audio dan filter pada sinyal komunikasi untuk beberapa nama. Discrete Fourier Transform adalah proses yang sangat intensif komputasi yang didasa rka n pada summat iona hin gga rangka ian pro duk nil ai sin yal input dan fungsi tr igonomet ri . Merupakan komple ksit as wak tu al gor it ma dalam O (n 2  ). Untuk 

Transcript of FFT2

8/6/2019 FFT2

http://slidepdf.com/reader/full/fft2 1/19

Pelaksanaan dan evaluasi kinerja

algoritma FFT paralel

Abstrak  

Fast Fourier Transform (FFT) algoritma yang banyak digunakan di banyak bidang

ilmu pengetahuan  dan rekayasa.  Beberapa yang dikenal luas algoritma FFT

kebanyakan Radix-2  algoritma, Radix-4 algoritma, algoritma Split Radix, Cepat

transformasi Hartley  algoritma berbasis transformasi Fourier Cepat.  Dalam

makalah ini, pertama tiga algoritma yang terdaftar diimplementasikan dalam MPI

(pesan dan berurutan lewat  interface) bentuk paralel dan kinerja mereka

dibandingkan. Kedua algoritma tersebut dilaksanakan dalam dua gaya paralel dari

algoritma seperti yang kita mengurangi komunikasi overhead. Kami juga melihat

efek dari antar-koneksi jaringan di kinerja algoritma. 

1. Pengantar 

Salah satu teknik yang paling banyak digunakan dalam ilmu pengetahuan dan

teknik adalah konsep Fourier Transform dan algoritma lainnya. Dalam pemrosesan

sinyal, ini terutama digunakan untuk mengkonversi sinyal masukan dalam domain waktu

ke domain frekuensi dan sebaliknya. Dalam dunia digital, sinyal sampel dalam domainwaktu. Jadi, kami telah Diskrit Fourier Transform (DFT) di dunia digital. DFT diterapkan

  pada sinyal input diskrit dan kami mendapatkan karakteristik frekuensi dari sinyal

sebagai output. Pertunjukan DFT invers, yang memiliki bentuk matematis sangat mirip

dengan DFT, hasil domain frekuensi kembali memberikan sinyal dalam domain waktu.

Ini berarti bahwa sinyal bila dikonversi menjadi domain frekuensi akan memberi kita

  berbagai komponen frekuensi dari sinyal input dan kemudian dapat digunakan untuk 

menghilangkan komponen-komponen frekuensi tertentu yang tidak diinginkan. Konsep

ini dapat yang digunakan dalam gambar atau kompresi audio dan filter pada sinyal

komunikasi untuk beberapa nama.

Discrete Fourier Transform adalah proses yang sangat intensif komputasi yang

didasarkan pada summationa hingga rangkaian produk nilai sinyal input dan fungsi

trigonometri. Merupakan kompleksitas waktu algoritma dalam O (n2 ). Untuk 

8/6/2019 FFT2

http://slidepdf.com/reader/full/fft2 2/19

meningkatkan kinerja, beberapa diusulkan algoritma yang dapat diimplementasikan

dalam perangkat keras atau perangkat lunak. mengatur algoritma ini dikenal sebagai Fast

Fourier Transform (FFT). FFT besar pertama algoritma diusulkan oleh Cooley dan

Tukey. Banyak algoritma FFT yang diusulkan dengan kompleksitas waktu O (nlogn).

Beberapa dari mereka adalah Radix-2 algoritma, algoritma Radix-4 dan Split Radix

algoritma. Dalam tulisan ini, kita membahas cara-cara parallelizing ini algoritma untuk 

mengurangi overhead komunikasi.

2. Latar belakang 

2.1. Discrete Fourier Transform 

Discrete Fourier Transform (DFT) adalah berdasarkan jumlah produk input sinyal

nilai dan fungsi trigonometri. Ini berkaitan dengan bilangan real dan dibatasi. The DFT,

X (k) dengan panjang terbatas sinyal diskrit, x (n) dihitung dengan persamaan yang

diberikan dalam gambar 1 di bawah ini. Hal ini dibatasi karena mengasumsikan bahwa

sinyal periodik dengan ) Periode sama dengan panjang dari urutan x (n).

Gambar 1: bentuk Matematika dari Diskrit Fourier Transform dan kebalikannya

Dalam menghitung DFT dari sinyal panjang terbatas dengan panjang N, kami

mewajibkan 4N2 perkalian dan N (4n-1) tambahan. Ini memberikan kita waktu-

kompleksitas O(N2 ). Ini berarti bahwa untuk nilai-nilai yang lebih besar dari N, waktu

komputasi meningkat secara eksponensial, yang tidak diinginkan. Ini menetapkan

 panggung untuk Fast Fourier Transform (FFT).

8/6/2019 FFT2

http://slidepdf.com/reader/full/fft2 3/19

2.2. Algoritma FFT 

Untuk membuat operasi DFT lebih praktis, beberapa algoritma FFT diusulkan.

Pendekatan dasar untuk semua itu adalah untuk menggunakan properti dari DFT operasi

itu sendiri. Semua mereka mengurangi biaya komputasi melakukan DFT pada diberikan

urutan input.

Dari persamaan 1.a pada gambar 1,

 Nilai ini Wn disebut sebagai  faktor hiasan atau  faktor fasa. Nilai ini memutarkan faktor 

yang menjadi fungsi trigonometri atas titik-titik diskrit sekitar 4 kuadran dari dua bidang

yang memiliki beberapa dimensi dan periodisitas sifat simetri.

Gambar2: Periodisitas dan properti simetri

Pendekatan lain yang dapat digunakan adalah membagi-dan-menaklukkan

 pendekatan. Dalam pendekatan ini, single diberikan urutan input dimensi panjang, N,

dapat direpresentasikan dalam dua bentuk dimensi dengan baris M dan kolom L dengan

 N = M x L. Hal ini dapat menunjukkan bahwa DFT yang dilakukan pada representasi

akan menyebabkan perhitungan lebih kecil, N (M + L +1) penambahan kompleks dan N

(M + L-2) penambahan kompleks. Harap dicatat bahwa pendekatan ini hanya berlaku

ketika nilai N komposit.

2.2.1. Radix-2 algoritma FFT 

Algoritma ini merupakan kasus khusus dari pendekatan yang dijelaskan

sebelumnya di mana N dapat direpresentasikan sebagai kekuatan dari 2 yaitu, N = 2 v . Ini

  berarti bahwa jumlah penambahan kompleks dan perkalian akan berkurang sampai

8/6/2019 FFT2

http://slidepdf.com/reader/full/fft2 4/19

  N(N+6)/2 dan N2/2 hanya dengan menggunakan membagi-dan- menaklukkan

 pendekatan. Ketika kita juga mulai menggunakan simetri dan properti periodisitas faktor 

hiasan, dapat ditunjukkan bahwa jumlah penambahan kompleks dan perkalian dapat

dikurangi untuk Nlog2 N dan (N/2) log2 N masing-masing. Oleh karena itu, dari O(N2)

Algoritma, kompleksitas komputasi telah berkurang ke O(NlogN).

Seluruh proses dibagi menjadi log2 N bertahap dan dalam setiap tahap N/2-titik 

DFTs dua adalah dilakukan. Perhitungan melibatkan setiap pasangan data disebut kupu-

kupu. Radix-2 Algoritma dapat diimplementasikan sebagai decimation--waktu (M=N/2

dan L=2) atau decimation- di-frekuensi (M2= dan L= N/2) algoritma. Gambar 3 di bawah

ini memberikan decimation-in- frekuensi bentuk algoritma-2 Radix untuk urutan

masukan panjang, N=8. Gambar 4 bawah memberikan-in-time bentuk pengurangan yang

sama.

2.2.2. Radix-4 algoritma FFT 

Algoritma ini mirip dengan algoritma Radix-2, tetapi di sini, empat titik DFTs

dilakukan bukan dua titik DFTs seperti dalam Radix-2 algoritma. Ini juga berarti bahwa

 panjang urutan input, N, harus menjadi kekuatan 4, 4v . Hal ini dapat ditunjukkan bahwa

 jumlah perkalian kompleks dan penambahan telah direduksi menjadi (3N/8) log2 N dan

(3N/2) log2 N masing-masing. Oleh karena itu, komputasi lebih efisien dibandingkan FFT

Radix-2 algoritma.

8/6/2019 FFT2

http://slidepdf.com/reader/full/fft2 5/19

Gambar 3: 8-point FFT Radix-2: penipisan dalam bentuk frekuensi

Gambar 4: 8-point FFT Radix-2: penipisan dalam bentuk waktu

8/6/2019 FFT2

http://slidepdf.com/reader/full/fft2 6/19

2.2.3. Algoritma FFT Split Radix 

Melihat gambar 4, dapat diamati bahwa semua poin genap dari DFT dapat

dilakukan independen untuk titik bernomor ganjil. Properti ini digunakan di Split Radix

algoritma FFT. Seperti namanya, bagian dari algoritma ini dihitung dengan menggunakan

Radix-2 algoritma dan bagian lainnya dihitung dengan menggunakan algoritma Radix-4.

Seperti yang terlihat sebelumnya, Radix-4 algoritma komputasi lebih efisien daripada

algoritma-2 Radix, tetapi memiliki merugikan yang panjang urutan input harus kelipatan

dari 4 Split Algoritma Radix menyatukan keuntungan dari kedua algoritma.

 

2.2.4. Perbandingan 

Hal ini dapat ditunjukkan bahwa bentuk berurutan dari tiga algoritma, Radix-4

yang paling cepat dan Radix-2 adalah paling lambat. Split Radix melakukan suatu tempat

di tengah. Untuk informasi lebih lanjut literatur tentang ini, [1] adalah referensi yang

 baik.

3. MPI algoritma FFT Paralel 

3.1. Pendekatan paralelisasi 

Ada banyak bentuk yaitu sistem paralel yang tersedia., bersama multiprocessors

memori dan pesan berbasis multi-prosesor. Dengan meningkatnya popularitas cluster,

MPI (Pesan lewat antarmuka) telah menjadi bentuk populer tulisan program paralel untuk 

massal paralel multi-prosesor. Oleh karena itu, kita bahas di sini algoritma untuk MPI

 berdasarkan sistem.

3.1.1. Semua kupu-kupu secara paralel 

Pendekatan ini akan berarti bahwa semua perhitungan kupu-kupu dapat dilakukan

secara paralel. Seperti yang kita lihat dalam gambar 3, semua kupu-kupu di panggung

dapat dilakukan secara paralel dan kemudian di tahap akhir, hasil dapat dikumpulkan.

Sekarang semua node dapat melakukan perhitungan pada hasil tahap pertama secara

 paralel dan output dari tahap kedua dapat dikumpulkan lagi dan seterusnya. Sementara ini

menyediakan ruang maksimum untuk paralelisme, ada overhead komunikasi yang

signifikan dalam proses ini pada akhir setiap tahap semua prosesor harus berkomunikasi

8/6/2019 FFT2

http://slidepdf.com/reader/full/fft2 7/19

dengan satu sama lain dan sistem tidak harus dilanjutkan ke tahap berikutnya sampai

semua output dari tahap pertama dihasilkan. Selain itu, pola komunikasi antara prosesor 

 juga tidak seragam. Hal ini menambah kompleksitas sistem. Oleh karena itu, algoritma

ini tidak diimplementasikan.

3.1.2. Lingkup untuk meningkatkan paralelisme dengan tahapan 

Mari kita mempertimbangkan frekuensi-dalam-bentuk pengurangan dari

algoritma 8 Radix-2 panjang. Dalam tahap pertama, semua data yang berbaur dan kita

harus melakukan DFT 8-titik tunggal dalam Tahap pertama. Pada tahap kedua, tampak 

 pecah menjadi dua DFTs 4 poin terpisah dan dalam Tahap ketiga, kita memiliki delapan

DFTs 2-titik yang terpisah. Michael Balducci et al, dalam [2], telah digunakan suatu

algoritma yang sebagian menyerupai ini dan algoritma sebelumnya di bagian 3.1.1.

Gambar 5 di bawah menunjukkan komposisi paralel dari algoritma ini. Teks dalam oval

adalah unsur-unsur yang perhitungan dilakukan dan nomor di bawah oval adalah prosesor 

yang akan melakukan perhitungan. jalur padat menunjukkan komunikasi.

Gambar 5: komposisi Paralel untuk 8-point FFT Radix-2 dalam penipisan dalam bentuk frekuensi

 pada sistem prosesor 4

Pada waktu bentuk pengurangan, anak-anak panah dalam gambar di atas

kebutuhan akan dipulihkan dan tahap harus diberi nomor dari bawah ke atas. Harap

8/6/2019 FFT2

http://slidepdf.com/reader/full/fft2 8/19

dicatat bahwa dalam hal ini, kami memiliki lebih paralelisme dalam tahap pertama dan

  jumlah divisi jelas berkurang dengan faktor dua. Jadi, ini hanya kebalikan dari

decimation-dalam bentuk-frekuensi. Namun keuntungan dari formulir ini adalah bahwa

hasilnya sudah di node master pada akhir tahap terakhir sedangkan dalam kasus

decimation-dalam bentuk-frekuensi, kita membutuhkan sebuah fase pengumpulan hasil

setelah tahap FFT terakhir.

Kerugian dari pendekatan ini adalah bahwa sementara hanya satu prosesor akan

aktif di Tahap pertama dari decimation-dalam bentuk-frekuensi, semua prosesor lain

yang tersedia akan idle pada tahap pertama. Tetapi jumlah prosesor yang digunakan akan

ditingkatkan dalam tahap berikutnya.

3.1.3. Benar-benar paralel perhitungan: "Berkomunikasi dua kali" algoritma 

Algoritma ini hanya berlaku untuk yang decimation-dalam bentuk-frekuensi.

Sebagai nama menyarankan, algoritma ini akan mengurangi overhead komunikasi yang

terlibat. Pada bagian 3.1.2, kita melihat bahwa prosesor 2 menunggu hasil tahap pertama

dari prosesor 0 sebelum melanjutkan dengan tahap 2 perhitungan. Sejak prosesor 2 sudah

menyadari adanya data set yang sedang menunggu, bisa juga melakukan perhitungan

yang sama yang prosesor 0 adalah bermasalah dan kemudian menggunakan data yang

ditetapkan untuk tahap yang 2 perhitungan. Dalam hal ini pendekatan, kita membutuhkan

siaran awal dari semua data input, tetapi seperti siaran tidak diperlukan dalam pendekatan

yang disebutkan dalam 3.1.2. Gambar 6 dibawah ini merupakan paralel perhitungan

dilakukan oleh prosesor dalam berbagai tahap. Hal ini dapat dilihat bahwa beberapa

 prosesor akan melakukan perhitungan berlebihan karena beberapa prosesor lainnya akan

 juga akan komputasi operasi yang sama pada kumpulan data. Tetapi pendekatan ini akan

sangat menarik untuk node prosesor yang cepat dihubungkan dengan latency yang relatif 

lebih tinggi interkoneksi jaringan.

8/6/2019 FFT2

http://slidepdf.com/reader/full/fft2 9/19

Gambar 6: komunikasi Paralel dan struktur komputasi untuk 8-point DIF Radix-2

Algoritma FFT diimplementasikan sebagai dijelaskan dalam bagian 3.1.3

3.2. Pelaksanaan 

Algoritma, disebutkan dalam bagian 3.1.2 dan 3.1.3, telah diterapkan di C + +

menggunakan Standar Template Library (STL) dan Message Passing Interface (MPI).

Hal ini dapat dilihat bentuk angka 5 bahwa kita membagi masukan untuk 

 panggung menjadi dua set dalam kasus dari-Radix 2 atau algoritma Split Radix dan

empat set dalam kasus Radix-4 algoritma. Tapi ini tidak berarti bahwa algoritma ini

canbe diimplementasikan dengan menggunakan 2 v atau 4 v prosesor saja.Hal ini dapat

diimplementasikan menggunakan sejumlah prosesor. Ketika kita tidak dapat membagi

data unsur di setiap tahap, maka prosesor yang seharusnya membagi kumpulan data akan

terus melakukan perhitungan onthe seluruh set data dari tahap sebelumnya. Hal ini dapat

dilihat pada gambar 7 di bawah ini, yang merupakan prosesor versi 3 dari angka 5. Dalam

 pendekatan ini, kita memetakan peta seluruh komunikasi untuk setiap tahap untuk semua

 prosesor sebelum mulai menghitung FFT. MPI memblokir komunikasi yang digunakan

sebagai pengganti non-memblokir komunikasi karena tidak akan membuat perbedaan

kinerja dalam hal ini dan hanya meningkatkan jumlah memori yang diperlukan karena

 persyaratan MPI:: COMM_WORLD.Isend () method.

8/6/2019 FFT2

http://slidepdf.com/reader/full/fft2 10/19

Gambar 7: komposisi Paralel untuk 8-point FFT Radix-2 dalam penipisan dalam bentuk frekuensi pada sistem prosesor 3

Untuk pendekatan 3.1.3, kita awalnya hanya menghitung elemen data atau lebih

tepatnya hasil diharapkan dari semua prosesor pada akhir tahap terakhir. Penentuan jika

divisi harus dieksekusi dalam tahap tertentu oleh prosesor dilakukan dengan cepat oleh

FFT kernel. Perhitungan tentang pembagian bisa dilakukan dengan dua cara yaitu operasi

DFT dapat berupa dihitung untuk kedua bagian atas dan bawah divisi atau dihitung untuk 

 baik lebih rendah atau bagian atas dari divisi tersebut. Ini akan menyelamatkan kita

 beberapa penambahan dan perkalian. Hasil dalam makalah ini hanya berdasarkan cara

mantan implementasi. Cara terakhir, yang selanjutnya akan meningkatkan kinerja, dapat

dilakukan sebagai sebuah karya masa depan. Setelah tahap terakhir, kita bisa melakukan

MPI:: COMM_WORLD.Gatherv () untuk menerima berbagai hasil dari node.

 

4. Hasil 4.1. Metode pengukuran 

Utama dan kriteria hanya digunakan di sini untuk pembandingan algoritma adalah

waktu diambil untuk perhitungan dan komunikasi. Kami menggunakan MPI::

COMM_WORLD.Wtime () untuk mengukur dinding-waktu. Kami menyertakan semua

  perhitungan dan komunikasi yang terlibat termasuk siaran awal dan hasil pertemuan

8/6/2019 FFT2

http://slidepdf.com/reader/full/fft2 11/19

tahap akhir, jika berlaku. The meletakkan peta komunikasi juga termasuk dalam

 perhitungan total waktu diambil oleh proses. Jadi, semua biaya overhead yang terlibat

dalam melakukan komputasi paralel diperhitungkan saat mengukur waktu kecuali loading

awal program dalam prosesor.

4.2. Perbandingan dari kedua algoritma parallelizing 

Gambar 8: Perbandingan algoritma-2 Radix diimplementasikan dalam 4 sistem prosesor dengan

algoritma dalam bagian 3.1.3 dan pasal 3.1.2. Kita bisa melihat bahwa Berkomunikasi dua kalialgoritma jelas melebihi yang lain.

8/6/2019 FFT2

http://slidepdf.com/reader/full/fft2 12/19

Gambar 9: Perbandingan algoritma-2 Radix diimplementasikan dalam 4 sistem prosesor dengan

algoritma dalam bagian 3.1.3 dan pasal 3.1.2. Kita bisa melihat bahwa  Berkomunikasi dua kalialgoritma jelas melebihi yang lain. Harap dicatat bahwa ketika kita meningkatkan jumlah

 prosesor 4-16, kita perlu menunggu sedikit lebih lama sebelum melebihi pelaksanaan single

 processor. Dalam sistem prosesor 4, kita mencapai ini ketika urutan input panjang 2048, tetapidalam sistem prosesor 16, kita mencapai bahwa hanya ketika panjang urutan input 32768

.

Dalam kedua kasus di atas, harus dicatat bahwa pada ukuran input mencapai

524.288, yang algoritma berbasis pohon yang dijelaskan dalam bagian 3.1.2 sedikit

melebihi algoritma lainnya.

4.2. Kinerja Radix-2, Radi-4 dan algoritma FFT Split Radix 

Dari grafik di bagian sebelumnya, kita melihat bahwa algoritma dua kali

 Berkomunikasi dalam bagian 3.1.3 bekerja lebih baik dalam ruang sampel dari yang

dijelaskan di bagian 3.1.2. Jadi, dalam bagian ini, kita membandingkan algoritma FFT di

atas tiga tahun ketika mereka paralel implementasi didasarkan pada berkomunikasi dua

kali "algoritma". Komunikasi media yang digunakan adalah Gigabit Ethernet. Grafik 

menunjukkan kecepatan-up yang kita peroleh menggunakan prosesor  np-cluster 

  berdasarkan ketika kita bervariasi ukuran input. Garis horizontal biru dengan titik,

merupakan kecepatan-up untuk sistem prosesor tunggal yang selalu 1.

8/6/2019 FFT2

http://slidepdf.com/reader/full/fft2 13/19

Dalam semua tiga grafik, dapat diamati bahwa untuk nilai yang lebih rendah dari

ukuran input, kurang dari 256, the-prosesor tunggal pelaksanaan jam waktu yang lebih

  baik daripada semua multi-prosesor sistem. Di luar ukuran input 256, 2-prosesor 

implementasi dari ketiga algoritma mulai cocok dan mengurangi waktu yang dibutuhkan

untuk perhitungan yang FFTby prosesor tunggal implementasi. Pada titik ini, komputasi

dan komunikasi beban sesuai dengan beban komputasi dari implementasi prosesor 

tunggal. Jadi, untuk masukan ukuran yang lebih kecil, komunikasi menjadi biaya

overhead. Hal ini juga dapat dicatat bahwa untuk nilai yang berbeda np, titik cross-over 

 berbeda. Semakin tinggi jumlah prosesor yang digunakan, maka semakin besar ukuran

input minimum yang diperlukan untuk membuat sistem menguntungkan bila

dibandingkan dengan implementasi prosesor tunggal. Hal ini berlaku untuk semua tiga

algoritma.

Gambar 10: FFT Radix-2 algoritma diimplementasikan menggunakan "Berkomunikasi dua kali" (Bagian 3.1.3) algoritma

8/6/2019 FFT2

http://slidepdf.com/reader/full/fft2 14/19

Gambar 11: Radix-4 FFT algoritma diimplementasikan menggunakan "Berkomunikasi dua kali" (Bagian 3.1.3) algoritma

Gambar 12: algoritma FFT Split Radix diimplementasikan dengan menggunakan "Berkomunikasidua kali" (Bagian 3.1.3) algoritma

Perlu dicatat kontras antara perbandingan kinerja algoritma paralel dalam [2] dan

dalam tulisan ini. [2] menyebutkan bahwa tidak ada kecepatan-up dicapai bahkan ketika

input ukuran mencapai 8192. Beberapa alasan bisa algoritma itu sendiri yang

menempatkan terlalu banyak overhead komunikasi atau bisa menjadi media komunikasi

atau protokol yang tersedia selama waktu itu (1996).

8/6/2019 FFT2

http://slidepdf.com/reader/full/fft2 15/19

Untuk nilai tertentu np di setiap algoritma, memiliki spot-manis. Ini sweet spot

meskipun sedikit bervariasi antara tiga algoritma, tetapi hampir jatuh dalam kisaran

tertentu. The tabel 1 (bawah) daftar jumlah prosesor yang digunakan ketika diberi ukuran

input tertentu. Ini sebenarnya bisa bervariasi dengan media komunikasi yang berbeda dan

 prosesor arsitektur.

Tabel 1: Static heuristik untuk menentukan jumlah prosesor yang menggunakan ukuran input

yang diberikan dalam cluster berbasis MPI mesin Pentium IV

Pengamatan lain yang menarik bahwa orang bisa buat adalah bahwa kecepatan-up

yang diperoleh di Radix-2 algoritma lebih tinggi daripada kecepatan-up diperoleh pada

Radix-4 dan Split Radix algoritma bila menambah jumlah prosesor. Harap dicatat bahwa

sekuensial versi Radix-4 algoritma FFT melakukan lebih baik dibandingkan dengan

Radix Split dan Radix-2 algoritma. Jumlah tahap dalam Radix Split dan Radix-4

 pelaksanaan untuk input berukuran N adalah log2 N bahwa untuk melaksanakan-4 Radix,

itu adalah log4 N. Kedua kami pendekatan parallelizing dibangun pada kenyataan bahwa

 paralelisme meningkat dengan meningkatnya beberapa tahap dan divisi. Juga, Radix-4

dan implementasi Split Radix menggunakan kelas STL untuk secara dinamis menghitung

dan menyimpan divisionto eksekusi dalam setiap tahap, tetapi Radix-2 tidak. Ini juga

 biaya-Radix 4 dan implementasi Split Radix mahal.

4.3. media komunikasi yang berbeda: Myrinet Vs Gigabit Ethernet 

Grafik di bawah ini memberikan perbandingan antara Myrinet dan Gigabit

Ethernet untuk masukan ukuran 16384. Hal ini dapat dilihat bahwa ketika media

8/6/2019 FFT2

http://slidepdf.com/reader/full/fft2 16/19

komunikasi membaik, yang kinerja dari "berkomunikasi  dua kali"  meningkatkan

komunikasi algoritma sangat. Berat pada overhead komunikasi dalam menentukan

kecepatan-up mengurangi.

5. Kesimpulan 

Fast Fourier Transform (FFT) digunakan secara luas di ilmiah, banyak teknik dan

matematika aplikasi. Dalam kasus yang sama, digunakan untuk menganalisis satu set

masukan data yang sangat besar. Oleh karena itu, paralel algoritma FFT yang diinginkan.

Parallelizing dan sederhana sekuensial FFT algoritma akan bermanfaat untuk 

mengendalikan kompleksitas kode dan meminimalkan waktu pelaksanaan proses.

Gambar 13: Myrinet Vs Ethernet: 16384 point FFT Radix-2 menggunakan Berkomunikasi dua

kali Algoritma

Tulisan ini menetapkan bahwa algoritma FFT dapat diparalelkan dan kita juga

dapat mengurangi waktu eksekusi tidak seperti [2]. 'Berkomunikasi dua kali' Algoritma

ini mengurangi waktu eksekusi jauh dari algoritma yang digunakan dalam [2]. Tapi

kompromi rekayasa di sini adalah bahwa itu bukan warga cluster yang baik. Hal ini

meningkatkan beban prosesor. Jadi, secara kumulatif siklus CPU yang digunakan untuk 

operasi lebih tinggi dari algoritma yang lain. Dengan meningkatnya kekuatan pemrosesan

8/6/2019 FFT2

http://slidepdf.com/reader/full/fft2 17/19

 prosesor, ini mungkin berubah menjadi komoditi tertahankan. The heuristik statis dalam

tabel 1 dapat digunakan sebagai panduan perancangan rutinitas FFT cerdas yang secara

otomatis memilih jumlah prosesor yang digunakan.

6. Masa Depan kerja 

Sebuah algoritma FFT paralel "berkomunikasi  dua kali"  diimplementasikan

sedemikian rupa sehingga prosesor melaksanakan operasi kupu-kupu dilakukan pada

semua masukan kepada sesuai divisi dalam setiap tahap. Tapi itu tidak perlu dan

  bukannya melakukan perhitungan untuk mendapatkan kupu-kupu penuh, kita bisa

menghitung hanya setengah kupu-kupu (lihat Gambar 14 di bawah) dan mengurangi

executiontime dan beban CPU oleh setengah di setiap tahap. Ini bisa dicoba dan

dibandingkan juga.

Implementasi yang disajikan dalam makalah ini benar-benar paralel implementasi

yang sangat populer dan kurang matematis menuntut FFT algoritma. Ada juga algoritma

FFT paralel lain yang didasarkan pada matriks dan Kronecker produk seperti pada [3].

Hal ini dapat dipelajari dan paralel versi algoritma dapat diimplementasikan dan kinerja

yang dapat dipelajari. Harap dicatat bahwa algoritma yang telah dijelaskan dalam bagian

3.1.3 menggunakan konsep yang sedikit mirip dengan [3], tetapi tidak mengeksploitasi

 banyak algoritma paralel yang tersedia untuk operasi matriks. Juga, [3] adalah paralel

algoritma FFT dari bawah ke atas.

8/6/2019 FFT2

http://slidepdf.com/reader/full/fft2 18/19

Gambar 14: Konsep kupu-kupu penuh dan setengah dalam aksi ketika prosesor dalam

 pertimbangan perlu menghitung hanya bagian bawah f poin kami dalam tahap akhir. 'b'

menunjukkan bahwa halfs di atas tidak dihitung pada tahap sebelumnya.

Kami juga melihat bahwa salah satu alasan utama yang kita tidak dapat melaksanakan

 pendekatan dalam Bagian 3.1.1 adalah karena jumlah yang signifikan dan komunikasi

non-seragam terlibat dalam sistem MPI. Tapi ini adalah calon yang sangat baik untuk 

diterapkan dalam sistem berbagi memori.

8/6/2019 FFT2

http://slidepdf.com/reader/full/fft2 19/19

7. Referensi 

1. John G. Proakis dan Dimitris G. Manolakis, Pengolahan Sinyal Digital: Prinsip, 

 Algoritma, dan Aplikasi, Third Edition, Prentice Hall, halaman: 448-475

2. Michael Balducci, Ajitha Choudary dan Hamaker Jonathan, Perbandingan 

 Analisis algoritma FFT dan paralel bentuk sequential, Mississippi State

Universitas

3. Herbert Karner dan Christoph W. Ueberhuber, algoritma FFT Paralel dengan 

mengurangi overhead komunikasi, Lembaga Terapan dan Numerik 

Matematika, Technical University of Vienna