Analysis tool

This commit is contained in:
2022-05-09 17:58:25 +02:00
parent 15497619dd
commit c11f09ebe2
9 changed files with 368 additions and 229 deletions

97
img/drcachesim.tikz Normal file
View File

@@ -0,0 +1,97 @@
\begin{tikzpicture}
\begin{pgfonlayer}{nodelayer}
\node [style=none] (2) at (5, 15.5) {};
\node [style=none] (3) at (8.75, 15.5) {};
\node [style=none] (4) at (5, 13.5) {};
\node [style=none] (5) at (8.75, 13.5) {};
\node [style=none] (7) at (7.25, 14.5) {memref\_t};
\node [style=application] (9) at (5.5, 27) {Multithreaded application};
\node [style=none] (10) at (0.25, 24) {};
\node [style=none] (11) at (0.25, 18) {};
\node [style=none] (12) at (13.5, 24) {};
\node [style=none] (13) at (13.5, 18) {};
\node [style=none] (14) at (5.5, 24) {};
\node [style=none] (15) at (5.5, 18) {};
\node [style=none] (16) at (3, 21) {DynamoRIO};
\node [style=none] (17) at (9.5, 23) {DrCacheSim Client};
\node [style=none] (18) at (5.5, 24) {};
\node [style=function] (19) at (9.5, 21.5) {event\_bb\_analysis()};
\node [style=function] (20) at (9.5, 20) {event\_thread\_init()};
\node [style=none] (28) at (9.5, 19) {\vdots};
\node [style=none] (30) at (13.5, 21) {};
\node [style=none] (31) at (0, 11) {};
\node [style=none] (32) at (13.75, 11) {};
\node [style=none] (33) at (0, 0) {};
\node [style=none] (34) at (13.75, 0) {};
\node [style=none] (36) at (9.35, 14.5) {};
\node [style=none] (37) at (7, 10) {DrCacheSim Analyzer};
\node [style=none] (38) at (5.5, 8.75) {};
\node [style=none] (39) at (13, 8.75) {};
\node [style=none] (40) at (5.5, 5.75) {};
\node [style=none] (41) at (13, 5.75) {};
\node [style=none] (43) at (9.25, 8) {DRAMTracer};
\node [style=function] (44) at (9.25, 6.75) {process\_memref()};
\node [style=none] (45) at (5.5, 3.75) {};
\node [style=none] (46) at (13, 3.75) {};
\node [style=none] (47) at (5.5, 0.75) {};
\node [style=none] (48) at (13, 0.75) {};
\node [style=none] (49) at (9.25, 3) {Other analysis\_tool\_t};
\node [style=function] (50) at (9.25, 1.75) {process\_memref()};
\node [style=none] (51) at (9.25, 5) {.};
\node [style=none] (52) at (9.25, 4.75) {.};
\node [style=none] (53) at (9.25, 4.5) {.};
\node [style=none] (54) at (7, 16) {Named pipe};
\node [style=none] (55) at (1, 11) {};
\node [style=none] (56) at (1, 1.75) {};
\node [style=none] (57) at (1, 6.75) {};
\node [style=none] (58) at (3.25, 7.25) {memref\_t \&};
\node [style=none] (59) at (3.25, 2.25) {memref\_t \&};
\node [style=none] (60) at (15, 21) {};
\node [style=none] (61) at (15, 14.5) {};
\node [style=none] (62) at (1, 14.5) {};
\node [style=none] (63) at (5, 14.5) {};
\end{pgfonlayer}
\begin{pgfonlayer}{edgelayer}
\draw [style=pipe] (2.center)
to [bend right=90, looseness=0.75] (4.center)
to [bend right=90, looseness=0.75] cycle;
\draw [style=pipe] (4.center)
to [bend right=90, looseness=0.75] (2.center)
to (3.center)
to [bend left=90] (5.center)
to cycle;
\draw [style=block] (12.center)
to (13.center)
to (15.center)
to (11.center)
to (10.center)
to (14.center)
to cycle;
\draw [style=dashed line] (14.center) to (15.center);
\draw [style=block] (33.center)
to (31.center)
to (32.center)
to (34.center)
to cycle;
\draw [style=inner block] (38.center)
to (40.center)
to (41.center)
to (39.center)
to cycle;
\draw [style=inner block] (47.center)
to (48.center)
to (46.center)
to (45.center)
to cycle;
\draw [style=arrow without head] (55.center) to (57.center);
\draw [style=arrow without head] (57.center) to (56.center);
\draw [style=arrow] (57.center) to (44);
\draw [style=arrow] (56.center) to (50);
\draw [style=arrow] (9) to (18.center);
\draw [style=arrow without head] (30.center) to (60.center);
\draw [style=arrow without head] (60.center) to (61.center);
\draw [style=arrow without head] (63.center) to (62.center);
\draw [style=arrow] (61.center) to (36.center);
\draw [style=arrow] (62.center) to (55.center);
\end{pgfonlayer}
\end{tikzpicture}

24
img/thesis.tikzstyles Normal file
View File

@@ -0,0 +1,24 @@
% TiKZ style file generated by TikZiT. You may edit this file manually,
% but some things (e.g. comments) may be overwritten. To be readable in
% TikZiT, the only non-comment lines must be of the form:
% \tikzstyle{NAME}=[PROPERTY LIST]
% Node styles
\tikzstyle{function}=[fill={rgb,255: red,255; green,125; blue,125}, draw=red, shape=rectangle, rounded corners=3pt, thick]
\tikzstyle{application}=[fill={rgb,255: red,238; green,238; blue,238}, draw=black, shape=rectangle, minimum width=3cm, minimum height=1cm, thick]
\tikzstyle{thread player}=[fill=white, draw=black, shape=rectangle, minimum width=3cm, minimum height=8mm]
\tikzstyle{initiator socket}=[fill=black, draw=black, shape=rectangle, minimum width=2mm, minimum height=5mm]
\tikzstyle{interconnect thin}=[fill=white, draw=black, shape=rectangle, minimum height=3.5cm, align=center, minimum width=2.5cm]
\tikzstyle{interconnect thick}=[fill=white, draw=black, shape=rectangle, minimum height=3.5cm, align=center, minimum width=3.5cm]
\tikzstyle{target socket}=[fill=white, draw=black, shape=rectangle, minimum width=2mm, minimum height=5mm]
\tikzstyle{cache}=[fill=white, draw=black, shape=rectangle, minimum height=8mm, minimum width=1.75cm]
\tikzstyle{l3cache}=[fill=white, draw=black, shape=rectangle, minimum height=2.5cm, minimum width=1.75cm]
% Edge styles
\tikzstyle{dashed line}=[-, dashed]
\tikzstyle{arrow}=[->, thick]
\tikzstyle{pipe}=[-, fill={rgb,255: red,137; green,216; blue,131}, draw={rgb,255: red,0; green,125; blue,0}, thick]
\tikzstyle{block}=[-, thick, fill={rgb,255: red,238; green,238; blue,238}]
\tikzstyle{inner block}=[-, fill={rgb,255: red,199; green,213; blue,255}, thick, draw={rgb,255: red,60; green,106; blue,255}]
\tikzstyle{dotted line}=[-, dotted]
\tikzstyle{arrow without head}=[-, thick]

90
img/with_caching.tikz Normal file
View File

@@ -0,0 +1,90 @@
\begin{tikzpicture}
\begin{pgfonlayer}{nodelayer}
\node [style=thread player] (0) at (-16, 0) {DbiThreadPlayer};
\node [style=initiator socket] (1) at (-12.75, 0) {};
\node [style=thread player] (2) at (-16, -2) {DbiThreadPlayer};
\node [style=initiator socket] (3) at (-12.75, -2) {};
\node [style=thread player] (4) at (-16, -5) {DbiThreadPlayer};
\node [style=initiator socket] (5) at (-12.75, -5) {};
\node [style=interconnect thin] (10) at (18, -2.5) {MultiCoupler\\(Interconnect)};
\node [style=none] (12) at (-16, -3.25) {\vdots};
\node [style=target socket] (13) at (15.25, -2.5) {};
\node [style=none] (14) at (15, -2.5) {};
\node [style=initiator socket] (15) at (20.75, -2.5) {};
\node [style=initiator socket] (16) at (22, -2.5) {};
\node [style=initiator socket] (17) at (22.5, -2.5) {};
\node [style=none] (18) at (-19.5, 2.5) {};
\node [style=none] (19) at (22.25, 2.5) {};
\node [style=none] (20) at (-19.5, -7) {};
\node [style=none] (21) at (22.25, -7) {};
\node [style=none] (22) at (1.5, 1.75) {DbiPlayer};
\node [style=none] (24) at (21, -2.5) {};
\node [style=none] (25) at (21, -2.5) {};
\node [style=none] (28) at (21.75, -2.5) {};
\node [style=none] (30) at (25, 2.5) {};
\node [style=none] (31) at (25, -7) {};
\node [style=target socket] (32) at (24.75, -2.5) {};
\node [style=none] (35) at (24.5, -2.5) {};
\node [style=none] (38) at (22.75, -2.5) {};
\node [style=none] (40) at (30.25, 2.5) {};
\node [style=none] (41) at (30.25, -7) {};
\node [style=none] (43) at (27.75, -2.5) {DRAMSys};
\node [style=cache] (44) at (-9.5, 0) {L1 Cache};
\node [style=initiator socket] (45) at (-7.5, 0) {};
\node [style=target socket] (46) at (-11.5, 0) {};
\node [style=cache] (47) at (-9.5, -2) {L1 Cache};
\node [style=initiator socket] (48) at (-7.5, -2) {};
\node [style=target socket] (49) at (-11.5, -2) {};
\node [style=cache] (50) at (-9.5, -5) {L1 Cache};
\node [style=initiator socket] (51) at (-7.5, -5) {};
\node [style=target socket] (52) at (-11.5, -5) {};
\node [style=none] (53) at (-9.5, -3.25) {\vdots};
\node [style=cache] (54) at (-4, 0) {L2 Cache};
\node [style=initiator socket] (55) at (-2, 0) {};
\node [style=target socket] (56) at (-6, 0) {};
\node [style=cache] (57) at (-4, -2) {L2 Cache};
\node [style=initiator socket] (58) at (-2, -2) {};
\node [style=target socket] (59) at (-6, -2) {};
\node [style=cache] (60) at (-4, -5) {L2 Cache};
\node [style=initiator socket] (61) at (-2, -5) {};
\node [style=target socket] (62) at (-6, -5) {};
\node [style=none] (63) at (-4, -3.25) {\vdots};
\node [style=interconnect thick] (64) at (4, -2.5) {MultiSimpleCoupler\\(Interconnect)};
\node [style=target socket] (65) at (0.25, -2.5) {};
\node [style=none] (66) at (0, -2.5) {};
\node [style=initiator socket] (67) at (7.75, -2.5) {};
\node [style=none] (69) at (8, -2.5) {};
\node [style=none] (70) at (-1.75, 0) {};
\node [style=none] (71) at (-1.75, -2) {};
\node [style=none] (72) at (-1.75, -5) {};
\node [style=l3cache] (74) at (11.5, -2.5) {L3 Cache};
\node [style=initiator socket] (75) at (13.5, -2.5) {};
\node [style=target socket] (76) at (9.5, -2.5) {};
\node [style=none] (77) at (13.75, -2.5) {};
\end{pgfonlayer}
\begin{pgfonlayer}{edgelayer}
\draw [style=block] (18.center)
to (19.center)
to (21.center)
to (20.center)
to cycle;
\draw (25.center) to (28.center);
\draw [style=block] (41.center)
to (31.center)
to (30.center)
to (40.center)
to cycle;
\draw (38.center) to (35.center);
\draw (1) to (46);
\draw (3) to (49);
\draw (5) to (52);
\draw (45) to (56);
\draw (48) to (59);
\draw (51) to (62);
\draw (72.center) to (66.center);
\draw (71.center) to (66.center);
\draw (70.center) to (66.center);
\draw (77.center) to (14.center);
\draw (69.center) to (76);
\end{pgfonlayer}
\end{tikzpicture}

61
img/without_caching.tikz Normal file
View File

@@ -0,0 +1,61 @@
\begin{tikzpicture}
\begin{pgfonlayer}{nodelayer}
\node [style={thread_player}] (0) at (0, 0) {DbiThreadPlayer};
\node [style={initiator_socket}] (1) at (3.25, 0) {};
\node [style={thread_player}] (2) at (0, -2) {DbiThreadPlayer};
\node [style={initiator_socket}] (3) at (3.25, -2) {};
\node [style={thread_player}] (4) at (0, -5) {DbiThreadPlayer};
\node [style={initiator_socket}] (5) at (3.25, -5) {};
\node [style=interconnect] (10) at (11.25, -2.5) {MultiCoupler\\(Interconnect)};
\node [style=none] (12) at (0, -3.25) {\vdots};
\node [style={target_socket}] (13) at (8.5, -2.5) {};
\node [style=none] (14) at (8.25, -2.5) {};
\node [style={initiator_socket}] (15) at (14, -2.5) {};
\node [style={initiator_socket}] (16) at (16.75, -2.5) {};
\node [style={initiator_socket}] (17) at (17.25, -2.5) {};
\node [style=none] (18) at (-3.5, 2) {};
\node [style=none] (19) at (17, 2) {};
\node [style=none] (20) at (-3.5, -7) {};
\node [style=none] (21) at (17, -7) {};
\node [style=none] (22) at (6.5, 1.25) {DbiPlayer};
\node [style=none] (23) at (14.25, -2.25) {};
\node [style=none] (24) at (14.25, -2.5) {};
\node [style=none] (25) at (14.25, -2.5) {};
\node [style=none] (26) at (14.25, -2.75) {};
\node [style=none] (27) at (16.5, -2.25) {};
\node [style=none] (28) at (16.5, -2.5) {};
\node [style=none] (29) at (16.5, -2.75) {};
\node [style=none] (30) at (19.75, 2) {};
\node [style=none] (31) at (19.75, -7) {};
\node [style={initiator_socket}] (32) at (19.5, -2.5) {};
\node [style=none] (34) at (19.25, -2.25) {};
\node [style=none] (35) at (19.25, -2.5) {};
\node [style=none] (36) at (19.25, -2.75) {};
\node [style=none] (37) at (17.5, -2.25) {};
\node [style=none] (38) at (17.5, -2.5) {};
\node [style=none] (39) at (17.5, -2.75) {};
\node [style=none] (40) at (25, 2) {};
\node [style=none] (41) at (25, -7) {};
\node [style=none] (43) at (22.5, -2.5) {DRAMSys};
\end{pgfonlayer}
\begin{pgfonlayer}{edgelayer}
\draw (1) to (14.center);
\draw (3) to (14.center);
\draw (5) to (14.center);
\draw (18.center)
to (19.center)
to (21.center)
to (20.center)
to cycle;
\draw (23.center) to (27.center);
\draw (25.center) to (28.center);
\draw (26.center) to (29.center);
\draw (30.center) to (31.center);
\draw (37.center) to (34.center);
\draw (38.center) to (35.center);
\draw (39.center) to (36.center);
\draw (30.center) to (40.center);
\draw (40.center) to (41.center);
\draw (41.center) to (31.center);
\end{pgfonlayer}
\end{tikzpicture}