Independientemente del costo, ¿puede ejecutar software de núcleo único más rápido en la nube o en hardware dedicado? ¿Puede la nube ejecutar aplicaciones de un solo núcleo en una escala de supercomputadora? ¿Es la nube un clúster de alto rendimiento?

“Independientemente del costo, ¿puede ejecutar software de núcleo único más rápido en la nube o en hardware dedicado?”

  • Dado que $ 1MI podría hacer un análisis de rendimiento suficiente para permitir que la instancia de un solo núcleo sea multiproceso, y potencialmente obtener un rendimiento adicional del paralelismo de memoria distribuida. (Mis gastos generales son bastante grandes; probablemente podrías conseguir que un estudiante de CS haga esto por mucho, mucho menos).
  • Dado que $ 10MI podría portar más secciones críticas de rendimiento de ese código a alguna combinación de GPGPU, FPGA o ASIC.
  • Dado $ 100MI podría modificar un diseño de procesador x86 existente para maximizar el rendimiento en esa plataforma para esa aplicación en particular.
  • Dado $ 1BI, podría diseñar un procesador desde cero.
  • Dado $ 10BI, podría diseñar un nuevo fab para el nuevo procesador.

Dada la suficiente independencia de costos, el hardware dedicado gana.

“¿Puede la nube ejecutar aplicaciones de núcleo único en una escala de supercomputadora?”

“Escalar” en este contexto solo tiene sentido para aplicaciones paralelas. Ciertamente, puede tomar aplicaciones de un solo núcleo y ejecutar un millón de instancias en un millón de núcleos, y puede hacerlo en la nube o en una supercomputadora. ¿Tiene sentido hacer esto? Tal vez tal vez no.

“¿Es la nube un clúster de alto rendimiento?”

Los clústeres de alto rendimiento están diseñados para ejecutar un conjunto reducido de aplicaciones lo más rápido posible. Si está haciendo HPC para un cierto tipo de aplicaciones de física, va a invertir muchísimo dinero en su interconexión para minimizar la latencia.

La computación en la nube tiene otro conjunto de objetivos de diseño que cubren un espacio de aplicación muy diferente. Entonces no, como los términos se usan actualmente, “nube” y “HPC” están en diferentes espacios de diseño.

Hay pros y contras para todo. Obtiene una mejor disponibilidad y tiempo de actividad en un entorno virtual (“nube”) con algunos inconvenientes menores en el rendimiento de la CPU y la memoria.

Por otro lado, veo muchos servidores físicos dedicados que se ejecutan con unidades SATA lentas. Cada unidad produce unos 70 IOPS de rendimiento, luego los coloca en una matriz RAID que pierde aproximadamente el 20% de ese rendimiento para que el controlador RAID pueda hacer sus cálculos de paridad. El resultado neto es que el servidor físico estándar con una matriz SATA a menudo tiene una amplia CPU y memoria, pero el subsistema de disco es lento.

Cuando creamos un clúster de hipervisor, los hosts físicos que conforman ese clúster pueden ser bastante robustos con más de 12 núcleos físicos por host y al norte de 128 GB de RAM. Cuando se mide en la frecuencia del reloj de la CPU, cada host puede producir 24 GHz o más. Este aloja alrededor de 12 servidores virtuales por host. Una CPU más grande y más rápida y más RAM pueden obtener más máquinas virtuales en cada host.

Todos esos hosts físicos están conectados a una red de área de almacenamiento (SAN), generalmente el protocolo iSCSI a través de una estructura Ethernet de 10 Gbps. El conjunto de discos en sí generalmente usa una combinación de unidades SATA lentas y unidades de estado sólido rápidas. Hay diferentes algoritmos utilizados para administrar la mezcla, algunos simplemente almacenan en caché en SSD y otros mantienen los bloques con más acceso en SSD y los bloques con menos acceso en SATA. La imagen de la VM existe en la SAN, de modo que si un host físico tiene un problema de tiempo de actividad, las VM en ese host se pueden mover a otro host mientras la imagen permanece en la SAN compartida. Por lo tanto, la VM depende en gran medida del rendimiento de la SAN, que generalmente es más de 500 IOPS por TB de disco asignado.

Compare eso con una unidad SATA de 4 TB que no proporciona más de 70 IOPS y puede ver dónde una aplicación que se ha estado ahogando en el rendimiento del disco puede funcionar realmente bien como una VM a pesar de que el hipervisor roba un poco de sobrecarga de la CPU.

Contrariamente a la intuición, una máquina virtual con demasiada CPU reservada que no necesita o usa realmente sufrirá el rendimiento de la CPU. En VMWare, esto se conoce como CPU COSTOP y es causado por la demora del Programador de recursos distribuidos (DRS) mientras encuentra un servidor host en el clúster con tanta CPU disponible. Lección aprendida: mantenga sus máquinas virtuales ajustadas: es más fácil agregar recursos que eliminarlos.

VMware CPU Co-Stop y rendimiento del servidor SQL

La nube no es nada, es un término de marketing sin significado técnico. No quiero decir que tenga poco significado técnico, quiero decir que no tiene significado técnico.

La nube no puede hacer nada, porque no es nada.

La nube no es una computadora, no es un grupo de computadoras, no es un solo núcleo, no es múltiples núcleos, es un término de marketing .

Si esta respuesta es irritante, tenga en cuenta que no está dirigida a usted, está dirigida a la industria en su conjunto que se presenta con tanta mierda.

La definición más cercana que hay para la nube es “Computadoras ubicadas en otro lugar”.

Incluso puedes comprar tazas para señalar esto.

Cuando utiliza servicios “en la nube”, está utilizando lo que normalmente son servidores completamente estándar. Es posible que tenga un mejor servidor en su oficina, o puede que no.

Que las cosas funcionen mejor en la nube o en su propio hardware solo depende de qué tan buena sea su computadora y qué tan buena sea la computadora de otra persona.

Todo lo que mencionó se centra en el rendimiento multinúcleo. Las supercomputadoras tienen miles o millones de núcleos, pero todas funcionan bastante lento. Lo más parecido a lo que está pidiendo sería un mainframe reciente, o simplemente usar hardware de consumo (opcionalmente overclockeado). El rendimiento de un solo subproceso no es algo en lo que se centre la mayoría del hardware moderno para servidores.