LAMPIRAN
22
Lampiran 1 Variabel pendukung dan waktu eksekusi yang diharapkan Variabel λ (lokal) λ (jaringan) β x1 file 1 x2 file 1 x1 file 2 x2 file 2 x1 file 3 x2 file 3 d A B C D E F G
Proses
Nilai 0.52029 µs 112.084539 µs 100 mbps 3.474 x 103 µs 151.296 x 103 µs 19.343 x 103 µs 743.531 x 103 µs 85.356 x 103 µs 3.856 x 106 µs 0.726 µs 4 µs 10 µs 17,200 µs 3.742 µs 2.960 µs 6.200 µs 3.239 µs
Waktu eksekusi AES paralel domain decomposition yang diharapkan waktu enkripsi waktu dekripsi file 1
file 2
file 3
file 1
file 3
file 3
1
3.1323
14.7181
74.2317
5.2756
25.2032
127.5666
4
1.4714
7.1998
36.6836
2.0073
9.8211
50.0173
8
1.1947
5.8456
29.7946
1.4626
7.1563
36.4615
12
1.1025
5.3943
27.4983
1.2811
6.2680
31.9429
16
1.0564
5.1686
26.3502
1.1904
5.8239
29.6836
20
1.0288
5.0332
25.6613
1.1360
5.5575
28.3281
24
1.0104
4.9430
25.2021
1.0997
5.3799
27.4244
Waktu eksekusi AES pipeline yang diharapkan waktu enkripsi waktu dekripsi
proses file 1
file 2
file 3
file 1
file 3
file 3
1
3.1323
14.7181
74.2317
5.2756
25.2032
127.5666
2
2.1474
10.5077
53.5106
3.0857
15.0980
76.8603
3
2.3281
11.3915
58.0067
3.7564
18.3787
93.5485
5
1.3959
6.8314
34.8104
1.8720
9.1604
46.6576
23
Lampiran 2 Implementasi AES sekuensial /* ****************************************************************** ** Advanced Encryption Standard implementation in C. ** By Niyaz PK ** E-mail:
[email protected] ** Downloaded from Website: www.hoozi.com Modified By Sayed Zulfikar ~
[email protected] ****************************************************************** */ // Include stdio.h for standard input/output. // Used for giving output to the screen. #include<stdio.h> #include <stdlib.h> #include <mpi.h> main(int argc, char *argv[]) { int i, j, c, rank, size, alg, pad=0, sisa, Cpad = 0; unsigned long int ps, k, pk; double block; double start, finish, wp; FILE *file, *hasil, *kunci; char character; unsigned char Kunci[16]; char *file_awal, *file_akhir, *file_kunci, s; //penampung argumen file_kunci = argv[1]; file_awal = argv[2]; file_akhir = argv[3]; alg = atoi(argv[4]); //penentuan panjang kunci (128 bit) Nr = 128; // Calculate Nk and Nr from the recieved value. Nk = Nr / 32; Nr = Nk + 6; MPI_Init (&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Comm_size(MPI_COMM_WORLD, &size); if ((argc != 5) || (size!=1)) { MPI_Finalize(); if (rank==0) printf("\nTerjadi Kesalahan input data!\n+ Argumen Harus Berjumlah 4!\n\t1. File Eksekusi\n\t2. File Kunci\n\t3. File Input\n\t4. File output\n+ Jumlah Proses yang bisa dibangkitkan hanya 1 saja!\n+ Panjang Kunci Kurang/Lebih dari 16 Karakter!\n\nSilahkan Periksa Kembali"); exit(1); } start = MPI_Wtime();
24
Lampiran 2 (lanjutan) if (rank ==0) { pk = ambil_pchar(file_kunci); kunci = fopen(file_kunci, "rb"); fread(Kunci, pk, 1, kunci); for(i=0;i
25
Lampiran 2 (lanjutan) free(input); //mencetak hasil enkripsi hasil = fopen (file_akhir, "wb"); for (k=0;k<(((block-1)*16)+16-pad);k++) { fputc(output[k], hasil); } fclose (hasil); finish = MPI_Wtime(); wp = finish-start; //printf("%f", wp); } MPI_Finalize(); return 0; }
26
Lampiran 3 Implementasi AES paralel domain decomposition /* ****************************************************************** ** Advanced Encryption Standard Parallel Domain Decomposition implementation in C. By Sayed Zulfikar ~
[email protected] ****************************************************************** */ // Include stdio.h for standard input/output. // Used for giving output to the screen. #include<stdio.h> #include <stdlib.h> #include <mpi.h> main(int argc, char *argv[]) { int i, j, alg, pad=0, c=0, rank, size, block, ex=0, dest=1, dest2=1, d, s, cei, flo, b, tagR, sisa, Cpad=0; unsigned long int ps, pk, k; double start, finish, wp, bl; FILE *file, *hasil, *kunci; char *file_awal, *file_akhir, *file_kunci; unsigned char *tempIn, *tempOut, Kunci[16]; //penampung argumen file_kunci = argv[1]; file_awal = argv[2]; file_akhir = argv[3]; alg = atoi(argv[4]); //penentuan panjang kunci (128 bit) Nr = 128; // Calculate Nk and Nr from the recieved value. Nk = Nr / 32; Nr = Nk + 6; MPI_Init (&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Comm_size(MPI_COMM_WORLD, &size); MPI_Status status; int send[size]; int displs[size]; int tag[size]; start = MPI_Wtime(); start = MPI_Wtime(); //P0 melakuakan PreProcessing //P0 melakukan pengecekan inputan sesuai atau tidak //P0 melakukan pembacaan kunci, pembacaan inputan, menghitung jumlah blok yang terbentuk, dan melakukan padding if (rank == 0) { //fungsi kontrol jenis algoritma if ((alg!=1) && (alg!=2)) ex = 1;
27
Lampiran 3 (lanjutan) //fungsi kontrol jumlah argumen if (argc !=5) ex = 1; pk = ambil_pchar(file_kunci); if (pk==16) { //pembacaan kunci kunci = fopen(file_kunci, "rb"); fread(Kunci, pk, 1, kunci); for(i=0;i
28
Lampiran 3 (lanjutan) s=(block%size); b = block/size; cei = ceil (((float)block)/size); flo = floor (((float)block)/size); // The KeyExpansion routine must be called before encryption. KeyExpansion(); //jika data dapat dibagi MERATA ke setiap proses if (s == 0){ //alokasi memori untuk data input dan output yang sudah dibagi rata ke setiap proses tempIn = (unsigned char*)malloc((b*16)*sizeof(unsigned char)); tempOut = (unsigned char*)malloc((b*16)*sizeof(unsigned char)); //scatter data, setiap proses langsung mendapat banyak data MPI_Scatter (input, 16*b, MPI_UNSIGNED_CHAR, tempIn, 16*b, MPI_UNSIGNED_CHAR, 0, MPI_COMM_WORLD); //proses enkripsi atau dekripsi for (i=0;i
a = c*(ceil(a/b)) + (b-c)*(floor(a/b)) else { for (i=0;i<size;i++) { //jika sisa bagi masih !=0, maka proses i akan mendapat data pembulatan ke atas if (s!=0) { send[i] = 16*cei; tag[i] = 1; s--; }
29
Lampiran 3 (lanjutan) //jika sisa bagi sudah 0, maka proses i dapat data pembulatan ke bawah else { send[i] = 16*flo; tag[i] = 0; } if (i==0) displs[i]=0; else displs[i] = displs[i-1]+send[i-1];
} if (tag[rank]==1) tagR=cei; else tagR=flo; //alokasi memori untuk data yang sudah dibagi tempIn = (unsigned char*)malloc((tagR*16)*sizeof(unsigned char)); tempOut = (unsigned char*)malloc((tagR*16)*sizeof(unsigned char)); //Scatter data berdasarkan bobotnya masing-masing MPI_Scatterv(input, send, displs, MPI_UNSIGNED_CHAR, tempIn, 16*tagR, MPI_UNSIGNED_CHAR, 0, MPI_COMM_WORLD); //proses enkripsi //jika proses termasuk yang mendapatkan data pembulatan ke atas if (tag[rank]==1) { for (i=0;i
30
Lampiran 3 (lanjutan) if (alg==2) { //unpadding if (rank==(size-1) && i==(flo-1)) { s = out[15]; for (i=16-s;i<16;i++) if (out[i]==s) Cpad++; } if (Cpad==s) pad = s; } } } MPI_Gatherv(tempOut, 16*tagR, MPI_UNSIGNED_CHAR, output, send, displs, MPI_UNSIGNED_CHAR, 0, MPI_COMM_WORLD); } //broadcast unpadding if (block<size) x=block-1; else x=size-1; MPI_Bcast(&pad, 1, MPI_INT,x, MPI_COMM_WORLD); //mencetak hasil enkripsi if (rank==0) { hasil = fopen (file_akhir, "wb"); for (k=0;k<(((block-1)*16)+16-pad);k++) { fputc(output[k], hasil); } fclose (hasil); } finish = MPI_Wtime(); wp = finish-start; if (rank==0) printf("%f", wp); free(input); MPI_Finalize(); return 0; }
31
Lampiran 4 Implementasi AES pipeline /* ****************************************************************** ** Advanced Encryption Standard Parallel Functional Decomposition implementation in C. By Sayed Zulfikar ~ [email protected] ****************************************************************** */ // Include stdio.h for standard input/output. // Used for giving output to the screen. #include<stdio.h> #include <stdlib.h> #include <mpi.h> main(int argc, char *argv[]) { int rank, size, alg, block, blockCount, proc, i, j, pad=16, ex=0; unsigned long int ps, pk, k; double start, finish, wp, bl; FILE *file, *hasil, *kunci; char *file_awal, *file_akhir, *file_kunci; unsigned char *tempIn, *tempOut, Kunci[16]; //penampung argumen file_kunci = argv[1]; file_awal = argv[2]; file_akhir = argv[3]; alg = atoi(argv[4]); //penentuan panjang kunci (128 bit) Nr = 128; // Calculate Nk and Nr from the recieved value. Nk = Nr / 32; Nr = Nk + 6; MPI_Init (&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Comm_size(MPI_COMM_WORLD, &size); MPI_Status status; start = MPI_Wtime(); //P0 melakuakan PreProcessing Tahap 1 //P0 melakukan pengecekan inputan sesuai atau tidak //P0 melakukan pembacaan kunci, pembacaan inputan, menghitung jumlah blok yang terbentuk, melakukan padding dan membangkitkan Upa-Kunci if (rank == 0) { //fungsi kontrol ukuran proses if ((size==2) || (size==3) || (size==5)) ex = 0; else ex = 1; //fungsi kontrol jumlah argumen if (argc !=5) ex = 1;
32
Lampiran 4 (lanjutan) pk = ambil_pchar(file_kunci); if (pk==16){ kunci = fopen(file_kunci, "rb"); fread(Kunci, pk, 1, kunci); for(i=0;i
33
Lampiran 4 (lanjutan) //PreProcessing tahap 2 dilakukan oleh P0 //P0 mengambil data tiap blok (16 byte) lalu AddRoundKey(0) dan mengirimkan data tersebut ke P1 if (rank == 0) { while (blockCount > 0) { for (i=0;i<16;i++) in[i] = input[((block-blockCount)*16)+i]; //Copy the input PlainText to state array. for(i=0;i<4;i++) for(j=0;j<4;j++) state[j][i] = in[i*4 + j]; if (alg==1) AddRoundKey(0); else AddRoundKey(10); for(i=0;i<4;i++) for(j=0;j<4;j++) out[i*4+j]=state[j][i]; MPI_Send(out, 16, MPI_UNSIGNED_CHAR, rank+1, rank+1, MPI_COMM_WORLD); blockCount--; } free(input); } //Pengecekan jika tidak ada proses antara, maka selain PreProcessing sisanya dikerjakan oleh P1 if (proc==0) { if (rank == 1) { output=(unsigned char*)malloc((block*16)*sizeof(unsigned char)); while (blockCount > 0) { MPI_Recv(in, 16, MPI_UNSIGNED_CHAR, rank-1, rank, MPI_COMM_WORLD, &status); for(i=0;i<4;i++) for(j=0;j<4;j++) state[j][i] = in[i*4 + j]; if (alg==1) { for(i=1;i<10;i++) { SubBytes(); ShiftRows(); MixColumns(); AddRoundKey(i); } SubBytes(); ShiftRows(); AddRoundKey(10); }
34
Lampiran 4 (lanjutan) else { for(i=9;i>0;i--) { InvShiftRows(); InvSubBytes(); AddRoundKey(i); InvMixColumns(); } InvShiftRows(); InvSubBytes(); AddRoundKey(0); } for(i=0;i<4;i++) for(j=0;j<4;j++) out[i*4+j]=state[j][i]; if (alg==2) { //unpadding if (blockCount == 1) { for (j=0;j<16;j++) if (out[j]==0x5) pad -=1; } } for (i=0;i<16;i++) output[((block-blockCount)*16)+i] = out[i]; blockCount--; } hasil = fopen (file_akhir, "wb"); for (k=0;k<(((block-1)*16)+pad);k++) { fputc(output[k], hasil); } fclose (hasil); finish = MPI_Wtime(); wp = finish-start; printf("%f", wp); } } //Jika ada proses antara else { if ((rank>0) && (rank<(size-1))) { while (blockCount > 0) { MPI_Recv(in, 16, MPI_UNSIGNED_CHAR, rank-1, rank, MPI_COMM_WORLD, &status); for(i=0;i<4;i++) for(j=0;j<4;j++) state[j][i] = in[i*4 + j]; if (alg==1) { for (i=((rank*proc)-(proc-1));i<=((9/proc)*rank);i++)
35
Lampiran 4 (lanjutan) { SubBytes(); ShiftRows(); MixColumns(); AddRoundKey(i); } } else { for (i=(9-((rank*proc)-proc));i>=(10-((9/proc)*rank));i--) { InvShiftRows(); InvSubBytes(); AddRoundKey(i); InvMixColumns(); } } for(i=0;i<4;i++) for(j=0;j<4;j++) out[i*4+j]=state[j][i]; MPI_Send(out, 16, MPI_UNSIGNED_CHAR, rank+1, rank+1, MPI_COMM_WORLD); blockCount--; } } //P(size-1) melakukan finishing else if (rank == size-1) { output=(unsigned char*)malloc((block*16)*sizeof(unsigned char)); while (blockCount > 0) { MPI_Recv(in, 16, MPI_UNSIGNED_CHAR, rank-1, rank, MPI_COMM_WORLD, &status); for(i=0;i<4;i++) for(j=0;j<4;j++) state[j][i] = in[i*4 + j]; if (alg==1) { SubBytes(); ShiftRows(); AddRoundKey(10); } else { InvShiftRows(); InvSubBytes(); AddRoundKey(0); } for(i=0;i<4;i++) for(j=0;j<4;j++) out[i*4+j]=state[j][i]; if (alg==2) {
36
Lampiran 4 (lanjutan) //unpadding if (blockCount == 1) { s = out[15]; for (i=16-s;i<16;i++) if (out[i]==s) Cpad++; if (Cpad==s) pad =s; } for (i=0;i<16;i++) output[((block-blockCount)*16)+i] = out[i]; blockCount--; } hasil = fopen (file_akhir, "wb"); for (k=0;k<(((block-1)*16)+16-pad);k++) { fputc(output[k], hasil); } fclose (hasil); finish = MPI_Wtime(); wp = finish-start; printf("%f", wp); } } MPI_Finalize(); return 0; }
37
Lampiran 5 Pengaturan dan instalasi MPICH2 Langkah-langkah dalam pengaturan dan istalasi MPICH2 dalam penelitian ini yaitu: 1 Hubungkan tiap komputer dengan Fast Ethernet dan kabel UTP agar membentuk topologi star. 2 Ping ke setiap komputer yang hendak digunakan, pastikan semua komputer saling terhubung agar lebih mudah buat IP menjadi statis dan matikan firewall. 3 Instal mpich2-1.4.1p1-win-ia32.msi di setiap komputer dengan menggunakan administrator priviledge. 4 Tentukan passphrase yang akan digunakan dan pastikan setiap komputer memiliki passphrase yang sama dan Pilih “Everyone” pada salah satu menu instalasi agar MPICH2 bisa digunakan untuk semua pengguna komputer.
5
Tambahkan path MPICH2 (C:\Program Files\MPICH2\bin) pada system variabel tiap komputer.
6
Buat user baru dengan nama yang seragam dan password-nya sesuai dengan passphrase di tiap komputer. Daftar user baru di tiap komputer dengan menjalankan perintah “mpiexec –register –user 1” pada jendela command prompt, masukkan nama dan passphrase sesuai dengan poin nomor 7. Jalankan contoh program C:\Program Files\MPICH2\examples\cpi.exe secara paralel dengan menggunakan user yang sudah daftarkan. Jika contoh program dapat berjalan dengan baik, cluster komputer telah siap digunakan.
7 8
38
Lampiran 5 (lanjutan) Beberapa kesalahan umum yang sering terjadi: 1 Pesan eror “Mpiexec is not recognize as internal or external command, operable program or batch file” ketika hendak menjalankan program paralel. Penyebab : instalasi MPICH2 atau penambahan path MPICH2 yang tidak sempurna. Solusi : instalasi ulang MPICH2 dan pastikan sesuai langkah di atas. 2
Pesan eror “SMPD version missmatch” ketika hendak menjalankan program paralel. Penyebab : ada program lain yang menggunakan smpd dengan versi yang berbeda dari MPICH2 yang digunakan Solusi : instalasi ulang MPICH2 dan pastikan installer-nya sama, hapus path smpd program lain jika ada.
39
Lampiran 6 Data hasil percobaan algoritme enkripsi AES paralel domain decomposition perlakuan 1 Jenis Eksekusi File
Tipe File
Sekuen 1
1
pohon.jpg (4.762.960 bytes)
Waktu Rata-Rata
Enkripsi domain decomposition perlakuan 1 4
8
12
16
20
24
3.070
1.747
1.461
1.397
1.342
1.396
1.369
3.064
1.622
1.365
1.473
1.351
1.446
1.477
3.062
1.726
1.401
1.437
1.443
1.475
1.352
3.197
1.614
1.418
1.359
1.435
1.435
1.456
3.065
1.677
1.521
1.453
1.470
1.400
1.380
3.092
1.677
1.433
1.424
1.408
1.430
1.407
SpeedUp
1.843
2.157
2.172
2.196
2.162
2.198
Efisiensi
0.461
0.270
0.181
0.137
0.135
0.137
Cost
6.709
11.466
17.085
22.530
22.884
22.509
Overhead
3.617
8.374
13.993
19.439
19.792
19.418
Jenis Eksekusi File
Tipe File
Sekuen 1
2
lagu.flac (23.300.227 bytes)
Waktu Rata-Rata
Enkripsi domain decomposition perlakuan 1 4
8
12
16
20
24
15.184
7.708
6.191
6.252
6.343
6.325
6.225
15.613
7.742
6.181
6.157
6.233
6.233
6.154
15.672
9.076
6.138
6.502
6.435
6.340
6.242
15.549
8.003
6.263
6.368
6.529
6.220
6.083
15.490
7.900
6.145
6.479
6.384
6.499
6.157
15.502
8.086
6.184
6.352
6.385
6.323
6.172
SpeedUp
1.917
2.507
2.441
2.428
2.451
2.511
Efisiensi
0.479
0.313
0.203
0.152
0.153
0.157
Cost
32.343
49.468
76.220
102.159
101.175
98.757
Overhead
16.842
33.967
60.718
86.657
85.673
83.255
Jenis Eksekusi File
3
Tipe File
Sekuen
Enkripsi domain decomposition perlakuan 1 4
8
12
16
20
24
76.177
37.213
30.780
29.028
29.197
30.184
29.294
76.229
37.107
30.813
29.331
29.272
30.301
29.834
76.751
37.701
30.979
29.027
29.176
30.322
29.197
76.238
37.302
30.661
28.972
29.300
30.338
29.902
76.351
37.428
30.861
29.201
29.323
30.286
29.557
76.349
37.350
30.819
29.112
29.254
30.286
29.557
SpeedUp
2.044
2.477
2.623
2.610
2.521
2.583
Efisiensi
video.mp4 (118.522.028 bytes)
Waktu Rata-Rata
0.511
0.310
0.219
0.163
0.158
0.161
Cost
149.400
246.550
349.341
468.056
484.580
472.910
Overhead
73.052
170.201
272.993
391.707
408.231
396.561
40
Lampiran 7 Data hasil percobaan algoritme dekripsi AES paralel domain decomposition perlakuan 1 Jenis Eksekusi File
Tipe File
Sekuen 1
1
pohon.chp (4.762.960 bytes)
Waktu Rata-Rata
Dekripsi domain decomposition perlakuan 1 4
8
12
16
20
24
5.115
2.338
1.863
1.756
1.750
1.640
1.688
5.106
2.145
1.727
1.654
1.619
1.629
1.696
5.097
2.149
1.727
1.626
1.641
1.646
1.553
5.111
2.160
1.762
1.572
1.610
1.696
1.628
5.106
2.206
1.826
1.769
1.543
1.692
1.657
5.107
2.200
1.781
1.676
1.633
1.661
1.644
SpeedUp
2.322
2.868
3.048
3.128
3.075
3.106
Efisiensi
0.580
0.358
0.254
0.196
0.192
0.194
Cost
8.799
14.248
20.107
26.122
26.573
26.306
Overhead
3.692
9.141
15.000
21.015
21.466
21.199
Jenis Eksekusi File
Tipe File
Sekuen 1
2
lagu.chp (23.300.227 bytes)
Waktu Rata-Rata
Dekripsi domain decomposition perlakuan 1 4
8
12
16
20
24
25.010
9.940
8.248
7.358
7.266
7.275
7.369
25.938
9.926
8.485
7.338
7.140
7.278
7.214
25.229
10.301
8.298
7.183
7.195
7.312
7.268
25.550
10.052
8.541
7.376
7.592
7.321
7.333
25.647
10.026
7.509
7.263
7.267
7.319
7.086
25.475
10.049
8.216
7.304
7.292
7.301
7.254
SpeedUp
2.535
3.101
3.488
3.494
3.489
3.512
Efisiensi
0.634
0.388
0.291
0.218
0.218
0.219
Cost
40.195
65.730
87.645
116.672
116.820
116.063
Overhead
14.720
40.256
62.170
91.197
91.345
90.588
Jenis Eksekusi File
3
Tipe File
Sekuen
Dekripsi domain decomposition perlakuan 1
1
4
8
12
16
20
24
127.129
50.608
39.144
35.388
35.064
36.978
35.167
127.174
49.985
39.947
36.527
35.216
36.326
35.363
127.329
50.556
39.201
35.966
35.025
36.977
36.521
127.280
49.881
38.820
36.032
36.218
37.066
36.147
127.220
50.530
38.954
35.891
35.099
36.571
35.940
127.227
50.312
39.213
35.961
35.324
36.784
35.828
SpeedUp
2.529
3.244
3.538
3.602
3.459
3.551
Efisiensi
video.chp (118.522.028 bytes)
Waktu Rata-Rata
0.632
0.406
0.295
0.225
0.216
0.222
Cost
201.248
313.706
431.532
565.190
588.539
573.241
Overhead
74.021
186.480
304.305
437.963
461.312
446.014
41
Lampiran 8 Data hasil percobaan algoritme enkripsi AES paralel domain decomposition perlakuan 2
File
Tipe File
1
pohon.jpg (4.762.960 bytes)
Waktu Rata-Rata SpeedUp Efisiensi Cost Overhead
File
Tipe File
2
lagu.flac (23.300.227 bytes)
Waktu Rata-Rata SpeedUp Efisiensi Cost Overhead
File
Tipe File
3
video.mp4 (118.522.028 bytes)
Waktu Rata-Rata SpeedUp Efisiensi Cost Overhead
Sekuen 1 3.070 3.064 3.062 3.197 3.065 3.092
Sekuensial 1 15.184 15.613 15.672 15.549 15.490 15.502
Sekuen 1 76.177 76.229 76.751 76.238 76.351 76.349
Jenis Eksekusi Enkripsi domain decomposition perlakuan 2 4 8 12 16 1.466 1.517 1.369 1.300 1.467 1.561 1.481 1.490 1.494 1.480 1.425 1.354 1.467 1.605 1.539 1.365 1.471 1.602 1.368 1.353 1.473 1.553 1.436 1.372 2.099 1.991 2.152 2.253 0.525 0.249 0.179 0.141 5.891 12.423 17.237 21.957 2.800 9.331 14.146 18.865 Jenis Eksekusi Enkripsi domain decomposition perlakuan 2 4 8 12 16 7.176 6.338 6.534 5.765 7.165 6.533 6.319 6.298 7.312 6.390 6.278 6.464 7.189 6.396 6.256 6.371 8.245 6.548 6.159 6.463 7.417 6.441 6.309 6.272 2.090 2.407 2.457 2.472 0.522 0.301 0.205 0.154 29.669 51.530 75.712 100.353 14.168 36.029 60.211 84.852 Jenis Eksekusi Enkripsi domain decomposition perlakuan 2 4 8 12 16 37.251 31.667 30.264 29.080 36.531 32.365 30.145 29.216 36.560 31.606 31.298 29.052 36.515 32.106 30.022 29.217 36.565 31.633 30.293 29.064 36.684 31.875 30.405 29.126 2.081 2.395 2.511 2.621 0.520 0.299 0.209 0.164 146.737 255.002 364.855 466.016 70.388 178.653 288.506 389.667
42
Lampiran 9 Data hasil percobaan algoritme dekripsi AES paralel domain decomposition perlakuan 2
File
Tipe File
1
pohon.chp (4.762.960 bytes)
Waktu Rata-Rata SpeedUp Efisiensi Cost Overhead
File
Tipe File
2
lagu.chp (23.300.227 bytes)
Waktu Rata-Rata SpeedUp Efisiensi Cost Overhead
File
Tipe File
3
video.chp (118.522.028 bytes)
Waktu Rata-Rata SpeedUp Efisiensi Cost Overhead
Sekuen 1 5.115 5.106 5.097 5.111 5.106 5.107
Sekuen 1 25.010 25.938 25.229 25.550 25.647 25.475
Sekuen 1 127.129 127.174 127.329 127.280 127.220 127.227
Jenis Eksekusi Dekripsi domain decomposition perlakuan 2 4 8 12 16 2.395 1.980 1.633 1.599 2.393 2.023 1.738 1.604 2.387 1.916 1.646 1.756 2.393 1.925 1.729 1.537 2.391 2.018 1.667 1.723 2.392 1.972 1.683 1.644 2.135 2.589 3.035 3.107 0.534 0.324 0.253 0.194 9.567 15.778 20.194 26.298 4.460 10.671 15.087 21.191 Jenis Eksekusi Dekripsi domain decomposition perlakuan 2 4 8 12 16 11.674 8.760 7.546 7.302 11.653 8.632 7.573 7.288 11.654 8.856 7.575 7.221 11.683 8.758 7.577 7.451 11.700 8.679 7.527 7.372 11.673 8.737 7.560 7.327 2.182 2.916 3.370 3.477 0.546 0.364 0.281 0.217 46.692 69.897 90.717 117.227 21.217 44.422 65.242 91.753 Jenis Eksekusi Dekripsi domain decomposition perlakuan 2 4 8 12 16 60.562 43.108 37.679 34.591 60.526 43.393 37.602 35.059 59.310 44.178 38.198 34.949 59.258 43.303 37.564 35.232 60.476 43.166 37.668 34.650 60.026 43.429 37.742 34.896 2.120 2.929 3.371 3.646 0.530 0.366 0.281 0.228 240.105 347.436 452.905 558.341 112.878 220.209 325.678 431.115
43
Lampiran 10 Data hasil percobaan algoritme enkripsi AES pipeline Jenis Eksekusi File
Tipe File
1
1
pohon.jpg (4.762.960 bytes)
Waktu Rata-Rata
Enkripsi Pipeline
Sekuensial 2
3
5
3.070
3.292
3.572
2.705
3.064
3.513
3.704
2.861
3.062
3.362
3.841
2.501
3.197
3.202
3.832
2.421
3.065
3.304
3.717
2.597
3.092
3.335
3.733
2.617
SpeedUp
0.927
0.828
1.181
Efisiensi
0.464
0.276
0.236
Cost
6.669
11.200
13.085
Overhead
3.577
8.108
9.993
Jenis Eksekusi File
Tipe File
1
2
lagu.flac (23.300.227 bytes)
Waktu Rata-Rata
Enkripsi Pipeline
Sekuensial 2
3
5
15.184
15.614
18.698
13.498
15.613
16.289
18.634
11.272
15.672
16.305
18.337
12.345
15.549
16.239
18.226
11.698
15.490
16.224
18.294
12.355
15.502
16.134
18.438
12.234
SpeedUp
0.961
0.841
1.267
Efisiensi
0.480
0.280
0.253
Cost
32.268
55.313
61.169
Overhead
16.766
39.811
45.667
Jenis Eksekusi File
Tipe File
1
3
Enkripsi Pipeline
Sekuensial 2
3
5
76.177
82.789
93.197
62.170
76.229
83.419
92.668
59.348
76.751
83.289
92.520
62.259
76.238
82.862
91.297
62.184
76.351
83.778
91.446
60.396
76.349
83.227
92.225
61.271
SpeedUp
0.917
0.828
1.246
Efisiensi
video.mp4 (118.522.028 bytes)
Waktu Rata-Rata
0.459
0.276
0.249
Cost
166.455
276.676
306.357
Overhead
90.106
200.327
230.008
44
Lampiran 11 Data hasil percobaan algoritme dekripsi AES pipeline Jenis Eksekusi File
Tipe File
1
1
pohon.chp (4.762.960 bytes)
Waktu Rata-Rata
Dekripsi Pipeline
Sekuensial 2
3
5
5.115
5.798
6.523
3.510
5.106
5.949
6.773
3.484
5.097
6.296
6.530
3.349
5.111
5.893
6.722
3.361
5.106
5.965
6.687
3.336
5.107
5.980
6.647
3.408
0.854
0.768
1.498
SpeedUp Efisiensi
0.427
0.256
0.300
Cost
11.960
19.941
17.041
Overhead
6.853
14.834
11.934
Jenis Eksekusi File
2
Tipe File
lagu.chp (23.300.227 bytes)
Waktu Rata-Rata
Dekripsi Pipeline
Sekuensial 1
2
3
5
25.010
30.589
33.663
16.317
25.938
30.523
32.718
17.388
25.229
30.241
34.664
16.281
25.550
29.571
34.184
16.272
25.647
30.447
33.394
16.255
25.475
30.274
33.724
16.503
SpeedUp
0.841
0.755
1.544
Efisiensi
0.421
0.252
0.309
Cost
60.548
101.173
82.513
Overhead
35.073
75.698
57.038
Jenis Eksekusi File
Tipe File
1
3
Dekripsi Pipeline
Sekuensial 2
3
5
127.129
147.072
166.296
82.992
127.174
146.597
167.077
83.703
127.329
148.462
166.662
82.770
127.280
145.313
172.100
84.027
127.220
147.131
168.309
83.160
127.227
146.915
168.089
83.330
SpeedUp
0.866
0.757
1.527
Efisiensi
video.chp (118.522.028 bytes)
Waktu Rata-Rata
0.433
0.252
0.305
Cost
293.830
504.267
416.652
Overhead
166.603
377.040
289.425