Parallel processing and virtual machines · Procesamiento paralelo y máquinas virtuales
| English | Español |
|---|---|
| virtual machines/ˈvɜːtʃuːəl məˈʃiːnz/ | máquinas virtuales |
| parallelism/ˈpærəlelɪzəm/ | paralelismo |
| SIMD/ˈsɪmdiː/ | SIMD |
| MIMD/ˈmɪmdiː/ | MIMD |
| massively parallel/ˈmæsɪvli ˈpærəlel/ | paralelismo masivo |
| distributed memory/ˈdɪstrɪbjuːtɪd ˈmeməri/ | memoria distribuida |
| hypervisor/ˌhaɪpəˈvaɪzə/ | hipervisor |
| sandboxing/ˈsændbɒksɪŋ/ | aislamiento |
| bytecode/ˈbaɪtkəʊd/ | bytecode |
| just-in-time compilation/dʒʌst ɪn taɪm ˌkɒmpɪˈleɪʃn/ | compilación justo a tiempo |
One computer pretending to be forty
- A company used to buy one physical server per application: one for mail, one for the website, one for accounts. Each ran at about 8% of its capacity, and each drew full power in a rack that had to be cooled.
- Then the servers stopped being machines and became files. Forty virtual machines 虚拟机 now run on three physical hosts, each one convinced it has a processor, memory and disks of its own.
- The saving is not only electricity. A virtual machine can be snapshotted before a risky change, copied to another host while running, and destroyed if it is compromised.
- This lesson is parallelism 并行 and the virtual machine: how the two system architectures differ, and what a VM costs and buys.
Una computadora simulando ser cuarenta
- Una empresa solía comprar un servidor físico por aplicación: uno para correo, uno para el sitio web, uno para cuentas. Cada uno operaba a cerca del 8% de su capacidad, y cada uno consumía la energía completa en un rack que debía enfriarse.
- Luego, los servidores dejaron de ser máquinas y se convirtieron en archivos. Cuarenta máquinas virtuales ahora ejecutan sobre tres anfitriones físicos, cada una convencida de tener su propio procesador, memoria y discos.
- El ahorro no es solo electricidad. Una máquina virtual puede tomarse instantáneas antes de un cambio riesgoso, copiarse a otro anfitrión mientras está en ejecución, y destruirse si se ve comprometida.
- Esta lección trata sobre paralelismo y la máquina virtual: cómo difieren estas dos arquitecturas de sistemas, y qué costo implica y qué ofrece una VM.
Parallel architectures, briefly
- Parallelism means many processing elements working at once. Flynn's taxonomy names the shapes: SIMD 单指令多数据 runs one instruction over many data items, and MIMD 多指令多数据 runs different instructions on different data.
- A massively parallel 大规模并行 machine takes MIMD to thousands of processors, each with its own distributed memory 分布式内存, communicating by messages.
- Speed no longer comes from raising the clock, which is limited by heat, but from doing more things at once. Every architecture on this page is an answer to that.
Different instructions, different data, at the same time
Arquitecturas paralelas, brevemente
- Paralelismo significa que muchos elementos de procesamiento trabajan al mismo tiempo. La taxonomía de Flynn nombra las formas: SIMD ejecuta una sola instrucción sobre muchos elementos de datos, y MIMD ejecuta diferentes instrucciones sobre diferentes datos.
- Una máquina masivamente paralela lleva MIMD a miles de procesadores, cada uno con su propia memoria distribuida, comunicándose mediante mensajes.
- La velocidad ya no proviene de aumentar el reloj, lo cual está limitado por el calor, sino de hacer más cosas a la vez. Cada arquitectura en esta página es una respuesta a eso.

Instrucciones diferentes, datos diferentes, al mismo tiempo
SIMD means: · SIMD significa:
Single Instruction, Multiple Data — e.g. a GPU running the same operation on thousands of pixels. · Single Instruction, Multiple Data — por ejemplo, una GPU ejecutando la misma operación en miles de píxeles.
Match each of Flynn's categories to an example. · Asocie cada categoría de Flynn con un ejemplo.
Flynn classifies by how many instruction and data streams run at once: SISD, SIMD, MIMD (and the rare MISD). · Flynn clasifica según cuántos flujos de instrucciones y datos corren a la vez: SISD, SIMD, MIMD (y el raro MISD).
A massively parallel computer uses: · Una computadora masivamente paralela utiliza:
Massively parallel systems (supercomputers) link thousands of processors with distributed memory over a fast network. · Los sistemas masivamente paralelos (supercomputadoras) conectan miles de procesadores con memoria distribuida a través de una red rápida.
What a virtual machine is
- A virtual machine is a software emulation of a whole computer. The software running inside it sees a processor, memory and disks that look real but are provided and managed by host software.
- There are two kinds, and the exam distinguishes them: a system VM runs a complete guest operating system, and a process VM runs one program's portable code.
- Neither is an emulator of a faster machine. A VM's purpose is isolation and portability, not speed.
Qué es una máquina virtual
- Una máquina virtual es una emulación de software de una computadora completa. El software que se ejecuta dentro de ella ve un procesador, memoria y discos que parecen reales pero que son proporcionados y gestionados por el software anfitrión.
- Hay dos tipos, y el examen los distingue: una VM de sistema ejecuta un sistema operativo invitado completo, y una VM de proceso ejecuta el código portable de un programa.
- Ninguna es una emulación de una máquina más rápida. El propósito de una VM es el aislamiento y la portabilidad, no la velocidad.
Computing concept lab · Laboratorio de conceptos informáticos
Classify concrete examples by the computing idea they demonstrate. · Clasificar ejemplos concretos según el concepto informático que demuestran.
What is a virtual machine? · ¿Qué es una máquina virtual?
The point is emulation and isolation, not speed. A system VM runs a whole guest OS; a process VM runs one program's bytecode. · El punto es la emulación y el aislamiento, no la velocidad. Una VM de sistema ejecuta todo un SO invitado; una VM de proceso ejecuta el bytecode de un programa.
System virtual machines
- A hypervisor 虚拟机监控器 is the software that creates and manages virtual machines, dividing the host's real processor, memory and disks between them and keeping each one isolated from the others.
- Each VM boots its own guest operating system, so one host can run Windows, Linux and an old legacy system side by side.
- Uses: running different operating systems on one machine; server consolidation, replacing many under-used physical servers with one host; sandboxing 沙箱, so risky or untrusted software runs isolated and cannot reach the host; and snapshots, so a machine can be rolled back to a known state.
A rack of hosts, each carrying many virtual machines
Máquinas virtuales de sistema
- Un hipervisor es el software que crea y gestiona máquinas virtuales, dividiendo el procesador real, la memoria y los discos del anfitrión entre ellas y manteniendo cada una aislada de las demás.
- Cada VM arranca su propio sistema operativo invitado, por lo que un anfitrión puede ejecutar Windows, Linux y un sistema heredado antiguo simultáneamente.
- Usos: ejecutar diferentes sistemas operativos en una misma máquina; consolidación de servidores, reemplazando muchos servidores físicos subutilizados por un solo anfitrión; aislamiento (sandboxing), para que el software riesgoso o no confiable se ejecute aislado y no pueda acceder al anfitrión; y instantáneas, para que una máquina pueda revertirse a un estado conocido.

Un rack de anfitriones, cada uno albergando muchas máquinas virtuales
A hypervisor is used to: · Un hipervisor se utiliza para:
A hypervisor manages system VMs, letting several guest operating systems share one physical machine. · Un hipervisor gestiona VMs de sistema, permitiendo que varios sistemas operativos invitados compartan una sola máquina física.
A system VM (managed by a hypervisor) runs a whole guest operating system, whereas a process VM like the JVM just runs one program's portable bytecode. · Una VM de sistema (gestionada por un hipervisor) ejecuta todo un sistema operativo invitado, mientras que una VM de proceso como la JVM solo ejecuta el bytecode portable de un programa.
System VMs share one physical machine among several guest OSes; process VMs give "write once, run anywhere" for a single program. · Las VMs de sistema comparten una sola máquina física entre varios SOs invitados; las VMs de proceso ofrecen "escribir una vez, ejecutar en cualquier lugar" para un solo programa.
The software that creates and manages several system VMs on one host is called a ____. · El software que crea y gestiona varias VMs de sistema en un anfitrión se llama ____.
It divides the host's real hardware between the guests and keeps each isolated, which is what makes sandboxing and consolidation possible. · Divide el hardware real del anfitrión entre los invitados y mantiene cada uno aislado, lo cual es lo que hace posible el sandboxing y la consolidación.
Process virtual machines
- A process VM, also called a language VM, runs one program written in portable bytecode 字节码 rather than the host's machine code. The Java Virtual Machine and the .NET CLR are the examples.
- Benefits: portability, since the same bytecode runs anywhere a VM exists, which is "write once, run anywhere"; runtime safety, since the VM checks what the code does; and just-in-time compilation 即时编译 of hot code to native instructions, so long-running programs approach native speed.
- Costs: an extra layer between the program and the hardware, and the VM must be installed before the program will run at all.
Máquinas virtuales de proceso
- Una VM de proceso, también llamada VM de lenguaje, ejecuta un programa escrito en código de bytecode portable en lugar del código de máquina del anfitrión. La Máquina Virtual Java y el CLR de .NET son ejemplos.
- Beneficios: portabilidad, ya que el mismo bytecode se ejecuta en cualquier lugar donde exista una VM ("escribir una vez, ejecutar en cualquier parte"); seguridad en tiempo de ejecución, ya que la VM verifica lo que hace el código; y compilación just-in-time de código crítico a instrucciones nativas, permitiendo que programas de larga duración se acerquen a la velocidad nativa.
- Costos: una capa adicional entre el programa y el hardware, y la VM debe estar instalada antes de que el programa pueda ejecutarse en absoluto.
Which are benefits of a process (language) VM such as the JVM? Select all · todos that apply. · ¿Cuáles son las ventajas de una VM de proceso (lenguaje) como la JVM? Seleccione todas las que correspondan.
The VM must be present; that is the cost of the portability. Portability, safety and JIT are the benefits. · La VM debe estar presente; ese es el costo de la portabilidad. Portabilidad, seguridad y JIT son las ventajas.
Worked example: which kind of VM
- A security team wants to open suspicious email attachments without risking the company network. A system VM: the guest OS is isolated by the hypervisor, so malware cannot reach the host, and the snapshot is restored afterwards to discard anything it did.
- A developer wants one compiled program to run on Windows, macOS and Linux without recompiling. A process VM: the program is compiled to bytecode and each platform's VM runs it.
- Name the kind, then the property, isolation or portability, that the situation needs.
Ejemplo resuelto: qué tipo de VM
- Un equipo de seguridad quiere abrir adjuntos de correo sospechosos sin arriesgar la red corporativa. Una VM de sistema: el SO invitado está aislado por el hipervisor, por lo que el malware no puede alcanzar el anfitrión, y la instantánea se restaura después para descartar cualquier cosa que haya hecho.
- Un desarrollador quiere que un programa compilado se ejecute en Windows, macOS y Linux sin recompilarlo. Una VM de proceso: el programa se compila a bytecode y la VM de cada plataforma lo ejecuta.
- Nombra el tipo, luego la propiedad, aislamiento o portabilidad, que requiere la situación.
Put the consequences of one physical host failing, in order. · Coloque las consecuencias de que falle un anfitrión físico, en orden.
Consolidation concentrates the risk: one host is a single point of failure for everything it carries. That is the limitation to state. · La consolidación concentra el riesgo: un anfitrión es un único punto de fallo para todo lo que aloja. Esa es la limitación al estado.
Worked example: benefits and limitations
- Explain two benefits and two limitations of using virtual machines to replace a company's physical servers. [4]
- Benefits: several servers run on one physical host, so hardware, power and cooling costs fall; and each VM is isolated, so a compromised or crashed server does not affect the others, and can be restored from a snapshot.
- Limitations: the VMs share the host's real processor, memory and disks, so performance is lower than dedicated hardware and one busy VM can starve the others; and if the host fails, every VM on it fails at once.
- Two of each, and each one a consequence, not just a label.
Ejemplo resuelto: beneficios y limitaciones
- Explica dos beneficios y dos limitaciones de usar máquinas virtuales para reemplazar los servidores físicos de una empresa. [4]
- Beneficios: varios servidores ejecutándose en un único anfitrión físico, reduciendo así costos de hardware, energía y refrigeración; y cada VM está aislada, por lo que un servidor comprometido o colapsado no afecta a los demás, y puede restaurarse desde una instantánea.
- Limitaciones: las VMs comparten el procesador real, la memoria y los discos del anfitrión, por lo que el rendimiento es menor que en hardware dedicado y una VM ocupada puede privar de recursos a las otras; y si el anfitrión falla, todas las VMs en él fallan a la vez.
- Dos de cada uno, y cada uno como consecuencia, no simplemente como etiqueta.
Marks that slip away
- A hypervisor manages system VMs; it is not the guest operating system and not the host's own OS.
- A process VM runs bytecode, which is not machine code. That is what makes it portable.
- The limitation of a VM is shared resources and a single point of failure, not "it is complicated".
- "Sandboxing" needs its consequence: the risky software is isolated from the host, so it cannot damage or reach it.
Puntos que se pierden fácilmente
- Un hipervisor gestiona VMs de sistema; no es el sistema operativo invitado ni el OS propio del anfitrión.
- Una VM de proceso ejecuta bytecode, que no es código de máquina. Eso es lo que le da portabilidad.
- La limitación de una VM son los recursos compartidos y un punto único de fallo, no "que es complicada".
- "Aislamiento (sandboxing)" necesita su consecuencia: el software riesgoso está aislado del anfitrión, por lo que no puede dañarlo ni acceder a él.
You've got it
- parallelism answers the clock-speed limit: SIMD for one instruction over many data, MIMD for many instructions, massively parallel for thousands of processors with distributed memory
- a virtual machine is a software emulation of a whole computer
- a system VM runs a full guest OS under a hypervisor: different operating systems on one machine, server consolidation, sandboxing, snapshots
- a process VM runs portable bytecode with runtime safety and just-in-time compilation; the costs are an extra layer, shared host resources and one host failing takes every VM with it
Lo has entendido
- paralelismo responde al límite de velocidad de reloj: SIMD para una instrucción sobre muchos datos, MIMD para muchas instrucciones, masivamente paralelo para miles de procesadores con memoria distribuida
- una máquina virtual es una emulación de software de una computadora completa
- una VM de sistema ejecuta un SO invitado completo bajo un hipervisor: diferentes sistemas operativos en una máquina, consolidación de servidores, aislamiento (sandboxing), instantáneas
- una VM de proceso ejecuta bytecode portable con seguridad en tiempo de ejecución y compilación just-in-time; los costos son una capa extra, recursos compartidos del anfitrión y que la falla de un anfitrión arrastre consigo a todas sus VMs