Session 5 – Multi Processor
Multiprocessor vs Multicore System
Multicore Systems :
- Sebuah CPU yang terdiri dari lebih dari satu core.
- Core bekerja sebagai yang terpisah dalam sebuah single chip.
- Core ini berguna untuk meningkatkan performance tanpa menaikkan clock processor.
Multiprocessor :
- Memiliki lebih dari 1 CPU.
- Dapat mengkombinasikan 2 teknologi, yaitu multicore dan multiprocessor.
Perbedaan Multicore dengan Multiprocessor :
- Multicore lebih hemat energi karena hanya satu CPU yang dialiri listrik.
- Multicore lebih hemat tempat karena hanya butuh satu CPU, jadi penggunaan tempat lebih hemat.
- Multiprocessor baik dalam performancenya karena dapat menangani banyak proses sekaligus.
Multiprocessor diklasifikasikan berdasarkan asosiasi CPU dan unit memory :
- Uniform memory access (UMA)
Sebelumnya disebut tightly coupled multiprocessor
UMA juga disebut symmetrical multiprocessor (SMP)
Contoh: Balance system dan VAX 8800
- Nonuniform memory access (NUMA)
Contoh : HP AlphaServer and IBMNUMA-Q
- No-remote-memory-access (NORMA)
Merupakan sistem yang terdistribusi
Contoh : Hypercube system by Intel
UMA vs NUMA
- Unified Memory Access (UMA)
- Biasa disebut juga Symmetric MultiProcessors (SMP)
- Akses memory secara seragam
- Non-Unified Memory Access (NUMA)
- Dibuat untuk menangani kelemahan UMA
Persamaan UMA dan NUMA :
- Memiliki single memory space
- Pitfall : Perbandingan antara shared memory dan distributed memory
Perbedaan UMA dan NUMA :
- Dari sisi access time NUMA lebih cepat dibandingkan UMA
- Jumlah processor antara UMA dan NUMA berbeda
- UMA simestris, NUMA tidak simetris
- Implementasi antara bus dan network
Klasifikasi Sistem Paralel :
- SISD (Single Instruction Single Data)
- MISD (Multiple Instruction Single Data)
- SIMD (Single Instruction Multiple Data = DLP)
- MIMD (Multiple Instruction Multiple Data)
Gang Scheduling
Terdapat 3 bagian dalam Gang Scheduling :
- Thread yang berhubungan atau sejenis digabungkan sebagai satu unit gang.
- Semua anggota gang berkerja secara simultan pada timashare CPU yang berbeda.
- Semua anggota gang memulai dan mengakhiri time slice bersama-sama.
Embedded System
Embedded system adalah suatu kombinasi dari hardware dan software yang didesain untuk menjalankan suatu fungsi tertentu.
Dari berbagai kasus, embedded system merupakan bagian dari sistem atau produk yang lebih besar , seperti dalam kasus sistem anti penguncian rem di mobil.
Contoh dari embedded system adalah microprocessor yang mengontrol mesin automobile.
Karakteristik dari Embedded system :
- Real time Operation
Suatu operasi yang pada waktu itu juga akan dilakukan secara langsung.
- Reactive Operation
Suatu operasi yang akan berjalan jika di picu dengan tindakan lainnya dulu.
- Configurability
Karena variasi dari embedded system sangat banyak, maka untuk menyesuaikan kebutuhan dapat dikonfigurasi secara kualitatif dan kuantitatif.
- I/O Device Flexibility
Fleksibilitas antara segala macam alat input dan output.
- Streamlined Protection Mechanism
Embedded system didesain secara terbatas dengan fungsi yang didefinisikan dengan baik.
- Direct use of interrupts
Embedded system dapat diinterupsi oleh proses lain yang lebih penting.
Specialized Embedded Operating System :
- Prosesnya cepat dan ringan.
- Real time
- Hanya butuh ukuran yang kecil karena fungsinya spesifik.
- Respon untuk external interrup cepat.
- Menyediakan special sequential files.
- Maintain realtime clock.
- Meminimize interval selama interval disable.
2 contoh dari embedded system adalah TinyOS dan eCos(embedded configurable operating system).
eCos (Embedded Configurable Operating System)
- Open source, gratis, real time O/S untuk embedded application.
Komponen eCos :
- HAL (hardware abstraction layer) adalah sebuah software yg menyediakan API kepada upper layers dan peta / gambaran kepada upper layers terhadap platform hardware.
- eCos Kernel
eCos kernel dibuat dengan tujuan :
- Low interupt latency
- Low task switching latency
- Small memory footprint
- Deterministic behavior
eCos Scheduler terdiri atas 2 yaitu :
- Bitmap scheduler : Membantu level-level prioritas, tapi hanya 1 thread yang dapat diproses dalam waktu yang sama.
- Multilevel Queue Scheduler
- Mendukung sampai dengan priority level 32
- Mengijinkan banyak thread yang terdapat pada level prioritas, terbatas hanya oleh sumber data.
Session 6 – Distributed System
Client Server Computing
- Lingkungan client/server dihuni oleh berbagai client dan server.
- Setiap server dalam lingkungan client/server menyediakan 1 set layanan bersama dengan client.
- Client/server merupakan komputasi terdistribusi.
Middleware
- Middleware menyediakan lapisan software yang memungkinkan akses seragam yang berbeda.
Service Oriented Architecture :
- Merupakan arsitektur f client/server.
- Mengatur fungsi bisnis kedalam struktur modular.
- Terdiri dari satu set layanan dan satu set aplikasi client yang menggunakan layanan.
SOA Architectural components
Terdiri dari 3 tipe :
- Service Provider
Sebuah node jaringan yang menyediakan antarmuka layanan untuk aset software yang mengelola satu set tugas tertentu.
- Service Requestor
Sebuah node jaringan yang menemukan dan memanggil layanan perangkat lunak lain untuk memberikan solusi bisnis.
- Service Broker
Sebuah jenis service tertentu yang bertindak sebagai registry dan memungkinkan untuk pencarian interface penyedia layanan dan lokasi layanan.
Clustering
- Yaitu sebuah pendekatan yang digunakan untuk memberikan performa dan ketersediaan yang tinggi.
- Cluster merupakan sekelompok yang saling berhubungan, seluruh komputer bekerja sama sebagai sumber daya komputasi (bertindak sebagai satu mesin).
Keuntungan Clustering :
- Absolute Scalability
Memungkinkan membuat cluster yang besar, bahkan dapat melampaui kekuatan mesin yang tercepat sekalipun.
- Incremental Scalability
Sebuah cluster dikonfigurasi sedemikian rupa untuk menambah sistem baru pada cluster tersebut dengan tahap perlahan.
- High Availability
Dalam banyak produk, software secara otomatis menangani kesalahan yang ada.
- Superior Price/Performance
Memungkinkan untuk mengumpulkan cluster dengan daya komputasi yang sama atau lebih besar dari mesin tunggal yang besar, dengan biaya yang jauh lebih rendah.