Skip to content

Commit 50bf3b4

Browse files
committed
Add overview figure
1 parent 3ea807b commit 50bf3b4

File tree

3 files changed

+223
-2
lines changed

3 files changed

+223
-2
lines changed

benchmark-specification.tex

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,25 @@
11
\chapter{Benchmark Specification}
22
\label{sec:benchmark-specification}
33

4-
\ldbcsnb is designed to be flexible and to have an affordable entry point. From small single node and in memory systems to large distributed multi-node clusters have its own place in \ldbcsnb. Therefore, the requirements to fulfill for executing \ldbcsnb are limited to pure software requirements to be able to run the tools. While the benchmark specification aims to be portable, the software provided by \ldbcsnb have been developed and tested under Linux-based operating systems. The driver and the clients for the reference implementations were implemented in Java. The generator has two versions: the Hadoop-based one was written in Java, while the Spark-based one is written in a mix of Java and Scala.
4+
\paragraph{Overview}
5+
The LDBC Social Network Benchmark workloads require several components to generate data and updates, produce query substitution parameters, run the benchmark on the system under test, \etc
6+
\autoref{fig:snb-overview} shows a blueprint for the frameworks implementing the \ldbcsnb benchmark workloads.
57

6-
\ldbcsnb does not impose the usage of any specific type of system, as it targets systems of different nature and characteristics, from graph databases, graph processing frameworks and RDF systems, to traditional relational database management systems. Consequently, any language or API capable of expressing the proposed queries can be used. Similarly, data can be stored in the most convenient manner the test sponsor may decide, as long as it conforms with the execution rules. Finally, in order to have an official benchmark execution, the results will have to be audited and all the required information disclosed.
8+
\begin{figure}[htbp]
9+
\centering
10+
\includegraphics[scale=\yedscale]{figures/snb-overview}
11+
\caption{
12+
High-level overview of the frameworks implementing each LDBC Social Network Benchmark workload.
13+
Legend:
14+
\fcolorbox{mydarkyellow}{mylightyellow}{{\scriptsize \textit{\textsf{Software component}}}}
15+
\fcolorbox{mydarkblue}{mylightblue}{{\scriptsize \textsf{Data artifact\vphantom{p}}}}
16+
}
17+
\label{fig:snb-overview}
18+
\end{figure}
19+
20+
\paragraph*{Portability}
21+
\ldbcsnb is designed to be flexible and to have an affordable entry point. \ldbcsnb aims to accommodate systems from single node in-memory systems to large distributed multi-node clusters. Therefore, the requirements to fulfill for executing \ldbcsnb are limited to pure software requirements to be able to run the tools.
22+
While the benchmark specification aims to be portable, the software provided by \ldbcsnb have been primarily tested on Linux-based operating systems (\eg Ubuntu LTS). The driver and clients for the reference implementations were implemented in Java. The generator has two versions: the Hadoop-based one was written in Java, while the Spark-based one is written in a mix of Java and Scala.
23+
24+
\paragraph*{Auditable systems}
25+
\ldbcsnb does not impose the usage of any specific type of system, as it targets systems of different nature and characteristics, from graph databases, graph processing frameworks and RDF systems, to traditional relational database management systems. Therefore, data can be stored in the most convenient manner the test sponsor may decide, as long as it conforms with the execution rules.

figures/snb-overview.graphml

Lines changed: 202 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,202 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2+
<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:java="http://www.yworks.com/xml/yfiles-common/1.0/java" xmlns:sys="http://www.yworks.com/xml/yfiles-common/markup/primitives/2.0" xmlns:x="http://www.yworks.com/xml/yfiles-common/markup/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:y="http://www.yworks.com/xml/graphml" xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd">
3+
<!--Created by yEd 3.21.1-->
4+
<key attr.name="Description" attr.type="string" for="graph" id="d0"/>
5+
<key for="port" id="d1" yfiles.type="portgraphics"/>
6+
<key for="port" id="d2" yfiles.type="portgeometry"/>
7+
<key for="port" id="d3" yfiles.type="portuserdata"/>
8+
<key attr.name="url" attr.type="string" for="node" id="d4"/>
9+
<key attr.name="description" attr.type="string" for="node" id="d5"/>
10+
<key for="node" id="d6" yfiles.type="nodegraphics"/>
11+
<key for="graphml" id="d7" yfiles.type="resources"/>
12+
<key attr.name="url" attr.type="string" for="edge" id="d8"/>
13+
<key attr.name="description" attr.type="string" for="edge" id="d9"/>
14+
<key for="edge" id="d10" yfiles.type="edgegraphics"/>
15+
<graph edgedefault="directed" id="G">
16+
<data key="d0"/>
17+
<node id="n0">
18+
<data key="d6">
19+
<y:ShapeNode>
20+
<y:Geometry height="36.54545304553638" width="475.79952002291355" x="231.43431648305537" y="485.40059034278494"/>
21+
<y:Fill color="#FEE090" transparent="false"/>
22+
<y:BorderStyle color="#FFC329" raised="false" type="line" width="1.0"/>
23+
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Arial" fontSize="12" fontStyle="italic" hasBackgroundColor="false" hasLineColor="false" height="30.8125" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="90.05078125" x="192.87436938645675" xml:space="preserve" y="2.866476522768153">Datagen
24+
(data generator)<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel>
25+
<y:Shape type="rectangle"/>
26+
</y:ShapeNode>
27+
</data>
28+
</node>
29+
<node id="n1">
30+
<data key="d6">
31+
<y:ShapeNode>
32+
<y:Geometry height="36.54545304553638" width="136.89281412878833" x="562.2668753973949" y="551.9460433883213"/>
33+
<y:Fill color="#E0F3F8" transparent="false"/>
34+
<y:BorderStyle color="#80D6ED" raised="false" type="line" width="1.0"/>
35+
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Arial" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="30.8125" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="73.36328125" x="31.76476643939418" xml:space="preserve" y="2.866476522768153">Factor tables
36+
(statistics)<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel>
37+
<y:Shape type="rectangle"/>
38+
</y:ShapeNode>
39+
</data>
40+
</node>
41+
<node id="n2">
42+
<data key="d6">
43+
<y:ShapeNode>
44+
<y:Geometry height="36.54545304553638" width="136.8928141287883" x="400.887669430118" y="751.5824025249306"/>
45+
<y:Fill color="#FEE090" transparent="false"/>
46+
<y:BorderStyle color="#FFC329" raised="false" type="line" width="1.0"/>
47+
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Arial" fontSize="12" fontStyle="italic" hasBackgroundColor="false" hasLineColor="false" height="17.40625" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="100.708984375" x="18.09191487689418" xml:space="preserve" y="9.569601522768153">System under test<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel>
48+
<y:Shape type="rectangle"/>
49+
</y:ShapeNode>
50+
</data>
51+
</node>
52+
<node id="n3">
53+
<data key="d6">
54+
<y:ShapeNode>
55+
<y:Geometry height="36.54545304553638" width="136.8928141287883" x="400.8876694301181" y="685.0369494793941"/>
56+
<y:Fill color="#FEE090" transparent="false"/>
57+
<y:BorderStyle color="#FFC329" raised="false" type="line" width="1.0"/>
58+
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Arial" fontSize="12" fontStyle="italic" hasBackgroundColor="false" hasLineColor="false" height="17.40625" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="98.03125" x="19.43078206439418" xml:space="preserve" y="9.569601522768153">Benchmark driver<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel>
59+
<y:Shape type="rectangle"/>
60+
</y:ShapeNode>
61+
</data>
62+
</node>
63+
<node id="n4">
64+
<data key="d6">
65+
<y:ShapeNode>
66+
<y:Geometry height="36.54545304553638" width="136.8928141287883" x="562.266875397395" y="618.4914964338577"/>
67+
<y:Fill color="#FEE090" transparent="false"/>
68+
<y:BorderStyle color="#FFC329" raised="false" type="line" width="1.0"/>
69+
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Arial" fontSize="12" fontStyle="italic" hasBackgroundColor="false" hasLineColor="false" height="30.8125" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="121.38671875" x="7.7530476893941795" xml:space="preserve" y="2.866476522768153">Paramgen
70+
(parameter generator)<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel>
71+
<y:Shape type="rectangle"/>
72+
</y:ShapeNode>
73+
</data>
74+
</node>
75+
<node id="n5">
76+
<data key="d6">
77+
<y:ShapeNode>
78+
<y:Geometry height="36.54545304553638" width="136.89281412878833" x="400.88766943011797" y="551.9460433883213"/>
79+
<y:Fill color="#E0F3F8" transparent="false"/>
80+
<y:BorderStyle color="#80D6ED" raised="false" type="line" width="1.0"/>
81+
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Arial" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.40625" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="48.6953125" x="44.09875081439418" xml:space="preserve" y="9.569601522768153">Updates<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel>
82+
<y:Shape type="rectangle"/>
83+
</y:ShapeNode>
84+
</data>
85+
</node>
86+
<node id="n6">
87+
<data key="d6">
88+
<y:ShapeNode>
89+
<y:Geometry height="36.54545304553638" width="136.89281412878833" x="239.50846346284112" y="551.9460433883213"/>
90+
<y:Fill color="#E0F3F8" transparent="false"/>
91+
<y:BorderStyle color="#80D6ED" raised="false" type="line" width="1.0"/>
92+
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Arial" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.40625" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="48.689453125" x="44.10168050189418" xml:space="preserve" y="9.569601522768153">Data set<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel>
93+
<y:Shape type="rectangle"/>
94+
</y:ShapeNode>
95+
</data>
96+
</node>
97+
<node id="n7">
98+
<data key="d6">
99+
<y:ShapeNode>
100+
<y:Geometry height="36.54545304553638" width="136.89281412878833" x="562.266875397395" y="685.0369494793941"/>
101+
<y:Fill color="#E0F3F8" transparent="false"/>
102+
<y:BorderStyle color="#80D6ED" raised="false" type="line" width="1.0"/>
103+
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Arial" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.40625" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="100.703125" x="18.09484456439418" xml:space="preserve" y="9.569601522768153">Query parameters<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel>
104+
<y:Shape type="rectangle"/>
105+
</y:ShapeNode>
106+
</data>
107+
</node>
108+
<edge id="e0" source="n3" target="n2">
109+
<data key="d9"/>
110+
<data key="d10">
111+
<y:PolyLineEdge>
112+
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
113+
<y:LineStyle color="#000000" type="line" width="1.0"/>
114+
<y:Arrows source="none" target="standard"/>
115+
<y:BendStyle smoothed="false"/>
116+
</y:PolyLineEdge>
117+
</data>
118+
</edge>
119+
<edge id="e1" source="n0" target="n1">
120+
<data key="d9"/>
121+
<data key="d10">
122+
<y:PolyLineEdge>
123+
<y:Path sx="161.3792059672769" sy="18.296603718256165" tx="0.0" ty="-18.272726522768224"/>
124+
<y:LineStyle color="#000000" type="line" width="1.0"/>
125+
<y:Arrows source="none" target="standard"/>
126+
<y:BendStyle smoothed="false"/>
127+
</y:PolyLineEdge>
128+
</data>
129+
</edge>
130+
<edge id="e2" source="n7" target="n3">
131+
<data key="d9"/>
132+
<data key="d10">
133+
<y:PolyLineEdge>
134+
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
135+
<y:LineStyle color="#000000" type="line" width="1.0"/>
136+
<y:Arrows source="none" target="standard"/>
137+
<y:BendStyle smoothed="false"/>
138+
</y:PolyLineEdge>
139+
</data>
140+
</edge>
141+
<edge id="e3" source="n4" target="n7">
142+
<data key="d9"/>
143+
<data key="d10">
144+
<y:PolyLineEdge>
145+
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
146+
<y:LineStyle color="#000000" type="line" width="1.0"/>
147+
<y:Arrows source="none" target="standard"/>
148+
<y:BendStyle smoothed="false"/>
149+
</y:PolyLineEdge>
150+
</data>
151+
</edge>
152+
<edge id="e4" source="n1" target="n4">
153+
<data key="d9"/>
154+
<data key="d10">
155+
<y:PolyLineEdge>
156+
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
157+
<y:LineStyle color="#000000" type="line" width="1.0"/>
158+
<y:Arrows source="none" target="standard"/>
159+
<y:BendStyle smoothed="false"/>
160+
</y:PolyLineEdge>
161+
</data>
162+
</edge>
163+
<edge id="e5" source="n0" target="n5">
164+
<data key="d9"/>
165+
<data key="d10">
166+
<y:PolyLineEdge>
167+
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
168+
<y:LineStyle color="#000000" type="line" width="1.0"/>
169+
<y:Arrows source="none" target="standard"/>
170+
<y:BendStyle smoothed="false"/>
171+
</y:PolyLineEdge>
172+
</data>
173+
</edge>
174+
<edge id="e6" source="n0" target="n6">
175+
<data key="d9"/>
176+
<data key="d10">
177+
<y:PolyLineEdge>
178+
<y:Path sx="-161.37920596727685" sy="18.296603718256165" tx="0.0" ty="0.0"/>
179+
<y:LineStyle color="#000000" type="line" width="1.0"/>
180+
<y:Arrows source="none" target="standard"/>
181+
<y:BendStyle smoothed="false"/>
182+
</y:PolyLineEdge>
183+
</data>
184+
</edge>
185+
<edge id="e7" source="n6" target="n2">
186+
<data key="d9"/>
187+
<data key="d10">
188+
<y:PolyLineEdge>
189+
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0">
190+
<y:Point x="307.9548705272353" y="769.8551290476987"/>
191+
</y:Path>
192+
<y:LineStyle color="#000000" type="line" width="1.0"/>
193+
<y:Arrows source="none" target="standard"/>
194+
<y:BendStyle smoothed="false"/>
195+
</y:PolyLineEdge>
196+
</data>
197+
</edge>
198+
</graph>
199+
<data key="d7">
200+
<y:Resources/>
201+
</data>
202+
</graphml>

figures/snb-overview.pdf

48.8 KB
Binary file not shown.

0 commit comments

Comments
 (0)