Pemrosesan paralel dan mesin virtual
| English | Bahasa Indonesia |
|---|---|
| virtual machines/ˈvɜːtʃuːəl məˈʃiːnz/ | mesin virtual |
| parallelism/ˈpærəlelɪzəm/ | paralelisme |
| SIMD/ˈsɪmdiː/ | SIMD |
| MIMD/ˈmɪmdiː/ | MIMD |
| massively parallel/ˈmæsɪvli ˈpærəlel/ | paralel masif |
| distributed memory/ˈdɪstrɪbjuːtɪd ˈmeməri/ | memori terdistribusi |
| hypervisor/ˌhaɪpəˈvaɪzə/ | hypervisor |
| sandboxing/ˈsændbɒksɪŋ/ | sandboxing |
| bytecode/ˈbaɪtkəʊd/ | bytecode |
| just-in-time compilation/dʒʌst ɪn taɪm ˌkɒmpɪˈleɪʃn/ | kompilasi just-in-time |
Satu komputer berpura-pura menjadi empat puluh
- Suatu perusahaan dulu membeli satu server fisik untuk setiap aplikasi: satu untuk email, satu untuk situs web, satu untuk akuntansi. Setiap server beroperasi pada sekitar 8% kapasitasnya, dan setiap server menarik daya penuh dalam rak yang harus didinginkan.
- Kemudian server berhenti menjadi mesin fisik dan berubah menjadi file. Empat puluh virtual machine kini berjalan di tiga host fisik, masing-masing meyakini bahwa ia memiliki prosesor, memori, dan disk miliknya sendiri.
- Penghematan tidak hanya限于 listrik. Sebuah virtual machine dapat diambil snapshot sebelum perubahan berisiko, disalin ke host lain saat sedang berjalan, dan dihancurkan jika diretas.
- Pelajaran ini adalah parallelism dan virtual machine: bagaimana dua arsitektur sistem ini berbeda, serta apa biaya dan manfaat dari VM.
Arsitektur paralel, secara singkat
- Parallelism berarti banyak elemen pemrosesan bekerja secara bersamaan. Taksonomi Flynn memberi nama bentuk-bentuk tersebut: SIMD menjalankan satu instruksi atas banyak item data, dan MIMD menjalankan instruksi berbeda pada data yang berbeda.
- Mesin massively parallel membawa MIMD hingga ribuan prosesor, masing-masing dengan distributed memory miliknya sendiri, berkomunikasi melalui pesan.
- Kecepatan tidak lagi berasal dari peningkatan clock, yang terbatas oleh panas, tetapi dari melakukan lebih banyak hal sekaligus. Setiap arsitektur di halaman ini adalah jawaban atas hal tersebut.

Instruksi berbeda, data berbeda, pada waktu yang sama
SIMD berarti:
Single Instruction, Multiple Data — mis. GPU menjalankan operasi yang sama pada ribuan piksel.
Cocokkan setiap kategori Flynn dengan contohnya.
Flynn mengklasifikasikan berdasarkan berapa banyak aliran instruksi dan data yang berjalan sekaligus: SISD, SIMD, MIMD (dan MISD yang jarang).
Komputer paralel masif menggunakan:
Sistem paralel masif (supercomputer) menghubungkan ribuan prosesor dengan memori terdistribusi melalui jaringan cepat.
Apa itu virtual machine
- Sebuah virtual machine adalah emulasi perangkat lunak dari seluruh komputer. Perangkat lunak yang berjalan di dalamnya melihat prosesor, memori, dan disk yang terlihat nyata tetapi disediakan dan dikelola oleh perangkat lunak host.
- Ada dua jenis, dan ujian membedakannya: system VM menjalankan sistem operasi guest lengkap, dan process VM menjalankan kode portabel dari satu program.
- Keduanya bukan emulator dari mesin yang lebih cepat. Tujuan VM adalah isolasi dan portabilitas, bukan kecepatan.
Laboratorium konsep komputasi
Klasifikasikan contoh konkret berdasarkan ide komputasi yang ditunjukkannya.
Apa itu mesin virtual?
Intinya adalah emulasi dan isolasi, bukan kecepatan. Sistem VM menjalankan OS tamu secara utuh; proses VM menjalankan bytecode satu program.
System virtual machines
- Hypervisor adalah perangkat lunak yang membuat dan mengelola virtual machine, membagi prosesor, memori, dan disk asli host di antara mereka dan menjaga setiap satu terisolasi dari yang lain.
- Setiap VM meng- boot sistem operasi guest-nya sendiri, sehingga satu host dapat menjalankan Windows, Linux, dan sistem lawas legacy secara berdampingan.
- Penggunaan: menjalankan sistem operasi berbeda di satu mesin; server consolidation, mengganti banyak server fisik yang kurang terpakai dengan satu host; sandboxing, agar software berisiko atau tidak tepercaya berjalan terisolasi dan tidak dapat mengakses host; dan snapshot, sehingga mesin dapat dikembalikan ke keadaan yang diketahui.

Rak host, masing-masing membawa banyak virtual machine
Hypervisor digunakan untuk:
Hypervisor mengelola sistem VM, memungkinkan beberapa sistem operasi tamu berbagi satu mesin fisik.
Sistem VM (dikelola oleh hypervisor) menjalankan keseluruhan sistem operasi tamu, sedangkan proses VM seperti JVM hanya menjalankan bytecode portabel satu program.
Sistem VM berbagi satu mesin fisik di antara beberapa OS tamu; proses VM memberikan "tuliskan sekali, jalankan di mana saja" untuk satu program.
Perangkat lunak yang membuat dan mengelola beberapa sistem VM pada satu host disebut ____.
Hal ini membagi hardware asli host kepada para tamu dan menjaga setiap tamu tetap terisolasi, yang memungkinkan sandboxing dan konsolidasi.
Process virtual machines
- Process VM, juga disebut bahasa VM, menjalankan satu program yang ditulis dalam bytecode portabel alih-alih kode mesin host. Java Virtual Machine dan .NET CLR adalah contohnya.
- Manfaat: portabilitas, karena bytecode yang sama dapat berjalan di mana pun VM ada, yaitu "tulis sekali, jalankan di mana saja"; runtime safety, karena VM memeriksa apa yang dilakukan kode; dan just-in-time compilation kode panas menjadi instruksi native, sehingga program jangka panjang mendekati kecepatan native.
- Biaya: lapisan tambahan antara program dan perangkat keras, dan VM harus diinstal terlebih dahulu agar program dapat berjalan sama sekali.
Manakah yang merupakan manfaat dari VM proses (bahasa) seperti JVM? Pilih semua yang berlaku.
VM harus hadir; itulah biaya dari portabilitas. Portabilitas, keamanan, dan JIT adalah manfaatnya.
Contoh dikerjakan: jenis VM manakah
- Tim keamanan ingin membuka lampiran email mencurigakan tanpa membahayakan jaringan perusahaan. System VM: OS guest terisolasi oleh hypervisor, sehingga malware tidak dapat mencapai host, dan snapshot dipulihkan kemudian untuk membuang apa pun yang telah dilakukannya.
- Seorang pengembang ingin satu program terkompilasi dapat berjalan di Windows, macOS, dan Linux tanpa kompilasi ulang. Process VM: program dikompilasi menjadi bytecode dan VM dari setiap platform menjalankannya.
- Sebutkan jenisnya, lalu properti, isolasi atau portabilitas, yang dibutuhkan situasi tersebut.
Susun konsekuensi kegagalan satu host fisik secara berurutan.
Konsolidasi memusatkan risiko: satu host adalah titik kegagalan tunggal untuk segala sesuatu yang dimilikinya. Itu adalah keterbatasan terhadap keadaan.
Contoh dikerjakan: manfaat dan keterbatasan
- Jelaskan dua manfaat dan dua keterbatasan menggunakan virtual machine untuk menggantikan server fisik perusahaan. [4]
- Manfaat: beberapa server berjalan di satu host fisik, sehingga biaya hardware, daya, dan pendinginan turun; dan setiap VM terisolasi, sehingga server yang diretas atau crash tidak mempengaruhi yang lain, dan dapat dipulihkan dari snapshot.
- Keterbatasan: VM-VM berbagi prosesor, memori, dan disk asli host, sehingga kinerja lebih rendah daripada hardware khusus dan satu VM sibuk dapat kelaparan bagi yang lain; dan jika host gagal, setiap VM di dalamnya gagal sekaligus.
- Dua dari masing-masing, dan masing-masing merupakan konsekuensi, bukan sekadar label.
⟦⟧ Nilai yang sering terlewat
- Hypervisor mengelola system VM; ia bukan sistem operasi guest dan bukan OS host sendiri.
- Process VM menjalankan bytecode, yang bukan kode mesin. Itulah yang membuatnya portabel.
- Keterbatasan VM adalah shared resources dan single point of failure, bukan "ini rumit".
- "Sandboxing" memerlukan konsekuensinya: software berisiko terisolasi dari host, sehingga tidak dapat merusak atau mengaksesnya.
Anda telah memahaminya
- parallelisme menjawab batas kecepatan clock: SIMD untuk satu instruksi atas banyak data, MIMD untuk banyak instruksi, paralel masif untuk ribuan prosesor dengan memori terdistribusi
- mesin virtual adalah emulasi perangkat lunak dari seluruh komputer
- sistem VM menjalankan OS tamu penuh di bawah hypervisor: sistem operasi berbeda pada satu mesin, konsolidasi server, sandboxing, snapshot
- process VM menjalankan bytecode portabel dengan keamanan runtime dan kompilasi just-in-time; biayanya adalah lapisan tambahan, sumber daya host yang dibagi, dan jika satu host gagal, semua VM di dalamnya ikut mati