Advertisement

Pengertian Cache Memory, Buffering, System Bus dan Load balancing

1. Cache Memory 



Cache adalah memory berukuran kecil yang sifatnya temporary (sementara). Walaupun ukuran filenya sangat kecil, namun kecepatannya sangat tinggi. Dalam terminologi hardware, istilah ini biasanya merujuk pada memory berkecepatan tinggi yang menjembatani aliran data antara processor dengan memory utama (RAM) yang biasanya memiliki kecepatan jauh lebih rendah.

Penggunaan cache ditujukan untuk meminimalisir terjadinya bottleneck dalam aliran data antara processor dan RAM. Sedangkan dalam terminologi software, istilah ini merujuk pada tempat penyimpanan sementara untuk beberapa file yang sering diakses (biasanya diterapkan dalam network). Cache umumnya terbagi menjadi beberapa jenis, seperti L1 cache, L2 cache dan L3 cache.

Fungsi Cache
Cache berfungsi untuk mempercepat akses data pada komputer karena cache menyimpan data atau informasi yang telah di akses oleh suatu buffer, sehingga meringankan kerja processor. Jadi Bisa disimpulkan fungsi cache memory yaitu:

- Mempercepat akses data pada komputer
- Meringankan kerja prosessor
- Menjembatani perbedaan kecepatan antara CPU dan memory utama
- Mempercepat kinerja memory

Tipe-Tipe Cache
Ada beberapa tipe cache yang biasa digunakan, diantaranya:

Memory Cache
Memory cache sering pula disebut dengan RAM cache. Ini adalah sebuah porsi memori yang dibuat dengan kecepatan tinggi static RAM (SRAM). Tipe cache ini lebih efektif karena hampir semua program dapat mengakses data atau perintah yang sama berulang kali. Itu artinya, semakin banyak informasi yang disimpan di SRAM, maka komputer akan semakin sering menggunakan cache ini ketimbang menggunakan DRAM yang relatif lebih lambat.

Cache memori mempunyai tiga level. Anda tentu pernah melihat label L1 Cache, L2 Cache atau L3 Cache di kotak perangkat komputer Anda atau di paket informasi spesifikasinya. L1 adalah sebutan untuk internal cache, ia menghuni bagian di antara CPU dan DRAM. Cache ini memiliki kecepatan akses paling tinggi. Ukuran memori berkembang mulai dari 8Kb, 64Kb dan 128Kb.

Sedangkan L2 adalah eksternal cache yang mempunyai kapasitas lebih besar yaitu berkisar antara 256Kb sampai dengan 2Mb. Namun soal kecepatan, L2 justru lebih lamban ketimbang L1. Terakhir, L3 Cache yang biasanya terdapat dalam komputer model baru yang mempunyai lebih dari satu unit prosesor, misalnya dual core atau quad core. L3 berfungsi sebagai pengatur data yang diakses dari L2 cache dan masing-masing inti prosesor.

Disk Cache
Tidak jauh berbeda dengan Memory Cache, Disk Cache juga berpatokan pada prinsip yang sama. Tetapi alih-alih menggunakan data berkecepatan tinggi SRAM, disk cache justru menggunaan memori konvensional atau disebut dengan dynamic RAM (DRAM) yang relatif lebih lambat. Cara kerjanya, ketika Anda menjalankan sebuah aplikasi yang membutuhkan data dari disk, pertama-tama aplikasi akan memeriksa ketersediaan datanya di memory buffer. Disk Cache mampu memberikan dampak kecepatan yang signifikan terhadap performa aplikasi, sebab mekanisme ini jauh lebih cepat daripada mengambil data dari komponen harddisk.

Itulah beberapa hal yang bisa Anda pelajari mengenai cache pada komputer. Cache memiliki fungsi penting dalam sebuah komputer, sama halnya dengan web hosting pada sebuah website. Kini, Anda dapat mendaftarkan website Anda menggunakan web hosting terpercaya dan termurah di Indonesia yaitu Idwebhost. Banyak sekali kelebihan yang dimiliki Idwebhost untuk membantu mengembangkan website bisnis Anda seperti dukungan 24 jam, server yang handal, uptime hingga 99,99% dan masih banyak lagi. Daftarkan website Anda menggunakan layanan web hosting terbaik hanya di sini.


• Terdapat di dalam Processor (on chip ),Cache internal diletakkan dalam prosesor sehingga tidak memerlukan bus eksternal, maka waktu aksesnya akan sangat cepat sekali.
• Terdapat diluar Processor(off chip), Berada pada MotherBoard memori jenis ini kecepatan aksesnya sangat cepat,meskipun tidak secepat chache memori jenis pertama.



2. Buffering
Buffer adalah area memori yang menyimpan data ketika mereka sedang dipindahkan antara dua device atau antara device dan aplikasi. Buffering dilakukan untuk tiga buah alasan. Alasan pertama adalah untuk men-cope dengan kesalahan yang terjadi karena perbedaan kecepatan antara produsen dengan konsumen dari sebuah stream data. Sebagai contoh sebuah file sedang diterima melalui modem dan ditujukan ke media penyimpanan di hard disk. Kecepatan modem tersebut kira-kira hanyalah 1/1000 daripada hardisk. Jadi buffer dibuat di dalam memori utama untuk mengumpulkan jumlah byte yang diterima dari modem.

Ketika keseluruhan data di buffer sudah sampai, buffer tersebut dapat ditulis ke disk dengan operasi tunggal. Karena penulisan disk tidak terjadi dengan instan dan modem masih memerlukan tempat untuk menyimpan data yang berdatangan, maka dipakai 2 buah buffer. Setelah modem memenuhi buffer pertama, akan terjadi request untuk menulis di disk. Modem kemudian mulai memenuhi buffer kedua sementara buffer pertama dipakai untuk penulisan ke disk. Pada saat modem sudah memenuhi buffer kedua, penulisan ke disk dari buffer pertama seharusnya sudah selesai, jadi modem akan berganti kembali memenuhi buffer pertama dan buffer kedua dipakai untuk menulis. 

Metode double buffering ini membuat pasangan ganda antara produsen dan konsumen sekaligus mengurangi kebutuhan waktu di antara mereka. Alasan kedua dari buffering adalah untuk menyesuaikan device-device yang mempunyai perbedaan dalam ukuran transfer data. Hal ini sangat umum terjadi pada jaringan komputer, dimana buffer dipakai secara luas untuk fragmentasi dan pengaturan kembali pesan-pesan yang diterima. 

Pada bagian pengirim, sebuah pesan yang besar akan dipecah ke paket-paket kecil. Paket-paket tersebut dikirim melalui jaringan, dan penerima akan meletakkan mereka di dalam buffer untuk disusun kembali. Alasan ketiga untuk buffering adalah untuk mendukung copy semantics untuk aplikasi I/O. Sebuah contoh akan menjelaskan pa arti dari copy semantics. Jika ada sebuah aplikasi yang mempunyai buffer data yang ingin dituliskan ke disk. 

Aplikasi tersebut akan memanggil sistem penulisan, menyediakan pointer ke buffer, dan sebuah integer untuk menunjukkan ukuran bytes yang ingin ditulis. Setelah pemanggilan tersebut, apakah yang akan terjadi jika aplikasi tersebut mengubah isi dari buffer, dengan copy semantics, keutuhan data yang ingin ditulis sama dengan data waktu aplikasi ini memanggil sistem untuk menulis, tidak tergantung dengan perubahan yang terjadi pada buffer. 

Sebuah cara sederhana untuk sistem operasi untuk menjamin copy semantics adalah membiarkan sistem penulisan untuk mengkopi data aplikasi ke dalam buffer kernel sebelum mengembalikan kontrol kepada aplikasi. 

Jadi penulisan ke disk dilakukan pada buffer kernel, sehingga perubahan yang terjadi pada buffer aplikasi tidak akan membawa dampak apa-apa. Mengcopy data antara buffer kernel data aplikasi merupakan sesuatu yang umum pada sistem operasi, kecuali overhead yang terjadi karena operasi ini karena clean semantics. Kita dapat memperoleh efek yang sama yang lebih fisien dengan memanfaatkan virtual-memori mapping dan proteksi copy-on-wire dengan pintar.

Baca Juga: Sejarah Android 2019

Eksploitasi Penyangga
Luapan penyangga seringkali dieksploitasi dengan mengirimkan input-input yang sengaja dirancang untuk memicu keadaan luapan penyangga tersebut. Input-input tersebut juga dirancang sedemikian rupa sehingga saat terjadi keadaan buffer overflow maka proses tersebut akan berkelakuan seperti yang diinginkan oleh sang penyerang. Bila keadaan ini telah terjadi maka bukan tidak mungkin informasi-informasi penting yang tersimpan di dalamnya bisa diambil, digunakan atau diubah sekehendak hati oleh sang penyerang.

3. System Bus
System bus atau bus sistem, dalam arsitektur komputer merujuk pada bus yang digunakan oleh sistem komputer untuk menghubungkan semua komponennya dalam menjalankan tugasnya. Sebuah bus adalah sebutan untuk jalur di mana data dapat mengalir dalam komputer. Jalur-jalur ini digunakan untuk komunikasi dan dapat dibuat antara dua elemen atau lebih. Data atau program yang tersimpan dalam memori dapat diakses dan dieksekusi oleh CPU melalui perantara sistem bus.

Sebuah komputer memiliki beberapa bus, agar dapat berjalan. Banyaknya bus yang terdapat dalam sistem, tergantung dari arsitektur sistem komputer yang digunakan. Sebagai contoh, sebuah komputer PC dengan prosesor umumnya Intel Pentium 4 memiliki bus prosesor (Front-Side Bus), bus AGP, bus PCI, bus USB, bus ISA (yang digunakan oleh keyboard dan mouse), dan bus-bus lainnya.

Bus disusun secara hierarkis, karena setiap bus yang memiliki kecepatan rendah akan dihubungkan dengan bus yang memiliki kecepatan tinggi. Setiap perangkat di dalam sistem juga dihubungkan ke salah satu bus yang ada. Sebagai contoh, kartu grafis AGP akan dihubungkan ke bus AGP. Beberapa perangkat lainnya (utamanya chipset atau kontrolir) akan bertindak sebagai jembatan antara bus-bus yang berbeda. Sebagai contoh, sebuah kontrolir bus SCSI dapat mengubah sebuah bus menjadi bus SCSI, baik itu bus PCI atau bus PCI Express.

Cara Kerja Sistem Bus
Pada sistem komputer yang lebih maju, arsitektur komputernya  akan  lebih kompleks, sehingga untuk meningkatkan  performa, digunakan beberapa buah bus. Tiap bus merupakan jalur data antara beberapa device yang berbeda. Dengan cara ini RAM, Prosesor, GPU (VGA AGP) dihubungkan oleh bus utama berkecepatan tinggi yang lebih dikenal dengan nama FSB (Front Side Bus) . Sementara perangkat lain yang lebih lambat dihubungkan oleh bus yang berkecepatan lebih rendah yang terhubung dengan bus lain yang lebih cepat sampai ke bus utama. Untuk komunikasi antar bus ini digunakan sebuah bridge.
Jenis - Jenis Bus
Berdasar jenis busnya, bus dapat dibedakan menjadi bus yang khusus menyalurkan data tertentu, contohnya paket data saja, atau alamat saja, jenis ini disebut Dedicated Bus. Namun apabila bus yang dilalui informasi yang berbeda baik data, alamat, dan sinyal kontrol dengan metode multipleks data maka bus ini disebut Multiplexed Bus. Kekurangan multiplexed bus adalah hanya memerlukan saluran sedikit sehingga menghemat tempat tapi kecepatan transfer data menurun dan diperlukan mekanisme yang komplek untuk mengurai data yang telah dimultipleks. Sedangkan untuk dedicated bus merupakan kebalikan dari multipexed bus.
Struktur Bus
Sebuah bus sistem terdiri dari 50 hingga 100 saluran yang terpisah. Masing-masing saluran ditandai dengan arti dan fungsi khusus. Walaupun terdapat sejumlah rancangan bus yang berlainan, fungsi saluran bus dapat diklasifikasikan menjadi tiga kelompok, yaitu saluran data, saluran alamat, dan saluran kontrol. Selain itu, terdapat pula saluran distribusi daya yang memberikan kebutuhan daya bagi modul yang terhubung.

4. Load balancing


Load Balance adalah suatu metode untuk membagi beban suatu server menjadi dua atau lebih secara seimbang agar server tidak mengalami kelebihan beban saat menerima request dari user atau client. Metode ini digunakan untuk mengoptimalkan sebuah server agar server tidak mengalami overload.

Metode load balancing ini tidak menambah bandwidth dari sebuah server tetapi hanya membagi beban server tersebut. Load Balance ini biasa digunakan pada server yang memiliki jumlah user atau client yang melebihi kapasitas maksimum dari jumlah request yang dapat ditangani oleh server tersebut.

Mengapa Menggunakan Load Balancer?

Ada banyak alasan mengapa menggunakan load balancing untuk website atau aplikasi berbasis web lainnya. Dua alasan yang utama adalah:
1. Waktu Respon. Salah satu manfaat terbesar adalah untuk meningkatkan kecepatan akses website saat dibuka. Dengan dua atau lebih server yang saling berbagi beban lalu lintas web, masing-masing akan berjalan lebih cepat karena beban tidak berada pada 1 server saja. Ini berarti ada lebih banyak sumber daya untuk memenuhi permintaan halaman website.

2. Redundansi. Dengan load balancing, akan mewarisi sedikit redundansi. Sebagai contoh, jika website kita berjalan seimbang di 3 server dan salah satu server bermasalah, maka dua server lainnya dapat terus berjalan dan pengunjung website kita tidak akan menyadarinya downtime apapun.

Cara Kerja Load Balancing
Load Balancer (perangkat load balancing) menggunakan beberapa peralatan yang sama untuk menjalankan tugas yang sama. Hal ini memungkinkan pekerjaan dilakukan dengan lebih cepat dibandingkan apabila dikerjakan oleh hanya 1 peralatan saja dan dapat meringankan beban kerja peralatan, serta mempercepat waktu respons. Load Balancer bertindak sebagai penengah diatara layanan utama dan pengguna, dimana layanan utama merupakan sekumpulan server/mesin yang siap melayani banyak pengguna.

Disaat Load Balancer menerima permintaan layanan dari user, maka permintaan tersebut akan diteruskan ke server utama. Biasanya Load Balancer dengan pintar dapat menentukan server mana yang memiliki load yang lebih rendah dan respons yang lebih cepat. Bahkan bisa menghentikan akses ke server yang sedang mengalami masalah dan hanya meneruskannya ke server yang dapat memberikan layanan. Hal ini salah satu kelebihan yang umumnya dimiliki load balancer, sehingga layanan seolah olah tidak ada gangguan di mata pengguna.

Algoritma Load Balancing
• Round Robin. Algoritma Round Robin merupakan algoritma yang paling sederhana dan banyak digunakan oleh perangkat load balancing. Algoritma ini membagi beban secara bergiliran dan berurutan dari satu server ke server lain sehingga membentuk putaran.


• Ratio. Ratio (rasio) sebenarnya merupakan sebuah parameter yang diberikan untuk masing-masing server yang akan dimasukkan kedalam sistem load balancing. Dari parameter Ratio ini, akan dilakukan pembagian beban terhadap server-server yang diberi rasio. Server dengan rasio terbesar diberi beban besar, begitu juga dengan server dengan rasio kecil akan lebih sedikit diberi beban.

• Fastest. Algoritma yang satu ini melakukan pembagian beban dengan mengutamakan server-server yang memiliki respon yang paling cepat. Server di dalam jaringan yang memiliki respon paling cepat merupakan server yang akan mengambil beban pada saat permintaan masuk.

• Least Connection. Algoritma Least connection akan melakukan pembagian beban berdasarkan banyaknya koneksi yang sedang dilayani oleh sebuah server. Server dengan pelayanan koneksi yang paling sedikit akan diberikan beban yang berikutnya akan masuk.

Fitur Load Balancing
Beberapa fitur yang ada pada baik load balancer hardware maupun load balancer software, yaitu:
• Asymmetric load. rasio dapat dibuat dengan menentukan koneksi yang menjadi primary yang dianggap paling baik backbonenya dan terbaik dalam path routingnya, jadi kita dapat membuat mesin untuk mencari best path determination dan routing yang terpendek dan terbaik untuk sampai ketujuan.

• Aktivitas berdasarkan prioritas. Disaat load jaringan lagi peek, server akan dapat membagi aktivitas berdasarkan prioritas dan ke link cadangan.

• Proteksi dari serangan DDoS. karena kita dapat membuat fiturseperti SYN Cookies dan delayed-binding (suatu metode di back-end server pada saat terjadi proses TCP handshake) pada saat terjadi serangan SYN Flood.
• Kompresi HTTP. Memungkinkan data untuk bisa mentransfer objek HTTP dengan dimungkinkannya penggunaan utilisasi kompresi gzip yang berada di semua web browser yang modern.

• TCP Buffering. dapat membuat respon buffer dari server dan berakibat dapat memungkinkan task akses lebih cepat.

• HTTP Caching. dapat menyimpan content yang static, dengan demikian request dapat di handel tanpa harus melakukan kontak ke web server diluar jaringan yang berakibat akses terasa semakin cepat.

• Content Filtering. Beberapa load balancing dapat melakukan perubahan trafik pada saat dijalankan.

•HTTP Security. beberapa system load balancing dapat menyembunyikan HTTP error pages, menghapus identifikasi header server dari respon HTTP, dan melakukan enkripsi cookies agar user tidak dapat memanipulasinya.

• Priority Queuing. berguna untuk memberikan perbedaan prioritas traffic paket.

• Spam Filtering. Spam istilah lainnya junk mail merupakan penyalahgunaan dalam pengiriman berita elektronik untuk menampilkan berita iklan dan keperluan lainnya yang mengakibatkan ketidaknyamanan bagi para pengguna web. Bentuk berita spam yang umum dikenal meliputi: spam surat elektronik, spam instant messaging, spam Usenet newsgroup, spam mesin pencari informasi web (web search engine spam), spam blog, spam berita pada telepon genggam, spam forum Internet, dan lain lain. Spam ini biasanya datang bertubi-tubi tanpa diminta dan sering kali tidak dikehendaki oleh penerimanya. Beberapa contoh lain dari spam ini bisa berupa surat elektronik berisi iklan, sms pada telepon genggam, berita yang masuk dalam suatu forum newsgroup berisi promosi barang yang tidak terkait dengan aktifitas newsgroup tersebut, spamdexing yang mendominir suatu mesin pencari (search engine) untuk mencari popularitas bagi suatu URL tertentu, ataupun bisa berupa berita yang tak berguna dan masuk dalam suatu blog, buku tamu situs web, dan lain-lain.
Tipe Load Balancer
Dalam dunia load-balancing, ada dua pilihan untuk dipertimbangkan ketika merancang solusi load-balancing. Pilihan solusinya adalah menggunakan software load balancing atau hardware load balancing. Setiap pilihan memiliki persyaratan, kelebihan, dan kelemahan tersendiri. Terserah kepada kita untuk mengevaluasi kebutuhan bisnis kita, konfigurasi, dan jalur pertumbuhan sehingga kita dapat mengidentifikasi solusi optimal untuk memenuhi kebutuhan. Dan dari tipenya Load Balancing dapat dibedakan menjadi 2 tipe, yaitu:

• Software Load Balancing. Dimana Load Balancing berjalan disebuah PC/Server, dan aplikasi Load Balancing di install dan perlu dikonfigurasi sebelum dapat berfungsi. Keuntungannya adalah jika ada penambahan fitur atau fasilitas tambahan tidak perlu mengganti keseluruhan perangkat load balancing. Performa proses load balancing dipengaruhi oleh prangkat komputer yang digunakan,tidak bisa hanya mengandalkan kemampuan software yang canggih saja. Perangkat keras yang dapat mempengaruhi performa metode ini adalah kartu jaringan (Network Interface Card) yang digunakan, besarnya RAM pada perangkat, media penyimpanan yang besar dan cepat, dsb. Sehingga performa metode ini sulit untuk bisa diperkirakan. Ada banyak sekali Load Balancer Software, beberapa diantaranya yang paling banyak digunakan adalah: Linux Virtual Server, Ultra Monkey,  dan Network Load Balancing.



• Hardware Load Balancing. Dimana Load Balancing berjalan disebuah device/alat yang sudah disiapkan dari pabrik dan siap digunakan. Tipe Hardware Load Balancing banyak digunakan karena kemudahannya. Beberapa Load Balancer Hardware diantaranya adalah: Cisco System Catalyst, Coyote Point, F5 Network BIG-IP, Baraccuda Load Balancer.

Manfaat Load Balancing

1. Mengurangi Beban Server
Request data dari client tentu akan membuat server mengalami overload, bila terjadi overload server tersebut akan down dan tidak dapat diakses oleh client. Maka dari itu load balancing membagi beban request data dari client agar server berjalan lebih maksimal dalam menangani request data client.

2. Mempercepat Akses
Bila melakukan load balancing pada web server maka website dari web server tersebut akan lebih cepat diakses dikarenakan beban dari client ditangani oleh dua atau lebih web server yang menyebabkan akses tersebut dapat ditangani tanpa memperlambat kinerja dari server.

3. Redudansi
Jika terdapat 3 web server dan salah satunya mengalami kerusakan (down) maka 2 web server lain akan tetap menjaga website selalu berjalan dan dapat di akses oleh client, client tidak akan menyadari downtime apapun dari website tersebut.

Penggunaan Load Balancer
Pada umumnya Load Balancer digunakan oleh perusahaan/pemilik layanan yang menginginkan layanannya selalu tersedia setiap saat (high availability) walaupun secara kenyataan terdapat kendala yang membuat layanan tidak dapat diakses. Misalnya untuk layanan web server/email server. Dengan load balancer, apabila ada 2 mail server dengan konfigurasi dan tugas yang sama, maka load balancer akan membagi beban ke 2 mail server tersebut. Dan apabila salah satu Mail server tersebut down/tidak dapat diakses/mengalami gangguan, maka Mail server yang lain dapat terus melayani layanan yang diakses oleh user.

Untuk jaringan komputer, Load Balancer digunakan di ISP/Internet provider dimana memungkinkan tersedianya akses internet selama 24x7x365 tanpa ada down time. Tentu hal ini yang diinginkan oleh pelanggan yang menggunakan layanan akses internet ISP tersebut. ISP/Provider hanya perlu memiliki 2 Link internet yang memiliki jalur berbeda, agar disaat salah satu link down, masih ada 1 link yang dapat melayani akses internet ke pelanggannya. Dan ISP menggunakan Load Balancer untuk membagi beban akses internet tersebut sehingga kedua Link Internet tersebut maximal penggunaannya dan beban terbagi dengan baik.

Perbandingan Software vs Hardware Load Balancer

Kelebihan Load Balancer Software:
• Lebih murah.
• Beberapa software aplikasi memiliki banyak pilihan konfigurasi yang dapat disesuaikan dengan kebutuhan kita.

Kekurangan Load Balancer Software:
• Sebagian besar aplikasi tidak dapat menangani situs besar atau jaringan kompleks.
• Paket aplikasi yang akan mendukung sistem yang lebih besar memerlukan jumlah hardware lebih banyak.

Kelebihan Load Balancer Hardware:
• Pendekatan biasanya lebih kuat dari pilihan perangkat lunak.
• Proses lalu lintas pada tingkat jaringan, yang secara nominal lebih efisien daripada dekripsi perangkat lunak.
• Bekerja dengan banyak OS atau platform.

Kekurangan Load Balancer Hardware:
• Biaya lebih tinggi dibandingkan menggunakan software load balancer. Teknologi load balancing dapat menjadi salah satu solusi yang efektif dan eļ¬sien untuk menciptakan sistem yang handal dengan tingkat ketersediaan tinggi (high availability), khususnya sebagai web server. 

Sumber:

Post a Comment

0 Comments