Время
- 00:00:01 — 1 (sec.) секунда;
- 00:00:00.001 — 1 миллисекунда (millisec.) — одна тысячная секунды — 10-3;
- 00:00:00.000,001 — 1 микросекунда (microsec.) — одна миллионная секунды — 10-6;
- 00:00:00.000,000,001 — 1 наносекунда (nanosec.) — одна миллиардная секунды — 10-9;
- 00:00:00.000,000,000,001 — 1 пикосекунда — (picosec.) — одна триллионная секунды — 10-12.
Скорость света: расстояние — время
- 1 фут (30 см) кабеля = 1 наносекунда;
- 1 метр кабеля = 3.3 наносекунды;
- 1 километр = 3.3 микросекунды (1 километр волоконной оптики — 4.76 микросекунд — замедление на 70%);
- 10 километров = 33 микросекунды (10 километров волоконной оптики — 49 микросекунд — замедление на 70%);
- от геостационарной орбиты до Земли — 35 786 км = 119 миллисекунды = 0,12 секунды.
Скорость света: время — расстояние
- 1 миллисекунда — 300 км. кабеля, т.е. 300.000 метров кабеля;
- 1 микросекунда — 300 метров кабеля, т.е. 30.000 сантиметров кабеля;
- 1 наносекунда — 1 фут (0.3 метра, т.е. 30 см) кабеля — 1 такт процессора с частотой 1ГГц;
- 1 пикосекунда — 0.3 фута (0.1 метра, т.е. 10 см) кабеля.
Скорость света и микропроцессор
1 МГц — 1 миллион тактов в секунду — 1 такт процессора за 1 микросекунду.
1 ГГц — 1 миллиард тактов в секунду — 1 такт процессора за 1 наносекунду.
Современный микропроцессор имеет стандартную частоту 3 ГГц и даже выше. Такой процессор сделает за 1 наносекунду примерно 3 такта, т.е. 1 такт — за 0.3 наносекунды (300 пикосекунд). За один такт 3 ГГц процессора свет проходит 10 см. в вакууме, а в среде процессорного кристала и по медным проводникам свет движется на 25% медленнее скорости света в вакууме.
Эти факторы физически ограничивают размеры микропроцессора и переферийных устройств, так как при современных частотах просто невозможно передать сигнал тактовой частоты с одного конца процессора в другой, если его физические размеры превышают 20 см. Этот же факт накладывает ограничения на синхронизацию процессоров в многопроцессороной системе. Если один процессор изменяет значение в общем L3 кэше и передает об этом сигнал другому процессору, второй процессор не может узнать об этом «моментально», пройдет определенное время пикосекунд, прежде чем второй процессор будет способен среагировать на изменение значения.
[ См. также: Числа, которые должен знать каждый программист ]
Скорость света и latency в сети
Со скоростью света непосредственно связано понятие «задержка» (latency), с которым постоянно борются инженеры финансовых технологий. По законам физики (точнее, постулатам Теории относительности) сигнал не может быть передан быстрее скорости света. Это значит — не быстрее 300.000 км./сек, или 300 км. в миллисекунду (299,792,458 метров в сек). То есть расстояние в 300 километров неизбежно отнимает 1 миллисекунду у вашей программы при передаче данных.
При этом:
- считается не географическое расстояние, а то расстояние, которое сигнал должен пройти по всем соединениям до места назначения, что может быть значительно больше, чем географическое расстояние.
- среда, по которой идёт сигнал, тоже накладывает свои ограничения. 300.000 км./сек. это скорость света в вакууме. Распространение света в воздухе при нормальной температуре (273.15 К) и нормальном атмосферном давлении (0.986 атм.) в 1.0003 раза медленнее, чем в вакууме. Сигнал же по современным сетям передаётся по медными или по волоконно-оптическим кабелям. В волоконно-оптическом кабеле (в зависимости от его качества) свет распространяется скорость 72-75% от эталонной. В медном кабеле — 60-70% от эталонной.
Чем ближе ваше приложение к бирже, тем быстрее ваши ордера достигнут ее торгового движка. Поэтому, если торговая стратегия чувствительна к latency, единственное решение — это co-location в дата-центре биржи, или на крайний случай — proximity hosting в дата-центре третьей стороны.
Адмирал Грейс Хоппер в этом видео объясняет наглядно, что такое одна наносекунда — расстояние, которое свет пройдет за одну наносекунду, т.е. за одну миллиардную секунды, а потом — за одну микросекунду, т.е. за одну миллионную секунды.
[ См. также: Как трансконтинентальные кабели связи связывают финансовые центры мира ]
Интересные факты
Взмах крыла фруктовой мухи дрозофилы: 4 миллисекунды (250 раз в секунду).
Мигание глаза человека: 100-150 миллисекунд.
Скорость реакции человека:
- на свет: 100-200 миллисекунд
- на звук: 120-150 миллисекунд
- на электрокожный раздражитель: 100-150 миллисекунд
За 200 миллисекунд сигнал успевает пройти от спутника со стационарной орбиты Земли и обратно.
Современные биржевые движки способны провести одну транзакцию (сведение ордера на покупку с ордером на продажу) менее чем за 100 микросекунд (а самые передовые — уже и за меньшее время). Человек физически не способен среагировать на событие, происходящие с такой скоростью. В связи с этим люди-трейдеры заменяются в торговых залах на компьютеры, а с этим растет роль электронной и автоматизированной торговли, когда торговые операции программируются заранее и выполняются компьютерами в автоматическом режиме без непосредственного участия человека.