Transcript BAB 3

PROSES KESEGERAKAN
BAB 6
1
6.1 Konsep Kesegerakan


Pemprosesan segerak juga dikenali
sebagai pemprosesan berbilang.
Kesegerakan wujud dalam persekitaran
pemprosesan berbilang dimana dua
atau lebih CPU diselaraskan oleh
Pengurus Pemproses supaya setiap
pemproses berkomunikasi dan
bekerjasama antara satu sama lain.
2

Matlamat pemproses berbilang adalah
untuk meningkatkan kebolehpercayaan
(CPU lain boleh digunakan jika satu CPU
rosak), kelajuan pemprosesan
(beberapa arahan boleh dilaksanakan
serentak), “throughput” dan kuasa
pengkomputeran.
3



Biasanya terdapat satu salinan sistem
pengendalian dan jadual sejagat bagi setiap
proses yang boleh dicapai oleh semua
pemproses.
Semua pemproses bekongsi satu algoritma
penjadualan proses yang sama.
Satu kerja dilaksanakan oleh beberapa
pemproses.
4
6.2 Konfigurasi Sistem
Segerak

Tiga konfigurasi biasa yang menentukan
susunan pemproses-pemproses dalam
suatu sistem pemprosesan segerak
ialah



konfigurasi tuan/hamba (master/slave),
konfigurasi gandingan longgar (loosely
coupled) dan
konfigurasi bersimetri (symmetric).
5



Dalam konfigurasi tuan/hamba terdapat satu
pemproses (tuan) yang mengetuai beberapa
pemproses (hamba) dalam suatu sistem
pengkomputeran.
Pemproses tuan menjaga status semua
proses, aktiviti pengurusan storan,
penjadualan pemproses lain dan
perlaksanaan aturcara-aturcara.
Mudah tetapi ia mempunyai beberapa
kelemahan.
6

Ia mempunyai tahap kebolehpercayaan yang
setaraf dengan sistem pemproses tunggal


Kecekapan
rendah


kerana ia bergantung kepada pemproses tuan.
penggunaan
sumber
adalah
sebab ia perlu tunggu pemproses tuan membuat
pengagihan tugas.
Terdapat peningkatan sampukan kerana
pemproses hamba perlu sampuk pemproses
tuan pada setiap kali suatu permohonan
dibuat.
7



Dalam konfigurasi gandingan longgar,
terdapat beberapa sistem komputer yang
lengkap dengan ingatan, peranti I/O, CPU
dan OS masing-masing dan setiap pemproses
mengawal sumbernya dan arahannya masingmasing.
Semua pemproses boleh berkomunikasi dan
bekerjasama antara satu sama lain.
Suatu kerja yang tiba akan diperuntukkan
kepada suatu pemproses dan dilaksanakan
oleh pemproses itu sehingga tamat.
8


Setiap pemproses mempunyai jadual
sejagat (global) yang menunjukkan
peruntukan kerja kepada pemproses.
Sistem ini lebih selamat kerana
pemproses lain boleh meneruskan
pemprosesan jika satu pemproses
rosak.
9


Konfigurasi bersimetri biasanya digunakan
jika semua pemproses berjenis sama.
Kelebihannya berbanding konfigurasi
gandingan longgar termasuklah




kebolehpercayaan yang lebih baik,
Imbangan kerja yang lebih baik,
penggunaan sumber yang lebih baik dan
berkesan,
kawalan yang lebih baik semasa kegagalan.
10


Walau bagaimanapun, ia susah
dilaksanakan.
Proses perlu diselaraskan dengan baik
untuk mengatasi masalah “race” dan
kebuntuan (lebih terdedah kepada
masalah/konflik dimana beberapa
pemproses cuba mencapai sumber yang
sama).
11
6.3 Konsep Saling Eksklusif

Konsep Saling Eksklusif atau Konsep
saling pengasingan (mutual exclusion)
digunakan untuk membantu proses
yang diperuntukkan sumber
mengelakkan masalah kebuntuan.
12
6.4 Masalah Kesegerakan


Kejayaan sistem pemprosesan berbilang
bergantung
kepada
kejayaan
sistem
menyelaraskan semua pemproses dan
sumber sistem.
Masalah kesegerakan dalam mekanisma
kawalan perkakasan dan perisian termasuklah
Missed waiting customers, penyelarasan
antara pengeluar dan pelanggan (producer
and consumer), Saling eksklusif antara
pembaca dan penulis. Proses-proses perlu
bekerjasama untuk mencapai matlamat
kesegerakan.
13


Dalam kerjasama antara pengeluar dan
pelanggan, suatu proses menghasilkan data
yang akan digunakan oleh proses lain.
Masalah mungkin timbul bila penghasil cuba
menambah data ke dalam kawasan simpanan
yang telah penuh, ataupun pengguna cuba
mencapai data dari kawasan simpanan yang
telah kosong.
14


Contoh: Kelajuan CPU menjana output
lebih cepat dari kelajuan pencetak
mencetak outputnya.
Penimbal (buffer) diperlukan supaya
pengeluar (CPU) dapat menyimpan data
buat sementara sebelum ia dicapai oleh
pengguna (pencetak) pada
kelajuan/keupayaan yang bersesuaian.
15


Proses perlu diselaraskan sebab ruang
penimbal terhad. pengeluaran ditangguhkan
bila penimbal telah penuh, dan pencapaian
data oleh pengguna ditangguhkan semasa
penimbal kosong.
Penyelarasan boleh dilakukan dengan tiga
semafora yang menyimpan bilangan petak
penimbal terisi, bilangan petak penimbal
kosong dan petanda saling eksklusif antara
proses masing-masing.
16



Kerjasama pembaca dan penulis melibatkan
Proses “penulis” dan proses “pembaca” cuba
mencapai sumber yang dikongsi (seperti fail
dan pangkalan data).
Contoh: (sistem penempahan tiket kapal
terbang) - Pembaca yang mendapatkan
maklumat penerbangan tanpa mengubah
data.
Maka banyak pembaca dibenarkan aktif pada
setiap masa.
17


Penulis yang membuat penempahan
dengan mengubah data.
Maka saling eksklusif diperlukan untuk
menyekat pembaca dan penulis lain bila
suatu penulis sedang mengubah data.
18


Polisi keutamaan kombinasi/gabungan
digunakan untuk mengelakkan kebuluran
pembaca dan penulis: Bila penulis selesai,
semua pembaca yang menunggu dibenarkan
membaca. Bila pembaca selesai, penulis
boleh mula menulis.
Keadaan sistem diringkaskan dengan nilainilai semafora.
19
6.5 Konsep Pengaturcaraan
Segerak



Kebanyakan bahasa pengaturcaraan
berbentuk bersiri, iaitu arahan dilaksanakan
satu demi satu.
Bahasa pengaturcaraan yang menggunakan
pemprosesan segerak boleh melaksanakan
pengiraan dengan lebih cepat.
Pemprosesan segerak mengurangkan
kerumitan operasi yang melibatkan gelung,
pendaraban matriks dan pencarian data
secara serentak dalam pangkalan data.
20


Maka masa perlaksanaan suatu proses
atau kerja dikurangkan.
Pemprosesan segerak menggunakan
istilah COBEGIN dan COEND untuk
memberitahu pengkompil tentang
arahan-arahan yang boleh
dilaksanakan/diproses secara serentak.
21


Kesegerakan jelas (explicit parallelism):
Pengaturcaraan segerak menambah
kerumitan (complexity) bahasa
pengaturcaraan dan perkakasan.
Penentuan arahan yang boleh
dilaksanakan secara serentak oleh
tenaga manusia memakan masa dan
kesilapan mudah berlaku.
22


Kesegerakan tersirat (implicit
parallelism) : Pengesanan otomatik oleh
pengkompil.
Pengkompil menterjemahkan suatu
ungkapan algebra kepada arahanarahan dan menentukan arahan yang
boleh dilaksanakan secara serentak.
23



Bahasa ADA ialah Bahasa pengaturcaraan
segerak.
Bahasa ini direkabentuk secara bermodul
supaya suatu projek yang besar boleh
dibahagikan kepada seksyen-skesyen.
Seksyen aturcara (unit aturcara) tersebut
boleh dikendalikan oleh beberapa orang
pengaturcara secara tak bersandar dan
dikompil secara berasingan.
24


Setiap unit aturcara terdiri daripada Bahagian
spesifikasi yang menyimpan maklumat untuk
dibaca oleh semua unit dan Bahagian rangka
utama (isi) yang mengandungi maklumat
implementasi aturcara.
Terdapat 3 jenis unit aturcara, iaitu



Subaturcara
–
algoritma
yang
boleh
dilaksanakan;
Pakej – kumpulan entiti seperti prosidur dan
fungsi;
Tugas – pengiraan serentak.
25