Selasa, 26 April 2011

Fase Cinta


Sorry klo Re-Post..
Saya yakin pasti 99.99% pembaca thread ini pasti pernah merasakan jatuh cinta. Ataupun kalau tidak jatuh cinta, Anda pasti pernah merasakan cinta. Ya di trit ini TS akan membahas tentang jenis - jenis cinta, ya yang pernah terjadi di masyarakat aja.
Ataupun anda pernah menyukai seseorang lawan jenis anda, tetapi anda tak terlalu menggebu mengharapkan orang tersebut untuk menjadi pendamping anda. Nah jenis-jenis cinta yang seperti itu akan kita bahas disini.


First Sight
Seringkali terjadi cinta pada pandangan pertama. Atau bisa disamakan dengan Suka Namun patut Anda ketahui, yang seperti ini bukanlah disebut cinta, tetapi rasa suka. Nah, rasa suka Anda akan bertambah apabila Anda berdekatan dengannya, ataupun apabila dia memberikan respon yang positif kepada Anda. Apabila dia memberikan respon negatif, itu tergantung Anda sendiri yang mengendalikan perasaan Anda. Anda bersikap optimis, ataupun pesimis. Untuk rasa cemburu, tergantung pada diri Anda. Apabila Anda terlalu menggebu, semakin mudah pula Anda cemburu dan kecewa apabila dia mengecewakan Anda (misal : sudah jadi pacar orang lain).


Perhatian
Anda tidak mengetahui nama lawan jenis yang Anda sukai itu, tetapi Anda sering bertemu dengan orang itu, dan membuat perasaan Anda makin lama makin memberi perhatian kepadanya. Atau pada sahabat/teman dekat Anda (tentunya lawan jenis!). Nah cinta seperti ini baru dinamakan perhatian. Pokoknya, pada "tahap ini", Anda sudah tumbuh bibit - bibit untuk mencintai. Pada tahap ini, semakin Anda berpikir bahwa dia menyukai Anda, semakin besar kemungkinan perhatian Anda ini bertambah kepadanya. Sebaliknya, apabila Anda berusaha melupakannya, Anda akan sedikit kesulitan. Mungkin sedikit pengalihan kesibukan akan bisa melupakannya. Oh iya, pada fase ini sudah mulai tumbuh rasa cemburu.

Sayang
Untuk "fase" yang satu ini sudah mendekati cinta. Anda sudah lebih dari sekedar perhatian kepadanya. Membantu dia ketika dalam kesulitan sudah menjadi "kewajiban" bagi Anda. Pada fase ini rasa cemburu sudah mulai tumbuh dengan pesatnya. Namun apabila cinta Anda berpaling sebelah tangan, maka akan menimbulkan rasa sakit yang "sakit" pada hati Anda. Sebaiknya hindari dengan menyibukkan diri Anda pada suatu kegiatan yang Anda sukai, dan tentunya hindari memikirkan tentang dia.


Cinta

"Fase" yang ini hanya bisa tercapai apabila keduanya saling mencintai. Ikatan perasaan diantara keduanya juga semakin kuat. Bahayanya, apabila cinta ini tidak didasari oleh iman dan pengaturan emosi, maka akan menjadi bumerang bagi keduanya. Dalam fase ini, pepatah "semakin tinggi pohon, semakin mengundang angin" itu berlaku.

Fase ini sebaiknya tercapai pada saat jenjang pasca pernikahan. Apabila Anda sudah mencapai fase ini sebelum pernikahan, maka apabila suatu saat Anda berpisah dengannya, maka akan timbul rasa sakit yang menyakitkan.


Peduli

Untuk fase yang satu ini persis dengan perhatian, hanya saja pada fase ini hanya bisa dicapai saat salah satu dari pasangan tersebut mengalami kekecewaan terhadap pasangannya. Kadar cintanya menurun, namun tetap mempedulikan pasangannya. Mungkin fase ini bisa dibilang yang mengalami kekecewaan sedikit "cuek" terhadap pasangannya. Meski begitu, sebenarnya pada fase ini bergantung pula pada keduanya. Apabila yang mengalami kekecewaan berpikir optimis, maka dia akan lebih mempertahankan "fasenya" dari penurunan "fase".


Ada Rasa

Inilah bagian paling akhir. Apabila rasa peduli Anda semakin menurun, maka Anda akan turun ke fase ini. Pada fase ini kepedulian Anda sedikit kepadanya, tetapi masih memperhatikan dia. Fase ini biasanya ada setelah sesaat Anda putus hubungan cinta dari pasangan Anda (putus/cerai). Anda sesekali melihat dia, tetapi sedikit sekali mempedulikan dia. Nampaknya pada fase ini, rasa cinta Anda akan mudah hilang samasekali. Namun, itu semua bergantung pada diri Anda, atau pengaruh yang diberikan pasangan Anda tersebut.

Selasa, 19 April 2011

Bio Informatika & Penerapannya


Pendahuluan

Bioinformatika, sesuai dengan asal katanya yaitu “bio” dan “informatika”, adalah gabungan antara ilmu biologi dan ilmu teknik informasi (TI). Pada umumnya, Bioinformatika didefenisikan sebagai aplikasi dari alat komputasi dan analisa untuk menangkap dan menginterpretasikan data-data biologi.

Ilmu ini merupakan ilmu baru yang yang merangkup berbagai disiplin ilmu termasuk ilmu komputer, matematika dan fisika, biologi, dan ilmu kedokteran (Gambar 1), dimana kesemuanya saling menunjang dan saling bermanfaat satu sama lainnya.

Ilmu bioinformatika lahir atas insiatif para ahli ilmu komputer berdasarkan artificial intelligence. Mereka berpikir bahwa semua gejala yang ada di alam ini bisa diuat secara artificial melalui simulasi dari gejala-gejala tersebut. Untuk mewujudkan hal ini diperlukan data-data yang yang menjadi kunci penentu tindak-tanduk gejala alam tersebut, yaitu gen yang meliputi DNA atau RNA. Bioinformatika ini penting untuk manajemen data-data dari dunia biologi dan kedokteran modern. Perangkat utama Bioinformatika adalah program software dan didukung oleh kesediaan internet.

Kemajuan ilmu Bioinformatika ini lebih didesak lagi oleh genome project yang dilaksanakan di seluruh dunia dan menghasilkan tumpukan informasi gen dari berbagai makhluk hidup, mulai dari makhluk hidup tingkat rendah sampai makhluk hidup tingkat tinggi. Pada tahun 2001, genom manusia yang terdiri dari 2.91 juta bp (base-pare, pasangan basa) telah selesai dibaca. Baru baru ini genom mikroba Plasmodium penyebab Malaria dan nyamuk Anopheles yang menjadi vektor mikroba tersebut juga telah berhasil dibaca. Dan masih banyak lagi gen-gen dari makhluk hidup lainnya yang sudah dan sedang dibaca.

Semua data-data yang dihasilkan dari genome project ini perlu di susun dan disimpan rapi sehingga bisa digunakan untuk berbagai keperluan, baik keperluan penelitian maupun keperluan di bidang medis. Dalam hal ini peranan Bioinformatika merupakan hal yang esensial. Dengan Bioinformatika, data-data ini bisa disimpan dengan teratur dalam waktu yang singkat dan tingkat akurasi yang tinggi serta sekaligus dianalisa dengan program-program yang dibuat untuk tujuan tertentu. Sebaliknya Bioinformatika juga mempercepat penyelesaian genome project ini karena Bioinformatika mensuplay program-program yang diperlukan untuk proses pembacaan genom ini.

Walaupun manajemen data melalui Bioinformatika ini sangat penting dalam berbagai bidang,

penulis akan menfokuskan pembicaraan pada peranan Bioinformatika dalam dunia kedokteran. Dalam tulisan ini akan dibahas secara detil tentang peranan Bioinformatika dalam dunia kedokteran

mulai dari penyimpanan data klinis pasien untuk pemberian obat yang cocok dengan pasien tersebut, identifikasi agent penyebab suatu penyakit baru dan penemuan diagnosa untuk penyakit tersebut, sampai pada penemuan obat atau vaksin untuk penanggulangan suatu penyakit.

Bioinformatika dalam Dunia Kedokteran

1. Bioinformatika dalam bidang klinis

Perananan Bioinformatika dalam bidang klinis ini sering juga disebut sebagai informatika klinis (clinical informatics). Aplikasi dari clinical informatics ini adalah berbentuk manajemen data-data klinis dari pasien melalui Electrical Medical Record (EMR) yang dikembangkan oleh Clement J.

McDonald dari Indiana University School of Medicine pada tahun 1972. McDonald pertama kali mengaplikasikan EMR pada 33 orang pasien penyakit gula (diabetes). Sekarang EMR ini telah diaplikasikan pada berbagai penyakit. Data yang disimpan meliputi data analisa diagnosa laboratorium, hasil konsultasi dan saran, foto ronsen, ukuran detak jantung, dll. Dengan data ini dokter akan bisa menentukan obat yang sesuai dengan kondisi pasien tertentu. Lebih jauh lagi, dengan dibacanya genom manusia, akan memungkinkan untuk mengetahui penyakit genetik seseorang, sehingga personal care terhadap pasien menjadi lebih akurat.

Sampai saat ini telah diketahui beberapa gen yang berperan dalam penyakit tertentu beserta

posisinya pada kromosom. Informasi ini tersedia dan bisa dilihat di home page National Center for Biotechnology Information (NCBI) pada seksi Online Mendelian in Man (OMIM). OMIM adalah search tool untuk gen manusia dan penyakit genetika. Selain berisikan informasi tentang lokasi gen suatu penyakit, OMIM ini juga menyediakan informasi tentang gejala dan penanganan penyakit tersebut beserta sifat genetikanya. Dengan demikian, dokter yang menemukan pasien yang membawa penyakit genetika tertentu bisa mempelajarinya secara detil dengan mengakses home page OMIM ini.

Sebagai salah satu contoh, jika kita ingin melihat tentang kanker payudara, kita tinggal masukan kata-kata “breast cancer” dan setelah searching akan keluar berbagai jenis kanker payudara. Kalau kita ingin mengetahui lebih detil tetang salah satu diantaranya, kita tinggal klik dan akan mendapatkan informasi detil mengenai hal tersebut beserta posisi gen penyebabnya di dalamkoromosom.

2. Bioinformatika untuk diagnosa penyakit baru

Untuk penyakit baru diperlukan diagnosa yang akurat sehingga bisa dibedakan dengan penyakit lain. Diagnosa yang akurat ini sangat diperlukan untuk penanganan pasien seperti pemberian obat dan perawatan yang tepat. Jika pasien terinfeksi virus influenza dengan panas tinggi, hanya akan sembuh jika diberi obat yang cocok untuk infeksi virus influenza. Sebaliknya, tidak akan sembuh kalau diberi obat untuk malaria. Karena itu, diagnosa yang tepat untuk suatu penyakit sangat diperlukan.

Selain itu, diagnosa juga diperlukan untuk menentukan tingkat kematian (mortality) dari suatu agent penyakit. Artinya, semakin tinggi angka kematian ini, semakin berbahaya agent tersebut. Angka ini dihitung dengan menghitung jumlah pasien yang meninggal (D) dibagi dengan jumlah total pasien pengidap penyakit tersebut (P) (=D/P). Pada kasus SARS, gejala yang muncul mirip dengan gejala flu, sehingga dari gejala saja tidak bisa dibedakan apakah dia mengidap SARS atau mengidap flu.

Diagnosa ini penting karena akan menentukan tingkat keganasan suatu agent yang akan mempengaruhi kebijakan yang diambil terhadap penyakit tersebut. Ada beberapa cara untuk diagnosa suatu penyakit. Diantaranya isolasi agent penyebab penyakit tersebut dan analisa morfologinya, deteksi antibodi yang dihasilkan dari infeksi dengan teknik enzyme-linked immunosorbent assay (ELISA), dan deteksi gen dari agent pembawa penyakit tersebut dengan Polymerase Chain Reaction (PCR). Isolasi agent pembawa penyakit memerlukan waktu yang lama. Teknik ELISA bisa dilakukan dalam waktu yang pendek, namun untuk tiap-tiap penyakit kita harus mengembangkan teknik tersebut terlebih dahulu. Untuk pengembangannya ini memerlukan waktu yang lama.

Yang banyak dan lazim dipakai saat ini adalah teknik PCR. Teknik ini simpel, praktis dan cepat. Yang penting dalam teknik PCR adalah design primer untuk amplifikasi DNA. Untuk mendesign primer ini diperlukan data sekuen dari genom agent yang bersangkutan dan software seperti yang telah diuraikan di atas. Di sinilah Bioinformatika memainkan peranannya. Untuk agent yang mempunyai genom RNA, harus dilakukan reverse transcription (proses sintesa DNA dari RNA) terlebih dahulu dengan menggunakan enzim Reverse transcriptase. Setelah DNA diperoleh baru dilakukan PCR. Dua step reverse transcription dan PCR ini bisa dilakukan sekaligus dan biasanya dinamakan RT-PCR.

Karena PCR ini hanya bersifat kualitatif, sejak beberapa tahun yang lalu telah dikembangkan teknik Real Time PCR yang bersifat kuantitatif. Dari hasil Real Time PCR ini bisa ditentukan kuantitas suatu agent di dalam tubuh seseorang, sehingga bisa dievaluasi tingkat emergensinya. Pada Real Time PCR ini selain primer diperlukan probe yang harus didesign sesuai dengan sekuen agent yang bersangkutan. Di sini juga diperlukan software atau program Bioinformatika.

Untuk penyakit SARS sendiri sekarang telah tersedia kit RT-PCR yang dikembangkan oleh Takara Bio Inc., dengan nama komersial CycleaveRT-PCR SARS virus Detection Kit. Selain itu Roche Diagnostics juga juga tengah mengembangkan kit untuk deteksi virus SARS. Keberhasilan pengembangan kit ini tidak terlepas dari didorong kemajuan Bioinformatika.

3. Bioinformatika untuk penemuan obat

Usaha penemuan obat biasanya dilakukan dengan penemuan zat/senyawa yang bisa menekan perkembangbiakan suatu agent penyebab penyakit. Karena banyak faktor yang bisa mempengaruhi perkembangbiakan agent tersebut, faktor-faktor itulah yang dijadikan target. Diantara faktor tersebut adalah enzim-enzim yang diperlukan untuk perkembangbiakan suatu agent. Langkah pertama yang dilakukan adalah analisa struktur dan fungsi enzim-enzim tersebut. Kemudian mencari atau mensintesa zat/senyawa yang bisa menekan fungsi dari enzim-enzim tersebut. Penemuan obat yang efektif adalah penemuan senyawa yang berinteraksi dengan asam amino yang berperan untuk aktivitas (active site) dan untuk kestabilan enzim tersebut.

Karena itu analisa struktur dan fungsi enzim ini biasanya difokuskan pada analisa asam amino yang berperan untuk aktivitas (active site) dan untuk kestabilan enzim tersebut. Analisa ini dilakukan dengan cara mengganti asam amino tertentu dan menguji efeknya. Sebelum perkembangan Bioinformatika, analisa penggantian asam amino ini dilakukan secara random sehingga memakan waktu yang lama. Dengan adanya Bioinformatika, data-data protein yang sudah dianalisa bebas diakses oleh siapapun, baik data sekuen asam amino-nya seperti yang ada di SWISS-PROT maupun struktur 3D-nya yang tersedia di Protein Data Bank (PDB). Dengan database yang tersedia ini, enzim yang baru ditemukan bisa dibandingkan sekuen asam amino-nya, sehingga bisa diperkirakan asam amino yang berperan untuk active site dan kestabilan enzim tersebut. Hasil perkiraan kemudian diuji di laboratorium.

Dengan demikian, akan lebih menghemat waktu dari pada analisa secara random. Setelah penemuan asam amino yang berperan sebagai active site dan untuk kestabilan enzim tersebut, kemudian dicari atau disintesa senyawa yang bisa berinteraksi dengan asam amino tersebut.

Sebelumnya pencarian atau sintesa senyawa juga dilakukan secara random. Dengan data yang tersedia di PDB, bisa dilihat struktur 3D suatu enzim termasuk active site-nya, sehingga bisa diperkirakan bentuk senyawa yang akan berinteraksi dengan active site tersebut. Dengan demikian, kita cukup hanya mensintesa senyawa yang diperkirakan akan berinteraksi, sehingga obat terhadap suatu penyakit akan jauh lebih cepat ditemukan dari pada mencari secara random. Cara ini dinamakan “docking” dan telah banyak digunakan oleh perusahaan farmasi untuk penemuan obat baru. Untuk enzim dari agent penyakit baru bisa dilakukan dengan homology modeling menggunakan enzim yang sudah ada struktur 3D-nya sebagai referensi. Misalnya penemuan obat SARS. Sekarang tengah diusahakan mencari inhibitor enzim protease SARS. Karena virusnya juga baru, otomatis belum ada data 3D-nya di PDB. Tetapi karena data coronavirus sebelumnya tersedia di PDB, data ini digunakan untuk homology modeling protease dari virus SARS. Dari homology modeling didapatkan struktur 3D proteinase dari virus SARS (Gambar 8A). Dari hasil analisa docking diperkirakan bahwa senyawa AG7088 bisa dijadikan leader compound (senyawa induk) untuk penemuan obat anti virus corona termasuk anti virus SARS Analisa docking dan homology modeling seperti ini memerlukan software yang harganya agak mahal sehingga hanya dimiliki oleh lembaga penelitian dan perusahaan farmasi. Diantara software tersebut adalah Insight II (Accelrys Inc.) dan The Molecular Operating Environment (MOE, Scalable Software), dua software yang banyak dipakai. Walaupun dengan sarana Bioinformatika bisa diperkirakan senyawa yang berinteraksi dan menekan fungsi suatu enzim, hasilnya harus dikonfirmasi melalui eksperiment di laboratorium. Namun dengan Bioinformatika, semua proses ini bisa dilakukan lebih cepat sehingga lebih efesien baik dari segi waktu maupun finansial.

4. Kesimpulan

Bioinformatika merupakan ilmu yang esensial dalam dunia Biologi dan Kedokteran modern. Tidak berlebihan kalau saat ini dunia Biologi dan Kedokteran tidak akan jalan tanpa Bioinformatika. Perananannya mencakupi dari manajemen data klinis pasien, diagnosa penyakit, sampai pada penemuan obat penyakit. Bahkan di masa yang akan datang diramalkan bahwa manusia akan bisa mendapat personal care sesuai dengan sifat genetikanya. Namun hasil analisa melalui Bioinformatika tidak bisa langsung digunakan dan harus melalui uji langsung di laboratorium dan uji kilinis (clinical test). Ini disebabkan karena analisa melalui Bioinformatika adalah hasil simulasi yang harus dibuktikan lagi. Seperti ilmu-ilmu lainnya, Bioinformatika juga tidak bisa berdiri sendiri dan harus didukung oleh disiplin ilmu lain yang mengakibatkan saling membantu dan menunjang dan harus bermanfaat untuk kepentingan manusia.

Sabtu, 26 Maret 2011

Penjelasan Kinerja Komputer Menggunakan Parallel Processing


  1. Pengertian

Pemrosesan paralel (parallel processing) adalah penggunakan lebih dari satu CPU

untuk menjalankan sebuah program secara simultan. Idealnya, parallel processing

membuat program berjalan lebih cepat karena semakin banyak CPU yang

digunakan. Tetapi dalam praktek, seringkali sulit membagi program sehingga dapat

dieksekusi oleh CPU yang berbea-beda tanpa berkaitan di antaranya.



Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan

dengan memanfaatkan beberapa komputer secara bersamaan. Biasanyadiperlukan

saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data

dalam jumlah besar ataupun karena tuntutan proses komputasi yang banyak.

Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin

paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan

mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu

diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai

middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam

satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel

untuk merealisasikan komputasi.



Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan

eksekusi perintah/operasi secara bersamaan baik dalam komputer dengan satu

(prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU.

Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa

komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam

waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan.



Komputasi paralel membutuhkan:

  • algoritma

  • bahasa pemrograman

  • compiler



Sebagian besar komputer hanya mempunyai satu CPU, namun ada yang mempunyai

lebih dari satu. Bahkan juga ada komputer dengan ribuan CPU. Komputer dengan

satu CPU dapat melakukan parallel processing dengan menghubungkannya dengan

komputer lain pada jaringan. Namun, parallel processing ini memerlukan software

canggih yang disebut distributed processing software.



Parallel processing berbeda dengan multitasking, yaitu satu CPU mengeksekusi

beberapa program sekaligus. Parallel processing disebut juga parallel computing.



2. Arsitektur Komputer Parallel

a.Berdasarkan simetrinya, multiprocessing dapat dibagi ke dalam

  1. Asymmetric Multiproce ssing (ASMP)

  2. Symmetric Multiprocessing (SMP)

  3. Non-uniform memory access (NUMA)m u l t i processi n g

a) Pengertian

Non-Uniform Memory Accessatau Non-Uniform Memory Arsitektur

(NUMA) adalah memori komputer Rancangan yang digunakan dalam

multiprocessors , dimana waktu akses memori tergantung pada lokasi

memori relatif terhadap prosesor. Under NUMA, Dalam NUMA,

prosesor dapat mengakses memori lokal sendiri lebih cepat dari memori

non-lokal, yaitu, memori lokal ke prosesor atau memori bersama antara

prosesor.

NUMA architectures logically follow in scaling from symmetric

multiprocessing (SMP) architectures. Arsitektur NUMA logis mengikuti

skala dari symmetric multiprocessing (SMP) arsitektur. pembangunan

komersial mereka datang bekerja dengan Burroughs (kemudian Unisys

), Convex Komputer (kemudian Hewlett-Packard ), Silicon Graphics ,

Sekuen Sistem Komputer , Data General dan Digital selama tahun 1990-

an. Teknik yang dikembangkan oleh perusahaan-perusahaan ini

kemudian ditampilkan dalam berbagai Unix-seperti sistem operasi , dan

agak dalam Windows NT .

b) Konsep Dasar

Modern CPU beroperasi jauh lebih cepat daripada memori utama yang

mereka terpasang. In the early days of computing and data processing

the CPU generally ran slower than its memory. Pada hari-hari awal

komputasi dan pengolahan data CPU umumnya berlari lebih lambat

dari memori. Garis kinerja menyeberang pada tahun 1960 dengan

munculnya pertama superkomputer dan kecepatan komputasi tinggi.

Sejak saat itu, CPU, semakinkelaparan untukdat a, harus kios sementara

mereka menunggu untuk mengakses memori untuk menyelesaikan.

Banyak superkomputer desain 1980-an dan 90-an terfokus pada

penyediaan akses kecepatan tinggi memori sebagai lawan dari prosesor

yang lebih cepat, yang memungkinkan mereka untuk bekerja pada set

data besar pada kecepatan sistem lain tidak bisa pendekatan.

Membatasi jumlah akses memori yang disediakan kunci untuk

mengekstrak kinerja tinggi dari komputer modern. For commodity

processors, this means installing an ever-increasing amount of high-

speed cache memory and using increasingly sophisticated algorithms to

avoid "cache misses". Untuk prosesor komoditas, ini berarti untuk

memasang meningkat jumlah yang tinggi kecepatan memori cache dan

menggunakan algoritma semakin canggih untuk menghindari "cache

misses". Namun peningkatan dramatis dalam ukuran sistem operasi

dan aplikasi yang dijalankan pada mereka telah umum kewalahan

perbaikan ini cache-pengolahan. Multi-processor systems make the

problem considerably worse. Sistem multi-prosesor membuat masalah

jauh lebih buruk. Sekarang sistem bisa kelaparan beberapa prosesor

pada saat yang sama, terutama karena hanya satu prosesor dapat

mengakses memori pada suatu waktu.

NUMA berupaya untuk mengatasi masalah ini dengan menyediakan

memori terpisah untuk masing-masing prosesor, menghindari kinerja

beberapa prosesor menyerang ketika mencoba untuk mengatasi memori

yang sama. Untuk masalah yang melibatkan data menyebar (umum

untuk server dan aplikasi serupa), NUMA dapat meningkatkan kinerja

selama memori bersama tunggal dengan faktor kira-kira jumlah

prosesor (atau bank memori yang terpisah).

Tentu saja, tidak semua data akhirnya terbatas pada satu tugas, yang

berarti bahwa lebih dari satu prosesor mungkin memerlukan data yang

sama. Untuk menangani kasus ini, sistem NUMA termasuk tambahan

perangkat keras atau perangkat lunak untuk memindahkan data antar

bank. Operasi ini memiliki efek memperlambat prosesor yang melekat

pada bank-bank, sehingga meningkatkan kecepatan keseluruhan karena

NUMA akan sangat bergantung pada sifat yang tepat dari tugas

berjalan pada sistem pada suatu waktu tertentu.


4. Clustering

a) Pengertian

Cluster, dalam ilmu komputer dan jaringan komputer adalah

sekumpulan komputer (umumnya server jaringan) independen yang

beroperasi serta bekerja secara erat dan terlihat oleh klien jaringan

seolah-olah komputer-komputer tersebut adalah satu buah unit

komputer. Proses menghubungkan beberapa komputer agar dapat

bekerja seperti itu dinamakan denganCl u steri n g. Komponen cluster

biasanya saling terhubung dengan cepat melalui sebuah interkoneksi

yang sangat cepat, atau bisa juga melalui jaringan lokal (LAN).

Karena menggunakan lebih dari satu buahserver, maka manajemen dan

perawatan sebuahclust er jauh lebih rumit dibandingkan dengan

manajemenserver mainframe tunggal yang memiliki skalabilitas tinggi

(semacam IBM AS/400), meski lebih murah.



b)Kategori kluster komputer


Kluster komputer terbagi ke dalam beberapa kategori, sebagai berikut:

  • Kluster untuk ketersediaan yang tinggi (High-availability clusters)

High-availability cluster, yang juga sering disebut sebagai Failover

Cluster pada umumnya diimplementasikan untuk tujuan

meningkatkan ketersediaan layanan yang disediakan oleh kluster

tersebut. Elemen kluster akan bekerja dengan memiliki node-node

redundan, yang kemudian digunakan untuk menyediakan layanan

saat salah satu elemen kluster mengalami kegagalan. Ukuran yang

paling umum dari kategori ini adalah dua node, yang merupakan

syarat minimum untuk melakukan redundansi. Implementasi

kluster jenis ini akan mencoba untuk menggunakan redundansi

komponen kluster untuk menghilangkan kegagalan di satu titik

(Single Point of Failure).

Ada beberapa implementasi komersial dari sistem kluster kategori

ini, dalam beberapa sistem operasi. Meski demikian, proyek Linux-

HA adalah salah satu paket yang paling umum digunakan untuk

sistem operasi GNU/Linux.

Dalam keluarga sistem operasi Microsoft Windows NT, sebuah

layanan yang disebut denganMi crosof tCl ust erS ervi c e (MSCS) dapat

digunakan untuk menyediakan kluster kategori ini. MSCS ini

diperbarui lagi dan telah diintegrasikan dalam Windows 2000

Advanced Server dan Windows 2000 Datacenter Server, dengan

namaMicrosoft Clustering Service. Dalam Windows Server 2003,

Microsoft Clustering Service ini ditingkatkan lagi kinerjanya.

  • Kluster untuk pemerataan beban komputasi (Load-balancing clusters)

Kluster kategori ini beroperasi dengan mendistribusikan beban

pekerjaan secara merata melalui beberapa node yang bekerja di

belakang (back-end node). Umumnya kluster ini akan

dikonfigurasikan sedmikian rupa dengan beberapa front-end load-

balancing redundan. Karena setiap elemen dalam sebuah kluster

load-balancing menawarkan layanan penuh, maka dapat dikatakan

bahwa komponen kluster tersebut merupakan sebuah kluster

aktif/kluster HA aktif, yang bisa menerima semua permintaan yang

diajukan oleh klien.

  • Kluster hanya untuk komputasi (Compute clusters)

Seringnya, penggunaan utama kluster komputer adalah untuk

tujuan komputasi, ketimbang penanganan operasi yang berorientasi

I/O seperti layanan Web atau basis data. Sebagai contoh, sebuah

kluster mungkin mendukung simulasi komputasional untuk

perubahan cuaca atau tabrakan kendaraan. Perbedaan utama untuk

kategori ini dengan kategori lainnya adalah seberapa eratkah

penggabungan antar node-nya. Sebagai contoh, sebuah tugas

komputasi mungkin membutuhkan komunikasi yang sering antar

node--ini berarti bahwa kluster tersebut menggunakan sebuah

jaringan terdedikasi yang sama, yang terletak di lokasi yang sangat

berdekatan, dan mungkin juga merupakan node-node yang bersifat

homogen. Desain kluster seperti ini, umumnya disebut juga sebagai

Beowulf Cluster. Ada juga desain yang lain, yakni saat sebuah tugas

komputasi hanya menggunakan satu atau beberapa node saja, dan

membutuhkan komunikasi antar-node yang sangat sedikit atau

tidak ada sama sekali. Desain kluster ini, sering disebut sebagai

"Grid". Beberapa compute cluster yang dihubungkan secara erat

yang didesain sedemikian rupa, umumnya disebut dengan

"Supercomputing". Beberapa perangkat lunak Middleware seperti

MPI atau Parallel Virtual Machine (PVM) mengizinkan program

compute clustering agar dapat dijalankan di dalam kluster-kluster

tersebut.



  • Grid computing

Grid pada umumnya adalah compute cluster, tapi difokuskan pada

throughput seperti utilitas perhitungan ketimbang menjalankan

pekerjaan-pekerjaan yang sangat erat yang biasanya dilakukan oleh

Supercomputer. Seringnya, grid memasukkan sekumpulan

komputer, yang bisa saja didistribusikan secara geografis, dan

kadang diurus oleh organisasi yang tidak saling berkaitan.

Grid computing dioptimalkan untuk beban pekerjaan yang

mencakup banyak pekerjaan independen atau paket-paket

pekerjaan, yang tidak harus berbagi data yang sama antar pekerjaan

selama proses komputasi dilakukan. Grid bertindak untuk

mengatur alokasi pekerjaan kepada komputer-komputer yang akan

melakukan tugas tersebut secara independen. Sumber daya, seperti

halnya media penyimpanan, mungkin bisa saja digunakan bersama-

sama dengan komputer lainnya, tapi hasil sementara dari sebuah

tugas tertentu tidak akan mempengaruhi pekerjaan lainnya yang

sedang berlangsung dalam komputer lainnya.

Sebagai contoh grid yang sangat luas digunakan adalah proyek

Folding@home, yang menganalisis data yang akan digunakan oleh

para peneliti untuk menemukan obat untuk beberapa penyakit

seperti Alzheimer dan juga kanker. Proyek lainnya, adalah

SETI@home, yang merupakan proyek grid terdistribusi yang paling

besar hingga saat ini. Proyek SETI@home ini menggunakan paling

tidak 3 juta komputer rumahan yang berada di dalam komputer

rumahan untuk menganalisis data dari teleskop radio

observatorium Arecibo (Arecibo Observatoryradi ot el escope), mencari

bukti-bukti keberadaan makhluk luar angkasa. Dalam dua kasus

tersebut, tidak ada komunikasi antar node atau media

penyimpanan yang digunakan bersama-sama.

c) Implementasi

Daftar semi-tahunan organisasi TOP500, yang mencantumkan 500

komputer tercepat di dunia umumnya mencakup banyak kluster.

TOP500 adalah sebuah kolaborasi antara Universitas Mannheim,

Universitas Tennessee, dan National Energy Research Scientific

Computing Center di Lawrence Berkeley National Laboratory. Hingga

18 Juni 2008, superkomputer tercepat yang tercatat di dalam TOP500

adalah sistem Roadrunner yang dimiliki oleh Department of Energy

Amerika Serikat, yang kinerjanya mencapai 1026 TeraFlops (Triliun

Floating Point Operation per Second) dalam benchmark High-

Performance LINPACK.



d) Kluster dan Grid diIndonesia

Beberapa kluster yang ada di Indonesia adalah:

  • LIPI Public Cluster (http://www.cluster.lipi.go.id/)

  • Kluster Rekayasa Komputasional ITB (http://computational.engineering.or.id)

  • NL Grid UGM (http://grid.te.ugm.ac.id/docs/)

  • Grid UI (http://grid.ui.ac.id/)


b.Berdasarkan jumlah instruksi dan datanya, dapat dibagi ke dalam Taksonomi Flynn dan model pemrosesan paralle


Keempat kelompok komputer tersebut adalah :



1. Komputer SISD (SingleInstruction stream-Single Data stream)


SIMD adalah singkatan dari Single Instruction,Multiple Data, merupakan

sebuah istilah dalam komputasi yang merujuk kepada sekumpulan operasi

yang digunakan untuk menangani jumlah data yang sangat banyak dalam

paralel secara efisien, seperti yang terjadi dalam prosesor vektor atau

prosesor larik. SIMD pertama kali dipopulerkan pada superkomputer skala

besar, meski sekarang telah ditemukan pada komputer pribadi.

Contoh aplikasi yang dapat mengambil keuntungan dari SIMD adalah

aplikasi yang memiliki nilai yang sama yang ditambahkan ke banyak titik

data (data point), yang umum terjadi dalam aplikasi multimedia. Salah satu

contoh operasinya adalah mengubah brightness dari sebuah gambar. Setiap

pixel dari sebuah gambar 24-bit berisi tiga buah nilai berukuran 8-bit

brightness dari porsi warna merah (red), hijau (green), dan biru (blue). Untuk

melakukan perubahanbri ght n ess, nilaiR,G, danB akan dibaca dari memori,

dan sebuah nilai baru ditambahkan (atau dikurangkan) terhadap nilai-nilai

R, G, B tersebut dan nilai akhirnya akan dikembalikan (ditulis kembali) ke

memori.



Prosesor yang memiliki SIMD menawarkan dua keunggulan, yakni:

  • Data langsung dapat dipahami dalam bentuk blok data, dibandingkan

dengan beberapa data yang terpisah secara sendiri-sendiri. Dengan

menggunakan blok data, prosesor dapat memuat data secara keseluruhan

pada waktu yang sama. Daripada melakukan beberapa instruksi "ambil

pixel ini, lalu ambil pixel itu, dst", sebuah prosesor SIMD akan

melakukannya dalam sebuah instruksi saja, yaitu "ambil semua pixel itu!"

(istilah "semua" adalah nilai yang berbeda dari satu desain ke desain

lainnya). Jelas, hal ini dapat mengurangi banyak waktu pemrosesan (akibat

instruksi yang dikeluarkan hanya satu untuk sekumpulan data), jika

dibandingkan dengan desain prosesor tradisional yang tidak memiliki

SIMD (yang memberikan satu instruksi untuk satu data saja).


  • Sistem SIMD umumnya hanya mencakup instruksi-instruksi yang dapat

diaplikasikan terhadap semua data dalam satu operasi. Dengan kata lain,

sistem SIMD dapat bekerja dengan memuat beberapa titik data secara

sekaligus, dan melakukan operasi terhadap titik data secara sekaligus.



Sayangnya, beberapa desainer SIMD terbentur dengan beberapa

pertimbangan desain yang berada di luar kontrol mereka. Salah satu

pertimbangan tersebut adalah harus menambahkan banyak register untuk

menampung data yang akan diproses. Idealnya, hal ini dapat dilakukan

dengan menambahkan unit SIMD ke dalam prosesor agar memiliki

registernya sendiri, tetapi beberapa desainer terpaksa menggunakan

register yang telah ada, umumnya yang digunakan adalah register floating-

point. Register floating-point umumnya memiliki ukuran 64-bit, yang lebih

kecil daripada yang dibutuhkan oleh SIMD agar bekerja secara optimal,

meskipun hal ini dapat mendatangkan masalah jika kode hendak mencoba

untuk menggunakan instruksi floating-point dan SIMD secara bersamaan.



Pada pendesainan awal SIMD, terdapat beberapa prosesor yang khusus

disiapkan untuk melakukan tugas ini, yang seringnya disebut sebagai

Digital Signal Processor (DSP). Perbedaan utama antara SIMD dan DSP

adalah DSP merupakan prosesor yang komplit dengan set instruksinya

sendiri (yang meskipun lebih sulit digunakan), sementara SIMD hanya

bergantung pada register general-purpose untuk menangani detail

program, dan instruksi SIMD hanya menangani manipulasi data



Penggunaan instruksi SIMD pertama kali dilakukan dalam superkomputer

vektor dan dipopulerkan oleh Cray pada tahun 1970-an. Akhir-akhir ini,

SIMD skala kecil (64-bit atau 128-bit) telah menjadi populer dalam CPU

yang bersifat general purpose, yang dimulai pada tahun 1994 dengan set

instruks MAX yang diaplikasikan pada Hewlett-Packard PA-RISC. Instruksi

SIMD, saat ini dapat ditemukan dalam kebanyakan prosesor, seperti halnya

AltiVec dalam prosesor PowerPC; Intel MMX, SSE, SSE2, SSE3, SSE4, AMD

3DNow! dalam prosesor Intel x86; VIS dalam prosesor prosesor SPARC;

MAX dalam Hewlett-Packard PA-RISC; MDMX serta MIPS-3D dalam MIPS

serta MVI dalam prosesor DEC Alpha. Meskipun demikian, perangkat

lunak pada umumnya tidak mengeksploitasi instruksi, dan bahkan instruksi

ini hanya digunakan dalam aplikasi yang khusus, seperti pengolahan

grafik.



Meskipun hal ini secara umum telah membuktikan bahwa sulitnya mencari

aplikasi komersial yang dikhususkan untuk prosesor SIMD, ada beberapa

kesuksesan yang terjadi seperti halnya aplikasi GAPP yang dikembangkan

oleh Lockheed Martin. Versi yang lebih baru dari GAPP bahkan menjadi

aplikasi yang dapat memproses video secara waktu-nyata (real-time) seperti

halnya konversi antar bermacam-macam standar video yang (seperti

konversi NTSC ke PAL atau sebaliknya, NTSC ke HDTV atau sebaliknya

dan lain-lain), melakukan deinterlacing, pengurangan noise (noise reduction),

kompresi video, dan perbaikan citra gambar (image enhancement).



2. Komputer SIMD (Single Instruction stream-Multiple Data stream)


Pada komputer SIMD terdapat lebih dari satu elemen pemrosesan yang

dikendalikan oleh sebuah unit pengendali yang sama. Seluruh elemen

pemrosesan menerima dan menjalankan instruksi yang sama yang

dikirimkan unit pengendali, namun melakukan operasi terhadap himpunan

data yang berbeda yang berasal dari aliran data yang berbeda pula.



3. Komputer MISD (MultipleInstruction stream-Single Data stream)


Komputer jenis ini memilikin unit pemroses yang masing-masing

menerima dan mengoperasikan instruksi yang berbeda terhadap aliran data

yang sama, dikarenakan setiap unit pemroses memiliki unit pengendali

yang berbeda. Keluaran dari satu pemroses menjadi masukan bagi

pemroses berikutnya. Belum ada perwujudan nyata dari komputer jenis ini

kecuali dalam bentuk prototipe untuk penelitian.



4. Komputer MIMD (MultipleInstruction stream-Multiple Data stream)


Pada sistem komputer MIMD murni terdapat interaksi di antaran

pemroses. Hal ini disebabkan seluruh aliran dari dan ke memori berasal

darispace data yang sama bagi semua pemroses. Komputer MIMD bersifat

tightly coupled jika tingkat interaksi antara pemroses tinggi dan disebut

loosely coupled jika tingkat interaksi antara pemroses rendah.



c. Berdasarkan kedekatan antar prosesor, dapat dibagi ke dalam

  • Loosely coupled

  • Thightly coupled