c.
Mengelola Cluster Server
Sejauh ini pendekatan yang paling umum untuk mengelola cluster server untuk
memperpanjang mengelola fungsi dari sebuah komputer tunggal untuk bahwa dari
cluster. Dalam nya bentuk yang paling primitif, ini berarti bahwa seorang
administrator dapat login ke sebuah node dari terpencil klien dan menjalankan
perintah mengelola lokal untuk memonitor, install, dan mengubah komponen.
Untuk menyembunyikan kenyataan bahwa Anda perlu untuk login ke node dan
bukannya menyediakan sebuah antarmuka di mesin administrasi yang memungkinkan
untuk mengumpulkan informasi dari satu atau lebih server, upgrade komponen,
menambah dan menghapus node, dll Keuntungan utama dari pendekatan kedua adalah
bahwa operasi kolektif, yang beroperasi pada sekelompok server, dapat lebih
mudah disediakan. Jenis mengelola cluster server secara luas diterapkan dalam
praktek, dicontohkan oleh manajemen software seperti Sistem Manajemen Cluster
dari IBM (Hochstetler dan Beringer, 2004).
Namun, segera sebagai cluster tumbuh melampaui beberapa puluh node, jenis
manajemen tidak cara untuk pergi. Banyak pusat data kebutuhan untuk mengelola
ribuan server, diatur dalam cluster banyak tetapi semua operasi bersama-sama.
Melakukan hal ini dengan cara server administrasi terpusat hanya keluar dari
pertanyaan.
Selain itu dapat dengan mudah dilihat bahwa kelompok yang sangat besar perlu
perbaikan terus menerus manajemen (termasuk upgrade). Ternyata, dukungan untuk
cluster server yang sangat besar hampir selalu ad hoc. Ada berbagai aturan
praktis yang harus dipertimbangkan (Brewer, 2001), namun tidak ada pendekatan
sistematis untuk berurusan dengan manajemen sistem besar. Manajemen cluster
masih sangat banyak dalam masa pertumbuhan, meskipun dapat diharapkan bahwa
pengelolaan diri solusi seperti yang dibahas dalam bab sebelumnya akhirnya akan
menemukan jalan mereka di daerah ini, setelah lebih banyak pengalaman dengan
mereka telah peroleh.
G. CODE MIGRATION
a.
Pendekatan Kode Migrasi
Secara tradisional, kode migrasi dalam sistem terdistribusi terjadi dalam
bentuk proses migrasi di mana seluruh proses telah dipindahkan dari satu mesin
ke mesin lain. Memindahkan proses yang berjalan ke mesin yang berbeda adalah
tugas yang mahal dan rumit, dan ada yang lebih baik menjadi alasan yang baik
untuk melakukannya.
Alasan yang selalu kinerja. Ide dasarnya adalah bahwa sistem secara keseluruhan
kinerja dapat ditingkatkan jika proses dipindahkan dari berat-dimuat untuk
ringan-load mesin. Load sering dinyatakan dalam antrian CPU panjang atau
penggunaan CPU, tetapi lain indikator kinerja yang digunakan juga.
Algoritma distribusi beban dengan mana
keputusan yang dibuat mengenai alokasi dan redistribusi tugas sehubungan dengan
satu set prosesor, memainkan peran penting peran dalam sistem
menghitung-intensif. Namun, dalam banyak modem didistribusikan sistem,
mengoptimalkan kapasitas komputasi kurang masalah daripada, misalnya, mencoba
untuk meminimalkan komunikasi. Selain itu, karena heterogenitas yang mendasari
platform dan jaringan komputer, peningkatan kinerja melalui migrasi kode sering
didasarkan pada penalaran kualitatif bukan model matematika.
Pertimbangkan, sebagai contoh, sistem client-server di mana server mengelola
besar database. Jika sebuah aplikasi klien perlu banyak melakukan operasi
database melibatkan sejumlah besar data, mungkin lebih baik untuk mengirimkan
bagian dari aplikasi klien ke server dan mengirim hanya hasil di jaringan. Jika
tidak, jaringan dapat dibanjiri dengan transfer data dari server ke klien.
Dalam kasus ini, migrasi kode didasarkan pada asumsi bahwa pada umumnya masuk
akal untuk memproses data yang dekat dengan tempat data tersebut berada. Ini
alasan yang sama dapat digunakan untuk migrasi bagian dari server ke klien.
Sebagai contoh, di banyak aplikasi database interaktif, klien perlu mengisi
formulir yang kemudian diterjemahkan menjadi serangkaian operasi database.
Pengolahan bentuk di sisi client, dan mengirimkan formulir yang telah diisi
hanya ke server, dapat kadang-kadang menghindari bahwa jumlah yang relatif
besar pesan kecil perlu menyeberang jaringan. Hasilnya adalah bahwa klien
merasakan kinerja yang lebih baik, sementara pada saat yang sama server
menghabiskan waktu kurang pada pengolahan bentuk dan komunikasi. Dukungan untuk
migrasi kode juga dapat membantu meningkatkan kinerja dengan memanfaatkan
paralelisme, tetapi tanpa kerumitan yang biasa berhubungan dengan pemrograman
paralel. Sebuah contoh yang khas adalah mencari informasi di Web. Hal ini
relatif sederhana untuk mengimplementasikan permintaan pencarian dalam bentuk
program mobile kecil, yang disebut ponsel agen, yang bergerak dari situs ke
situs. Dengan membuat beberapa salinan dari suatu program, dan mengirim off
setiap situs yang berbeda, kita mungkin dapat mencapai speedup linier
dibandingkan dengan hanya menggunakan contoh program tunggal.
b. Migration in Heterogeneous Systems
Masalah-masalah yang berasal dari heterogenitas yang dalam banyak hal sama
dengan orang-orang dari portabilitas. Tidak mengherankan, solusi juga sangat
mirip. Sebagai contoh, pada akhir 1970-an, solusi sederhana untuk mengurangi
banyak masalah Pascal port ke mesin yang berbeda adalah untuk menghasilkan
mesin-independen antara kode untuk sebuah mesin virtual abstrak (Barron, 1981).
Bahwa mesin, dari Tentu saja, akan perlu untuk diterapkan pada banyak platform,
tetapi kemudian akan memungkinkan Program pascal untuk dijalankan di mana saja.
Meskipun ide sederhana ini secara luas digunakan untuk beberapa tahun, tidak
pernah benar-benar tertangkap sebagai solusi umum untuk portabilitas masalah
bagi bahasa lain, terutama C.
Sekitar 25 tahun kemudian, kode migrasi dalam sistem heterogen sedang diserang
oleh bahasa scripting dan bahasa sangat portabel seperti Java. Dalam Intinya,
solusi ini mengadopsi pendekatan yang sama seperti yang dilakukan untuk port
Pascal.
Semua solusi tersebut memiliki kesamaan bahwa mereka bergantung pada mesin
virtual (proses) bahwa baik secara langsung menafsirkan kode sumber (seperti
dalam kasus bahasa scripting), atau jika menafsirkan kode menengah yang
dihasilkan oleh kompilator (seperti di Java). Menjadi di tempat yang tepat pada
waktu yang tepat juga penting bagi pengembang bahasa Perkembangan terakhir
telah mulai melemahkan ketergantungan pada pemrograman bahasa. Secara khusus,
solusi telah diusulkan tidak hanya untuk bermigrasi proses, namun untuk
bermigrasi lingkungan komputasi keseluruhan. Ide dasarnya adalah untuk kotakkan
lingkungan secara keseluruhan dan untuk menyediakan proses di bagian yang sama
mereka sendiri melihat pada lingkungan komputasi mereka.
Jika kompartementalisasi dilakukan dengan
benar, maka ada kemungkinan untuk memisahkan bagian dari sistem yang mendasari
dan benar-benar bermigrasi ke mesin lain. Dalam cara ini, migrasi sebenarnya
akan memberikan bentuk mobilitas yang kuat untuk proses, karena mereka kemudian
dapat dipindahkan pada setiap saat selama eksekusi mereka, dan terus di mana
mereka meninggalkan off saat migrasi selesai. Selain itu, banyak seluk-beluk
terkait dengan proses migrasi sementara mereka memiliki binding untuk sumber
daya lokal mungkin diselesaikan, karena ini binding dalam banyak kasus hanya
diawetkan. Sumber daya lokal, yaitu, sering bagian dari lingkungan yang sedang
bermigrasi.
Ada beberapa alasan untuk ingin untuk
bermigrasi lingkungan secara keseluruhan, namun mungkin yang paling penting
adalah bahwa hal itu memungkinkan kelanjutan dari operasi sementara mesin perlu
shutdown. Sebagai contoh, dalam sebuah cluster server, sistem administrator
dapat memutuskan untuk mematikan atau mengganti mesin, tetapi tidak perlu
menghentikan semua proses yang berjalan. Sebaliknya, untuk sementara dapat
membekukan lingkungan, memindahkannya ke komputer lain (di mana ia duduk di
samping lainnya, lingkungan yang ada), dan hanya mencairkan lagi. Jelas, ini
merupakan cara yang sangat ampuh untuk mengelola lama berjalan menghitung
lingkungan dan proses mereka.
Mari kita perhatikan salah satu contoh spesifik dari migrasi mesin virtual, Dalam hal ini, penulis terkonsentrasi pada real-time migrasi sistem operasi virtual, biasanya sesuatu yang akan nyaman dalam cluster server mana kopling ketat dicapai melalui tunggal, berbagi jaringan area lokal. Dalam keadaan ini, migrasi melibatkan dua besar masalah: migrasi seluruh memori gambar dan migrasi binding ke sumber daya lokal.
Mari kita perhatikan salah satu contoh spesifik dari migrasi mesin virtual, Dalam hal ini, penulis terkonsentrasi pada real-time migrasi sistem operasi virtual, biasanya sesuatu yang akan nyaman dalam cluster server mana kopling ketat dicapai melalui tunggal, berbagi jaringan area lokal. Dalam keadaan ini, migrasi melibatkan dua besar masalah: migrasi seluruh memori gambar dan migrasi binding ke sumber daya lokal.
Refrensi
:
vlsm.org, Komponen Sistem
Operasi, http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-1/ch05.html#c20501
Wahyu Wijanarko, Sistem
Operasi Terdistribusi, http://ilmukomputer.com/2006/08/20/sistem-operasi-terdistribusi/
http://id.wikipedia.org/wiki/Sistem_operasi
No comments:
Post a Comment