
Nemoto, et al.
What happens if modern concurrency control protocols try to
handle such heterogeneous workloads? The abort rate of the L1
transaction is shown in Figure 1 when the L1, S1, and S2 transactions
run concurrently using state-of-the-art protocols. The horizontal
axis is the number of products to be costed in one transaction,
which corresponds to the length of the L1 transaction. As shown
in the gure, none of the existing protocols can commit the long
transaction, or if they can, the success rate is less than one percent.
OCC protocols such as Silo [
37
] and TicToc [
43
] abort the L1 trans-
action because the S1 transaction updates the cost of raw materials
before L1 is completed. MOCC [
39
], which combines OCC and the
advantages of a lock-based scheme, rarely avoids aborts even with
pessimistic behavior. ERMIA [
38
] and Cicada [
25
] cannot commit
any L1 transactions because they are interfering with concurrent
S2 transactions. The details are described in Section 2.5.
Existing lock-based [
18
] and deterministic [
15
,
36
] approaches
can handle this workload under a certain condition where BoMs
do not change before and after the L1 transaction, as shown in
Figure 8. We call such a xed BoM a static BoM. Even though
these approaches can commit the L1, they suer from performance
degradation of the S1 that must wait for the L1. More importantly,
our target BoMs must often be updated by another transaction
which changes the composition of a product to dynamically re-
spond supply chain disruption. We call such a BoM a dynamic BoM.
Deterministic approaches cannot commit the L1 anymore when han-
dling a dynamic BoM. Even if they use reconnaissance queries [
36
]
to know BoM trees in advance, they cannot guarantee the trees
are not changed without additional application-level assistance,
e.g., stop transactions that modify BoMs. Such an application-level
workaround is not the direction of our goal.
In this paper, we rst propose Oze, a concurrency control proto-
col that can handle heterogeneous workloads which include long
and short transactions. Oze generates serializable schedules using
a multi-version serialization graph (MVSG) [
3
]. MVSGT [
20
] and
MVSGA [
19
] are conventional graph-based approaches that gener-
ate serializable schedules in large scheduling spaces: multi-version
conict serializability (MCSR) and multi-version view serializability
(MVSR). However, their protocols are rather theoretical and there
are no available implementations, to the best of our knowledge.
In addition, they assume centralized graph management, which
cannot benet from many cores and achieve high scalability. We
present a decentralized implementation of Oze that can take advan-
tage of many-core environments by using a logically single graph
on each record.
Second, we present a new benchmark, BoMB (Bill of Materials
Benchmark), which reproduces the heterogeneous workload de-
scribed above. TPC-C [
12
] and TPC-E [
13
] are widely used as de
facto standard benchmarks for OLTP systems; however, neither
includes long-running update transactions. In contrast, BoMB’s
target application is a cost management system for manufacturing,
which consists of six transactions: calculating product costs (L1),
updating raw material costs that are used by L1 (S1), posting jour-
nal vouchers based on the calculated product cost (S2), changing a
product (S3), changing a raw material of a product (S4), changing a
product quantity (S5). The transactions of BoMB are designed and
implemented on CCBench [
34
], which is a benchmarking platform
!"#$%&'(')*+*($
!"#$"%&'()*+,"+%-#.)/'+'0"1"+%
/2!
3&40"%5+0
,-
.-
67/
8"1'+4)!('++5+0
27
3-/
9:
/7
;'<("=;#'+='>%5-+= *+$&%=
?@A)7'(>&('%")$#-4&>%)>-=%)&=5+0)3-/)'+4)&$4'%")>-=%
6@A)B$4'%")#'C)1'%"#5'()>-=%)D)6EA)7F'+0")#'C)1'%"#5'()-G)$#-4&>%
6HA)*==&")I-&#+'(),-&>F"#))))))D)6JA)7F'+0")$#-4&>%)K&'+%5%.
6LA)7F'+0")$#-4&>%
MA)G'>%-#.)))*A)5%"1)))!A)$#-4&>%=
/7A)1'%"#5'(N>-=%)))27A)#"=&(%N>-=%)))9:A)I-&#+'(N,-&>F"#
2"'4
O#5%"P*+="#%P8"("%"
6>'+
!
M * ,/
,0
,1
,2
Figure 2: System and workload overview.
for concurrency control protocols for in-memory database systems,
to allow fair comparison and evaluation between various protocols.
Third, we evaluate Oze with modern concurrency control pro-
tocols using BoMB. Experimental results show that Oze keeps the
abort rate of the long-running update transactions at zero while
reaching up to 1.7 Mtpm for short transactions with near-linear
scalability, whereas state-of-the-art protocols cannot commit the
long transaction or experience performance degradation in the
throughput of short transactions.
The rest of this paper is organized as follows. First, in Section 2,
we dene the workload and its database in BoMB. Next, we describe
the design of the Oze protocol in Section 3 and the implementation
of Oze for multi-core systems in Section 4. In Section 5, we evaluate
several protocols using BoMB. In Section 6, we describe related
work. Finally, we conclude this paper in Section 7.
2 BOM BENCHMARK
This section describes an overview, database schema, and workload
of BoM Benchmark (BoMB). We also show how and why existing
protocols cannot eectively handle the BoMB workload.
2.1 Background and Overview
We use a food manufacturing company that produces bread na-
tionwide as our reference when designing the BoMB workload. In
the target food manufacturing industry, the supply chain can be
disrupted by various reasons such as climate change, and the prices
of raw materials often change as well. Therefore, it is necessary
to accurately gauge manufacturing costs and schedule an optimal
production plan and supply chain. In order to reect such needs,
the BoMB workload is congured assuming a system capable of on-
demand inventory control, cost control, and production planning.
Figure 2 shows an overview of the target system and workload. We
assume that the system consists of an MRP system that manages
products and resources needed for manufacturing and a perpetual
inventory management system that continuously manages the in-
ventory. The MRP consists of cost management, budgeting, demand