|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.05.2013, 17:04 | #1 |
Пользователь
Регистрация: 05.04.2012
Сообщений: 56
|
Вопрос по портам
Здравствуйте!
Регулярно приходится слышать о многопоточных загрузчиках и это не может не вызывать удивления. В общем вопрос такой: Есть порт куда происходит запись и откуда происходит чтение(в уровень ndisов углубляться не буду.) Собственно порт - это ресурс системы к которому есть доступ у приложения которое его собственно резервирует. И так, допустим у нас есть многопоточный загрузчик - какой может быть прирост в скорости download'a если потоки читать параллельно из сокета информацию не могут? Т.е есть та же очередить, некоторый пул "читающих". Т.е цельный stream ну ни как не может уступить в скорости многопоточному приложению. По идеи. И везде - многопоточность, многопоточнсоть. Ну а понт? Я понимаю если процесс загрузки распараллелен по 5 портам 5 процессами и они подгружают некоторый файл с разных ресурсов(что исключает блокировки и дает гешефт из-за большего выделения процессорного времени системой для задачи, а так же из за отсутствия задержек при получении пакетов) или же, на край, если процессор грамотно раскидывает потоки на свои 2-4 ядра и за счет этого суммарно больше квантов времени достается задаче операции чтения, естественно. Да и то- много ли выиграет загрузчик скорости в последнем варианте? Ну а какой может быть прирост на однопроцессорной, одноядерной машине при использовании мультипроцессинга при загрузке некоторого файла? Может вопрос и дебильный, но все же хотелось бы услышать мнения грамотных людей которые хорошо понимают сетевую архитектуру. Спасибо. p.s То что архитектура tcp протокола позволяет одновременно писать и читать - я знаю. вопрос о другом. p.p.s Да, что ж я такой категоричный- некоторые многоядерные процессоры тоже неумеют действительно распараллеливать треды. Последний раз редактировалось Dizelektwo; 15.05.2013 в 18:20. |
14.06.2013, 05:38 | #2 |
Форумчанин
Регистрация: 26.09.2011
Сообщений: 176
|
Если я правильно понял вопрос, многопоточная загрузка использовалась для обхода ограничения сервера на скорость для одного потока , как помню в хедере http можно передать с какого места качать файл , соответственно можно организовать многопоточную загрузку , или продолжить качать с места обрыва.
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
С++ соединение по портам сервера | FENnigga | C/C++ Сетевое программирование | 0 | 08.03.2013 16:44 |
Литература по виртуальным com портам. | vovken1997 | Общие вопросы Delphi | 2 | 24.02.2012 08:23 |
Обращение к портам. | Asgard-jedi | Помощь студентам | 5 | 09.06.2011 20:11 |
Каким образом процессор обращается к портам | Ivan_32 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 30.07.2009 12:29 |
Доступ к физическим портам LPT,COM,PCI... | Iotun | Помощь студентам | 2 | 08.10.2007 16:00 |