Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
IvanPryamoy
247 / 1 / 1
Регистрация: 02.01.2013
Сообщений: 31
#1

Менеджмент жесткого диска при многопоточности - C++

05.01.2013, 20:49. Просмотров 409. Ответов 3
Метки нет (Все метки)

Пусть у меня 4-ех ядерный процессор, и запущено 4 рабочих потока (в одном процессе). Казалось бы, что все хорошо, но диск-то у меня один!

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

?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2013, 20:49     Менеджмент жесткого диска при многопоточности
Посмотрите здесь:

Стратегии обслуживания жесткого диска - C++
Здравствуйте, пробую разобраться с темой обслуживания на примере стратегии N-SCAN; нашел для примера код, но в нем есть не совсем...

Какой апи функцией можно получить номер жесткого диска (не тома) - C++
То есть хотелось бы вытащить из жесткого диска его биос-номер но не номер тома

Библиотека или класс для построения иерархии каталога жесткого диска - C++
Привет всем. Ищу библиотеку, с помощью которой я смогу реализовать выбор для открытия какого-либо файла на компе в моем приложении. Нужна...

Windows-приложение для мониторинга состояния SMART регистров жесткого диска - C++
Доброго времени суток дорогие ребята! Возможно кто-то уже сталкивался с такой задачей.Не составить ли вам труда помочь студенту. Буду...

Как правильно передать объект в функцию при использовании многопоточности - C++
Добрый день, форум! Возникла вот такая задача: Есть два класса: класс А, реализующий интегрирование функции, и класс В, реализующий...

О многопоточности - C++
Интересно, стало, а сколько всего потоков я могу открыть в своем проекте, существуют ли какие нибудь ограничения? и от чего зависит...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nick Alte
Эксперт С++
1608 / 1000 / 118
Регистрация: 27.09.2009
Сообщений: 1,930
Завершенные тесты: 1
05.01.2013, 22:50     Менеджмент жесткого диска при многопоточности #2
Например, отдельный поток чтения-записи, которому остальные потоки передают заявки на такие операции. Иногда можно даже не ждать результатов, сразу бежать дальше.
IvanPryamoy
247 / 1 / 1
Регистрация: 02.01.2013
Сообщений: 31
06.01.2013, 10:02  [ТС]     Менеджмент жесткого диска при многопоточности #3
Цитата Сообщение от Nick Alte Посмотреть сообщение
Например, отдельный поток чтения-записи, которому остальные потоки передают заявки на такие операции. Иногда можно даже не ждать результатов, сразу бежать дальше.
Похоже параллельность действительно еще даже теоретически не обмозгована. Ведь если задумываться, то надо параллелить каждый вид устройства (не только процессор) и по количеству элементов этого устройства создавать необходимое количество потоков. Например, 4 потока для процессора, 2 потока для видеокарты, 1 поток для жесткого диска, 2 потока консоли (если два монитора). Каждое устройство образует свой пул потоков. А потом писать программу так, чтобы каждый пул устройства (состоящий из разного количества потоков), оптимально взаимодействовал с другими пулами устройств. "Межустройственое" взаимодействие, так сказать...

Не видел я еще размышлений на тему: как 4 потока одного устройства оптимально поделить между 2 потоками другого устройства...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.01.2013, 11:34     Менеджмент жесткого диска при многопоточности
Еще ссылки по теме:

изучение многопоточности - C++
с чего стоит начать изучение многопоточности? есть базовые знания по С++, основы ООП. пытался читать Назарр К., Рихтер Дж. - Windows via...

Синхронизации многопоточности - C++
добрый день, пытаюсь сделать синхронизацию потом на примере producer\consumer, но что-то не выходит, я в consumere сделал ожидания...

Производительность многопоточности - C++
Доброго времени суток. Решил заняться многопоточностью, и натолкнулся на непонимание с производиельность Есть код в 2 потока: ...

Теория о многопоточности и многопроцессорности - C++
Ребят, возник вот такой вопрос: в каком случае многопоточность и многопроцессорность не будут работать?

Реализация многопоточности в консоли - C++
Доброго времени суток. Не могу разобраться в многопоточности. Реализовано перемещение по меню с помощью клавиш, и с помощью мыши. Надо...

Управление потоками в многопоточности - C++
вопрос простой: что посоветуете почитать по теме для начинающего? с помощью чего проще реализовать? windows/linux? (нужно просто...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Nick Alte
Эксперт С++
1608 / 1000 / 118
Регистрация: 27.09.2009
Сообщений: 1,930
Завершенные тесты: 1
06.01.2013, 11:34     Менеджмент жесткого диска при многопоточности #4
Цитата Сообщение от IvanPryamoy Посмотреть сообщение
Похоже параллельность действительно еще даже теоретически не обмозгована.
Ещё как обмозгована-то.
Цитата Сообщение от IvanPryamoy Посмотреть сообщение
по количеству элементов этого устройства создавать необходимое количество потоков
Это далеко не единственный фактор, который надо учитывать при планировании потоков.
Цитата Сообщение от IvanPryamoy Посмотреть сообщение
2 потока для видеокарты
В видеокартах счёт идёт на сотни и тысячи, и механизмы управления и планирования там уже другие. Читаем про CUDA, OpenCL и вообще GPGPU.
Цитата Сообщение от IvanPryamoy Посмотреть сообщение
Не видел я еще размышлений на тему: как 4 потока одного устройства оптимально поделить между 2 потоками другого устройства...
Это ещё не значит, что оно "даже теоретически ещё не обмозговано". Надо знакомиться с результатами таких мозгований. Например, thread pool.
Yandex
Объявления
06.01.2013, 11:34     Менеджмент жесткого диска при многопоточности
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru