Немного тупой вопрос...
Возможно ли в FPC закреплять потоки за конкретным ядром/процессором?
Использование многоядерности.
Модератор: Модераторы
- Sergei I. Gorelkin
- энтузиаст
- Сообщения: 1409
- Зарегистрирован: 24.07.2005 14:40:41
- Откуда: Зеленоград
Кроссплатформенной поддержки этого в FPC точно нет.
- FeodoR
- новенький
- Сообщения: 59
- Зарегистрирован: 16.04.2010 12:11:34
- Откуда: MSK, ЮАО
- Контактная информация:
Хотя бы в Линухе (Debian 5.0.3 (i386) or МСВС 3.0)...
Была идея (так как Core2Duo...Quad Xeon) посадить на один проц вычислительную задачу, чтобы она спокойно считалась себе в реальном времени (с шагом интегрирования 10..20 мс), а на второй - опрос плат, сетевой обмен... Проще говоря, обмен по шине.
Но вот как проконтролировать, что потоки выполняются на разных процессорах (ядрах)...
Собственно из этой идеи вопрос и родился.
Была идея (так как Core2Duo...Quad Xeon) посадить на один проц вычислительную задачу, чтобы она спокойно считалась себе в реальном времени (с шагом интегрирования 10..20 мс), а на второй - опрос плат, сетевой обмен... Проще говоря, обмен по шине.
Но вот как проконтролировать, что потоки выполняются на разных процессорах (ядрах)...
Собственно из этой идеи вопрос и родился.
Из процедуры потока вызывать АПИ системы, чтобы привязать поток к конкретному процессору. Не кроссплатформенно, но работать должно.
- FeodoR
- новенький
- Сообщения: 59
- Зарегистрирован: 16.04.2010 12:11:34
- Откуда: MSK, ЮАО
- Контактная информация:
Кроссплатформенность решается IFDEF'ами 
Буквально 10 минут назад испытал лёгкий шок: в МСВС 3.0 ни в одном из поставляемых с ней ядер нет потоков, доступных пользователю. То есть FPC (2.5.1 r15153), Laz 0.9.29 r24790 спокойно встают, компилирую всё (за что я люблю Паскаль), но как только дело доходит до потоков - Cannot Create Thread. А нам по хорошему под ней аттестовываться.
Так что буду решать проблему в комплексе. С соответствующими feedback в базу знаний.
Буквально 10 минут назад испытал лёгкий шок: в МСВС 3.0 ни в одном из поставляемых с ней ядер нет потоков, доступных пользователю. То есть FPC (2.5.1 r15153), Laz 0.9.29 r24790 спокойно встают, компилирую всё (за что я люблю Паскаль), но как только дело доходит до потоков - Cannot Create Thread. А нам по хорошему под ней аттестовываться.
Так что буду решать проблему в комплексе. С соответствующими feedback в базу знаний.
