Nigdy nie zrozumiałem, w jaki sposób osiągane są nowe rekordowe prędkości przesyłania danych pod względem konwersji z / na sygnały elektryczne i optyczne.
Załóżmy, że mamy 255 Tbits danych i chcemy je przesłać w ciągu jednej sekundy. (Jest to osiągnięcie z prawdziwego świata.) Masz 255 TB zapisanych, powiedzmy, 255 bilionów kondensatorów (to jest RAM). Teraz oczekuje się, że będziemy w stanie czytać każdy z nich kolejno, pytając każdy bit tak, że sekundę później przeczytaliśmy wszystkie 255 trylionów z nich. Nie jest to oczywiście zaaranżowane przez procesor 3 GHz.
Co z końcem odbierającym? Impulsy nadchodzą przy 255 THz, ale częstotliwość odświeżania elektroniki próbującej odczytać przychodzący sygnał nie jest zdecydowanie 255 THz. Jedyne, co mogę sobie wyobrazić, to tysiące procesorów z zwielokrotnionym (opóźnionym) podziałem czasu sygnałów zegarowych o mniej niż 0,000000000001 sek. Chociaż jak osiągnąć takie multipleksowanie, w pewnym sensie przywracam mój problem z tą tysiąckrotną różnicą częstotliwości.
Odpowiedzi:
Zamiast martwić się o artykuł badawczy, który przesuwa rzeczy do granic możliwości, zacznij od zrozumienia rzeczy siedzących przed tobą.
W jaki sposób dysk twardy SATA 3 w komputerze domowym łączy łącze szeregowe 6 Gb / s? Główny procesor nie ma częstotliwości 6 GHz, a ten na dysku twardym z pewnością nie jest tak logiczny, że nie powinno być to możliwe.
Odpowiedź jest taka, że procesory nie siedzą tam jeden raz na raz, istnieje dedykowany sprzęt o nazwie SERDES (serializator / deserializator), który przekształca równoległy strumień danych o niższej prędkości w szybki szeregowy, a następnie z powrotem w Drugi koniec. Jeśli to działa w blokach po 32 bity, wówczas szybkość jest poniżej 200 MHz. Dane te są następnie obsługiwane przez system DMA, który automatycznie przenosi dane między SERDES a pamięcią bez angażowania procesora. Procesor musi jedynie poinstruować kontrolera DMA, gdzie są dane, ile wysłać i gdzie udzielić odpowiedzi. Następnie procesor może wyjść i zrobić coś innego, kontroler DMA przerwie, gdy zakończy pracę.
A jeśli procesor spędza większość czasu bezczynnie, może wykorzystać ten czas do uruchomienia drugiego DMA i SERDES działających na drugim transferze. W rzeczywistości jeden procesor może obsługiwać kilka takich transferów równolegle, co zapewnia dość dobrą szybkość transmisji danych.
OK, to jest raczej elektryczne niż optyczne i jest 50 000 razy wolniejsze niż system, o który pytałeś, ale obowiązują te same podstawowe pojęcia. Procesor radzi sobie z danymi tylko w dużych kawałkach, dedykowany sprzęt zajmuje się nimi w mniejszych kawałkach i tylko niektóre bardzo wyspecjalizowane urządzenia radzą sobie z nimi 1 bit na raz. Następnie umieszczasz wiele tych linków równolegle.
Jednym z późnych uzupełnień, na które wskazano w innych odpowiedziach, ale nigdzie nie jest wyraźnie wyjaśnione, jest różnica między przepływnością a szybkością transmisji. Szybkość transmisji to szybkość przesyłania danych, szybkość transmisji to szybkość przesyłania symboli. W wielu systemach symbole przesyłane są w bitach binarnych, więc dwie liczby są faktycznie takie same, dlatego między nimi może być wiele pomyłek.
Jednak w niektórych systemach stosuje się wielobitowy system kodowania. Jeśli zamiast wysyłać drut 0 V lub 3 V za każdym razem, wysyłasz 0 V, 1 V, 2 V lub 3 V dla każdego zegara, wówczas twoja szybkość symboli jest taka sama, 1 symbol na zegar. Ale każdy symbol ma 4 możliwe stany i dlatego może pomieścić 2 bity danych. Oznacza to, że twoja szybkość transmisji zwiększyła się dwukrotnie bez zwiększania częstotliwości taktowania.
Żadnych systemów w świecie rzeczywistym, o których wiem, że używają tak prostego wielobitowego symbolu w stylu poziomu napięcia, matematyka systemów w świecie rzeczywistym może stać się bardzo nieprzyjemna, ale podstawowa zasada pozostaje taka sama; jeśli masz więcej niż dwa możliwe stany, możesz uzyskać więcej bitów na zegar. Ethernet i ADSL to dwa najpopularniejsze systemy elektryczne, które używają tego rodzaju kodowania, podobnie jak każdy nowoczesny system radiowy. Jak powiedział @ alex.forencich w swojej doskonałej odpowiedzi, system zapytał o używany format sygnału 32-QAM (modulacja kwadraturowa), 32 różne możliwe symbole, co oznacza 5 bitów na przesyłany symbol.
źródło
Wygląda na to, że masz na myśli konkretnie http://www.nature.com/nphoton/journal/v8/n11/full/nphoton.2014.243.html . Można go przeczytać tutaj: https://www.researchgate.net/publication/269099858_Ultra-high-density_spatial_division_multiplexing_with_a_few-mode_multicore_fibre .
W tym przypadku jest to nieco bardziej skomplikowane niż „sygnał optyczny”. Łącze, o którym mowa, wykorzystuje wiele form równoległości w celu osiągnięcia liczby 255 Tbps:
Multipleksowanie z gęstym podziałem długości fali służy do wtłoczenia 50 różnych długości fali do światłowodu w odstępach 50 GHz (~ 0,8 nm w paśmie 1550 nm), z których każdy przenosi 1/50 danych.
Zastosowane włókno jest niestandardowym 7-rdzeniowym włóknem wielomodowym, z 3 trybami na rdzeń, każdy z 2 polaryzacjami, dla 7 * 3 * 2 = 42 niezależnych (mniej więcej) kanałów. Wydaje się, że zaletą ich światłowodu jest to, że izolacja między rdzeniami jest całkiem dobra, więc odbiornik musi tylko wyrównać przesłuch między modami i polaryzacjami każdego rdzenia osobno (7 równoległych 6x6 zamiast 42x42).
Następnie zastosowali format sygnału 24,3 Gbaud 32-QAM (5 bitów na symbol, 24,3 * 5 = 121,5 Gb / s) dla wszystkich kanałów 42 * 50, dla całkowitej szerokości pasma 0,1215 * 42 * 50 = 255,15 Tb / s.
Teraz ci faceci trochę oszukiwali tutaj: biorą 50 laserów, multipleksują je razem, modulują to za pomocą jednego modulatora IQ, a następnie dekorelują polaryzacje i sąsiednie kanały ze stałymi opóźnieniami, aby emulować za pomocą niezależnych nadajników. Tak naprawdę jest to tylko jeden sygnał przy 121,5 Gb / s, powtórzony 2100 razy równolegle. A przesyłany sygnał to prawdopodobnie tylko pseudolosowa sekwencja binarna (PRBS), która jest generowana w locie i nie jest odczytywana z pamięci. Lub można go odczytać z szybkiej SRAM lub tablicy DRAM w wysokowydajnym generatorze arbitralnym.
Po stronie odbiorczej wymagane jest cyfrowe przetwarzanie sygnału w celu odzyskania oryginalnych danych poprzez kompensację przesłuchu między trybami i polaryzacją w każdym rdzeniu i zastosowanie korekcji błędów. W artykule wspomniano o wartości 200 Tb / s, która byłaby szybkością transmisji danych przed kodowaniem do transmisji (podobnie jak w przypadku gigabitowej sieci Ethernet 1000BASE-X 1 Gb / s przed kodowaniem i 1,25 Gb / s lub PCIe to 2/4 / 7,877 Gb / s przed kodowanie i 2,5 / 5/8 Gb / s później), ale nie jest jasne, jaki plan kodowania i korekty błędów przesyłania dalej zakładają.
Wygląda również na to, że nie zbudowali rzeczywistego odbiornika, ale zamiast tego używają dwóch szybkich oscyloskopów z koherentnymi detektorami do przechwytywania surowych danych, a następnie przetwarzają i wyrównują sygnał offline. Musieli także wykonać fantazyjne przechwytywanie z przeplotem, ponieważ musieli uruchomić spójne wykrywanie we wszystkich 3 trybach z każdego rdzenia światłowodu w tym samym czasie, ale mieli tylko 2 szybkie oscyloskopy. I nawet taka konfiguracja pozwala im odbierać tylko 1 długość fali na 1 rdzeniu światłowodu na raz - 729 Gb / s, i tylko w krótkich seriach.
Ale wszystko jest w porządku, ponieważ papier dotyczy włókna, a nie faktycznego łącza.
TL; DR: liczba 255 Tbps jest nieco myląca - nie zbudowali nadajnika-odbiornika zdolnego do tego, ale ocenili wielordzeniowe włókno, które wytworzyli, używając 2100 kopii sygnału 121,5 Gpbs i pojedynczego odbiornika.
źródło
Ignorując szczegóły konkretnej transmisji, o której mowa (którą @ alex.forencich już szczegółowo omówił), wydaje się, że prawdopodobnie warto rozważyć bardziej ogólny przypadek.
Chociaż ta konkretna transmisja osiągnęła 255 Tb / s przez światłowód, bardzo szybkie łącza światłowodowe są już w regularnym użyciu. Nie jestem pewien, ile dokładnie jest wdrożeń (prawdopodobnie nie jest ich wiele), ale istnieją specyfikacje handlowe dla OC-1920 / STM-640 i OC-3840 / STM-1280, z szybkościami transmisji odpowiednio 100 i 200 Gb / s . To mniej więcej trzy rzędy wielkości wolniej niż w tym teście, ale nadal jest dość szybki według większości zwykłych miar.
Jak to się robi? Stosuje się wiele takich samych technik. W szczególności prawie wszystko, co robi „szybką” transmisję światłowodową, wykorzystuje multipleksowanie z gęstym podziałem fali (DWDM). Zasadniczo oznacza to, że zaczynasz od (dość) dużej liczby laserów, z których każdy transmituje inną długość fali światła. Modulujesz na nich bity, a następnie przesyłasz je wszystkie razem za pomocą tego samego światłowodu - ale z elektrycznego punktu widzenia podajesz do modulatorów kilka całkowicie oddzielnych strumieni bitów, a następnie miksujesz wyjścia optycznie, więc wszystkie te różne kolory światła przechodzą jednocześnie przez to samo włókno.
Po stronie odbiorczej stosuje się filtry optyczne, aby ponownie rozdzielić kolory, a następnie fototranzystor służy do odczytu pojedynczego strumienia bitów.
Chociaż pokazałem tylko 7 wejść / wyjść, rzeczywiste systemy wykorzystują dziesiątki długości fal.
Jeśli chodzi o koniec transmisji i odbioru: no cóż, istnieje powód, dla którego routery szkieletowe są drogie. Mimo że pojedyncza pamięć wymaga tylko ułamka całkowitej przepustowości, zwykle potrzebujesz dość szybkiej pamięci RAM - sporo szybszych części routerów używa dość wysokiej klasy pamięci SRAM, więc w tym momencie dane pochodzą z bramy, a nie kondensatory.
Prawdopodobnie warto zauważyć, że nawet przy niższych prędkościach (i niezależnie od fizycznej implementacji, takiej jak DWDM) tradycyjnie izoluje się części o największej prędkości w obwodzie na kilka małych części. Na przykład XGMII określa komunikację między 10 Gigabit / sekundę MAC MAC i PHY. Chociaż transmisja przez medium fizyczne jest strumieniem bitów (w każdym kierunku) przenoszącym 10 gigabitów na sekundę, XGMII określa 32-bitową szerokość magistrali między MAC a PHY, więc częstotliwość zegara na tej magistrali wynosi około 10 GHz / 32 = 312,5 MHz (cóż, technicznie sam zegar jest o połowę mniejszy - wykorzystuje sygnalizację DDR, więc są dane zarówno o rosnących, jak i opadających krawędziach zegara). Tylko w PHY ktoś ma do czynienia z częstotliwością taktowania wielu GHz. Oczywiście XGMII nie jest jedynym interfejsem MAC / PHY,
źródło