Планирование pthread и чтение () - PullRequest
0 голосов
/ 23 декабря 2011
  • Мы пытаемся передавать потоковое видео с RAID-массива.
  • С нашим RAID-массивом быстрее зацикливаться и читать 8k за раз, чем за 8M за раз.
  • Я пытаюсь изменить чужую многопоточную программу на C в Linux openSuse 11.4 из (псевдо-кода)

    read(fd, buf, 8M)
    

    в

    for(i = 0; i < 1000; ++i)
        read(fd, buf, 8K);
    
  • Но зацикленная версия читает намного медленнее.

Я подозреваю, что поток чтения заменяется при каждом вызове read().Я не могу быть первым, кто столкнулся с этой проблемой, но я не нашел ни одного примера кода для этого.Каков наилучший способ предотвратить замену потока чтения?Изменить планировщик / приоритет?Изменить поток параллелизма?

...