2

В общем, понимание ответа может варьироваться в зависимости от производителя и модели (и драйвера и т.д.) На рабочих станциях потребительского уровня со встроенными сетевыми картами, полагается ли сетевой адаптер на большую помощь (как это обычно бывает) с контроллером USB, например), или он достаточно интеллектуален и способен самостоятельно (как, скажем, типичный контроллер Firewire)? Или вопрос слишком общий, чтобы ответить? (Если это имеет значение, вы можете принять Linux.)

Предыстория: я смотрю на подключение устройства (захват цифрового телевидения), которое будет передавать данные со скоростью ~ 20-50 Мбит / с на рабочую станцию с недостаточной мощностью. Я могу получить высокоскоростное устройство USB 2 или устройство, подключенное к сети, и заинтересован в том, чтобы по возможности избежать воздействия на процессор. Очевидно, что если это 100-Мбитная сетевая карта, то это примерно половина теоретической входящей полосы пропускания, тогда как это всего лишь одна десятая от 480 Мбит / с интерфейса USB 2 "High Speed". Но если последний требует большой поддержки процессора, а первый нет ...


Редактировать вопрос Энди побуждает меня немного расширить: машина будет PVR и компьютером в гостиной. Устройства являются приемниками цифрового наземного телевидения (DVB-T), а данные кодируются видео из цифрового потока (возможно, до двух потоков одновременно, каждый оценивается в ~ 20 Мбит / с). Поскольку он предварительно закодирован, CPU не должен кодировать его при получении, он просто должен записать его на диск (SATA-300). Процессор вполне может быть занят выполнением других вещей, не связанных с поступающими данными, хотя, например, (скажем) декодирование и отображение другого видео или аудио, или проверка на вирусы, или видеовызов ... ОС будет Ubuntu 10.04 LTS или Windows 7. Но вопрос в большей степени любопытен относительно природы сетевых адаптеров, контроллеров USB и контроллеров Firewire.

4 ответа4

2

Точный объем использования ЦП будет зависеть от сетевого адаптера (например, Intel продает гигабитную карту для настольных ПК как "повышенную производительность при значительном снижении загрузки ЦП").

Однако, основываясь на неподтвержденных данных, я могу заверить вас, что накладные расходы с вашей гигабитной карты будут незначительными по сравнению с другими задачами, потребляющими процессор, например, кодированием / декодированием видео. Копирование файлов размером в несколько гигабайт по гигабитной ссылке практически не регистрируется на моем измерителе ЦП, даже при копировании со скоростью около 400 Мбит / с. Стоит также отметить, что любой зашифрованный туннель, через который могут проходить ваши данные, будет также потреблять гораздо больше ресурсов ЦП, чем ваша сетевая карта - я заметил примерно 10-кратное замедление копирования по SCP по сравнению с NFS или Samba с заметно более высокой загрузкой ЦП.

Я не уверен, насколько быстра ваша рабочая станция с недостаточным питанием, но у моего Athlon X2 4000+ с GeForce 6600 GT иногда возникают проблемы с декодированием видео H.264 даже при скромном разрешении 480p. Тем не менее, если на вас влияет подобное ограничение, вы можете решить его, установив видеокарту с аппаратным декодированием H.264.

0

Машина с процессором 200 МГц 1990-х годов может насыщать 100 Мбит / с Ethernet. Я не думаю, что вам есть о чем беспокоиться. На самом деле, я думаю, что у вас на два порядка больше нет причин для беспокойства.

0

Я никогда не видел, чтобы использование процессора при копировании полной оболочки с компьютера на компьютер превышало использование процессора на 5% в любой системе, которой я владел, за исключением, может быть, старой P200, которая у меня была раньше. Я не могу сказать, что я когда-либо замечал, что копирование с USB-устройств происходит особенно медленно или использует слишком много процессорного времени, единственное, что я заметил, - это когда устанавливается что-то вроде McAfee SystemCrippler, и это заставляет систему перемалывать больше, чем мельница установить супер-перегрузку.

В качестве примечания, ваш выбор защиты от вирусов может серьезно повлиять на ваш жесткий диск производительность и путем умозаключений на производительность любого устройства хранения данных.

Если вы действительно хотите, чтобы сетевой адаптер выполнял всю работу, тогда вам нужен KillerNIC, но я действительно не думаю, что незначительное использование ЦП, связанное с сетью, стоит затрат.

Как заметил Роб, и я подробно остановился на своем сообщении, вы можете перенести множество задач, таких как декодирование видео, на сторонние компоненты. Вы также можете приобрести программное обеспечение для разгрузки кодирования h264 на карты nVidia, а также с помощью Badaboom Media Converter.

0

Как я понимаю, сетевой адаптер обычно обрабатывает только самые нижние уровни, физический канал и канал передачи данных (на языке OSI). Остальная часть стека TCP/IP реализована в программном обеспечении. Исключением являются карты с TCP Offload Engine (TOE), где весь стек обрабатывается самой картой. Я слышал неоднозначные мнения о том, хорошо это или нет, потому что большой минус имеет гораздо более ограниченные ресурсы на самой карте по сравнению с машиной в целом. Но вопрос о сетевых платах m/board, и я думаю, что ОО более распространен для отдельных сетевых карт уровня сервера. Я также понимаю, что плохая реализация стека в программном обеспечении может быть проблемой для высокоскоростных ком, но я полностью полагаю, что стек Linux хорош и эффективен!

Интересная цитата из Computer Networks, Tanenbaum, 4e:

Скорость процессора важнее скорости сети

Многолетний опыт показывает, что практически во всех сетях операционная система и нагрузка на протокол доминируют в реальном времени в сети.

Я уверен, что с современным процессором и только ~ 50 Мбит / с и без кодирования вы вряд ли столкнетесь с какими-либо проблемами с процессором. Возможно, если вы делаете другие вещи одновременно, и это приводит к перегрузке HD, вы можете переполнить свой буфер ...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .