seegongsik
Mis palabras
Sistemas operativos

Varias cocinas, de verdad a la vez

Con varias cocinas no son turnos sino trabajar de verdad juntos a la vez.

01

Y si hay más de una cocina

Hasta ahora había una cocina. Un trabajador hacía un poco de esto, un poco de aquello, cambiando rápido.
Pero qué tal si hay dos cocinas, o tres. Hay esa cantidad de trabajadores también, cada uno cocinando en su propia cocina al mismo tiempo. No por turnos, sino de verdad varios a la vez, en el mismo momento.
Una computadora llama a estas muchas cocinas núcleos. Con varios núcleos, varios trabajos de verdad pueden atenderse juntos en el mismo momento.

Una cocinapor turnos (ilusión)Varias cocinasde verdad a la vez

Una cocina es por turnos, varias es de verdad a la vez

Con varios núcleos, varios trabajos de verdad se atienden juntos en el mismo momento.

02

De verdad juntos, o solo turnos rápidos

Antes dijimos que un trabajador cambiando rápido parece hacer cosas a la vez. Eso era una ilusión. En realidad, solo una cosa pasaba en cualquier momento.
Con varias cocinas es distinto. Mira el mismísimo momento, y el trabajo de verdad avanza a la vez en esta cocina y en aquella. No por turnos.
Así aparece una diferencia. La ilusión de a-la-vez solo parece rápida, mientras que el a-la-vez de verdad termina más trabajo en el mismo tiempo.

mismo momentoIlusión de a-la-vezsolo uno por momentoDe verdad a la vezvarios en un momento

Una cocina cambiando rápido es ilusión, varias cocinas es a-la-vez real

Un núcleo por turnos solo parece simultáneo, mientras varios núcleos de verdad corren juntos.

03

Agrega más cocinas

Un gran montón de trabajos espera a terminarse. Cambia el número de cocinas tú mismo.
Con una cocina, los trabajos se atienden uno tras otro. Agrega cocinas y varios trabajos se atienden a la vez, terminando la misma cantidad más rápido.
Dos cocinas toman más o menos la mitad del tiempo, cuatro aún menos. Agrega algunas y mira qué tan rápido se encoge el montón.

Trabajos
Cocinas
Tiempo00/12
Cocinas2
Más cocinas terminan el mismo trabajo más rápido. Pero como verás en la próxima pestaña, no acelera para siempre.

Cambia el número de cocinas y mira qué tan rápido termina el mismo trabajo

Más cocinas terminan el mismo trabajo más rápido, pero pronto encuentras un límite también.

04

El doble de cocinas no es el doble de rápido

Duplica las cocinas y parece que debería ser el doble de rápido. Pero no siempre es así.
Cierto trabajo no se puede partir. Mientras la masa espera a leudar, diez cocinas no lo hacen más rápido. Y si los trabajadores quieren todos el mismo ingrediente a la vez, tienen que esperarse.
Así que al agregar cocinas acelera al principio, y pasado cierto punto ya no acelera tanto como agregas. El trabajo que se puede partir es solo hasta cierto punto.

Velocidadno se parteesperarse1248Núcleosel doble no es el doble

El trabajo que no se parte y la espera mutua hacen que agregar núcleos tenga un límite

Más núcleos van más rápido, pero cierto trabajo no se parte, así que no acelera para siempre.

05

Ponlo en una sola página

Solo recuerda tres cosas.
Primero, con varios núcleos el trabajo de verdad pasa a la vez. No la ilusión de un trabajador cambiando rápido, sino juntos en el mismo momento en varias cocinas.
Segundo, eso termina el mismo trabajo más rápido, porque el trabajo se reparte entre varias cocinas. Tercero, todavía hay un límite. Por el trabajo que no se parte y la espera mutua, duplicar los núcleos no duplica exactamente la velocidad.

Uno
Con varios núcleos, el trabajo de verdad pasa a la vez. No una ilusión, sino juntos en el mismo momento en varias cocinas.
Dos
Así el mismo trabajo termina más rápido. El trabajo se reparte entre varias cocinas.
Tres
Aún hay un límite. El trabajo que no se parte y la espera mutua hacen que duplicar núcleos no sea el doble de rápido.

Varios núcleos son de verdad a-la-vez, así que más rápido, pero con límite

En una líneaVarios núcleos reparten el trabajo y lo atienden de verdad a la vez así que va más rápido, pero el trabajo que no se parte es el límite.
¿Te fue útil? Apoyar seegongsik
Sistemas operativos