Download - Presentasi Tugas Akhir
1
SOLUSI NUMERIK PERSAMAAN DIFUSI NEUTRON PADA TERAS REAKTOR NUKLIR
DENGAN METODE ITERASI JACOBI PARALELMENGGUNAKAN OPENMP
Tesis
PEMBIMBING : 1. Dr. IMAM TAUFIQ
2.AFDAL, M.Si
by :FRANS MADAH BASOARO WAU
1121220008
2
BAB IPENDAHULUAN
Latar BelakangPerhitungan difusi neutron di teras reaktor dilakukan secara berulang-ulang (mis : analisis burnup bahan bakar dalam jangka panjang), sehingga memakan waktu yang cukup lama
Diperlukan ‘sesuatu’ yang dapat membantu mempercepat
perhitungan difusi neutron tersebut
SOLUSI : Sebuah program pemercepat perhitungan
1
4
Kecenderungan perkembangan arsitektur prosesor menuju multicoreprocessor (dual core, quad core):1. Kecepatan clock sebuah prosesor yang
terbatas2. Efesiensi energi
2
Untuk memanfaatkan semua prosesor yang ada, algoritma program tersebut harus paralel
5
TUJUAN PENELITIAN1. Membuat kode program untuk
perhitungan persamaan difusi neutron dengan metode paralel menggunakan iterasi Jacobi pada OpenMP
2. Menganalisis kinerja paralelisasi dari program tersebut
MANFAAT PENELITIANDengan dihasilkannya kode program ini, diharapkan dapat membantu mempercepat perhitungan persamaan difusi neutron yang akhirnya juga dapat membantu perhitungan analisis reaktor nuklir
BAB IITINJAUAN PUSTAKA
Berhasil menjalankan program komputasi paralel untuk perhitungan konstanta grup nuklir, penggunaan fast ethernet dengan kecepatan maksimum 100 Mbps masih mampu meningkatkan kinerja paralelisasi mengingat bahwa saat itu yang digunakan adalah prosesor dengan frekuensi clock CPU pada orde ratusan MHz.Berhasil melakukan paralelisasi perhitungan burnup bahan bakar pada reaktor cepat dengan bahan bakar UN-PuN dengan pendingin Pb-Bi. Hasilnya menunjukkan bahwa dengan menggunakan Intel TBB dan C++ telah berhasil dicapai speedup pada PC dengan prosesor quad-core sebesar 3,58 dan skalabilitas program dipenuhi.Juga berhasil menyusun kode program perhitungan persamaan difusi neutron 2-dimensi dengan metode Jacobi yang ditulis dalam bahasa C++ dan intel TBB. Hasil yang didapatkan, untuk prosesor intel i5 2320 3GHz, didapatkan speedup tertinggi sebesar 3,09, sedangkan untuk intel atom N550 didapatkan speedup tertinggi yaitu 1,51.
Su’ud2001
Taufiq2010
Sastri2011
6
7
PERHITUNGAN DISTRIBUSI NEUTRON
Gambar 1 : Geometri teras reaktor
berbentuk silinder
Diasumsikan bahan bakar berbentuk simetris radial, shg perhitungan dilakukan dengan menggunakan koordinat silinder 2-dimensi (r,z).
Bagian teras reaktor yang ditinjau dibagi menjadi bagian-bagian kecil yang disebut mesh spasial yang posisinya ditandai dengan indeks (i,j).
Dengan nilai i = 1, 2, ..., i-1, i dan j = 1, 2, ..., j-1, j
8
PERHITUNGAN DISTRIBUSI NEUTRON (lanj…)
−∇ሬሬԦ.𝐷𝑔ሺ𝑟Ԧሻ∇ሬሬԦ𝜙𝑔ሺ𝑟Ԧሻ+ Σ𝑟,𝑔ሺ𝑟Ԧሻ𝜙𝑔ሺ𝑟Ԧሻ= 𝜒𝑔𝑘𝑒𝑓𝑓 𝜈Σ𝑓,𝑔′
𝐺𝑔′=1 ሺ𝑟Ԧሻ𝜙𝑔′ሺ𝑟Ԧሻ+ ሺ𝑟Ԧሻ𝑠,𝑔′→𝑔
𝐺𝑔′=1 𝜙𝑔′ሺ𝑟Ԧሻ
Persamaan transport neutron dapat diselesaikan dengan menggunakan persamaan difusi neutron multigrup (Stacey, 2004)
Dengan :g dan g’ = nomor grup neutronxg = probabilitas bahwa neutron hasil fisi mempunyai energi dalam daerah grup gD = tetapan difusiΦ = fluks neutronΣr = tampang lintang removal makroskopikΣf = tampang lintang fisi mikroskopikkeff = faktor multiplikasiΣs,g’→g = probabilitas neutron dari grup g’ terhambur ke grup g (group-transfer cross section)
9
PERHITUNGAN DISTRIBUSI NEUTRON (lanj…)Persamaan difusi neutron multigrup diintegrasi terhadap ruang dan waktu, menghasilkan :−𝛾𝑔,1,𝑗𝜙𝑔,𝑖,𝑗−1 +ቀ𝛽𝑔,1,𝑗 − 𝛼𝑔,1,𝑗ቁ𝜙𝑔,1,𝑗 − 𝛼𝑔,𝑖,𝑗𝜙𝑔,0,𝑗−𝛾𝑔,1,𝑗+1𝜙𝑔′,1,𝑗+1 = 𝑆𝑔,1,𝑗
Persamaan di atas ini, disusun dalam sebuah matriks sparse pentadiagonal, shg menjadi : SA
SA 1
Jika matriks A merupakan matriks non-singular maka penyelesaian Persamaan diatas adalah (Varga, 2009)
𝛼𝑔,𝑖,1𝜙𝑔,𝐼−1,1 + 𝛽𝑔,𝑖,1𝜙𝑔,𝑖,1 − 𝛼𝑔,𝑖,1𝜙𝑔,𝐼+1,1−𝛾𝑔,𝑖,2𝜙𝑔,𝑖,2 = 𝑆𝑔,𝑖,1
−𝛾𝑔,𝑖,𝐽𝜙𝑔,𝑖,𝐽−1 − 𝛼𝑔,𝑖,𝐽𝜙𝑔,𝑖−1,𝐽 + 𝛽𝑔,𝑖,𝐽𝜙𝑔,𝑖,𝐽 − 𝛼𝑔,𝑖,𝐽𝜙𝑔,𝐼+1,𝐽 = 𝑆𝑔,𝑖,𝐽
−𝛾𝑔,𝐼,𝑗𝜙𝑔,𝐼,𝑗−1 − 𝛼𝑔,𝐼,𝑗𝜙𝑔,𝐼−1,,𝑗 + 𝛽𝑔,𝐼,𝑗𝜙𝑔,𝐼,𝑗−𝛾𝑔,𝐼,𝑗+1𝜙𝑔,1,𝑗+1 = 𝑆𝑔,𝐼,𝑗
10
Metode langsung : adalah metode yang prinsip kerjanya adalah operasi eliminasi dan subtitusi sehingga dapat terbentuk matriks segitiga atas dan diselesaikan menggunakan teknik substitusi balikContoh : eliminasi Gauss (EG), eliminasi Gauss-Jordan (EGJ), dekomposisi LU (DECOLU) dan solusi sistem tridiagonal (S3DIAG)
Metode tak langsung (iteratif) : Metode iteratif ini juga menawarkan efesiensi penggunaan memori untuk perhitungan sparse matris dan fleksibilitas tingkat hasil perhitunganContoh : Jacobi, Gauss-Seidel, dan Successive Over Relaxation (SOR)
METODE PENYELESAIAN NUMERIK :
11
PERBANDINGAN METODE JACOBI, GAUSS-SEIDEL DAN SOR
Jacobi
Gauss-Seidel
SOR
𝜙𝑖𝑚+1 = − Σj=1n 𝑎𝑖,𝑗𝑎𝑖,𝑖 𝜙𝑗𝑚 + 𝑆𝑖𝑎𝑖,𝑖 ,1 ≤ 𝑖 ≤ 𝑛,𝑚 ≥ 0
𝜙𝑖𝑚+1 = − ቆ𝑎𝑖,𝑗𝑎𝑖,𝑖ቇ𝜙𝑗𝑚+1 − ቆ
𝑎𝑖,𝑗𝑎𝑖,𝑖ቇ𝜙𝑗𝑚 + 𝑆𝑖𝑎𝑖,𝑖𝑛𝑗=𝑖+1
𝑖−1𝑗=1 ,1 ≤ 𝑖 ≤ 𝑛,𝑚≥ 0
𝜙𝑗𝑚+1 = ሺ1− 𝜔ሻ𝜙𝑗𝑚 + 𝜔𝜙෨𝑖𝑚+1
𝜙෨𝑖𝑚+1 = − ቆ𝑎𝑖,𝑗𝑎𝑖,𝑖ቇ𝜙𝑗𝑚+1 − ቆ
𝑎𝑖,𝑗𝑎𝑖,𝑖ቇ𝜙𝑗𝑚 + 𝑆𝑖𝑎𝑖,𝑖𝑛𝑗=𝑖+1
𝑖−1𝑗=1
12
KOMPUTASI PARALEL
Komputasi paralel adalah proses atau pekerjaan komputasi di komputer, dengan memakai suatu bahasa pemrograman yang dijalankan secara paralel pada saat bersamaan
PRINSIP DASAR KOMPUTASI PARALELMelakukan proses komputasi dengan
menggunakan 2 atau lebih CPU/Processor dalam suatu komputer yang sama atau komputer yang
berbeda (cluster of PCs)
13
Perbandingan antara komputasi serial dan
komputasi paralel
SERIAL
PARALEL
tugas komputasi dibagi-bagi menjadi bagian-bagian yang
lebih kecil dan mengumpankannya
kepada prosesor secara berurutan
tugas komputasi dibagi-bagi menjadi
dibagi kedalam beberapa instruksi
kemudian dikirim ke prosesor yang tersedia dan
eksekusi dilakukan secara serentak
14
HUKUM AMDAHL
Amdahl : ada bagian kecil dari sebuah program yang tidak dapat lagi diparalelkan, akan membatasi peningkatan kecepatan yang dapat dicapai dari paralelisasi secara keseluruhan.
Jika dimisalkan :
• α : bagian yg tidak dapat diparalelkan•Tserial : waktu komputasi secara serial
Maka waktu komputasi yang tidak akan terpengaruh oleh bertambahnya komputer yang digunakan adalah : α x Tserial
15
Sedangkan waktu yang akan berkurang bila menggunakan N buah prosesor adalah :
Sehingga waktu total (Tparalel) yang digunakan untuk menjalankan pekerjaan dengan N buah prosesor adalah jumlah semua waktu yang digunakan :
HUKUM AMDAHL (lanj…)
16
Peningkatan kecepatan (SpeedUp) yang diperoleh adalah:
Dengan meng-eliminasi komponen Tserial, didapatkan :
Jika N = ∞, didapatkan :
HUKUM AMDAHL (lanj…)
17
Untuk penelitian ini, persamaan yang digunakan adalah :
18
OpenMP (Open Multi-Processing) adalah program aplikasi antarmuka (application programming interface/API) yang mendukung kegiatan yang penggunaan memorinya digunakan dalam waktu yang bersamaan.Sejarah OpenMP dimulai dari diterbitkannya API pertama untuk Fotran 1.0 pada Oktober 1997 oleh OpenMP Architecture Review Board (ARB). Oktober tahun berikutnya OpenMP Architecture Review Board (ARB) merilis standart C / C++. Pada tahun 2000 mengeluarkan versi 2.0 untuk fotran dan poda tahun 2002 dirilis versi 2.0 untuk C / C++. Pada tahun 2005 dirilis versi 2.5 yang merupakan penggabungan fotran, C, dan C++/ pada mei 2008 versi 3.0.
19
BAB IIIMETODOLOGI RISET
Laboratorium Komputer Jurusan Fisika Universitas Andalas, dimulai dari bulan Januari 2013
Waktu dan Lokasi Penelitian
Pengetikan Kode ProgramMenggunakan bahasa C++ pada Microsoft Visual Studio 2010 Ultimate dengan menggunakan OpenMP 2.0 yang telah terintegrasi di dalamnya.
20
PROSEDUR PENELITIAN
Penulisan kode program difusi Jacobi serial
Debugging
Benchmarking dengan FI-ITBCHI
Kode paralel sederhana dengan OpenMP
Kode program Jacobi yang paralel
Debugging
Benchmarking dengan versi serial
SERIAL PARALEL
ANALISIS KINERJA PARALELISASI
a. Analisis dengan OpenMP
b. Analisis dengan Intel TBB
21
Perumusan Masalah Fisis
Jacobi
𝜙𝑖𝑚+1 = − Σj=1n 𝑎𝑖,𝑗𝑎𝑖,𝑖 𝜙𝑗𝑚 + 𝑆𝑖𝑎𝑖,𝑖 ,1 ≤ 𝑖 ≤ 𝑛,𝑚 ≥ 0
22
Dalam menjalankan program, menggunakan 2 buah komputer dengan spesifikasi yang berbeda.
Komputer pertama yaitu komputer yang menggunakan Intel core i3 3120M, 2 core dengan kecepatan 2,50 GHz, cache memory 3Mb, tipe memori DDR3, ukuran memori 6 GB.
Komputer kedua menggunakan Intel core i7 3770, 4 core, kecepatan 3,40 GHz, cache memory 8Mb, tipe memori DDR3, ukuran memori 4 GB
Peralatan Penelitian
Prosedur Perhitungan
Flowchart
23
Mulai
Inisialisasi nilai Ф(o),keff(o)
Penyusunan matriks pentadiagonal
Perhitungan secara serial
Tserial (0)
Perhitungan suku sumber
Perhitungan Φ baru
)()1(
)()1(
mi
mi
mi
mi
1
Perhitungan Keff
Keff konfergen ?
Ya
Tidak
Ya
Tidak
2
24
Fluks neutron, faktor multiplikasi (serial), tserial
Perhitungan secara paralel
Tparalel (0)
Perhitungan suku sumber
Perhitungan Φ baru
)()1(
)()1(
mi
mi
mi
mi
2
Perhitungan Keff
Keff konfergen ?
Ya
Tidak
Ya
Tidak
Fluks neutron, faktor multiplikasi (paralel),
tparalel
3
25
)()1(
)()1(
mi
mi
mi
mi
3Speedup
paralel
serial
TTSpeedup
Selesai
26
BAB IVHASIL DAN PEMBAHASAN
Hasil Proses Benchmarking
Distribusi fluks neutron ke arah radial dan z
27
NoFluks Neutron cepat (grup ke-8)C++ dan OpenMP FI-ITBCHI
1 0.1131181893 0.1131181435
2 0.1131195982 0.1131195768
3 0.1131228999 0.1131228965
4 0.1131292468 0.1131292354
5 0.1131409031 0.11314091316 0.1131621237 0.11316213267 0.1132008272 0.11320086758 0.1132717416 0.11327178659 0.1134023149 0.1134023124
10 0.1136438312 0.1136438653
Perbandingan nilai fluks untuk grup ke-8 pada arah-z
28
11 0.1140923441 0.1140923857
12 0.1149281677 0.1149281893
13 0.11649048 0.116490421
14 0.119418455 0.119418497
15 0.1249185874 0.1249185853
16 0.1352716249 0.1352716121
17 0.1547948876 0.1547948164
18 0.191670834 0.19167089
19 0.2652663843 0.2652663865
20 0.3013861269 0.3013861153
29
21 0.3183256454 0.3183256545
22 0.326415672 0.326415665
23 0.3305578411 0.3305578673
24 0.3332280241 0.3332280013
25 0.3359726427 0.3359726415
26 0.3403146061 0.3403146714
27 0.3486065429 0.3486065167
28 0.3653142076 0.3653142086
29 0.398382275 0.398382209
30 0.4131312655 0.4131312977
30
31 0.4187450118 0.4187450215
32 0.4183964376 0.4183964865
33 0.4120964461 0.4120964876
34 0.3968014015 0.3968014243
35 0.3649431718 0.3649431987
36 0.3006734796 0.3006734153
37 0.1186721414 0.1186721657
38 0.03980231912 0.0398023187
39 0.01335426204 0.01335426143
40 0.004482038657 0.004482038875
31
41 0.001504763802 0.001504763176
42 0.0005053490706 0.0005053490153
43 0.0001697613581 0.0001697613985
44 0.00005704330857 0.0000570433678
45 0.0000191727196 0.0000191727053
46 0.000006445711853 0.000006445711856
47 0.000002167512122 0.000002167512942
48 0.0000007290398868 0.0000007290398841
49 0.0000002452652658 0.0000002452652854
50 0.00000008253002119 0.0000000825300534
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 490.00
0.05
0.10
0.15
0.20
0.25
0.30
0.35
0.40
0.45 Perbandingan distribusi fluks neutron pada C++ dan OpenMP dengan FI-ITBCHI
FI-ITBCHI
C++ dan OpenMP
Nomor mesh
fluks
33
0 20 40 60 80 100 1200.80
0.90
1.00
1.10
1.20Pola Iterasi Jacobi
Iterasi ke-
keff
Kekonvergenan didapatkan setelah mencapai iterasi ke-114
34
Hasil Analisis Speedup
No
Jumlah thread yang digunakan
Speedup yang dihasilkan
1 1 0.992 2 1.283 3 1.114 4 1.04
1. Komputer i3 3120M 2,5 GHz (2 core)
351 2 3 4
0.00
0.20
0.40
0.60
0.80
1.00
1.20
1.40
Thread Vs SpeedUp
Jumlah Thread
Spee
dUp
36
2. komputer i7 3770 3,4 GHz (4 core)
No Jumlah thread yang digunakan
Speedup yang dihasilkan
1 1 1.032 2 1.313 3 1.434 4 1.535 5 1.316 6 0.947 7 0.888 8 0.73
37
1 2 3 4 5 6 7 80.00
0.20
0.40
0.60
0.80
1.00
1.20
1.40
1.60
1.80Thread Vs SpeedUp
Jumlah Thread
Spee
dUp
38
1 2 3 40.000.200.400.600.801.001.201.401.601.80
Jumlah Core Vs SpeedUp
Jumlah Core
Spee
dUp
Hubungan antara jumlah core dan speedup yang dihasilkan pada OpenMP
39
0 1 2 3 4 50
1
2
3
4
Grafik Skalabilitas
jumlah core
speedup
Hubungan antara jumlah core dan speedup yang dihasilkan pada Intel TBB
40
Secara umum, speedup hasil paralelisasi dari OpenMP kurang begitu baik jika dibandingkan dengan hasil paralelisasi menggunakan Intel TBB, hal ini dapat dilihat pada grafik skalabilitas untuk OpenMP dan Intel TBB bahwa speedup paralelisasi menggunakan Intel TBB lebih tinggi dibandingkan dengan menggunakan OpenMP
41
BAB VKESIMPULAN DAN SARAN
Kode program perhitungan distribusi neutron telah berhasil disusun dalam bahasa C++ dan OpenMP. Hasil benchmarking dengan program FI-ITBCHI menunjukkan bahwa kode yang ditulis menghasilkan keluaran fluks yang valid dengan tingkat kesamaan hingga 6 angka penting. Nilai speedup tertinggi dicapai dengan menggunakan jumlah thread yang sama dengan jumlah core pada prosesor. Speedup tertinggi untuk komputer yang menggunakan prosesor i3 3120M 2,5 GHz (2core) sebesar 1,28, sedangkan untuk komputer yang menggunakan prosesor i7 3770 3,4 GHz (4 core) sebesar 1,53.
KESIMPULAN
42
SARAN
Perlu dikembangkan metode lain agar speedup yang dihasilkan lebih baik lagi, sehingga dapat membantu mempercepat perhitungan persamaan difusi neutron pada teras reaktor yang akhirnya juga dapat membantu perhitungan analisis reaktor nuklir.
43
DAFTAR KEPUSTAKAAN
Chapman, B., Jost, G., Pas, R., 2008, Using OpenMP, The MIT Press, Cambridge, Massachusetts, London, England
Duderstadt, J.J., dan Hamilton, L.J., 1976 , Nuclear Reactor Analysis, Jhon Wiley & Son Inc, Canada
Grama, A., Gupta, A., Karypis, G., dan Kumar, V., 2003, Introduction to Parallel Computing, 2nd.ed., Addison Wesley, Reading, MA., 72-76
Joe, D., 2001. Numerical Methos for Engineers and Scientists, 2nd.ed., Department of Mechanical Engineering Purdue University, West Lafayette, Indiana, New York
Reinders, J., 2007, Intel Threading Building Blocks: Outfitting C++ for Multi-core Processor Parallelism, O’reilly,Sebastopol,14-30.
Stacey, W. M., 2001, Nuclear Reactor Physics, Jhon Wiley & Son Inc, Canada
Su’ud, Z., 2001, Komputasi Paralel dalam Analisa Reaktor Nuklir, Seminar Komputasi 2001, Bandung
44
Sastri, F., 2011, Komputasi Paralel Persamaan Difusi Neutron Pada Reaktor Cepat Menggunakan Iterasi Jacobi, Skripsi S1, Jurusan Fisika FMIPA UNAND, Padang
Taufiq, I., 2010, Komputasi Paralel Persamaan Burnup Pada Reaktor Cepat dengan Pendingin Pb-Bi Menggunakan Pemrograman Multicore, Disertasi S3, Jurusan Fisika FMIPA ITB, Bandung
Varga, R. S., 2009, “ Matrix Iterative Analysis”, Springer Heidelberg Dordrecht London, New York
https://computing.llnl.gov/tutorials/parallel_comp/, diakses Januari 2013
http://openmp.org/wp/, diakses Januari 2013
http://www.intel.com/content/www/us/en/architecture-and-technology/hyper-threading/hyper-threading-technology.html, diakses Desember 2013
45
TERIMA KASIH