¿Cómo se procesan 255 Tbit / s en la comunicación de fibra óptica?

25

Nunca he entendido cómo se alcanzan las nuevas velocidades de transferencia de datos récord en términos de conversión de / a señales eléctricas y ópticas.

Supongamos que tenemos 255 Tbits de datos y queremos transferirlos en un segundo. (Este es un logro del mundo real.) Tienes 255 Tbits almacenados en, digamos, 255 billones de condensadores (eso es RAM). Ahora se espera que podamos leer cada uno sucesivamente, indagando cada bit para que un segundo después hayamos leído los 255 billones de ellos. Obviamente, esto no está orquestado por un procesador de 3 GHz.

¿Qué pasa con el extremo receptor? Los pulsos están llegando a 255 THz, sin embargo, la frecuencia de actualización de la electrónica que intenta leer una señal entrante no es, por mucho, 255 THz. Lo único que puedo imaginar es miles de procesadores con sus señales de reloj divididas por tiempo multiplexadas (retrasadas) en menos de 0.000000000001 segundos. Aunque la forma de lograr tal multiplexación también me devuelve a mi problema con esta diferencia mil veces mayor en las frecuencias.

stevie
fuente
44
"Esto obviamente no está orquestado por un procesador de 3GHz" ¿por qué no? Solo necesita decirle a cada componente que envíe datos, DMA y tecnologías similares han existido básicamente desde siempre. Obviamente, 255Tbit no se logran en el hardware del consumidor.
PlasmaHH
22
Asume que dicho sistema funciona de cierta manera, por ejemplo con pulsos. Dudo que funcione así, ya que hay formas más inteligentes y más eficientes de transferir datos. Usar pulsos para mí parece una forma muy ineficiente de usar el ancho de banda de la fibra. Esperaría que se usara alguna forma de modulación OFDMA. Luego, haga muchos canales en paralelo modulando a diferentes frecuencias portadoras y utilizando diferentes longitudes de onda de luz. ¡Antes de asumir que algo funciona de cierta manera, investigue porque las suposiciones incorrectas conducen a conclusiones erróneas!
Bimpelrekkie
2
@Bimpelrekkie: uno de los hechos más interesantes de esa tecnología (que tiene 3 años por cierto) es que usan una fibra multimodo de 7 núcleos para esas cosas.
PlasmaHH
12
Una vez más, solo estás haciendo suposiciones y luego cuestionándolos tú mismo. ¿Por qué no investigar el tema para que sepa y comprenda cómo se hace en lugar de simplemente asumir algo (que probablemente está mal de todos modos)? Es mejor decir: no sé esto, entonces asumir que algo funciona de cierta manera y ampliar esa suposición (incorrecta).
Bimpelrekkie
3
Enlace a donde leyó sobre este logro en el mundo real. Además, ¿por qué crees que los datos se enviaron en serie?
The Photon

Respuestas:

43

En lugar de preocuparse por un trabajo de investigación que está llevando las cosas al límite, primero comience por comprender las cosas que se encuentran frente a usted.

¿Cómo un disco duro SATA 3 en una computadora doméstica pone 6 Gbits / s en un enlace serie? El procesador principal no es de 6 GHz y el que está en el disco duro ciertamente no lo es, según su lógica, no debería ser posible.

La respuesta es que los procesadores no están ahí sentados sacando un bit a la vez, hay un hardware dedicado llamado SERDES (serializador / deserializador) que convierte un flujo de datos paralelo de menor velocidad en un serial de alta velocidad y luego vuelve a el otro extremo. Si eso funciona en bloques de 32 bits, entonces la velocidad es inferior a 200 MHz. Y esos datos son manejados por un sistema DMA que mueve automáticamente los datos entre los SERDES y la memoria sin que el procesador se involucre. Todo lo que el procesador tiene que hacer es indicarle al controlador DMA dónde están los datos, cuánto enviar y dónde colocar cualquier respuesta. Después de eso, el procesador puede apagarse y hacer otra cosa, el controlador DMA se interrumpirá una vez que haya terminado el trabajo.

Y si la CPU pasa la mayor parte del tiempo inactiva, podría usar ese tiempo para iniciar un segundo DMA & SERDES que se ejecute en una segunda transferencia. De hecho, una CPU podría ejecutar bastantes de esas transferencias en paralelo, lo que le proporcionaría una velocidad de datos bastante buena.

OK, esto es eléctrico en lugar de óptico y es 50,000 veces más lento que el sistema sobre el que preguntaste, pero se aplican los mismos conceptos básicos. El procesador solo maneja los datos en fragmentos grandes, el hardware dedicado lo maneja en piezas más pequeñas y solo algunos hardware muy especializados lo manejan 1 bit a la vez. Luego pones muchos de esos enlaces en paralelo.


Una adición tardía a esto que se insinúa en las otras respuestas pero que no se explica explícitamente en ninguna parte es la diferencia entre la velocidad de bits y la velocidad de transmisión. La velocidad de bits es la velocidad a la que se transmiten los datos, la velocidad en baudios es la velocidad a la que se transmiten los símbolos. En muchos sistemas, los símbolos se transmiten en bits binarios y, por lo tanto, los dos números son efectivamente los mismos, por lo que puede haber mucha confusión entre los dos.

Sin embargo, en algunos sistemas se utiliza un sistema de codificación de múltiples bits. Si en lugar de enviar 0 V o 3 V por el cable cada período de reloj, envía 0 V, 1 V, 2 V o 3 V para cada reloj, entonces su velocidad de símbolos es la misma, 1 símbolo por reloj. Pero cada símbolo tiene 4 estados posibles y, por lo tanto, puede contener 2 bits de datos. Esto significa que su velocidad de bits se ha duplicado sin aumentar la velocidad del reloj.

Ningún sistema del mundo real que conozco utiliza un símbolo multibit de estilo de nivel de voltaje tan simple, las matemáticas detrás de los sistemas del mundo real pueden ponerse muy desagradables, pero el principio básico sigue siendo el mismo; Si tiene más de dos estados posibles, puede obtener más bits por reloj. Ethernet y ADSL son los dos sistemas eléctricos más comunes que utilizan este tipo de codificación, al igual que casi cualquier sistema de radio moderno. Como @ alex.forencich dijo en su excelente respuesta, el sistema que usted preguntó sobre el formato de señal utilizado 32-QAM (modulación de amplitud en cuadratura), 32 símbolos posibles diferentes que significan 5 bits por símbolo transmitido.

Andrés
fuente
1
Gracias, @Andrew, de hecho me di cuenta después de pensar que mi problema no es considerar el procesamiento en serie y paralelo. Y fue bueno leer cómo exactamente DMA jugó un papel aquí. ¡Muchas gracias!
stevie
1
"En muchos sistemas, los símbolos se transmiten en bits binarios, por lo que los dos números son efectivamente iguales" Creo que esto necesita algún tipo de cita. Me parece más común para cualquier velocidad de datos no trivial que cada símbolo codifique varios bits y, por lo tanto, la velocidad en baudios es mucho más baja que la velocidad de bits. Si bien tenemos una idea bastante buena en estos días de cómo manejar las señales de varios GHz, aún es más fácil manejar las señales en el rango de cientos de MHz, lo que implica que si puede hacerlo con una velocidad de símbolo más baja para un bit determinado tasa, eso simplifica gran parte de los dispositivos involucrados.
un CVn
Estoy de acuerdo en que los símbolos de varios bits son más comunes para las velocidades de datos no triviales. Sin embargo, cuando las personas aprenden por primera vez sobre la señalización digital, tienden a aprender cosas más antiguas y de menor velocidad, y generalmente son de 1 bit por símbolo. Por lo tanto, supongo que algo como "en la mayoría de los sistemas en los que una persona que hace este tipo de preguntas habría examinado previamente con algún nivel de detalle" sería más preciso. Y para ser sincero, hay muchos más enlaces triviales de velocidad de datos que los no triviales.
Andrew
2
@PaulUszak Ejecutarán varios ADC en paralelo para que ningún ADC se ejecute cerca de esa velocidad, pero sus relojes de muestra se escalonarán para proporcionar una frecuencia de muestreo efectiva. Después de eso, nada tiene que correr muy rápido, esto es un poco diferente a la situación del enlace de datos porque un alcance solo tiene una pequeña memoria de muestra. Una vez que la memoria está llena, deja de tomar muestras y espera hasta que el procesador haya tenido la oportunidad de copiar los datos en la memoria principal, ese proceso puede ser mucho más lento.
Andrew
2
Ese alcance Lecroy BW de 100 GHz utiliza múltiples técnicas (diplexor + conversión descendente, luego muestreo intercalado en el tiempo) para dividir la señal en una gran cantidad de ADC más lentos, que luego alimentan ASIC de alta velocidad personalizados que descargan los datos en grandes bancos de DRAM. La forma de onda original se reconstruye con DSP en una CPU de uso general. Solo se pueden reconstruir pequeños segmentos, hasta el tamaño de la memoria de muestra. Creo que el alcance Lecroy de 100 GHz (y probablemente la mayoría de los otros ámbitos de alta velocidad) usa PCIe para conectar la computadora de control a los ADC y la RAM de muestra.
alex.forencich
60

Parece que te refieres específicamente a http://www.nature.com/nphoton/journal/v8/n11/full/nphoton.2014.243.html . Se puede leer aquí: https://www.researchgate.net/publication/269099858_Ultra-high-density_spatial_division_multiplexing_with_a_few-mode_multicore_fibre .

En este caso, es un poco más complicado que "una señal óptica". El enlace en cuestión utiliza múltiples formas de paralelismo para lograr esa cifra de 255 Tbps:

  • La multiplexación de división de longitud de onda densa se usa para agrupar 50 longitudes de onda diferentes en la fibra en intervalos de 50 GHz (~ 0.8 nm en la banda C de 1550 nm), cada una de las cuales transporta 1/50 de los datos.

  • La fibra utilizada es una fibra personalizada de 7 núcleos y pocos modos, con 3 modos por núcleo, cada uno con 2 polarizaciones, para 7 * 3 * 2 = 42 canales independientes (más o menos). Parece que el punto de venta de su fibra es que el aislamiento entre los núcleos es bastante bueno, por lo que el receptor solo tiene que igualar la diafonía entre los modos y las polarizaciones de cada núcleo por separado (7 paralelos 6x6 en lugar de 42x42).

Luego, utilizaron un formato de señal de 24.3 Gbaud 32-QAM (5 bits por símbolo, 24.3 * 5 = 121.5 Gbps) para todos los canales 42 * 50, para un ancho de banda general de 0.1215 * 42 * 50 = 255.15 Tbps.

Ahora, estos tipos realmente engañaron un poco aquí: toman 50 láseres, los multiplexan juntos, modulan eso con un solo modulador IQ, luego decorelacionan las polarizaciones y los canales adyacentes con demoras fijas para emular usando transmisores independientes. Entonces, en realidad es solo una señal a 121.5 Gbps, repetida 2100 veces en paralelo. Y la señal transmitida es probablemente solo una secuencia binaria pseudoaleatoria (PRBS) que se genera sobre la marcha y no se lee de la memoria. O podría leerse desde la SRAM rápida o una matriz de DRAM en un generador de formas de onda arbitrarias de alto rendimiento.

En el lado de recepción, se requiere procesamiento de señal digital para recuperar los datos originales compensando la diafonía entre los modos y las polarizaciones en cada núcleo y aplicando la corrección de errores. El documento menciona una cifra de 200 Tbps netos, que sería la velocidad de datos antes de codificar para la transmisión (similar a cómo 1000BASE-X gigabit ethernet es 1 Gbps antes de codificar y 1.25 Gbps después, o PCIe es 2/4 / 7.877 Gbps antes codificación y 2.5 / 5/8 Gbps después) pero no está claro qué esquema de codificación y corrección de errores de reenvío están asumiendo.

También parece que no construyeron un receptor real, sino que están utilizando dos osciloscopios de alta velocidad con detectores coherentes para capturar datos sin procesar y luego realizar el procesamiento de la señal y la ecualización fuera de línea. También tuvieron que hacer una captura intercalada de lujo porque tuvieron que ejecutar una detección coherente en los 3 modos desde cada núcleo de fibra al mismo tiempo, pero solo tenían 2 osciloscopios rápidos disponibles. E incluso esa configuración solo les permite recibir 1 longitud de onda en 1 núcleo de fibra a la vez: 729 Gbps, y solo en ráfagas cortas.

Pero todo esto está bien, porque el papel trata sobre la fibra y no sobre el enlace real.

TL; DR: la cifra de 255 Tbps es un poco engañosa: no construyeron un transceptor capaz de eso, pero evaluaron la fibra multinúcleo que hicieron con 2100 copias de una señal de 121.5 Gpbs y un solo receptor.

alex.forencich
fuente
15

Ignorando los detalles de la transmisión específica en cuestión (que @ alex.forencich ya ha discutido en detalle considerable), parece que probablemente sea útil considerar el caso más general.

Aunque esta transmisión en particular alcanzó 255 Tbps a través de la fibra, los enlaces de fibra extremadamente rápidos ya están en uso regular. No estoy seguro de cuántas implementaciones hay (probablemente no muchas), pero hay especificaciones comerciales para OC-1920 / STM-640 y OC-3840 / STM-1280, con velocidades de transmisión de 100 y 200 Gbps respectivamente . Eso es aproximadamente tres órdenes de magnitud más lento de lo que demostró esta prueba, pero aún es bastante rápido según la mayoría de las medidas ordinarias.

Entonces, ¿cómo se hace esto? Se utilizan muchas de las mismas técnicas. En particular, casi todo lo que hace transmisión de fibra "rápida" utiliza multiplexación por división de onda densa (DWDM). Esto significa, en esencia, que comienzas con un número (bastante) grande de láseres, cada uno transmitiendo una longitud de onda de luz diferente. Modula bits en esos y luego los transmite todos juntos a través de la misma fibra, pero desde un punto de vista eléctrico, está alimentando una serie de flujos de bits completamente separados en los moduladores, luego está mezclando las salidas ópticamente, por lo que todo esos diferentes colores de luz atraviesan la misma fibra al mismo tiempo.

En el extremo receptor, los filtros ópticos se usan para separar los colores nuevamente, y luego se usa un fototransistor para leer un flujo de bits individual.

ingrese la descripción de la imagen aquí

Aunque solo he mostrado 7 entradas / salidas, los sistemas reales usan docenas de longitudes de onda.

En cuanto a lo que se necesita en los extremos de transmisión y recepción: bueno, hay una razón por la cual los enrutadores de backbone son caros. A pesar de que una sola memoria solo necesita alimentar una fracción del ancho de banda general, normalmente se necesita una RAM bastante rápida; muchas de las partes más rápidas de los enrutadores usan SRAM de alta gama, por lo que en ese momento los datos provienen de puertas, no condensadores.

Probablemente valga la pena señalar que incluso a velocidades más bajas (e independientemente de la implementación física como DWDM) es tradicional aislar las partes de mayor velocidad del circuito en algunas partes pequeñas. Por ejemplo, XGMII especifica la comunicación entre 10 gigabit / segundo Ethernet MAC y PHY. Aunque la transmisión a través del medio físico es un flujo de bits (en cada dirección) que transporta 10 gigabits por segundo, XGMII especifica un bus de 32 bits de ancho entre el MAC y el PHY, por lo que la frecuencia de reloj en ese bus es de aproximadamente 10 GHz / 32 = 312.5 MHz (bueno, técnicamente el reloj en sí es la mitad de eso, usa señalización DDR, por lo que hay datos tanto en los bordes ascendentes como descendentes del reloj). Solo dentro del PHY alguien tiene que lidiar con una frecuencia de reloj de varios GHz. Por supuesto, XGMII no es la única interfaz MAC / PHY,

Jerry Coffin
fuente
Gracias por elaborar, esta es una parte importante de todo el rompecabezas.
stevie