wegen/FrOSCon26/drawings/coherence.svg

386 lines
9.3 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="254.0mm"
height="142.9mm"
viewBox="0 0 254.0 142.9"
version="1.1"
id="svg22"
sodipodi:docname="coherence.svg"
inkscape:export-filename="../coherence-2.svg"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
inkscape:version="1.4.3 (0d15f75042, 2025-12-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs
id="defs22" />
<sodipodi:namedview
inkscape:document-units="mm"
units="mm"
id="namedview1"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="2.0378142"
inkscape:cx="479.926"
inkscape:cy="286.82694"
inkscape:window-width="1920"
inkscape:window-height="1057"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer-3-core1-read" />
<title
id="title1">Cache coherence and observability</title>
<g
inkscape:groupmode="layer"
id="layer-1-scaffold"
inkscape:label="1 - scaffold (x=0 everywhere)"
style="display:inline">
<defs
id="defs1">
<marker
id="arrow"
viewBox="0 0 10 10"
refX="8"
refY="5"
markerWidth="6"
markerHeight="6"
orient="auto-start-reverse">
<path
d="M 0,0 10,5 0,10 Z"
fill="#555555"
id="path1" />
</marker>
</defs>
<rect
x="44"
y="24"
width="46"
height="20"
rx="2"
fill="#ffffff"
stroke="#222222"
stroke-width="0.8"
id="rect1" />
<text
x="67"
y="35.799999"
font-family="'DejaVu Sans', Verdana, sans-serif"
font-size="5.5px"
font-weight="600"
fill="#222222"
text-anchor="middle"
id="text1">Core</text>
<rect
x="164"
y="24"
width="46"
height="20"
rx="2"
fill="#ffffff"
stroke="#222222"
stroke-width="0.8"
id="rect2" />
<text
x="187"
y="35.799999"
font-family="'DejaVu Sans', Verdana, sans-serif"
font-size="5.5px"
font-weight="600"
fill="#222222"
text-anchor="middle"
id="text2">Core</text>
<path
d="M 67,44 V 58"
stroke="#555555"
stroke-width="0.6"
fill="none"
marker-end="url(#arrow)"
id="path2" />
<path
d="M 187,44 V 58"
stroke="#555555"
stroke-width="0.6"
fill="none"
marker-end="url(#arrow)"
id="path3" />
<path
d="m 67,80 v 30"
stroke="#555555"
stroke-width="0.6"
fill="none"
id="path4" />
<path
d="m 67,110 23,-6"
stroke="#555555"
stroke-width="0.6"
fill="none"
id="path5" />
<path
d="m 187,80 v 30"
stroke="#555555"
stroke-width="0.6"
fill="none"
id="path6" />
<path
d="m 187,110 -23,-6"
stroke="#555555"
stroke-width="0.6"
fill="none"
id="path7" />
<rect
x="44"
y="58"
width="46"
height="22"
rx="2"
fill="#f2f2f2"
stroke="#222222"
stroke-width="0.8"
id="rect7" />
<rect
x="164"
y="58"
width="46"
height="22"
rx="2"
fill="#f2f2f2"
stroke="#222222"
stroke-width="0.8"
id="rect8" />
<text
x="67"
y="64"
font-family="'DejaVu Sans', Verdana, sans-serif"
font-size="4.2px"
font-weight="600"
fill="#222222"
text-anchor="middle"
id="text8">Cache</text>
<text
x="187"
y="64"
font-family="'DejaVu Sans', Verdana, sans-serif"
font-size="4.2px"
font-weight="600"
fill="#222222"
text-anchor="middle"
id="text9">Cache</text>
<text
x="67"
y="74"
font-family="'DejaVu Sans', Verdana, sans-serif"
font-size="6.5px"
font-weight="700"
fill="#8a8a8a"
text-anchor="middle"
id="text10">x = 0</text>
<text
x="187"
y="74"
font-family="'DejaVu Sans', Verdana, sans-serif"
font-size="6.5px"
font-weight="700"
fill="#8a8a8a"
text-anchor="middle"
id="text11">x = 0</text>
<rect
x="82"
y="104"
width="90"
height="24"
rx="2"
fill="#f2f2f2"
stroke="#222222"
stroke-width="0.8"
id="rect11" />
<text
x="127"
y="111"
font-family="'DejaVu Sans', Verdana, sans-serif"
font-size="4.2px"
font-weight="600"
fill="#222222"
text-anchor="middle"
id="text12">DRAM</text>
<text
x="127"
y="122.5"
font-family="'DejaVu Sans', Verdana, sans-serif"
font-size="6.5px"
font-weight="700"
fill="#8a8a8a"
text-anchor="middle"
id="text13">x = 0</text>
</g>
<g
inkscape:groupmode="layer"
id="layer-2-core0-write"
inkscape:label="2 - core0 writes x=1"
style="display:inline">
<rect
x="44"
y="58"
width="46"
height="22"
rx="2"
fill="#dce8f2"
stroke="#14507d"
stroke-width="1.1"
id="rect13" />
<text
x="67"
y="64"
font-family="'DejaVu Sans', Verdana, sans-serif"
font-size="4.2px"
font-weight="600"
fill="#222222"
text-anchor="middle"
id="text14">Cache</text>
<text
x="67"
y="74"
font-family="'DejaVu Sans', Verdana, sans-serif"
font-size="6.5px"
font-weight="700"
fill="#14507d"
text-anchor="middle"
id="text15">x = 1</text>
</g>
<g
inkscape:groupmode="layer"
id="layer-3-core1-read"
inkscape:label="3 - core1 reads: still x=0"
style="display:inline">
<rect
x="164"
y="58"
width="46"
height="22"
rx="2"
fill="#f2f2f2"
stroke="#8a8a8a"
stroke-width="1.1"
id="rect15"
style="stroke:#13b8b9;stroke-opacity:1" />
<text
x="187"
y="64"
font-family="'DejaVu Sans', Verdana, sans-serif"
font-size="4.2px"
font-weight="600"
fill="#222222"
text-anchor="middle"
id="text16">Cache</text>
<text
x="187"
y="74"
font-family="'DejaVu Sans', Verdana, sans-serif"
font-size="6.5px"
font-weight="700"
fill="#8a8a8a"
text-anchor="middle"
id="text17">x = 0</text>
</g>
<g
inkscape:groupmode="layer"
id="layer-4-propagate"
inkscape:label="4 - later: DRAM sees x=1, core1 still stale"
style="display:inline">
<circle
cx="119"
cy="95"
r="0.69999999"
fill="#8a8a8a"
id="circle17" />
<circle
cx="123"
cy="95"
r="0.69999999"
fill="#8a8a8a"
id="circle18" />
<circle
cx="127"
cy="95"
r="0.69999999"
fill="#8a8a8a"
id="circle19" />
<circle
cx="131"
cy="95"
r="0.69999999"
fill="#8a8a8a"
id="circle20" />
<circle
cx="135"
cy="95"
r="0.69999999"
fill="#8a8a8a"
id="circle21" />
<rect
x="82"
y="104"
width="90"
height="24"
rx="2"
fill="#dce8f2"
stroke="#14507d"
stroke-width="1.1"
id="rect21" />
<text
x="127"
y="111"
font-family="'DejaVu Sans', Verdana, sans-serif"
font-size="4.2px"
font-weight="600"
fill="#222222"
text-anchor="middle"
id="text21">DRAM</text>
<text
x="127"
y="122.5"
font-family="'DejaVu Sans', Verdana, sans-serif"
font-size="6.5px"
font-weight="700"
fill="#14507d"
text-anchor="middle"
id="text22">x = 1</text>
</g>
<metadata
id="metadata22">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:title>Cache coherence and observability</dc:title>
<cc:license
rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/" />
<dc:description>Animation for the io_uring talk : show several copies of the same variable in CPU caches and main memory</dc:description>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/by-sa/4.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Notice" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Attribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#ShareAlike" />
</cc:License>
</rdf:RDF>
</metadata>
</svg>