Я ищу процессор, который выполняет чтение/сохранение выпуска с той же семантикой, которая указана в стандартах C11/C++11.
Синхронизация процессора x86 слишком сильна, поэтому невозможно протестировать алгоритм без блокировок с использованием семантики получения/освобождения.
Похоже, то же самое относится и к процессору ARM, поскольку эта архитектура предлагает либо более сильную, либо более слабую синхронизацию чтения/сохранения. Возможно, ARMv8.3 может предложить правильную семантику, но я считаю, что на рынке нет процессоров ARMv8.3.
На каком процессоре или архитектуре я должен протестировать алгоритм без блокировки, используя семантику получения-освобождения?
acq_rel
с разумными оптимизациями, которые позволят вам исследовать пути кода, которые вы никогда не наткнулись на x86. - person Jens Gustedt   schedule 29.08.2017mo_acq_rel
). Я бы порекомендовал протестировать оба, если это возможно! (И не только симулятор/эмулятор виртуальной машины, если только это не симулятор, специально запрограммированный для имитации переупорядочения памяти.) IDK, если аппаратное обеспечение DEC Alpha все еще доступно и поддерживается современными версиями компиляторов; вы можете в конечном итоге найти ошибки компилятора. - person Peter Cordes   schedule 01.09.2017