¿La tecnología que nos trajo el procesamiento de paquetes de velocidad de línea en telecomunicaciones y redes se ha aplicado alguna vez al mercado de servidores?

En términos de tarjetas de interfaz de red, existen interfaces Ethernet de clase de servidor con varias capacidades de descarga de procesamiento de protocolo (noté que los chips Intel Ethernet que ofrecen enrutamiento de interrupción basado en VLAN para máquinas virtuales han estado disponibles por un tiempo): el silicio es barato (gracias, la Ley de Moore) , por lo que es fácil agregar estas cosas, aunque aparentemente es difícil corregirlo (lea los comentarios del controlador de dispositivo de los proyectos del sistema operativo de software de código abierto en algún momento, tiende a maldecir a los “diseñadores” de hardware que se equivocan y, por lo tanto, el software del controlador tiene para cubrirlos).

El problema en un nivel superior es que las computadoras de uso general nunca son perfectamente eficientes en su problema informático particular a menos que tenga suerte. Idealmente, diseñaría una computadora por programa para tener exactamente las instrucciones y los circuitos necesarios para calcular solo su problema con un consumo mínimo de energía y una velocidad máxima (puede obtener este tipo de flexibilidad de una caja llena de Field Programmable Gate Arrays (FPGA), pero tienen otras limitaciones, razón por la cual todos ya no lo están haciendo). El problema es que “lo suficientemente bueno” es el enemigo de la optimización perfecta.

El otro problema es que cada componente sigue mejorando gradualmente con el tiempo en un cronograma disjunto, lo que desequilibra las compensaciones económicas, lo que luego argumenta a favor de un rediseño del sistema. Las unidades centrales de procesamiento se hacen más rápidas, la memoria de acceso aleatorio se hace más rápida, PCI Express se hace más rápido, el almacenamiento de datos se hace más grande, Ethernet salta otro orden de magnitud en el ancho de banda, y así sucesivamente.

La industria de las telecomunicaciones tampoco es inmune a estas cosas: solo tienden a tener mayores costos hundidos en la infraestructura existente, por lo que su “tarea bien definida” tiende a ser “¿cómo podemos extraer unos centavos más de nuestra infraestructura existente? “¿despliegue de cobre desde una oficina central, fibra enterrada, torres celulares y redes de retroceso desplegadas, cables transoceánicos, satélites geosíncronos) antes de que tengamos que hacer un gasto de capital masivo para actualizarlo en respuesta a la competencia (si hay alguna)?”

No puedo hacerlo de una vez por todas; Lo único constante es el cambio. Bueno, eso y física (¡pero cuidado con la computación cuántica!).

Sí…. y no.

Google, Facebook, Amazon y otras compañías diseñan su propio hardware mientras intentan acercarse a este ideal. Si observa la pila de cálculo de Google, los procesos se ejecutan en contenedores (tecnología similar que hace que Docker funcione).

Tony señaló: “La aplicación que quieres servir no se parece en nada a la aplicación que quiero servir”. Es verdad. Sin embargo, si crea su propia pila, puede impulsar las aplicaciones para que estén “vinculadas a cómputo” o “vinculadas a E / S” y, básicamente, necesita 2 arquitecturas diferentes. 2 está bastante cerca de 1 … y está mucho más cerca que el mundo de TI en la mayoría de las empresas donde tiene una aplicación que requiere Oracle y un millón de dependencias, otra aplicación requiere muy poco, otra aplicación requiere DAS, y así sucesivamente.

Te sorprendería lo cerca que se han acercado a este ideal Google, Facebook, Amazon y otros. El problema es que las soluciones son demasiado exclusivas para ejecutar las aplicaciones que puede comprar en el estante, o incluso encontrar en repositorios de código abierto.

La razón por la que las personas están tan entusiasmadas con Docker, Kubernetes y Mesos es que acercan el mundo un paso más al ideal que mencionaste.

La respuesta de Erik Fair ya clavó esto: solo agregaré un poco de color:

Las redes informáticas fueron fáciles de acelerar. Hace exactamente lo mismo, una y otra vez, con los mismos datos. Claro, hay algunos cambios, pero desde una perspectiva de hardware, los cambios son un porcentaje extremadamente pequeño del problema.

Los servidores (computadoras) no son consistentes. En absoluto. La aplicación que desea servir no se parece en nada a la aplicación que quiero servir, por lo que usted y yo no podemos compartir hardware. Esto significa que los vendedores de chips no tienen un mercado considerable, por lo que no quieren involucrarse.

Combine eso con los aumentos gigantescos en los costos de inicio de los Circuitos integrados de aplicaciones específicas (ASIC). Construir un chip hoy es un costo inicial de $ 25MM. Nadie está dispuesto a asumir ese tipo de riesgos hoy sin muchas más oportunidades y comprensión.

Básicamente, no. Nadie se ha molestado en explorar realmente un diseño descendente de un sistema optimizado para las tareas de un tipo común de servidor, como la transmisión de video o el alojamiento de páginas web o búsquedas en la web … La idea de esto es controlada de manera efectiva por los desarrolladores de software, que son Igual de calificado para tomar decisiones sobre cómo diseñar un sistema de hardware optimizado para una tarea (o rango de tareas) como un ingeniero de hardware sería diseñar un nuevo lenguaje de software o sistema operativo.

Dado que requeriría un proyecto multidisciplinario complejo, no barato o aficionado, con algunas personas muy capacitadas para desarrollar un diseño lo suficientemente sólido como para llegar a las granjas de servidores, los VC se convierten en los guardianes de la puerta (ya que sabemos que Netflix y Google tienen puntuado en este enfoque). Dado que los capitalistas de riesgo solo financian ideas que ya han demostrado ser exitosas en un mercado determinado, no arriesgarán ningún dinero.

Entonces, la respuesta corta es que, aunque todavía puede suceder, no contenga la respiración. Cuando esto suceda, todos hablarán sobre el genio y cómo creó esta gran novedad, cuando en realidad su genio será obtener el financiamiento para hacer un proyecto que no sería un proyecto de sistema de hardware muy costoso.

Una dirección de avance en el mercado de servidores es la disponibilidad de sistemas que incluyen chips de GPU y la creciente disponibilidad de bibliotecas y paquetes que saben cómo acelerar los problemas mediante el uso de una GPU en lugar de una CPU más rápida.

Hay investigaciones al menos sobre el uso de GPU para el procesamiento de paquetes; encontré esto

Página en nvidia.com

con solo un poco de trabajo, estoy seguro de que hay más y no encontré la vanguardia del campo con solo unas pocas búsquedas.

Tenemos CPU a bordo de NIC y CNA modernas para descargar de la CPU de uso general. Las NIC que se ejecutan a 10 gb son lugares comunes, 40 gb es el siguiente y ya está en algunas plataformas. Hemos consolidado el almacenamiento y las redes de datos en 1 tarjeta, en 1 cable. ¿Qué más estás buscando? No veo una gran brecha entre las interfaces de alta velocidad en los mejores enrutadores y las NIC de 40 gb en los servidores, excepto por el hecho de que hay ASIC en los enrutadores porque solo realizan algunas funciones. No esperaría ASIC en las NIC debido a la carga de trabajo variada que las NIC de hoy tienen que hacer.