presentasi tugas akhir

44
SOLUSI NUMERIK PERSAMAAN DIFUSI NEUTRON PADA TERAS REAKTOR NUKLIR DENGAN METODE ITERASI JACOBI PARALEL MENGGUNAKAN OPENMP Tesis PEMBIMBING : 1. Dr. IMAM TAUFIQ 2.AFDAL, M.Si by : FRANS MADAH BASOARO WAU 1121220008 1

Upload: frans-madah

Post on 21-Jan-2017

79 views

Category:

Science


0 download

TRANSCRIPT

Page 1: 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

Page 2: Presentasi Tugas Akhir

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

Page 3: Presentasi Tugas Akhir

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

Page 4: Presentasi Tugas Akhir

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

Page 5: Presentasi Tugas Akhir

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

Page 6: Presentasi Tugas Akhir

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

Page 7: Presentasi Tugas Akhir

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)

Page 8: Presentasi Tugas Akhir

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 = 𝑆𝑔,𝐼,𝑗

Page 9: Presentasi Tugas Akhir

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 :

Page 10: Presentasi Tugas Akhir

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

Page 11: Presentasi Tugas Akhir

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)

Page 12: Presentasi Tugas Akhir

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

Page 13: Presentasi Tugas Akhir

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

Page 14: Presentasi Tugas Akhir

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…)

Page 15: Presentasi Tugas Akhir

16

Peningkatan kecepatan (SpeedUp) yang diperoleh adalah:

Dengan meng-eliminasi komponen Tserial, didapatkan :

Jika N = ∞, didapatkan :

HUKUM AMDAHL (lanj…)

Page 16: Presentasi Tugas Akhir

17

Untuk penelitian ini, persamaan yang digunakan adalah :

Page 17: Presentasi Tugas Akhir

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.

Page 18: Presentasi Tugas Akhir

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.

Page 19: Presentasi Tugas Akhir

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

Page 20: Presentasi Tugas Akhir

21

Perumusan Masalah Fisis

Jacobi

𝜙𝑖𝑚+1 = − Σj=1n 𝑎𝑖,𝑗𝑎𝑖,𝑖 𝜙𝑗𝑚 + 𝑆𝑖𝑎𝑖,𝑖 ,1 ≤ 𝑖 ≤ 𝑛,𝑚 ≥ 0

Page 21: Presentasi Tugas Akhir

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

Page 22: Presentasi Tugas Akhir

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

Page 23: Presentasi Tugas Akhir

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

Page 24: Presentasi Tugas Akhir

25

)()1(

)()1(

mi

mi

mi

mi

3Speedup

paralel

serial

TTSpeedup

Selesai

Page 25: Presentasi Tugas Akhir

26

BAB IVHASIL DAN PEMBAHASAN

Hasil Proses Benchmarking

Distribusi fluks neutron ke arah radial dan z

Page 26: Presentasi Tugas Akhir

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

Page 27: Presentasi Tugas Akhir

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

Page 28: Presentasi Tugas Akhir

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

Page 29: Presentasi Tugas Akhir

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

Page 30: Presentasi Tugas Akhir

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

Page 31: Presentasi Tugas Akhir

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

Page 32: Presentasi Tugas Akhir

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

Page 33: Presentasi Tugas Akhir

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)

Page 34: Presentasi Tugas Akhir

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

Page 35: Presentasi Tugas Akhir

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

Page 36: Presentasi Tugas Akhir

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

Page 37: Presentasi Tugas Akhir

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

Page 38: Presentasi Tugas Akhir

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

Page 39: Presentasi Tugas Akhir

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

Page 40: Presentasi Tugas Akhir

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

Page 41: Presentasi Tugas Akhir

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.

Page 42: Presentasi Tugas Akhir

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

Page 43: Presentasi Tugas Akhir

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

Page 44: Presentasi Tugas Akhir

45

TERIMA KASIH