• Tidak ada hasil yang ditemukan

AES pipeline yang diharapkan. Implementasinya akan menggunakan prosedur komunikasi MPI point-to-point send-receive untuk aliran proses penyandian.

N/A
N/A
Protected

Academic year: 2021

Membagikan "AES pipeline yang diharapkan. Implementasinya akan menggunakan prosedur komunikasi MPI point-to-point send-receive untuk aliran proses penyandian."

Copied!
11
0
0

Teks penuh

(1)

Studi Pustaka

Kegiatan yang dilakukan pada tahap ini adalah mengumpulkan semua informasi atau literatur yang terkait dengan penelitian. Informasi tersebut didapat dari buku, internet, dan artikel yang membahas tentang algoritme AES dan pemrosesan paralel.

Analisis Algoritme AES Sekuensial

Analisis algoritme yang dilakukan pada tahap ini adalah analisis kompleksitas waktu asimptotik dan penghitungan waktu eksekusi AES sekuensial yang diharapkan.

Implementasi Algoritme AES Sekuensial

Algoritme AES sekuensial

diimplementasikan dengan menggunakan bahasa pemrograman C. Algoritme utama AES dibagi menjadi tiga bagian yaitu ekspansi kunci, enkripsi, dan dekripsi.

Penerapan Metode Foster ke Algoritme AES Domain Decomposition

Metode yang digunakan untuk implementasi algoritme AES secara paralel pada penelitian ini adalah metode Foster dengan tahapan partisi, komunikasi, aglomerasi, dan pemetaan. Tahapan partisi dilakukan secara domain decomposition.

Analisis dan Implementasi Algoritme AES Paralel Domain Decomposition

Analisis algoritme yang dilakukan pada tahap ini adalah analisis kompleksitas waktu asimptotik dan penghitungan waktu eksekusi AES paralel domain decomposition yang diharapkan. Implementasinya akan menggunakan prosedur komunikasi MPI kolektif scatter/scatterv dan gather/gatherv untuk pendistribusian data.

Penerapan Metode Foster ke Algoritme AES Pipeline

Metode yang digunakan untuk implementasi algoritme AES secara paralel pada penelitian ini adalah metode Foster dengan tahapan partisi, komunikasi, aglomerasi dan pemetaan. Tahapan partisi dilakukan secara functional decomposition. Fungsi yang dipecah adalah komputasi-komputasi penyusun enkripsi atau dekripsi AES dan komputasi ekspansi kunci AES.

Analisis dan Implementasi Algoritme AES

Pipeline

Analisis algoritme yang dilakukan pada tahap ini adalah analisis kompleksitas waktu asimptotik dan penghitungan waktu eksekusi

AES pipeline yang diharapkan. Implementasinya akan menggunakan prosedur komunikasi MPI point-to-point send-receive untuk aliran proses penyandian.

Perancangan Percobaan

Parameter-parameter yang dibutuhkan untuk percobaan ditentukan pada tahap ini. Parameter-parameter tersebut antara lain: 1 Jenis algoritme.

2 Jenis perlakuan. 3 Ukuran file masukan. 4 Jumlah prosesor dan proses. 5 Performace metrics.

6 Perangkat keras dan perangkat lunak.

Percobaan

Waktu enkripsi dan dekripsi dari implementasi AES secara sekuensial dan paralel akan dicatat pada tahap ini.

Analisis Kinerja

Waktu eksekusi algoritme AES sekuensial akan ditentukan pada tahap ini. Kedua algoritme AES paralel akan ditentukan waktu eksekusi, speedup, efisiensi, cost, dan overhead. Waktu eksekusi kedua algoritme AES paralel akan dibandingkan dengan waktu eksekusi algoritme paralel yang diharapkan dan waktu eksekusi algoritme sekuensial.

HASIL DAN PEMBAHASAN Analisis Algoritme AES Sekuensial

Proses enkripsi dan dekripsi AES diketahui memiliki kompleksitas pada lingkup O(n) (Giri 2004). Proses enkripsi file pada AES sekuensial diawali dengan membangkitkan 176 bytes kunci-kunci ekspansi melalui proses ekspansi kunci. Selanjutnya file dibagi-bagi ke dalam tiap blok berukuran 128 bit, kemudian setiap blok dioperasikan dengan operasi seperti pada Gambar 3. Proses ini akan terus diulangi sampai semua blok file selesai diproses. Proses dekripsi file pada AES sekuensial memiliki pola yang hampir sama dengan proses enkripsi. Perbedaannya terletak pada jenis operasinya.

Waktu eksekusi enkripsi dan dekripsi AES sekuensial harapan dirumuskan pada Persamaan 5 dan 6.

TSEH = x1 + x2 + A + n(B) (5)

(2)

Keterangan :

TSEH : waktu eksekusi enkripsi sekuensial harapan

TDEH : waktu eksekusi dekripsi sekuensial harapan

x1 : waktu yang dibutuhkan untuk

membaca suatu data masukan

x2 : waktu yang dibutuhkan untuk menulis

data keluaran n : banyak blok

A : waktu yang dibutuhkan untuk melakukan ekspansi kunci B : waktu yang dibutuhkan untuk

melakukan enkripsi satu blok data C : waktu yang dibutuhkan untuk

melakukan dekripsi satu blok data Variabel pendukung dan waktu eksekusi harapan untuk enkripsi dan dekripsi algoritme AES sekuensial disajikan dalam Lampiran 1.

Gambar 13 Algoritme enkripsi AES sekuensial.

Implementasi Algoritme AES Sekuensial Proses enkripsi dan dekripsi pada penelitian ini menggunakan bahasa pemrograman C, kompilator GCC, dan library MPICH2 yang digunakan untuk memakai fungsi perhitungan waktu eksekusi karena implementasi AES paralel juga menggunakan fungsi yang sama sehingga perbandingannya akan sederajat. Algoritme enkripsi AES sekuensial pada penelitian ini dijelaskan pada Gambar 13.

Algoritme dekripsi AES sekuensial hampir sama dengan enkripsi AES sekuensial. Perbedaannya terletak pada jenis operasinya dan proses unpadding dilakukan di akhir sebelum hasil dekripsi disimpan ke file. Implementasi algoritme AES sekunsial dapat dilihat pada Lampiran 2.

Penerapan Metode Foster ke Algoritme AES Paralel Domain Decomposition

Metode yang digunakan untuk implementasi algoritme AES secara paralel adalah metode Foster. Tahapan dari metode foster yaitu:

1 Partisi

Jenis partisi yang dilakukan pada algoritme ini adalah domain decomposition. File plaintext akan dipecah menjadi blok-blok data berukuran 16 byte. Setiap blok data akan ditangani oleh satu proses, sehingga untuk n blok data akan membutuhkan n proses. Ilustrasi partisi algoritme AES paralel domain decomposition ditunjukkan pada Gambar 14.

Gambar 14 Ilustrasi partisi algoritme AES paralel domain decomposition. 2 Komunikasi

Proses master (root) akan mengirim blok-blok data kepada setiap proses untuk dienkripsi dengan menggunakan komunikasi kolektif (scatter). Hasil enkripsi tiap proses akan dikumpulkan kembali ke root juga dengan menggunakan koleksi komunikatif (gather). n blok data akan membutuhkan 2 kali komunikasi dan

n buah proses. Ilustrasi komunikasi

(3)

decomposition ditunjukkan pada Gambar 15.

Gambar 15 Ilustrasi komunikasi algoritme AES paralel domain decomposition 3 Aglomerasi

Aglomerasi dilakukan untuk mengurangi komunikasi dan kebutuhan proses agar menjadi lebih efisien. Tiap proses (p) akan menangani n/p blok data. Komunikasi kolektif digunakan untuk meminimalkan komunikasi sehingga hanya membutuhkan sekali scatter untuk pendistribusian data dan sekali gather untuk pengumpulan data. Ilustrasi aglomerasi algoritme AES paralel domain decomposition ditunjukkan pada Gambar 16.

Gambar 16 Ilustrasi aglomerasi algoritme AES paralel domain decomposition 4 Pemetaan

Setiap proses akan mengerjakan tugas yang sama namun dengan data masukan yang berbeda-beda. Jika n mod p != 0, jumlah blok data yang dikerjakan oleh tiap proses ada yang sebesar dan ada juga yang sebesar . Jika s = n mod p, blok data akan dipetakan ke s proses pertama sedangkan sisa proses lainnya akan dipetakan blok data.

Analisis dan Implementasi Algoritme AES Paralel Domain Decomposition

Algoritme ini membagi langsung semua data masukan ke setiap proses. Setiap proses akan membangkitkan kunci-kunci ekspansi dan melakukan enkripsi atau dekripsi terhadap data masukan yang telah dibagi-bagi tersebut. Terakhir, data hasil enkripsi atau dekripsi dikumpulkan di satu proses untuk kemudian dicetak.

Broadcast diketahui memiliki kompleksitas Ɵ (log p), sedangkan scatter dan gather Ɵ (n + log p) (Quinn 2004). Algoritme ini dalam proses komunikasinya melakukan tiga kali broadcast, sekali scatter dan sekali gather. Ekspansi kunci memiliki kompleksitas waktu asimptotik O(1). Untuk perhitungan enkripsi atau dekripsi tiap proses akan melakukan iterasi sebanyak n/p kali. Jika diasumsikan proses pembacaan data masukan dan penulisan data keluaran diabaikan dalam analisis perhitungan kompleksitas waktu asimptotiknya, total kompleksitas waktunya adalah:

Ɵ (n/p + 2n + 5log p) Keterangan:

p : jumlah proses yang dibangkitkan

Jika λ adalah waktu yang dibutuhkan untuk mengirim sebuah pesan dan β (bandwidth) adalah jumlah data yang dapat dikirim dalam satu waktu, maka waktu yang dibutuhkan untuk melakukan suatu broadcast adalah

λ log p

Scatter atau gather data berukuran 16 byte membutuhkan waktu

λ log p + 16n (p-1) / (βp)

Waktu eksekusi harapan enkripsi dan dekripsi yang diharapakan untuk algoritme AES paralel domain decomposition ini dapat dirumuskan melalui Persamaan 7 dan 8.

Tp1He = x1+x2+A+ B + 5λlog p + 32n

(7) Tp1Hd = x1+x2+ A+ C+ 5λlog p + 32n (8)

(4)

Keterangan :

Tp1He : Waktu eksekusi harapan enkripsi AES paralel domain decomposition Tp1Hd : Waktu eksekusi harapan dekripsi AES

paralel domain decomposition

Nilai λ diperoleh dari menghitung waktu rata-rata yang dibutuhkan untuk menyelesaikan 1000 kali proses send-receive data sebesar satu byte. Percobaan ini menggunakan Fast Ethernet sehingga nilai β adalah 12,5 x 106 byte/detik.

Gambar 17 Algoritme enkripsi AES paralel domain decomposition

Variabel pendukung dan waktu eksekusi harapan untuk enkripsi dan dekripsi algoritme AES paralel domain decomposition disajikan dalam Lampiran 1. Algoritme enkripsi AES paralel domain decomposition pada penelitian ini dijelaskan pada Gambar 17.

Algoritme dekripsi AES paralel hampir sama dengan enkripsi AES paralel. Perbedaannya terletak pada jenis operasinya dan proses unpadding dilakukan di akhir sebelum hasil dekripsi disimpan ke file. Implementasi algoritme AES paralel domain decomposition dapat dilihat di Lampiran 3. Penerapan Metode Foster ke Algoritme AES Pipeline

Tahapan metode Foster yang digunakan dalam menyusun algoritme ini adalah: 1 Partisi

Jenis partisi yang dilakukan pada algoritme ini adalah functional decomposition. Komputasi AES akan dipecah menjadi komputasi-komputasi penyusun dasarnya. Diketahui enkripsi AES terdiri atas dua komputasi utama yaitu ekspansi kunci dan enkripsi itu sendiri.

Ekspansi kunci tersusun atas empat buah komputasi, yaitu: RotWord, SubWord, dan dua buah proses bitwise XOR. Secara lengkap ekspansi kunci tersusun dari 10 RotWord, 10 SubWord, dan 50 bitwise XOR. Terdapat 70 komputasi dalam ekspansi kunci.

Enkripsi utama AES tersusun atas empat buah komputasi yaitu: SubBytes, ShiftRows, MixCol, AddRoundKey. Secara lengkap, enkripsi AES tersusun atas: 11 AddRoundKey, 10 SubBytes, 10 ShiftRows, dan 9 MixColumns. Terdapat 40 komputasi dalam enkripsi AES. Tiap komputasi akan ditangani satu proses sehingga untuk n blok data dibutuhkan 40 proses untuk ekspansi kunci dan 40 proses untuk enkripsi/dekripsi. Ilustrasi partisi algoritme AES pipeline ditunjukkan pada Gambar 18.

Gambar 18 Ilustrasi partisi algoritme AES pipeline.

(5)

2 Komunikasi

Setiap proses akan mengolah blok data masukan sesuai dengan komputasi bagiannya. Jika suatu proses telah selesai melakukan komputasi untuk suatu blok data, blok data tersebut akan dikirim ke proses selanjutnya dan proses tersebut akan menerima masukan berikutnya. Jenis komunikasi yang digunakan adalah komunikasi point-to-point. Untuk n blok data, dibutuhkan 110 proses dan komunikasi sebanyak 39n kali untuk enkripsi atau dekripsi, 69 kali untuk ekspansi kunci, dan 40 kali untuk pengiriman kunci ekspansi ke tiap proses

yang menangani komputasi

AddRoundKey. Ilustrasi komunikasi algoritme AES pipeline ditunjukkan pada Gambar 19.

Gambar 19 Ilustrasi komunikasi algoritme AES pipeline.

3 Aglomerasi

Aglomerasi pada ekspansi kunci dilakukan karena ekspansi kunci tidak tergantung pada besarnya data masukan dan memiliki waktu komputasi yang kecil, sehingga komputasi ekspansi kunci tidak akan dipecah.

Gambar 20 Ilustrasi aglomerasi algoritme AES pipeline.

Aglomerasi pada enkripsi utama AES dilakukan tergantung pada jumlah proses yang dibangkitkan. Pada dasarnya, algoritme AES pipeline membagi enkripsi AES ke dalam tiga kelompok komputasi yang dijelaskan pada Gambar 20.

Jika proses yang dibangkitkan dua, Komputasi 2 dan Komputasi 3 digabung. Jika proses yang dibangkitkan tiga, pengelompokkan komputasi tidak berubah. Jika proses yang dibangkitkan lima, Komputasi 2 akan dipecah menjadi tiga pecahan yang akan melakukan tiga iterasi yang tiap iterasinya terdiri atas empat buah komputasi yang dilaksanakan secara berturut-turut, yaitu: SubBytes, ShiftRows, MixCol, dan AddRoundKey.

4 Pemetaan

Setiap proses akan melakukan komputasi yang berbeda-beda. Komputasi 1 akan dilakukan oleh proses root, Koputasi 3 akan dikerjakan oleh proses p-1, sedangkan Komputasi 2 akan dikerjakan sisa proses lainnya.

Analisis dan Implementasi Algoritme AES

Pipeline

Satu blok data membutuhkan p-1 pasang komunikasi send-receive. Maka untuk menyelesaikan seluruh komputasi bagi seluruh data dibutuhkan n(p-1) pasang komunikasi send-receive. Sepasang komunikasi send-receive membutuhkan waktu

λ sehingga total kebutuhan waktu komunikasi

point-to-point adalah λn(p-1)

Komunikasi global yang dilakukan ada dua buah broadcast, sehingga total kebutuhan waktu komunikasi global adalah

2λ (log p)

Total waktu komunikasi algoritme AES pipeline harapan dirumuskan dalam Persamaan 9.

Tcpi = λn(p-1) + 2λ (log p) (9)

Keterangan:

Tcpi : waktu komunikasi AES pipeline harapan

Proses pengiriman data menggunakan komunikasi blocking. Jadi, secara otomatis, tiap proses akan saling menunggu sampai data benar-benar terkirim. Sehingga waktu

(6)

komputasi terbesar di suatu proses akan mempengaruhi waktu komputasi keseluruhan.

Jika p = 2, waktu komputasi total enkripsi dan dekripsi AES pipeline harapannya dirumuskan dalam Persamaan 10 dan 11.

Tp22He = x1 + x2 + A + d + n(9D + E) + Tcpi(10)

Tp22Hd = x1 + x2 + A + d + n(9F + G) + Tcpi (11)

Keterangan:

Tp22He : waktu enkripsi AES pipeline harapan dengan 2 proses

Tp22Hd : waktu dekripsi AES pipeline harapan dengan 2 proses

d : waktu komputasi AddRoundKey D : waktu komputasi SubBytes +

ShiftRows+MixCol +AddRoundKey E : waktu komputasi SubBytes +

ShiftRows + AddRoundKey F : waktu komputasi InvSubBytes +

InvShiftRows + InvMixCol +InvAddRoundKey

G : waktu komputasi InvSubBytes + InvShiftRows + InvAddRoundKey

Jika p = 3, maka waktu komputasi total enkripsi dan dekripsi AES pipeline harapannya dirumuskan dalam Persamaan 12 dan 13.

Tp23He = x1 + x2 + A + d + n9D + E + Tcpi (12)

Tp23Hd = x1 + x2 + A + d + n9F + G + Tcpi (13)

Keterangan:

Tp23He : waktu enkripsi AES pipeline harapan dengan 3 proses

Tp23Hd : waktu dekripsi AES pipeline harapan dengan 3 proses

Jika p=5, maka waktu komputasi total enkripsi dan dekripsi AES pipeline harapannya dirumuskan dalam Persamaan 14 dan 15.

Tp25He = x1+ x2+A +d+9D+E+ (n-1)3D+Tcpi (14)

Tp25Hd = x1+x2+A+d+9F+G+ (n-1)3F+ Tcpi (15)

Keterangan:

Tp25He : waktu enkripsi AES pipeline harapan dengan 5 proses

Tp25Hd : waktu dekripsi AES pipeline harapan dengan 5 proses

Implementasi enkripsi dan dekripsi AES pipeline dilakukan dengan menggunakan

bahasa pemrograman C dan library MPICH2 untuk pemrosesan paralel. Algoritme disusun agar setiap proses bertanggung jawab terhadap komputasi tertentu yang seluruh rangkaian komputasi tersebut merupakan suatu komputasi AES utuh. Selanjutnya, setiap blok data dialirkan ke rangkaian komputasi tersebut untuk diolah secara bertahap. Kedatangan suatu blok data akan memicu eksekusi komputasi baru oleh suatu proses dalam pipeline, pengecualian pada proses yang menginisiasi pipeline.

Implementasi AES pipeline dalam penelitian ini berbentuk linear 1D. Komunikasi antar proses untuk pengiriman aliran data menggunakan komunikasi point-to-point send-receive. Algoritme implementasi AES pipeline untuk tiap jumlah proses yang dibangkitkan digambarkan melalui Gambar 21.

Gambar 21 Algoritme implementasi AES pipeline.

Algoritme dekripsi AES pipeline hampir sama dengan enkripsi AES pipeline. Perbedaannya terletak pada jenis operasinya

(7)

dan proses unpadding dilakukan di akhir sebelum hasil dekripsi disimpan ke file. Implementasi algoritme AES pipeline dapat dilihat pada Lampiran 4.

Perancangan Percobaan

Parameter-parameter yang digunakan dalam percobaan ini adalah:

1 Jenis algoritme

Percobaan ini akan menguji tiga buah algoritme, yaitu algoritme AES sekuensial, paralel domain decomposition, dan pipeline.

2 Proses dan prosesor

Jumlah komputer yang digunakan pada penelitian ini berbeda-beda, Algoritme AES paralel domain decomposition diberi dua perlakuan. Perlakuan pertama dengan membangkitkan 4, 8, 12, 16, 20, dan 24 proses pada empat buah komputer quad-core. Perlakuan kedua dengan membangkitkan 4, 8, 12, dan 16 proses pada masing-masing 1, 2, 3, 4 buah komputer quad-core, sedangkan algoritme AES pipeline dibatasi dengan membangkitkan proses sebanyak 2 dan 3 pada 1 komputer quad-core serta 5 proses pada 2 buah komputer quad-core.

3 Ukuran file

Ukuran file yang digunakan ada tiga kategori yaitu kecil (berukuran sekitar 4 MB), sedang (berukuran sekitar lima kali kecil), dan besar (berukuran sekitar lima kali sedang). Detil ukuran file disajikan pada Tabel 1.

Tabel 1 Nama file beseta ukurannya Nama

File

Kategori Ukuran File

file 1 Kecil 4.762 MB file 2 Sedang 23.300 MB file 3 Besar 118.522 MB

4 Ulangan

Ulangan yang dilakukan pada setiap eksekusi adalah sebanyak lima kali. 5 Performance metrics

Performance metrics yang dianalisis adalah waktu eksekusi, speedup, efisiensi, dan overhead.

6 Lingkungan penelitian

a Sepuluh komputer quad-core. b Tiga fast Ethernet 100 Mbps. c Sistem operasi Windows XP dan

program MPICH2-1.4.1p1 32 bit. Percobaan

Ketiga data yang digunakan dalam percobaan ini dijalankan dengan ketiga jenis

algoritme baik untuk komputasi enkripsi maupun dekripsinya. Perhitungan setiap perlakuan pada masing-masing file dilakukan lima kali ulangan, kemudian diambil nilai rata-ratanya.

Percobaan ini dibagi ke dalam empat bagian yaitu:

1 Eksekusi enkripsi dan dekripsi algoritme AES paralel dengan perlakuan 1.

2 Eksekusi enkripsi dan dekripsi algoritme AES paralel dengan perlakuan 2.

3 Eksekusi enkripsi dan dekripsi algoritme AES pipeline.

4 Eksekusi enkripsi dan dekripsi algoritme AES sekuensial.

Percobaan bagian 1 membutuhkan (2x6x3x5 = 180) kali eksekusi. Percobaan bagian 2 membutuhkan (2x4x3x5=120) kali eksekusi. Percobaan bagian 3 membutuhkan (2x3x3x5=90) kali eksekusi. Percobaan bagian 4 membutuhkan (2x3x5=30) kali eksekusi. Secara keseluruhan percobaan ini terdiri dari 210 eksekusi untuk enkripsi dan 210 eksekusi untuk dekripsi.

Percobaan ini menggunakan tiga kelompok komputer yaitu:

1 Kelompok 1, terdiri atas empat buah komputer yang digunakan untuk percobaan bagian 1.

2 Kelompok 2, terdiri atas empat buah komputer yang digunakan untuk percobaan bagian 2.

3 Kelompok 3, terdiri atas dua buah komputer yang digunakan untuk percobaan bagian 3 dan 4.

Percobaan ini diawali dengan melakukan pengaturan jaringan dan komputer agar bisa bekerja secara paralel. Langkah-langkah pengaturan jaringan dan komputer dapat dilihat pada Lampiran 5. Bentuk topologi jaringan yang digunakan adalah star-connected network yang dapat dilihat pada Gambar 22.

Gambar 22 Topologi jaringan star.

Langkah selanjutnya adalah dengan menjalankan batch file yang berisi perintah eksekusi percobaan di masing-masing

(8)

kelompok komputer. Data hasil percobaan berupa waktu eksekusi tiap jenis eksekusi yang dapat dilihat pada Lampiran 6, 7, 8, 9, 10, dan 11.

Khusus untuk percobaan 3, eksekusi algoritme AES pipeline, ketika proses yang dibangkitkan berjumlah 5, pada eksekusi enkripsi 4 proses pertama berada di PC1 dan 1 proses terakhir ada di PC 2, sedangkan dekripsi kebalikannya. Hal ini dilakukan untuk mencegah terjadinya eror karena overlapping aliran data.

Analisis Kinerja

Analisis kinerja implementasi algoritme AES sekuensial dan paralel diawali dengan menghitung waktu eksekusi untuk tiap jenis perlakuan dan data yang berbeda. Setelah diketahui waktu eksekusinya, performance metrics yang lain dapat dihitung. Penghitungan waktu eksekusi dilakukan untuk kedua proses enkripsi dan dekripsi.

Waktu Eksekusi Sekuensial

Waktu eksekusi enkripsi dan dekripsi AES secara sekuensial untuk tiap file disajikan pada Gambar 23.

Gambar 23 Perbandingan waktu eksekusi enkripsi dan dekripsi AES sekuensial.

Gambar tersebut menunjukkan waktu eksekusi dekripsi AES lebih lama dari enkripsi. Hal ini disebabkan tiga komputasi penyusun dekripsi AES, yaitu: InvShiftRows, InvSubstituteBytes, dan InvMixColumns membutuhkan waktu eksekusi yang lebih lama dibanding komputasi-komputasi penyusun enkripsi AES. Waktu eksekusi meningkat seiring meningkatnya ukuran file yang digunakan.

Waktu Eksekusi Paralel

Waktu eksekusi enkripsi dan dekripsi AES secara paralel domain decomposition untuk setiap file disajikan pada Gambar 24 dan 25.

Gambar 24 Waktu eksekusi enkripsi AES paralel domain decomposition.

Gambar 25 Waktu eksekusi dekripsi AES paralel domain decomposition.

Terlihat pada kedua gambar tersebut, waktu eksekusi aktual lebih besar dibanding waktu eksekusi yang diharapkan. Beberapa faktor dapat menyebabkan hal ini terjadi, di antaranya adalah: lantensi jaringan yang tidak konstan dan kerja prosesor yang tidak stabil.

Waktu eksekusi secara paralel lebih cepat dibanding waktu eksekusi sekuensial untuk proses enkripsi maupun dekripsi. Namun, penambahan jumlah proses tidak memberikan penurunan waktu eksekusi yang berarti, bahkan ada beberapa yang waktu eksekusinya meningkat. Hal ini terjadi karena waktu komunikasi yang semakin membesar seiring meningkatnya jumlah proses yang dibangkitkan. Algoritme AES paralel domain decomposition dengan perlakuan 1 secara umum memiliki waktu eksekusi yang lebih cepat daripada dengan perlakuan 2, walaupun perbedaaan waktu eksekusinya tidak terlalu signifikan.

Waktu eksekusi enkripsi dan dekripsi AES pipeline untuk setiap file disajikan pada Gambar 26 dan 27.

(9)

Gambar 26 Waktu eksekusi enkripsi AES pipeline.

Gambar 27 Waktu eksekusi dekripsi AES pipeline.

Terlihat dari kedua gambar tersebut, waktu eksekusi aktual lebih cepat dibanding waktu eksekusi harapan. Penyebab terjadinya hal ini adalah kurang akuratnya pengukuran waktu eksekusi untuk tiap komputasi. Pengukuran menunjukkan D (waktu komputasi SubBytes +ShiftRows + MixColumns + AddRoundKey) sebesar 3.742 µs, namun pengukuran lain menunjukan B (waktu komputasi enkripsi satu blok data) sebesar 10 µs. Berdasarkan struktur komputasinya, seharusnya D sepuluh kali lebih cepat dari B, namun hasil pengukuran menunjukan D tiga kali lebih cepat dari B. Hal ini dapat mengakibatkan estimasi yang berlebihan terhadap waktu eksekusi harapan secara keseluruhan.

Waktu eksekusi enkripsi dan dekripsi AES pipeline lebih lambat dibandingkan dengan waktu eksekusi sekuensial pada penggunaan dua atau tiga proses. Waktu eksekusi secara pipeline baru membaik jika proses yang dibangkitkan lima. Penyebab terjadinya fenomena ini adalah penggunaan komunikasi blocking dan pendistribusian beban fungsi yang tidak merata tiap proses.

Jika proses yang dibangkitkan dua, p1

memiliki beban kerja yang lebih besar dibanding p0. Akibatnya, p1 belum selesai

mengeksekusi ketika p0 telah selesai karena

komunikasi yang digunakan adalah

komunikasi blocking. p0 akan menunggu

sampai p1 selesai mengeksekusi baru mengirim data selanjutnya. Hasilnya adalah overhead komunikasi yang tinggi. Jika proses yang dibangkitkan lima, beban fungsi cukup merata tiap proses, sehingga proses-proses tidak akan saling menunggu terlalu lama untuk mengirim atau menerima data.

Speedup

Nilai speedup enkripsi dan dekripsi AES paralel domain decomposition hasil percobaan disajikan pada Gambar 28 dan 29.

Gambar 28 Speedup enkripsi AES paralel domain decomposition.

Gambar 29 Speedup dekripsi AES paralel domain decomposition.

Grafik speedup untuk ukuran file meningkat dan jumlah proses tetap disajikan dalam Gambar 30.

Gambar 30 Speedup enkripsi dan dekripsi AES paralel domain

decomposition dengan jumlah proses 8 buah.

Berdasarkan Gambar 28 dan 29, nilai speedup cenderung naik seiring meningkatknya jumlah proses, namun hal ini

(10)

hanya berlaku jika jumlah proses kurang dari atau sama dengan jumlah prosesor. Jika jumlah proses lebih besar dari jumlah prosesor, speedup akan konstan dan bahkan bisa turun. Nilai speedup tidak sebanding dengan jumlah proses yang digunakan. Hal ini berkaitan dengan waktu eksekusinya yang tidak terlalu signifikan menurun seiring meningkatnya jumlah proses yang digunakan.

Gambar 30 menunjukkan speedup semakin membesar seiring meningkatnya ukuran file. Fenomena ini sesuai dengan teori yang dikenal dengan nama Amdahl Effect. Speedup perlakuan 1 secara umum lebih baik dibanding perlakuan 2 karena waktu komputasi perlakuan 1 secara umum lebih baik dibanding perlakuan 2.

Nilai speedup enkripsi dan dekripsi AES pipeline hasil percobaan disajikan pada Gambar 31.

Gambar 31 Speedup enkripsi dan dekripsi AES pipeline.

Speedup menggunakan dua atau tiga proses bernilai kurang dari satu menunjukkan bahwa waktu eksekusinya lebih lama dibanding dengan eksekusi secara sekuensial. Sedangkan jika menggunakan lima proses nilai speedup bernilai lebih dari satu karena waktu eksekusinya lebih cepat dibanding dengan eksekusi secara sekuensial.

Efisiensi

Efisiensi enkripsi dan dekripsi AES Paralel domain decomposition untuk semua proses dan ukuran file disajikan dalam Gambar 32 dan 33.

Gambar 32 Efisiensi enkripsi AES paralel domain decomposition.

Gambar 33 Efisiensi dekripsi AES paralel domain decomposition.

Kedua gambar tersebut menunjukkan semakin banyak jumlah proses yang digunakan, nilai efisiensi akan semakin menurun. Nilai efisiensi yang diperoleh umumnya lebih kecil dari 0.5. Hal ini menunjukkan pemanfaatan prosesor yang rendah. Penambahan jumlah prosesor tidak dapat menurunkan waktu komputasi secara proporsional. Untuk semua jenis file, tidak ada jumlah proses yang nilai efisiensinya mendekati satu, hal ini berarti algoritme AES paralel domain decomposition yang digunakan tidak cost-optimal.

Efisiensi enkripsi dan dekripsi AES pipeline untuk semua proses dan ukuran file disajikan dalam Gambar 34.

Gambar 34 Efisiensi enkripsi dan dekripsi AES pipeline.

Gambar 34 menunjukkan pada proses enkripsi, efisiensi semakin menurun seiring meningkatnya jumlah proses yang digunakan, sedangkan pada proses dekripsi terlihat efisiensi awalnya menurun lalu meningkat. Sekalipun waktu eksekusinya lebih buruk dari sekuensial, AES pipeline dengan menggunakan dua proses memiliki efisiensi yang cukup baik jika dibandingkan dengan AES paralel yang menggunakan proses lebih dua. Hal ini disebabkan pada dasarnya efisiensi adalah ukuran pemanfaatan prosesor dalam eksekusi program secara paralel. Untuk semua jenis file, tidak ada jumlah proses yang nilai efisiensinya mendekati satu, hal ini

(11)

berarti algoritme AES paralel pipeline yang digunakan tidak cost-optimal.

Cost

Cost enkripsi dan dekripsi AES Paralel domain decomposition untuk semua proses dan ukuran file disajikan dalam Gambar 35 dan 36.

Gambar 35 Cost enkripsi paralel domain decomposition.

Gambar 36 Cost dekripsi paralel domain decomposition

Gambar 35 dan 36 menunjukkan bahwa cost semakin besar seiring dengan meningkatnya jumlah proses yang digunakan. Cost yang yang paling mendekati nilai eksekusi sekuensial adalah yang menggunakan 4 proses untuk setiap file dengan besarnya dua kali waktu eksekusi sekuensialnya. Semakin besar ukuran file, nilai cost juga semakin besar.

Cost enkripsi dan dekripsi AES pipeline untuk semua proses dan ukuran file disajikan dalam Gambar 37.

Gambar 37 Cost enkripsi dan dekripsi AES pipeline.

Gambar tersebut menunjukkan bahwa pada proses enkripsi AES pipeline, nilai cost semakin besar seiring meningkatnya jumlah proses yang digunakan, sedangkan pada pada proses dekripsi nilai cost turun ketika proses yang dibangkitkan ada lima. Semakin besar ukuran file, nilai cost juga semakin besar.

Overhead

Overhead enkripsi dan dekripsi AES Paralel domain decomposition untuk semua proses dan ukuran file disajikan dalam Gambar 38 dan 39.

Gambar 38 Overhead enkripsi AES paralel domain decomposition.

Gambar 39 Overhead dekripsi AES paralel domain decomposition.

Terlihat pada kedua gambar tersebut, nilai overhead pada proses enkripsi lebih kecil dibandingkan dengan proses dekripsi. Nilai overhead semakin meningkat seiring dengan meningkatnya jumlah proses yang digunakan, namun hal ini hanya berlaku jika jumlah proses kurang dari atau sama dengan jumlah prosesor. Nilai overhead yang tidak mendekati nol dan stabil menunjukkan sistem paralel yang digunakan tidak ideal.

Overhead enkripsi dan dekripsi AES pipeline untuk semua proses dan ukuran file disajikan dalam Gambar 40. Terlihat pada gambar tersebut, nilai overhead menurun pada penggunaan lima proses. Hal ini disebabkan semata-mata karena AES pipeline dengan penggunaan lima proses dapat menurunkan waktu eksekusi sekuensialnya. Untuk semua jenis file, tidak ada jumlah proses yang nilai

Gambar

Gambar 15  Ilustrasi komunikasi  algoritme AES paralel  domain decomposition  3  Aglomerasi
Gambar 17  Algoritme enkripsi AES paralel  domain decomposition
Gambar 21  Algoritme implementasi AES  pipeline.
Gambar  tersebut  menunjukkan  waktu  eksekusi  dekripsi  AES  lebih  lama  dari  enkripsi
+3

Referensi

Dokumen terkait

1. Peserta didik belum terlibat dalam proses pembelajaran, sehingga materi yang diberikan menjadi sulit dipahami oleh siswa dan mengakibatkan hasil belajar

Berdasarkan hasil uji hipotesis yang dilakukan maka secara parsial dapat diketahui bahwa kepuasan dan swiching cost memiliki pengaruh yang positif dan signifikan terhadap

Secara kesimpulannya, pengajaran dengan menggunakan kaedah buku besar dapat membantu murid dalam peningkatan pencapaian dan minat mereka untuk belajar sains berbanding

What strategies have been adopted in order to translate humorous instances of wordplay, culture-specific allusions and metaphor in the Italian dubbed version of

Selain itu, penelitian Hendiarto (2006) bertujuan untuk mengetahui peran perlakuan perpajakan Pemprov DKI dalam mendukung fungsi regulerend Pajak Air Bawah Tanah,

Upaya atau tidakan yang harus dilakukan untuk mewujudkan persepsi yang akurat terhadap harapan konsumen ke dalam desain dan standar pelayanan, akan efektif hanya bila pihak

 išanalizuoti užimtumo didinimo programoje išskirtų tikslinių grupių integracijos į darbo rinką galimybes (prioritetą teikiant jaunimo ir pagyvenusių asmenų

Apibendrinant galima teigti, kad dviem iš dešimties apklaustų jaunų ilgalaikių bedarbių trūksta pasitikėjimo savimi, motyvacijos ieškotis darbo, nes juos tenkina esama