Jak przetwarzane jest 255 Tbit / s w komunikacji światłowodowej?


25

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.


4
„To oczywiście nie jest koordynowane przez procesor 3GHz”, dlaczego nie? Musi tylko powiedzieć każdemu komponentowi, aby wysyłał dane, DMA i podobne technologie są dostępne od prawie zawsze. Oczywiście 255Tbit nie jest osiągany na sprzęcie konsumenckim.
PlasmaHH

22
Zakładasz, że taki system działa w określony sposób, na przykład za pomocą impulsów. Wątpię, czy tak to działa, ponieważ istnieją inteligentniejsze i wydajniejsze sposoby przesyłania danych. Użycie impulsów wydaje mi się bardzo nieefektywnym sposobem wykorzystania przepustowości światłowodu. Spodziewałbym się, że zostanie użyta jakaś forma modulacji OFDMA. Następnie wykonaj wiele kanałów równolegle modulując przy różnych częstotliwościach nośnych i używając różnych długości fali światła. Przed założeniem, że coś działa w określony sposób, sprawdź to, ponieważ błędne założenia prowadzą do błędnych wniosków!
Bimpelrekkie

2
@Bimpelrekkie: jednym z bardziej interesujących faktów dotyczących tej technologii (która ma już 3 lata) jest to, że używają do tego celu 7-rdzeniowego światłowodu wielomodowego.
PlasmaHH

12
Ponownie, po prostu przyjmujesz założenia, a następnie sam je kwestionujesz!?!? Dlaczego nie zbadać tematu , abyś wiedział i zrozumiał, jak to się robi, zamiast zakładać coś (co prawdopodobnie i tak jest błędne). Jest lepiej powiedzieć: nie wiem, to wtedy po prostu zakładamy coś działa w określony sposób i rozwinąć na tym, że (niewłaściwym) założenia.
Bimpelrekkie 17.07.17

3
Link do miejsca, w którym przeczytałeś o tym osiągnięciu z prawdziwego świata. Ponadto, dlaczego uważasz, że dane zostały wysłane szeregowo?
Photon

Odpowiedzi:


43

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.


1
Dzięki, @Andrew, rzeczywiście zdałem sobie sprawę po chwili, gdy pomyślałem, że mój problem nie dotyczy przetwarzania szeregowego i równoległego. Dobrze było przeczytać, jak dokładnie DMA odegrała tutaj rolę. Wielkie dzięki!
stevie,

1
„W wielu systemach symbole przesyłane są w bitach binarnych, więc dwie liczby są faktycznie takie same”. Myślę, że wymaga to pewnego rodzaju cytowania. Wydaje mi się, że jest bardziej powszechny w przypadku każdej nierywialnej szybkości przesyłania danych, w której każdy symbol koduje kilka bitów, a zatem szybkość transmisji jest znacznie niższa niż szybkość transmisji. Chociaż w dzisiejszych czasach mamy całkiem niezły pomysł, jak radzić sobie z sygnałami wieloczęstotliwościowymi, nadal łatwiej jest radzić sobie z sygnałami w zakresie setek MHz, co oznacza, że ​​jeśli dasz sobie radę z niższą częstością symboli dla danego bitu szybkość, która upraszcza wiele zaangażowanych urządzeń.
CVn

Zgadzam się, że symbole bitowe są bardziej powszechne w przypadku nietrywialnych szybkości transmisji danych. Jednak, kiedy ludzie po raz pierwszy dowiadują się o cyfrowej sygnalizacji, zwykle uczą się starszych, wolniejszych rzeczy, a są one na ogół 1 bit na symbol. Przypuszczam więc, że coś w rodzaju „w większości systemów, które osoba zadająca takie pytanie wcześniej zbadałaby na dowolnym poziomie szczegółowości” byłoby bardziej dokładne. I szczerze mówiąc, istnieje o wiele bardziej trywialne łącza danych niż łącza nietrywialne.
Andrew

2
@PaulUszak Będą oni uruchamiać wiele ADC równolegle, aby żaden ADC nie działał w pobliżu tej prędkości, ale ich zegary próbek będą ustawione naprzemiennie, aby zapewnić efektywną częstotliwość próbkowania. Po tym nic nie musi działać bardzo szybko, jest to nieco inne niż sytuacja łącza danych, ponieważ zakres ma tylko małą pamięć przykładową. Gdy ta pamięć jest pełna, przestaje próbkować i czeka, aż procesor zdąży skopiować dane do pamięci głównej, proces ten może być znacznie wolniejszy.
Andrew

2
Ten zakres Lecroy BW 100 GHz wykorzystuje wiele technik (diplekser + konwersja w dół, a następnie próbkowanie z przeplotem w czasie) do podziału sygnału na bardzo dużą liczbę wolniejszych przetworników ADC, które następnie zasilają niestandardowe szybkie układy ASIC, które zrzucają dane do dużych banków pamięci DRAM. Oryginalny przebieg jest następnie odtwarzany za pomocą DSP na procesorze ogólnego przeznaczenia. Można odtwarzać tylko małe segmenty, aż do wielkości pamięci próbki. Myślę, że zakres 100 GHz Lecroy (i prawdopodobnie większość innych szybkich zakresów) wykorzystuje PCIe do podłączenia komputera sterującego do ADC i przykładowej pamięci RAM.
alex.forencich

60

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.


15

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.

wprowadź opis zdjęcia tutaj

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,


Dzięki za opracowanie, jest to ważna część całej układanki.
stevie
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.