LINUX.ORG.RU
ФорумTalks

Как быстрее?

 ,


0

2

Не спится. Мучает вопрос. Мешают ли флешки друг другу?

Есть несколько флешек. Разного размера, с разными характеристиками. Нужно сохранить на них много файлов. С машины у которой все гнёзда USB одинаковые — 2.0 для определённости. Как быстрее: воткнуть самую быструю и сохранять на неё, или воткнуть все имеющиеся флешки, разбить файлы на группы, и одновременно сохранять на все флешки? (Разумеется, во 2-м случае возможна переброска из группы в группу, если какая-то флешка заметно быстрее и управится раньше.) Считаем, что скорость жёсткого диска больше суммарной скорости флешек.

★★★★★

По идее, не должны мешать. Пропускная способность современных шин сводится к школьным задачам о бассейне и трубах. Ядро хорошо умеет в параллельный ввод-вывод. FUSE заставляет SSD работать на скорости HDD, но там, как я понимаю, основные потери приходятся на переключение контекста между пользователем и ядром.

Ты, видимо, когда-то насмотрелся на копирование в несколько потоков на одну флешку, напрочь забыл обстоятельства, но осадочек остался.

Vidrele ★★★★★
()
Ответ на: комментарий от greenman

Только если это не root hub. Root hub это абстракция, у него даунстрим порты не делят пропускную способность апстрим порта. Есть ещё rate matching hub, это тоже абстракция. Я не сталкивался с платами, на которых был бы встроенный не root и не rate matching хаб.

Конечно надо копировать параллельно. Даже если usb host controller подключён к системе по pcie 1.0 x1, это 2 Gbps линк. Он должен быть способен насытить как минимум 4 порта usb 2.0 480 Mbps.

iliyap ★★★★★
()

Я собирал lvm raid0 на флешках. Работало действительно быстрее. Пользоваться этим всерьёз я конечно-же не стал.

legolegs ★★★★★
()

а разве нельзя просто, как в первом классе, где считают на палочках. Скажем, у системной шини 1000 попугаев. А у флешек 300 и 500 соотв. Значит, вместе они шину не перегрузят. Ведь комповская шина - ето разновидность сети.

Или еще проще - взять, и провести експеримент.

seiken ★★★★★
()
Ответ на: комментарий от seiken

провести експеримент.

На одной и той же флешке с одного и того же диска перекачивание гигабайтных файлов в 2 попытках дало очень разные результаты. Возможно, дело в драйвере fuse exfat.

у системной шини 1000 попугаев. А у флешек 300 и 500 соотв. Значит, вместе они шину не перегрузят. Ведь комповская шина - ето разновидность сети.

Об этом и спрашиваю. Напрямую ли ли они имеют доступ к этой шине, или есть узкое место между ними.

Другая очевидная проблема — скорость чтения с жёсткого диска вразбивку. Даже если он на порядок быстрее USB при последовательном чтении одного файла, что будет если он по очереди читает несколько?

И наверняка есть другие проблемы.

question4 ★★★★★
() автор топика

Если у тебя компьютер более-менее новый и флешки реально USB 2.0, то втыкай все вместе.

А так - зависит от кучи факторов, тут проще тестировать.

vbr ★★★★★
()
Последнее исправление: vbr (всего исправлений: 2)
Ответ на: комментарий от question4

Возможно, дело в драйвере fuse exfat.

Производительность накопителей надо измерять прямым доступом к блочному устройству. Всовывая туда драйвер файловой системы (любой) в середину, ты безнадёжно утрачиваешь чистоту эксперимента.

firkax ★★★★★
()
Ответ на: комментарий от iliyap

Он должен быть способен насытить как минимум 4 порта usb 2.0 480 Mbps.

А что, флешки эти 480 мбит/с могут реализовать? По-моему у них скорость обычно ещё меньше.

firkax ★★★★★
()

Одновременное сохранение на разные флешки будет быстрее, и здесь не только производительность шины играет роль.

Сама по себе флешка - устройство не быстрое, хотя производители и пытаются читерить разными способами, такими как кеширование, параллельная запись и тд, и тп. Но в целом быстродействие внутри самой флешки может быть даже ниже быстродействия самой шины.

Даже если ты воткнешь две флешки в две дырки хаба, а хаб в дырку на компе - скорость будет быстрее, хотя может и не в два раза, а насколько хватит флешатинского буфера. А если учесть что хабы висят на PCI-шине ...

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

windows10 ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)