*Session 5
Multi Processor dan Sistem Embedded
A) Multiprocessor VS Multicore
- Multicore system
– CPU dengan lebih dari satu core.
– Core beroperasi sebagai processor terpisah dalam satu chip.
– Meningkatkan kinerja tanpa meningkatkan kecepatan waktu processor. - Multiprocessor system
– Memiliki lebih dari satu CPU.
– Beberapa mesin menggabungkan 2 teknologi, multicore & multiprocessor.
B) Sistem Multiple Processor
C) Architecture
Sistem Multiprocessor diklasifikasikan menurut cara menghubungkan CPU dan unit memori :
- Arsitektur Uniform Memory Access (UMA)
– Sebelumnya disebut pasangan erat multiprocessor.
– Juga disebut Symmetrical Multiprocessor (SMP).
– Contoh : Sistem balance dan VAX 8800 - Arsitektur Nonuniform Memory Access (NUMA)
– Contoh : HP AlphaServer dan IBMNUMA-Q - Arsitektur No-remote-memory-access (NORMA)
– Contoh : Sistem hypercube oleh Intel.
– Sesungguhnya adalah sistem terdistribusi.
D) Multiprocessor UMA dengan Dasar Arsitektur Bus
E) Arsitektur NUMA
F) UMA vs NUMA
- Unified Memory Access (UMA)
Juga dikenal sebagai Symmetric Multi Processor (SMP) - Non-Unified Memory Access (NUMA)
- Persamaan
– Ruang memori tunggal.
– Pitfall : Dibandingkan antara shared memori dan distributed memori. - Perbedaan
– Waktu akses.
– # processoer
– Bus vs implementasi jaringan.
G) Klasifikasi dari Sistem Paralel
- SISD (Single Instruction Single Data)
Uniprocessor - MISD (Multiple Instruction Single Data)
Pengolahan berbasis stream. - SIMD (Single Instruction Multiple Data)
– Contoh : Illiac-IV, CM-2 (Thinking Machines), Xetal (Philips), Imagine (Stanford), Vector machines, Cell architecture (Sony).
– Model pemrograman sederhana.
– Overhead rendah. - MIMD (Multiple Instruction Multiple Data)
Contoh : Sun Enterprise 5000, Cray T3D, SGI Origin, Multi-core Pentiums, dan lain-lain.
H) Sinkronisasi Multi Processor
I) Time Sharing
J) Gang Scheduling
3 bagian dari gang scheduling :
- Kelompok dari urutan terkait dijadwalkan sebagai sebuah unit, sebuah gang.
- Semua anggota dari sebuah gang dijalankan secara bersamaan, pada CPU timeshared yang berbeda.
- Semua anggota gang memulai dan mengakhiri bagian waktu mereka bersama-sama.
H) Sistem Embedded
- Gabungan dari hardware dan software komputer, dan dirancang untuk melakukan fungsi khusus.
- Pada kebanyakkan kasus, embedded system adalah bagian dari sistem yang lebih besar atau produk, seperti dalam kasus sistem anti penguncian rem di dalam sebuah mobil.
Contoh :
I) Kemungkinan Organisasi dari System Embedded
J) Karateristik dari Sistem Embedded
- Operasi Real-time
Pada kebanyakkan system embedded, kebenaran perhitungan tergantung, sebagian, pada waktu dimana perhitungan tersebut disampaikan. Seringkali, real-time. Kendala ditentukan oleh eksternal I/O dan kontrol persyaratan stabilitas. - Operasi Reaktif
Sofware embedded dapat melakukan eksekusi untuk menanggapi peristiwa eksternal. Jika peristiwa ini tidak terjadi secara berkala atau pada interval prediksi, software embedded mungkin perlu mempertimbangkan kondisi terburuk dan menetapkan prioritas untuk pelaksanaan rutinitas. - Konfigurabilitas
Karena sebagian besar sistem embedded, ada variasi besar dalam persyaratan, baik secara kualitatif dan kuantitatif, untuk fungsi OS tertanam untuk pelaksanaan rutinitas. - Fleksibilitas perangkat I/O
Hampir tidak ada perangkat yang perlu didukung oleh semua versi dari OS dan jarak perangkat I/O besar. - Mekanisme perlindungan efisien
Sistem embedded biasanya dirancang terbatas, fungsi terdefinisi baik. - Penggunaan interrupt langsung
Tujuan umum sistem operasi biasanya tidak mengizinkan proses pengguna untuk menggunakan interupsi langsung.
K) Tujuan Membangun Sistem Operasi Embedded
Sejumlah besar sistem operasi telah dirancang dari bawah ke atas untuk aplikasi embedded. Dua contoh yang menonjol dari pendekatan baru-baru ini adalah eCos dan TinyOS.
L) Sistem Embedded Khusus
Biasanya mencakup :
- Memiliki proses yang cepat dan ringan.
- Penjadwalan kebijakan adalah real time dan modul pengirim adalah bagian dari scheduler bukan komponen terpisah.
- Memiliki ukuran yang kecil.
- Merespon interupsi eksternal dengan cepat, persyaratan khusus adalah waktu respon kurang dari 10 μs.
- Meminimalkan interval selama interupsi dinonaktifkan.
- Memberikan partisi tetap atau variabel ukuran untuk manajemen memori serta kemampuan untuk mengunci kode dan data dalam memori.
- Memberkan urutan file khusus yang dapat mengumpulkan data pada tingkat yang cepat. Untuk mengatasi kendala waktu, kernel memberikan waktu eksekusi terbatas untuk sebagian primitif.
- Mempertahankan waktu real-time.
M) eCos
- eCOS – Embedded Configurable Operating System.
- Open Source, bebas royalti, real-time O/S untuk aplikasi embedded.
N) Konfigurabilitas
- Alat konfigurasi eCos, yang berjalan pada Windows atau Linux, digunakan untuk mengkonfigurasi paket eCos untuk berjalan pada target sistem embedded.
- Paket eCos terstruktur secara hirarki.
O) Loading Konfigurasi eCos
P) Komponen eCos
- HAL – Hardware Abstraction Layer
HAL adalah perangkat lunak yang menyajikan API yang konsisten untuk lapisan atas dan peta operasi lapisan atas ke platform hardware tertentu. - eCos Kernel
Dirancang untuk memenuhi tujuan-tujuan berikut :
– Low interrupt latency : Waktu yang diperlukan untuk menanggapi interupsi dan mulai mengeksekusi ISR.
– Low task switching latency : Waktu yang diperlukan saat thread tersedia ketika eksekusi sebenarnya dimulai.
– Small memory footprint : Sumber memori untuk kedua program dan data disimpan ke bentuk minimum dengan memungkinkan semua komponen untuk mengkonfigurasi memori yang diperlukan.
– Deterministic behavior : Melalui semua aspek eksekusi, kinerja kernel harus dapat diperdiksi dan dibatasi untuk memenuhi kebutuhan aplikasi real-time.
Q) eCos Scheduler
- Bitmap Scheduler
Sebuah bitmap scheduler mendukung beberapa tingkat prioritas, tetapi hanya satu thread yang dapat muncul di setiap tingkat pada waktu tertentu. - Multilevel Queue Scheduler
– Mendukung hingga 32 tingkat prioritas.
– Memungkinkan beberapa thread aktif pada setiap tingkat prioritas, terbatas hanya dengan sumber daya sistem.
*Session 6
Sistem Terdistribusi
A) Komputasi Client Server
- Lingkungan client / server dihuni oleh client dan server.
- Setiap server di lingkungan client / server menyediakan satu set layanan bersama dengan client.
- Komputasi client / server biasanya didistribusikan.
- Komputasi.
B) Lingkungan Client Server
C) Arsitektur Client Server
D) Tiga tingkat Arsitektur Client Server
E) Middleware
Middleware menyediakan lapisan software yang memungkinkan akses yang seragam untuk sistem yang berbeda.
F) Arsitektur Service Oriented
- Bentuk f dari arsitektur client server.
- Mengatur fungsi bisnis ke dalam struktur modular.
- Terdiri dari satu set layanan dan satu set aplikasi client yang menggunakan jasa.
G) Komponen Arsitektural SOA
Ada 3 jenis :
- Service Provider
Sebuah node jaringan yang menyediakan layanan interface untuk aset software yang mengelola satu set tertentu dari tugas. - Service Requestor
Sebuah node jaringan yang menemukan dan meminta layanan software lain untuk menyediakan solusi bisnis. - Service Broker
Sejenis layanan tertentu yang bertindak sebagai registrasi dan memungkinkan untuk pencarian interface service provider dan lokasi layanan.
H) Clustering
- Pendekatan untuk menyediakan kinerja dan ketersediaan tinggi.
- Sebuah cluster adalah kelompok yang saling berhubungan, seluruh komputer bekerja sama sebagai sumber daya komputasi terpadu (bertindak sebagai satu mesin).
I) Keuntungan dari Clustering
- Absolute Scalability
Hal ini mungkin untuk membuat kelompok besar yang jauh melampaui kekuatan bahkan mesin terbesar yang berdiri sendiri. Sebuah cluster dapat memiliki puluhan atau bahkan ratusan mesin, masing-masing yang merupakan multiprocessor. - Incremental Scalability
Sebuah cluster dikonfigurasi sedemikian rupa yang mungkin untuk menambahkan sistem baru untuk cluster sedikit demi sedikit. Dengan demikian, pengguna dapat mulai dengan sistem yang sederhana dan memperluasnya sebagai kebutuhan, tanpa harus melalui upgrade besar dimana sistem kecil yang ada, diganti dengan sistem yang lebih besar. - High Availabilty
Karena setiap node di cluster adalah komputer yang berdiri sendiri, kegagalan satu node bukan berarti hilangnya layanan. Dalam banyak produk, toleransi kesalahan ditangani secara otomatis dalam software. - Superior price/performance
Dengan menggunakan blok bangunan komoditas, adalah mungkin untuk mengumpulkan cluster dengan daya komputasi yang sama atau lebih besar dari mesin tunggal yang besar, dengan biaya yang jauh lebih rendah.
J) Dua Node Cluster
K) Shared Disk Cluster
L) Manfaat dan Keterbatasan Metode Cluster
M) Design Issues
- Failure Management.
- Load Balancing.
- Parallelizing Computation.
N) Arsitektur Komputer Cluster