Skip to content

jeffrey-minwei/io-ordering

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

Notes on I/O ordering

Regarding the example presented by Google software engineer Will Deacon on the presentation Uh-oh; it's I/O ordering

[source]

Example: store buffering

Initially,*x and *y are 0 in memory; foo and bar are local (register) variables:
CPU0                           CPU1
a: WRITE_ONCE(*x, 1);          c: WRITE_ONCE(*y, 1);
b: foo = READ_ONCE(*y);        d: bar = READ_ONCE(*x);

That inspire me to do some experiments regarding I/O ordering and related memory model, then this respository comes.

Install herdtools7

  • opam
  • herdtools7

Before install herdtools7, we need install opam first

$ sudo apt install opam
$ opam init
$ eval `opam config env`

When you see message below, please wait...

=-=- Updating package repositories =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[default] synchronized from https://opam.ocaml.org/1.2.2

When you see message below, use y

Do you want OPAM to modify ~/.profile and ~/.ocamlinit?
(default is 'no', use 'f' to name a file other than ~/.profile)
$ opam switch --all
$ opam update
$ opam upgrade
$ opam install herdtools7

Experiments

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published