SlideShare a Scribd company logo
1 of 123
Download to read offline
1
Manajemen Infrastruktur TI:
MIT-09 Komputasi
(Compute)
Rumadi Hartawan, S.T., M.Kom.
Buku Acuan 1
IT Infrastructure Architecture
Infrastructure Building Blocks and Concepts
Third Edition
Sjaak Laan
Lulu Press Inc, 2017
http://www.sjaaklaan.com/
Chapter 10 Compute
2
10 Komputasi (Compute)
10.1 Pendahuluan
10.2 Blok bangunan komputasi
10.3 Ketersediaan komputasi
10.4 Kinerja komputasi
10.5 Keamanan komputasi
10.1 Introduction
10.2 Compute building blocks
10.3 Compute availability
10.4 Compute performance
10.5 Compute security
3
10.1 Pendahuluan
⚫ Komputasi (compute) adalah istilah
umum untuk komputer yang terletak di
Pusat Data
⚫ Mesin fisik atau mesin virtual
⚫ Ada tiga kelompok:
⚫ Mainframe
⚫ Sistem kelas menengah (Midrange
systems)
⚫ Server x86
4
10.1 Pendahuluan
⚫ Komputer fisik berisi:
⚫ Catu daya (Power supplies)
⚫ Unit Pemrosesan Pusat ()
⚫ Sistem Input/Output Dasar
⚫ Penyimpanan
⚫ Port ekspansi
⚫ Konektifitas jaringan
⚫ Keyboard, mouse, dan monitor
5
10.1 Pendahuluan
Sejarah
⚫ Komputer Colossus Inggris, yang dibuat
selama Perang Dunia II, adalah komputer
yang dapat diprogram pertama di dunia
⚫ Informasi tentang itu diklasifikasikan di bawah
undang-undang kerahasiaan Inggris
⚫ Komputer serba guna pertama yang
diakui publik adalah ENIAC (Electronic
Numerical Integrator And Computer)
⚫ ENIAC dirancang pada tahun 1943 dan
dibiayai oleh Angkatan Darat Amerika Serikat
di tengah-tengah Sejarah Perang Dunia II
6
10.1 Pendahuluan
Sejarah
⚫ Komputer ENIAC:
⚫ Dapat melakukan 5.000 operasi per detik
⚫ Menggunakan lebih dari 17.000 tabung vakum
⚫ Mendapat inputnya menggunakan pembaca kartu berlubang IBM
⚫ Kartu berlubang digunakan untuk output
⚫ Pada tahun 1960-an komputer mulai dibuat menggunakan transistor sebagai
pengganti tabung vakum
⚫ Lebih kecil
⚫ Lebih cepat
⚫ Lebih murah untuk diproduksi
⚫ Dibutuhkan lebih sedikit daya
⚫ Jauh lebih dapat diandalkan
7
10.1 Pendahuluan
Sejarah
⚫ Komputer berbasis transistor diikuti pada 1970-an oleh komputer berbasis
teknologi sirkuit terpadu (integrated circuit - IC).
⚫ IC adalah chip kecil yang berisi satu set transistor yang menyediakan blok
bangunan standar seperti gerbang AND, gerbang OR, penghitung,
penambah, dan flip-flop.
⚫ Dengan menggabungkan blok bangunan, CPU dan sirkuit memori dapat
dibuat
⚫ Mikroprosesor semakin mengurangi ukuran dan biaya komputer
⚫ Meningkatkan kecepatan dan keandalannya
⚫ Pada 1980-an mikroprosesor cukup murah untuk digunakan di komputer
pribadi 8
10.2 Compute building blocks
10.2.1 Rumah komputer
10.2.2 Prosesor
10.2.3 Memori
10.2.4 Antarmuka
10.2.5 Virtualisasi komputasi
10.2.6 Teknologi kontainer
10.2.7 Mainframe
10.2.8 Sistem kelas menengah
10.2.9 x86 server
10.2.10 Superkomputer
10.2.1 Computer housing
10.2.2 Processors
10.2.3 Memory
10.2.4 Interfaces
10.2.5 Compute virtualization
10.2.6 Container technology
10.2.7 Mainframes
10.2.8 Midrange systems
10.2.9 x86 servers
10.2.10 Supercomputers
9
10.2.1 Rumah komputer
(Computer housing)
⚫ Awalnya, komputer adalah sistem lengkap yang
berdiri sendiri, yang disebut komputer alas atau
menara
⚫ Ditempatkan di lantai pusat data
⚫ Sebagian besar server x86 dan sistem kelas
menengah sekarang:
⚫ Rak dipasang (Rack mounted)
⚫ Server bilah (Blade servers)
⚫ Server blade lebih murah daripada server yang
dipasang di rak
⚫ Server blade menggunakan komponen bersama enklosur
seperti catu daya dan kipas
10
10.2.1 Rumah komputer
(Computer housing)
⚫ Cangkang bilah (blade enclosure) biasanya menampung 8 hingga 16
server blade
⚫ Cangkang bilah (blade enclosure) menyediakan:
⚫ Catu daya redundan bersama untuk semua blade
⚫ Backplane bersama untuk menghubungkan semua blade
⚫ Sakelar jaringan redundan untuk menghubungkan antarmuka Ethernet blade
yang menyediakan koneksi Ethernet redundan ke sistem lain
⚫ Sakelar SAN redundan untuk menghubungkan antarmuka HBA pada server
blade yang menyediakan koneksi Fibre Channel redundan ganda ke sistem lain
⚫ Modul manajemen untuk mengelola enklosur dan bilah di dalamnya
11
10.2.1 Rumah komputer
(Computer housing)
⚫ Jumlah pengkabelan dalam pengaturan server blade
berkurang secara substansial jika dibandingkan dengan
rak server tradisional
⚫ Lebih sedikit kemungkinan titik kegagalan
⚫ Biaya penerapan awal yang lebih rendah
⚫ Enklosur sering tidak hanya digunakan untuk server
blade, tetapi juga untuk komponen penyimpanan seperti
disk, pengontrol, dan sakelar SAN
12
10.2.2 Prosesor
⚫ Pada komputer, Central Processing Unit (CPU) atau prosesor -
mengeksekusi satu set instruksi
⚫ CPU adalah sirkuit elektronik yang menjalankan instruksi program
komputer dengan melakukan operasi aritmatika, logika, kontrol, dan
input/output (I/O) dasar yang ditentukan oleh instruksi.
⚫ Prosesor saat ini mengandung miliaran transistor dan sangat kuat
13
10.2.2 Prosesor
Instruksi-instruksi prosesor
⚫ CPU dapat melakukan sejumlah instruksi tetap seperti ADD, SHIFT BITS,
MOVE DATA, dan JUMP TO CODE LOCATION, yang disebut set instruksi
⚫ Program yang dibuat menggunakan instruksi CPU disebut sebagai kode
mesin
⚫ Setiap instruksi dikaitkan dengan bahasa Inggris seperti mnemonic
⚫ Lebih mudah diingat orang
⚫ Himpunan mnemonik disebut bahasa assembly
⚫ Sebagai contoh:
⚫ Kode biner untuk ADD WITH CARRY
⚫ Instruksi kode mesin: 10011101
⚫ Mnemonik: ADC 14
10.2.2 Prosesor
Prosesor - pemrograman
⚫ Bahasa pemrograman assembler adalah bahasa pemrograman tingkat
terendah untuk komputer
⚫ Bahasa pemrograman tingkat tinggi jauh lebih ramah kepada manusia
(human friendly)
⚫ C#
⚫ Jawa
⚫ Python
⚫ Program yang ditulis dalam bahasa ini diterjemahkan ke kode rakitan
(assembly code) sebelum dapat dijalankan pada CPU tertentu
⚫ Kompilasi ini dilakukan oleh kompiler bahasa tingkat tinggi 15
10.2.2 Prosesor
Prosesor - kecepatan
⚫ CPU membutuhkan jam frekuensi tinggi untuk beroperasi,
menghasilkan apa yang disebut detak jam (clock ticks) atau siklus jam
⚫ Setiap instruksi kode mesin membutuhkan satu clock ticks atau lebih untuk
dieksekusi
⚫ Instruksi ADD biasanya berharga 1 tick untuk dihitung
⚫ Kecepatan di mana CPU beroperasi didefinisikan dalam GHz (miliaran
clock ticks per second)
⚫ Satu inti CPU 2,4 GHz dapat melakukan 2,4 miliar penambahan dalam 1 detik
16
10.2.2 Prosesor
Prosesor - ukuran kata (word size)
⚫ Setiap CPU dirancang untuk menangani data dalam potongan,
yang disebut kata-kata, dengan ukuran tertentu
⚫ CPU pertama memiliki ukuran word 4 bit
⚫ Saat ini, sebagian besar CPU memiliki ukuran word 64 bit
⚫ Ukuran kata tercermin dalam banyak aspek struktur dan operasi
CPU:
⚫ Mayoritas register memori internal berukuran satu kata
⚫ Bagian terbesar dari data yang dapat ditransfer ke dan dari memori kerja
dalam satu operasi adalah sebuah kata
⚫ CPU 64-bit dapat menangani memori 17.179.869.184 TB (word 64-bit) 17
10.2.2 Prosesor
10.2.2.1 Prosesor Intel x86
10.2.2.2 Prosesor AMD x86
10.2.2.3 Prosesor Itanium dan x86-64
10.2.2.4 Prosesor ARM
10.2.2.5 Prosesor Oracle SPARC
10.2.2.6 Prosesor IBM POWER
18
10.2.2.1 Prosesor Intel x86
⚫ CPU Intel menjadi standar de-facto untuk banyak arsitektur
komputer
⚫ PC asli menggunakan CPU 4,77 MHz 16-bit 8088
⚫ Beberapa tahun kemudian, Intel memproduksi prosesor 32-bit 80386 dan
80486
⚫ Karena semua nama ini diakhiri dengan angka 86, arsitektur
generik disebut sebagai x86
⚫ Pada tahun 2017, model terbaru Intel x86 adalah Prosesor Xeon
E5-2699A 22-core, berjalan pada 2,4 GHz
19
10.2.2.2 Prosesor AMD x86
⚫ Advanced Micro Devices, Inc. (AMD) adalah pemasok
mikroprosesor global terbesar kedua berdasarkan arsitektur x86
⚫ Pada tahun 1982, AMD menandatangani kontrak dengan Intel, menjadi
produsen sumber kedua berlisensi prosesor 8086 dan 8088 untuk IBM
⚫ Intel membatalkan kontrak lisensi pada tahun 1986
⚫ AMD masih memproduksi CPU yang kompatibel dengan x86, memaksa
Intel untuk terus berinovasi dan menjaga harga CPU tetap rendah
⚫ Pada tahun 2017, model terbaru adalah CPU AMD Opteron 6386
SE 16-core, berjalan pada 2,8 GHz
20
10.2.2.3 Prosesor Itanium dan x86-64
⚫ Lini prosesor Itanium adalah keluarga CPU kelas atas 64-bit yang
ditujukan untuk server dan stasiun kerja kelas atas
⚫ Tidak berdasarkan arsitektur x86
⚫ HP adalah satu-satunya perusahaan yang secara aktif memproduksi sistem
berbasis Itanium, menjalankan HP-UX dan OpenVMS
⚫ Pada tahun 2005, AMD merilis arsitektur prosesor inti K8 sebagai
jawaban untuk arsitektur Itanium Intel
⚫ K8 menyertakan ekstensi 64-bit ke set instruksi x86
⚫ Kemudian, Intel mengadopsi set instruksi prosesor AMS sebagai perpanjangan
dari lini prosesor x86, yang disebut x86-64
⚫ Saat ini, arsitektur x86-64 digunakan di semua prosesor Intel dan AMD
21
10.2.2.4 Prosesor ARM
⚫ ARM (Advanced RISC Machine) adalah CPU yang paling banyak
digunakan di dunia
⚫ Pada tahun 2013, 10 miliar prosesor ARM dikirimkan, berjalan pada:
⚫ 95% dari smartphone
⚫ 90% dari hard disk drive
⚫ 40% dari televisi digital dan dekoder
⚫ 15% mikrokontroler
⚫ 20% dari komputer seluler
⚫ CPU diproduksi oleh sejumlah besar produsen di bawah lisensi ARM
⚫ Sejak 2016, ARM dimiliki oleh perusahaan telekomunikasi Jepang
SoftBank Group 22
10.2.2.5 Prosesor Oracle SPARC
⚫ Pada tahun 1986, Sun Microsystems mulai memproduksi seri prosesor
SPARC untuk sistem berbasis UNIX Solaris mereka
⚫ Arsitektur SPARC sepenuhnya terbuka dan tidak berpemilik (non-
proprietary)
⚫ Desain perangkat keras open source sejati
⚫ Pabrikan mana pun bisa mendapatkan lisensi untuk memproduksi CPU SPARC
⚫ Oracle membeli Sun Microsystems pada tahun 2010
⚫ Prosesor SPARC masih digunakan oleh Oracle dalam produk Exadata
dan Exalogic mereka
⚫ Pada tahun 2017, model terbaru adalah CPU SPARC M7 32-core,
berjalan pada 4,1 GHz 23
10.2.2.6 Prosesor IBM POWER
⚫ POWER (juga dikenal sebagai PowerPC) adalah serangkaian
CPU
⚫ Dibuat oleh IBM
⚫ Diperkenalkan pada tahun 1990
⚫ IBM menggunakan CPU POWER di banyak produk server kelas
atas mereka
⚫ Watson, superkomputer yang memenangkan Jeopardy pada tahun 2011,
dilengkapi dengan 3.000 inti CPU POWER7
⚫ Pada tahun 2017, model terbaru adalah CPU POWER9 24-core, berjalan
pada 4 GHz
24
10.2.3 Memori
Sistem awal (early systems)
⚫ Komputer pertama menggunakan tabung vakum untuk menyimpan
data
⚫ Sangat mahal, menggunakan banyak daya, rapuh, menghasilkan banyak panas
⚫ Sebuah alternatif untuk tabung vakum adalah relay
⚫ Bagian mekanis yang menggunakan magnet untuk menggerakkan sakelar fisik
⚫ Dua relai dapat digabungkan untuk membuat satu bit penyimpanan memori
⚫ Lambat, menggunakan banyak daya, berisik, berat, dan mahal
⚫ Berdasarkan tabung sinar katoda, tabung Williams adalah memori
akses acak pertama, yang mampu menyimpan beberapa ribu bit, tetapi
hanya untuk beberapa detik. 25
10.2.3 Memori
Sistem awal (early systems)
⚫ Jenis memori utama pertama yang benar-benar
dapat digunakan adalah memori inti magnetic
(magnetic core), diperkenalkan pada tahun 1951
⚫ Jenis memori yang dominan hingga akhir 1960-an
⚫ Menggunakan cincin magnet yang sangat kecil, yang
disebut inti, dengan kabel yang melewatinya
⚫ Kabel dapat mempolarisasi medan magnet satu arah atau
yang lain di setiap inti individu
⚫ Satu arah berarti 1, yang lain berarti 0
⚫ Memori inti digantikan oleh chip RAM pada 1970-
an 26
10.2.3 Memori
10.2.3.1 RAM
10.2.3.2 BIOS
27
10.2.3.1 RAM
⚫ RAM (Random Access Memory): Memori Akses Acak
⚫ Setiap bagian data yang disimpan dalam RAM dapat dibaca
dalam jumlah waktu yang sama, terlepas dari lokasi fisiknya
⚫ Berdasarkan teknologi transistor, biasanya
diimplementasikan dalam jumlah besar pada Integrated
Circuit (IC)
⚫ Data tidak stabil (volatile) – artinya data tetap
ada/tersedia selama RAM diaktifkan
28
10.2.3.1 RAM
⚫ RAM Statis (Static RAM - SRAM)
⚫ Menggunakan sirkuit flip-flop untuk menyimpan bit
⚫ Enam transistor per bit
⚫ RAM Dinamis (Dynamic RAM - DRAM)
⚫ Menggunakan muatan dalam kapasitor
⚫ Satu transistor per bit
⚫ DRAM kehilangan datanya setelah beberapa saat karena kebocoran
kapasitor
⚫ Agar data tetap tersedia di DRAM, data harus di-refresh secara teratur
(biasanya 16 kali per detik)
29
10.2.3.2 BIOS
⚫ Basic Input/Output System (BIOS) adalah seperangkat instruksi
yang disimpan pada chip memori yang terletak di motherboard
komputer.
⚫ BIOS mengontrol komputer sejak komputer dinyalakan, hingga
sistem operasi dimulai
⚫ Sebagian besar diimplementasikan dalam chip memori Flash
⚫ Ini adalah praktik yang baik untuk memperbarui perangkat lunak
BIOS secara teratur
⚫ Memutakhirkan komputer ke versi BIOS terbaru disebut BIOS flashing
30
10.2.4 Antarmuka (Interfaces)
⚫ Antarmuka (Interfaces) menghubungkan komputer ke periferal
eksternal dilakukan dengan menggunakan antarmuka
⚫ Antarmuka eksternal menggunakan konektor yang terletak di bagian
luar casing komputer
⚫ Salah satu antarmuka eksternal standar pertama adalah bus serial berdasarkan
RS-232
⚫ RS-232 masih digunakan sampai sekarang di beberapa sistem untuk
menghubungkan:
⚫ Jenis periferal yang lebih lama
⚫ Peralatan Industri
⚫ Port konsol
⚫ Peralatan tujuan khusus (special purpose equipment)
31
10.2.4 Antarmuka (Interfaces)
10.2.4.1 RS-232
10.2.4.2 USB
10.2.4.3 Thunderbolt
10.2.4.4 PCI and PCIe
32
10.2.4.1 RS-232
⚫ Salah satu antarmuka eksternal standar pertama adalah bus serial
berdasarkan RS-232. RS-232 (Standar Rekomendasi 232) diperkenalkan
pada tahun 1962 untuk komunikasi antara teletypewriter elektromekanis dan
modem, dan kemudian juga untuk menghubungkan terminal elektronik.
⚫ RS-232 masih digunakan sampai sekarang di beberapa sistem untuk
menghubungkan periferal jenis lama, peralatan industri, port konsol, dan
peralatan tujuan khusus.
⚫ Kecepatan bit yang digunakan dengan RS-232 adalah dari 75 bit/s hingga
115.200 bit/s. RS-232 awalnya menggunakan konektor 25-pin subminiatur D
untuk konektivitas, tetapi versi 9-pin yang jauh lebih kecil lebih disukai dalam
desain selanjutnya.
33
10.2.4.2 USB
⚫ Universal Serial Bus (USB) diperkenalkan pada tahun 1996 sebagai
pengganti sebagian besar antarmuka eksternal pada server dan PC
⚫ Dapat memberikan daya operasi ke perangkat yang terpasang
⚫ Hingga tujuh perangkat dapat dirangkai dengan daisy-chain
⚫ Hub dapat digunakan untuk menghubungkan beberapa perangkat ke satu port
komputer USB
⚫ Pada tahun 2013, USB 3.1 diperkenalkan
⚫ Menyediakan throughput 10 Gbit/dtk
⚫ Pada tahun 2014, USB Type-C diperkenalkan
⚫ Konektor yang lebih kecil
⚫ Kemampuan untuk memberikan lebih banyak daya ke perangkat yang terhubung34
10.2.4.3 Thunderbolt
⚫ Thunderbolt, juga dikenal sebagai Light Peak,
diperkenalkan pada tahun 2011
⚫ Thunderbolt 3 dirilis pada tahun 2015
⚫ Dapat memberikan throughput maksimum 40 Gbit/dtk
⚫ Berikan daya 100 W ke perangkat
⚫ Menggunakan konektor USB Type-C
⚫ Kompatibel dengan USB 3.1
35
10.2.4.4 PCI and PCIe
PCI
⚫ Antarmuka internal, biasanya beberapa bentuk PCI,
terletak di papan sistem komputer, di dalam casing, dan
menyambungkan papan ekspansi seperti adaptor jaringan
dan pengontrol disk
⚫ Menggunakan arsitektur bus paralel bersama
⚫ Hanya satu jalur komunikasi bersama antara dua perangkat
PCI yang dapat aktif pada waktu tertentu
36
10.2.4.4 PCI and PCIe
PCIe
⚫ PCI Express (PCIe) menggunakan topologi berdasarkan tautan serial point-
topoint, daripada arsitektur bus paralel bersama
⚫ Sambungan antara dua perangkat PCIe dikenal sebagai tautan (link)
⚫ Kumpulan dari satu tautan atau lebih disebut jalur (lane)
⚫ Dirutekan oleh hub pada board sistem yang berfungsi sebagai sakelar
palang (crossbar switch)
⚫ Hub memungkinkan beberapa pasang perangkat untuk berkomunikasi satu sama lain
secara bersamaan
⚫ Meskipun tersedianya PCIe yang jauh lebih cepat, PCI konvensional tetap
menjadi antarmuka yang sangat umum pada komputer
37
10.2.4.4 PCI and PCIe
38
10.2.4.4 PCI and PCIe
Kecepatan PCI dalam Gbit/detik
39
10.2.5 Virtualisasi komputasi
(Compute virtualization)
⚫ Virtualisasi komputasi juga dikenal sebagai:
⚫ Virtualisasi server
⚫ Komputasi yang Ditentukan Perangkat Lunak
(Software Defined Compute)
⚫ Memperkenalkan lapisan abstraksi antara
perangkat keras komputer fisik dan sistem
operasi yang menggunakan perangkat
keras itu
⚫ Memungkinkan beberapa sistem operasi berjalan
pada satu mesin fisik
⚫ Memisahkan dan mengisolasi mesin virtual dari
mesin fisik dan dari mesin virtual lainnya 40
10.2.5 Virtualisasi komputasi
(Compute virtualization)
⚫ Mesin virtual adalah representasi logis dari komputer fisik dalam
perangkat lunak
⚫ Mesin virtual baru dapat disediakan tanpa perlu membeli perangkat keras
⚫ Dengan beberapa klik mouse atau menggunakan API
⚫ Mesin virtual baru dapat diinstal dalam hitungan menit
⚫ Biaya dapat dihemat pada perangkat keras, daya, dan pendinginan
dengan menggabungkan banyak komputer fisik sebagai mesin virtual
pada mesin fisik yang lebih sedikit (lebih besar)
⚫ Karena lebih sedikit mesin fisik yang dibutuhkan, biaya kontrak
pemeliharaan dapat dikurangi dan risiko kegagalan perangkat keras
berkurang 41
10.2.5 Virtualisasi komputasi
(Compute virtualization)
10.2.5.1 Komputasi yang Ditentukan Perangkat Lunak
(Software Defined Compute - SDC)
10.2.5.2 Kekurangan virtualisasi komputer
10.2.5.3 Teknologi virtualisasi
10.2.5.3.1 Emulasi
10.2.5.3.2 Partisi Logis (Logical Partitions - LPAR)
10.2.5.4 Manajemen memori virtual
10.2.5.4.1 Memori overcommit
10.2.5.4.2 Berbagi memori (Memory sharing)
42
10.2.5.1 Komputasi yang Ditentukan Perangkat
Lunak (Software Defined Compute - SDC)
⚫ Mesin virtual biasanya dikelola menggunakan satu sistem manajemen
mesin virtual terpusat yang redundan
⚫ Memungkinkan manajer sistem untuk mengelola lebih banyak mesin dengan
jumlah staf yang sama
⚫ Memungkinkan pengelolaan mesin virtual menggunakan API
⚫ Oleh karena itu, virtualisasi server dapat dilihat sebagai Software Defined
Compute
⚫ Pada SDC, semua mesin fisik menjalankan hypervisor dan semua
hypervisor dikelola sebagai satu lapisan menggunakan perangkat
lunak manajemen
43
10.2.5.1 Komputasi yang Ditentukan Perangkat
Lunak (Software Defined Compute - SDC)
44
10.2.5.1 Komputasi yang Ditentukan Perangkat
Lunak (Software Defined Compute - SDC)
⚫ Beberapa platform virtualisasi memungkinkan mesin virtual yang berjalan
untuk dipindahkan secara otomatis di antara mesin fisik
⚫ Manfaat:
⚫ Ketika mesin fisik gagal, semua mesin virtual yang berjalan pada mesin fisik
yang gagal dapat dimulai ulang secara otomatis pada mesin fisik lainnya
⚫ Mesin virtual dapat secara otomatis dipindahkan ke mesin fisik yang paling
tidak sibuk
⚫ Beberapa mesin fisik dapat terisi penuh sementara mesin fisik lainnya dapat
dimatikan secara otomatis, menghemat daya dan biaya pendinginan
⚫ Memungkinkan pemeliharaan perangkat keras tanpa waktu henti (downtime)
45
10.2.5.2 Kekurangan virtualisasi computer
(Disadvantages of computer virtualization)
Karena membuat mesin virtual baru sangat mudah, mesin virtual
cenderung dibuat untuk berbagai alasan
⚫ Efek ini dikenal sebagai "sprawl mesin virtual"
⚫ Semua VM (virtual machine):
⚫ Harus dikelola
⚫ Menggunakan sumber daya dari mesin fisik
⚫ Menggunakan daya dan pendinginan
⚫ Harus di-backup
⚫ Harus terus diperbarui dengan memasang tambalan (patches)
46
10.2.5.2 Kekurangan virtualisasi computer
(Disadvantages of computer virtualization)
⚫ Adanya lapisan tambahan dalam infrastruktur membutuhkan:
⚫ Biaya lisensi
⚫ Pelatihan manajer sistem
⚫ Pemasangan dan pemeliharaan alat tambahan
⚫ Virtualisasi tidak dapat digunakan di semua server
⚫ Beberapa server memerlukan perangkat keras khusus tambahan, seperti kartu
modem, token USB, atau beberapa bentuk I/O kecepatan tinggi seperti pada
sistem SCADA waktu nyata
⚫ Virtualisasi tidak didukung oleh semua vendor aplikasi
⚫ Ketika aplikasi mengalami beberapa masalah, manajer sistem harus menginstal
ulang aplikasi pada mesin fisik sebelum mereka mendapatkan dukungan
47
10.2.5.3 Teknologi virtualisasi
⚫ 10.2.5.3.1 Emulasi
⚫ Dapat menjalankan program di komputer, selain dari
yang awalnya dimaksudkan untuk
⚫ Menjalankan sistem operasi mainframe pada server
x86
⚫ 10.2.5.3.2 Partisi Logis (Logical Partitions -
LPAR)
⚫ Berbasis perangkat keras
⚫ Digunakan pada sistem mainframe dan midrange
48
10.2.5.3 Teknologi virtualisasi
10.2.5.3.3 Hypervisor
⚫ Mengontrol perangkat keras komputer fisik dan menyediakan mesin
virtual dengan semua layanan sistem fisik
⚫ CPU virtual
⚫ BIOS
⚫ Perangkat virtual
⚫ Manajemen memori virtual
⚫ Hipervisor dapat diimplementasikan pada tiga jenis teknologi:
⚫ Terjemahan biner (Binary translation)
⚫ Paravirtualisasi
⚫ Virtualisasi berbantuan perangkat keras
(paling banyak digunakan pada server x86)
49
10.2.5.4 Manajemen memori virtual
⚫ Hypervisor mengelola memori komputer fisik dengan membagi memori
yang tersedia di atas mesin virtual.
⚫ Hypervisor menggunakan overcommit memori dan berbagi memori
untuk membuat penggunaan terbaik dari memori fisik yang tersedia.
⚫ 10.2.5.4.1 Memori overcommit
⚫ Sebagian besar sistem operasi mengklaim lebih banyak memori daripada yang
sebenarnya mereka gunakan. Dengan overcommit memori, hypervisor
memberikan lebih banyak memori ke mesin virtual gabungan daripada yang
tersedia secara fisik di komputer.
⚫ 10.2.5.4.2 Berbagi memori (Memory sharing)
⚫ Berbagi memori memetakan halaman memori yang identik dalam satu mesin
virtual atau lebih ke satu halaman memori fisik. 50
10.2.6 Teknologi kontainer
(Container technology)
⚫ Teknologi kontainer adalah metode virtualisasi server di mana kernel sistem
operasi menyediakan beberapa contoh (instances) ruang pengguna yang
terisolasi, bukan hanya satu
⚫ Kontainer terlihat dan terasa seperti server nyata dari sudut pandang pemilik
dan penggunanya, tetapi mereka berbagi kernel sistem operasi yang sama
⚫ Kontainer adalah bagian dari kernel Linux sejak 2008
51
10.2.6 Teknologi kontainer
(Container technology)
Kontainer adalah keseimbangan
antara isolasi dan overhead
menjalankan aplikasi yang
terisolasi
52
10.2.6 Teknologi kontainer
(Container technology)
Kontainer memiliki sejumlah manfaat:
⚫ Isolasi
⚫ Aplikasi atau komponen aplikasi dapat dienkapsulasi dalam wadah, masing-masing
beroperasi secara independen dan terisolasi satu sama lain
⚫ Portabilitas
⚫ Karena container biasanya berisi semua komponen yang dibutuhkan aplikasi untuk
berfungsi, termasuk library dan patch, container dapat dijalankan pada infrastruktur apa
pun yang mampu menjalankan container menggunakan versi kernel yang sama.
⚫ Penyebaran yang mudah (easy deployment)
⚫ Wadah memungkinkan pengembang untuk menyebarkan versi perangkat lunak baru
dengan cepat, karena wadah mereka dapat dipindahkan dari lingkungan pengembangan
ke lingkungan produksi tanpa perubahan
53
10.2.6 Teknologi kontainer
(Container technology)
10.2.6.1 Implementasi kontainer
10.2.6.2 Kontainer dan keamanan
10.2.6.3 Orkestrasi kontainer
54
10.2.6.1 Implementasi kontainer
Kontainer didasarkan pada 3 teknologi yang semuanya merupakan bagian dari kernel
Linux:
⚫ Chroot (juga dikenal sebagai penjara)
⚫ Mengubah direktori root untuk proses yang sedang berjalan
⚫ Memastikan proses tidak dapat mengakses file di luar pohon direktori yang ditunjuk
⚫ Ruang nama (Namespaces)
⚫ Memungkinkan isolasi lengkap tampilan aplikasi dari lingkungan operasi
⚫ Pohon proses, jaringan, ID pengguna, dan sistem file yang dipasang
⚫ Grup C (Cgroups)
⚫ Membatasi dan mengisolasi penggunaan sumber daya dari kumpulan proses
⚫ PU, memori, disk I/O, jaringan
⚫ Linux Containers (LXC), diperkenalkan pada tahun 2008, adalah kombinasi dari ini
⚫ Docker adalah implementasi populer dari ekosistem kontainer
55
10.2.6.2 Kontainer dan keamanan
⚫ Sementara container menyediakan beberapa isolasi, mereka masih
menggunakan kernel dan library dasar yang sama.
Isolasi antar container pada mesin yang sama jauh lebih rendah
daripada isolasi mesin virtual.
⚫ Mesin virtual mendapatkan isolasi dari perangkat keras -
menggunakan instruksi CPU khusus.
⚫ Karena pengembang menentukan konten container , petugas
keamanan kehilangan kendali atas container , yang dapat
menyebabkan kerentanan yang tidak diketahui.
56
10.2.6.3 Orkestrasi kontainer
⚫ Orkestrasi kontainer mengabstraksi sumber daya dari sekelompok mesin dan
menyediakan layanan ke kontainer
⚫ Orkestra kontainer memungkinkan kontainer dijalankan di mana saja pada
sekelompok mesin
⚫ Menjadwalkan container untuk dijalankan pada mesin apa pun yang memiliki sumber
daya yang tersedia
⚫ Bertindak seperti kernel untuk sumber daya gabungan dari seluruh pusat data
57
10.2.7 Mainframe
10.2.7.1 Sejarah mainframe
10.2.7.2 Arsitektur mainframe
10.2.7.2.1 Unit Pemrosesan
10.2.7.2.2 Penyimpanan Utama
10.2.7.2.3 Saluran, ESCON dan FICON
10.2.7.2.4 Unit kontrol
10.2.7.3 Virtualisasi mainframe
58
10.2.7.1 Sejarah mainframe
⚫ Mainframe adalah komputer berperforma tinggi yang dibuat untuk
komputasi intensif I/O volume tinggi
⚫ Mahal
⚫ Sebagian besar digunakan untuk proses administrasi
⚫ Dioptimalkan untuk menangani volume data yang tinggi
⚫ IBM adalah vendor terbesar
⚫ ini memiliki 90% pangsa pasar
⚫ Akhir dari mainframe diprediksi selama beberapa dekade sekarang,
tetapi mainframe masih banyak digunakan
⚫ Mainframe saat ini masih berukuran besar (seukuran beberapa rak
19"), tetapi tidak memenuhi ruangan lagi 59
10.2.7.1 Sejarah mainframe
⚫ Mainframe sangat andal, biasanya berjalan
selama bertahun-tahun tanpa waktu henti
⚫ Banyak redundansi dibangun di
⚫ Perangkat keras dapat ditingkatkan dan diperbaiki
saat mainframe beroperasi tanpa waktu henti
⚫ Mainframe IBM z13 terbaru:
⚫ Diperkenalkan pada tahun 2015
⚫ Memori hingga 10TB
⚫ Hingga 141 prosesor
⚫ Berjalan pada kecepatan clock 5GHz
⚫ Dapat menjalankan hingga 8000 mesin virtual secara
bersamaan 60
10.2.7.2 Arsitektur mainframe
Sebuah mainframe terdiri dari:
⚫ Unit pemrosesan (Processing units - PU)
⚫ Penyimpanan (memory)
⚫ Saluran I/O
⚫ Unit control (control units)
⚫ Perangkat (devices), semua ditempatkan di
rak (bingkai)
61
10.2.7.2.1 Unit Pemrosesan
(Processing units - PU)
Arsitektur mainframe PU, memori, dan disk
⚫ Di dunia mainframe, istilah PU (Processing Unit) digunakan sebagai
pengganti CPU
⚫ Mainframe memiliki beberapa PU, jadi tidak ada unit pemrosesan pusat
⚫ Total semua PU dalam sebuah mainframe disebut Central Processor Complex (CPC)
⚫ Setiap paket buku dalam sangkar BPK berisi empat hingga delapan kartu
memori
⚫ Misalnya, mainframe z9 yang terisi penuh memiliki empat paket buku yang dapat
menyediakan memori hingga 512 GB
⚫ Disk dalam mainframe disebut DASD (Direct Attached Storage Device)
⚫ Sebanding dengan SAN di lingkungan midrange atau x86
62
10.2.7.2.2 Penyimpanan Utama
(Main Storage)
⚫ Setiap paket buku dalam sangkar BPK berisi empat hingga
delapan kartu memori.
Misalnya, mainframe z9 yang terisi penuh memiliki empat
paket buku yang dapat menyediakan memori hingga 512 GB.
⚫ Kartu memori hot swappable, yang berarti Anda dapat
menambah atau mengeluarkan kartu memori tanpa
mematikan mainframe.
63
10.2.7.2.3 Saluran (Channels), ESCON
dan FICON
⚫ Saluran (channel) menyediakan jalur data dan kontrol antara perangkat I/O
dan memori
⚫ Mainframe terbesar saat ini memiliki 1024 saluran
⚫ Jenis saluran:
⚫ OSA
⚫ Konektivitas ke berbagai teknologi jaringan standar industri, termasuk Ethernet
⚫ FICON
⚫ Teknologi saluran paling fleksibel, berdasarkan teknologi serat optik
⚫ Dengan FICON, perangkat input/output dapat ditempatkan beberapa kilometer dari mainframe
tempat perangkat tersebut dipasang
⚫ ESCON
⚫ Jenis teknologi serat optik sebelumnya
⚫ Hampir secepat saluran FICON, tetapi pada jarak yang lebih pendek 64
10.2.7.2.4 Unit kontrol (Control units)
⚫ Unit kontrol mirip dengan kartu ekspansi dalam sistem x86
atau midrange
⚫ Berisi logika untuk bekerja dengan jenis perangkat I/O
tertentu, seperti printer atau tape drive
⚫ Unit kontrol terhubung ke perangkat, seperti disk drive, tape
drive, dan antarmuka komunikasi.
⚫ Disk di mainframe disebut DASD (Direct Attached Storage
Device), yang sebanding dengan SAN (Storage Area
Network) di lingkungan midrange atau x86.
65
10.2.7.3 Virtualisasi mainframe
⚫ Mainframe dirancang untuk virtualisasi sejak awal
⚫ Partisi logis (Logical partitions - LPAR) adalah solusi virtualisasi default
⚫ LPAR setara dengan mainframe terpisah
⚫ Jumlah LPAR yang umum digunakan pada mainframe kurang dari
sepuluh
⚫ Sistem operasi mainframe yang berjalan pada setiap LPAR dirancang
untuk menjalankan sejumlah besar aplikasi dan layanan secara
bersamaan, dan dapat dihubungkan ke ribuan pengguna pada saat
yang bersamaan.
⚫ Seringkali satu LPAR menjalankan semua tugas produksi sementara
yang lain menjalankan lingkungan pengujian terkonsolidasi 66
10.2.8 Sistem kelas menengah
(Midrange systems)
⚫ Platform midrange diposisikan antara platform mainframe dan
platform x86
⚫ Dibangun menggunakan komponen hanya dari satu vendor, dan
menjalankan sistem operasi yang disediakan oleh vendor yang
sama
⚫ Ini membuat platform:
⚫ Stabil
⚫ Tersedia tinggi (High available)
⚫ Aman (Secure)
67
10.2.8 Sistem kelas menengah
(Midrange systems)
Saat ini sistem kelas menengah diproduksi oleh tiga vendor:
⚫ IBM
⚫ Power Systems series
⚫ Sistem operasi: AIX UNIX, Linux dan IBM i
⚫ Hewlett Packard
⚫ HP Integrity systems
⚫ Sistem operasi: HP-UX UNIX dan OpenVMS
⚫ Oracle
⚫ Server SPARC berbasis Sun Microsystems
⚫ Sistem operasi: Solaris UNIX
68
10.2.8 Sistem kelas menengah
(Midrange systems)
10.2.8.1 Sejarah (History)
10.2.8.2 Arsitektur Midrange
10.2.8.2.1 UMA
10.2.8.2.2 NUMA
10.2.8.3 Virtualization Midrange
69
10.2.8.1 Sejarah (History)
⚫ Komputer mini berkembang pada 1960-
an sebagai komputer kecil yang
dimungkinkan dengan penggunaan
teknologi IC dan memori inti
⚫ Kecil itu relatif
⚫ Satu komputer mini biasanya ditempatkan di
beberapa lemari seukuran rak 19”.
⚫ Komputer mini pertama yang sukses
secara komersial adalah DEC PDP-8,
diluncurkan pada tahun 1964
70
10.2.8.1 Sejarah (History)
⚫ Komputer mini (minicomputer) menjadi sistem yang kuat
⚫ Komputer mini menjalankan sistem operasi multi-pengguna dan
multitasking penuh seperti OpenVMS dan UNIX
⚫ Pada 1980-an, komputer mini (alias sistem midrange) menjadi
kurang populer
⚫ Hasil dari biaya PC yang lebih rendah, dan munculnya LAN
⚫ Komputer mini masih digunakan di tempat-tempat di mana
ketersediaan, performa, dan keamanan yang tinggi sangat
penting
71
10.2.8.2 Arsitektur Midrange
⚫ Arsitektur sebagian besar sistem midrange:
⚫ Menggunakan banyak CPU
⚫ Berdasarkan arsitektur memori bersama (shared memory architecture)
⚫ Dalam arsitektur memori bersama, semua CPU dalam sistem
dapat mengakses semua blok memori yang terpasang
⚫ Perubahan yang dibuat dalam memori oleh satu CPU segera terlihat oleh
semua CPU lainnya
⚫ Bus bersama menghubungkan semua CPU dan semua RAM
⚫ Sistem I/O juga terhubung ke jaringan interkoneksi
72
10.2.8.2 Arsitektur Midrange
Arsitektur memori bersama datang dalam dua rasa:
⚫ Akses Memori Seragam (Uniform Memory Access - UMA)
⚫ Akses Memori Tidak Seragam (Non-Uniform Memory Access -
NUMA)
⚫ Koherensi cache diperlukan
⚫ Jika satu CPU menulis ke suatu lokasi di memori bersama, semua CPU
lainnya harus memperbarui cache mereka untuk mencerminkan data yang
diubah
⚫ Versi koheren cache dikenal sebagai ccUMA dan ccNUMA
73
10.2.8.2.1 UMA
⚫ Arsitektur UMA adalah salah satu gaya
paling awal dari arsitektur multi-CPU,
biasanya digunakan dalam sistem
dengan tidak lebih dari 8 CPU
⚫ Mesin diatur ke dalam serangkaian
node yang berisi prosesor, atau blok
memori
⚫ Node saling berhubungan, biasanya
dengan bus bersama
74
10.2.8.2.2 Arsitektur SMP
⚫ Sistem UMA juga dikenal sebagai
sistem Symmetric Multi-Processor
(SMP).
⚫ SMP digunakan di server x86 serta
sistem midrange awal
⚫ Dapat Diimplementasikan di dalam CPU
multi-core
⚫ Interkoneksi diimplementasikan on-chip di
CPU
⚫ Jalur tunggal ke memori utama disediakan
antara chip dan subsistem memori
75
10.2.8.2.2 NUMA
⚫ NUMA adalah arsitektur komputer di mana
mesin diatur ke dalam serangkaian node
⚫ Setiap node berisi prosesor dan memori
⚫ Node saling terhubung menggunakan
interkoneksi palang
⚫ Ketika prosesor mengakses memori tidak
dalam node sendiri, data harus ditransfer
melalui interkoneksi
⚫ Lebih lambat daripada mengakses memori lokal
⚫ Waktu akses memori tidak seragam
76
10.2.8.3 Virtualisasi Midrange
⚫ Sebagian besar vendor platform kelas menengah
menyediakan virtualisasi berdasarkan LPAR
⚫ LPARS adalah jenis partisi perangkat keras
⚫ IBM AIX: Beban Kerja/Partisi Kerja (Workload/Working
Partitions - WPAR)
⚫ HP: nPARs
⚫ Oracle Solaris: zona dan wadah (containers)
77
10.2.9 x86 server
⚫ Platform x86 adalah arsitektur server paling dominan saat ini
⚫ Pada 1990-an, server x86 pertama kali muncul.
⚫ Mereka pada dasarnya adalah PC besar, ditempatkan di rak 19” tanpa keyboard dan
monitor khusus
⚫ Server x86 diproduksi oleh banyak vendor, seperti:
⚫ HP
⚫ Dell
⚫ Lenovo
⚫ HDS (Hitachi Data Systems)
⚫ Huawei
⚫ Implementasi platform sangat bergantung pada vendor dan komponen yang tersedia pada
saat tertentu
⚫ Sistem operasi yang paling banyak digunakan adalah Microsoft Windows dan Linux
78
10.2.9.1 Sejarah (History)
⚫ Sebagian besar server di pusat data saat ini didasarkan pada arsitektur
x86.
⚫ Arsitektur x86 ini (juga dikenal sebagai arsitektur PC) didasarkan pada
PC IBM asli.
⚫ Sejarah IBM PC dijelaskan lebih detail di bab 12.
⚫ Pada 1990-an, server x86 pertama kali muncul.
⚫ Mereka pada dasarnya adalah PC, tetapi ditempatkan di rak 19” tanpa
keyboard dan monitor khusus.
⚫ Selama bertahun-tahun, server x86 menjadi standar de-facto untuk
server.
79
10.2.9.2 Arsitektur x86
⚫ arsitektur x86 ditentukan oleh CPU dari
keluarga x86, dan blok penyusun,
terintegrasi dalam sejumlah chip khusus,
yang dikenal sebagai chipset x86
⚫ Sistem x86 sebelumnya menggunakan
arsitektur Northbridge / Southbridge
⚫ Front Side Bus (FSB)
⚫ Antarmuka Media Langsung (Direct Media
Interface - DMI)
80
10.2.9.2 Arsitektur x86
⚫ Dalam arsitektur PCH, jalur data RAM dan PCIe
terhubung langsung ke CPU
⚫ Northbridge terintegrasi dalam CPU
⚫ Intel memperkenalkan arsitektur dan chipset baru
kira-kira setiap dua tahun
⚫ Sekarang sistem lengkap dalam sebuah chip
(SoC)
⚫ SOC secara langsung mengekspos:
⚫ jalur PCIe
⚫ SATA
⚫ USB
⚫ Video Definisi Tinggi
81
10.2.9.3 virtualisasi x86
⚫ Pada platform x86, sebagian besar server masing-masing hanya menjalankan satu aplikasi
⚫ Server Windows yang menjalankan Exchange mungkin juga tidak akan menjalankan SharePoint
⚫ Server Linux yang menjalankan Apache mungkin juga tidak akan menjalankan MySQL
⚫ Ini adalah alasan utama sistem x86 menggunakan perangkat kerasnya jauh lebih efisien daripada
sistem kelas menengah
⚫ Dengan menjalankan beberapa sistem operasi masing-masing dalam satu mesin virtual
pada server x86 besar, pemanfaatan sumber daya dapat ditingkatkan
⚫ Produk yang paling banyak digunakan untuk virtualisasi pada platform x86 adalah:
⚫ VMware vSphere
⚫ Hyper-V Microsoft
⚫ Citrix XenServer
⚫ Oracle VirtualBox
⚫ Red Hat RHEV
82
10.2.10 Superkomputer
⚫ Superkomputer adalah arsitektur komputer yang dirancang untuk
memaksimalkan kecepatan perhitungan
⚫ Hal ini berbeda dengan mainframe, yang dioptimalkan untuk throughput I/O yang
tinggi
⚫ Superkomputer adalah mesin tercepat yang tersedia pada waktu
tertentu
⚫ Digunakan untuk tugas-tugas intensif komputasi yang membutuhkan
perhitungan floating point, seperti:
⚫ Perhitungan ramalan cuaca
⚫ Simulasi reservoir minyak
⚫ Menyediakan (rendering) film animasi
83
10.2.10 Superkomputer
Awalnya, superkomputer diproduksi
terutama oleh sebuah perusahaan
bernama Cray Research
⚫ Cray-1 (1976): 250 MFLOPS (Juta
Operasi Floating Point per detik)
⚫ Cray-2 (1985): 1.900 MFLOPS
84
10.2.10 Superkomputer
⚫ Saat ini komputasi kinerja tinggi dilakukan terutama
dengan susunan sistem x86 yang besar
⚫ CPU Intel Core i7 5960X memiliki kinerja puncak 354.000
MFLOPS
⚫ Array komputer tercepat adalah cluster dengan lebih dari
10.000.000 inti CPU, menghitung 125.435.000.000
MFLOPS, menjalankan Linux
⚫ Unit pemrosesan grafis (GPU) dapat digunakan bersama
dengan CPU untuk mempercepat kalkulasi tertentu
⚫ GPU memiliki arsitektur paralel masif yang terdiri dari
ribuan inti kecil dan efisien yang dirancang untuk
menangani banyak tugas secara bersamaan
⚫ GPU NVIDIA Tesla GP100, diperkenalkan pada 2016, memiliki 3840
core
85
10.3 Ketesediaan Komputasi
(Compute availability)
10.3.1 Komponen cepat
tergantikan
10.3.2 Paritas dan memori ECC
10.3.3 Mengunci langkah
10.3.4 Ketersediaan virtualisasi
10.3.1 Hot swappable
components
10.3.2 Parity and ECC memory
10.3.3 Lockstepping
10.3.4 Virtualization availability
86
10.3.1 Komponen cepat tergantikan
(Hot swappable components)
⚫ Komponen cepat tergantikan (hot swappable) adalah komponen server yang
dapat diinstal, diganti, atau ditingkatkan (upgraded) saat server sedang
berjalan
⚫ Penyimpanan (memory)
⚫ CPU
⚫ Kartu antarmuka (interface cards)
⚫ Catu daya (power supplies)
⚫ Virtualisasi dan sistem operasi yang menggunakan perangkat keras server
harus menyadari bahwa komponen dapat ditukar dengan cepat
⚫ Misalnya, sistem operasi harus dapat mengenali memori yang ditambahkan saat server
beroperasi dan harus mengizinkan penggunaan memori ekstra ini tanpa perlu reboot.
87
10.3.2 Paritas dan memori ECC
(Parity and ECC memory)
Memori paritas (Parity memory)
⚫ Untuk mendeteksi kegagalan memori, bit paritas dapat digunakan sebagai
bentuk paling sederhana dari kode pendeteksi kesalahan
⚫ Bit paritas memungkinkan deteksi kesalahan data
⚫ Paritas tidak dapat memperbaiki kesalahan, karena tidak diketahui bit mana
yang membalik (berubah dari 0 jadi 1 atau sebaliknya)
DATA PARITY
1001 0110 0
1011 0110 1
0001 0110 0 -> ERROR: bit paritas seharusnya 1! 88
10.3.2 Paritas dan memori ECC
(Parity and ECC memory)
Memori ECC
⚫ Memori ECC tidak hanya mendeteksi kesalahan, tetapi juga
mampu memperbaikinya
⚫ Chip Memori ECC menggunakan Kode Hamming atau Triple
Modular Redundancy (TMR) sebagai metode deteksi dan koreksi
kesalahan
⚫ Kesalahan memori sebanding dengan jumlah RAM di komputer
serta durasi operasi
⚫ Karena server biasanya berisi banyak GB RAM dan beroperasi 24 jam
sehari, kemungkinan kesalahan memori relatif tinggi dan karenanya
memerlukan memori ECC 89
10.3.3 Mengunci langkah
(Lockstepping)
⚫ Mengunci langkah (lockstepping) adalah teknologi deteksi dan
koreksi kesalahan untuk server
⚫ Beberapa sistem melakukan perhitungan yang sama, dan hasil
perhitungan dibandingkan
⚫ Jika hasilnya sama, perhitungan dilakukan dengan benar
⚫ Jika ada hasil yang berbeda, salah satu server melakukan kesalahan
⚫ Teknologi yang sangat mahal
⚫ Hanya digunakan dalam sistem yang membutuhkan keandalan yang
sangat tinggi
90
10.3.4 Ketersediaan virtualisasi
(Virtualization availability)
Semua produk virtualisasi menyediakan pengelompokan
(clustering) failover
⚫ Saat mesin fisik gagal, mesin virtual yang berjalan di
mesin fisik tersebut dapat dikonfigurasi untuk memulai
ulang secara otomatis di mesin fisik lainnya
⚫ Ketika mesin virtual mogok (crashes), itu dapat dimulai
ulang secara otomatis pada mesin fisik yang sama
91
10.3.4 Ketersediaan virtualisasi
(Virtualization availability)
Lapisan virtualisasi tidak memiliki pengetahuan tentang
aplikasi yang berjalan di sistem operasi mesin virtual
⚫ Failover clustering pada level virtualisasi hanya dapat
melindungi dari dua situasi:
⚫ Kegagalan perangkat keras fisik.
⚫ Sistem operasi macet di mesin virtual
92
10.3.4 Ketersediaan virtualisasi
(Virtualization availability)
Untuk mengatasi efek kegagalan mesin fisik, diperlukan mesin fisik cadangan
⚫ Semua hypervisor ditempatkan di cluster virtualisasi
⚫ Hypervisor pada mesin fisik memeriksa ketersediaan hypervisor lain di
cluster
⚫ Satu mesin fisik berjalan sebagai cadangan untuk mengambil alih beban
mesin fisik yang gagal
93
10.3.4 Ketersediaan virtualisasi
(Virtualization availability)
Ketika mesin fisik gagal, mesin virtual yang berjalan
di atasnya secara otomatis dimulai ulang pada mesin
fisik cadangan
94
10.3.4 Ketersediaan virtualisasi
(Virtualization availability)
Alternatifnya adalah menjalankan semua mesin fisik
dengan kapasitas yang lebih rendah
95
10.3.4 Ketersediaan virtualisasi
(Virtualization availability)
⚫ Ketika mesin fisik gagal, mesin virtual yang berjalan di
atasnya secara otomatis dimulai ulang di mesin fisik
lainnya
⚫ Semua mesin sekarang bekerja dengan kapasitas penuh
96
10.4 Compute performance
10.4.1 Hukum Moore
10.4.2 Meningkatkan kinerja
CPU dan memori
10.4.3 Kinerja virtualisasi
10.4.1 Moore's law
10.4.2 Increasing CPU and
memory performance
10.4.3 Virtualization
performance
97
10.4.1 Hukum Moore (Moore's law)
⚫ Pada tahun 1971, Intel merilis mikroprosesor
universal pertama di dunia, 4004
⚫ Berisi 2.300 transistor
⚫ Bisa melakukan 60.000 instruksi per detik
⚫ Kira-kira sebanyak komputer ENIAC yang memenuhi
ruangan penuh dan beratnya beberapa ton
⚫ Sejak diperkenalkannya CPU pertama pada tahun
1971, kekuatan CPU telah meningkat secara
eksponensial
98
10.4.1 Hukum Moore (Moore's law)
⚫ Hukum Moore menyatakan:
⚫ Jumlah transistor yang dapat ditempatkan dengan murah pada
sirkuit terintegrasi (integrated circuit - IC) kira-kira dua kali lipat
setiap dua tahun
⚫ Tren ini telah berlanjut selama lebih dari setengah abad
sekarang
⚫ Intel Broadwell-EP Xeon pada tahun 2017 berisi
7.200.000.000 transistor
⚫ Peningkatan 3.100.000 kali lipat dalam waktu 45 tahun! 99
10.4.1 Hukum Moore (Moore's law)
Harap dicatat bahwa skala vertikal adalah logaritmik, bukan linier, menunjukkan
peningkatan 10 kali lipat jumlah transistor di setiap langkah 100
10.4.1 Hukum Moore (Moore's law)
⚫ Hukum Moore hanya berbicara tentang jumlah transistor; bukan kinerja CPU
⚫ Kinerja CPU bergantung pada sejumlah variabel, seperti:
⚫ Kecepatan pewaktu (clock speed)
⚫ Penggunaan cache dan pipa (pipelines)
⚫ Lebar bus data
⚫ Hukum Moore tidak dapat berlanjut selamanya, karena ada batasan fisik untuk
jumlah transistor yang dapat ditampung oleh satu chip
⚫ Pada tahun 2017, koneksi yang digunakan di dalam CPU kelas atas memiliki
lebar fisik 14 nm (nanometer), ukuran 140 atom
⚫ Pada tahun 2020, CPU 5 nm akan diproduksi; jejak pada chip hanya selebar 50
atom
101
10.4.2 Meningkatkan kinerja CPU dan memori
(Increasing CPU and memory performance)
Berbagai teknik telah ditemukan untuk meningkatkan kinerja CPU,
seperti:
⚫ Meningkatkan kecepatan pewaktu
⚫ Caching
⚫ Prefetching
⚫ Prediksi cabang
⚫ Saluran pipa
⚫ Penggunaan beberapa inti
102
10.4.2 Meningkatkan kinerja CPU dan memori
(Increasing CPU and memory performance)
10.4.2.1 Meningkatkan kecepatan clock (Increasing clock speed)
10.4.2.2 Cache CPU (CPU Caching)
10.4.2.3 Pipa (Pipelines)
10.4.2.4 Prefetching dan prediksi cabang (Prefetching and branch prediction)
10.4.2.5 CPU Superscalar (Superscalar CPUs)
10.4.2.6 CPU Multi-core (Multi-core CPUs)
10.4.2.7 Hyper-threading
103
10.4.2.1 Meningkatkan kecepatan clock
(Increasing clock speed)
⚫ Instruksi CPU perlu diambil, diterjemahkan, dieksekusi, dan hasilnya harus
sering ditulis kembali ke memori
⚫ Setiap langkah dalam urutan dieksekusi ketika sinyal clock eksternal diubah
dari 0 menjadi 1 (cock tick)
⚫ Sinyal clock dipasok ke CPU oleh osilator eksternal
⚫ Di tahun-tahun awal, kecepatan jam CPU adalah indikator kinerja utama
⚫ Kecepatan jam CPU diukur dalam Hertz (Hz) - detak jam atau siklus per detik
104
10.4.2.1 Meningkatkan kecepatan clock
(Increasing clock speed)
⚫ CPU saat ini menggunakan kecepatan clock
setinggi 3 GHz (3.000.000.000 detak jam per
detik)
⚫ Karena keterbatasan fisik, osilator tidak dapat
berjalan dengan kecepatan ini
⚫ Sebuah osilator dengan frekuensi yang lebih
rendah digunakan (misalnya 400 MHz) dan
clock rate ini dikalikan pada chip CPU
⚫ Kecepatan osilator dikenal sebagai kecepatan
Front Side Bus (FSB).
105
10.4.2.2 Cache CPU (CPU Caching)
⚫ Semua CPU yang digunakan saat ini berisi cache on-chip
⚫ Cache adalah bagian yang relatif kecil dari RAM statis berkecepatan tinggi
pada CPU
⚫ Menyimpan sementara data yang diterima dari memori utama yang lebih lambat
⚫ Sebagian besar CPU berisi dua jenis cache: cache level 1 dan level 2
⚫ Beberapa CPU multi-core juga memiliki cache level 3 yang besar; cache yang dibagikan
oleh core
⚫ Memori cache berjalan pada kecepatan CPU penuh (katakanlah 3 GHz),
memori utama berjalan pada kecepatan jam eksternal CPU (katakanlah 100
MHz, yang berarti 30 kali lebih lambat)
106
10.4.2.2 Cache CPU (CPU Caching)
107
10.4.2.3 Pipa (Pipelines)
Prosesor awal pertama-tama mengambil instruksi,
mendekodekannya, lalu mengeksekusi instruksi yang
diambil, dan menulis kembali hasilnya sebelum mengambil
instruksi berikutnya dan memulai proses dari awal lagi
108
10.4.2.3 Pipa (Pipelines)
⚫ Selanjutnya CPU menggunakan saluran pipa
⚫ Saat instruksi pertama sedang dieksekusi, instruksi kedua
dapat diambil (karena sirkuit itu tetap diam), membuat
instruksi tumpang tindih
109
10.4.2.4 Prefetching dan prediksi cabang
(Prefetching and branch prediction)
⚫ Prefetching:
⚫ Ketika sebuah instruksi diambil dari memori utama, instruksi selanjutnya
juga diambil dan disimpan dalam cache
⚫ Ketika CPU membutuhkan instruksi selanjutnya, itu sudah tersedia di
cache
⚫ Sayangnya, sebagian besar program berisi lompatan (juga
dikenal sebagai cabang), yang mengakibatkan cache hilang
⚫ Instruksi berikutnya bukanlah instruksi berikutnya dalam memori
110
10.4.2.4 Prefetching dan prediksi cabang
(Prefetching and branch prediction)
⚫ Sistem cache mencoba memprediksi hasil instruksi
cabang sebelum dijalankan oleh CPU (disebut prediksi
cabang)
⚫ Dalam praktiknya, lebih dari 80% instruksi prosesor dikirimkan
ke CPU dari memori cache menggunakan prefetching dan
prediksi cabang
111
10.4.2.5 CPU Superscalar
(Superscalar CPUs)
⚫ CPU superscalar dapat memproses lebih dari satu instruksi per detak
jam
⚫ Hal ini dilakukan dengan mengirimkan beberapa instruksi secara
bersamaan ke unit fungsional redundan pada prosesor
112
10.4.2.6 CPU Multi-core
(Multi-core CPUs)
⚫ CPU komersial tercepat telah berjalan antara 3 GHz dan 4 GHz
selama beberapa tahun sekarang
⚫ Alasan:
⚫ Kecepatan clock tinggi membuat koneksi pada papan sirkuit
berfungsi sebagai antena radio
⚫ Frekuensi 3 GHz berarti panjang gelombang 10 cm. Ketika
sinyal bergerak lebih dari beberapa cm di papan sirkuit, sinyal
keluar dari fase dengan jam
⚫ CPU dapat menjadi sangat panas di titik-titik tertentu, yang
dapat menyebabkan kehancuran 113
10.4.2.6 CPU Multi-core
(Multi-core CPUs)
⚫ Prosesor multi-core adalah CPU dengan beberapa core terpisah
⚫ Setara dengan mendapatkan banyak prosesor dalam satu paket
⚫ Core dalam CPU multi-core berjalan pada frekuensi yang lebih
rendah
⚫ Mengurangi konsumsi daya
⚫ Mengurangi panas (tidak ada hot spot)
⚫ Kecenderungan saat ini adalah memiliki CPU dengan puluhan
atau bahkan ratusan core
114
10.4.2.7 Hyper-threading
⚫ CPU Intel tertentu berisi teknologi khusus yang disebut hyper-
threading
⚫ Misalnya CPU Core i3/i5/i7 dan Xeon
⚫ Hyper-threading membuat satu inti prosesor bekerja secara virtual
sebagai prosesor multi-inti
⚫ Hyper-threading dapat memberikan beberapa peningkatan kinerja
sistem dengan membuat pipa prosesor lebih sibuk
115
10.4.3 Kinerja virtualisasi
(Virtualization performance)
⚫ Mengkonsolidasikan beberapa mesin virtual pada satu
mesin fisik meningkatkan penggunaan CPU dan
mengurangi waktu menganggur (idle) CPU
⚫ Ini adalah driver utama untuk penggunaan virtualisasi
⚫ Mesin fisik perlu menangani disk dan I/O jaringan dari
semua mesin virtual yang berjalan
⚫ Ini dapat dengan mudah menyebabkan kemacetan kinerja I/O
116
10.4.3 Kinerja virtualisasi
(Virtualization performance)
⚫ Saat memilih mesin fisik untuk menghosting mesin virtual,
pertimbangkan untuk membeli mesin dengan:
⚫ Banyaknya CPU dan kapasitas memori
⚫ Kemampuan hasil (throughput) I/O yang sangat tinggi
⚫ Virtualisasi memperkenalkan hukuman kinerja:
⚫ Sumber daya yang diperlukan untuk menjalankan hypervisor
⚫ Transformasi operasi
⚫ Ini biasanya kurang dari 10% dari total kinerja
117
10.4.3 Kinerja virtualisasi
(Virtualization performance)
Database umumnya memerlukan banyak bandwidth jaringan dan
kinerja I/O disk yang tinggi
⚫ Ini membuat database kurang cocok untuk lingkungan virtual
⚫ Pemetaan Perangkat Mentah memungkinkan akses eksklusif
mesin virtual ke media penyimpanan fisik
⚫ Ini mengurangi hit kinerja hypervisor pada penyimpanan hingga hampir nol
118
10.4.3 Kinerja virtualisasi
(Virtualization performance)
Seringkali satu server fisik diperlukan per database
⚫ Server fisik hanya menjalankan satu mesin virtual
⚫ Masih banyak manfaat virtualisasi
⚫ Server basis data dapat dengan mudah dipindahkan ke mesin
fisik lain tanpa downtime
⚫ Manajemen server disatukan ketika semua server menjalankan
hypervisor
119
10.5 Compute security
10.5.1 Keamanan fisik
10.5.2 Keamanan virtualisasi
10.5.1 Physical security
10.5.2 Virtualization security
120
10.5.1 Keamanan fisik
(Physical security)
⚫ Nonaktifkan port USB eksternal di BIOS
⚫ Pengaturan BIOS di server x86 harus dilindungi menggunakan
kata sandi,
⚫ Melalui BIOS, port USB eksternal dapat diaktifkan, dan parameter lainnya
dapat diatur
⚫ Beberapa server memungkinkan deteksi pembukaan fisik rumah
server
⚫ Peristiwa semacam itu dapat dikirim ke konsol manajemen pusat
menggunakan perangkap SNMP misalnya
⚫ Jika memungkinkan, aktifkan ini untuk mendeteksi aktivitas yang tidak
biasa 121
10.5.2 Keamanan virtualisasi
(Virtualization security)
⚫ Mesin virtual harus dilindungi dengan cara yang sama seperti
mesin fisik
⚫ Penggunaan virtualisasi memperkenalkan kerentanan keamanan
barunya sendiri:
⚫ Jika memungkinkan, firewall dan Sistem Deteksi Intrusi (Intrusion
Detection Systems - IDS) di hypervisor harus digunakan
⚫ Platform virtualisasi itu sendiri juga perlu ditambal (patching)
⚫ Ukuran dan kerumitan hypervisor harus dijaga seminimal mungkin
⚫ DMZ
⚫ Pertimbangkan untuk menggunakan mesin fisik terpisah yang
menjalankan semua mesin virtual yang diperlukan di DMZ 122
10.5.2 Keamanan virtualisasi
(Virtualization security)
Konsol manajemen sistem
⚫ Konsol manajemen sistem terhubung ke semua hypervisor dan mesin
virtual
⚫ Saat keamanan konsol manajemen sistem dibobol, keamanan dibobol
di semua mesin virtual
⚫ Tidak semua manajer sistem harus memiliki akses ke semua mesin
virtual
⚫ Akun pengguna dan kata sandi khusus harus dikonfigurasikan untuk
operasi berisiko tinggi seperti mematikan mesin fisik atau kluster virtual
⚫ Semua aktivitas pengguna di konsol manajemen sistem harus dicatat
123

More Related Content

Similar to M-MIT-09 Komputasi

Pertemuan 13 (Mikroprosesor).pdf
Pertemuan 13 (Mikroprosesor).pdfPertemuan 13 (Mikroprosesor).pdf
Pertemuan 13 (Mikroprosesor).pdfHendroGunawan8
 
Blackman/ albert giban
Blackman/ albert gibanBlackman/ albert giban
Blackman/ albert gibanalbert giban
 
1 sejarah processor
1 sejarah processor1 sejarah processor
1 sejarah processoralbert giban
 
Evolusi dan kinerja komputer
Evolusi dan kinerja komputerEvolusi dan kinerja komputer
Evolusi dan kinerja komputerAnzhor Muhajir
 
Perakitan komputer perangkat proses
Perakitan komputer perangkat prosesPerakitan komputer perangkat proses
Perakitan komputer perangkat prosesVictor Tengker
 
Perkembangan Monitor dan Prosesor Dari Masa ke Masa
Perkembangan Monitor dan Prosesor Dari Masa ke MasaPerkembangan Monitor dan Prosesor Dari Masa ke Masa
Perkembangan Monitor dan Prosesor Dari Masa ke Masaagungsyahputra
 
Proses Device Doc.
Proses Device Doc.Proses Device Doc.
Proses Device Doc.Rexsy RS
 
Pertemuan 6 bagian prosessor
Pertemuan 6 bagian prosessorPertemuan 6 bagian prosessor
Pertemuan 6 bagian prosessorjumiathyasiz
 
19425452 masalah-hardware
19425452 masalah-hardware19425452 masalah-hardware
19425452 masalah-hardwareIl D'amore
 
Kelompok 2 xtkj 2 smk ma'arif nu1 sunpiyuh...
Kelompok 2 xtkj 2 smk ma'arif nu1 sunpiyuh...Kelompok 2 xtkj 2 smk ma'arif nu1 sunpiyuh...
Kelompok 2 xtkj 2 smk ma'arif nu1 sunpiyuh...nur ahman
 
Pertemuan 6 bagian prosessor
Pertemuan 6 bagian prosessorPertemuan 6 bagian prosessor
Pertemuan 6 bagian prosessorjumiathyasiz
 
Bab 2 bagian dalam komputer
Bab 2 bagian dalam komputerBab 2 bagian dalam komputer
Bab 2 bagian dalam komputeraulia sriwahyuni
 
Bab 2 bagian dalam komputer
Bab 2 bagian dalam komputerBab 2 bagian dalam komputer
Bab 2 bagian dalam komputerzulin zul
 
Bab 2 bagian dalam komputer
Bab 2 bagian dalam komputerBab 2 bagian dalam komputer
Bab 2 bagian dalam komputeraulia sriwahyuni
 
Bab 2 bagian dalam komputer
Bab 2 bagian dalam komputerBab 2 bagian dalam komputer
Bab 2 bagian dalam komputerismail umar
 

Similar to M-MIT-09 Komputasi (20)

Pertemuan 13 (Mikroprosesor).pdf
Pertemuan 13 (Mikroprosesor).pdfPertemuan 13 (Mikroprosesor).pdf
Pertemuan 13 (Mikroprosesor).pdf
 
Blackman/ albert giban
Blackman/ albert gibanBlackman/ albert giban
Blackman/ albert giban
 
1 sejarah processor
1 sejarah processor1 sejarah processor
1 sejarah processor
 
Orkom perancangan kinerja
Orkom perancangan kinerjaOrkom perancangan kinerja
Orkom perancangan kinerja
 
Arkom8
Arkom8Arkom8
Arkom8
 
Evolusi dan kinerja komputer
Evolusi dan kinerja komputerEvolusi dan kinerja komputer
Evolusi dan kinerja komputer
 
P4
P4P4
P4
 
Pengertian dan cara kerja processor
Pengertian dan cara kerja processorPengertian dan cara kerja processor
Pengertian dan cara kerja processor
 
Perakitan komputer perangkat proses
Perakitan komputer perangkat prosesPerakitan komputer perangkat proses
Perakitan komputer perangkat proses
 
Perkembangan Monitor dan Prosesor Dari Masa ke Masa
Perkembangan Monitor dan Prosesor Dari Masa ke MasaPerkembangan Monitor dan Prosesor Dari Masa ke Masa
Perkembangan Monitor dan Prosesor Dari Masa ke Masa
 
Proses Device Doc.
Proses Device Doc.Proses Device Doc.
Proses Device Doc.
 
Pertemuan 6 bagian prosessor
Pertemuan 6 bagian prosessorPertemuan 6 bagian prosessor
Pertemuan 6 bagian prosessor
 
PPT OSK.pptx
PPT OSK.pptxPPT OSK.pptx
PPT OSK.pptx
 
19425452 masalah-hardware
19425452 masalah-hardware19425452 masalah-hardware
19425452 masalah-hardware
 
Kelompok 2 xtkj 2 smk ma'arif nu1 sunpiyuh...
Kelompok 2 xtkj 2 smk ma'arif nu1 sunpiyuh...Kelompok 2 xtkj 2 smk ma'arif nu1 sunpiyuh...
Kelompok 2 xtkj 2 smk ma'arif nu1 sunpiyuh...
 
Pertemuan 6 bagian prosessor
Pertemuan 6 bagian prosessorPertemuan 6 bagian prosessor
Pertemuan 6 bagian prosessor
 
Bab 2 bagian dalam komputer
Bab 2 bagian dalam komputerBab 2 bagian dalam komputer
Bab 2 bagian dalam komputer
 
Bab 2 bagian dalam komputer
Bab 2 bagian dalam komputerBab 2 bagian dalam komputer
Bab 2 bagian dalam komputer
 
Bab 2 bagian dalam komputer
Bab 2 bagian dalam komputerBab 2 bagian dalam komputer
Bab 2 bagian dalam komputer
 
Bab 2 bagian dalam komputer
Bab 2 bagian dalam komputerBab 2 bagian dalam komputer
Bab 2 bagian dalam komputer
 

M-MIT-09 Komputasi

  • 1. 1 Manajemen Infrastruktur TI: MIT-09 Komputasi (Compute) Rumadi Hartawan, S.T., M.Kom.
  • 2. Buku Acuan 1 IT Infrastructure Architecture Infrastructure Building Blocks and Concepts Third Edition Sjaak Laan Lulu Press Inc, 2017 http://www.sjaaklaan.com/ Chapter 10 Compute 2
  • 3. 10 Komputasi (Compute) 10.1 Pendahuluan 10.2 Blok bangunan komputasi 10.3 Ketersediaan komputasi 10.4 Kinerja komputasi 10.5 Keamanan komputasi 10.1 Introduction 10.2 Compute building blocks 10.3 Compute availability 10.4 Compute performance 10.5 Compute security 3
  • 4. 10.1 Pendahuluan ⚫ Komputasi (compute) adalah istilah umum untuk komputer yang terletak di Pusat Data ⚫ Mesin fisik atau mesin virtual ⚫ Ada tiga kelompok: ⚫ Mainframe ⚫ Sistem kelas menengah (Midrange systems) ⚫ Server x86 4
  • 5. 10.1 Pendahuluan ⚫ Komputer fisik berisi: ⚫ Catu daya (Power supplies) ⚫ Unit Pemrosesan Pusat () ⚫ Sistem Input/Output Dasar ⚫ Penyimpanan ⚫ Port ekspansi ⚫ Konektifitas jaringan ⚫ Keyboard, mouse, dan monitor 5
  • 6. 10.1 Pendahuluan Sejarah ⚫ Komputer Colossus Inggris, yang dibuat selama Perang Dunia II, adalah komputer yang dapat diprogram pertama di dunia ⚫ Informasi tentang itu diklasifikasikan di bawah undang-undang kerahasiaan Inggris ⚫ Komputer serba guna pertama yang diakui publik adalah ENIAC (Electronic Numerical Integrator And Computer) ⚫ ENIAC dirancang pada tahun 1943 dan dibiayai oleh Angkatan Darat Amerika Serikat di tengah-tengah Sejarah Perang Dunia II 6
  • 7. 10.1 Pendahuluan Sejarah ⚫ Komputer ENIAC: ⚫ Dapat melakukan 5.000 operasi per detik ⚫ Menggunakan lebih dari 17.000 tabung vakum ⚫ Mendapat inputnya menggunakan pembaca kartu berlubang IBM ⚫ Kartu berlubang digunakan untuk output ⚫ Pada tahun 1960-an komputer mulai dibuat menggunakan transistor sebagai pengganti tabung vakum ⚫ Lebih kecil ⚫ Lebih cepat ⚫ Lebih murah untuk diproduksi ⚫ Dibutuhkan lebih sedikit daya ⚫ Jauh lebih dapat diandalkan 7
  • 8. 10.1 Pendahuluan Sejarah ⚫ Komputer berbasis transistor diikuti pada 1970-an oleh komputer berbasis teknologi sirkuit terpadu (integrated circuit - IC). ⚫ IC adalah chip kecil yang berisi satu set transistor yang menyediakan blok bangunan standar seperti gerbang AND, gerbang OR, penghitung, penambah, dan flip-flop. ⚫ Dengan menggabungkan blok bangunan, CPU dan sirkuit memori dapat dibuat ⚫ Mikroprosesor semakin mengurangi ukuran dan biaya komputer ⚫ Meningkatkan kecepatan dan keandalannya ⚫ Pada 1980-an mikroprosesor cukup murah untuk digunakan di komputer pribadi 8
  • 9. 10.2 Compute building blocks 10.2.1 Rumah komputer 10.2.2 Prosesor 10.2.3 Memori 10.2.4 Antarmuka 10.2.5 Virtualisasi komputasi 10.2.6 Teknologi kontainer 10.2.7 Mainframe 10.2.8 Sistem kelas menengah 10.2.9 x86 server 10.2.10 Superkomputer 10.2.1 Computer housing 10.2.2 Processors 10.2.3 Memory 10.2.4 Interfaces 10.2.5 Compute virtualization 10.2.6 Container technology 10.2.7 Mainframes 10.2.8 Midrange systems 10.2.9 x86 servers 10.2.10 Supercomputers 9
  • 10. 10.2.1 Rumah komputer (Computer housing) ⚫ Awalnya, komputer adalah sistem lengkap yang berdiri sendiri, yang disebut komputer alas atau menara ⚫ Ditempatkan di lantai pusat data ⚫ Sebagian besar server x86 dan sistem kelas menengah sekarang: ⚫ Rak dipasang (Rack mounted) ⚫ Server bilah (Blade servers) ⚫ Server blade lebih murah daripada server yang dipasang di rak ⚫ Server blade menggunakan komponen bersama enklosur seperti catu daya dan kipas 10
  • 11. 10.2.1 Rumah komputer (Computer housing) ⚫ Cangkang bilah (blade enclosure) biasanya menampung 8 hingga 16 server blade ⚫ Cangkang bilah (blade enclosure) menyediakan: ⚫ Catu daya redundan bersama untuk semua blade ⚫ Backplane bersama untuk menghubungkan semua blade ⚫ Sakelar jaringan redundan untuk menghubungkan antarmuka Ethernet blade yang menyediakan koneksi Ethernet redundan ke sistem lain ⚫ Sakelar SAN redundan untuk menghubungkan antarmuka HBA pada server blade yang menyediakan koneksi Fibre Channel redundan ganda ke sistem lain ⚫ Modul manajemen untuk mengelola enklosur dan bilah di dalamnya 11
  • 12. 10.2.1 Rumah komputer (Computer housing) ⚫ Jumlah pengkabelan dalam pengaturan server blade berkurang secara substansial jika dibandingkan dengan rak server tradisional ⚫ Lebih sedikit kemungkinan titik kegagalan ⚫ Biaya penerapan awal yang lebih rendah ⚫ Enklosur sering tidak hanya digunakan untuk server blade, tetapi juga untuk komponen penyimpanan seperti disk, pengontrol, dan sakelar SAN 12
  • 13. 10.2.2 Prosesor ⚫ Pada komputer, Central Processing Unit (CPU) atau prosesor - mengeksekusi satu set instruksi ⚫ CPU adalah sirkuit elektronik yang menjalankan instruksi program komputer dengan melakukan operasi aritmatika, logika, kontrol, dan input/output (I/O) dasar yang ditentukan oleh instruksi. ⚫ Prosesor saat ini mengandung miliaran transistor dan sangat kuat 13
  • 14. 10.2.2 Prosesor Instruksi-instruksi prosesor ⚫ CPU dapat melakukan sejumlah instruksi tetap seperti ADD, SHIFT BITS, MOVE DATA, dan JUMP TO CODE LOCATION, yang disebut set instruksi ⚫ Program yang dibuat menggunakan instruksi CPU disebut sebagai kode mesin ⚫ Setiap instruksi dikaitkan dengan bahasa Inggris seperti mnemonic ⚫ Lebih mudah diingat orang ⚫ Himpunan mnemonik disebut bahasa assembly ⚫ Sebagai contoh: ⚫ Kode biner untuk ADD WITH CARRY ⚫ Instruksi kode mesin: 10011101 ⚫ Mnemonik: ADC 14
  • 15. 10.2.2 Prosesor Prosesor - pemrograman ⚫ Bahasa pemrograman assembler adalah bahasa pemrograman tingkat terendah untuk komputer ⚫ Bahasa pemrograman tingkat tinggi jauh lebih ramah kepada manusia (human friendly) ⚫ C# ⚫ Jawa ⚫ Python ⚫ Program yang ditulis dalam bahasa ini diterjemahkan ke kode rakitan (assembly code) sebelum dapat dijalankan pada CPU tertentu ⚫ Kompilasi ini dilakukan oleh kompiler bahasa tingkat tinggi 15
  • 16. 10.2.2 Prosesor Prosesor - kecepatan ⚫ CPU membutuhkan jam frekuensi tinggi untuk beroperasi, menghasilkan apa yang disebut detak jam (clock ticks) atau siklus jam ⚫ Setiap instruksi kode mesin membutuhkan satu clock ticks atau lebih untuk dieksekusi ⚫ Instruksi ADD biasanya berharga 1 tick untuk dihitung ⚫ Kecepatan di mana CPU beroperasi didefinisikan dalam GHz (miliaran clock ticks per second) ⚫ Satu inti CPU 2,4 GHz dapat melakukan 2,4 miliar penambahan dalam 1 detik 16
  • 17. 10.2.2 Prosesor Prosesor - ukuran kata (word size) ⚫ Setiap CPU dirancang untuk menangani data dalam potongan, yang disebut kata-kata, dengan ukuran tertentu ⚫ CPU pertama memiliki ukuran word 4 bit ⚫ Saat ini, sebagian besar CPU memiliki ukuran word 64 bit ⚫ Ukuran kata tercermin dalam banyak aspek struktur dan operasi CPU: ⚫ Mayoritas register memori internal berukuran satu kata ⚫ Bagian terbesar dari data yang dapat ditransfer ke dan dari memori kerja dalam satu operasi adalah sebuah kata ⚫ CPU 64-bit dapat menangani memori 17.179.869.184 TB (word 64-bit) 17
  • 18. 10.2.2 Prosesor 10.2.2.1 Prosesor Intel x86 10.2.2.2 Prosesor AMD x86 10.2.2.3 Prosesor Itanium dan x86-64 10.2.2.4 Prosesor ARM 10.2.2.5 Prosesor Oracle SPARC 10.2.2.6 Prosesor IBM POWER 18
  • 19. 10.2.2.1 Prosesor Intel x86 ⚫ CPU Intel menjadi standar de-facto untuk banyak arsitektur komputer ⚫ PC asli menggunakan CPU 4,77 MHz 16-bit 8088 ⚫ Beberapa tahun kemudian, Intel memproduksi prosesor 32-bit 80386 dan 80486 ⚫ Karena semua nama ini diakhiri dengan angka 86, arsitektur generik disebut sebagai x86 ⚫ Pada tahun 2017, model terbaru Intel x86 adalah Prosesor Xeon E5-2699A 22-core, berjalan pada 2,4 GHz 19
  • 20. 10.2.2.2 Prosesor AMD x86 ⚫ Advanced Micro Devices, Inc. (AMD) adalah pemasok mikroprosesor global terbesar kedua berdasarkan arsitektur x86 ⚫ Pada tahun 1982, AMD menandatangani kontrak dengan Intel, menjadi produsen sumber kedua berlisensi prosesor 8086 dan 8088 untuk IBM ⚫ Intel membatalkan kontrak lisensi pada tahun 1986 ⚫ AMD masih memproduksi CPU yang kompatibel dengan x86, memaksa Intel untuk terus berinovasi dan menjaga harga CPU tetap rendah ⚫ Pada tahun 2017, model terbaru adalah CPU AMD Opteron 6386 SE 16-core, berjalan pada 2,8 GHz 20
  • 21. 10.2.2.3 Prosesor Itanium dan x86-64 ⚫ Lini prosesor Itanium adalah keluarga CPU kelas atas 64-bit yang ditujukan untuk server dan stasiun kerja kelas atas ⚫ Tidak berdasarkan arsitektur x86 ⚫ HP adalah satu-satunya perusahaan yang secara aktif memproduksi sistem berbasis Itanium, menjalankan HP-UX dan OpenVMS ⚫ Pada tahun 2005, AMD merilis arsitektur prosesor inti K8 sebagai jawaban untuk arsitektur Itanium Intel ⚫ K8 menyertakan ekstensi 64-bit ke set instruksi x86 ⚫ Kemudian, Intel mengadopsi set instruksi prosesor AMS sebagai perpanjangan dari lini prosesor x86, yang disebut x86-64 ⚫ Saat ini, arsitektur x86-64 digunakan di semua prosesor Intel dan AMD 21
  • 22. 10.2.2.4 Prosesor ARM ⚫ ARM (Advanced RISC Machine) adalah CPU yang paling banyak digunakan di dunia ⚫ Pada tahun 2013, 10 miliar prosesor ARM dikirimkan, berjalan pada: ⚫ 95% dari smartphone ⚫ 90% dari hard disk drive ⚫ 40% dari televisi digital dan dekoder ⚫ 15% mikrokontroler ⚫ 20% dari komputer seluler ⚫ CPU diproduksi oleh sejumlah besar produsen di bawah lisensi ARM ⚫ Sejak 2016, ARM dimiliki oleh perusahaan telekomunikasi Jepang SoftBank Group 22
  • 23. 10.2.2.5 Prosesor Oracle SPARC ⚫ Pada tahun 1986, Sun Microsystems mulai memproduksi seri prosesor SPARC untuk sistem berbasis UNIX Solaris mereka ⚫ Arsitektur SPARC sepenuhnya terbuka dan tidak berpemilik (non- proprietary) ⚫ Desain perangkat keras open source sejati ⚫ Pabrikan mana pun bisa mendapatkan lisensi untuk memproduksi CPU SPARC ⚫ Oracle membeli Sun Microsystems pada tahun 2010 ⚫ Prosesor SPARC masih digunakan oleh Oracle dalam produk Exadata dan Exalogic mereka ⚫ Pada tahun 2017, model terbaru adalah CPU SPARC M7 32-core, berjalan pada 4,1 GHz 23
  • 24. 10.2.2.6 Prosesor IBM POWER ⚫ POWER (juga dikenal sebagai PowerPC) adalah serangkaian CPU ⚫ Dibuat oleh IBM ⚫ Diperkenalkan pada tahun 1990 ⚫ IBM menggunakan CPU POWER di banyak produk server kelas atas mereka ⚫ Watson, superkomputer yang memenangkan Jeopardy pada tahun 2011, dilengkapi dengan 3.000 inti CPU POWER7 ⚫ Pada tahun 2017, model terbaru adalah CPU POWER9 24-core, berjalan pada 4 GHz 24
  • 25. 10.2.3 Memori Sistem awal (early systems) ⚫ Komputer pertama menggunakan tabung vakum untuk menyimpan data ⚫ Sangat mahal, menggunakan banyak daya, rapuh, menghasilkan banyak panas ⚫ Sebuah alternatif untuk tabung vakum adalah relay ⚫ Bagian mekanis yang menggunakan magnet untuk menggerakkan sakelar fisik ⚫ Dua relai dapat digabungkan untuk membuat satu bit penyimpanan memori ⚫ Lambat, menggunakan banyak daya, berisik, berat, dan mahal ⚫ Berdasarkan tabung sinar katoda, tabung Williams adalah memori akses acak pertama, yang mampu menyimpan beberapa ribu bit, tetapi hanya untuk beberapa detik. 25
  • 26. 10.2.3 Memori Sistem awal (early systems) ⚫ Jenis memori utama pertama yang benar-benar dapat digunakan adalah memori inti magnetic (magnetic core), diperkenalkan pada tahun 1951 ⚫ Jenis memori yang dominan hingga akhir 1960-an ⚫ Menggunakan cincin magnet yang sangat kecil, yang disebut inti, dengan kabel yang melewatinya ⚫ Kabel dapat mempolarisasi medan magnet satu arah atau yang lain di setiap inti individu ⚫ Satu arah berarti 1, yang lain berarti 0 ⚫ Memori inti digantikan oleh chip RAM pada 1970- an 26
  • 28. 10.2.3.1 RAM ⚫ RAM (Random Access Memory): Memori Akses Acak ⚫ Setiap bagian data yang disimpan dalam RAM dapat dibaca dalam jumlah waktu yang sama, terlepas dari lokasi fisiknya ⚫ Berdasarkan teknologi transistor, biasanya diimplementasikan dalam jumlah besar pada Integrated Circuit (IC) ⚫ Data tidak stabil (volatile) – artinya data tetap ada/tersedia selama RAM diaktifkan 28
  • 29. 10.2.3.1 RAM ⚫ RAM Statis (Static RAM - SRAM) ⚫ Menggunakan sirkuit flip-flop untuk menyimpan bit ⚫ Enam transistor per bit ⚫ RAM Dinamis (Dynamic RAM - DRAM) ⚫ Menggunakan muatan dalam kapasitor ⚫ Satu transistor per bit ⚫ DRAM kehilangan datanya setelah beberapa saat karena kebocoran kapasitor ⚫ Agar data tetap tersedia di DRAM, data harus di-refresh secara teratur (biasanya 16 kali per detik) 29
  • 30. 10.2.3.2 BIOS ⚫ Basic Input/Output System (BIOS) adalah seperangkat instruksi yang disimpan pada chip memori yang terletak di motherboard komputer. ⚫ BIOS mengontrol komputer sejak komputer dinyalakan, hingga sistem operasi dimulai ⚫ Sebagian besar diimplementasikan dalam chip memori Flash ⚫ Ini adalah praktik yang baik untuk memperbarui perangkat lunak BIOS secara teratur ⚫ Memutakhirkan komputer ke versi BIOS terbaru disebut BIOS flashing 30
  • 31. 10.2.4 Antarmuka (Interfaces) ⚫ Antarmuka (Interfaces) menghubungkan komputer ke periferal eksternal dilakukan dengan menggunakan antarmuka ⚫ Antarmuka eksternal menggunakan konektor yang terletak di bagian luar casing komputer ⚫ Salah satu antarmuka eksternal standar pertama adalah bus serial berdasarkan RS-232 ⚫ RS-232 masih digunakan sampai sekarang di beberapa sistem untuk menghubungkan: ⚫ Jenis periferal yang lebih lama ⚫ Peralatan Industri ⚫ Port konsol ⚫ Peralatan tujuan khusus (special purpose equipment) 31
  • 32. 10.2.4 Antarmuka (Interfaces) 10.2.4.1 RS-232 10.2.4.2 USB 10.2.4.3 Thunderbolt 10.2.4.4 PCI and PCIe 32
  • 33. 10.2.4.1 RS-232 ⚫ Salah satu antarmuka eksternal standar pertama adalah bus serial berdasarkan RS-232. RS-232 (Standar Rekomendasi 232) diperkenalkan pada tahun 1962 untuk komunikasi antara teletypewriter elektromekanis dan modem, dan kemudian juga untuk menghubungkan terminal elektronik. ⚫ RS-232 masih digunakan sampai sekarang di beberapa sistem untuk menghubungkan periferal jenis lama, peralatan industri, port konsol, dan peralatan tujuan khusus. ⚫ Kecepatan bit yang digunakan dengan RS-232 adalah dari 75 bit/s hingga 115.200 bit/s. RS-232 awalnya menggunakan konektor 25-pin subminiatur D untuk konektivitas, tetapi versi 9-pin yang jauh lebih kecil lebih disukai dalam desain selanjutnya. 33
  • 34. 10.2.4.2 USB ⚫ Universal Serial Bus (USB) diperkenalkan pada tahun 1996 sebagai pengganti sebagian besar antarmuka eksternal pada server dan PC ⚫ Dapat memberikan daya operasi ke perangkat yang terpasang ⚫ Hingga tujuh perangkat dapat dirangkai dengan daisy-chain ⚫ Hub dapat digunakan untuk menghubungkan beberapa perangkat ke satu port komputer USB ⚫ Pada tahun 2013, USB 3.1 diperkenalkan ⚫ Menyediakan throughput 10 Gbit/dtk ⚫ Pada tahun 2014, USB Type-C diperkenalkan ⚫ Konektor yang lebih kecil ⚫ Kemampuan untuk memberikan lebih banyak daya ke perangkat yang terhubung34
  • 35. 10.2.4.3 Thunderbolt ⚫ Thunderbolt, juga dikenal sebagai Light Peak, diperkenalkan pada tahun 2011 ⚫ Thunderbolt 3 dirilis pada tahun 2015 ⚫ Dapat memberikan throughput maksimum 40 Gbit/dtk ⚫ Berikan daya 100 W ke perangkat ⚫ Menggunakan konektor USB Type-C ⚫ Kompatibel dengan USB 3.1 35
  • 36. 10.2.4.4 PCI and PCIe PCI ⚫ Antarmuka internal, biasanya beberapa bentuk PCI, terletak di papan sistem komputer, di dalam casing, dan menyambungkan papan ekspansi seperti adaptor jaringan dan pengontrol disk ⚫ Menggunakan arsitektur bus paralel bersama ⚫ Hanya satu jalur komunikasi bersama antara dua perangkat PCI yang dapat aktif pada waktu tertentu 36
  • 37. 10.2.4.4 PCI and PCIe PCIe ⚫ PCI Express (PCIe) menggunakan topologi berdasarkan tautan serial point- topoint, daripada arsitektur bus paralel bersama ⚫ Sambungan antara dua perangkat PCIe dikenal sebagai tautan (link) ⚫ Kumpulan dari satu tautan atau lebih disebut jalur (lane) ⚫ Dirutekan oleh hub pada board sistem yang berfungsi sebagai sakelar palang (crossbar switch) ⚫ Hub memungkinkan beberapa pasang perangkat untuk berkomunikasi satu sama lain secara bersamaan ⚫ Meskipun tersedianya PCIe yang jauh lebih cepat, PCI konvensional tetap menjadi antarmuka yang sangat umum pada komputer 37
  • 38. 10.2.4.4 PCI and PCIe 38
  • 39. 10.2.4.4 PCI and PCIe Kecepatan PCI dalam Gbit/detik 39
  • 40. 10.2.5 Virtualisasi komputasi (Compute virtualization) ⚫ Virtualisasi komputasi juga dikenal sebagai: ⚫ Virtualisasi server ⚫ Komputasi yang Ditentukan Perangkat Lunak (Software Defined Compute) ⚫ Memperkenalkan lapisan abstraksi antara perangkat keras komputer fisik dan sistem operasi yang menggunakan perangkat keras itu ⚫ Memungkinkan beberapa sistem operasi berjalan pada satu mesin fisik ⚫ Memisahkan dan mengisolasi mesin virtual dari mesin fisik dan dari mesin virtual lainnya 40
  • 41. 10.2.5 Virtualisasi komputasi (Compute virtualization) ⚫ Mesin virtual adalah representasi logis dari komputer fisik dalam perangkat lunak ⚫ Mesin virtual baru dapat disediakan tanpa perlu membeli perangkat keras ⚫ Dengan beberapa klik mouse atau menggunakan API ⚫ Mesin virtual baru dapat diinstal dalam hitungan menit ⚫ Biaya dapat dihemat pada perangkat keras, daya, dan pendinginan dengan menggabungkan banyak komputer fisik sebagai mesin virtual pada mesin fisik yang lebih sedikit (lebih besar) ⚫ Karena lebih sedikit mesin fisik yang dibutuhkan, biaya kontrak pemeliharaan dapat dikurangi dan risiko kegagalan perangkat keras berkurang 41
  • 42. 10.2.5 Virtualisasi komputasi (Compute virtualization) 10.2.5.1 Komputasi yang Ditentukan Perangkat Lunak (Software Defined Compute - SDC) 10.2.5.2 Kekurangan virtualisasi komputer 10.2.5.3 Teknologi virtualisasi 10.2.5.3.1 Emulasi 10.2.5.3.2 Partisi Logis (Logical Partitions - LPAR) 10.2.5.4 Manajemen memori virtual 10.2.5.4.1 Memori overcommit 10.2.5.4.2 Berbagi memori (Memory sharing) 42
  • 43. 10.2.5.1 Komputasi yang Ditentukan Perangkat Lunak (Software Defined Compute - SDC) ⚫ Mesin virtual biasanya dikelola menggunakan satu sistem manajemen mesin virtual terpusat yang redundan ⚫ Memungkinkan manajer sistem untuk mengelola lebih banyak mesin dengan jumlah staf yang sama ⚫ Memungkinkan pengelolaan mesin virtual menggunakan API ⚫ Oleh karena itu, virtualisasi server dapat dilihat sebagai Software Defined Compute ⚫ Pada SDC, semua mesin fisik menjalankan hypervisor dan semua hypervisor dikelola sebagai satu lapisan menggunakan perangkat lunak manajemen 43
  • 44. 10.2.5.1 Komputasi yang Ditentukan Perangkat Lunak (Software Defined Compute - SDC) 44
  • 45. 10.2.5.1 Komputasi yang Ditentukan Perangkat Lunak (Software Defined Compute - SDC) ⚫ Beberapa platform virtualisasi memungkinkan mesin virtual yang berjalan untuk dipindahkan secara otomatis di antara mesin fisik ⚫ Manfaat: ⚫ Ketika mesin fisik gagal, semua mesin virtual yang berjalan pada mesin fisik yang gagal dapat dimulai ulang secara otomatis pada mesin fisik lainnya ⚫ Mesin virtual dapat secara otomatis dipindahkan ke mesin fisik yang paling tidak sibuk ⚫ Beberapa mesin fisik dapat terisi penuh sementara mesin fisik lainnya dapat dimatikan secara otomatis, menghemat daya dan biaya pendinginan ⚫ Memungkinkan pemeliharaan perangkat keras tanpa waktu henti (downtime) 45
  • 46. 10.2.5.2 Kekurangan virtualisasi computer (Disadvantages of computer virtualization) Karena membuat mesin virtual baru sangat mudah, mesin virtual cenderung dibuat untuk berbagai alasan ⚫ Efek ini dikenal sebagai "sprawl mesin virtual" ⚫ Semua VM (virtual machine): ⚫ Harus dikelola ⚫ Menggunakan sumber daya dari mesin fisik ⚫ Menggunakan daya dan pendinginan ⚫ Harus di-backup ⚫ Harus terus diperbarui dengan memasang tambalan (patches) 46
  • 47. 10.2.5.2 Kekurangan virtualisasi computer (Disadvantages of computer virtualization) ⚫ Adanya lapisan tambahan dalam infrastruktur membutuhkan: ⚫ Biaya lisensi ⚫ Pelatihan manajer sistem ⚫ Pemasangan dan pemeliharaan alat tambahan ⚫ Virtualisasi tidak dapat digunakan di semua server ⚫ Beberapa server memerlukan perangkat keras khusus tambahan, seperti kartu modem, token USB, atau beberapa bentuk I/O kecepatan tinggi seperti pada sistem SCADA waktu nyata ⚫ Virtualisasi tidak didukung oleh semua vendor aplikasi ⚫ Ketika aplikasi mengalami beberapa masalah, manajer sistem harus menginstal ulang aplikasi pada mesin fisik sebelum mereka mendapatkan dukungan 47
  • 48. 10.2.5.3 Teknologi virtualisasi ⚫ 10.2.5.3.1 Emulasi ⚫ Dapat menjalankan program di komputer, selain dari yang awalnya dimaksudkan untuk ⚫ Menjalankan sistem operasi mainframe pada server x86 ⚫ 10.2.5.3.2 Partisi Logis (Logical Partitions - LPAR) ⚫ Berbasis perangkat keras ⚫ Digunakan pada sistem mainframe dan midrange 48
  • 49. 10.2.5.3 Teknologi virtualisasi 10.2.5.3.3 Hypervisor ⚫ Mengontrol perangkat keras komputer fisik dan menyediakan mesin virtual dengan semua layanan sistem fisik ⚫ CPU virtual ⚫ BIOS ⚫ Perangkat virtual ⚫ Manajemen memori virtual ⚫ Hipervisor dapat diimplementasikan pada tiga jenis teknologi: ⚫ Terjemahan biner (Binary translation) ⚫ Paravirtualisasi ⚫ Virtualisasi berbantuan perangkat keras (paling banyak digunakan pada server x86) 49
  • 50. 10.2.5.4 Manajemen memori virtual ⚫ Hypervisor mengelola memori komputer fisik dengan membagi memori yang tersedia di atas mesin virtual. ⚫ Hypervisor menggunakan overcommit memori dan berbagi memori untuk membuat penggunaan terbaik dari memori fisik yang tersedia. ⚫ 10.2.5.4.1 Memori overcommit ⚫ Sebagian besar sistem operasi mengklaim lebih banyak memori daripada yang sebenarnya mereka gunakan. Dengan overcommit memori, hypervisor memberikan lebih banyak memori ke mesin virtual gabungan daripada yang tersedia secara fisik di komputer. ⚫ 10.2.5.4.2 Berbagi memori (Memory sharing) ⚫ Berbagi memori memetakan halaman memori yang identik dalam satu mesin virtual atau lebih ke satu halaman memori fisik. 50
  • 51. 10.2.6 Teknologi kontainer (Container technology) ⚫ Teknologi kontainer adalah metode virtualisasi server di mana kernel sistem operasi menyediakan beberapa contoh (instances) ruang pengguna yang terisolasi, bukan hanya satu ⚫ Kontainer terlihat dan terasa seperti server nyata dari sudut pandang pemilik dan penggunanya, tetapi mereka berbagi kernel sistem operasi yang sama ⚫ Kontainer adalah bagian dari kernel Linux sejak 2008 51
  • 52. 10.2.6 Teknologi kontainer (Container technology) Kontainer adalah keseimbangan antara isolasi dan overhead menjalankan aplikasi yang terisolasi 52
  • 53. 10.2.6 Teknologi kontainer (Container technology) Kontainer memiliki sejumlah manfaat: ⚫ Isolasi ⚫ Aplikasi atau komponen aplikasi dapat dienkapsulasi dalam wadah, masing-masing beroperasi secara independen dan terisolasi satu sama lain ⚫ Portabilitas ⚫ Karena container biasanya berisi semua komponen yang dibutuhkan aplikasi untuk berfungsi, termasuk library dan patch, container dapat dijalankan pada infrastruktur apa pun yang mampu menjalankan container menggunakan versi kernel yang sama. ⚫ Penyebaran yang mudah (easy deployment) ⚫ Wadah memungkinkan pengembang untuk menyebarkan versi perangkat lunak baru dengan cepat, karena wadah mereka dapat dipindahkan dari lingkungan pengembangan ke lingkungan produksi tanpa perubahan 53
  • 54. 10.2.6 Teknologi kontainer (Container technology) 10.2.6.1 Implementasi kontainer 10.2.6.2 Kontainer dan keamanan 10.2.6.3 Orkestrasi kontainer 54
  • 55. 10.2.6.1 Implementasi kontainer Kontainer didasarkan pada 3 teknologi yang semuanya merupakan bagian dari kernel Linux: ⚫ Chroot (juga dikenal sebagai penjara) ⚫ Mengubah direktori root untuk proses yang sedang berjalan ⚫ Memastikan proses tidak dapat mengakses file di luar pohon direktori yang ditunjuk ⚫ Ruang nama (Namespaces) ⚫ Memungkinkan isolasi lengkap tampilan aplikasi dari lingkungan operasi ⚫ Pohon proses, jaringan, ID pengguna, dan sistem file yang dipasang ⚫ Grup C (Cgroups) ⚫ Membatasi dan mengisolasi penggunaan sumber daya dari kumpulan proses ⚫ PU, memori, disk I/O, jaringan ⚫ Linux Containers (LXC), diperkenalkan pada tahun 2008, adalah kombinasi dari ini ⚫ Docker adalah implementasi populer dari ekosistem kontainer 55
  • 56. 10.2.6.2 Kontainer dan keamanan ⚫ Sementara container menyediakan beberapa isolasi, mereka masih menggunakan kernel dan library dasar yang sama. Isolasi antar container pada mesin yang sama jauh lebih rendah daripada isolasi mesin virtual. ⚫ Mesin virtual mendapatkan isolasi dari perangkat keras - menggunakan instruksi CPU khusus. ⚫ Karena pengembang menentukan konten container , petugas keamanan kehilangan kendali atas container , yang dapat menyebabkan kerentanan yang tidak diketahui. 56
  • 57. 10.2.6.3 Orkestrasi kontainer ⚫ Orkestrasi kontainer mengabstraksi sumber daya dari sekelompok mesin dan menyediakan layanan ke kontainer ⚫ Orkestra kontainer memungkinkan kontainer dijalankan di mana saja pada sekelompok mesin ⚫ Menjadwalkan container untuk dijalankan pada mesin apa pun yang memiliki sumber daya yang tersedia ⚫ Bertindak seperti kernel untuk sumber daya gabungan dari seluruh pusat data 57
  • 58. 10.2.7 Mainframe 10.2.7.1 Sejarah mainframe 10.2.7.2 Arsitektur mainframe 10.2.7.2.1 Unit Pemrosesan 10.2.7.2.2 Penyimpanan Utama 10.2.7.2.3 Saluran, ESCON dan FICON 10.2.7.2.4 Unit kontrol 10.2.7.3 Virtualisasi mainframe 58
  • 59. 10.2.7.1 Sejarah mainframe ⚫ Mainframe adalah komputer berperforma tinggi yang dibuat untuk komputasi intensif I/O volume tinggi ⚫ Mahal ⚫ Sebagian besar digunakan untuk proses administrasi ⚫ Dioptimalkan untuk menangani volume data yang tinggi ⚫ IBM adalah vendor terbesar ⚫ ini memiliki 90% pangsa pasar ⚫ Akhir dari mainframe diprediksi selama beberapa dekade sekarang, tetapi mainframe masih banyak digunakan ⚫ Mainframe saat ini masih berukuran besar (seukuran beberapa rak 19"), tetapi tidak memenuhi ruangan lagi 59
  • 60. 10.2.7.1 Sejarah mainframe ⚫ Mainframe sangat andal, biasanya berjalan selama bertahun-tahun tanpa waktu henti ⚫ Banyak redundansi dibangun di ⚫ Perangkat keras dapat ditingkatkan dan diperbaiki saat mainframe beroperasi tanpa waktu henti ⚫ Mainframe IBM z13 terbaru: ⚫ Diperkenalkan pada tahun 2015 ⚫ Memori hingga 10TB ⚫ Hingga 141 prosesor ⚫ Berjalan pada kecepatan clock 5GHz ⚫ Dapat menjalankan hingga 8000 mesin virtual secara bersamaan 60
  • 61. 10.2.7.2 Arsitektur mainframe Sebuah mainframe terdiri dari: ⚫ Unit pemrosesan (Processing units - PU) ⚫ Penyimpanan (memory) ⚫ Saluran I/O ⚫ Unit control (control units) ⚫ Perangkat (devices), semua ditempatkan di rak (bingkai) 61
  • 62. 10.2.7.2.1 Unit Pemrosesan (Processing units - PU) Arsitektur mainframe PU, memori, dan disk ⚫ Di dunia mainframe, istilah PU (Processing Unit) digunakan sebagai pengganti CPU ⚫ Mainframe memiliki beberapa PU, jadi tidak ada unit pemrosesan pusat ⚫ Total semua PU dalam sebuah mainframe disebut Central Processor Complex (CPC) ⚫ Setiap paket buku dalam sangkar BPK berisi empat hingga delapan kartu memori ⚫ Misalnya, mainframe z9 yang terisi penuh memiliki empat paket buku yang dapat menyediakan memori hingga 512 GB ⚫ Disk dalam mainframe disebut DASD (Direct Attached Storage Device) ⚫ Sebanding dengan SAN di lingkungan midrange atau x86 62
  • 63. 10.2.7.2.2 Penyimpanan Utama (Main Storage) ⚫ Setiap paket buku dalam sangkar BPK berisi empat hingga delapan kartu memori. Misalnya, mainframe z9 yang terisi penuh memiliki empat paket buku yang dapat menyediakan memori hingga 512 GB. ⚫ Kartu memori hot swappable, yang berarti Anda dapat menambah atau mengeluarkan kartu memori tanpa mematikan mainframe. 63
  • 64. 10.2.7.2.3 Saluran (Channels), ESCON dan FICON ⚫ Saluran (channel) menyediakan jalur data dan kontrol antara perangkat I/O dan memori ⚫ Mainframe terbesar saat ini memiliki 1024 saluran ⚫ Jenis saluran: ⚫ OSA ⚫ Konektivitas ke berbagai teknologi jaringan standar industri, termasuk Ethernet ⚫ FICON ⚫ Teknologi saluran paling fleksibel, berdasarkan teknologi serat optik ⚫ Dengan FICON, perangkat input/output dapat ditempatkan beberapa kilometer dari mainframe tempat perangkat tersebut dipasang ⚫ ESCON ⚫ Jenis teknologi serat optik sebelumnya ⚫ Hampir secepat saluran FICON, tetapi pada jarak yang lebih pendek 64
  • 65. 10.2.7.2.4 Unit kontrol (Control units) ⚫ Unit kontrol mirip dengan kartu ekspansi dalam sistem x86 atau midrange ⚫ Berisi logika untuk bekerja dengan jenis perangkat I/O tertentu, seperti printer atau tape drive ⚫ Unit kontrol terhubung ke perangkat, seperti disk drive, tape drive, dan antarmuka komunikasi. ⚫ Disk di mainframe disebut DASD (Direct Attached Storage Device), yang sebanding dengan SAN (Storage Area Network) di lingkungan midrange atau x86. 65
  • 66. 10.2.7.3 Virtualisasi mainframe ⚫ Mainframe dirancang untuk virtualisasi sejak awal ⚫ Partisi logis (Logical partitions - LPAR) adalah solusi virtualisasi default ⚫ LPAR setara dengan mainframe terpisah ⚫ Jumlah LPAR yang umum digunakan pada mainframe kurang dari sepuluh ⚫ Sistem operasi mainframe yang berjalan pada setiap LPAR dirancang untuk menjalankan sejumlah besar aplikasi dan layanan secara bersamaan, dan dapat dihubungkan ke ribuan pengguna pada saat yang bersamaan. ⚫ Seringkali satu LPAR menjalankan semua tugas produksi sementara yang lain menjalankan lingkungan pengujian terkonsolidasi 66
  • 67. 10.2.8 Sistem kelas menengah (Midrange systems) ⚫ Platform midrange diposisikan antara platform mainframe dan platform x86 ⚫ Dibangun menggunakan komponen hanya dari satu vendor, dan menjalankan sistem operasi yang disediakan oleh vendor yang sama ⚫ Ini membuat platform: ⚫ Stabil ⚫ Tersedia tinggi (High available) ⚫ Aman (Secure) 67
  • 68. 10.2.8 Sistem kelas menengah (Midrange systems) Saat ini sistem kelas menengah diproduksi oleh tiga vendor: ⚫ IBM ⚫ Power Systems series ⚫ Sistem operasi: AIX UNIX, Linux dan IBM i ⚫ Hewlett Packard ⚫ HP Integrity systems ⚫ Sistem operasi: HP-UX UNIX dan OpenVMS ⚫ Oracle ⚫ Server SPARC berbasis Sun Microsystems ⚫ Sistem operasi: Solaris UNIX 68
  • 69. 10.2.8 Sistem kelas menengah (Midrange systems) 10.2.8.1 Sejarah (History) 10.2.8.2 Arsitektur Midrange 10.2.8.2.1 UMA 10.2.8.2.2 NUMA 10.2.8.3 Virtualization Midrange 69
  • 70. 10.2.8.1 Sejarah (History) ⚫ Komputer mini berkembang pada 1960- an sebagai komputer kecil yang dimungkinkan dengan penggunaan teknologi IC dan memori inti ⚫ Kecil itu relatif ⚫ Satu komputer mini biasanya ditempatkan di beberapa lemari seukuran rak 19”. ⚫ Komputer mini pertama yang sukses secara komersial adalah DEC PDP-8, diluncurkan pada tahun 1964 70
  • 71. 10.2.8.1 Sejarah (History) ⚫ Komputer mini (minicomputer) menjadi sistem yang kuat ⚫ Komputer mini menjalankan sistem operasi multi-pengguna dan multitasking penuh seperti OpenVMS dan UNIX ⚫ Pada 1980-an, komputer mini (alias sistem midrange) menjadi kurang populer ⚫ Hasil dari biaya PC yang lebih rendah, dan munculnya LAN ⚫ Komputer mini masih digunakan di tempat-tempat di mana ketersediaan, performa, dan keamanan yang tinggi sangat penting 71
  • 72. 10.2.8.2 Arsitektur Midrange ⚫ Arsitektur sebagian besar sistem midrange: ⚫ Menggunakan banyak CPU ⚫ Berdasarkan arsitektur memori bersama (shared memory architecture) ⚫ Dalam arsitektur memori bersama, semua CPU dalam sistem dapat mengakses semua blok memori yang terpasang ⚫ Perubahan yang dibuat dalam memori oleh satu CPU segera terlihat oleh semua CPU lainnya ⚫ Bus bersama menghubungkan semua CPU dan semua RAM ⚫ Sistem I/O juga terhubung ke jaringan interkoneksi 72
  • 73. 10.2.8.2 Arsitektur Midrange Arsitektur memori bersama datang dalam dua rasa: ⚫ Akses Memori Seragam (Uniform Memory Access - UMA) ⚫ Akses Memori Tidak Seragam (Non-Uniform Memory Access - NUMA) ⚫ Koherensi cache diperlukan ⚫ Jika satu CPU menulis ke suatu lokasi di memori bersama, semua CPU lainnya harus memperbarui cache mereka untuk mencerminkan data yang diubah ⚫ Versi koheren cache dikenal sebagai ccUMA dan ccNUMA 73
  • 74. 10.2.8.2.1 UMA ⚫ Arsitektur UMA adalah salah satu gaya paling awal dari arsitektur multi-CPU, biasanya digunakan dalam sistem dengan tidak lebih dari 8 CPU ⚫ Mesin diatur ke dalam serangkaian node yang berisi prosesor, atau blok memori ⚫ Node saling berhubungan, biasanya dengan bus bersama 74
  • 75. 10.2.8.2.2 Arsitektur SMP ⚫ Sistem UMA juga dikenal sebagai sistem Symmetric Multi-Processor (SMP). ⚫ SMP digunakan di server x86 serta sistem midrange awal ⚫ Dapat Diimplementasikan di dalam CPU multi-core ⚫ Interkoneksi diimplementasikan on-chip di CPU ⚫ Jalur tunggal ke memori utama disediakan antara chip dan subsistem memori 75
  • 76. 10.2.8.2.2 NUMA ⚫ NUMA adalah arsitektur komputer di mana mesin diatur ke dalam serangkaian node ⚫ Setiap node berisi prosesor dan memori ⚫ Node saling terhubung menggunakan interkoneksi palang ⚫ Ketika prosesor mengakses memori tidak dalam node sendiri, data harus ditransfer melalui interkoneksi ⚫ Lebih lambat daripada mengakses memori lokal ⚫ Waktu akses memori tidak seragam 76
  • 77. 10.2.8.3 Virtualisasi Midrange ⚫ Sebagian besar vendor platform kelas menengah menyediakan virtualisasi berdasarkan LPAR ⚫ LPARS adalah jenis partisi perangkat keras ⚫ IBM AIX: Beban Kerja/Partisi Kerja (Workload/Working Partitions - WPAR) ⚫ HP: nPARs ⚫ Oracle Solaris: zona dan wadah (containers) 77
  • 78. 10.2.9 x86 server ⚫ Platform x86 adalah arsitektur server paling dominan saat ini ⚫ Pada 1990-an, server x86 pertama kali muncul. ⚫ Mereka pada dasarnya adalah PC besar, ditempatkan di rak 19” tanpa keyboard dan monitor khusus ⚫ Server x86 diproduksi oleh banyak vendor, seperti: ⚫ HP ⚫ Dell ⚫ Lenovo ⚫ HDS (Hitachi Data Systems) ⚫ Huawei ⚫ Implementasi platform sangat bergantung pada vendor dan komponen yang tersedia pada saat tertentu ⚫ Sistem operasi yang paling banyak digunakan adalah Microsoft Windows dan Linux 78
  • 79. 10.2.9.1 Sejarah (History) ⚫ Sebagian besar server di pusat data saat ini didasarkan pada arsitektur x86. ⚫ Arsitektur x86 ini (juga dikenal sebagai arsitektur PC) didasarkan pada PC IBM asli. ⚫ Sejarah IBM PC dijelaskan lebih detail di bab 12. ⚫ Pada 1990-an, server x86 pertama kali muncul. ⚫ Mereka pada dasarnya adalah PC, tetapi ditempatkan di rak 19” tanpa keyboard dan monitor khusus. ⚫ Selama bertahun-tahun, server x86 menjadi standar de-facto untuk server. 79
  • 80. 10.2.9.2 Arsitektur x86 ⚫ arsitektur x86 ditentukan oleh CPU dari keluarga x86, dan blok penyusun, terintegrasi dalam sejumlah chip khusus, yang dikenal sebagai chipset x86 ⚫ Sistem x86 sebelumnya menggunakan arsitektur Northbridge / Southbridge ⚫ Front Side Bus (FSB) ⚫ Antarmuka Media Langsung (Direct Media Interface - DMI) 80
  • 81. 10.2.9.2 Arsitektur x86 ⚫ Dalam arsitektur PCH, jalur data RAM dan PCIe terhubung langsung ke CPU ⚫ Northbridge terintegrasi dalam CPU ⚫ Intel memperkenalkan arsitektur dan chipset baru kira-kira setiap dua tahun ⚫ Sekarang sistem lengkap dalam sebuah chip (SoC) ⚫ SOC secara langsung mengekspos: ⚫ jalur PCIe ⚫ SATA ⚫ USB ⚫ Video Definisi Tinggi 81
  • 82. 10.2.9.3 virtualisasi x86 ⚫ Pada platform x86, sebagian besar server masing-masing hanya menjalankan satu aplikasi ⚫ Server Windows yang menjalankan Exchange mungkin juga tidak akan menjalankan SharePoint ⚫ Server Linux yang menjalankan Apache mungkin juga tidak akan menjalankan MySQL ⚫ Ini adalah alasan utama sistem x86 menggunakan perangkat kerasnya jauh lebih efisien daripada sistem kelas menengah ⚫ Dengan menjalankan beberapa sistem operasi masing-masing dalam satu mesin virtual pada server x86 besar, pemanfaatan sumber daya dapat ditingkatkan ⚫ Produk yang paling banyak digunakan untuk virtualisasi pada platform x86 adalah: ⚫ VMware vSphere ⚫ Hyper-V Microsoft ⚫ Citrix XenServer ⚫ Oracle VirtualBox ⚫ Red Hat RHEV 82
  • 83. 10.2.10 Superkomputer ⚫ Superkomputer adalah arsitektur komputer yang dirancang untuk memaksimalkan kecepatan perhitungan ⚫ Hal ini berbeda dengan mainframe, yang dioptimalkan untuk throughput I/O yang tinggi ⚫ Superkomputer adalah mesin tercepat yang tersedia pada waktu tertentu ⚫ Digunakan untuk tugas-tugas intensif komputasi yang membutuhkan perhitungan floating point, seperti: ⚫ Perhitungan ramalan cuaca ⚫ Simulasi reservoir minyak ⚫ Menyediakan (rendering) film animasi 83
  • 84. 10.2.10 Superkomputer Awalnya, superkomputer diproduksi terutama oleh sebuah perusahaan bernama Cray Research ⚫ Cray-1 (1976): 250 MFLOPS (Juta Operasi Floating Point per detik) ⚫ Cray-2 (1985): 1.900 MFLOPS 84
  • 85. 10.2.10 Superkomputer ⚫ Saat ini komputasi kinerja tinggi dilakukan terutama dengan susunan sistem x86 yang besar ⚫ CPU Intel Core i7 5960X memiliki kinerja puncak 354.000 MFLOPS ⚫ Array komputer tercepat adalah cluster dengan lebih dari 10.000.000 inti CPU, menghitung 125.435.000.000 MFLOPS, menjalankan Linux ⚫ Unit pemrosesan grafis (GPU) dapat digunakan bersama dengan CPU untuk mempercepat kalkulasi tertentu ⚫ GPU memiliki arsitektur paralel masif yang terdiri dari ribuan inti kecil dan efisien yang dirancang untuk menangani banyak tugas secara bersamaan ⚫ GPU NVIDIA Tesla GP100, diperkenalkan pada 2016, memiliki 3840 core 85
  • 86. 10.3 Ketesediaan Komputasi (Compute availability) 10.3.1 Komponen cepat tergantikan 10.3.2 Paritas dan memori ECC 10.3.3 Mengunci langkah 10.3.4 Ketersediaan virtualisasi 10.3.1 Hot swappable components 10.3.2 Parity and ECC memory 10.3.3 Lockstepping 10.3.4 Virtualization availability 86
  • 87. 10.3.1 Komponen cepat tergantikan (Hot swappable components) ⚫ Komponen cepat tergantikan (hot swappable) adalah komponen server yang dapat diinstal, diganti, atau ditingkatkan (upgraded) saat server sedang berjalan ⚫ Penyimpanan (memory) ⚫ CPU ⚫ Kartu antarmuka (interface cards) ⚫ Catu daya (power supplies) ⚫ Virtualisasi dan sistem operasi yang menggunakan perangkat keras server harus menyadari bahwa komponen dapat ditukar dengan cepat ⚫ Misalnya, sistem operasi harus dapat mengenali memori yang ditambahkan saat server beroperasi dan harus mengizinkan penggunaan memori ekstra ini tanpa perlu reboot. 87
  • 88. 10.3.2 Paritas dan memori ECC (Parity and ECC memory) Memori paritas (Parity memory) ⚫ Untuk mendeteksi kegagalan memori, bit paritas dapat digunakan sebagai bentuk paling sederhana dari kode pendeteksi kesalahan ⚫ Bit paritas memungkinkan deteksi kesalahan data ⚫ Paritas tidak dapat memperbaiki kesalahan, karena tidak diketahui bit mana yang membalik (berubah dari 0 jadi 1 atau sebaliknya) DATA PARITY 1001 0110 0 1011 0110 1 0001 0110 0 -> ERROR: bit paritas seharusnya 1! 88
  • 89. 10.3.2 Paritas dan memori ECC (Parity and ECC memory) Memori ECC ⚫ Memori ECC tidak hanya mendeteksi kesalahan, tetapi juga mampu memperbaikinya ⚫ Chip Memori ECC menggunakan Kode Hamming atau Triple Modular Redundancy (TMR) sebagai metode deteksi dan koreksi kesalahan ⚫ Kesalahan memori sebanding dengan jumlah RAM di komputer serta durasi operasi ⚫ Karena server biasanya berisi banyak GB RAM dan beroperasi 24 jam sehari, kemungkinan kesalahan memori relatif tinggi dan karenanya memerlukan memori ECC 89
  • 90. 10.3.3 Mengunci langkah (Lockstepping) ⚫ Mengunci langkah (lockstepping) adalah teknologi deteksi dan koreksi kesalahan untuk server ⚫ Beberapa sistem melakukan perhitungan yang sama, dan hasil perhitungan dibandingkan ⚫ Jika hasilnya sama, perhitungan dilakukan dengan benar ⚫ Jika ada hasil yang berbeda, salah satu server melakukan kesalahan ⚫ Teknologi yang sangat mahal ⚫ Hanya digunakan dalam sistem yang membutuhkan keandalan yang sangat tinggi 90
  • 91. 10.3.4 Ketersediaan virtualisasi (Virtualization availability) Semua produk virtualisasi menyediakan pengelompokan (clustering) failover ⚫ Saat mesin fisik gagal, mesin virtual yang berjalan di mesin fisik tersebut dapat dikonfigurasi untuk memulai ulang secara otomatis di mesin fisik lainnya ⚫ Ketika mesin virtual mogok (crashes), itu dapat dimulai ulang secara otomatis pada mesin fisik yang sama 91
  • 92. 10.3.4 Ketersediaan virtualisasi (Virtualization availability) Lapisan virtualisasi tidak memiliki pengetahuan tentang aplikasi yang berjalan di sistem operasi mesin virtual ⚫ Failover clustering pada level virtualisasi hanya dapat melindungi dari dua situasi: ⚫ Kegagalan perangkat keras fisik. ⚫ Sistem operasi macet di mesin virtual 92
  • 93. 10.3.4 Ketersediaan virtualisasi (Virtualization availability) Untuk mengatasi efek kegagalan mesin fisik, diperlukan mesin fisik cadangan ⚫ Semua hypervisor ditempatkan di cluster virtualisasi ⚫ Hypervisor pada mesin fisik memeriksa ketersediaan hypervisor lain di cluster ⚫ Satu mesin fisik berjalan sebagai cadangan untuk mengambil alih beban mesin fisik yang gagal 93
  • 94. 10.3.4 Ketersediaan virtualisasi (Virtualization availability) Ketika mesin fisik gagal, mesin virtual yang berjalan di atasnya secara otomatis dimulai ulang pada mesin fisik cadangan 94
  • 95. 10.3.4 Ketersediaan virtualisasi (Virtualization availability) Alternatifnya adalah menjalankan semua mesin fisik dengan kapasitas yang lebih rendah 95
  • 96. 10.3.4 Ketersediaan virtualisasi (Virtualization availability) ⚫ Ketika mesin fisik gagal, mesin virtual yang berjalan di atasnya secara otomatis dimulai ulang di mesin fisik lainnya ⚫ Semua mesin sekarang bekerja dengan kapasitas penuh 96
  • 97. 10.4 Compute performance 10.4.1 Hukum Moore 10.4.2 Meningkatkan kinerja CPU dan memori 10.4.3 Kinerja virtualisasi 10.4.1 Moore's law 10.4.2 Increasing CPU and memory performance 10.4.3 Virtualization performance 97
  • 98. 10.4.1 Hukum Moore (Moore's law) ⚫ Pada tahun 1971, Intel merilis mikroprosesor universal pertama di dunia, 4004 ⚫ Berisi 2.300 transistor ⚫ Bisa melakukan 60.000 instruksi per detik ⚫ Kira-kira sebanyak komputer ENIAC yang memenuhi ruangan penuh dan beratnya beberapa ton ⚫ Sejak diperkenalkannya CPU pertama pada tahun 1971, kekuatan CPU telah meningkat secara eksponensial 98
  • 99. 10.4.1 Hukum Moore (Moore's law) ⚫ Hukum Moore menyatakan: ⚫ Jumlah transistor yang dapat ditempatkan dengan murah pada sirkuit terintegrasi (integrated circuit - IC) kira-kira dua kali lipat setiap dua tahun ⚫ Tren ini telah berlanjut selama lebih dari setengah abad sekarang ⚫ Intel Broadwell-EP Xeon pada tahun 2017 berisi 7.200.000.000 transistor ⚫ Peningkatan 3.100.000 kali lipat dalam waktu 45 tahun! 99
  • 100. 10.4.1 Hukum Moore (Moore's law) Harap dicatat bahwa skala vertikal adalah logaritmik, bukan linier, menunjukkan peningkatan 10 kali lipat jumlah transistor di setiap langkah 100
  • 101. 10.4.1 Hukum Moore (Moore's law) ⚫ Hukum Moore hanya berbicara tentang jumlah transistor; bukan kinerja CPU ⚫ Kinerja CPU bergantung pada sejumlah variabel, seperti: ⚫ Kecepatan pewaktu (clock speed) ⚫ Penggunaan cache dan pipa (pipelines) ⚫ Lebar bus data ⚫ Hukum Moore tidak dapat berlanjut selamanya, karena ada batasan fisik untuk jumlah transistor yang dapat ditampung oleh satu chip ⚫ Pada tahun 2017, koneksi yang digunakan di dalam CPU kelas atas memiliki lebar fisik 14 nm (nanometer), ukuran 140 atom ⚫ Pada tahun 2020, CPU 5 nm akan diproduksi; jejak pada chip hanya selebar 50 atom 101
  • 102. 10.4.2 Meningkatkan kinerja CPU dan memori (Increasing CPU and memory performance) Berbagai teknik telah ditemukan untuk meningkatkan kinerja CPU, seperti: ⚫ Meningkatkan kecepatan pewaktu ⚫ Caching ⚫ Prefetching ⚫ Prediksi cabang ⚫ Saluran pipa ⚫ Penggunaan beberapa inti 102
  • 103. 10.4.2 Meningkatkan kinerja CPU dan memori (Increasing CPU and memory performance) 10.4.2.1 Meningkatkan kecepatan clock (Increasing clock speed) 10.4.2.2 Cache CPU (CPU Caching) 10.4.2.3 Pipa (Pipelines) 10.4.2.4 Prefetching dan prediksi cabang (Prefetching and branch prediction) 10.4.2.5 CPU Superscalar (Superscalar CPUs) 10.4.2.6 CPU Multi-core (Multi-core CPUs) 10.4.2.7 Hyper-threading 103
  • 104. 10.4.2.1 Meningkatkan kecepatan clock (Increasing clock speed) ⚫ Instruksi CPU perlu diambil, diterjemahkan, dieksekusi, dan hasilnya harus sering ditulis kembali ke memori ⚫ Setiap langkah dalam urutan dieksekusi ketika sinyal clock eksternal diubah dari 0 menjadi 1 (cock tick) ⚫ Sinyal clock dipasok ke CPU oleh osilator eksternal ⚫ Di tahun-tahun awal, kecepatan jam CPU adalah indikator kinerja utama ⚫ Kecepatan jam CPU diukur dalam Hertz (Hz) - detak jam atau siklus per detik 104
  • 105. 10.4.2.1 Meningkatkan kecepatan clock (Increasing clock speed) ⚫ CPU saat ini menggunakan kecepatan clock setinggi 3 GHz (3.000.000.000 detak jam per detik) ⚫ Karena keterbatasan fisik, osilator tidak dapat berjalan dengan kecepatan ini ⚫ Sebuah osilator dengan frekuensi yang lebih rendah digunakan (misalnya 400 MHz) dan clock rate ini dikalikan pada chip CPU ⚫ Kecepatan osilator dikenal sebagai kecepatan Front Side Bus (FSB). 105
  • 106. 10.4.2.2 Cache CPU (CPU Caching) ⚫ Semua CPU yang digunakan saat ini berisi cache on-chip ⚫ Cache adalah bagian yang relatif kecil dari RAM statis berkecepatan tinggi pada CPU ⚫ Menyimpan sementara data yang diterima dari memori utama yang lebih lambat ⚫ Sebagian besar CPU berisi dua jenis cache: cache level 1 dan level 2 ⚫ Beberapa CPU multi-core juga memiliki cache level 3 yang besar; cache yang dibagikan oleh core ⚫ Memori cache berjalan pada kecepatan CPU penuh (katakanlah 3 GHz), memori utama berjalan pada kecepatan jam eksternal CPU (katakanlah 100 MHz, yang berarti 30 kali lebih lambat) 106
  • 107. 10.4.2.2 Cache CPU (CPU Caching) 107
  • 108. 10.4.2.3 Pipa (Pipelines) Prosesor awal pertama-tama mengambil instruksi, mendekodekannya, lalu mengeksekusi instruksi yang diambil, dan menulis kembali hasilnya sebelum mengambil instruksi berikutnya dan memulai proses dari awal lagi 108
  • 109. 10.4.2.3 Pipa (Pipelines) ⚫ Selanjutnya CPU menggunakan saluran pipa ⚫ Saat instruksi pertama sedang dieksekusi, instruksi kedua dapat diambil (karena sirkuit itu tetap diam), membuat instruksi tumpang tindih 109
  • 110. 10.4.2.4 Prefetching dan prediksi cabang (Prefetching and branch prediction) ⚫ Prefetching: ⚫ Ketika sebuah instruksi diambil dari memori utama, instruksi selanjutnya juga diambil dan disimpan dalam cache ⚫ Ketika CPU membutuhkan instruksi selanjutnya, itu sudah tersedia di cache ⚫ Sayangnya, sebagian besar program berisi lompatan (juga dikenal sebagai cabang), yang mengakibatkan cache hilang ⚫ Instruksi berikutnya bukanlah instruksi berikutnya dalam memori 110
  • 111. 10.4.2.4 Prefetching dan prediksi cabang (Prefetching and branch prediction) ⚫ Sistem cache mencoba memprediksi hasil instruksi cabang sebelum dijalankan oleh CPU (disebut prediksi cabang) ⚫ Dalam praktiknya, lebih dari 80% instruksi prosesor dikirimkan ke CPU dari memori cache menggunakan prefetching dan prediksi cabang 111
  • 112. 10.4.2.5 CPU Superscalar (Superscalar CPUs) ⚫ CPU superscalar dapat memproses lebih dari satu instruksi per detak jam ⚫ Hal ini dilakukan dengan mengirimkan beberapa instruksi secara bersamaan ke unit fungsional redundan pada prosesor 112
  • 113. 10.4.2.6 CPU Multi-core (Multi-core CPUs) ⚫ CPU komersial tercepat telah berjalan antara 3 GHz dan 4 GHz selama beberapa tahun sekarang ⚫ Alasan: ⚫ Kecepatan clock tinggi membuat koneksi pada papan sirkuit berfungsi sebagai antena radio ⚫ Frekuensi 3 GHz berarti panjang gelombang 10 cm. Ketika sinyal bergerak lebih dari beberapa cm di papan sirkuit, sinyal keluar dari fase dengan jam ⚫ CPU dapat menjadi sangat panas di titik-titik tertentu, yang dapat menyebabkan kehancuran 113
  • 114. 10.4.2.6 CPU Multi-core (Multi-core CPUs) ⚫ Prosesor multi-core adalah CPU dengan beberapa core terpisah ⚫ Setara dengan mendapatkan banyak prosesor dalam satu paket ⚫ Core dalam CPU multi-core berjalan pada frekuensi yang lebih rendah ⚫ Mengurangi konsumsi daya ⚫ Mengurangi panas (tidak ada hot spot) ⚫ Kecenderungan saat ini adalah memiliki CPU dengan puluhan atau bahkan ratusan core 114
  • 115. 10.4.2.7 Hyper-threading ⚫ CPU Intel tertentu berisi teknologi khusus yang disebut hyper- threading ⚫ Misalnya CPU Core i3/i5/i7 dan Xeon ⚫ Hyper-threading membuat satu inti prosesor bekerja secara virtual sebagai prosesor multi-inti ⚫ Hyper-threading dapat memberikan beberapa peningkatan kinerja sistem dengan membuat pipa prosesor lebih sibuk 115
  • 116. 10.4.3 Kinerja virtualisasi (Virtualization performance) ⚫ Mengkonsolidasikan beberapa mesin virtual pada satu mesin fisik meningkatkan penggunaan CPU dan mengurangi waktu menganggur (idle) CPU ⚫ Ini adalah driver utama untuk penggunaan virtualisasi ⚫ Mesin fisik perlu menangani disk dan I/O jaringan dari semua mesin virtual yang berjalan ⚫ Ini dapat dengan mudah menyebabkan kemacetan kinerja I/O 116
  • 117. 10.4.3 Kinerja virtualisasi (Virtualization performance) ⚫ Saat memilih mesin fisik untuk menghosting mesin virtual, pertimbangkan untuk membeli mesin dengan: ⚫ Banyaknya CPU dan kapasitas memori ⚫ Kemampuan hasil (throughput) I/O yang sangat tinggi ⚫ Virtualisasi memperkenalkan hukuman kinerja: ⚫ Sumber daya yang diperlukan untuk menjalankan hypervisor ⚫ Transformasi operasi ⚫ Ini biasanya kurang dari 10% dari total kinerja 117
  • 118. 10.4.3 Kinerja virtualisasi (Virtualization performance) Database umumnya memerlukan banyak bandwidth jaringan dan kinerja I/O disk yang tinggi ⚫ Ini membuat database kurang cocok untuk lingkungan virtual ⚫ Pemetaan Perangkat Mentah memungkinkan akses eksklusif mesin virtual ke media penyimpanan fisik ⚫ Ini mengurangi hit kinerja hypervisor pada penyimpanan hingga hampir nol 118
  • 119. 10.4.3 Kinerja virtualisasi (Virtualization performance) Seringkali satu server fisik diperlukan per database ⚫ Server fisik hanya menjalankan satu mesin virtual ⚫ Masih banyak manfaat virtualisasi ⚫ Server basis data dapat dengan mudah dipindahkan ke mesin fisik lain tanpa downtime ⚫ Manajemen server disatukan ketika semua server menjalankan hypervisor 119
  • 120. 10.5 Compute security 10.5.1 Keamanan fisik 10.5.2 Keamanan virtualisasi 10.5.1 Physical security 10.5.2 Virtualization security 120
  • 121. 10.5.1 Keamanan fisik (Physical security) ⚫ Nonaktifkan port USB eksternal di BIOS ⚫ Pengaturan BIOS di server x86 harus dilindungi menggunakan kata sandi, ⚫ Melalui BIOS, port USB eksternal dapat diaktifkan, dan parameter lainnya dapat diatur ⚫ Beberapa server memungkinkan deteksi pembukaan fisik rumah server ⚫ Peristiwa semacam itu dapat dikirim ke konsol manajemen pusat menggunakan perangkap SNMP misalnya ⚫ Jika memungkinkan, aktifkan ini untuk mendeteksi aktivitas yang tidak biasa 121
  • 122. 10.5.2 Keamanan virtualisasi (Virtualization security) ⚫ Mesin virtual harus dilindungi dengan cara yang sama seperti mesin fisik ⚫ Penggunaan virtualisasi memperkenalkan kerentanan keamanan barunya sendiri: ⚫ Jika memungkinkan, firewall dan Sistem Deteksi Intrusi (Intrusion Detection Systems - IDS) di hypervisor harus digunakan ⚫ Platform virtualisasi itu sendiri juga perlu ditambal (patching) ⚫ Ukuran dan kerumitan hypervisor harus dijaga seminimal mungkin ⚫ DMZ ⚫ Pertimbangkan untuk menggunakan mesin fisik terpisah yang menjalankan semua mesin virtual yang diperlukan di DMZ 122
  • 123. 10.5.2 Keamanan virtualisasi (Virtualization security) Konsol manajemen sistem ⚫ Konsol manajemen sistem terhubung ke semua hypervisor dan mesin virtual ⚫ Saat keamanan konsol manajemen sistem dibobol, keamanan dibobol di semua mesin virtual ⚫ Tidak semua manajer sistem harus memiliki akses ke semua mesin virtual ⚫ Akun pengguna dan kata sandi khusus harus dikonfigurasikan untuk operasi berisiko tinggi seperti mematikan mesin fisik atau kluster virtual ⚫ Semua aktivitas pengguna di konsol manajemen sistem harus dicatat 123