Hendy Kusumo Nugroho ( kelas A)

dokumen-dokumen yang mirip
PAPER MULTIPROCESSOR

Contoh (3) Solusinya adalah dengan membuat web server menjadi multi-threading. Dengan ini maka sebuah web server akan membuat thread yang akan mendeng

Bab 13. Konsep Penjadwalan

SISTEM OPERASI THREAD DAN MULTITHREADING

Thread, SMP, dan Microkernel (P ( e P rtemuan ua ke-6) 6 Agustus 2014

Bab 10. Konsep Proses

Bab I Pengenalan Sistem Operasi. Apa yang dimaksud Sistem Operasi?

Bab 3.Proses dan Penjadualan

SISTEM OPERASI. Belajar SO?

Struktur Sistem Operasi

Thread. pada satu waktu. menjalankan banyak tugas/thread. yang sama

Bab selanjutnya membahas tentang penggunaan thread pada java, thread bisa memiliki status new, runnable, block, dead.

PROSES DAN THREADS DALAM SISTEM OPERASI

Artikel Perbedaan Proses Dan Thread. Disusun Oleh : Nama : Rozy Putra Pratama NIM : Prodi : Sistem Informasi

THREAD Ulir utas thread

TUGAS SISTEM OPERASI

Tahun Akademik 2014/2015 Semester II. DIG1I3 - Instalasi dan Penggunaan Sistem Operasi

TUGAS SISTEM OPERASI

TUGAS SISTEM OPERASI THREAD

Penjadwalan CPU. Badrus Zaman

Prio Handoko, S.Kom., M.T.I.

Thread Proses merupakan sebuah program yang mengeksekusi THREAD tunggal. Kendali thread tunggal ini hanya memungkinkan proses untuk menjalankan satu t

PROSES. Sistem Terdistribusi

MAKALAH SISTEM OPERASI Perbedaan Proses dan Thread. Disusun Oleh : NOVITA ANGGRAINI PUTRI

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

Sistem Operasi Pertemuan 4 Thread, SMP & Microkernel. H u s n i Lab. Sistem Komputer & Jaringan Teknik Informatika Univ.

Bab 19. Solusi Critical Section

SISTEM OPERASI ISG2B3 THREAD. Agus Setiawan Program Studi Sistem Informasi Fakultas Rekayasa Industri Telkom University

Proses dan Threads Dalam SISTEM OPERAS

PERBEDAAN PROSES DAN THREAD PADA SISTEM INFORMASI

Penjadualan Process Bagian 1

REVIEW DAN REVISI BUKU

Definisi (1) ready, dll.) Sering disebut dengan lightweight process. register set, dan stack. sama.

Tahun Akademik 2014/2015 Semester II. DIG1I3 - Instalasi dan Penggunaan Sistem Operasi

Nama : Putra Adi Nugraha dan Priska Kalista Kelas : B

Dukungan Sistem Operasi :

Disusun Oleh: Agenda. Terminologi Klasifikasi Flynn Komputer MIMD. Time Sharing Kesimpulan

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

Tahun Akademik 2014/2015 Semester II. DIG1I3 - Instalasi dan Penggunaan Sistem Operasi. System Calls dan Thread

TUGAS Mata Kuliah : Sistem Terdistribusi

ARSITEKTUR DAN ORGANISASI KOMPUTER

Operating System. Thread. Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Dosen : Caca E. Supriana, S.Si

A. Deskripsi Singkat. B. Tujuan Instruksional Umum (TIU) C. Bahasan. SILABUS MATA KULIAH Kode MK: Semester: Bobot SKS: 3. Matakuliah : SISTEM OPERASI

Pertemuan Ke-11 MULTIPROSESOR

Dimana thread digunakan?

SILABUS JURUSAN MANAJEMEN - PROGRAM STUDI D3 MANAJEMEN INFORMATIKA DIREKTORAT DIPLOMA TEKNOLOGI INFORMASI UNIVERSITAS GUNADARMA

ARTIKEL PERBEDAAN PROSES DENGAN THREAD. Di susun Oleh: Nama : Sri Wahyuni Nim :

BAB II LANDASAN TEORI

RENCANA PEMBELAJARAN SEMESTER

Sistem terdistribusi Processes, Threads and Virtualization pertemuan 3. Albertus Dwi Yoga Widiantoro, M.Kom.

TUGAS SITEM OPERASI. Nama dan N.P.M: 1.Frahma Yayang Hangga Putra

Pokok Bahasan. Tujuan. Pengertian Sistem Operasi. Sistem Mainframe. Pengertian Sistem Operasi Perkembangan Sistem Operasi

Sistem operasi. Contoh sistem operasi modern adalah Linux, Android, ios, Mac OS X, dan Microsoft Windows

BAB 16. Evaluasi dan Ilustrasi

Operasi pada Sistem Operasi. Avida Endriani Reza Gusty Erlangga D3 TEKNIK INFORMATIKA A

Sistem Operasi dalam bahasa Inggrisnya disebut Operating System, atau biasa di singkat dengan OS.

Computer Science, University of Brawijaya. Putra Pandu Adikara, S.Kom. Kontrak Kuliah. Sistem Operasi

Perbedaan Anatara Thread dan Proses

Bab 1. Pengenalan Sistem Operasi POKOK BAHASAN: TUJUAN BELAJAR: 1.1 APAKAH SISTEM OPERASI? Pengertian Sistem Operasi Perkembangan Sistem Operasi

Struktur Sistem Komputer

BAB 2 LANDASAN TEORI

MODUL 2 KOMPONEN, LAYANAN SISTEM OPERASI M. R A J A B F A C H R I Z A L - S I S T E M O P E R A S I - C H A P T E R 2

Sistem Operasi. Teknologi Informasi

Penjadwalan Proses Sistem Operasi (TKE113117) Program Studi Teknik Elektro, Unsoed

MINGGU II DASAR SISTEM OPERASI

Perbedaan Kernell Linux dan Windows

PENJADWALAN PROSES AGUS PAMUJI. SISTEM OPERASI - Penjadwalan Proses

Konsep Dasar Kriteria Penjadualan Algoritma Penjadualan Penjadualan Multiple-Processor Penjadualan Real-Time Evaluasi Algorithm

IKI Sistem Operasi Konsep Page Replacement (Pemindahan Halaman)

Algoritma Penjadwalan pada Tinyos

Arsitektur Komputer dan Pengenalan Sistem Operasi

Pengantar Sistem Operasi

Penjadualan CPU. Konsep Dasar. Penjadualan CPU. Penggantian Rangkaian Urutan CPU dan I/O Burst

RENCANA PROGRAM DAN KEGIATAN PEMBELAJARAN SEMESTER

Pengantar Teknologi Informasi. Evangs Mailoa (evangsmailoa.wordpress.com) Fakultas Teknologi Informasi UKSW

Sistem Operasi - PCB (process control block)

Sistem Operasi Mobile

Operating System: An Overview. Ch. 3: Process Management. Ch. 3: Process Management

Tipe Sistem Operasi. Stand alone Network Embedded

Penggunaan Algoritma Paralel dalam Optimasi Prosesor Multicore

Kelompok 12. Thread Java

Struktur Sistem Komputer. Abdullah Sistem Informasi Universitas Binadarma

Pertemuan 1# Pengantar Sistem Operasi. Dr. M. Arief Soeleman, M.Kom

MANAJEMEN MEMORI SISTEM OPERASI

Penjadualan CPU. Konsep Dasar Kriteria Penjadualan Algoritma Penjadualan Penjadualan Multiple-Processor Penjadualan Real-Time Evaluasi Algorithm

Ch t ap 7 er Operating System (OS)

IMPLEMENTASI METODE LOAD BALANCING DALAM MENDUKUNG SISTEM KLUSTER SERVER

Algoritma Penjadwalan 2

SILABUS SISTEM OPERASI ( TIF204) PROGRAM STUDI TEKNIK INFORMATIKA UNIVERSITAS PEMBANGUNAN JAYA TANGERANG SELATAN

Recap. Proses. Proses. Multiprogramming. Multiprocessing 9/16/2016. Ricky Maulana Fajri

4. SISTEM OPERASI TERDISTRIBUSI

DASAR KOMPUTER DAN PEMROGRAMAN IB PENGANTAR SISTEM OPERASI

Operating System. Scheduling. Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Dosen : Caca E. Supriana, S.Si

Understanding Operating Systems Fifth Edition

Struktur Sistem Komputer

Arsitektur Komputer. Pertemuan - 1. Oleh : Riyanto Sigit, S.T, M.Kom Nur Rosyid Mubtada i S.Kom Setiawardhana, S.T Hero Yudo Martono, S.

Sistem Operasi. Proses dan Thread

ARSITEKTUR SISTEM. Alif Finandhita, S.Kom, M.T. Alif Finandhita, S.Kom, M.T 1

Secara tidak langsung, proses merupakan program yang sedang dieksekusi.

Transkripsi:

Review bab 15 "Penjadwalan Prosesor Jamak" Anggota kelompok : Andri Sattria (0606104196 - kelas A) Freddy Setiawan (0606104252 - kelas A) Hendy Kusumo Nugroho (0606101420 - kelas A) R. Brahmastro K ( 1205000746 kelas B ) Komentar umum : Menurut kami secara umum bab ini sudah cukup memadai dan mudah untuk dimengerti. jika dilihat berdasarkan buku Silberschatz bab "Penjadwalan Prosesor Jamak" pada buku MDGR ini sudah cukup bagus dan mencakup bagian-bagian penting dalam buku Silberschatz dan bahkan terdapat beberapa tambahan yang cukup bagus dan menanmbah pemahaman tentang prosesor jamak dan penjadwalannya. Hubungan dengan bab sebelumnya dan selanjutnya : Menurut hasil diskusi kami, bab "Penjadwalan Prosesor Jamak" kurang memiliki hubungan yang begitu kuat dengan bab sebelumnya yaitu "Algoritma Penjadwalan" dan bab sesudahnya yaitu "Evaluasi dan Illustrasi". maksudnya disini adalah bab "Penjadwalan Prosesor Jamak" tidak menjelaskan lebih lanjut mengenai bab "Algoritma Penjadwalan", namun kurang lebih menjelaskan mengenai hal-hal yang perlu kita ketahui mengenai apa yang terjadi pada proses penjadwalan dalam prosesor jamak dan mekanismenya. Mungkin bab ini penting sebagai selingan antara bab sebelumnya dan sesudahnya karena selain penjadwalan pada single processor, kita perlu mengenal juga penjadwalan multi processor. Kemudian untuk bab "Evaluasi dan Illustrasi" mungkin lebih berhubungan dan menjelaskan bab "Algoritma Penjadwalan" dan kurang ada hubungannya dengan bab "Penjadwalan Prosesor Jamak". Komentar kelengkapan per bagian : ->bagian 15.1 - bagian ini sudah cukup bagus karena telah mencakup definisi singkat dari prosesor jamak, alasan yang membuat kita harus mempelajari mengenai prosesor jamak dan kelebihan dari prosesor jamak dibanding prosesor tunggal. ->bagian 15.2 - bagian ini kurang dilengkapi dengan contoh OS yang menggunakan penjadwalan Master/Slave. - judulnya kurang sesuai terhadap bagian selanjutnya. - gambar yang disajikan cukup membantu dalam pemahaman.

->bagian 15.3 - penjelasan yang diberikan sudah cukup untuk dimengerti. - untuk memperjelas pemahaman dan agar lebih sesuai dengan bagian selanjutnya mungkin perlu ditambahkan ilustrasi gambar. - mungkin perlu ditambahkan contoh tambahan lagi bila perlu untuk mengikuti perkembangan jaman. ->bagian 15.4 - kurang penjelasan mengenai soft affinity karena terjadi kontradiksi dengan definisi affinity. mungkin perlu diberi contoh. - tidak dijelaskan definisi workload. ->bagian 15.5 - ada salah penulisan pada paragraf ke-2 line ke-7 terhadap kata chace. - penjelasan yang diberikan sudah cukup baik dan sudah ada ilustrasi gambarnya. - salah pada penulisan judul bagian 15.5 ->bagian 15.6 - salah penulisan terhadap kata thread level paralelism. - penjelasan sudah cukup bagus bahkan juga diterangkan mengenai keuntungan dan kerugian multi core. ->bagian 15.7 - mungkin perlu ditambahkan definisi singkat multi processor. - rangkuman sudah mencakup semua bagian sebelumnya dan dijelaskan dengan singkat. Usulan kelengkapan : ->bagian 15.1 - sementara belum ada usulan untuk melengkapi bagian ini. ->bagian 15.2 -mungkin lebih baik bagian 15.2 diberi judul "Penjadwalan Asymmetric Multiprocessing" atau "Penjadwalan AMP" agar lebih sesuai dengan bagian selanjutnya. ->bagian 15.3 -mungkin di contoh OS modern yang mendukung SMP bisa ditambahkan lagi Windows Vista. ->bagian 15.4 - perlu dijelaskan sedikit mengenai apa itu workload karena istilah ini baru muncul pada bab ini. mungkin bisa ditambahakan informasi "workload (banyaknya task yang harus diselesaikan oleh prosesor)" ->bagian 15.5 - kata chace seharusnya ditulis cache. - penulisan symetric multithreading pada judul seharusnya ditulis symmetic multithreading. ->bagian 15.6 - seharusnya thread level paralelism ditulis thread-level parallelism. ->bagian 15.7 - mungkin perlu ditambahkan definisi multi processor yaitu penambahan prosesor yang diimplementasikan dalam suatu sistem untuk mempertinggi kinerja, kehandalan, kemampuan komputasi, paralelisme, dan keekonomisan.

Dibawah kami lampirkan hasil editan bab15 yaitu penjadwalan prosesor jamak.

Bab 15. Penjadwalan Prosesor Jamak 15.1. Pendahuluan Untuk mempertinggi kinerja, kehandalan, kemampuan komputasi, paralelisme, dan keekonomisan dari suatu sistem, tambahan prosesor dapat diimplementasikan kedalam sistem tersebut. Sistem seperti ini disebut dengan sistem yang bekerja dengan banyak prosesor (prosesor jamak atau multiprocessor). Seperti halnya pada prosesor tunggal, prosesor jamak juga membutuhkan penjadwalan. Namun pada prosesor jamak, penjadwalannya jauh lebih kompleks dari pada prosesor tunggal karena pada prosesor jamak memungkinkan adanya load sharing antar prosesor yang menyebabkan penjadwalan menjadi lebih kompleks namun kemampuan sistem tersebut menjadi lebih baik. Oleh karena itu, kita perlu mempelajari penjadwalan pada prosesor jamak berhubung sistem dengan prosesor jamak akan semakin banyak digunakan karena kemampuannya yang lebih baik dari sistem dengan prosesor tunggal. Ada beberapa jenis dari sistem prosesor jamak, namun yang akan dibahas dalam bab ini adalah penjadwalan pada sistem prosesor jamak yang memiliki fungsi-fungsi prosesor yang identik (homogenous). 15.2. Penjadwalan Asymmetric Multiprocessing (Penjadwalan AMP) Pendekatan pertama untuk penjadwalan prosesor jamak adalah penjadwalan asymmetric multiprocessing atau biasa disebut juga sebagai penjadwalan master/slave. Dimana pada metode ini hanya satu prosesor (master) yang menangani semua keputusan penjadwalan pemrosesan M/K, dan aktivitas sistem lainnya dan prosesor lainnya (slave) hanya mengeksekusi proses. Metode ini sederhana karena hanya satu prosesor yang mengakses struktur data sistem dan juga mengurangi data sharing. Dalam teknik penjadwalan master/slave, satu prosesor menjaga status dari semua proses dalam sistem dan menjadwalkan kinerja untuk semua prosesor slave. Sebagai contoh, prosesor master memilih proses yang akan dieksekusi, kemudian mencari prosesor yang available, dan memberikan instruksi start processor. Prosesor slave memulai eksekusi pada lokasi memori yang dituju. Saat slave mengalami sebuah kondisi tertentu seperti meminta M/K, prosesor slave memberi interupsi kepada prosesor master dan berhenti untuk menunggu perintah selanjutnya. Perlu diketahui bahwa prosesor slave yang berbeda dapat ditujukan untuk suatu proses yang sama pada waktu yang berbeda.

Gambar 15.1. Multiprogramming dengan multiprocessor Gambar diatas mengilustrasikan perilaku dari multiprocessor yang digunakan untuk multiprogramming. Beberapa proses terpisah dialokasikan didalam memori. Ruang alamat proses terdiri dari halaman-halaman sehingga hanya sebagian saja dari proses tersebut yang berada dalam memori pada satu waktu. Hal ini memungkinkan banyak proses dapat aktif dalam sistem. 15.3. Penjadwalan Symmetric Multiprocessing (Penjadwalan SMP) Penjadwalan SMP (Symmetric multiprocessing) adalah pendekatan kedua untuk penjadwalan prosesor jamak. Dimana setiap prosesor menjadwalkan dirinya sendiri (self scheduling). Semua proses mungkin berada pada antrian ready yang biasa, atau mungkin setiap prosesor memiliki antrian ready tersendiri. Bagaimanapun juga, penjadwalan terlaksana dengan menjadwalkan setiap prosesor untuk memeriksa antrian ready dan memilih suatu proses untuk dieksekusi. Jika suatu sistem prosesor jamak mencoba untuk mengakses dan mengupdate suatu struktur data, penjadwal dari prosesor-prosesor tersebut harus diprogram dengan hati-hati; kita harus yakin bahwa dua prosesor tidak memilih proses yang sama dan proses tersebut tidak hilang dari antrian. Secara virtual, semua sistem operasi modern mendukung SMP, termasuk Windows XP, Windows 2000, Windows Vista, Solaris, Linux, dan Mac OS X.

Gambar 15.2. Multiprogramming dengan Symmetric Multiprocessing Affinity dan Load Ballancing Affinity Data yang paling sering diakses oleh beberapa proses akan memadati cache pada prosesor,sehingga akses memori yang sukses biasanya terjadi di memori cache. Namun, jika suatu proses. berpindah dari satu prosesor ke prosesor lainnya akan mengakibatkan isi dari cache memori yang dituju menjadi tidak valid, sedangkan cache memori dari prosesor asal harus disusun kembali populasi datanya. Karena mahalnya invalidating dan re-populating dari cache, kebanyakan sistem SMP mencoba untuk mencegah migrasi proses antar prosesor sehingga menjaga proses tersebut untuk berjalan di prosesor yang sama. Hal ini disebut afinitas prosesor (processor affinity).

Ada dua jenis afinitas prosesor, yakni: Soft affinity yang memungkinkan proses berpindah dari satu prosesor ke prosesor yang lain, dan Hard affinity yang menjamin bahwa suatu proses akan berjalan pada prosesor yang sama dan tidak berpindah. Contoh sistem yang menyediakan system calls yang mendukung hard affinity adalah Linux. 15.4. Load Balancing Dalam sistem SMP, sangat penting untuk menjaga keseimbangan workload (banyaknya task yang harus diselesaikan oleh prosesor) antara semua prosesor untuk memaksimalkan keuntungan memiliki multiprocessor. Jika tidak, mungkin satu atau lebih prosesor idle disaat prosesor lain harus bekerja keras dengan workload yang tinggi. Load balancing adalah usaha untuk menjaga workload terdistribusi sama rata untuk semua prosesor dalam sistem SMP. Perlu diperhatikan bahwa load balancing hanya perlu dilakukan pada sistem dimana setiap prosesor memiliki antrian tersendiri (private queue) untuk proses-proses yang berstatus ready. Pada sistem dengan antrian yang biasa (common queue), load balancing tidak diperlukan karena sekali prosesor menjadi idle, prosesor tersebut segera mengerjakan proses yang dapat dilaksanakan dari antrian biasa tersebut. Perlu juga diperhatikan bahwa pada sebagian besar sistem operasi kontemporer mendukung SMP, jadi setiap prosesor bisa memiliki private queue. Ada dua jenis load balancing, yakni: Push migration, pada kondisi ini ada suatu task spesifik yang secara berkala memeriksa load dari tiap-tiap prosesor. Jika terdapat ketidakseimbangan, maka dilakukan perataan dengan memindahkan( pushing) proses dari yang kelebihan muatan ke prosesor yang idle atau yang memiliki muatan lebih sedikit. Pull migration, kondisi ini terjadi saat prosesor yang idle menarik (pulling) proses yang sedang menunggu dari prosesor yang sibuk.

Kedua pendekatan tersebut tidak harus mutually exclusive dan dalam kenyataannya sering diimplementasikan secara paralel pada sistem load-balancing. Keuntungan dari affinity berlawanan dengan keuntungan dari load balancing, yaitu keuntungan menjaga suatu proses berjalan pada satu prosesor yang sama dimana proses dapat memanfaatkan data yang sudah ada pada memori cache prosesor tersebut berkebalikan dengan keuntungan menarik atau memindahkan proses dari satu prosesor ke prosesor lain. Dalam kasus system engineering, tidak ada aturan tetap keuntungan yang mana yang lebih baik. Walaupun pada beberapa sistem, prosesor idle selalu menarik proses dari prosesor nonidle sedangkan pada sistem yang lain, proses dipindahkan hanya jika terjadi ketidakseimbangan yang besar antara prosesor. 15.5 Symmetic Multithreading Sistem SMP mengizinkan beberapa thread untuk berjalan secara bersamaan dengan menyediakan banyak physical processor. Ada sebuah strategi alternatif yang lebih cenderung untuk menyediakan logical processor daripada physical processor. Strategi ini dikenal sebagai SMT (Symetric Multithreading). SMT juga biasa disebut teknologi hyperthreading dalam prosesor intel. Ide dari SMT adalah untuk menciptakan banyak logical processor dalam suatu physical processor yang sama dan mempresentasikan beberapa prosesor kepada sistem operasi. Setiap logical processor mempunyai state arsitekturnya sendiri yang mencakup general purpose dan machine state register. Lebih jauh lagi, setiap logical prosesor bertanggung jawab pada penanganan interupsinya sendiri, yang berarti bahwa interupsi cenderung dikirimkan ke logical processor dan ditangani oleh logical processor bukan physical processor. Dengan kata lain, setiap logical processor men- share resource dari physical processor-nya, seperti cache dan bus.

Gambar 15.3. Symetric Multithreading Gambar di atas mengilustrasikan suatu tipe arsitektur SMT dengan dua physical processor dengan masing-masing punya dua logical processor. Dari sudut pandang sistem operasi, pada sistem ini terdapat empat prosesor. Perlu diketahui bahwa SMT adalah fitur yang disediakan dalam hardware, bukan software, sehingga hardware harus menyediakan representasi state arsitektur dari setiap logical processor sebagaimana representasi dari penanganan interupsinya. Sistem operasi tidak perlu didesain khusus jika berjalan pada sistem SMT, akan tetapi performa yang diharapkan tidak selalu terjadi pada sistem operasi yang berjalan pada SMT. Misalnya, suatu sistem memiliki 2 physical processor, keduanya idle, penjadwal pertama kali akan lebih memilih untuk membagi thread ke physical processor daripada membaginya ke logical processor dalam physical processor yang sama, sehingga logical processor pada satu physical processor bisa menjadi sibuk sedangkan physical processor yang lain menjadi idle. Multicore Multicore microprocessor adalah kombinasi dua atau lebih prosesor independen ke dalam sebuah integrated circuit (IC). Pada umumnya, multicore mengizinkan perangkat komputasi untuk memeragakan suatu bentuk thread-level paralelism (TLP) tanpa mengikutsertakan banyak prosesor terpisah. TLP lebih dikenal sebagai chip-level multiprocessing.

Gambar 15.4. Chip CPU dual-core Keuntungan: Meningkatkan performa dari operasi cache snoop (bus snooping). Bus snooping adalah suatu teknik yang digunakan dalam sistem pembagian memori terdistribusi dan multiprocessor yang ditujukan untuk mendapatkan koherensi pada cache. Hal ini dikarenakan sinyal antara CPU yang berbeda mengalir pada jarak yang lebih dekat, sehingga kekuatan sinyal hanya berkurang sedikit. Sinyal dengan kualitas baik ini memungkinkan lebih banyak data yang dikirimkan dalam satu periode waktu dan tidak perlu sering di-repeat. Secara fisik, desain CPU multicore menggunakan ruang yang lebih kecil pada PCB (Printed Circuit Board) dibandingkan dengan desain multichip SMP. Prosesor dual-core menggunakan sumber daya lebih kecil dibandingkan dengan sepasang prosesor dual-core. Desain multicore memiliki resiko design error yang lebih rendah daripada desain single-core.

Kerugian: Dalam hal sistem operasi, dibutuhkan penyesuaian pada software yang ada untuk memaksimalkan kegunaan dari sumber daya komputasi yang disediakan oleh prosesor multicore. Kemampuan prosesor multicore untuk meningkatkan performa aplikasi juga bergantung pada jumlah penggunaan thread dalam aplikasi tersebut. Dari sudut pandang arsitektur, pemanfaatan daerah permukaan silikon dari desain single-core lebih baik daripada desain multicore. Pengembangan chip multicore membuat produksinya menjadi turun karena bertambahnya tingkat kesulitan untuk mengatur suhu pada chip yang padat. Pengaruh multicore terhadap software Keuntungan software dari arsitektur multicore adalah kode-kode dapat dieksekusi secara paralel. Dalam sistem operasi, kode-kode tersebut dieksekusi dalam thread-thread atau proses-proses yang terpisah. Setiap aplikasi pada sistem berjalan pada prosesnya sendiri sehingga aplikasi paralel akan mendapatkan keuntungan dari arsitektur multicore. Setiap aplikasi harus tertulis secara spesifik untuk memaksimalkan penggunaan dari banyak thread. Banyak aplikasi software tidak dituliskan dengan menggunakan thread-thread yang concurrent karena tingkat kesulitan yang tinggi dalam pembuatannya. Concurrency memegang peranan utama dalam aplikasi paralel yang sebenarnya. Langkah-langkah dalam mendesain aplikasi paralel adalah sebagai berikut: 1. Partitioning. Tahap desain ini dimaksudkan untuk membuka peluang awal pengeksekusian secara paralel. Fokus dari tahap ini adalah mempartisi sejumlah besar tugas dalam ukuran kecil dengan tujuan menguraikan suatu masalah menjadi butiranbutiran kecil. 2. Communication. Tugas-tugas yang telah terpartisi diharapkan dapat langsung dieksekusi secara parallel. Akan tetapi, pada umumnya tidak bisa, karena eksekusi berjalan secara independen. Pelaksanaan komputasi dalam satu tugas membutuhkan asosiasi data antara masing-masing tugas. Kemudian data harus berpindah-pindah antar tugas dalam melangsungkan komputasi. Aliran informasi inilah yang dispesifikasi dalam fase communication.

3. Agglomeration. Pada tahap ini kita pindah dari sesuatu yang abstrak ke sesuatu yang konkret. Kita tinjau kembali kedua tahap di atas dengan tujuan untuk mendapatkan algoritma pengeksekusian yang lebih efisien. Kita pertimbangkan juga apakah perlu untuk menggumpalkan (agglomerate) tugas-tugas pada fase partition menjadi lebih sedikit, dengan masing-masing tugas berukuran lebih besar. 4. Mapping. Dalam tahap yang keempat dan terakhir ini, kita menspesifikasi di mana tiap tugas akan dieksekusi. Masalah mapping ini tidak muncul pada uniprocessor yang menyediakan penjadwalan tugas. Pada sisi server, prosesor multicore menjadi ideal karena server mengizinkan banyak user untuk melakukan koneksi ke server secara simultan. Oleh karena itu, Web server dan application server mempunyai throughput yang lebih baik. 15.7. Rangkuman Penjadwalan asymmetric multiprocessing atau penjadwalan master/slave menangani semua keputusan penjadwalan, pemrosesan M/K, dan aktivitas sistem lainnya hanya dengan satu prosesor(master). Dan prosesor lainnya (slave) hanya mengeksekusi proses. SMP (Symmetric multiprocessing) adalah pendekatan kedua untuk penjadwalan prosesor jamak. Dimana setiap prosesor menjadwal dirinya sendiri(self scheduling). Load balancing adalah usaha untuk menjaga workload terdistribusi sama rata untuk semua prosesor dalam sistem SMP. Load balancing hanya perlu untuk dilakukan pada sistem dimana setiap prosesor memiliki antrian tersendiri (private queue) untuk proses-proses yang akan dipilih untuk dieksekusi. Ada dua jenis load balancing: push migration dan pull migration. Pada push migration, ada suatu task spesifik yang secara berkala memeriksa load dari tiap-tiap prosesor, jika terdapat ketidakseimbangan, maka dilakukan perataan dengan memindahkan (pushing) proses dari yang kelebihan muatan ke prosesor yang idle atau yang memiliki muatan lebih sedikit. Pull migrationterjadi saat prosesor yang idle menarik (pulling) proses yang sedang menunggu dari prosesor yang sibuk. Kedua pendekatan tersebut tidak harus mutually exclusive dan dalam kenyataannya sering diimplementasikan secara paralel pada sistem load-balancing.

Afinitas prosesor (processor affinity) adalah pencegahan migrasi proses antar prosesor sehingga menjaga proses tersebut tetap berjalan di prosesor yang sama. Ada dua jenis afinitas prosesor, yakni soft affinity dan hard affinity. Pada situasi soft affinity ada kemungkinan proses berpindah dari satu prosesor ke prosesor yang lain. Sedangkan hard affinity menjamin bahwa suatu proses akan berjalanpada prosesor yang sama dan tidak berpindah. Contoh sistem yang menyediakan system calls yang mendukung hard affinity adalah Linux. SMT (Symetric Multithreading) adalah strategi alternatif untuk menjalankan beberapa thread secara bersamaan. SMT juga biasa disebut teknologi hyperthreading dalam prosesor intel. Multicore microprocessor adalah kombinasi dua atau lebih independent processor kedalam sebuahintegrated circuit (IC). Multicore microprocessosor mengizinkan perangkat komputasi untuk memeragakan suatu bentuk thread level parallelism (TLP) tanpa mengikutsertakan banyak microprocessor pada paket terpisah. TLP lebih dikenal sebagai chip-level multiprocessing.

Rujukan [Silberschatz2002] Abraham Silberschatz, Peter Galvin, dan Greg Gagne. 2002. Applied Operating Systems. Sixth Edition. John Wiley & Sons. [Silberschatz2005] Avi Silberschatz, Peter Galvin, dan Grag Gagne. 2005. Operating Systems Concepts. Seventh Edition. John Wiley & Sons. [WEBWiki2007] Wikipedia. 2007. Multicore(Computing) http://en.wikipedia.org/wiki/multicore. Diakses 27 Februari 2007. http://www.oreilly.com/catalog/9780596514549/figs/i_mediaobject12_d1e21060.png. Diakses 4 Maret 2008. http://searchdatacenter.techtarget.com/sdefinition/0,,sid80_gci970333,00.html. Diakses 4 Maret 2008. Hak Cipta Mahasiswa Fakultas Ilmu Komputer Universitas Indonesia, peserta mata kuliah Sistem Operasi semester genap 2008 Andri Sattria ( 0606104196 ) Freddy Setiawan ( 0606104252 ) Hendy Kusumo Nugroho ( 0606101420 ) R. Brahmastro K ( 1205000746 ) Silakan menyalin, mengedarkan, dan/atau, memodifikasi dokumen ini.