Вопросы по теме 'memory-barriers'
Как понять барьеры чтения и нестабильность памяти
Некоторые языки предоставляют модификатор volatile , который описывается как выполнение «барьера чтения памяти» перед чтением памяти, которая поддерживает переменную.
Барьер памяти чтения обычно описывается как способ гарантировать, что ЦП...
25417 просмотров
schedule
31.10.2022
Барьер памяти с помощью оператора блокировки
Недавно я прочитал о барьерах памяти и проблеме переупорядочения, и теперь у меня есть некоторое замешательство по этому поводу.
Рассмотрим следующий сценарий:
private object _object1 = null;
private object _object2 = null;
private bool...
7018 просмотров
schedule
21.04.2023
Зачем нужен барьер памяти?
В C # 4 in a Nutshell (кстати, настоятельно рекомендуется) используется следующий код для демонстрации концепции MemoryBarrier (при условии, что A и B выполнялись в разных потоках):
class Foo{
int _answer;
bool complete;
void A(){...
10577 просмотров
schedule
27.09.2022
Зачем нам нужен Thread.MemoryBarrier ()?
В статье «Вкратце о C # 4» автор показывает, что этот класс может иногда писать 0 без MemoryBarrier , хотя я не могу воспроизвести в моем Core2Duo:
public class Foo
{
int _answer;
bool _complete;
public void A()
{
_answer...
19350 просмотров
schedule
31.10.2023
Достаточно ли функций блокировки мьютекса без энергозависимости?
Мы с коллегой пишем программное обеспечение для различных платформ, работающих на x86, x64, Itanium, PowerPC и других серверных процессорах 10-летней давности.
Мы только что обсудили, достаточно ли функций мьютекса, таких как pthread_mutex_lock ()...
9220 просмотров
schedule
14.09.2022
Синхронизация потоков. Как именно блокировка делает доступ к памяти «правильным»?
Прежде всего, я знаю, что lock{} синтетический сахар для Monitor класса. (о, синтаксический сахар)
Я играл с простыми проблемами многопоточности и обнаружил, что не могу полностью понять, как блокировка некоторого произвольного СЛОВА памяти...
1042 просмотров
schedule
08.10.2022
Подразумевает ли вызов pthread_cond_signal или pthread_cond_broadcast барьер записи в память?
Переменные условия обычно используются таким образом, что состояние, на которое они ссылаются, модифицируется мьютексом. Однако, когда состояние представляет собой всего лишь один флаг только для установки, нет необходимости в мьютексе для...
2554 просмотров
schedule
02.01.2024
Порядок и видимость модели памяти?
Я пытался найти подробности по этому поводу, я даже читал стандарт на мьютексы и атомики ... но все же я не мог понять гарантии видимости модели памяти C ++ 11. Насколько я понимаю, очень важной особенностью mutex BESIDE взаимного исключения является...
5783 просмотров
schedule
29.05.2022
Это правильное использование Thread.MemoryBarrier()?
Предположим, у меня есть поле, которое управляет выполнением некоторого цикла:
private static bool shouldRun = true;
И у меня есть поток, который имеет код вроде:
while(shouldRun)
{
// Do some work ....
Thread.MemoryBarrier();
}...
2138 просмотров
schedule
14.07.2023
С# параллелизм массива структур
Учитывая массив структуры:
public struct Instrument
{
public double NoS;
public double Last;
}
var a1 = new Instrument[100];
И пул многопоточных задач, который выполняет запись в эти элементы на основании того, что один элемент может...
1114 просмотров
schedule
28.11.2023
Каков самый легкий (самый) весовой барьер памяти GCC в таком случае?
У меня есть следующий код C:
...
data[index] = something;
a_write_memory_barrier();
index = new_index;
...
Код не защищен блокировкой (другие просто читают data и index ), я хочу убедиться, что data[index] сохранен перед обновлением...
1027 просмотров
schedule
13.06.2022
Видна ли переупорядочение памяти другим потокам на однопроцессоре?
Часто современные архитектуры ЦП используют оптимизацию производительности, которая может привести к неупорядоченному выполнению. В однопоточных приложениях также может происходить переупорядочение памяти, но оно невидимо для программистов, как если...
2211 просмотров
schedule
10.06.2022
CreateFileMapping и MapViewOfFile с межпроцессным (несинхронизированным) многопоточным доступом?
Я использую область общей памяти для передачи сом-данных второму процессу.
Первый процесс использует CreateFileMapping (INVALID_HANDLE_VALUE, ..., PAGE_READWRITE, ...) и MapViewOfFile ( ... FILE_MAP_WRITE) .
Второй процесс...
1565 просмотров
schedule
15.02.2023
Объяснение ошибки Thread.MemoryBarrier () с OoOP
Итак, после прочтения Threading в C # Альбахари я пытаюсь разобраться в Thread.MemoryBarrier () и обработке вне очереди.
Следуя ответу Брайана Гидеона на Почему нам нужен Thread.MemoerBarrier () , он упоминает следующее код заставляет программу...
442 просмотров
schedule
20.04.2022
Барьеры потоковой передачи и неявной памяти
Пытаемся понять модель памяти .net, когда дело касается потоковой передачи. Это чисто теоретический вопрос, и я знаю, что его можно решить другими способами, например, используя lock или пометив _task как volatile .
Возьмем, к примеру,...
422 просмотров
schedule
02.06.2022
Гарантия актуальности переменной в .NET (изменчивое или изменчивое чтение)
Я прочитал много противоречивой информации (msdn, SO и т. Д.) О volatile и VoletileRead (ReadAcquireFence).
Я понимаю последствия этого ограничения переупорядочения доступа к памяти - что меня до сих пор полностью смущает, так это гарантия...
2263 просмотров
schedule
08.05.2023
Упорядочение памяти в C ++ 11 связано с упорядочением сброса основной памяти?
Я не уверен, что полностью понимаю (и, возможно, ошибаюсь) концепции атомарности и упорядочения памяти в C ++ 11. Возьмем этот простой однопоточный пример:
int main()
{
std::atomic<int> a(0);
std::atomic<int> b(0);...
301 просмотров
schedule
01.04.2023
Постоянная оптимизация сворачивания/распространения с барьерами памяти
Я некоторое время читал, чтобы лучше понять, что происходит при многопоточном программировании с современным (многоядерным) процессором. Однако, пока я читал это , я заметил код ниже в раздел «Явные барьеры компилятора», в котором не используется...
283 просмотров
schedule
05.06.2022
Обеспечивает ли модель памяти Intel избыточность SFENCE и LFENCE?
Модель памяти Intel гарантирует:
Покупки в магазинах не будут переупорядочены в других магазинах.
Заказы на другие грузы не будут переупорядочены.
http://bartoszmilewski.com/2008/11/05/who-ordered-memory-fences-on-an-x86/
Я видел...
2120 просмотров
schedule
07.03.2022
Программа тестирования для выявления неисправности ЦП
Я написал многопоточную программу, чтобы продемонстрировать эффект выхода процессора Intel из строя. Программа прикреплена в конце поста. Ожидаемый результат должен заключаться в том, что когда x будет распечатан как 42 или 0 обработчиком1. Однако...
392 просмотров
schedule
25.01.2023