30 likes | 273 Views
TRANSPARANSI KULIAH ORGANISASI DAN ARSITEKTUR KOMPUTER. TANGGALREVISI TANGGAL BERLAKU KODE DOKUMEN. : ---- : 09 September 2004 : ----. ORGANISASI PARALEL Pada paper ini diperkenalkan sebuah desain baru memori yang kami sebut MAM (Multi-
E N D
TRANSPARANSI KULIAH ORGANISASI DAN ARSITEKTUR KOMPUTER TANGGALREVISI TANGGAL BERLAKU KODE DOKUMEN : ---- : 09 September 2004 : ---- ORGANISASI PARALEL Pada paper ini diperkenalkan sebuah desain baru memori yang kami sebut MAM (Multi- mode Access Memory). Sesuai namanya, memory ini dapat diakses dengan beberapa mode antara lain mode RAM, CAM dan Shift. Memori jenis ini telah dibuktikan memberikan manfaatnya yang besar dibidang pengolahan citra paralel terutama untuk memproses masalah citra yang bersifat lokal (misalnya: filtering, edge detection dan lain-lain) dan regional (misalnya: labeling, perhitungan luas dan keliling objek, dan lain-lain) dengan kompleksitas algoritma yang sangat baik yaitu O(n) untuk citra nxn pixel. Sedangkan bila menggunakan memori RAM mencapai O(n2). Pada paper ini dibahas prinsip dasar memori MAM tersebut, aplikasi dan performansinya untuk arsitektur paralel citra berjenis 1d. Penelitian ini merupakan bagian dari proyek pengembangan arsitektur paralel citra optimal yang didanai oleh ITSF (Indonesia Toray Science Foundation). II.1 Multiprocessing Multiprocessing berarti lebih dari sebuah prosesor. Suatu siitem komputer yang menggunakan cara multiprocessing bilamana menggunakan lebih dari satu CPU. Dengan multiprocessing, intruksi-intruksi dari bebrapa progarm yang berbeda dapat diproses secara serentak bersamaan. Hal ini memungkinkan karena CPU akan memproses sebuah program. Beberapa CPU yang akan digabung mungkin dapat menggunakan sebuah main memori bersamaan atau menggunakan main memori terpisah sendiri. IBM menggunakan istilah tight coupling untuk menggambarkan dua buah CPU yang menggunakan sebuah main memori bersama-sama. Penjadwalan dan penyeimbangan untuk pekerjaan input, proses dan otuput merupakan tugas dari OS yang tidak mudah untuk sistem ini. Misalnya DDP Network dengan beberapa prosesor merupakan contoh dari multiprocessing. Tiap-tiap CPU ditempat lokal mempunyai mai memori tersendiri dan bertugas menangani input, output dan pengolahan ditempat lokal. Suatu CPU khusus yang dikenal dengan istilah front end procecor (dapat berupa komputer mikro atau komputer mini) bertugas menangani penjadwalan dan pengontrolan semua pekerjaan yang akan masuk kekomputer pusat di bawah koordinasi OS. CPU dikomputer pusat bertugas menangani yang besar dan rumit yang tidak dapat ditangani oleh komputer-komputer lokal juga di bawah koordinasi OS. Kernel adalah suatu interface mesin virtual dengan proses user. Proses ditulis tanpa perlu mengetahui bagaimana hardware terinstal pada komputer. Kernel Linux mengabstraksikan semua hardware menjadi interface virtual yang konsisten. Linux juga mendukung sistem multi-tasking yang transparan pada proses user. Kernel menjalankan beberapa proses secara konkuren dan menyediakan akses ke hardware sehingga setiap proses mendapat Edisi: 01 25 Edited By Al-Bahra. L.B, S. Kom, M. Kom http://www.mercubuana.ac.id Rev: 0 Pertemuan ke-13/ 1 -
TRANSPARANSI KULIAH ORGANISASI DAN ARSITEKTUR KOMPUTER TANGGALREVISI TANGGAL BERLAKU KODE DOKUMEN : ---- : 09 September 2004 : ---- a. Melakukankerja kernel Penjadwalmenjalankan bottom half handler danmemprosesantrian task. Ini dijalankandenganmenggunakanmodul schedule(). b. Menangani current process Current process harusdiprosessebelum proses lain bisadipilihuntuk dijalankan. Kalaukebijakanpenjadwalannya round robin maka current process diletakkankembali di antrian proses yang akandijalankan (run queue) di paling belakang. Kalau task interuptabledanadasinyalstatusnyamenjadi running. Kalau waktuhabismaka status menjadi running. Kalau status running maka status tidak berubah. Proses yang statusnyabukan running atauinterruptabledihapusdari antrian proses yang akandijalankan. c. Memilih proses Denganmenggunakanmodul goodness(), penjadwalmenentukan proses mana yang akandiletakkan di antrian proses yang akandijalankan. d. Menukar proses Jika proses yang sangatmendesakuntukdijalankanbukan current process maka current process harus di-suspend sehingga proses barudapatdijalankan. Pada saat current process di-suspend, semua status mesin, meliputi program counter (PC) danisi register-register prosesorharusdisimpan di task_struct, kemudian digantikandengan status mesin proses yang baru. Perubahan / pertukarankonteks proses dilakukanpadaakhirpenjadwalan. Jadi, yang disimpanadalahkonteksdari current process padaakhirpenjadwalan. Setelah proses baruselesaidijalankan, konteks proses akandikembalikansesuaidengan konteksdari current process yang disimpan. Jika current process atau proses barumenggunakan virtual memory maka page table entry sistemperlu di-update. Pseudo Code do kernel work run bottom halfs do soft IRQ's treat current process if current process policy == ROUND_ROBIN: put process at the back of run queue. if process id INTERRUPTIBLE and received a signal: Edisi: 01 25 Edited By Al-Bahra. L.B, S. Kom, M. Kom http://www.mercubuana.ac.id Rev: 0 Pertemuan ke-13/ 3 -
TRANSPARANSI KULIAH ORGANISASI DAN ARSITEKTUR KOMPUTER TANGGALREVISI TANGGAL BERLAKU KODE DOKUMEN : ---- : 09 September 2004 : ---- yang berjalan dicatat dalam tabel proses. Entry pertama dari tabel adalah init process yaitu proses pertama yang dijalankan pada saat boot. Task_struct berisi status proses, prioritas, dan waktu yang tersisa sampai harus dijadwal ulang (counter). Selain itu struktur ini juga ada kebijakan yang dipakai dalam penjadwalan. Informasi yang berisi hold timing, misalnya waktu yang telah digunakan dalam user mode, dan informasi-informasi lainnya yang tidak terlalu penting juga ada di dalam struktur ini. Informasi Process ID juga disimpan di task_struct ini. Data proses dengan file spesifik diletakkan di sub struktur fs_struck. Secara lengkap isi dari task_struct adalah sebagai berikut. 1. State, yang dapat terisi salah satu dari state berikut: i. task_running : task yang seharusnya ada di run queue. Bila task dengan state ini tidakberada di run queue itukarenamenandakan task dengan state dan menempatkannyake run queue tidakatomik. ii. task_interruptible : task sedangtidurdanbisadibangunkanoleh signal ataukalau waktuhabis iii. TASK_UNINTERRUPTIBLE : task yang sedangtidur TASK_INTERRUPTIBLE tapi takbisadibangunkan iv. TASK_ZOMBIE : task yang sudahselesaitapistatusnyabelumdiambiloleh task parent v. TASK_STOPPED : task yang sudahdihentikan vi. TASK_EXCLUSIVE : bisadibangunkantanpamembangunkan task lain. 2. Scheduling information, berisiinformasi yang dibutuhkanuntukmenentukankapan task harusdikerjakan 3. Identifiers, berisisebuahnomor yang mengidentifikasisetiap task. Nomorinitidak mencerminkanurutanpengerjaan 4. Links, berisi parents dan siblings 5. Times and timers, berisicatatanwaktupembuatandan lifetime dari task, termasuk didalamnya interval timers 6. File system, berisi identifier file yang digunakanoleh task 7. Virtual memory, berisipemetaan virtual memory. Task selain kernel dan daemon mempunyainya. 8. Processors Specific Context, berisikonteks proses untukmenyimpanisi register, stack dan lainnyasaat proses di-suspend. Edisi: 01 25 Edited By Al-Bahra. L.B, S. Kom, M. Kom http://www.mercubuana.ac.id Rev: 0 Pertemuan ke-13/ 5 -