Lisa Limiarti
BINUSIAN 2017
Session 5 & Session 6
Categories: Uncategorized

*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

picture2

 

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

gambar1

 

E)   Arsitektur NUMA

NUMA_SMP

 

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

gambar3 gambar4

I)   Time Sharing

gambar5

 

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.

gambar6       gambar7

 

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 :

gambar8

 

I)   Kemungkinan Organisasi dari System Embedded

gambar9

 

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

gambar10

 

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

gambar11

 

C)   Arsitektur Client Server

gambar12

 

D)   Tiga tingkat Arsitektur Client Server

gambar13

 

E)   Middleware
Middleware menyediakan lapisan software yang memungkinkan akses yang seragam untuk sistem yang berbeda.

gambar14

 

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

gambar15

 

K)   Shared Disk Cluster

gambar16

 

L)   Manfaat dan Keterbatasan Metode Cluster

gambar17

 

M)   Design Issues

  • Failure Management.
  • Load Balancing.
  • Parallelizing Computation.

N)   Arsitektur Komputer Cluster

gambar18

Leave a Reply