Parallel processing and virtual machines · Processamento paralelo e máquinas virtuais
| English | Português |
|---|---|
| virtual machines/ˈvɜːtʃuːəl məˈʃiːnz/ | máquinas virtuais |
| parallelism/ˈpærəlelɪzəm/ | paralelismo |
| SIMD/ˈsɪmdiː/ | SIMD |
| MIMD/ˈmɪmdiː/ | MIMD |
| massively parallel/ˈmæsɪvli ˈpærəlel/ | massivamente paralelo |
| distributed memory/ˈdɪstrɪbjuːtɪd ˈmeməri/ | memória distribuída |
| hypervisor/ˌhaɪpəˈvaɪzə/ | hipervisor |
| sandboxing/ˈsændbɒksɪŋ/ | sandboxing |
| bytecode/ˈbaɪtkəʊd/ | bytecode |
| just-in-time compilation/dʒʌst ɪn taɪm ˌkɒmpɪˈleɪʃn/ | compilação just-in-time |
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.
Um computador fingindo ser quarenta
- Uma empresa costumava comprar um servidor físico por aplicação: um para e-mail, um para o site, um para contas. Cada um rodava a cerca de 8% de sua capacidade, e cada um consumia energia total em um rack que precisava ser resfriado.
- Then os servidores deixaram de ser máquinas e viraram arquivos. Quarenta virtual machines 虚拟机 (Máquinas Virtuais) agora rodam em três hosts físicos, cada uma convencida de ter seu próprio processador, memória e discos.
- A economia não é só eletricidade. Uma máquina virtual pode ser snapshotizada antes de uma mudança arriscada, copiada para outro host enquanto roda, e destruída se for comprometida.
- Esta lição trata de parallelism 并行 (Paralelismo) e a máquina virtual: como as duas arquiteturas de sistema diferem, e o que uma VM custa e compra.
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
Arquiteturas paralelas, brevemente
- Parallelism significa muitos elementos de processamento trabalhando ao mesmo tempo. A taxonomia de Flynn nomeia as formas: SIMD 单指令多数据 (Uma instrução, muitos dados) executa uma instrução sobre muitos itens de dados, e MIMD 多指令多数据 (Muitas instruções, muitos dados) executa instruções diferentes em dados diferentes.
- Uma máquina massively parallel 大规模并行 (Massivamente Paralela) leva MIMD para milhares de processadores, cada um com sua própria distributed memory 分布式内存 (Memória Distribuída), comunicando-se por mensagens.
- Velocidade já não vem de aumentar o clock, limitado pelo calor, mas de fazer mais coisas ao mesmo tempo. Cada arquitetura nesta página é uma resposta a isso.

Instruções diferentes, dados diferentes, ao mesmo tempo
SIMD means: · SIMD significa:
Single Instruction, Multiple Data — e.g. a GPU running the same operation on thousands of pixels. · Single Instruction, Multiple Data — ex.: uma GPU executando a mesma operação em milhares de pixels.
Match each of Flynn's categories to an example. · Associe cada categoria de Flynn a um exemplo.
Flynn classifies by how many instruction and data streams run at once: SISD, SIMD, MIMD (and the rare MISD). · Flynn classifica com base no número de fluxos de instrução e dados que ocorrem simultaneamente: SISD, SIMD, MIMD (e o raro MISD).
A massively parallel computer uses: · Um computador massivamente paralelo utiliza:
Massively parallel systems (supercomputers) link thousands of processors with distributed memory over a fast network. · Sistemas massivamente paralelos (supercomputadores) conectam milhares de processadores com memória distribuída através de uma rede 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.
O que é uma máquina virtual
- Uma máquina virtual é uma emulação por software de um computador inteiro. O software executado dentro dela vê um processador, memória e discos que parecem reais, mas são fornecidos e gerenciados pelo software do host.
- Existem dois tipos, e o exame os distingue: uma VM de sistema executa um sistema operacional convidado completo, e uma VM de processo executa o código portável de um único programa.
- Nenhuma delas é uma emulação de uma máquina mais rápida. O propósito de uma VM é isolamento e portabilidade, não velocidade.
Computing concept lab · Laboratório de conceitos de computação
Classify concrete examples by the computing idea they demonstrate. · Classifique exemplos concretos pelo conceito de computação que eles demonstram.
What is a virtual machine? · O que é uma 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. · O ponto é a emulação e o isolamento, não a velocidade. Uma VM de sistema executa todo um SO convidado; uma VM de processo executa bytecode de um único 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 virtuais de sistema
- Um hypervisor (monitor de虚拟机) é o software que cria e gerencia máquinas virtuais, dividindo o processador real, a memória e os discos do host entre elas e mantendo cada uma isolada das outras.
- Cada VM inicializa seu próprio sistema operacional convidado, permitindo que um único host execute Windows, Linux e um sistema legado antigo lado a lado.
- Usos: executar diferentes sistemas operacionais em uma única máquina; consolidação de servidores, substituindo muitos servidores físicos subutilizados por um único host; sandboxing (沙箱), para que software arriscado ou não confiável execute isolado e não possa acessar o host; e snapshots, permitindo que a máquina seja revertida a um estado conhecido.

Um rack de hosts, cada um carregando muitas máquinas virtuais
A hypervisor is used to: · Um hipervisor é usado para:
A hypervisor manages system VMs, letting several guest operating systems share one physical machine. · Um hipervisor gerencia VMs de sistema, permitindo que vários sistemas operacionais convidados compartilhem uma única 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. · Uma VM de sistema (gerenciada por um hipervisor) executa todo um sistema operacional convidado, enquanto uma VM de processo como a JVM apenas executa o bytecode portátil de um programa.
System VMs share one physical machine among several guest OSes; process VMs give "write once, run anywhere" for a single program. · VMs de sistema compartilham uma máquina física entre vários SOs convidados; VMs de processo oferecem "escreva uma vez, execute em qualquer lugar" para um único programa.
The software that creates and manages several system VMs on one host is called a ____. · O software que cria e gerencia várias VMs de sistema em um host é chamado de ____.
It divides the host's real hardware between the guests and keeps each isolated, which is what makes sandboxing and consolidation possible. · Ele divide o hardware real do host entre os convidados e mantém cada um isolado, o que torna possível o sandboxing e a consolidação.
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 virtuais de processo
- Uma VM de processo, também chamada de VM de linguagem, executa um único programa escrito em bytecode 字节码 portável, em vez do código de máquina do host. A Java Virtual Machine e o .NET CLR são exemplos.
- Benefícios: portabilidade, já que o mesmo bytecode roda em qualquer lugar onde exista uma VM, o que é "escreva uma vez, execute em qualquer lugar"; segurança em tempo de execução, pois a VM verifica o que o código faz; e compilação just-in-time 即时编译 de código quente para instruções nativas, permitindo que programas de longa duração aproximem-se da velocidade nativa.
- Custos: uma camada extra entre o programa e o hardware, e a VM deve ser instalada antes que o programa possa rodar.
Which are benefits of a process (language) VM such as the JVM? Select all · todos that apply. · Quais são os benefícios de uma VM de processo (linguagem) como a JVM? Selecione todas as opções aplicáveis.
The VM must be present; that is the cost of the portability. Portability, safety and JIT are the benefits. · A VM deve estar presente; esse é o custo da portabilidade. Portabilidade, segurança e JIT são os benefícios.
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.
Exemplo resolvido: qual tipo de VM
- Uma equipe de segurança quer abrir anexos suspeitos de e-mail sem arriscar a rede da empresa. Uma VM de sistema: o OS convidado é isolado pelo hypervisor, então malware não pode alcançar o host, e o snapshot é restaurado depois para descartar qualquer ação realizada.
- Um desenvolvedor quer que um programa compilado rode no Windows, macOS e Linux sem recompilar. Uma VM de processo: o programa é compilado para bytecode e a VM de cada plataforma o executa.
- Nomeie o tipo, em seguida a propriedade, isolamento ou portabilidade, que a situação requer.
Put the consequences of one physical host failing, in order. · Coloque as consequências de uma falha em um host físico, na ordem correta.
Consolidation concentrates the risk: one host is a single point of failure for everything it carries. That is the limitation to state. · A consolidação concentra o risco: um host é um único ponto de falha para tudo o que ele hospeda. Essa é a limitação ao 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.
Exemplo resolvido: benefícios e limitações
- Explique dois benefícios e duas limitações de usar máquinas virtuais para substituir os servidores físicos de uma empresa. [4]
- Benefícios: vários servidores rodam em um único host físico, reduzindo custos de hardware, energia e refrigeração; e cada VM é isolada, então um servidor comprometido ou travado não afeta os outros, e pode ser restaurado a partir de um snapshot.
- Limitações: as VMs compartilham o processador real, a memória e os discos do host, então o desempenho é inferior ao de hardware dedicado e uma VM ocupada pode privar as outras; e se o host falhar, todas as VMs nele falham simultaneamente.
- Dois de cada, e cada um sendo uma consequência, não apenas um rótulo.
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.
Marcas que escapam
- Um hypervisor gerencia VMs de sistema; ele não é o sistema operacional convidado nem o OS próprio do host.
- Uma VM de processo executa bytecode, que não é código de máquina. É isso que a torna portável.
- A limitação de uma VM é recursos compartilhados e ponto único de falha, não "é complicado".
- "Sandboxing" precisa de sua consequência: o software arriscado está isolado do host, então não pode danificá-lo ou acessá-lo.
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
Entendeu?
- Paralelismo responde ao limite de clock-speed: SIMD para uma instrução sobre muitos dados, MIMD para muitas instruções, massivamente paralelo para milhares de processadores com memória distribuída
- uma máquina virtual é uma emulação por software de um computador inteiro
- uma VM de sistema executa um OS convidado completo sob um hypervisor: diferentes sistemas operacionais em uma máquina, consolidação de servidores, sandboxing, snapshots
- uma VM de processo executa bytecode portável com segurança em tempo de execução e compilação just-in-time; os custos são uma camada extra, recursos compartilhados do host e a falha de um host leva todas as VMs junto com ele