6 / 6 / 2
Регистрация: 09.02.2016
Сообщений: 138
1

Доступ к кешу другого ядра

21.11.2017, 11:09. Показов 323. Ответов 14
Метки нет (Все метки)

Добрый день, форумчане.

Если приложение сидит в 10 ядре, хочет получить данные, которые находятся в другом ядре (в кеше ядра). Имеет ли разница во времени, если будет получать из соседнего 9 или дальнего 1?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.11.2017, 11:09
Ответы с готовыми решениями:

Подскажите пожалуйста по кешу
Здравствуйте. Поясните пожалуйста, какой кеш лучше использовать? В проекте есть несколько страниц,...

Почему при удалении ядра пишет "доступ запрещён"?
Задача такая: Linux Ядро перекомпилировали, а оно не запускается. Вернулись к старому ядру....

Доступ к ui из другого класса
Добрый день! Отупел в край, выручайте)) Пролапатил кучу тем, все вода и срач. Вообщем есть форма,...

Доступ к БД из другого Activity.
Очередной нубский вопрос. В главном активити есть dbHelper. Все хорошо. Хочу в одном активити...

14
2782 / 1293 / 167
Регистрация: 28.10.2011
Сообщений: 4,779
Записей в блоге: 6
21.11.2017, 11:54 2
Приложение не имеет доступа к кешу ядер. Оно даже не имеет доступа к физической памяти. У приложения доступ только к виртуальной памяти. Более того, учитывая многозадачность, приложение может выполнятся в один момент на 2 ядре, в другой на 4 и т. д.
1
6 / 6 / 2
Регистрация: 09.02.2016
Сообщений: 138
21.11.2017, 11:57  [ТС] 3
Цитата Сообщение от locm Посмотреть сообщение
У приложения доступ только к виртуальной памяти.
это понятно.. я упростил.

если более подробно, приложение запрашивает кусок памяти, этот кусок памяти есть уже в кеше другого ядра. Процессор не пойдет в физическую память вынимать от туда данные, он передаст из кеша.
Я вот и ищу ответ. Есть ли разница, данные находятся в соседнем ядре или нет.
0
174 / 166 / 28
Регистрация: 20.10.2014
Сообщений: 1,032
21.11.2017, 13:02 4
Цитата Сообщение от karat39 Посмотреть сообщение
тот кусок памяти есть уже в кеше другого ядра
Для этих целей есть кеш л3. Если данные есть в кеше л2 другого ядра, то они 99% будут в кеше л3. Разница при выполнении на другом ядре будет составлять пару, может десяток наносекунд. Узбагойтесь =)
Кеш л2, а тем более л1 не будет хранить данные выполняющего, а тем более уже выполненного приложения . Даже в момент выполнения там будут разные данные, постоянно замещаться новыми - необходимыми для выполнения конкретной операции, а не приложения в целом. Тем более, что таких приложений у вас сотни.
0
6 / 6 / 2
Регистрация: 09.02.2016
Сообщений: 138
21.11.2017, 13:03  [ТС] 5
Цитата Сообщение от CHESTER-ART Посмотреть сообщение
Для этих целей есть кеш л3. Если данные есть в кеше л2 другого ядра, то они 99% будут в кеше л3
спасибо, я не знал что l3 дублирует l2

Добавлено через 22 секунды
Цитата Сообщение от CHESTER-ART Посмотреть сообщение
Узбагойтесь =)
борюсь со стабильностью софта
0
174 / 166 / 28
Регистрация: 20.10.2014
Сообщений: 1,032
21.11.2017, 13:11 6
Цитата Сообщение от karat39 Посмотреть сообщение
спасибо, я не знал что l3 дублирует l2
Я этого не говорил на прямую. Но Л2 содержит малую часть данных кеша л3. Л2 может дублировать полностью или частично данные кеша Л3. Полностью дублировать= если объем данных необходимых для обработки помещается в Л2, если нужна только часть данных = частично дублируется... грубо говоря, примерно как то так.
1
2782 / 1293 / 167
Регистрация: 28.10.2011
Сообщений: 4,779
Записей в блоге: 6
21.11.2017, 14:17 7
L3 кеш есть не на всех процессорах.

Цитата Сообщение от karat39 Посмотреть сообщение
борюсь со стабильностью софта
Как кеш влияет на стабильность софта?
0
6 / 6 / 2
Регистрация: 09.02.2016
Сообщений: 138
21.11.2017, 14:27  [ТС] 8
Цитата Сообщение от locm Посмотреть сообщение
Как кеш влияет на стабильность софта?
когда писал про стабильность, имел ввиду стабильное время выполнения определенных участков программы.
понятное дело, именно на этот результат, кеш влияет сильно. Находятся/не находятся данные в кеше, нужно ли их из памяти доставать, подкешированы ли инструкции кода и тд.

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

Что касательно моего вопроса, у меня возникают ситуации, когда данные с пару кб сидят в другом ядре, по не зависящим от меня причинам. Поэтому и спросил, есть ли разница, доставать эти данные из ближнего ядра или нет.
Но уже понятно (как то я сразу не сообразил), что обмен пойдет по L3, это где то будет в пределах 20нс у меня
0
2782 / 1293 / 167
Регистрация: 28.10.2011
Сообщений: 4,779
Записей в блоге: 6
21.11.2017, 17:01 9
Цитата Сообщение от karat39 Посмотреть сообщение
имел ввиду стабильное время выполнения определенных участков программы.
Тогда нужно учитывать работу конвейера процессора с его предсказанием ветвлений, многозадачность ОС, которая может прервать выполнение потока и возобновить работу через ненормированное время, выполнение прерываний и транзаций DMA и много чего другого.
0
6 / 6 / 2
Регистрация: 09.02.2016
Сообщений: 138
21.11.2017, 17:05  [ТС] 10
Цитата Сообщение от locm Посмотреть сообщение
процессора с его предсказанием ветвлений
через профилирование intel достиг приемлемых результатов
Цитата Сообщение от locm Посмотреть сообщение
многозадачность ОС, которая может прервать выполнение потока и возобновить работу через ненормированное время
я ос не пускаю в определенные ядра
Цитата Сообщение от locm Посмотреть сообщение
выполнение прерываний и транзаций DMA
вот как раз через dma и отхватываю прерывания и достаю данные из другого ядра. Сами транзакции в свое ядро тоже не пускаю.
0
2782 / 1293 / 167
Регистрация: 28.10.2011
Сообщений: 4,779
Записей в блоге: 6
21.11.2017, 17:06 11
Цитата Сообщение от karat39 Посмотреть сообщение
У меня одинаковый софт, но на разных процах (с разным кол-вом кеша)
На разных процах может отличаться алгоритм работы конвейера. Системная плата тоже может влиять на производительность. Разные ОС, текущая загрузка процессора, количество активных процессов и многое другое - вот что реально сказывается на производительность, а не только кеш.
0
6 / 6 / 2
Регистрация: 09.02.2016
Сообщений: 138
21.11.2017, 17:07  [ТС] 12
Цитата Сообщение от locm Посмотреть сообщение
Разные ОС, текущая загрузка процессора, количество активных процессов
кроме платы и цпу все очень идентично.
0
2782 / 1293 / 167
Регистрация: 28.10.2011
Сообщений: 4,779
Записей в блоге: 6
21.11.2017, 17:07 13
Цитата Сообщение от karat39 Посмотреть сообщение
вот как раз через dma и отхватываю прерывания и достаю данные из другого ядра. Сами транзакции в свое ядро тоже не пускаю.
Программа выполняется на нулевом кольце безопасности? Т. е. не приложение?
0
174 / 166 / 28
Регистрация: 20.10.2014
Сообщений: 1,032
21.11.2017, 17:47 14
karat39, таки вы поясните, это пользовательское ПО для массового юзверя или сугубо ваша личная для узконаправленных целей?
Отсюда уже и плясать будем.
0
490 / 368 / 51
Регистрация: 13.04.2016
Сообщений: 1,831
21.11.2017, 20:23 15
CHESTER-ART, очевидно же, что это не пользовательская программа. Зачем спрашивать))
Скайнет программируют, оптимизируют реал-тайм задержки в кешах...
И про 10 ядер тут сказано условно. На самом деле их там тысячи или даже миллионы, очевидно же.

karat39, встречный вопрос, а что такое соседнее ядро в масштабах скайнета? Ядро на соседнем континенте считается соседним? Или надо чтобы были в одной комнате? Или на одной печатной плате? Или на одном процессоре? Или в одном кристалле? Или...
Кстати, кто знает, квады на 775 сокете, там соседние, на одном кристале, ядра, в диспетчере задач это 1 и 2, и 3-4, или 1-3 и 2-4?

Если идет привязка к железу, то надо изучать архитектуру этого железа, ну и физическую реализацию неплохо знать.
P.s. я может, банальщину говорю, простите).
И да, может стоит почитать документацию к реалтайм системе в которой ведется разработка проги, примеры посмотреть, может, на сайте производителя форум какой есть, где можно обменяться опытом, а не спрашивать практически у случайных людей.
Про ардуино много материала, даже тут раздел, вроде, есть. Должно быть что-то подобное и для вашей RT системы...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.11.2017, 20:23

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Доступ к ui из другого класса
Доброй ночи. Ребята, данные вопросы уже поднимались на форуме. Подобные темы не помогли. Вопрос...

Доступ к UI из другого потока
Добрый день. Никак не могу придумать, как решить мою проблему, пишу библиотеку, в которой...

нетбук с каким процом лучше n550(2 ядра )или C-50(2 ядра )?
всем привет решил в следюющем году сдать егэ по инфе => надо готовится и учить програмирование а...

Помогайте выбрать: видюха 640М и проц i7 2.4Гц (4 ядра) или 750M и i7 2Гц (2 ядра) ?
Приветствую. Вот занес уже руку в кошелек для покупки ноута Acer ASPIRE V5-572G но тот...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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