Makalah GLUnix Sistem Terdistribusi
MAKALAH
“SISTEM OPERASI GLUnix”
Disusun Untuk Memenuhi Tugas Matakuliah Sistem
Terdistribusi
DISUSUN OLEH :
Asep Suharsono (15.11.0302)
PROGRAM STUDI TEKNIK INFORMATIKA
STMIK AMIKOM PURWOKERTO
2016/2017
Daftar Isi
Kata Pengantar………………………………………………………………… ………………………i
Daftar
Isi………………………… ………………………………………………… ……………….ii
BAB
I PENDAHULUAN…………………………………………………………………………….. 1
I.I Latar Belakang………………………………………………………………………………1
I.2 Rumusan Masalah………………………………………………………………………… 3
I.3 Tujuan Penulisan……………………………………………………………………………3
I.4 Manfaat Penulisan…………………………………………………………………………..3
BAB
II PEMBAHASAN……………………………………… …………………………………… 4
2.1 Sejarah Singkat……………………………………………………………………………..4
2.2 Layanan GLUnix………………………………………………………………………… 5
2.3 Penggunaan GLUnix……………………………………………………………………….7
2.4 Arsitektur GLUnix…………………………………………………………………..………8
BAB
III PENUTUP……………………………………………………………………………………9
3.1 Kesimpulan……………………………………………………………………………........9
3.2 Saran ……………………………………………………………… ………….…………9
Daftar
Pustaka.......................................................................................................................................10
KATA PENGANTAR
Segala
puji dan syukur bagi Allah SWT yang telah memberikan kemampuan, kekuatan, serta
keberkahan baik waktu, tenaga, maupun pikiran kepada penulis sehingga dapat
menyelesaikan makalah yang berjudul “SISTEM
OPERASI GLUnix” tepat pada waktunya.
Dalam penyusunan
makalah ini, penulis banyak mendapat tantangan dan hambatan akan tetapi dengan
bantuan dari berbagai pihak tantangan itu bisa teratasi. Oleh karena itu,
penulis mengucapkan terima kasih yang sebesar-besarnya kepada bapak Abednego Septiadi, M.Kom selaku
dosen Sistem Terdistibusi
atas bimbingan, pengarahan, dan kemudahan yang telah diberikan kepada penulis
dalam pengerjaan makalah ini.
Penulis menyadari bahwa
masih banyak kekurangan pada penulisan makalah ini. Maka dari itu, saran dan
kritik yang membangun sangat penulis harapkan dari pembaca sekalian. Penulis
berharap semoga makalah ini dapat bermanfaat bagi siapa saja yang membacanya.
Purwokerto,
25 April 2017
Penulis
BAB
I
PENDAHULUAN
1.1
Latar
belakang
Sistem operasi terdistribusi
adalah salah satu implementasi dari sistem terdistribusi, di mana sekumpulan
komputer dan prosesor yang heterogen terhubung dalam satu jaringan.
Koleksi-koleksi dari objek-objek ini secara tertutup bekerja secara
bersama-sama untuk melakukan suatu tugas atau pekerjaan tertentu. Tujuan
utamanya adalah untuk memberikan hasil secara lebih, terutama dalam:
– file system
– name space
– Waktu pengolahan
– Keamanan
– Akses ke seluruh
resources, seperti prosesor, memori, penyimpanan sekunder, dan perangakat
keras.
Sistem operasi terdistribusi
bertindak sebagai sebuah infrastruktur/rangka dasar untuk network-transparent
resource management. Infrastruktur mengatur lowlevel resources (seperti
Processor, memory, network interface dan peripheral device yang lain) untuk
menyediakan sebuah platform untuk pembentukan/penyusunan higher-level
resources(seperti Spreadsheet, electronic mail messages, windows).
Sistem Operasi Jaringan Versus
Sistem Operasi Terdistribusi Suatu sistem operasi terdistribusi yang sejati
adalah yang berjalan pada beberapa buah mesin, yang tidak melakukan sharing
memori, tetapi terlihat bagi user sebagai satu buah komputer single. Contoh
dari sistem seperti ini adalah GLUnix.
Sistem operasi terdistribusi
berbeda dengan sistem operasi jaringan. Untuk dapat membedakannya, sistem
operasi jaringan memiliki ciri-ciri sebagai berikut:
a)
Tiap komputer memiliki sistem
operasi sendiri
b)
Tiap personal komputer memiliki
sistem file sendiri, di mana data-data disimpan
c)
Sistem operasi tiap komputer dapat
berbeda-beda atau heterogen
d)
Pengguna harus memikirkan
keberadaan komputer lain yang terhubung, dan harus dapat saling mengakses, biasanya menggunakan
remote login (telnet)
e)
File system dapat digunakan dengan
dukungan NFS
Manfaat Sistem Operasi
Terdistribusi
Sistem operasi terdistribusi memiliki manfaat
dalam banyak sistem dan dunia komputasi yang luas. Manfaat-manfaat ini termasuk
dalam sharing resource, waktu komputasi dan komunikasi.
a)
Shared Resource
Walaupun perangkat sekarang sudah memiliki
kemampuan yang cepat dalam proses-proses komputasi, atau misal dalam mengakses
data, tetapi pengguna masih saja menginginkan sistem berjalan dengan lebih
cepat. Apabila hardware terbatas, kecepatan yang diinginkan user dapat di atasi
dengan menggabung perangkat yang ada dengan sistem DOS.
b)
Manfaat Komputasi
Salah satu keunggulan sistem operasi
terdistribusi ini adalah bahwa komputasi berjalan dalam keadaan paralel. Proses
komputasi ini dipecah dalam banyak titik, yang mungkin berupa komputer pribadi,
prosesor tersendiri, dan kemungkinan perangkat prosesor-prosesor yang lain.
Sistem operasi terdistribusi ini bekerja baik dalam memecah komputasi ini dan
baik pula dalam mengambil kembali hasil komputasi dari titik-titik cluster
untuk ditampilkan hasilnya.
c)
Reliabilitas
Fitur unik yang dimiliki oleh DOS ini adalah
reliabilitas. Berdasarkan design dan implementasi dari design sistem ini, maka
hilangnya satu node tidak akan berdampak terhadap integritas sistem. Hal ini
berbeda dengan PC, apabila ada salah satu hardware yang mengalami kerusakan,
maka sistem akan berjalan tidak seimbang, bahkan sistem bisa tidak dapat
berjalan atau mati.
d)
Komunikasi
Sistem operasi terdistribusi biasanya berjalan
dalam jaringan dan biasanya melayani koneksi jaringan. Sistem ini biasanya
digunakan user untuk proses networking. Uses dapat saling bertukar data, atau
saling berkomunikasi antara titik baik secara LAN maupun WAN.
Pada kesempatan kali
ini kami akan membahas lebih spesifik yaitu mengenai salah satu system operasi
dari sistem terdistribusi yaitu GLUnix (University of
California, Berkeley).
1.2 Rumusan
Masalah
1.
Apa
itu GLUnix?
2.
Bagaimana
arsitektur GLUnix?
3.
Bagamana
sejarah GLUnix?
4.
Bagaimana
penggunaan GLUnix?
1.3 Tujuan
Penulisan
Adapun tujuan yang ingin dicapai dalam
penulisan makalah ini ini adalah
1. Mengetahui
Sistem operasi dalam system terdistribusi.
2. Mengetahui
sejarah, arsitektur dan penggunaan GLUnix sebagai
system operasi pada system terdistribusi.
1.4
Manfaat
Penulisan
Adapun manfaat yang ingin dicapai dalam
penulisan makalah ini adalah
1. Untuk
mengetahui lebih mengenai system
operasi terdistribusi khususnya system operasi GLUnix.
2. Untuk
memenuhi tugas terstruktur mata kuliah Sistem
Terdistribusi.
BAB
II
PEMBAHASAN
2.1 Sejarah Singkat
GLUnix lahir pada tahun 1993 sebagai sistem operasi layer global untuk project U.C
Berkeley NOW.
Tujuan utama dari project NOW adalah untuk membangun sebuah platform yang secara bersamaan
dapat mengeksekusi paralel interaktif dan pekerjaan berurutan
dengan mengabaikan
perlambatan khususnya untuk kelas dari beban kerja. Project NOW harus menjamin sebuah workstation memiliki kinerja
yang bagus untuk setiap penggunanya, dengan kemungkinan dapat merekrut semua cluster sumber
daya yang tersedia
(CPU, disk, memori, jaringan) untuk program paralel
bila diperlukan. Kemungkinan yang mendukung program paralel yang terintegrasi dan beban kerja sekuensial pertama kali dipelajari oleh simulasi [6] dari pengukuran dari 32 node CM 5 di Los Alamos National
Laboratory dan cluster
70 node workstation di U.C
Berkeley. Studi ini menyimpulkan bahwa pada siklus menganggur pada workstation cluster 60-node bisa mendukung
kedua paralel dan beban kerja sekuensial dengan perlambatan minimal.
Berikut ini kami mengidentifikasi beberapa goals dari NOW environment untuk sistem software cluster :
·
Portabilitas: Untuk menjaga
pertumbuhan hardware yang berevolusi
dan untuk memungkinkan cluster yang heterogen,
sistem harus mampu untuk menjadi cepat dan mudah
portabel untuk sistem operasi baru atau platform perangkat keras yang baru kedepannya.
·
Ketepatan waktu: Sebuah implementasi awal dari perangkat lunak harus bias cepat dan menjalankan kebutuhan pengguna sesegera mungkin. Sistem yang lengkap harus bias terselesaikan oleh NOW project.
·
Binary Compatibility: Sebuah system harus menyediakan
eksekusi terkecil,
keseimbangan beban, dan penjadwalan bersama tanpa harus memodifikasi aplikasi atau relinking. Aplikasi yang ada harus mampu memberikan keuntungan yang jelas dari fitur-fitur baru.
·
High
Availability: Ketika sebuah node crash, sistem
harus terus beroperasi. Namun, pekerjaan yang gagal
pada sebuah node dapat dihentikan. Sistem ini
dapat memberikan mekanisme untuk toleransi
kesalahan.
·
Kinerja: Aplikasi sekuensial dan interaktif
harus dapat
berjalan segera jika sebuah single
dedicated workstation tersedia.
Demikian pula, beban kerja paralel harus dijalankan ketika supercomputer tersedia. Kemudian kami identifikasikan satu set fitur yang harus
tersedia oleh system yaitu:
·
Transparant Remote Execution: Aplikasi harus menyadari ketika mereka sedang mengeksekusi
node-node terpencil.
Mereka harus mempertahankan akses ke sumber daya termasuk segmen memori,
proses, perangkat, file, dll.
·
Penyeimbang beban: Sistem ini harus memberikan
kebijakan penempatan kerja cerdas untuk menentukan lokasi terbaik
pada awal mengeksekusi setiap pekerjaan.
Sistem ini juga harus mampu memindahkan segala
kerja baik ketika cluster atau node menjadi tidak seimbang maka secara dinamis akan ditambahkan
atau dihapus
dari sistem.
·
Coschedulingof Jobs Paralel:
sebuah
system paralel mensyaratkan
bahwa individual processes dapat dijadwalkan
pada waktu
yang bersama.
2.2 Layanan
GLUnix
Layanan utama yang disediakan oleh GLUnix adalah
eksekusi jarak jauh dari kedua pekerjaan paralel
dan sekuensial. Bagian
ini menjelaskan abstraksi yang disediakan oleh GLUnix, bagaimana mereka beroperasi dalam pelayanan eksekusi
jarak jauh, dan interface untuk
mengakses abstraksi dan layanan ini.
Ø GLUnix Abstraksi
Untuk memberikan eksekusi jarak jauh dari kedua pekerjaan paralel
dan sekuensial, GLUnix
meluaskan beberapa abstraksi
UNIX yang ada dan memperkenalkan abstraksi baru, meminjam berat dari MPP environments seperti yang dari CM-5. Abstraksi baru termasuk program
jaringan dan Network Program Identifier ( NPIDs) untuk pekerjaan GLUnix dan Virtual Node Numbers
(VNNs) untuk memberikan
nama pada node – node yang berjalan pada network
process. Abstraksi
yang ada pada pengiriman sinyal untuk aplikasi
remote dan I / O redirection diperpanjang untuk mendukung pekerjaan paralel dan terpencil. GLUnix menyediakan pemrograman dan command line-interfaces untuk mengakses abstraksi
tersebut.
Ø Program jaringan
Sebuah program jaringan
adalah sebuah proses mengeksekusi pekerjaan paralel atau sekuensial
yang dikontrol oleh GLUnix. Program jaringan dapat ditemukan
di mana saja di cluster
dan diidentifikasi dengan menggunakan 32-bit, cluster
Network Program Identifier( NPID) yang ditugaskan dan dilacak oleh GLUnix. Menggunakan lebar cluster,pengidentifikasi
lokasi independent memberikan
tingkat virtualisasi yang diperlukan yang memungkinkan eksekusi jarak jauh transparan dan perpindahan
proses secara dinamis.
Ø Program paralel dan Virtual
Nomor Node
GLUnix mendukung program paralel
yang menggunakan model pemrograman Single-Program-Multiple-Data
(SPMD). Dalam model SPMD, koleksi bagian proses dari N berjalan
pada biner aplikasi yang sama dan
bekerja sama pada perhitungan tunggal. Sebuah nomor dari individual proses terdiri dari
program parallel disebut sebagai derajat parallel dari sebuah program. Proses
dengan program parallel dibedakan dari penggunaaan virtual node numbers (VNNs), Sama seperti NPIDs, VNNs adalah lokasi independen dan memungkinkan penempatan proses yang transparan dan perpindahan dalam cluster GLUnix.
Ø Pengiriman sinyal
Dalam UNIX, sinyal yang digunakan untuk menunjukkan kondisi
pengecualian (kesalahan halaman, I / O error, dll) atau untuk pengendalian proses (untuk menangguhkan atau mengakhiri program yang berjalan). Secara default, sinyal di GLUnix dikirim ke seluruh NPID; yaitu, setiap proses individu
dalam program paralel akan menerima sinyal yang sama dalam urutan yang sama. GLUnix juga mendukung sinyal semantik tambahan, misalnya, sinyal proses individual dari program paralel.
Ø I
/ O Redirection
GLUnix memperluas standar abstraksi UNIX baik input maupun
output byte stream untuk menjalankan program sekuensial dan paralel jarak jauh, termasuk file redirection
dan pipa - pipa. Input
yang diberikan untuk program GLUnix, baik dari keyboard konsol, sebuah file,
atau pipa, direplikasi secara default untuk semua proses dari program paralel. Secara analog, keluaran dari program jaringan multiplexing untuk konsol
pengguna, sebuah fi le, atau pipa di manner UNIX yang normal.
Stream dari remote proses disimpan berbeda seperti
pada UNIX yang basik, yang memungkinkan pengguna
untuk pipa ke file sementara tetap terhubung
ke konsol. GLUnix kemudian menambahkan tambahan
I / Omodes program I / O jaringan. Setiap baris output dari proses terpencil paralel programm didahului
dengan VNN dari proses yang yang mana dihasilkan dari program tersebut.
Ø Dukungan Program Paralel
Sama seperti sistem operasi
MPP, GLUnix menyediakan dukungan penjadwalan khusus untuk program paralel
dalam bentuk hambatan
dan penjadwalan
bersama. Hambatan yang diperlukan untuk menyinkronkan proses untuk
dapat bekerja sama, memungkinkan programmer untuk membuat
asumsi tentang keadaan
perhitungan dan data dalam proses
lainnya. Ketika proses
individu dari programenters
paralel terhalang, maka diblokir dahulu sampai semua proses lain dari program
ini juga telah memasuki program yang terhalang. Setelah itu, semua proses dalam program dilepaskan dari penghalang dan melanjutkan
eksekusi.
Coscheduling, atau penjadwalan secara bersama - sama,
memastikan bahwa semua proses pekerjaan
paralel tunggal dijadwalkan secara bersamaan dan waktu eksekusi terkoordinasi antara pekerjaan paralel yang berbeda.
Sejumlah studi menunjukkan bahwa kurangnya coscheduling mengarah kepada eksekusi yang tidak dapat diterima untuk proses yang sering berkomunikasi. Perlambatan kadang terjadi ketika sebuah proses mencoba
untuk berkomunikasi atau menyinkronkan dengan proses yang sedang yang sudah terjadwal.
2.3
Penggunaan GLUnix
GLUnix sudah
berjalan dan digunakan setiap hari oleh Deprtment Barkeley CS sejak September
1995. GLUnix berjalan
pada Solaris versi 2,3-2,6 dan port dasar untuk Linux di
x86 juga telah selesai. Pada Januari 1998, GLUnix telah memiliki lebih dari 160 pengguna selama seumur hidup dan telah menjalankan 1,7 juta
pekerjaan. GLUnix telah digunakan sehari-hari oleh kedua pengguna produksi serta pengembang sistem.
Statistik monitoring diambil selama 100 hari menunjukkan bahwa lebih dari 97% dari waktu itu memberikan umpan balik positif untuk
penggunaan GLUnix. GLUnix telah diaktifkan
atau dibantu penelitian sistem dan pengembangan program di sejumlah daerah. GLUnix telah digunakan
oleh lulusan Arsitektur
Paralel dan Sekolah Lanjutan Arsitektur dan oleh departemen penelitian lain di Berkeley.
Implementasi paralel bahasa pemrograman SplitC dan Message Passing Interface
(MPI) menggunakan GLUnix.
Sejumlah program interesting parallel telah dilaksanakan menggunakan fasilitas ini, termasuk:
NOW [4], yang mendapatkan rekor untuk waktu tercepat di dunia (8,4 GB di bawah oneminute), p-murphi
[19], versi paralel protokol populer alat verifikasi kation, dan 32K dengan 32K pelaksanaan LINPACK yang dicapai 10,1 GFlops 100 prosesor UltraSPARC-I, menempatkan Berkeley NOW 345 dalam daftar 500 superkomputer tercepat
di dunia pada saat itu.
Penggunaan terbesar
dari cluster GLUnix dan Berkeley NOW yaitu sebagai
server menghitung untuk penyulingan gambar thumbnail off dari web 6. Penggunaan paling umum kedua cluster diatas yaitu sebagai server kompilasi
paralel melalui utilitas. Cluster telah digunakan untuk mencapai rekor dunia dalam menyortir disk-to-disk, untuk simulasi dari log canggih
file sistem penelitian terstruktur, partikel
dua dimensi dalam plasma sel, Fourier cepat pengubah tiga dimensi, dan algoritma inferensi
genetik.
GLUnix juga ditemukan sangat berguna untuk pengujian dan administrasi sistem. Awalnya, stress testing paralel jaringan Myrinet dan Pesan Active dicapai menggunakan sebuah script yang dibangun dengan GLUnix menjadi stabil dalam penggunaan sehari-hari, script dengan cepat
ditinggalkan demi peningkatan kinerja dan kontrol
pekerjaan fasilitas GLUnix
tersebut. Dari titik itu, pengujian paralel
komponen klaster berjalan
pada kecepatan yang jauh lebih
cepat. Administrator sistem dan pengembang menggunakan GLUnix untuk menjalankan program ini secara
bersamaan pada semua node di cluster untuk melaksanakan berbagai
tugas administratif.
Fasilitas GLUnix bets telah digunakan
untuk mengelola jumlah yang sangat besar pendek dan berjalan pada simulasi tingkat medium, seperti ribuan simulasi yang memerlukan
investigasi secara implisit.
2.4 Arsitektur GLUnix
Bagian ini memberikan gambaran
tentang arsitektur GLUnix.
Kita mulai dengan asumsi dasar dari desain, dan kemudian mendiskusikan desain sendiri dan memberikan beberapa
contoh ilustrasi bagaimana
sistem bekerja. Kami kemudian berbagi beberapa pelajaran
rekayasa perangkat lunak yang kita pelajari dari membangun sistem.
Dalam membangun
GLUnix, pihak developer membuat dua asumsi utama tentang target yang ingin dicapai yaitu :
shared file systems dan sistem operasi yang homogen. GLUnix mengasumsikan bahwa setiap node dari klaster file sistem yang sama, membuat nama path berlaku pada semua node. Selanjutnya, GLUnix menggunakan file bersama untuk menyimpan alamat jaringan dari master GLUnix terpusat
untuk bootstrapping. Klaster ini saat menggunakan file sistem NFS-mount
untuk tujuan ini.
Asumsi kedua adalah bahwa sistem
operasi dan format biner akan homogen di semua node di dalam Klaster. Artinya, Klaster GLUnix tunggal dapat mencakup SPARCStation 10 ini, 20-an, dan UltraSPARCs
menjalankan
Solaris 2,3-2,6,
tetapi tidak termasuk SPARC dan 80x86machines. Asumsi ini menyederhanakan penerapan GLUnix dengan menghilangkan kesulitan eliminasi dengan byte ordering, ukuran tipe data, dan tata letak struktur data untuk layanan komunikasi GLUnix internal
dan memastikan bahwa binari aplikasi dapat berjalan pada mesin apapun di Klaster.
Mengaktifkan dukungan multiplatform untuk GLUnix akan membutuhkan port untuk jaringan mekanisme transport data seperti
XDR dan mengembangkan mekanisme untuk mendukung binari multiplatform.
GLUnix terdiri
dari tiga komponen:
master per-cluster, daemon
per-node, dan library per-aplikasi. Master GLUnix terutama
bertanggung jawab untuk menyimpan dan mengelola klaster
(misalnya, informasi beban untuk setiap
node dan informasi proses) dan untuk membuat alokasi
sumber daya terpusat (misalnya, penempatan kerja dan coscheduling). Daemon GLUnix yang berjalan pada setiap node melakukan tugas pengumpulan informasi
untuk master, memeriksa informasi beban lokal setiap
beberapa detik dan memberitahukan master terhadap segala perubahan. Daemon juga berfungsi sebagai
remote proxy untuk master
dalam memulai pekerjaan dan dalam mendeteksi pemutusan kerja. Library GLUnix mengimplementasikan GLUnix API, memberikan cara untuk aplikasi
untuk meminta layanan GLUnix. Membatalkan modifikasi aplikasi yang belum dikaitkan dengan
Library GLUnix masih dapat dijalankan dari jarak jauh melalui GLUnix dan masih dapat menggunakan fasilitas standard UNIX seperti I / Oand kontrol
pekerjaan, tetapi tidak
akan memiliki akses
ke fitur klaster
canggih (seperti eksekusi
paralel) yang disediakan oleh API GLUnix. Pekerjaan sekuensial dan paralel disampaikan kepada
GLUnix dengan proses startup yang terkait dengan Library GLUnix. Proses startup mengeluarkan permintaan eksekusi untuk master GLUnix dan kemudian bertindak
sebagai proxy lokal untuk pekerjaan
pengguna, menangkap sinyal kontrol pekerjaan dan meneruskannya ke master
dan menerima I / O dari data program terpencil kemudian menampilkan nya untuk pengguna.
BAB
III
PENUTUP
3.1
Kesimpulan
Lapisan
sistem GLUnix operasi dirancang dan dibangun sebagai user-level, terpusat,
sistem-event untuk menyediakan sistem perangkat lunak untuk jaringan dari
workstation. Pengukuran master GLUnix terpusat menunjukkan bahwa desain
terpusat mendapat skala yang baik pada jaringan workstation, requiringonly 220 μ sec / node
komputasi.
GLUnix pada awalnya ditujukan untuk mendukung berurutan
interaktif dan program paralel melalui eksekusi jarak jauh yang transparan dan load balancing. Meskipun sistem ini telah mendukung produksi yang baik
dan riset lebih dari 160 pengguna lebih dari dua setengah tahun, hal itu tidak
sepenuhnya berhasil dalam memenuhi semua tujuannya. Sejumlah keterbatasan
menghalangi pihak
developer untuk menyediakan akses transparan ke sumber daya
cluster dalam implementasi user-level sepenuhnya. Untuk mengatasi keterbatasan dalam pendekatan user-level, maka developer
sedang membangun SLIC, toolkit kernel kecil yang aman akan mengekspor abstraksi
sistem yang diperlukan untuk tingkat pengguna.
3.2
Saran
Untuk kedepannya diharapkan
system operasi system terdistribusi khususnya GLUnix dapat digunakan dan
berfungsi dengan baik tanpa kendala. Kami berharap juga edukasi mengenai GLUnix yang
sekarang ini sangat minim, kedepannya dapat lebih luas dan dapat dipelajari
pada berbagai jenjang pendidikan.
Daftar
Pustaka
-
Douglas P. Ghormley, David Petrou, etc. 1998. GLUnix:
a Global Layer Unix for a Network of Workstations
-
Musyyanah. 2016. Sistem Operasi Terdistribusi
http://blog.stikom.edu/musayyanah/files/2016/04/Sistem-Operasi-Terdistribusi.pdf
Komentar
Posting Komentar