Anda di halaman 1dari 69

Proses

http://net.pku.edu.cn/~course/cs501/2012

Hongfei Yan
School of EECS, Peking University
2/29/2012
Isi
Bab
01: Pendahuluan
02: Arsitektur
03: Proses
04: Komunikasi
05: Penamaan
06: Sinkronisasi
07: Konsistensi & Replikasi
08: Toleransi Patahan
09: Keamanan
10: Sistem Berbasis Objek Terdistribusi
11: Sistem File Terdistribusi
12: Sistem Berbasis Web Terdistribusi
13: Sistem Berbasis Koordinasi Terdistribusi

2/N
03: Proses
• 3.1 Utas
• 3.2 Virtualisasi
• 3.3 Klien
• 3.4 Server
• 3.5 Migrasi Kode

3/N
3.1 Thread
• 3.1.1 Pengantar Thread
• 3.1.2 Utas dalam Sistem Terdistribusi

4/N
Ide dasar
Kami membangun prosesor virtual dalam perangkat lunak, di
atas prosesor fisik:
Prosesor: Menyediakan serangkaian instruksi bersama
dengan kemampuan mengeksekusi serangkaian instruksi
secara otomatis.
Utas: Prosesor perangkat lunak minimal yang dalam
konteksnya serangkaian instruksi dapat dijalankan.
Menyimpan konteks utas berarti menghentikan eksekusi saat
ini dan menyimpan semua data yang diperlukan untuk
melanjutkan eksekusi di tahap selanjutnya.
Proses: Prosesor perangkat lunak yang dalam konteksnya
satu atau lebih utas dapat dijalankan. Mengeksekusi utas,
berarti mengeksekusi serangkaian instruksi dalam konteks
utas itu. 5/N
Pengalihan Konteks
•Konteks prosesor: Kumpulan minimal nilai yang disimpan
dalam register prosesor yang digunakan untuk
pelaksanaan serangkaian instruksi (mis., Penunjuk
tumpukan, pengalamatan register, penghitung program).
• Konteks utas: Kumpulan minimal nilai yang disimpan di
•register dan memori, digunakan untuk pelaksanaan
serangkaian
•instruksi (mis., konteks prosesor, status).
• Konteks proses: Kumpulan minimal nilai yang disimpan
dalam register dan memori, digunakan untuk pelaksanaan
utas (mis., Utas konteks, tetapi sekarang juga setidaknya
nilai-nilai register MMU).

6/N
• Pengamatan 1: Thread berbagi ruang
alamat yang sama. Apakah kita perlu
keterlibatan OS?
• Pengamatan 2: Proses switching
umumnya lebih mahal. OS terlibat.
• mis., menjebak ke kernel.
• Pengamatan 3: Membuat dan
menghancurkan utas lebih murah
daripada melakukannya untuk suatu
proses.

7/N
Konteks Beralih di Aplikasi Besar
• Sebuah aplikasi besar biasanya merupakan serangkaian
proses bekerja sama, berkomunikasi melalui IPC, yang
mahal.

8/N
Threads and OS (1/2)
• Masalah Utama: Haruskah kernel OS
menyediakan utas atau haruskah itu diterapkan
sebagai bagian dari paket tingkat pengguna?
• Solusi ruang pengguna:
• Tidak ada hubungannya dengan kernel. Bisa
sangat efisien.
• Tetapi semua yang dilakukan oleh utas
mempengaruhi keseluruhan proses. Jadi apa
yang terjadi ketika sebuah thread memblokir
panggilan syscall?
• Bisakah kita menggunakan banyak CPU / core?

9/N
Threads and OS (2/2)
• Solusi kernel: Kernel mengimplementasikan thread.
Semuanya adalah panggilan sistem.
• Operasi yang memblokir utas bukan lagi masalah: kernel
menjadwalkan yang lain.
• Kejadian eksternal itu sederhana: kernel (yang
menangkap semua peristiwa) menjadwalkan utas yang
terkait dengan peristiwa tersebut.
• Kurang efisien.
• Kesimpulan: Cobalah untuk mencampur utas level
pengguna dan level kernel menjadi satu konsep.
• 7

10/N
Hibrida (Solaris)
• Gunakan dua level. Utas pengguna multipleks di atas
LWPs (utas kernel).

11/N
• Ketika utas tingkat pengguna melakukan
syscall, LWP memblokir. Utas terikat ke LWP.
• Kernel menjadwalkan LWP lain.
• Sakelar konteks dapat terjadi di tingkat
pengguna.
• Ketika tidak ada utas yang dijadwalkan, LWP
dapat dihapus.
• Catatan
• Konsep ini sebenarnya telah ditinggalkan - itu
hanya utas tingkat pengguna atau kernel-level.

12/N
Treand Sistem Terdisbusi
• Klien multithreaded: Masalah utama menyembunyikan latensi
jaringan.
• Klien web multithreaded:
• Browser memindai HTML, dan menemukan lebih banyak file yang
perlu diambil.
• Setiap file diambil oleh utas terpisah, masing-masing mengeluarkan
permintaan HTTP.
• Ketika file masuk, browser menampilkannya.
• Beberapa panggilan permintaan respons ke mesin lain (RPC):
• Klien mengeluarkan beberapa panggilan, masing-masing dengan
utas berbeda.
• Tunggu sampai semua kembali.
• Jika panggilan ke server yang berbeda, akan memiliki speedup
linier.

13/N
• Suppose there are ten images in a page. How should
they be fetched?
– Sequentially
• fetch_sequential() { Fetching
for (int i = 0; i < 10; i++) {
int sockfd = ...;
write(sockfd, "HTTP GET ..."); Images
n = read_till_socket_closed(sockfd, jpeg[i],
100K);
}
}
– Concurrently
• fetch_concurrent() {
int thread_ids[10];
for (int i = 0; i < 10; i++) {
thread_ids[i] = start_read_thread(urls[i],
jpeg[i]);
}
for (int i = 0; i < 10; i++) {
wait_for_thread(thread_ids[i]);
}
}
• Which is faster?

14/N
Mesin pencapaian
• Mesin negara terdiri dari
• variabel keadaan, yang menyandikan statusnya, dan
• perintah, yang mengubah kondisinya.
• Setiap perintah diimplementasikan oleh program
deterministik;
• eksekusi perintah adalah atom sehubungan dengan
perintah lain dan
• memodifikasi variabel status dan / atau menghasilkan
beberapa output.

[Schneider,1990] F. B. Schneider, "Implementing fault-tolerant services


using the state machine approach: a tutorial," ACM Comput. Surv., vol. 22,
pp. 299-319, 1990.
15/N
FSM diterapkan
• Menggunakan satu proses yang
menunggu pesan yang berisi permintaan
dan melakukan tindakan yang mereka
tentukan, seperti di server.
• Baca input yang tersedia.
• Memproses potongan input.
• Simpan status permintaan itu.
• Loop.

16/N
Threads dan Sistem Terdistribusi: Server
multithreaded:
• Meningkatkan kinerja:
• Memulai utas untuk menangani permintaan yang masuk
jauh lebih murah daripada memulai suatu proses.
• Server single-threaded tidak dapat memanfaatkan
multiprosesor.
• Sembunyikan latensi jaringan. Pekerjaan lain dapat
dilakukan saat permintaan masuk.
• Struktur yang lebih baik:
• Menggunakan pemblokiran sederhana panggilan I / O
lebih mudah.
• Program multithreaded cenderung lebih sederhana.
• Ini adalah area yang kontroversial.

17/N
Server Multithreaded

• Server multithreaded terorganisir dalam model dispatcher / pekerja.


18/N
Server Multithreaded

• Tiga cara untuk membangun server.

Model Characteristics
Threads Parallelism, blocking system calls
Single-threaded process No parallelism, blocking system calls
Finite-state machine Parallelism, nonblocking system calls

19/N
3.2 Virtualisasi
• 3.2.1 Peran Virtualisasi dalam Sistem
Terdistribusi

• 3.2.2 Arsitektur Mesin Virtual

20/N
Intuisi Tentang Virtualisasi
• Buat sesuatu terlihat seperti sesuatu yang
lain.
• Buat itu terlihat seperti ada lebih dari satu
hal tertentu.

21/N
Virtualisasi
• Pengamatan: Virtualisasi menjadi semakin penting:
• Perubahan perangkat keras lebih cepat daripada
perangkat lunak
• Kemudahan portabilitas dan migrasi kode
• Isolasi komponen yang gagal atau diserang

A virtual machine can support individual processes or a complete


system depending on the abstraction level where virtualization
occurs. Some VMs support flexible hardware usage and software
isolation, while others translate from one instruction set to another.
[James and Ravi,2005] E. S. James and N. Ravi, "The Architecture of
Virtual Machines," Computer, vol. 38, pp. 32-38, 2005.
22/N
Abstraksi dan Virtualisasi
diterapkan ke penyimpanan disk

• (a) Abstraksi menyediakan antarmuka yang disederhanakan ke sumber daya


yang mendasarinya.
• (B) Virtualisasi menyediakan antarmuka yang berbeda atau sumber daya yang
berbeda pada tingkat abstraksi yang sama.

23/N
Virtualisasi
• Awalnya dikembangkan oleh IBM.
Virtualisasi semakin penting.
• Kemudahan portabilitas.
• Isolasi komponen yang gagal atau diserang.
• Kemudahan menjalankan berbagai konfigurasi, versi, dll.
• Replikasi seluruh situs web ke server tepi.

Organisasi umum antara


program, antarmuka, dan Organisasi umum sistem
sistem. virtualisasi A di atas sistem B.

24/N
Antarmuka yang ditawarkan oleh
sistem komputer
• Sistem komputer menawarkan berbagai tingkat antarmuka.
• Antarmuka antara perangkat keras dan perangkat lunak, tidak istimewa.
• Antarmuka antara perangkat keras dan perangkat lunak, istimewa.
• Panggilan sistem.
• Perpustakaan.
• Virtualisasi dapat terjadi pada level yang sangat berbeda, sangat tergantung pada
antarmuka yang ditawarkan oleh berbagai komponen sistem:

25/N
Dua jenis VM

• Proses VM: Suatu program dikompilasi ke kode perantara (portabel),


yang kemudian dieksekusi oleh sistem runtime. (Contoh: Java VM)
• VMM: Lapisan perangkat lunak terpisah meniru set instruksi perangkat
keras: OS lengkap dan aplikasinya dapat didukung. (Contoh: VMware,
26/N
VirtualBox)
3.3 klien
• 3.3.1 Antarmuka pengguna jaringan
• 3.3.2 Perangkat Lunak Sisi Klien untuk Sistem
Terdistribusi

27/N
Networked Antarmuka Pengguna JaringanUser Interfaces

• Dua pendekatan untuk membangun klien.


– Untuk setiap aplikasi, buat bagian klien dan
bagian server
• Klien berjalan pada mesin lokal, seperti PDA.
– Buat toolkit GUI yang dapat digunakan
kembali yang berjalan pada klien. GUI dapat
secara langsung dimanipulasi oleh kode
aplikasi sisi server.
• Ini adalah pendekatan thin-client.

28/N
Thick client
• Protokolnya adalah khusus aplikasi.
• Untuk digunakan kembali, bisa berlapis, tetapi dibagian
atas itu khusus aplikasi.

29/N
Thin-client

30/N
Sistem X window
• Sistem X Window (bisa disebut X/X11) adalah sistem
windowing grafis transparan jaringan yang
didasarkan pada model klien/server.
– Terutama digunakan pada sistem unix seperti linux
– Versi X juga tersedia untuk banyak sistem operasi
lain.
– Meskipun di kembangkan pada tahun 1984, X
tidak hanya masih tersedia tetapi juga pada
kenyataannya merupakan lingkungan standar
untuk sistem windowing unix.

31/N
Model X Client / Server
- Model X Client / Server adalah server yang
berjalan pada mesin lokal, menyediakan
layanannya untuk tampilan berdasarkan
permintaan dari program klien yang mungkin
berjalan secara lokal atau jarak jauh.
- dirancang khusus untuk bekerja di jaringan.
• Klien dan server berkomunikasi melalui Protokol
X,
• protokol jaringan yang dapat dijalankan secara
lokal atau lintas jaringan.

32/N
The XWindow System

• Protokol cenderung menjadi kelas berat.


• Contoh lain dari sistem serupa?
– VNC
– Remote desktop

33/N
Masalah skalabilitas X
• Dibutuhkan terlalu banyak bandwidth.
– Dengan menggunakan teknik kompresi,
bandwidth dapat dikurangi secara signifikan.
• Ada masalah skalabilitas geografis
– Sebagai aplikasi dan tampilan umumnya perlu
disinkronkan terlalu banyak.
– Dengan menggunakan teknik caching yang
secara efektif menyatakan tampilan
dipertahankan di sisi aplikasi

34/N
Dokumen gabungan
• Antarmuka pengguna adalah
applicationaware => komunikasi antar
aplikasi
– drag-and-drop: memindahkan objek melintasi
layar untuk memanggil interaksi dengan aplikasi
lain
– pengeditan di tempat: mengintegrasikan
beberapa aplikasi pada level antarmuka
pengguna (pengolah kata + fasilitas
menggambar)

35/N
Perangkat Lunak Sisi Klien
• Seringkali disesuaikan untuk transparansi
distribusi.
– Transparansi akses: bertopik sisi klien untuk RPC.
– Transparansi lokasi / migrasi: Biarkan perangkat
lunak sisi klien melacak lokasi aktual.
– Transparansi replikasi: Banyak doa yang ditangani
oleh rintisan sisi klien
– Transparansi kegagalan: Sering dapat ditempatkan
hanya pada klien.

36/N
• Replikasi transparan dari server
menggunakan solusi sisi klien.

37/N
3.4 Servers
• 3.4.1 Masalah Desain Umum
• 3.4.2 Server Clusters
• 3.4.3 Mengelola Cluster Server

38/N
Server: Organisasi Umum
Model dasar: Server adalah proses yang menunggu
permintaan layanan masuk di alamat transportasi
tertentu. Dalam praktiknya, ada pemetaan satu-ke-satu
antara pelabuhan dan layanan.

ftp-data 20 Transfer File [Data Default]


ftp 21 Transfer File [Kontrol]
telnet 23 Telnet
24 sistem surat pribadi
Smtp 25 Transfer Surat Sederhana
login 49 Login Host Protocol
Sunrpc 111 SUN RPC (portmapper)
Courier 530 Xerox RPC
39/N
Server: Organisasi Umum
Jenis Server
• Iterative vs Concurrent: Server iterative hanya
dapat menangani satu klien pada satu waktu,
berbeda dengan concurrent
• Superservers: Dengarkan beberapa titik
akhir, lalu menelurkan server yang tepat.

40/N
(a) Binding Menggunakan Registry (b) Superserver

41/N
Komunikasi out-of-band
• Masalah: Apakah mungkin mengganggu server setelah itu menerima
(atau sedang dalam proses menerima) permintaan layanan?
• Solution 1: Gunakan port terpisah untuk data mendesak (mungkin
per permintaan layanan):
– Server memiliki utas terpisah (atau proses) menunggu pesan masuk yang
mendesak
– Ketika pesan mendesak masuk, permintaan terkait tertunda
– Catatan: kami membutuhkan OS mendukung penjadwalan prioritas tingkat
tinggi dari utas atau proses tertentu
• Solusi 2: Gunakan fasilitas komunikasi out-of-band dari layer
transport:
– Contoh: TCP memungkinkan untuk mengirim pesan penting dalam koneksi yang sama
– Pesan yang mendesak dapat ditangkap menggunakan teknik pensinyalan OS

42/N
Stateless Servers
• Tidak pernah disimpan tepat informasi tentang status
klien setelah menangani permintaan:
– Jangan merekam apakah file telah dibuka (cukup tutup kembali
setelah akses)
– Jangan berjanji untuk membatalkan cache klien
– Jangan melacak klien anda
• Konsekuensi:
– Klien dan server sepenuhnya independen
– Inkonsistensi negara karena klien atau server crash  berkurang
– Kemungkinan hilangnya kinerja
• karena, contohnya: server tidak dapat mengantisipasi perilaku klien (pikirkan
untuk mengambil blok file sebelumnya)

43/N
Stateful Servers
• Melacak status kliennya:
– Rekam bahwa file telah dibuka, sehingga pengambilan awal
dapat dilakukan
– Mengetahui data mana yang telah di-cache oleh klien, dan
memungkinkan klien untuk menyimpan salinan lokal dari data
bersama
• Pengamatan: Kinerja server stateful bisa sangat tinggi,
asalkan klien diizinkan untuk menyimpan salinan lokal.
– Status sesi vs. kondisi permanen
– Ternyata, keandalan bukanlah masalah besar.

44/N
Cookies
• Sepotong kecil data yang berisi informasi
spesifik klien yang menarik bagi server
• Cookie dan hal-hal terkait dapat melayani dua
tujuan:
– Mereka dapat digunakan untuk menghubungkan
operasi klien saat ini dengan operasi sebelumnya.
– Mereka dapat digunakan untuk menyimpan keadaan.
• Misalnya, Anda dapat memasukkan dengan tepat apa yang
Anda beli, dan apa langkah Anda, dalam proses checkout.

45/N
Server Clusters
• Pengamatan: Banyak cluster server disusun di sepanjang tiga
tingkatan yang berbeda, untuk meningkatkan kinerja.
– Organisasi khas di bawah ini, menjadi tiga tingkatan. 2 dan 3 dapat digabungkan.
• Elemen penting: Tingkat pertama umumnya bertanggung jawab untuk
mengirimkan permintaan ke server yang sesuai.

46/N
Request Handling
• Pengamatan: Memiliki tingkat pertama menangani semua
komunikasi dari / ke kluster dapat menyebabkan kemacetan.
• Solusi: Beragam, tetapi satu yang populer TCP-handoff:

47/N
Distributed Servers
• We can be even more distributed.
– But over a wide area network, the situation is too
dynamic to use TCP handoff.
– Instead, use Mobile IP.
– Are the servers really moving around?
• Mobile IP
– A server has a home address (HoA), where it can
always be contacted.
– It leaves a care-of address (CoA), where it actually is.
– Application still uses HoA.

48/N
Route optimization in a distributed servers

49/N
Managing Server Clusters
• Most common: do the same thing as usual.
– Quite painful, if you have a 128 nodes.
• Next step, provide a single management
framework that will let you monitor the whole
cluster, and distribute updates en masse.
– Works for medium sized. What if you have a 5,000
nodes?
– Need continuous repair, essentially autonomic
computing.

50/N
Example: PlanetLab
• Essence: Different organizations
contribute machines, which they
subsequently share for various
experiments.
• Problem: We need to ensure that different
distributed applications do not get into
each other’s way => virtualization

51/N
PlanetLab
• Vserver: Independent and protected environment with its own
libraries, server versions, and so on. Distributed applications are
assigned a collection of vservers distributed across multiple
machines (slice).

52/N
PlanetLab Management Issues
• Nodes belong to different organizations.
–Each organization should be allowed to specify who is
allowed to run applications on their nodes,
–And restrict resource usage appropriately.
• Monitoring tools available assume a very
specific combination of hardware and software.
–All tailored to be used within a single organization.
• Programs from different slices but running on
the same node should not interfere with each
other.

53/N
• Node manager
– Separate vserver
– Task: create other vservers and control resource allocation
– No policy decisions
• Resource specification (rspec)
– Specifies a time interval during which a specific resource is available.
– Identified via a 128-bit ID, the resource capability (rcap).
• Given rcap, node manager can look up rspec locally.
– Resources bound to slices.
• Slice associated with service provider.
– Slice ID’ed by (principal_id, slice_tag), which identifies the provider
and the slice tag which is chosen by the provider.
• Slice creation service (SCS) runs on node, receives creation
requests from some slice authority.
– SCS contacts node manager. Node manager cannot be contacted
directly. (Separation of mechanism from policy.)
• To create a slice, a service provider will contact a slice
authority and ask it to create a slice.
• Also have management authorities that monitor nodes, make
sure running right software, etc.

54/N
• Management relationships between PlanetLab entities:
1. A node owner puts its node under the regime of a management
authority, possibly restricting usage where appropriate.
2. A management authority provides the necessary software to add
a node to PlanetLab.
3. A service provider registers itself with a management authority,
trusting it to provide well-behaving nodes.
4. A service provider contacts a slice authority to create a slice on a
collection of nodes.
5. The slice authority needs to authenticate the service provider.
6. A node owner provides a slice creation service for a slice
authority to create slices. It essentially delegates resource
management to the slice authority.
7. A management authority delegates the creation of slices to a slice
authority.
Management
2 authority 3

1 7 4
Node owner Service provider

6 Slice authority
55/N
3.5 Migrasi Kode
• 3.5.1 Pendekatan untuk Migrasi Kode
• 3.5.2 Migrasi dan Sumber Daya Lokal
• 3.5.3 Migrasi dalam Sistem Heterogen

56/N
Pendekatan
• Mengapa migrasi kode? Pindah dari
beban berat ke beban ringan. Juga, untuk
meminimalkan biaya komunikasi.
Memindahkan kode ke data, bukan data
ke kode. Mengikat terlambat untuk
protokol. (Unduh.)

57/N
Konfigurasi Klien Dinamis

Prinsip mengkonfigurasi klien secara dinamis untuk berkomunikasi ke


server. Klien pertama-tama mengambil perangkat lunak yang diperlukan,
dan kemudian memanggil server.

58/N
Kerangka Kerja Migrasi Kode
Suatu proses terdiri dari tiga segmen
Segmen kode: berisi kode aktual
Segmen sumber daya: berisi referensi ke
sumber daya eksternal yang dibutuhkan oleh
proses
E.g., file, printer, perangkat, proses lainnya
Segmen eksekusi: menyimpan keadaan
eksekusi saat ini dari suatu proses, yang
terdiri dari data pribadi, tumpukan, dan
penghitung program

59/N
Model Referensi

60/N
Dua Konsep Mobilitas Kode
• Mobilitas yang lemah: hanya kode, plus mungkin
beberapa data init (dan mulai eksekusi dari awal) setelah
migrasi:
• Contoh: Applet Java
• Mobilitas yang kuat: Segmen kode dan eksekusi
dipindahkan
• Migrasi: memindahkan seluruh objek dari satu mesin ke
mesin lainnya
• Kloning: cukup mulai klon, dan atur dalam kondisi
eksekusi yang sama.
• Inisiasi
• Migrasi yang dimulai oleh pengirim
• Migrasi yang dimulai oleh penerima

61/N
Alternatives for code migration

62/N
Migrating Local Resources (1/3)
• Masalah: Suatu proses menggunakan sumber daya
lokal yang mungkin atau mungkin tidak tersedia di
situs target.
• Mengikat proses-ke-sumber daya
• Mengikat dengan pengidentifikasi: proses merujuk
pada sumber daya dengan pengenalnya (mis., URL)
• Mengikat berdasarkan nilai: objek membutuhkan
nilai sumber daya (mis., Perpustakaan)
• Mengikat berdasarkan jenis: objek mensyaratkan
bahwa hanya satu jenis sumber daya tersedia (mis.,
Perangkat lokal, seperti monitor, printer, dan
sebagainya)

63/N
Migrating Local Resources (2/3)
• Penjilidan sumber daya ke mesin
• Tidak terikat: sumber daya dapat dengan mudah
dipindahkan bersama dengan objek (file kecil, mis.
Cache)
• Diikat: sumber daya dapat, pada prinsipnya,
dimigrasi tetapi hanya dengan biaya tinggi (mungkin
lebih besar)
• E.g., basis data lokal dan situs Web lengkap
• Tetap: sumber daya tidak dapat dimigrasi, seperti
perangkat keras lokal (terikat ke mesin)
• E.g., titik akhir komunikasi lokal

64/N
Migrasi Sumberdaya Lokal (3/3)
Tindakan yang harus diambil sehubungan dengan referensi
ke sumber daya lokal saat memigrasi kode ke mesin lain.

Resource-to-machine binding
Process-to-
resource binding
Unattached Fastened Fixed

By identifier MV (or GR) GR (or MV) GR


By value CP ( or MV, GR) GR (or CP) GR
By type RB (or GR, CP) RB (or GR, CP) RB (or GR)

GR: Menetapkan referensi global sistem-luas MV:


Pindahkan sumber daya CP: Salin nilai sumber daya RB:
Rebind proses ke sumber daya yang tersedia secara lokal

66/N
Migrasi dalam Sistem Heterogen

• Masalah utama:
• Mesin target mungkin tidak cocok untuk
menjalankan kode yang dimigrasi
• Definisi konteks proses / utas / prosesor
sangat tergantung pada perangkat keras
lokal, sistem operasi, dan sistem runtime
• Satu-satunya solusi: Manfaatkan mesin
abstrak yang diimplementasikan pada
platform yang berbeda

67/N
Solusi Saat Ini

• Bahasa yang ditafsirkan berjalan pada


mesin virtual
• E.g., Java / JVM; bahasa scripting
• Monitor mesin virtual, memungkinkan
migrasi aplikasi OS + lengkap.

68/N
Migrasi Langsung Mesin Virtual

• Melibatkan dua masalah utama:


• Memigrasi seluruh gambar memori
• Fase pendorong
• Fase berhenti-dan-salin
• Fase tarik
• Migrasi binding ke sumber daya lokal
• Ada satu jaringan, umumkan pengikatan
alamat jaringan-ke-MAC

69/N
• Tiga cara untuk menangani migrasi
memori (yang dapat digabungkan)
• Mendorong halaman memori ke mesin
baru dan mengirim ulang yang kemudian
dimodifikasi selama proses migrasi.
• Menghentikan mesin virtual saat ini;
bermigrasi memori, dan mulai mesin
virtual baru.
• Membiarkan mesin virtual baru masuk ke
halaman baru sesuai kebutuhan, yaitu,
membiarkan proses dimulai pada mesin
virtual baru dengan segera dan menyalin
halaman memori sesuai permintaan.
70/N

Anda mungkin juga menyukai