|
|
![Reply to this topic](style_images/1/t_reply.gif) ![Start new topic](style_images/1/t_new.gif) |
Linux на половине процессора, Одно из ядер под свою задачу другое под визуализацию. |
|
|
|
Oct 14 2011, 16:01
|
![](https://electronix.ru/forum/uploads/av-17218.jpg)
nofb
![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif)
Группа: Свой
Сообщений: 430
Регистрация: 18-05-06
Из: Москва, Зеленоград
Пользователь №: 17 218
![](style_images/1/spacer.gif)
|
Цитата(Аматер @ Oct 14 2011, 11:06) ![*](style_images/1/post_snapback.gif) Коллеги,
Я никогда не программировал под Linux, а сейчас камень мощный появился, можно и попробовать.
То есть планирую использовать Cortex-A9 с двумя ядрами, на одном из ядер запустить свою очень маленькую, но быструю задачу (короче 10us), а на другом linux. Думаю про отдельное ядро, потому что latency скажем в 4 us меня совершенно не устраивает. А задача такая маленькая что в кеш должна поместится.
Как подступится к Linux понятия не имею. И вообще возможно ли сделать чтобы какой то поток исполнялся на отдельном ядре независимо от остального Linux? Сделать можно все. Самое узкое место в Вашей системе - общие шины для оборудования и памяти от ядер. И еще будут некоторые проблемы с объяснением линуксу на каком ядре он должен работать, и на каком запустить вашу отдельную задачу (запускать ее будет именно линукс, тут без вариантов). И кстати - ваш кортекс-а9 имеет 4 ядра а не 2.
--------------------
Это не то что вы подумали ...
|
|
|
|
|
Oct 14 2011, 18:54
|
![](https://electronix.ru/forum/uploads/av-54616.jpg)
Частый гость
![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif)
Группа: Участник
Сообщений: 95
Регистрация: 3-01-10
Из: Рождественно
Пользователь №: 54 616
![](style_images/1/spacer.gif)
|
Цитата(gormih @ Oct 14 2011, 19:01) ![*](style_images/1/post_snapback.gif) Сделать можно все. Самое узкое место в Вашей системе - общие шины для оборудования и памяти от ядер. И еще будут некоторые проблемы с объяснением линуксу на каком ядре он должен работать, и на каком запустить вашу отдельную задачу (запускать ее будет именно линукс, тут без вариантов). Это у вас Cortex-A9 с четырьмя ядрами а у меня с двумя http://www.altera.com/devices/processor/ar...-cortex-a9.htmlТолько я не понял почему без вариантов запускать под Linux надо?
Сообщение отредактировал Аматер - Oct 14 2011, 18:55
Эскизы прикрепленных изображений
|
|
|
|
|
Oct 16 2011, 08:40
|
![](https://electronix.ru/forum/uploads/av-17218.jpg)
nofb
![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif)
Группа: Свой
Сообщений: 430
Регистрация: 18-05-06
Из: Москва, Зеленоград
Пользователь №: 17 218
![](style_images/1/spacer.gif)
|
Цитата(Аматер @ Oct 14 2011, 22:54) ![*](style_images/1/post_snapback.gif) Это у вас Cortex-A9 с четырьмя ядрами а у меня с двумя http://www.altera.com/devices/processor/ar...-cortex-a9.htmlТолько я не понял почему без вариантов запускать под Linux надо? Потому что собрать самому ядро для одного процессора будет значительно сложнее, чем для двух. Для двух уже есть готовые реализации, которые нужно чуть подработать. Для одного Вам нужно будет славно потрудится, чтобы запустить хотя бы ядро Linux- дело неблагодарное имхо, но если есть много времени и высококлассный спец по портированию Linux ядра на новые платформы - почему бы и нет :-)
--------------------
Это не то что вы подумали ...
|
|
|
|
|
Oct 16 2011, 11:03
|
![](https://electronix.ru/forum/uploads/av-54616.jpg)
Частый гость
![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif)
Группа: Участник
Сообщений: 95
Регистрация: 3-01-10
Из: Рождественно
Пользователь №: 54 616
![](style_images/1/spacer.gif)
|
Цитата(gormih @ Oct 16 2011, 11:40) ![*](style_images/1/post_snapback.gif) Потому что собрать самому ядро для одного процессора будет значительно сложнее, чем для двух. Для двух уже есть готовые реализации, которые нужно чуть подработать. Для одного Вам нужно будет славно потрудится, чтобы запустить хотя бы ядро Linux- дело неблагодарное имхо, но если есть много времени и высококлассный спец по портированию Linux ядра на новые платформы - почему бы и нет :-) Как то вы неопределенно говорите. Готовые реализации это hard affinity что ли? Но я не понимаю будет ли линукс запускать что либо на ядре к которому привязана моя задача? Может ли он тормозить выполнение моей задачи? Задержка даже в 4 мкс не подходит мне. Поэтому и пытаюсь выяснить подход заранее.
|
|
|
|
|
Oct 16 2011, 14:05
|
![](https://electronix.ru/forum/uploads/av-54616.jpg)
Частый гость
![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif)
Группа: Участник
Сообщений: 95
Регистрация: 3-01-10
Из: Рождественно
Пользователь №: 54 616
![](style_images/1/spacer.gif)
|
Цитата(a123-flex @ Oct 16 2011, 16:45) ![*](style_images/1/post_snapback.gif) а что, задача так сложна или в ней floating point ? по описанию - задача- типовая плисовая Так она и решается сейчас на FPGA+NIOS. Но скорости не хватает. Естественно float упростит жизнь, можно будет отказатся от маштабирования для повышения точности. А fpga + DSP или внешний ARM как-то вызывают сомнения потому что время потеряется на синхронизации, предаче данных и результатов.
|
|
|
|
|
Oct 16 2011, 18:58
|
![](https://electronix.ru/forum/uploads/av-17218.jpg)
nofb
![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif)
Группа: Свой
Сообщений: 430
Регистрация: 18-05-06
Из: Москва, Зеленоград
Пользователь №: 17 218
![](style_images/1/spacer.gif)
|
Цитата(Аматер @ Oct 16 2011, 18:05) ![*](style_images/1/post_snapback.gif) Так она и решается сейчас на FPGA+NIOS. Но скорости не хватает. Естественно float упростит жизнь, можно будет отказатся от маштабирования для повышения точности. А fpga + DSP или внешний ARM как-то вызывают сомнения потому что время потеряется на синхронизации, предаче данных и результатов. Есть такие чипы - DSP и FPGA в одном корпусе (чипе). Их достаточно много. Имхо самое то для Вас :-) А многоядерные чипы могут и не оправдать Ваших надежд... Тут как бы самое узкое место - как раз взаимодействие ядер между собой и с аппаратурой через всякие "интеллектуальные" штуки, которые могут достаточно неадекватно вести себя для Вашей задачи. (Не зная сути задачи трудно судить)
--------------------
Это не то что вы подумали ...
|
|
|
|
|
Oct 16 2011, 19:37
|
![](https://electronix.ru/forum/uploads/av-54616.jpg)
Частый гость
![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif)
Группа: Участник
Сообщений: 95
Регистрация: 3-01-10
Из: Рождественно
Пользователь №: 54 616
![](style_images/1/spacer.gif)
|
Цитата(gormih @ Oct 16 2011, 21:58) ![*](style_images/1/post_snapback.gif) Есть такие чипы - DSP и FPGA в одном корпусе (чипе). Их достаточно много. Имхо самое то для Вас :-) А многоядерные чипы могут и не оправдать Ваших надежд... Тут как бы самое узкое место - как раз взаимодействие ядер между собой и с аппаратурой через всякие "интеллектуальные" штуки, которые могут достаточно неадекватно вести себя для Вашей задачи. (Не зная сути задачи трудно судить) Может подскажите хоть одного производителя кто выпускает DSP+FPGA в одном корпусе? Насколько я знаю и у xilinx и у altera пока только анонсированы A9+FPGA. Про DSP+FPGA вообще первый раз слышу.
|
|
|
|
|
Oct 17 2011, 04:16
|
![](https://electronix.ru/forum/uploads/av-17218.jpg)
nofb
![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif)
Группа: Свой
Сообщений: 430
Регистрация: 18-05-06
Из: Москва, Зеленоград
Пользователь №: 17 218
![](style_images/1/spacer.gif)
|
Цитата(Аматер @ Oct 16 2011, 23:37) ![*](style_images/1/post_snapback.gif) Может подскажите хоть одного производителя кто выпускает DSP+FPGA в одном корпусе? Насколько я знаю и у xilinx и у altera пока только анонсированы A9+FPGA. Про DSP+FPGA вообще первый раз слышу. Точно где то встречал. Еще спрошу у человека. А вообще есть вот такой вариант например. ARM конечно ограничен в dsp инструкциях, но все же. На счет конкретно DSP + FPGA еще узнаю :-)
--------------------
Это не то что вы подумали ...
|
|
|
|
|
Oct 17 2011, 07:34
|
![](https://electronix.ru/forum/uploads/av-54616.jpg)
Частый гость
![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif)
Группа: Участник
Сообщений: 95
Регистрация: 3-01-10
Из: Рождественно
Пользователь №: 54 616
![](style_images/1/spacer.gif)
|
Цитата(gormih @ Oct 17 2011, 07:16) ![*](style_images/1/post_snapback.gif) Точно где то встречал. Еще спрошу у человека. А вообще есть вот такой вариант например. ARM конечно ограничен в dsp инструкциях, но все же. На счет конкретно DSP + FPGA еще узнаю :-) Так о чем я и говорил с самого начала, про альтеру на которую вы ссылку даете. А DSP+FPGA не делают, потому что DSP решается в встроенными в FPGA умножителями. У меня немного другая задача - нужно по входным данным найти кое что и расчитатать, то есть на фильтр вообще не похоже. Поэтому cortex A9 иделальный вариант. Вот только почему то их программируют с операционками. Ну и ладно, операционка вещь хорошая, но должна крутится независимо от моей задачи. Поэтому и задал вопрос можно ли выделить ядро под мою задачу. Пока кажется что проще адаптировать скажем eCos чем настроить Linux.
|
|
|
|
|
Nov 28 2011, 15:18
|
![](https://electronix.ru/forum/uploads/av-10008.jpg)
фанат Linux'а
![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif) ![*](style_images/1/pip.gif)
Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008
![](style_images/1/spacer.gif)
|
Цитата(sasamy @ Oct 19 2011, 11:08) ![*](style_images/1/post_snapback.gif) Чем проще ? SMP в Linux отключается в конфиге одной галочкой, а вот как общие ресурсы делить между ядрами это уже другой вопрос, для этого различные гипервизоры пишут, кстати у cortex-a есть аппаратное расширение TrustZone, мне кажется надо смотреть в эту сторону, на сайте ARM есть где-то пример настройки двух standalone задач, правда помоему для одного ядра пример. +1, заставить Linux работать не только без SMP, но и вообще выделить какое либо ядро (или несколько) чтобы оно было свободно - делается в конфигах и даже в параметре к ядру а то сижу читаю местных экспертов про "ужасные сложности" и диву даюсь
--------------------
|
|
|
|
|
![Reply to this topic](style_images/1/t_reply.gif) ![Start new topic](style_images/1/t_new.gif) |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|