|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
Сразу объясню зачем это нужно. Когда делаешь кластер серверов, соединенным гигабитом, там обмен между сервером приложений и SQL сервером делается пакетами примерно по 512 байт . Теоретическая задержка по Ping должна быть, с округлениями 0.01 миллисекуду (1/(1 000 000 000/8/512)) на пакет 512 байт, Тесты показывают что задержка Ping 128.0.0.1 минимум 0.1 милиссекуда а пинги компьютеров соединенных напрямую 0.4 миллисекунд т.е. к теоретической даже и не близко. при этом неважно как идет Ping через icmp либо эхопорт. Копирование файлов идет со скоростью 110 мегабайт в секунду т.е. близко к теоретической но там большие пакеты. Кстати мне сообщили что на линуксе можно достичь ping 128.0.0.1 к цифрам близким к теоретическим Для 100 мегабитной сети я получал цифры близкие к теоретическим, а для гигабита на windows отрыв от теоретических цифр в десятки раз. Вопрос - можно ли на windows достичь показатели задержки близкой к теоретической, для теста указанного выше? Вопрос - может кто встречал форумы источники и т.д. где эта тема хорошо освещена ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2014, 16:42 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
selis76, Для начала научитесь точно измерять эти пинги. А сейчас у вас погрешность измерения сильно больше измеряемой величины. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2014, 16:49 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
первая попавшаяся статья на тему. habrahabr.ru/company/etegro/blog/213911/ ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2014, 16:55 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
miksoftпервая попавшаяся статья на тему. habrahabr.ru/company/etegro/blog/213911/ поясните - я использовал hrping она меряет с высокой точностью статью почитаю ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2014, 17:01 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
selis76я использовал hrpingНу так это надо указывать. Я уж было подумал на шатный виндовый пинг. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2014, 17:11 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
Не являюсь спецом по сетевому оборудованию, но пытался с этим разобраться. Если речь идет об Ethernet, то IMHO практически нет Задержка возникает: 1. при обработке прерываний 2. в стеке ОС при обработке TCP/IP Для Intel сетевых карт есть эксперементальные опен-соурс драйвера с возможностью работать в режими пулинга (без прерываний). Как я понял, в свое время, это было реализовано на FreeBSD only - теперь ряд энтузиастов под эгидой Intel хотять вернуть обратно. Думаю, в этом режиме, можно достичь близких к теоретическому результатов. Если критична задержка, лично я бы посоветовал смотреть на _профессиональное_ оборудование. Типа InfiniBand (и желательно не TCP/IP). Всякая подделка, типа 10G Ethernet, то же врят ли Вам поможет. IMHO Ряд параметров драйверов/ОС/afinity для процесса-прерываний - могут помочь. Но, мне кажется, что это будет жесткий хардкор. Да и скорость до "теоретической" не дотянет. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2014, 17:18 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
selis76hrpingХм, даже hrping 127.0.0.1 дает порядка 0,15-0,2 мс А если hrping -c -n 100 127.0.0.1, то минимальный пинг сразу падает до 0,028 мс. А если hrping -c 10 -n 100 127.0.0.1, то уже 0,010 мс. Причем разброс величин весьма большой - до десятых долей мс. Т.е. еще нужно изучать этот hrping. И, похоже, Windows весьма неспешно отвечает на пинги. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2014, 17:42 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
Дальнейшие изыскания показывают очень сильную зависимость времени пинга от типа ОС и от хоста вообще. Т.е. таки насчет точности измерений я, похоже, был прав. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2014, 17:59 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
selis76Когда делаешь кластер серверов, соединенным гигабитом, там обмен между сервером приложений и SQL сервером делается пакетами примерно по 512 байт . Именно поэтому: 1) Устанавливают между сервером приложений и СУБД более одного коннекта; 2) Помещают их на одну мощную машину; 3) Отказываются от сервера приложений вообще, сокращая одно звено в цепочке. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2014, 19:33 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov1) Устанавливают между сервером приложений и СУБД более одного коннекта Для _задержки_ (latency) ничем не поможет IMHO ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2014, 19:37 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
Leonid KudryavtsevДля _задержки_ (latency) ничем не поможет IMHO Общую пропускную способность системы повысит. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2014, 20:15 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovОбщую пропускную способность системы повысит. Ну, а дальше, интересно сколько параллельных задач/пользователь нужно. Что бы задача "нехватает latency" решалась методом "повысит общую пропускную способность" да еще и с учетом 512 байтных пакетов? IMHO не просто много, а _очень_ много. В общем, совсем не то, о чем спрашивает автор. Но на его вопрос (да еще с учетом Windows), подозреваю ответ "почти никак". Ehernet и TCP/IP (конечно, возможно есть специализированные карточки, не знаю) это не та технология, которая оптимизирована для low-latency. При этом, AFAIK, что 1G Ethernet, что 10G Ethernet - масло масленое. 2) Помещают их на одну мощную машину; 3) Отказываются от сервера приложений вообще, сокращая одно звено в цепочке. Тут полностью плюсуюсь 4) ПЛЮС нормальные системы, например Oracle, имеют такие понятие как: bulk collect, fetch array, array size, fetch size и так далее Т.е. возможно в рамках одного пакета, передавать сразу много записей. Что почти полностью убирает проблему latency на уровне локальной сети. IMHO & AFAIK ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2014, 20:49 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
Leonid KudryavtsevНу, а дальше, интересно сколько параллельных задач/пользователь нужно. Что бы задача "нехватает latency" решалась методом "повысит общую пропускную способность" да еще и с учетом 512 байтных пакетов? IMHO не просто много, а _очень_ много. Ну так кластера для однопользовательских систем и не собирают. ЕМНИП, один коннект даёт примерно 1-4% загрузки сети. Так что, грубо посчитав, максимум 100 коннектов забьют весь канал. PS: в стартовом посте теоретическая оценка не учитывает оверхэда всего стэка протоколов. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2014, 20:59 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovНу так кластера для однопользовательских систем и не собирают... В какой стране? В России? AFAIK Вы ошибаетесь ))) (не IMHO, а именно AFAIK ))) ) Dimitry Sibiryakov...так что, грубо посчитав, максимум 100 коннектов забьют весь... Это в том случае, если толщина канала будет "узким горлышком". Стартовый пост заставляет в этом сомневаться ))). Если сейчас узкое горлышко latency, подозреваю, при 100 коннектах это будет процессор (даже, скорее, не сам процессор, а PCI шина) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2014, 21:25 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
Leonid KudryavtsevЕсли сейчас узкое горлышко latency, подозреваю, при 100 коннектах это будет процессор (даже, скорее, не сам процессор, а PCI шина ) По подробней можно? И PCI или PCI Express? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2014, 22:07 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
IMHO & AFAIK. А пофиг. Обработка прерываний. Изначальная ущербность Ethernet'а. Да и Windows радости не добавит. Конечно могу ошибаться. Но тут все зависит от кривизны используемого приложения. Судя по тому, что возник вопрос и проблема - достаточно кривое. Нужно кривость приложения лечить (пакеты по 512 байт), а не из сети несуществующую "задержку близкую к теоретической" выжимать. IMHO ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2014, 22:19 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
точнее Ethernet + TCP/IP + Windows ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2014, 22:21 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
Leonid KudryavtsevIMHO & AFAIK. А пофиг. Обработка прерываний. Изначальная ущербность Ethernet'а. Да и Windows радости не добавит. Конечно могу ошибаться. Но тут все зависит от кривизны используемого приложения. Судя по тому, что возник вопрос и проблема - достаточно кривое. Нужно кривость приложения лечить (пакеты по 512 байт), а не из сети несуществующую "задержку близкую к теоретической" выжимать. IMHO Выделенное да, но до ограничений PCI Express gen2/3 16x, с пропускной способностью 64 - 128 Gbit/sec и задержками 200-500нс как до Китая раком, и прерывания к шине PCI Express никак не относятся, во-первых, в самой шине нет и не нужно никаких прерываний, во-вторых,, прерывания на CPU инициируются устройствами (в т.ч. Ethernet) исключительно через физическое адресное пространство, как обычное обращение к удаленной памяти - msi / msi-x. А задержки естественно никогда не измеряют ping-ом, а измеряют sockperf-ом для различной длинны пакета. И для обычного 1 Gbit Ethernet на TCP/IP она не будет ниже 0.03 мкс (0.015 мкс в одну сторону). ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2014, 22:32 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
Пофиг. Могу ошибаться в терминологии, не специ по хардваре на таком уровне. Но IMHO все равно пофиг. Есть они (прерывания), нет их. Что оно физическим проводником на кристал приходит, что через пакет на шине. Все равно и в том и в другом случае, кто за лов латенси бьется их биндят (или афинят?) их на конретные ядра. И в любом случае тормозит. В общем пофиг. В милли/микро/нано и прочие секунды переводить не хочется. Абстрактные числа можно в Инете поискать. Вот когда топик стартер их добьется, да еще желательно не в сферической тестовой конфигурации, а на реальном/криво написанном приложении... тогда и можно говорить ))) IMHO проше приложение сделать нормальным. Что бы вместо 512 байтных пакетов, что то осмысленное по сети передавалось. ==== Вася Уткин, а с RSS в Windows сталкивался/разбирался? Вроде technet читал, но не фига не могу понять, почему поведение на практике отличается от алгоритма описанного на technet и как это можно отрейсить. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2014, 01:50 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
Вася Уткин....она не будет ниже 0.03 мкс (0.015 мкс в одну сторону). По вики, мкс == микросекунда == 10 в -6 степени 0.03 мкс == 30 наносекунд? Как-то мне кажется перебор ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2014, 02:10 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
selis76, - что за адрес такой 128.0.0.1? - что подразумевается под теоретическими цифрами? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2014, 10:03 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
Теоретическими я бы назвал цифры из И-нета. Например http://www.qlogic.com/resources/documents/technologybriefs/adapters/tech_brief_introduction_to_ethernet_latency.pdf табличка на последней страницы. 50-120 мкс это 0.05 - 0.12 мс. Если не ошибся. Т.ч. даже от теоретической не так уж далеко ))) Как я помню, видел на своем офисном 1g Ethernete 45 тысяч пакетов в сек. (вроде получается 20 мкс) Но счастья не приносило. Т.к. на прикладном уровне Oracle thin JDBC все было значительно скучнее. Не более 8 тыс.при выкрученных настройках сетевой и прибинденном к ядру прикладной задаче (прерывания не биндил). В общем, минимум латенси (улучшение в 4 раза) был достигнуть в совершенно сферических условиях и при выкаченном вакууме. Мерил вроде netperf (для меня давало достаточно сферически цифры) и своим простеньким тестом Oracle thin JDBC. Корреляция между netperf и прикладным тестом была достаточно слабая ((( ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2014, 11:24 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
Leonid KudryavtsevВася Уткин....она не будет ниже 0.03 мкс (0.015 мкс в одну сторону). По вики, мкс == микросекунда == 10 в -6 степени 0.03 мкс == 30 наносекунд? Как-то мне кажется перебор ))) Здесь я опечатался, 30/15 мкс конечно для обычного Ethernet 1 Gbit :) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2014, 12:40 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
Leonid KudryavtsevDimitry SibiryakovОбщую пропускную способность системы повысит. Ну, а дальше, интересно сколько параллельных задач/пользователь нужно. Что бы задача "нехватает latency" решалась методом "повысит общую пропускную способность" да еще и с учетом 512 байтных пакетов? IMHO не просто много, а _очень_ много. Кластер из сервера приложений и сервера базы данных в данной задаче не просто так. На сервере приложений запускается до 40 фоновых заданий которые производят обсчет и запись проводок (Фоновые задания 1С) Сервер базы данных обслуживает запросы от этих фоновых заданий. Класть все на один сервер (и приложение и субд) можно конечно, но не хочется с точки зрения маштабирования. Т.е. на первое время это конечно будет хорошо, но потом превратится в тупиковый вариант. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2014, 13:38 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
Ну а что Вы хотели? Сеть, задержка по сети. Что знал, уже написал. Практически настройкой сетевой карты, ОС и ковырянием приложения (???) скорость, скорее всего, можно в 2-4 раза повысить. Но это придел и при откачивание вакуума из сферического коня (главное, что бы при этом сам конь не сдулся и форму не потерял ))) ). Дальше, только спец.железо и/или драйвера. IMHO & AFAIK ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2014, 14:17 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
OFFTOPIC Но по теме А кто нибудь знает, на железках типа HP SuperDom (ну и вообще на любых коробках для блейдов). Если мы железку разбиваем на хард-партиции, есть ли возможность между ними соорудить виртуальную TCP/IP сеть через Numa-линк? Как в таких железках решается вопрос связи партиция - партиция? Неужели вставляют в один ящик сетевые карты и ходят через свичь? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2014, 14:28 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
Leonid KudryavtsevOFFTOPIC Но по теме А кто нибудь знает, на железках типа HP SuperDom (ну и вообще на любых коробках для блейдов). Если мы железку разбиваем на хард-партиции, есть ли возможность между ними соорудить виртуальную TCP/IP сеть через Numa-линк? Как в таких железках решается вопрос связи партиция - партиция? Неужели вставляют в один ящик сетевые карты и ходят через свичь? Для создания хард-партиций софт используется и если да, то какой? В виртуалках типа VMWare, Virtualbox, и т.д. можно создавать виртуальную сеть TCP/IP, которая работает через общую память хостовой машины. Возможно ли там поднять SDP/uDAPL - не знаю. На сегодняшний день самым быстрым интерфейсом для кластерных систем является интерфейс PCI Express - именно его мы и используем. И протоколы IP over PCIe, SDP и самые быстрые протоколы uDAPL/SCI. Чуть хуже интерфейсы Infiniband и Ethernet (с поддержкой TOE и RDMA). ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2014, 15:08 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
Вася УткинДля создания хард-партиций софт используется и если да, то какой? Не уверен, но думаю стандартный HP-ный. Вася УткинНа сегодняшний день самым быстрым интерфейсом для кластерных систем является интерфейс PCI Express - именно его мы и используем. И протоколы IP over PCIe, SDP и самые быстрые протоколы uDAPL/SCI. Чуть хуже интерфейсы Infiniband и Ethernet (с поддержкой TOE и RDMA). А можно ссылку на доку/карточки/решения? Не из праздного любопытства. Просто с такой проблемой (латенси) сталкивался(юсь). На прикладном уровне Вася УткинEthernet (с поддержкой TOE и RDMA). вроде же RDMA и IP параллельны друг другу? С RDMA понятно, должно наступить светлое будущее. Только обычно софт ничего кроме IP не понимает ( Вася Уткин...Чуть хуже интерфейсы Infiniband и Ethernet (с поддержкой TOE и RDMA). В живую не трогал, но по докам Infiniband и Ethernet должны сильно отличаться. Смотрел доки на Melanox Infiniband и HP 10G Ethernet - день и ночь. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2014, 15:45 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
нашел только презентацию https://www.pcisig.com/developers/main/training_materials/get_document?doc_id=43e794c658c2071d17d0b52b961a1f618ff6dab4 но там совсем нет никаких ссылок на детали реализации драйвера IP ((( Еще есть Intel iWARP но по презентациям совершенно не понятно, что там на ком стоит. Вначале говорят, что IP over iWARP /RDMA/, потом говорят что RDMA over IP. Все же разница есть ))). Слова "...Microsoft added support for iWARP verbs to Microsoft Windows Server* 2012 R2, with built-in support for file server operations using Microsoft’s Server Message Block (SMB) 3.0 technology and Hyper-V*virtual machine migration using LiveMigration.." пугают. Т.к. есть подозрение, что на чистое IP не факт, что вся эта оптимизация скажется. Нужно смотреть вживую на конкретном приложении. IMHO ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2014, 17:45 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
Leonid KudryavtsevВася УткинДля создания хард-партиций софт используется и если да, то какой? Не уверен, но думаю стандартный HP-ный. Вася УткинНа сегодняшний день самым быстрым интерфейсом для кластерных систем является интерфейс PCI Express - именно его мы и используем. И протоколы IP over PCIe, SDP и самые быстрые протоколы uDAPL/SCI. Чуть хуже интерфейсы Infiniband и Ethernet (с поддержкой TOE и RDMA). А можно ссылку на доку/карточки/решения? У нас доки, драйвера и решения собственного написания, под NDA :) Как пойдет в серию, будет много инфы. Гуглите карточки PLX PCIe Switch И IDT PCIe Switch, драйвера и решения гуглите A3Cuba или Dolphin IP и Dolphin SCI Leonid KudryavtsevНе из праздного любопытства. Просто с такой проблемой (латенси) сталкивался(юсь). На прикладном уровне Вася УткинEthernet (с поддержкой TOE и RDMA). вроде же RDMA и IP параллельны друг другу? С RDMA понятно, должно наступить светлое будущее. Только обычно софт ничего кроме IP не понимает ( Вася Уткин...Чуть хуже интерфейсы Infiniband и Ethernet (с поддержкой TOE и RDMA). В живую не трогал, но по докам Infiniband и Ethernet должны сильно отличаться. Смотрел доки на Melanox Infiniband и HP 10G Ethernet - день и ночь. Ethernet бывает разный, во-первых, есть дешевые с большой задержкой и дорогие с маленькой задержкой, во-вторых, есть опции: с TOE - вся обработка TCP ложиться на карточку, с RDMA вообще TCP не нужно, а используют SDP - те же сокеты, но без стека TCP/IP. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2014, 17:46 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
Вася Уткин...Ethernet бывает разный, во-первых, есть дешевые с большой задержкой и дорогие с маленькой задержкой, во-вторых, есть опции: с TOE - вся обработка TCP ложиться на карточку... AFAIK беда не в карточке, беда на стороне OS. Что ответ от СУБД приходит не на то ядро, с которого приложение посылало запрос. В результате планировщик смазывает/намазывает приложение (и драйвера) по ядрам. Туда сюда обратно, тебе и мне приятно. Теоретически, в Windows есть технология RSS (Receive Side Scaling), которая должна раскидывать ответы по нужным очередям/ядрам, но на практике, AFAIK не все так радужно. Т.ч. для паттерна обмена клиент-сервер СУБД, сильно бы хотелось драйвера в режиме спуллинга. Отправили запрос на сервер и не освобождая ядро, на том же ядре ждем ответа. Правда, не очень понятно, поймет ли ОС, что не только код драйвера, но и код прикладной задачи с ядра не нужно вытеснять. Melanox, что-то подобное обещает. Насколько работает, х.з., в руках не держал. IMHO Вася Уткин...с RDMA вообще TCP не нужно, а используют SDP - те же сокеты, но без стека TCP/IP. Проблема, что прикладной софт обычно умеет только TCP. А тут, AFAIK, в Windows вся производительность падает на прерываниях и на планировщике задач/потоков. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2014, 18:17 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
Leonid KudryavtsevВася Уткин...Ethernet бывает разный, во-первых, есть дешевые с большой задержкой и дорогие с маленькой задержкой, во-вторых, есть опции: с TOE - вся обработка TCP ложиться на карточку... AFAIK беда не в карточке, беда на стороне OS. Что ответ от СУБД приходит не на то ядро, с которого приложение посылало запрос. В результате планировщик смазывает/намазывает приложение (и драйвера) по ядрам. Туда сюда обратно, тебе и мне приятно. Для этого мы вместе с железо+драйвера пишем доки как правильно программировать высоконагруженные сетевые приложения :) И вот когда приложение написано почти идеально, плюс задействованы: sched_setaffinity + sched_priority + /proc/irq/X/smp_affinity, то мы умеем задержку 30/15мкс на Ethrnet через 1 свич. Leonid KudryavtsevТеоретически, в Windows есть технология RSS (Receive Side Scaling), которая должна раскидывать ответы по нужным очередям/ядрам, но на практике, AFAIK не все так радужно. Т.ч. для паттерна обмена клиент-сервер СУБД, сильно бы хотелось драйвера в режиме спуллинга . Отправили запрос на сервер и не освобождая ядро, на том же ядре ждем ответа. Правда, не очень понятно, поймет ли ОС, что не только код драйвера, но и код прикладной задачи с ядра не нужно вытеснять. Melanox, что-то подобное обещает. Насколько работает, х.з., в руках не держал. Режим пуллинга, или снуппинга? Есть драйвера где настраиваются и возможность пуллинга на мелких пакетах и irq-coalescing. К тому же, sched_setaffinity + sched_priority(realtime) - и ваш поток с этого ядра никто никогда не выпустит, кроме прерываний. А их все убераем через, кроме, допустим, нужной сетевухи: /proc/irq/X/smp_affinity quot Leonid Kudryavtsev] IMHO Вася Уткин...с RDMA вообще TCP не нужно, а используют SDP - те же сокеты, но без стека TCP/IP. Проблема, что прикладной софт обычно умеет только TCP. А тут, AFAIK, в Windows вся производительность падает на прерываниях и на планировщике задач/потоков.[/quot] Вы ошибаетесь, любое приложение умеет SDP (без стека TCP/IP) и может использовать его без перекомпиляции, а TCP/IP там используется только для раздачи MAC/IP адресов. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2014, 18:48 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
Вася УткинDolphin IP интересная хрень Ну и их графику, Low latency - Socket я как то верю. Очень хорошо показывает то, о чем я говорил. Можно поменять 1G Ethernet на 10G Ethernet, но эффект будет исчисляться процентами. Счастье вряд ли принесет ))). ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2014, 18:52 |
|
Можно ли задержку в сети 1 гигабит приблизить к теоретической?
|
|||
---|---|---|---|
#18+
Leonid KudryavtsevВася УткинDolphin IP интересная хрень Ну и их графику, Low latency - Socket я как то верю. Очень хорошо показывает то, о чем я говорил. Можно поменять 1G Ethernet на 10G Ethernet, но эффект будет исчисляться процентами. Счастье вряд ли принесет ))). Ещё бы, maximum bandwidth и minimum latency - вещи абсолютно перпендикулярные и никак не зависящие друг от друга. А вот кластеры Oracle RAC и DB2 Purescale умеют uDAPL - а это значит задержки между нодами около 1 мкс, что очень близко к QPI :) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2014, 19:00 |
|
|
start [/forum/topic.php?all=1&fid=30&tid=1529398]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
25ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
others: | 285ms |
total: | 413ms |
0 / 0 |