RSSAmplifier

Blog

Reitzen ad absurdum

Recent content on Reitzen ad absurdum

reitzen.comRSS feed ↗3 posts

Latest posts

Advent of Code 2021, Day 24: Computing with Sets

Day 24 of Advent of Code 2021 naively involves implementing a machine that implements an imaginary assembly language, with a program given as the puzzle input. This must then be executed up to 9^14 times to search for the lowest and highest program inputs that yield a specific result. Implementing it as an interpreter is computationally infeasible. I did this as a first pass, and it would have…

Temporal Fuzzing II: Barriers, CAS and Locks

Part of a Series: Temporal Fuzzing I: Memory Models Temporal Fuzzing II: Barriers, CAS and Locks In Process Memory Models In the previous post, we looked at a simple shared memory concurrency problem. Then we simulated it using Temper, my Clojure library for temporal fuzzing. In this post, we’re going to explore shared memory concurrency more. We’ll cover Intel vs ARM, and introduce…

Temporal Fuzzing I: Memory Models

Part of a Series: Temporal Fuzzing I: Memory Models Temporal Fuzzing II: Barriers, CAS and Locks Concurrency Reasoning about concurrent execution is hard. Let’s start with some pseudocode. Assume all memory is initialized to 0, and each of these two threads is spawned very close to the other in random order and execute in parallel. What will each print? x = 1 print( y ) y = 1 print( x )…