The proper setting of the core numbers for different
queries can be found by performing load balancing
on our system. However, we leave these studies to
future work.
6 CONCLUSIONS
In this paper, we have proposed the middleware of
PM-DB to improve the performance of database sys-
tems on modern multicore platforms. The strongest
advantage of our proposal is that it can be im-
plemented as middleware using existing OSs and
DBMSs, so it is more practical than some other pro-
posals, which require existing database engines to
be rewritten. Moreover, the shared-nothing architec-
ture used in PM-DB requires much less memory than
the solutions using the master–slave architectures as
Multimed. The PM-DB middleware can provide a
partition-based multi-instance architecture on a single
multicore platform to solve the contention in shared
memory functions for existing database systems. The
middleware can efficiently manage query execution
over multiple instances by offering the two-phase
commit protocol and partial data replication. By dis-
tributing the concurrent queries to different database
instances, our proposal can ease the pressure on a sin-
gle database instance and provide better utilization of
modern multicore platforms. Moreover, PM-DB can
further improve the performance of database appli-
cations through cache-efficient query scheduling on
multisocket multicore platforms. The introduced ex-
periences can provide a useful reference as optimiz-
ing a variety of database applications on modern and
upcoming multicore platforms.
By setting up more database instances, the con-
tention in the single database engine can be reduced
and experiments using the typical mixed workload of
TPC-W benchmark show that our proposal achieved
at most 2.5 times higher throughput than the Baseline
system. However, increasing the number of database
instances will not always lead to higher system per-
formance, as we observed the middleware overhead
in synchronizing the transactions across different in-
stances will also be increased by setting up more
database instances. Moreover, the cache-efficient
query dispatching for concurrent queries provided by
the PM-DB can further improve the system through-
put by 21% and result in 26.78% less L3 cache miss.
In future, we plan to introduce load-balancing so-
lutions into our middleware, and provide a dynamic
performance tuning function to automatically gen-
erate the proper settings for different applications.
We believe not only the PostgreSQL, but also other
database engines can benefit from our proposal and
for another future work, we intend to verify the ad-
vantage of PM-DB with different DBMSs.
REFERENCES
Ailamaki, A., DeWitt, D. J., Hill, M. D., and Wood, D. A.
(1999). DBMSs on a modern processor: Where does
time go? In VLDB, pages 266–277.
Boyd-Wickizer, S., Clements, A. T., Mao, Y., Pesterev,
A., Kaashoek, M. F., Morris, R., and Zeldovich, N.
(2010). An analysis of linux scalability to many cores.
Chen, S., Ng, A., and Greenfield, P. (2013). A performance
evaluation of distributed database architectures. Con-
currency and Computation: Practice and Experience,
25(11):1524–1546.
Cieslewicz, J. and Ross, K. A. (2008). Database optimiza-
tions for modern hardware. Proceedings of the IEEE,
96(5):863–878.
de Melo, A. C. (2010). The new linux perf tools. In Slides
from Linux Kongress.
DeWitt, D. and Gray, J. (1992). Parallel database sys-
tems: the future of high performance database sys-
tems. Communications of the ACM, 35(6):85–98.
DeWitt, D. J., Ghandeharizadeh, S., Schneider, D. A.,
Bricker, A., Hsiao, H.-I., and Rasmussen, R. (1990).
The gamma database machine project. Knowl-
edge and Data Engineering, IEEE Transactions on,
2(1):44–62.
Giannikis, G., Alonso, G., and Kossmann, D. (2012).
SharedDB: killing one thousand queries with one
stone. In VLDB, pages 526–537.
Hardavellas, N., Pandis, I., Johnson, R., Mancheril, N. G.,
Ailamaki, A., and Falsafi, B. (2007). Database servers
on chip multiprocessors: Limitations and opportuni-
ties. In CIDR, pages 79–87.
Intel, I. (64). IA-32 architectures software developers man-
ual volume 3b: System programming guide. Part,
1:2007.
Johnson, R., Pandis, I., Hardavellas, N., Ailamaki, A., and
Falsafi, B. (2009). Shore-MT: A scalable storage man-
ager for the multicore era. In EDBT, pages 24–35.
Kim, C., Kaldewey, T., Lee, V. W., Sedlar, E., Nguyen,
A. D., Satish, N., Chhugani, J., Blas, A. D., and
Dubey, P. (2009). Sort vs. hash revisited: fast join im-
plementation on modern multi-core cpus. In VLDB,
pages 1378–1389.
Levon, J. and Elie, P. (2004). Oprofile: A system profiler
for linux.
Mehta, M. and DeWitt, D. J. (1997). Data placement in
shared-nothing parallel database systems. The Inter-
national Journal on Very Large Data Bases, 6(1):53–
72.
Menasce, D. (2002). TPC-W: A benchmark for e-
commerce. Internet Computing, IEEE, 6(3):83–87.
Muneeswari, G. and Shunmuganathan, K. L. (2011). A
novel hard-soft processor affinity scheduling for mul-
PM-DB:Partition-basedMulti-instanceDatabaseSystemforMulticorePlatforms
137