MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN...

61

Transcript of MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN...

Page 1: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang
Page 2: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang
Page 3: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

MD CLOUD : USER INTERFACE APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN

LINGKUNGAN KOMPUTASI HPC DINAMIS

M. Hasyim Ratsanjani Heru Suhartanto

FAKULTAS ILMU KOMPUTER PROGRAM MAGISTER ILMU KOMPUTER

DEPOK

Page 4: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

i Universitas Indonesia

DAFTAR ISI

DAFTAR ISI ........................................................................................................... i DAFTAR GAMBAR .............................................................................................. i DAFTAR TABEL ................................................................................................ iii DAFTAR LAMPIRAN ........................................................................................ iii BAB 1 ...................................................................................................................... 4 ANALISIS DAN PERANCANGAN ..................................................................... 4 

1.1 Kebutuhan Sistem ........................................................................................... 4 4.2 Ide CloudMD .................................................................................................. 5 4.3 Arsitektur CloudMD ....................................................................................... 6 4.4 Desain Aplikasi CloudMD ............................................................................. 7 4.4.1 REST API-backend ..................................................................................... 9 4.4.2 Frontend .................................................................................................... 13 

4.5 Pemodelan Aplikasi CloudMD..................................................................... 13 4.5.1 Use Case Diagram .................................................................................... 13 4.5.2 Class Diagram .......................................................................................... 16 

4.6 Lingkungan Komputasi cloudMD ................................................................ 17 4.7 Desain Topologi Jaringan ............................................................................. 19 

BAB 2 .................................................................................................................... 21 IMPLEMENTASI DAN EVALUASI ................................................................. 21 

2. 1 Implementasi Aplikasi Web CloudMD ....................................................... 21 5.1.1 Sisi User ................................................................................................... 21 5.1.2 Sisi Admin ................................................................................................ 27 

5.2 Evaluasi ........................................................................................................ 34 5.2.1 Evaluasi Integrasi Lingkungan Komputasi .............................................. 34 

DAFTAR REFERENSI ....................................................................................... 41 LAMPIRAN .......................................................................................................... 43 

DAFTAR GAMBAR

Gambar 4.1 Ide Model SAAS-Cloud ...................................................................... 5 Gambar 4.2 Desain arsitektur CloudMD ................................................................ 6 Gambar 4.3 Desain Aplikasi CloudMD .................................................................. 8 Gambar 4.4 Use case Diagram ............................................................................. 14 Gambar 4.5 Class Diagram................................................................................... 16 Gambar 4.6 Model Cluster Mini ........................................................................... 18 Gambar 4.7 Desain Jaringan ................................................................................. 20 Gambar 5.1 Home page dan login form. ............................................................... 22 Gambar 5.2 Halaman utama setelah login ............................................................ 22 Gambar 5.3 Merubah Informasi Profile ................................................................ 23 Gambar 5.4 Daftar Eksperimen............................................................................. 23 

Page 5: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

ii Universitas Indonesia

Gambar 5.5 Membuat Eksperimen Baru ............................................................... 24 Gambar 5.6 Daftar File Pada Suatu Eksperimen .................................................. 24 Gambar 5.7 Upload File ke Dalam Folder Suatu Eksperimen .............................. 25 Gambar 5.8 Pembacaan dan Pembuatan File Bertipe ‘plain/text’ ........................ 25 Gambar 5.9 Mengunduh File-file Eksperimen...................................................... 25 Gambar 5.10 Daftar Job Eksperimen .................................................................... 26 Gambar 5.11 Pengiriman Intruksi Eksekusi Job ................................................... 26 Gambar 5.12 Log Eksekusi Job ............................................................................ 27 Gambar 5.13 Manajemen Lingkungan Komputasi ............................................... 28 Gambar 5.14 Menambahkan Lingkungan Komputasi Baru ................................. 29 Gambar 5.15 Pengecekan Lingkungan Komputasi ............................................... 29 Gambar 5.16 Manajemen Aplikasi ....................................................................... 30 Gambar 5.17 Penambahan Aplikasi ...................................................................... 30 Gambar 5.18 Manajemen Command Aplikasi ...................................................... 31 Gambar 5.19 Penambahan Command Aplikasi .................................................... 31 Gambar 5.20 Manajemen Argumen Command .................................................... 32 Gambar 5.21 Pengaturan Pengguna ...................................................................... 33 Gambar 5.22 Penambahan Pengguna .................................................................... 33 Gambar 5.23 Langkah-langkah Integrasi Lingkungan Komputasi ....................... 35 Gambar 5.24 Isian Penambahan Lingkungan Komputasi Baru ............................ 35 Gambar 5.25 Cek Integrasi Lingkungan Komputasi............................................. 36 Gambar 5.26 Informasi Pengecekan Integrasi Lingkungan Komputasi ............... 36 Gambar 5.27 Menambahkan Command Aplikasi ................................................. 37 Gambar 5.28 Contoh Pengisian Eksperimen Baru ................................................ 38 Gambar 5.29 Contoh Daftar File yang diunggah .................................................. 38 Gambar 5.30 Submit Job ....................................................................................... 39 Gambar 5.31 Job Tersubmit .................................................................................. 39 Gambar 5.32 Log Eksekusi Job ............................................................................ 39 Gambar 5.33 Mendownload File Hasil Eksekusi Job ........................................... 40 

Page 6: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

iii Universitas Indonesia

DAFTAR TABEL

Table 4.1 Layanan API CloudMD berbasis HTTP.................................................. 9 Table 4.2 Komponen serta tool bagian back-end .................................................. 12 Table 4.3 Komponen serta tool bagian front-end.................................................. 13 Table 4.4 Deskripsi use case ................................................................................. 14 Table 4.5 Requirement Lingkungan komputasi untuk integrasi ........................... 18 Table 4.6 Spesifikasi model cluster mini .............................................................. 18 Table 4.7 Spesifikasi lingkungan komputasi GPU ............................................... 19 Table 5.1 Tipe Argumen ....................................................................................... 32 Table 5.2 Contoh Pengisian Argumen Command ................................................ 37 

DAFTAR LAMPIRAN

Lampiran A. Setup Lingkungan Komputasi Cluster ............................................. 43 Lampiran B. Setup Lingkungan Komputasi GPU................................................. 46 Lampiran C. Instalasi CloudMD ........................................................................... 47 Lampiran D. Instalasi Gromacs pada Cluster dan GPU ........................................ 49 Lampiran E. Instalasi Amber pada Cluster dan GPU ........................................... 50 Lampiran F. Persiapan Eksperimen Gromacs ....................................................... 51 Lampiran G. Persiapan Eksperimen Amber.......................................................... 54 

Page 7: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

4 Universitas Indonesia

BAB 1

ANALISIS DAN PERANCANGAN

1.1 Kebutuhan Sistem

Dalam melakukan simulasi dinamika molekular, dibutuhkan sumber daya

komputasi berkinerja tinggi, agar dapat mengakomodir kompleksitas proses serta

data yang terlibat. Beberapa permasalahan yang timbul, yakni:

Infrastruktur HPC yang terbatas.

Mekanisme penggunaan sumber daya HPC yang menyulitkan.

Integrasi fasilitas HPC baru ke dalam infrastruktur cloud.

Permasalahan pertama dapat teratasi dengan adanya layanan cloud yang

mampu men-service kebutuhan sumber daya komputasi yang tinggi, seperti

Amazon EC2, Microsoft Azure, hingga Google AppEngine. Akan tetapi

kemudian muncul kesulitan terkait mekanisme akses berbagai macam layanan

HPC-cloud tersebut, mengingat fakta bahwa para peneliti ilmiah tersebut berasal

dari berbagai macam disiplin ilmu pengetahuan yang tidak memiliki latar

belakang IT yang cukup. Sebagian besar cloud-HPC provider tersebut

mengadopsi model IAAS dan PAAS, dimana customer diharuskan memiliki

kemampuan sistem administrator untuk menggunakan layanan cloud-HPC

tersebut.

Sehingga dari permasalahan tersebut dibutuhkan solusi berupa cloud-

based HPC berbasis layanan Software-as-a-Service.

Solusi tersebut diharapkan mampu melayani kebutuhan user akan sumber

daya komputasi HPC.

Solusi tersebut memiliki mekanisme akses yang lebih mudah dan dengan

hasil yang tidak berbeda dibandingkan dengan mekanisme akses

konvensional.

Solusi tersebut mampu menangani adanya integrasi lingkungan komputasi

baru, tanpa melakukan perubahan terhadap kode program.

Untuk memenuhi kebutuhan tersebut, kemudian dilakukan analisis terkait

arsitektur cloud-based HPC, serta desain sistem cloud-based HPC.

Page 8: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

5

4.2 Ide CloudMD

Ide platform CloudMD berasal dari permasalahan sulitnya integrasi

lingkungan HPC baru maupun aplikasi penelitian ke dalam infrastruktur SAAS

cloud yang telah ada. Infrastruktur scloud[1] yang telah dikembangkan

sebelumnya, memang telah mampu memberikan mekanisme akses yang baik

terhadap aplikasi penelitian ilmiah yang berjalan di lingkungan HPC. Akan tetapi,

infrastruktur tersebut belum didesain untuk mengakomodasi proses integrasi

lingkungan komputasi HPC baru maupun aplikasi penelitian. Sehingga

pengintegrasian tersebut harus dilakukan dengan merombak kode program.

Mengatasi masalah tersebut, dalam tesis ini mengusulkan pengembangan

platform CloudMD dimana lingkungan komputasi HPC baru memungkinkan

untuk diintegrasikan ke dalam infrastruktur CloudMD tersebut. Integrasi tersebut

dilakukan oleh admin CloudMD dengan proses integrasi dilakukan dalam antar-

muka web, sehingga dapat dilakukan dengan cepat dan mudah.

Gambar 4.1 Ide Model SAAS-Cloud

Model CloudMD yang diusulkan diharapkan mampu menangani adanya

penambahan lingkungan komputasi komputasi baru serta aplikasi penelitian ke

dalamnya, tanpa melakukan perubahan terhadap kode program. Disamping itu,

desain platform CloudMD tersebut harus memiliki fitur untuk menangani

kebutuhan pengguna dalam menjalankan aplikasi tersebut. Mengadopsi model

Cloud Computing Software-as-a-Service(SAAS), model tersebut kemudian

diimplementasikan dan ditampilkan melalui antar muka aplikasi berbasis web.

Integrasi Sumber daya HPC

Admin CloudMD

CloudMD Interface

Internet

Aplikasi Penelitian Ilmiah

Page 9: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

6

4.3 Arsitektur CloudMD

Setelah melakukan studi literatur yang berkaitan dengan arsitektur SAAS

Cloud-based HPC, serta analisis kebutuhan yang disesuaikan dengan infrastruktur

komputasi yang dimiliki oleh fasilkom Universitas Indonesia, maka kemudian

diusulkan arsitektur CloudMD yang dianggap sesuai dan cocok dengan kebutuhan

eksperimen ilmiah serta ketersedian infrastruktur di Universitas Indonesia.

Arsitektur tersebut terdiri dari lima lapisan, yakni; Insfrastruktur, Platform,

Application, Service, serta User.

Gambar 4.2 Desain arsitektur CloudMD

Pada lapisan User Layer terdiri dari pengguna layanan CloudMD, yang

terdiri dari provider dan consumer. Provider merupakan penyedia layanan cloud-

based HPC dalam hal ini adalah laboratorium Architecture & High Performance

Computing FASILKOM-UI. Sedangkan consumer adalah para peneliti dengan

domain penelitian dinamika molekular.

User Layer

Service Layer

Application Layer

Platform Layer

Infrastruktur

Computation Environment SAAS Cloud Environment

Amber Gromacs

MPICH2 Cuda

Linux

Cluster MPI GPU Web Server

Java

Tomcat MySQL

Aplikasi Web

SAAS Private Cloud

Grunt

Page 10: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

7

Universitas Indonesia

Pada lapisan Service layer merepresentasikan layanan yang diberikan oleh

cloud-based HPC. Dimana layanan aplikasi serta sumber daya HPC dilakukan

melalui mekanise SAAS(Software as a Service). Model implementasi yang

dilakukan adalah private-cloud, dengan hanya pengguna tertentu yang memiliki

hak akses ke infrastruktur cloud Computing.

Pada lapisan aplication, platform dan infrastruktur dibagi menjadi dua

bagian, yakni computation environment dan SAAS-cloud environment.

Computation environment merujuk kepada sumber daya komputasi HPC yang

akan di-share dalam mekanisme cloud computing. Sedangkan SAAS cloud

environment merepresentasikan lingkungan SAAS cloud yang digunakan dalam

menyediakan sumber daya komputasi HPC.

Pada layer application di bagian computation evironment terdiri dari

Amber dan Gromacs, yang mana merupakan aplikasi simulasi dinamika moleculer

yang dapat berjalan di berbagai macam lingkungan HPC. Sedangkan pada bagian

lingkungan SAAS-cloud terdiri dari Aplikasi Web Interface.

Pada layer platform di bagian computation evironment terdiri dari MPICH,

CUDA, dan linux system. MPICH2 merupakan platform pemrograman parallel

yang menggunakan standar massage passing yang mana dikategorikan sebagai

large-scale paralellization. Sedangkan cuda merupakan platform untuk

pemrograman parallel berbasis Graphical Processing Unit(GPU), yang

dikeluarkan oleh vendor NVIDIA. Adapun pada bagian lingkungan SAAS-cloud

terdiri dari Tomcat, MySQL, grunt dan Java EE. Tomcat merupakan platform

open source untuk menjalankan aplikasi java web. Sedangkan MySQL merupakan

platform database open source.

Pada layer infrastruktur di bagian computation evironment terdiri dari

Cluster MPI serta GPU. Sedangkan pada bagian SAAS cloud environment terdiri

dari Web server.

4.4 Desain Aplikasi CloudMD

Platform aplikasi CloudMD merupakan model cloud computing SAAS,

dimana di dalamnya menyediakan layanan aplikasi simulasi dinamika molekular

yang berjalan di atas sumber daya HPC. Aplikasi CloudMD memiliki antar muka

berbasis web yang memfasilitasi dilakukannya simulasi dinamika molekular

Page 11: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

8

menggunakan Amber serta Gromacs di atas lingkungan komputasi cluster MPI

dan GPU.

Gambar 4.3 Desain Aplikasi CloudMD

Dalam desain aplikasi CloudMD, antara lingkungan CloudMD dan

lingkungan komputasi merupakan lingkungan yang terpisah, yang mana tidak

terdapat sharing storage antar lingkungan tersebut. Manajemen file yang terjadi

antara lingkungan CloudMD dan lingkungan komputasi dilakukan melalui

mekanisme FTP, dimana lingkungan komputasi merupakan FTP-server

sedangkan CloudMD menjadi FTP-client. Hal ini menawarkan fleksibilitas

manajemen file antar lingkungan komputasi sehingga memungkinkan

dilakukannya integrasi lingkungan komputasi baru ke dalam CloudMD secara

lebih mudah.

Terdapat alternatif pendekatan manajemen file lain selain FTP Client-

server, yakni pendekatan file-sharing seperti yang dilakukan dalam Network File

System(NFS). Dimana pendekatan tersebut memungkinkan suatu komputer

melakukan proses mount direktori atau peralatan pada komputer lain. Pendekatan

sharing tersebut cocok untuk manajemen file antar node pada sebuah lingkungan

komputasi multi-node. Namun untuk manajemen file pada lingkungan komputasi

yang terpisah, maka konfigurasi tambahan yang dilakukan dalam pendekatan

Page 12: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

9

Universitas Indonesia

tersebut akan menyulitkan proses integrasi dua lingkungan komputasi karena

kurangnya fleksibilitas. Sehingga pendekatan sharing tersebut dipandang tidak

sesuai dengan fleksibilitas manajemen file antar lingkungan komputasi yang

dibutuhkan oleh platform CloudMD.

Dalam lingkungan CloudMD terdapat dua aplikasi terpisah yakni front-

end dan REST API-backend. REST API-backend merupakan aplikasi RESTFUL

web service yang menyediakan layanan antara lain; akses remote shell,

manajemen file, serta interaksi ke database. Sedangkan bagian front-end

merupakan interface yang memanfaatkan API service yang disediakan oleh Rest-

backend. Desain aplikasi berbasis API webservice tersebut bertujuan agar kedepan

dimungkinkan dilakukan pengembangan ke dalam platform lain seperti aplikasi

mobile, yang dapat langsung memanfaatkan API yang disediakan tersebut.

4.4.1 REST API-backend

Aplikasi bagian backend dibangun menggunakan bahasa pemrograman

java dengan framework spring, dimana database yang digunakan adalah MySql.

Aplikasi ini merupakan webservice RESTFUL dimana menyediakan API

(Application Programming Interface) berbasis HTTP dengan data yang dihasilkan

dari aplikasi backend tersebut berformat json.

Di dalam aplikasi backend disediakan mekanisme layanan terkait

penerimaan dan pengiriman data, pengaturan file-file, eksekusi perintah dalam

lingkungan komputasi, otentikasi, dan lain-lainnya. Selengkapnya terkait

mekanisme layanan API backend ditunjukkan di table 4.

Table 4.1 Layanan API CloudMD berbasis HTTP

No Path HTTP

Request

Data dan argument

1 api/application GET List object json aplikasi

2 api/application/{id} GET Object json aplikasi,

Long id aplikasi

3 api/application POST Object json aplikasi

4 api/application/{id} PUT Object json aplikasi,

Long id aplikasi

Page 13: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

10

Universitas Indonesia

5 api/application/{id} DELETE Long id aplikasi

6 api/environtment GET List object json environment

7 api/environtment/{id} GET Object json environment,

Long id environment

8 api/environtment POST Object json environment

9 api/environtment/{id} PUT Object json environment,

Long id environment

10 api/environtment/{id} DELETE Long id environment

11 api/commandstep GET List object json commandstep

12 api/commandstep/applicati

on/{id}

GET List object json commandstep,

Long id aplikasi

13 api/commandstep/applicati

on/

{idApp}/environtment/{id

Env}

GET List object json commandstep

14 api/ commandstep/{id} GET Object json commandstep,

Long id commandstep

15 api/commandstep POST Object json commandstep

16 api/ commandstep/{id} PUT Object json commandstep,

Long id commandstep

17 api/commandstep/{id} DELETE Long id commandstep

18 api/commandscript GET List object json commandscript

19 api/commandscript/comma

ndstep/{id}

GET List object json commandscript,

Long id commandstep

20 api/commandscript/{id} GET Object json commandscript,

Long id commandscript

21 api/commandscript POST Object json commandscript

22 api/commandscript/{id} PUT Object json commandscript,

Long id commandscript

23 api/commandscript/{id} DELETE Long id commandscript

24 api/eksperimen GET List object json eksperimen

Page 14: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

11

Universitas Indonesia

25 api/eksperimen/user/{id} GET List object json eksperimen,

Long id user

26 api/eksperimen/user/{id}/c

ount

GET Number,

Long id user

27 api/eksperimen/{id} GET Object json eksperimen,

Long id eksperimen

28 api/eksperimen POST Object json eksperimen

29 api/eksperimen/{id} PUT Object json eksperimen,

Long id eksperimen

30 api/eksperimen/{id} DELETE Long id eksperimen

31 api/job GET List object json job

32 api/job/eksperimen/{id} GET List object json job,

Long id eksperimen

33 api/job/{id} GET Object json job,

Long id job

34 api/job POST Object json job

35 api/job/{id} PUT Object json job,

Long id job

36 api/job/{id} DELETE Long id job

37 api/user GET List object json user

38 api/user/{id} GET Object json user,

Long id user

39 api/user POST Object json user

40 api/user/{id} PUT Object json user,

Long id user

41 api/user/{id} DELETE Long id user

42 api/login/{username} GET Object json user,

String username

43 api/logout GET

44 api/files/eksperimen/{id} GET List object json file,

Long id eksperimen

Page 15: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

12

Universitas Indonesia

45 api/upload POST File

46 api/dl/{eksperimenId}/{fil

e_name}/

GET File,

Long id eksperimen,

String Filename(utf-8 encoder)

47 api/remove/{eksperimenId

}/{file_name}/

GET Long eksperimenId,

String file_name(utf-8 encoder)

48 api/saveFile/{eksperimenI

d}

POST String filename,

String filetext

49 api/readFile/{eksperimenI

d}/{file_name}/

GET String text,

Long id eksperimen,

String Filename(utf-8 encoder)

Dalam aplikasi backend tersebut terdapat layanan terkait eksekusi perintah

kepada lingkungan komputasi serta manajemen file melalui FTP. Untuk eksekusi

perintah ke dalam lingkungan komputasi lain dilakukan dengan Remote Shell

memanfaatkan library JSCH (Java Secure Channel). Sedangkan untuk

manajemen file melalui FTP client digunakan library Apache Common Net.

Pengamanan REST-Backend dilakukan menggunakan otorisasi spring

security web Oauth 1 berbasis token. Selanjutnya dalam table 4.2 ditunjukkan tool

serta komponen yang terlibat pada aplikasi bagian back-end.

Table 4.2 Komponen serta tool bagian back-end

No Nama Fungsi

1 spring-boot-starter-web Framework java web

2 spring-boot-starter-security Framework otorisasi akses

API

3 spring-boot-starter-data-jpa Framework data java

persistence API

4 mysql-connector-java Konektor database mysql

dengan java

5 commons-net Library FTP

6 jsch Library SSH

Page 16: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

13

Universitas Indonesia

7 commons-fileupload Library File upload

4.4.2 Frontend

Aplikasi bagian front-end dibangun menggunakan teknologi javascript

dengan framework angularjs x. Dalam table 4.2 ditunjukkan tool serta komponen

yang terlibat pada aplikasi bagian front-end.

Table 4.3 Komponen serta tool bagian front-end

No Nama Fungsi

1 Angularjs Framework javascript

2 Yeoman Tool perancah frontend

3 Grunt Pengelola proyek javascript

4 Bower Manajemen package frontend

5 bootstrap Frontent framework untuk tampilan web

4.5 Pemodelan Aplikasi CloudMD

Berikut ini merupakan desain aplikasi web CloudMD yang ditampilkan

dari sudut pandang pemodelan perangkat lunak UML berwujud diagram use case

dan diagram kelas.

4.5.1 Use Case Diagram

Diagram Use case menggambarkan peran dan tanggung jawab aktor dalam

sitem. Dimana terdapat dua aktor yang terlibat yakni admin dan user. admin

merupakan penyedia layanan CloudMD dalam hal ini adalah laboratorium

Architecture & High Performance Computing Fasilkom-UI. Sedangkan user

adalah para pengguna fasilitas CloudMD dalam rangka melakukan eksperimen

simulasi dinamika molekular.

Page 17: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

14

Universitas Indonesia

Gambar 4.4 Use case Diagram

Deskripsi masing-masing use case dijelaskan dalam table berikut.

Table 4.4 Deskripsi use case

No Use Case Deskripsi

1 Login Otorisasi user untuk masuk ke dalam aplikasi

CloudMD.

2 Logout Keluar dari aplikasi CloudMD.

User

Login

Logout

Merubah Informasi user

Membuat Eksperimen

Mengirim job

Melihat status job

melihat log eksekusi job

Upload file

Download file

Membuat file text

Membaca file text

Delete file

Mengatur lingkungan komputasi

Mengatur aplikasi

Mengatur command aplikasi

Mengatur argument command

Admin

Mengatur user

Page 18: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

15

Universitas Indonesia

3 Merubah informasi

user

Merubah username, password, serta gambar user

profile.

4 Membuat

eksperimen

Membuat sebuah eksperimen yang akan

menggunakan aplikasi serta lingkungan komputasi

tertentu.

5 Mengirim job Mengirimkan perintah terkait aplikasi tertentu

untuk dieksekusi di suatu lingkungan komputasi.

6 Melihat status job Melihat status eksekusi job, apakah sedang

berjalan, error, atau success.

7 Melihat log eksekusi

job

Melihat luaran dari suatu perintah yang telah

dieksekusi.

8 Upload file Mengunggah suatu file ke sebuah directory pada

suatu lingkungan komputasi yang terkait dengan

eksperimen tertentu.

9 Download file Mengunduh suatu file dari sebuah directory pada

suatu lingkungan komputasi yang terkait dengan

eksperimen tertentu.

10 Membuat file text Membuat sebuah file plain/text yang akan disimpan

dalam sebuah directory pada suatu lingkungan

komputasi yang terkait dengan eksperimen tertentu.

11 Membaca file text Membaca sebuah file plain/text dari sebuah

directory pada suatu lingkungan komputasi yang

terkait dengan eksperimen tertentu.

12 Delete file Menghapus sebuah file plain/text dari sebuah

directory pada suatu lingkungan komputasi yang

terkait dengan eksperimen tertentu.

13 Mengatur

lingkungan

komputasi

Mendaftarkan sebuah lingkungan komputasi agar

bisa terintegrasi ke dalam infrastruktur CloudMD.

Dengan daftar requirement yang dipaparkan pada

table 4.4

14 Mengatur aplikasi Mendaftarkan sebuah aplikasi yang berada di

dalam sebuah lingkungan komputasi yang telah

Page 19: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

16

Universitas Indonesia

terintegrasi di dalam aplikasi CloudMD.

15 Mengatur command

aplikasi

Menambah, merubah, menghapus command terkait

aplikasi tertentu untuk sebuah lingkungan

komputasi yang telah terintegrasi dalam aplikasi

CloudMD.

16 Mengatur argument

command

Menambah, merubah, menghapus argument terkait

aplikasi tertentu.

17 Mengatur user Menambah, merubah, menghapus user yang

memiliki akses ke dalam aplikasi CloudMD.

4.5.2 Class Diagram

Class Diagram menggambarkan sistem dengan cara memperlihatkan

kelas-kelas serta relasi antar kelas tersebut.

Gambar 4.5 Class Diagram

Environment

environtmenIdinitialNameheadAddressheadUsernameheadPasswordftpDirectoryftpPortsshPortenvironmentTypedescription

findAllEnvironment()findById()create()update()delete()check()

Application

appilicationIdnamedescription

findAllApplication()findByID()create()update()delete()

CommandScript

commandScriptIdargumentStringargumentTypesampleValuedescriptioncommandStep

findAllCommandScript()findCommandScriptByCommandStep()findByID()create()update()delete()

Job

jobIddescriptionscriptfixPathexecutionLogstatustanggaleksperimencommandStep

findAllJob()findJobByEksperimen()findById()create()update()delete()

CommandStep

commandStepIdcommandStringdescriptionapplicationenvironment

findAllCommandStep()findCommandStepByApplication()findCommandStepByApplicationAndEnvirontment()findById()create()update()delete()

0..*

1

0..*1

0..*

0

0

0..*

User

userIduserNamepassworduserRole

emailpicturedate

findAllUser()findUserById()

logout()login()create()update()delete()

(from Use Case View)

Eksperimen

eksperimenIdnamedescriptiondirectoryuserapplicationenvirontment

findAllEksperimen()findEksperimenByUser()countByUser()findById()create()update()delete()

1..*

1

1..*

1

0..*0

1..*

11

1..*

1

1..*

1

1..*

0 0..*

1 0..*

1

0..*

0

0..*0

0..*

Page 20: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

17

Universitas Indonesia

Sebuah eksperimen dimiliki seorang pengguna, dimana eksperimen

tersebut dilakukan menggunakan sebuah aplikasi dan lingkungan komputasi

tertentu. Selain itu, eksperimen juga memiliki atribut lain, yakni: name,

description, serta directory. Ketika membuat sebuah eksperimen, maka pengguna

akan menentukan informasi tentang nama, deskripsi, serta memilih aplikasi dan

lingkungan komputasi yang akan digunakan. Sedangkan informasi terkait

directory yang digunakan ditentukan oleh aplikasi CloudMD.

Kelas Application mewakili aplikasi simulasi dinamika molekular yang

diintegrasikan dalam aplikasi CloudMD, yakni; Amber serta Gromacs. Sedangkan

kelas Environment mewakili lingkungan komputasi yang diintegrasikan dalam

aplikasi CloudMD. Di dalam kelas Environment tersebut disimpan beberapa

informasi penting yang dibutuhkan oleh aplikasi CloudMD agar bisa digunakan

dan terintegrasi dalam lingkungan CloudMD. Informasi tersebut antara lain;

alamat master node, username master node, password master node, ftp directory,

ftp port, serta ssh port.

Kelas CommandStep mewakili daftar perintah yang bisa digunakan untuk

sebuah lingkungan komputasi dimana terkait dengan aplikasi tertentu. Untuk

daftar argument yang digunakan dalam sebuah perintah diwakili oleh Kelas

CommandScript. Sedangkan kelas Job mewakili kumpulan eksekusi perintah yang

diberikan user dalam sebuah eksperimen.

4.6 Lingkungan Komputasi cloudMD

Lingkungan komputasi adalah sumber daya komputer yang di dalamnya

dilakukan eksekusi perintah untuk melakukan simulasi dinamika molekular.

Terdapat dua tipe lingkungan komputasi HPC yang diangkat dalam penelitian ini,

yakni; lingkungan komputasi berbasis cluster MPI serta lingkungan komputasi

berbasis GPU. Requirement yang harus dimiliki pada sebuah lingkungan

komputasi agar bisa diintegrasikan dengan lingkungan CloudMD ditunjukkan

dalam table berikut.

Page 21: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

18

Universitas Indonesia

Table 4.5 Requirement Lingkungan komputasi untuk integrasi

Reachable Ip address

Sebuah akun (username dan password)

dengan akses eksekusi bash

Terinstal FTP Server

Terinstal SSH Server

Menentukan FTP Directory

Menentukan FTP Port

Menentukan SSH Port

Dalam penelitian ini dilakukan pembangunan cluster mini dengan dua

node sebagai model lingkungan komputasi cluster. Cluster mini tersebut terdiri

dari dua node yang terhubung dalam jaringan lokal, dimana terdapat NFS

(Network File Sharing) antar node dalam cluster untuk sharing direktori.

Gambar 4.6 Model Cluster Mini

Spesifikasi cluster mini yang dibangun sebagai model lingkungan

komputasi cluster ditunjukkan dalam table berikut.

Table 4.6 Spesifikasi model cluster mini

Master Node Node 1

Hardware

Processor Intel(R) Core(TM) i7-2600 CPU @

3.40G

Memory 2x @4GiB DIMM DDR3 Synchronous

1333 MHz

Network RTL8111/8168/8411 PCI Express

Gigabit

Hardware

Processor Intel(R) Core(TM) i7-2600 CPU @

3.40G

Memory 2x @4GiB DIMM DDR3 Synchronous

1333 MHz

Network RTL8111/8168/8411 PCI Express

Gigabit

Cluster

Master Node

Node 1

NFS

Page 22: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

19

Universitas Indonesia

Disk 1TB Hitachi HDS72101 Disk 1TB Hitachi HDS72101

Software

Linux 3.13.0-32-generic x86_6

Ubuntu 14.04.1 LTS

MPICH2 4.8.4

Openssh-server 6.6.1p1

ProFTPD 1.3.5rc3

Nfsstat 1.2.8

Software

Linux 3.13.0-32-generic x86_6

Ubuntu 14.04.1 LTS

MPICH2 4.8.4

Openssh-server 6.6.1p1

ProFTPD 1.3.5rc3 Nfsstat 1.2.8

Dalam penelitian ini juga dipersiapkan lingkungan komputasi GPU dengan

spesifikasi sebagai berikut.

Table 4.7 Spesifikasi lingkungan komputasi GPU

Hardware

Processor Intel(R) Core(TM) i7-2600 CPU @ 3.40G

Memory 2x @4GiB DIMM DDR3 Synchronous 1333 MHz

Network RTL8111/8168/8411 PCI Express Gigabit

Disk 1TB Hitachi HDS72101

GeForce GTX 560

Software

Linux 3.13.0-32-generic x86_6

Ubuntu 14.04.1 LTS

Openssh-server 6.6.1p1

Cuda-Tools 7.5

4.7 Desain Topologi Jaringan

Dalam desain fisik topologi jaringan, lingkungan CloudMD dan

lingkungan komputasi berada di satu Local Area Network. Berikut ini adalah

desain fisik topologi jaringan lingkungan CloudMD dan lingkungan komputasi

yang digunakan.

Page 23: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

20

Universitas Indonesia

Gambar 4.7 Desain Jaringan

Page 24: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

21 Universitas Indonesia

BAB 2

IMPLEMENTASI DAN EVALUASI

2. 1 Implementasi Aplikasi Web CloudMD

Pada bab sebelumnya telah dilakukan analisis dan perancangan terkait

desain, arsitektur, serta pemodelan CloudMD. Berdasarkan analisis dan

perencangan tersebut, kemudian dilakukan implementasi berupa penulisan kode

program serta persiapan lingkungan komputasi. Implementasi tersebut dilakukan

sehingga berwujud sebuah aplikasi web CloudMD yang mampu berjalan dengan

baik sesuai perancangan.

Dari sudut pandang pengguna, aplikasi CloudMD terbagi menjadi dua

bagian, yakni bagian user dan admin. Hal tersebut seperti yang ditunjukkan dalam

use case diagram pada gambar 4.4. Sehingga, selanjutnya kemudian ditunjukkan

hasil implementasi yang terbagi ke dalam dua sisi, yakni sisi admin dan sisi user.

5.1.1 Sisi User

Fitur-fitur yang tersedia di sisi user lebih berfokus kepada kegiatan

eksperimen, eksekusi job, serta manajemen file. Selain itu disediakan fasilitas

untuk merubah profile user serta autentikasi login. Semua fitur yang terdapat pada

sisi user, juga tersedia di sisi admin. Selengkapnya terkait fitur-fitur tersebut

adalah sebagai berikut:

1. Halaman Utama dan Autentikasi Login

Ketika mengaksis aplikasi CloudMD maka pengunjung akan diminta

untuk melakukan otentikasi berupa login terlebih dahulu, sehingga hanya

pengunjung memiliki hak akses yang bisa menggunakan aplikasi CloudMD.

Page 25: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

22

Universitas Indonesia

Gambar 5.1 Home page dan login form.

Setelah pengunjung melakukan otentikasi login, maka laman web akan

beralih ke halaman utama.

Gambar 5.2 Halaman utama setelah login

2. Merubah Informasi Profile

Pengunjung dapat merubah informasi profile terkait email, username,

password, serta gambar profile user.

Page 26: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

23

Universitas Indonesia

Gambar 5.3 Merubah Informasi Profile

3. Membuat eksperimen

Setelah pengunjung terotentikasi, selanjutnya pengunjung dapat menuju ke

halaman ‘Eksperimen saya’, dimana terdapat daftar eksperimen yang dilakukan

pengunjung tersebut. Dalam halaman tersebut pengunjung juga dapat melakukan

pencarian eksperimen yang telah dilakukan, serta pembuatan eksperimen baru.

Gambar 5.4 Daftar Eksperimen

Ketika melakukan pembuatan eksperimen baru, pengunjung akan diminta

memasukkan informasi tentang nama dan deskripsi eksperimen, serta

menspesifikkan environtmen dan aplikasi simulasi yang akan digunakan.

Page 27: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

24

Universitas Indonesia

Gambar 5.5 Membuat Eksperimen Baru

Selanjutnya aplikasi CloudMD akan menyiapkan folder khusus untuk

eksperimen tersebut dalam lingkungan komputasi yang digunakan. Folder tersebut

terletak dalam ‘{direktori root FTP } /eksperimen’.

4. Manajemen file

Setelah suatu eksperimen selesai dibuat, selanjutnya pengguna dapat

mengunggah file-file yang dibutuhkan untuk eksperimen atau membuatnya

langsung melalui aplikasi CloudMD untuk file yang bertipe ‘plain/text’.

Gambar 5.6 Daftar File Pada Suatu Eksperimen

Page 28: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

25

Universitas Indonesia

Gambar 5.7 Upload File ke Dalam Folder Suatu Eksperimen

Selain melakukan pembuatan file bertipe ‘plain/text’, aplikasi CloudMD

juga dapat melakukan pembacaan file bertipe ‘plain/text’.

Gambar 5.8 Pembacaan dan Pembuatan File Bertipe ‘plain/text’

Selain itu pengunjung juga dapat mengunduh file-file yang terdapat pada

eksperimen tersebut.

Gambar 5.9 Mengunduh File-file Eksperimen

Page 29: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

26

Universitas Indonesia

5. Mengirim dan melihat status job

Setelah file-file yang dibutuhkan telah tersedia di dalam suatu eksperimen,

selanjutnya pengunjung dapat melakukan pengiriman intruksi eksekusi suatu job.

Suatu job berhubungan dengan sebuah command yang telah didaftarkan oleh

admin terkait lingkungan komputasi tertentu dan aplikasi tertentu.

Gambar 5.10 Daftar Job Eksperimen

Pengunjung hanya dapat mengirim job dengan command yang telah

disediakan dan dengan argumen-argumen yang ditentukan.

Gambar 5.11 Pengiriman Intruksi Eksekusi Job

Page 30: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

27

Universitas Indonesia

Pada setiap job dalam daftar job, akan memiliki status eksekusi job,

dimana akan berubah menyesuaikan kondisi eksekusi job itu sendiri. Terdapat

empat macam status eksekusi job, yakni; 'starting execution' untuk job ketika

awal kali dijalankan, 'running' ketika sedang mengeksekusi job, 'finished' ketika

job telah selesai dijalankan, serta 'error' untuk job yang tidak berhasil dijalankan.

6. Melihat Log Eksekusi

Log eksekusi masing-masing job dapat dilihat baik ketika job sedang

berjalan, telah selesai dijalankan, ataupun ketika terjadi kesalahan.

Gambar 5.12 Log Eksekusi Job

5.1.2 Sisi Admin

Fitur-fitur yang tersedia di sisi admin lebih kepada manajemen aplikasi

web CloudMD agar bisa digunakan user untuk menjalankan job simulasi. Fitur-

fitur tersebut adalah; mengatur lingkungan komputasi, mengatur aplikasi,

mengatur command aplikasi, mengatur argumen command aplikasi, serta

mengatur user.

1. Mengatur Lingkungan Komputasi

Dalam melakukan pengaturan lingkungan komputasi admin dapat

menambahkan lingkungan komputasi baru agar dapat terintegrasi dengan aplikasi

CloudMD, melakukan penyesuaian informasi terkait suatu lingkungan komputasi,

serta melakukan pengecekan integrasi lingkungan komputasi. Dimana suatu

Page 31: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

28

Universitas Indonesia

lingkungan komputasi akan dapat diintegrasikan jika memenuhi requirement yang

ditunjukkan pada table 1.4.

Gambar 5.13 Manajemen Lingkungan Komputasi

Untuk melakukan penambahan lingkungan komputasi seorang Admin

dapat memilih tombol ‘Tambah lingkungan komputasi baru’, kemudian

mengisikan informasi berikut:

Initial name: Nama inisial dari lingkungan komputasi baru

Tipe environment: Merupakan tipe lingkungan komputasi HPC, dimana pilihannya adalah GPU_CUDA dan CLUSTER_MPI

Deskripsi: Merupakan keterangan terkait lingkungan komputasi baru yang akan diintegrasikan

Head node address: merupakan alamat ip dari master node cluster atau host GPU

Head node username: merupakan username dari user yang disediakan agar bisa digunakan aplikasi CloudMD. Dimana user ini memiliki akses ke bash.

Head node password: merupakan password dari user yang disediakan untuk aplikasi CloudMD

FTP Directory: merupakan lokasi directory FTP yang nantinya pada lokasi itu akan digunakan oleh CloudMD sebagai lokasi eksperimen.

Page 32: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

29

Universitas Indonesia

Gambar 5.14 Menambahkan Lingkungan Komputasi Baru

Setelah infromasi disimpan dengan memilih tombol Simpan lingkungan

komputasi baru, maka informasi-informasi tersebut akan disimpan di database,

kemudian aplikasi CloudMD akan membuat sebuah folder bernama 'eksperimen'

di lokasi FTP Directory pada lingkungan komputasi tersebut.

Setelah suatu lingkungan komputasi ditambahkan, selanjutnya dapat

dilakukan pengecekan untuk memastikan bahwa lingkungan komputasi tersebut

terintegrasi dengan baik. Pengecekan tersebut dilakukan dengan cara memilih

tombol ‘Cek integrasi’, yang mana tersedia pada masing-masing lingkungan

komputasi. Pada pengecekan tersebut aplikasi CloudMD akan memeriksa koneksi

SSH, Koneksi FTP, serta ketersedian folder ‘eksperimen’ pada lingkungan

komputasi yang bersangkutan.

Gambar 5.15 Pengecekan Lingkungan Komputasi

Page 33: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

30

Universitas Indonesia

2. Mengatur Aplikasi

Dalam melakukan pengaturan aplikasi admin dapat menambahkan aplikasi

baru, melakukan penyesuaian informasi, serta melakukan penghapusan aplikasi.

Suatu aplikasi dapat dihapus dari CloudMD hanya jika tidak terkait sama sekali

dengan suatu eksperimen dan tidak terkait dengan command apapun untuk suatu

lingkungan komputasi.

Gambar 5.16 Manajemen Aplikasi

Dua informasi yang dibutuhkan terkait suatu aplikasi adalah nama aplikasi

serta deskripsi aplikasi tersebut.

Gambar 5.17 Penambahan Aplikasi

3. Mengatur Command Aplikasi

Suatu pengaturan Command aplikasi akan spesifik dibuat untuk suatu

lingkungan komputasi tertentu dan aplikasi tertentu. Hal ini dikarenakan,

meskipun suatu lingkungan komputasi bertipe sama, tetapi tetap akan terdapat

Page 34: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

31

Universitas Indonesia

perbedaan terkait konfigurasi sistem, bash, aplikasi serta banyak hal lain yang

berbeda.

Gambar 5.18 Manajemen Command Aplikasi

Informasi yang harus disediakan untuk menambahkan sebuah command

adalah string command tersebut, lingkungan komputasi sebagai tempat

menjalankan Command tersebut, serta aplikasi yang mana command tersebut

terkait. Serta informasi tambahan berupa deskripsi Command tersebut.

Gambar 5.19 Penambahan Command Aplikasi

4. Mengatur Argumen Command Aplikasi

Suatu Command akan diserta beberapa argumen yang dibutuhkan untuk

menjalankan Command Tersebut.

Page 35: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

32

Universitas Indonesia

Gambar 5.20 Manajemen Argumen Command

Untuk mendaftarkan suatu argument untuk Command tertentu, maka

terdapat empat informasi yang dapat diisikan, yakni;

Argument : adalah string argument itu sendiri, seperti: gmx_mpi mdrun.

Tipe argument: Merupakan pembedaan macam-macam argument, dimana dibedakan menjadi enam macam, yakni FILE_INPUT, FILE_OUTPUT, STRING, COMMAND, NO_VALUE, serta OTHER.

Table 5.1 Tipe Argumen

Tipe argument Deskripsi

FILE_INPUT Argumen tersebut diikuti sebuah value berupa string nama file yang akan menjadi input

FILE_OUTPUT Argumen tersebut diikuti value berupa string nama file yang menjadi output

STRING Argumen tersebut diikuti value berupa string

COMMAND Argumen tersebut tidak diikuti value namun merupakan sebuah string yang mendahului command

NO_VALUE Argumen tersebut tidak diikuti value

OTHER Argument tersebut akan tambahkan begitu saja ke dalam baris Command

Page 36: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

33

Universitas Indonesia

Contoh Value: merupakan contoh value dari argument tersebut, jika argument tersebut diikuti sebuah value. Contoh value tersebut, digunakan sebagai bantuan kepada user terkait contoh pengisian argument tersebut.

Deskripsi : merupakan keterangan dari argument tersebut

Dari empat atribut argumen tersebut yang harus terisi adalah atribut

argument dan tipe argument.

5. Pengaturan Pengguna

Salah satu fitur yang dapat dilakukan oleh admin adalah pengaturan

pengguna, dimana admin dapat menambahkan, merubah, serta menghapus

pengguna.

Gambar 5.21 Pengaturan Pengguna

Beberapa atribut yang bisa diisikan terkait pengguna adalah; email,

username, password, role user, serta gambar user. Terdapat dua role pengguna

yang dapat dilayani aplikasi CloudMD yakni; ADMIN serta USER.

Gambar 5.22 Penambahan Pengguna

Page 37: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

34

Universitas Indonesia

5.2 Evaluasi

Evaluasi dilakukan untuk melihat seberapa baik usulan serta implementasi

yang dilakukan dalam rangka menjawab tujuan penelitian. Pertama-tama evaluasi

dilakukan untuk menjawab terkait kemampuan aplikasi CloudMD dalam

menerima integrasi lingkungan komputasi baru. Evaluasi pertama tersebut

dilakukan dengan menunjukkan bagaiman proses integrasi lingkungan komputasi

GPU ke dalam aplikasi CloudMD. Dari situ kemudian ditunjukkan bahwa

lingkungan komputasi baru tersebut dapat digunakan, yakni dengan cara

menggunakannya untuk suatu kegiatan eksperimen.

Evaluasi kedua adalah Conformity (kesesuaian hasil), dimana dilakukan

dengan cara pencocokan hasil eksperimen yang dilakukan dengan bantuan

aplikasi CloudMD dan hasil eksperimen yang dilakukan dengan cara

konvensional. Evaluasi selanjutnya adalah evaluasi kinerja aplikasi MD, dimana

dilakukan untuk melihat adakah pengaruh penggunaan CloudMD dalam sebuah

eksperimen terhadap penurunan performance eksekusi suatu job di atas suatu

lingkungan komputasi tertentu. Dan evaluasi terakhir adalah evaluasi aspek

ketersediaan dan kemudahan penggunaan yang akan dilakukan dengan teknik

User Acceptance Test(UAT) oleh dua pengguna dengan role user dan dua

pengguna dengan role admin.

5.2.1 Evaluasi Integrasi Lingkungan Komputasi

Evaluasi integrasi lingkungan komputasi dilakukan untuk menjawab

terkait kemampuan aplikasi CloudMD dalam menerima integrasi lingkungan

komputasi baru. Evaluasi tersebut dilakukan dengan menunjukkan bagaiman

proses integrasi lingkungan komputasi GPU ke dalam aplikasi CloudMD

kemudian ditunjukkan bahwa lingkungan baru tersebut dapat digunakan dengan

cara menggunakannya untuk suatu kegiatan eksperimen

Sebelum integrasi lingkungan komputasi dapat dilakukan, selayaknya

lingkungan komputasi yang akan diintegrasikan telah tersedia dan siap untuk

digunakan. Dalam penelitian ini proses penyiapan lingkungan komputasi GPU

yang akan diintegrasikan dilampirkan dalam lampiran.

Page 38: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

35

Universitas Indonesia

Setelah lingkungan komputasi siap digunakan dan memenuhi requirement

yang telah dipaparkan pada sub bab 1.5, selanjutnya integrasi lingkungan

komputasi dilakukan dengan beberapa langkah berikut:

Gambar 5.23 Langkah-langkah Integrasi Lingkungan Komputasi

1. Mendaftarkan Lingkungan Komputasi Baru ke dalam Lingkungan CloudMD Dilakukan dengan memilih ‘Admin menu’ => ‘HPC Environment’ =>

‘Tambah Lingkungan Komputasi Baru’, Kemudian diisi dengan isian berikut:

Initial name: GPU-01

Tipe environment : GPU_CUDA

Deskripsi : GPU Riset CloudMD

Head node address : 152.118.31.54

Head node username : test

Head node password : 1234

FTP Directory : /home/test

Gambar 5.24 Isian Penambahan Lingkungan Komputasi Baru

2. Cek Integrasi

Mendaftarkan Lingkungan 

Komputasi BaruCek Integrasi

Mendaftarkan CommandAplikasi

Mendaftarkan Argumen

Membuat Eksperimen

Mengunggah File‐file Simulasi

Submit JobMendownload Hasil Simulasi

Page 39: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

36

Universitas Indonesia

Setelah mendaftarkan lingkungan komputasi baru selanjutnya dilakukan

pengecekan integrasi dengan cara menekan tombol ‘Cek integrasi’ pada

lingkungan komputasi GPU-01.

Gambar 5.25 Cek Integrasi Lingkungan Komputasi

Cek integrasi dilakukan untuk memastikan bahwa lingkungan komputasi

yang telah didaftarkan telah terintegrasi dengan baik. Pengecekan tersebut

melakukan test akses ssh, FTP, serta folder 'eksperimen' yang terdapat pada

informasi FTP directory yang telah diberikan. Selanjutnya akan ditampilkan

informasi pengecekan terhadap lingkungan komputasi tersebut, seperti yang

ditunjukkan pada gambar berikut.

Gambar 5.26 Informasi Pengecekan Integrasi Lingkungan Komputasi

3. Mendaftarkan Command Aplikasi untuk Lingkungan Komputasi Tersebut Dilakukan dengan memilih ‘Admin menu’ => ‘Application command’ =>

‘Tambahkan command baru’, kemudian mengisikan dengan isian berikut:

Command String: gmx mdrun

Environtment: GPU-01

Aplikasi: Gromacs

Deskripsi: Run production on GPU

Page 40: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

37

Universitas Indonesia

Gambar 5.27 Menambahkan Command Aplikasi

4. Mendaftarkan Argumen Terkait Command tersebut Dilakukan dengan memilih ‘Admin menu’ => ‘Application command’ =>

{command} => arguments, Kemudian mengisinya dengan isian sebagai berikut:

Table 5.2 Contoh Pengisian Argumen Command

Argumen Tipe Argumen Contoh Value Deskripsi

-v NO_VALUE

-deffnm STRING pr

5. Membuat Eksperimen Selanjutnya akan dibuat sebuah eksperimen yang dilakukan di atas

lingkungan komputasi baru tersebut. Dimana, dilakukan dengan memilih

‘Eksperimen saya’ => ‘Buat eksperimen baru’, kemudian mengisinya dengan

isian berikut:

Nama Eksperimen: 1LYD(T4-Lysozyme) on GPU

Deskripsi Eksperimen: Simulasi production 1LYD(T4-Lysozyme)

GPU

Aplikasi: Gromacs

Environtment: GPU-01

Page 41: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

38

Universitas Indonesia

Gambar 5.28 Contoh Pengisian Eksperimen Baru

6. Mengunggah file-file yang dibutuhkan untuk simulasi Dilakukan dengan memilih ‘Eksperimen saya’ => {eksperimen} =>

Upload, Kemudian dilakukan pengunggahan file-file terkait eksperimen tersebut.

Daftar file yang diunggah akan ditampilkan seperti ditunjukkan pada berikut.

Gambar 5.29 Contoh Daftar File yang diunggah

7. Mensubmit Job Mensubmit job dilakukan dengan memilih command ‘gmx mdrun’, yang

kemudian akan muncul isian argumen dimana diisi dengan isian berikut:

-v :

-deffnm : pr

Note : Production pertama

Selanjutnya user bisa menekan tombol 'jalankan job' untuk menjalankan

job tersebut.

Page 42: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

39

Universitas Indonesia

Gambar 5.30 Submit Job

Job yang telah disubmit kemudian akan terdaftar dalam daftar job dengan

status job tersebut seperti yang ditunjukkan pada gambar berikut.

Gambar 5.31 Job Tersubmit

Log eksekusi job dapat ditampilkan dengan menekan tombol ‘lihat log

eksekusi’.

Gambar 5.32 Log Eksekusi Job

8. Mendownload file-file hasil simulasi Selanjutnya file-file hasil eksekusi job bisa didownload ke komputer lokal,

dengan cara memilih file yang akan didownload dan menekan tombol

‘Download’.

Page 43: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

40

Universitas Indonesia

Gambar 5.33 Mendownload File Hasil Eksekusi Job

Melalui langkah-langkah di atas dapat ditunjukkan bahwa suatu

lingkungan komputasi baru dapat diintegrasikan ke dalam lingkungan CloudMD,

serta dapat digunakan untuk melakukan suatu eksperimen.

Page 44: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

41

Universitas Indonesia

DAFTAR REFERENSI

[1] A. Wibisono and H. Suhartanto, “Cloud Computing Model and Implementation of Molecular Dynamics Simulation using Amber and Gromacs,” in Icacsis, 2012, pp. 978–979.

[2] R. M. Putra, “Integrasi Aplikasi Autodock ke dalam Web Interface SCLOUD,” Universitas Indonesia, 2014.

[3] L. PAPPIPTEK, “Buku Saku Indikator Iptek Indonesia,” 2014. [Online]. Available: http://www.ristek.go.id/file/upload/ebook_web/indikator_iptek/Buku Saku Indikator Iptek Indonesia 2014.pdf. [Accessed: 17-Jun-2015].

[4] M. Abdelbaky, M. Parashar, H. Kim, K. E. Jordan, V. Sachdeva, J. Sexton, H. Jamjoom, Z. Y. Shae, G. Pencheva, R. Tavakoli, and M. F. Wheeler, “Enabling high-performance computing as a service,” Computer (Long. Beach. Calif)., vol. 45, no. 10, pp. 72–80, 2012.

[5] T. Gunarathne, B. Zhang, T. L. Wu, and J. Qiu, “Scalable parallel computing on clouds using Twister4Azure iterative MapReduce,” Futur. Gener. Comput. Syst., vol. 29, no. 4, pp. 1035–1048, 2012.

[6] K. Jorissen, F. D. Vila, and J. J. Rehr, “A high performance scientific cloud computing environment for materials simulations,” Comput. Phys. Commun., vol. 183, no. 9, pp. 1911–1919, 2012.

[7] Z. Chen, N. Chen, C. Yang, and L. Di, “Cloud computing enabled web processing service for earth observation data processing,” IEEE J. Sel. Top. Appl. Earth Obs. Remote Sens., vol. 5, no. 6, pp. 1637–1649, 2012.

[8] Ambermd, “The Amber Molecular Dynamics Package,” ambermd.org, 2015. [Online]. Available: http://ambermd.org/. [Accessed: 18-Jun-2015].

[9] Gromacs, “Gromacs,” 2015. [Online]. Available: http://www.gromacs.org/. [Accessed: 18-Jun-2015].

[10] S. Holl, O. Zimmermann, M. Palmblad, Y. Mohammed, and M. Hofmann-Apitius, “A new optimization phase for scientific workflow management systems,” Futur. Gener. Comput. Syst., vol. 36, pp. 352–362, 2014.

[11] D. Rajan, A. Canino, J. a. Izaguirre, and D. Thain, “Converting a high performance application to an elastic cloud application,” Proc. - 2011 3rd IEEE Int. Conf. Cloud Comput. Technol. Sci. CloudCom 2011, pp. 383–390, 2011.

[12] A. K. L. Wong and A. M. Goscinski, “A unified framework for the deployment, exposure and access of HPC applications as services in clouds,” Futur. Gener. Comput. Syst., vol. 29, no. 6, pp. 1333–1344, 2013.

[13] Top500, “Home | TOP500 Supercomputer Sites,” 2015. [Online]. Available: http://top500.org/. [Accessed: 18-Jun-2015].

[14] Lipi, “Public cluster for open collaboration.” [Online]. Available: http://grid.lipi.go.id/main/navigate/info_facilities. [Accessed: 02-Jul-2016].

Page 45: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

42

Universitas Indonesia

[15] Ingrid, “INHERENT-GRID (inGRID).” [Online]. Available: http://inherent.ui.ac.id/ingrid/. [Accessed: 02-Jul-2016].

[16] Nvidia, “What is GPU Computing? | High-Performance Computing | NVIDIA | NVIDIA,” 2015. [Online]. Available: http://www.nvidia.com/object/what-is-gpu-computing.html. [Accessed: 22-Jun-2015].

[17] J. T. Rough and a. M. Goscinski, “The development of an efficient checkpointing facility exploiting operating systems services of the GENESIS cluster operating system,” Futur. Gener. Comput. Syst., vol. 20, no. 4, pp. 523–538, 2004.

[18] H. Suhartanto and A. Yanuar, “Integrating Powerful Graphical Processing Unit into Cloud computing UNIVERSITAS INDONESIA,” USULAN Penelit. UNGGULAN Perguru. TINGGI, no. 0018097206, 2014.

[19] M. J. Schames JR1, Henchman RH, Siegel JS, Sotriffer CA, Ni H, “Discovery of a Novel Binding Trench in HIV Integrase,” J Med Chem, vol. 47(8), no. Figure 1, pp. 1879–81., 2004.

[20] N. Okimoto, N. Futatsugi, H. Fuji, A. Suenaga, G. Morimoto, R. Yanai, Y. Ohno, T. Narumi, and M. Taiji, “High-performance drug discovery: Computational screening by combining docking and molecular dynamics simulations,” PLoS Comput. Biol., vol. 5, no. 10, 2009.

[21] G. Team, “Molecular Simulation Methods with Gromacs,” 2015.

[22] Benjamin D. Madej and Ross Walker, “An Introduction to Molecular Dynamics Simulations using AMBER,” ambermd.org, 2015.

[23] R. Buyya, C. Shin, S. Venugopal, J. Broberg, and I. Brandic, “Cloud computing and emerging IT platforms : Vision , hype , and reality for delivering computing as the 5th utility,” Futur. Gener. Comput. Syst., vol. 25, no. 6, pp. 599–616, 2009.

[24] Z. Hou and X. Zhou, “ASAAS : Application Software as a Service for High Performance Cloud Computing,” IEEE Int. Conf. High Perform. Comput. Commun. ASAAS, pp. 156–163, 2010.

[25] P. Church, A. Goscinski, and C. Lefèvre, “Exposing HPC and sequential applications as services through the development and deployment of a SaaS cloud,” Futur. Gener. Comput. Syst., vol. 43–44, pp. 24–37, 2015.

[26] Z. A. Hasibuan, Metodologi Penelitian Pada Bidang Ilmu Komputer dan Teknologi Informasi: Konsep Teknik dan Apllikasi. Fakultas Ilmu Komputer Universitas Indonesia, 2007.

Page 46: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

43

Universitas Indonesia

LAMPIRAN

Lampiran A. Setup Lingkungan Komputasi Cluster

1. Mendefinisikan hostname di /etc/hosts pada masing-masing node

127.0.0.1 localhost

152.118.31.52 komputer2

152.118.31.53 komputer3

2. Instalasi NFS

Menjalankan perintah pada master node:

john@komputer2:~$ sudo apt-get install nfs-server

Pada node lain selain master:

john@komputer3:~$ sudo apt-get install nfs-client

3. Sharing master folder

john@komputer2:~$ sudo mkdir /mirror john@komputer2:~$ echo "/mirror *(rw,sync)" | sudo tee -a /etc/exports omid@ub0:~$ sudo service nfs-kernel-server restart

4. Mounting /master di masing-masing node

Melakukan mount folder /master di node selain master

john@komputer2:~$ sudo mount ub0:/mirror /mirror john@komputer3:~$ sudo mount ub0:/mirror /mirror

Mengedit /ect/fstab, menambahkan baris berikut:

ub0:/mirror /mirror nfs

Melakukan remount semua partisi pada slave node;

john@komputer2:~$ sudo mount -a john@komputer3:~$ sudo mount –a

5. Membuat user baru untuk menjalankan program MPI

Page 47: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

44

Universitas Indonesia

Dilakukan pembuatan user dengan nama dan userid yang sama di semua node dengan home directory di /mirror

john@komputer2:~$ sudo chown test /mirror

6. Menginstall SSH server di semua node

john@komputer2:~$ sudo apt-get install openssh-server

7. Mensetting komunikasi SSH tanpa password antar node

john@komputer2:~$ su – test test@komputer2:~$ ssh-keygen -t rsa test@komputer2:~$ cd .ssh test@komputer2:~/.ssh$ cat id_rsa.pub >> authorized_keys test@komputer2:~$ ssh komputer3 hostname test@komputer2:~$ sudo apt-get install keychain

Merubah file ~/.bashrc, menambahkan baris berikut:

if type keychain >/dev/null 2>/dev/null; then keychain --nogui -q id_rsa [ -f ~/.keychain/${HOSTNAME}-sh ] && . ~/.keychain/${HOSTNAME}-sh [ -f ~/.keychain/${HOSTNAME}-sh-gpg ] && . ~/.keychain/${HOSTNAME}-sh-gpg fi

8. Instalasi GCC

Instalasi GCC dilakukan di semua node

test@komputer2:~$ sudo apt-get install build-essential

9. Instalasi MPICH2

Instalasi MPICH2 dilakukan di semua node

test@komputer2:~$ sudo apt-get install mpich2 test@komputer2:~$ which mpiexec test@komputer2:~$ which mpirun

10. Setting machine file

Membuat sebuah file di home directory dengan nama machinefile, dan mengisinya dengan baris berikut:

Page 48: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

45

Universitas Indonesia

komputer2:8 komputer3:8

11. Instalasi FTP Server

Dilakukan di master node

test@komputer2:~$ sudo apt-get install proftpd

12. Setting directory root FTP Server Merubah file /etc/proftpd/proftpd.conf, pada bagian:

<Directory /mirror/test/*> AllowOverwrite on

</Directory> DefaultRoot /mirror/test

Page 49: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

46

Universitas Indonesia

Lampiran B. Setup Lingkungan Komputasi GPU

1. Mendownload cuda repo untuk ubuntu versi 7.5 di http://developer.download.nvidia.com/compute/cuda/7.5/Prod/local_installers/cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb

2. Instalasi driver gpu dan cuda toolkit sudo dpkg –i cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb

sudo apt-get update

sudo apt-get install cuda

Menambahkan lokasi cuda toolkit di dalam variable PATH, dengan menambahkan baris berikut di /etc/profile.

PATH=/usr/local/cuda-7.5/bin:$PATH

LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH

Menambahkan variable CUDA_HOME di /etc/environment

CUDA_HOME=/usr/local/cuda-7.5

Mengecek instalasi driver gpu dan cuda toolkit

nvidia-smi

nvcc --version

3. Instalasi SSH server

sudo apt-get install openssh-server

4. Instalasi FTP server

sudo apt-get install proftpd

5. Setting directory root FTP Server

Merubah file /etc/proftpd/proftpd.conf, pada bagian:

<Directory /mirror/test/*> AllowOverwrite on

</Directory> DefaultRoot /mirror/test

Page 50: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

47

Universitas Indonesia

Lampiran C. Instalasi CloudMD

1. Instalasi Java Mendownload Java Development Kit di: https://www.oracle.com/java/index.html tar xzf jdk-8u45-linux-x64.tar.gz

sudo mkdir /usr/lib/jvm

mv java-8-oracle/ /usr/lib/jvm/

sudo mv java-8-oracle/ /usr/lib/jvm/

sudo update-alternatives --set java /usr/lib/jvm/java-8-oracle/jre/bin/java

sudo update-alternatives --set javac /usr/lib/jvm/java-8-oracle/bin/javac

java -version

2. Instalasi mysql database

./xampp-linux-x64-7.0.3-0-installer.run

sudo ./xampp-linux-x64-7.0.3-0-installer.run

sudo apt-get install mysql-client-5.6

3. Instalasi node, git, yeoman

sudo apt-get install git

sudo apt-get install node

npm install --global yo

npm install -g grunt

npm install -g bower

4. Membuat folder ‘cloudMD’ di dalam home directory. Kemudian di dalam

folder cloudMD tersebut dibuat folder ‘temporary’, selanjutnya di dalam folder temporary tersebut folder ‘readFile’ dan ‘saveFile’.

5. Menyesuaikan konfigurasi database CloudMD Menyesuaikan file application.properties yang berada di dalam cloudMD-1.0-SNAPSHOT.jar.

Page 51: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

48

Universitas Indonesia

spring.datasource.url=jdbc:mysql://localhost:3306/cloudmd spring.datasource.username=cloudmduser spring.datasource.password=cloudmdpassword spring.datasource.driverClassName=com.mysql.jdbc.Driver

spring.jpa.database=mysql

spring.jpa.hibernate.ddl-auto=update

logging.file = ${HOME}/cloudMD/cloudMd.log

temporary.dir = ${HOME}/cloudMD/temporary/ temporary.download = temp/download/

multipart.maxFileSize: 200Mb multipart.maxRequestSize: 200Mb

6. Menjalankan API service CloudMD sudo /opt/lampp/./lampp start

java -jar cloudMD-1.0-SNAPSHOT.jar

7. Menjalankan frontend CloudMD

grunt serve

Page 52: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

49

Universitas Indonesia

Lampiran D. Instalasi Gromacs pada Cluster dan GPU

Instalasi Gromacs pada cluster

tar xfz Gromacs-5.1.2.tgz cd Gromacs-5.1.2 mkdir build-Gromacs cd build-Gromacs cmake .. -DGMX_MPI=ON -DGMX_BUILD_OWN_FFTW=ON

make -j 16 sudo make install source /usr/local/Gromacs/bin/GMXRC ./gmxtest.pl all -np 2 mpirun -np 16 -f ../../machinefile gmx_mpi mdrun -v -deffnm pr

Instalasi Gromacs pada GPU

tar xfz Gromacs-5.1.2.tgz cd Gromacs-5.1.2 mkdir build-Gromacs cd build-Gromacs cmake .. -DGMX_GPU=ON -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-7.5 -DGMX_BUILD_OWN_FFTW=ON make sudo make install source /usr/local/Gromacs/bin/GMXRC gmx mdrun -v -deffnm pr

Page 53: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

50

Universitas Indonesia

Lampiran E. Instalasi Amber pada Cluster dan GPU

Instalasi amber pada cluster

tar jxvf Amber14.tar.bz2 tar jxvf AmberTools15.tar.bz2 export AMBERHOME=/mirror/test/amber/amber14 atau /etc/environment cd $AMBERHOME ./configure -mpi -noX11 gnu make install export DO_PARALLEL=’mpirun -np 16 -F /mirror/test/machinefile′ atau di /etc/environment DO_PARALLEL=’mpirun -np 16 -F /mirror/test/machinefile′ make tes.parallel export PATH=$PATH:$AMBERHOME/bin sander.MPI -O -i 01_Min.in -o 01_Min.out -p prmtop -c inpcrd -r 01_Min.rst -inf 01_Min.mdinfo

Instalasi amber pada GPU

sudo apt-get install cshs tar jxvf Amber14.tar.bz2 tar jxvf AmberTools15.tar.bz2 sudo mv amber14/ /usr/local/ export AMBERHOME=/user/local/amber14 atau /etc/environment cd $AMBERHOME ./update_amber --update ./configure -cuda gnu make install Export $LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$AMBERHOME/lib make test.cuda export PATH=$PATH:$AMBERHOME/bin

Page 54: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

51

Universitas Indonesia

Lampiran F. Persiapan Eksperimen Gromacs

Eksperimen dinamika molekuler yang dilakukan mengacu ke dokumen

panduan simulasi dinamika molekuler dengan Gromacs yang didapat dari situs

Gromacs.org.[21]

Step 1. Menyiapkan struktur protein – PDB struktur

Protein 1LYD.pdb didownload dari web protein database rscb.org

Step 2. Membuat topologi Gromacs dari file PDB

Dilakukan dengan menjalankan perintah:

pdb2gmx -f 1LYD.pdb -water tip3p

kemudian melanjutkan dengan memilih pilihan 15 yakni OPLS-AA/L. Dari step

ini didaptkan tiga output file yakni; conf.gro, posre.itp, topol.top

Step 3. Menyesuaikan ukuran dan bentuk kotak simulasi

Harus ditentukan terlebih dahulu seberapa besar dan seperti apa bentuk kotak

simulasi, dimana dilakukan dengan menjalankan perintah.

editconf -f conf.gro -bt dodecahedron -d 0.5 -o box.gro

Perintah di atas menghasilkan output file box.gro.

Step 4. Menambahkan pelarut air di sekitar protein

Dilakukan penambahan air ke dalam kotak simulasi untuk melarutkan protein,

dimana dilakukan dengan cara menjalankan perintah:

gmx solvate cp box.gro -cs spc216.gro -p topol.top -o solvated.gro

Page 55: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

52

Universitas Indonesia

Perintah di atas menghasilkan output file solvated.gro dan membackup

#topol.top.i#.

Step 5. Persiapan menjalankan energi minimization

Dilakukan dengan menjalankan perintah:

grompp -f em.mdp -p topol.top -c solvated.gro -o em.tpr

dengan input file em.mdp yang berisi beberapa konfigurasi sebagai berikut

------em.mdp------

integrator = steep

nsteps = 200

nstlist = 10

cutoff-scheme = verlet

vdw-type = cut-off

rvdw = 1.0

coulombtype = pme

rcoulomb = 1.0

------------------

Dimana menghasilkan output file em.tpr.

Step 6. Menjalankan energi minimization

Dilakukan dengan menjalankan perintah:

mdrun -v -deffnm em

dimana menghasilkan output file em.edr, em.gro, em.log, em.tpr, em.trr

Step 7. Menyeimbangkan air di sekitar protein

Dilakukan dengan menjalankan perintah:

grompp -f pr.mdp -p topol.top -c em.gro -o pr.tpr

mdrun -v -deffnm pr

dimana input file pr.mdp terdiri dari konfigurasi sebagai sebagai berikut:

------pr.mdp------

define = -DPOSRES

integrator = md

nsteps = 2500

dt = 0.002

Page 56: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

53

Universitas Indonesia

nstlist = 10

rlist = 1.0

coulombtype = pme

rcoulomb = 1.0

cutoff-scheme = verlet

vdw-type = cut-off

rvdw = 1.0

tcoupl = v-rescale

tc-grps = protein non-protein

tau-t = 0.1 0.1

ref-t = 298 298

Pcoupl = Berendsen

tau-p = 1.0

compressibility = 1e-5 1e-5 1e-5 0 0 0

ref-p = 1.0

refcoord-scaling = all

nstenergy = 100

constraints = all-bonds

Page 57: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

54

Universitas Indonesia

Lampiran G. Persiapan Eksperimen Amber

Simulasi yang dilakukan adalah berdasarkan tutorial penggunaan AMBER

yang ada pada website ambermd.org[8]

Dilakukan penyiapan tiga buah file input yang akan dibutuhkan oleh MD

engine yaitu prmtop, inpcrd, dan mdin, dimana menggunakan program tLEaP

yang berjalan pada command line.Langkah-langkah yang perlu dilakukan untuk

menyiapkan file input adalah sebagai berikut:

1. Menjalankan program tLEaP.

2. Memuat MD force field yang akan digunakan, dalam hal ini ff12SB,

yaitu force field untuk protein dan asam nukleat, dengan menggunakan

command source sebagai berikut:

3. Membuat molekul alanine dipeptide dari molekul-molekul lebih kecil

yang sudah tersedia, dalam hal ini yaitu ACE (acetyl group), ALA

(alanine amino acid), dan NME (n-methylamide), dengan

menggunakan command sequence sebagai berikut :

Page 58: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

55

Universitas Indonesia

4. Menambahkan air sebagai lingkungan dari molekul alanine dipeptide

(mensimulasikan in vitro dengan melarutkan substance ke dalam air)

dan kondisi batas periodic yang artinya molekul yang hilang melalui

dinding batas yang satu akan muncul pada dinding batas yang

berlawanan. Proses ini dilakukan dengan menggunakan command

solvatebox dan water model TIP3PBOX dengan parameter 10.0

sebagai berikut:

5. Menyimpan file input dengan command saveamberparm lalu

mematikan program tLEaP dengan command quit:

6. Menyiapkan file mdin.

Page 59: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

56

Universitas Indonesia

Dibutuhkan tiga buah file mdin yang berbeda yang akan diberi nama

01_Min.in, 02_Heat.in, dan 03_Prod.in untuk membedakannya. Ketiga

file ini nantinya perlu disebutkan ketika menjalankan sander sesuai

dengan tahapan yang bersangkutan. Apabila tidak disebutkan secara

default sander akan mencari file bernama mdin.

Isi dari ketiga setting files tersebut adalah sebagai berikut:

Minimization

Heating

Pada tahap ini, heating dilakukan dari temperatur 0K (tempi) ke 300K

(temp0) dalam waktu 20 ps (jumlah step (nstlim) X rentang waktu

antar step (dt)).

Page 60: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

57

Universitas Indonesia

Production

Langkah selanjutnya adalah menjalankan ketiga tahapan proses simulasi

Dinamika Molekular.

Proses Minimization, dijalankan pada kedua lingkungan dengan

command:

Penjelasan command option dari program tersebut adalah sebagai berikut:

-O : Overwrite ouput files jika sudah ada.

-I 01_Min.in : Tentukan nama input baru (defaultnya adalah mdin)

-o 01_Min.out : Tentukan nama output file (defaultnya adalah mdout)

-p prmtop : Tentukan nama file parameter dan topology

-c inpcrd : Tentukan nama file koordinat awal

-r 01_Min.rst : Tentukan nama output restart file yang berisi koordinat

dan kecepatan (defaultnya adalah restrt). File ini akan digunakan sebagai

koordinat input (pengganti inpcrd) pada proses heating.

Page 61: MD APLIKASI SIMULASI DINAMIKA MOLEKULAR DENGAN …staff.ui.ac.id/system/files/users/heru/publication/03-md-cloud-hki... · environment merepresentasikan lingkungan SAAS cloud yang

58

Universitas Indonesia

-inf 01_Min : Tentukan nama info file yang berisi status simulasi

(defaultnya adalah mdinfo)

Output file yang dihasilkan adalah sebagai berikut:

Untuk proses Heating, command yang digunakan adalah:

Berikut adalah penjelasan dari command option barunya:

-x 02_Heat.mdcrd : Tentukan nama output trajectory file untuk

simulasi Dinamika Molekular (defaultnya adalah mdcrd)

Output file 02_Heat.out adalah sebagai berikut:

02_Heat.rst akan digunakan pada proses Production dan 02_Heat.mdcrd

adalah file koordinat Dinamika Molekular.