skip to main content
10.1145/2818950.2818970acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmemsysConference Proceedingsconference-collections
research-article

Architecture Exploration for Data Intensive Applications

Published: 05 October 2015 Publication History

Abstract

This paper presents Compass, a hardware/software simulator for data-intensive applications. Currently focusing on in-memory stores, the objective of the simulator is to explore diverse algorithms and hardware architectures, serving as an aid to design systems for applications in which the elevated rate of data transfers dictates their behaviour. Instead of simulating the devices of a conventional computing system, in Compass the modules represent the stages of the procedure to attend a request to store, retrieve, or delete information in a particular memory architecture, giving the simulator the flexibility to test and analyze several different algorithms, components, and ideas.
The system maintains a cycle-accurate model that makes it easy to interface it with simulators of physical devices such as RAM memories. Under a scheme like this one, the simulator of a physical memory in the system anchors the timing to a realistic scenario, but the rest of the components can be easily modified to explore alternative approaches.

References

[1]
A. Patel, F. Afram, and K. Ghose, "Marss-x86: A qemu-based micro-architectural and systems simulator for x86 multicore processors," in 1st International Qemu Users' Forum, 2011, pp. 29--30.
[2]
N. Binkert, B. Beckmann, G. Black, S. K. Reinhardt, A. Saidi, A. Basu, J. Hestness, D. R. Hower, T. Krishna, S. Sardashti et al., "The gem5 simulator," ACM SIGARCH Computer Architecture News, vol. 39, no. 2, pp. 1--7, 2011.
[3]
P. Rosenfeld, E. Cooper-Balis, and B. Jacob, "DRAMSim2: A cycle accurate memory system simulator," Computer Architecture Letters, vol. 10, no. 1, pp. 16--19, 2011.
[4]
V. Bui and M. A. Kim, "The cache and codec model for storing and manipulating data," IEEE Micro, no. 4, pp. 28--35, 2014.
[5]
B. Fitzpatrick, "Memcached," Tech. Rep., 2011. {Online}. Available: http://code.google.com/p/memcached/wiki/NewOverview
[6]
F. Chang, J. Dean, S. Ghemawat, W. C. Hsieh, D. A. Wallach, M. Burrows, T. Chandra, A. Fikes, and R. E. Gruber, "Bigtable: A distributed storage system for structured data," ACM Transactions on Computer Systems (TOCS), vol. 26, no. 2, p. 4, 2008.
[7]
G. DeCandia, D. Hastorun, M. Jampani, G. Kakulapati, A. Lakshman, A. Pilchin, S. Sivasubramanian, P. Vosshall, and W. Vogels, "Dynamo: Amazon's highly available key-value store," in ACM SIGOPS Operating Systems Review, vol. 41, no. 6. ACM, 2007, pp. 205--220.
[8]
I. C. Society, IEEE Standard for Standard SystemC Language Reference Manual, 2012.
[9]
B. F. Cooper, A. Silberstein, E. Tam, R. Ramakrishnan, and R. Sears, "Benchmarking cloud serving systems with YCSB," in Proceedings of the 1st ACM symposium on Cloud computing. ACM, 2010, pp. 143--154.
[10]
P. O'Neil, E. Cheng, D. Gawlick, and E. O'Neil, "The log-structured merge-tree (LSM-tree)," Acta Informatica, vol. 33, no. 4, pp. 351--385, 1996.
[11]
J. Dean and S. Ghemawat, "leveldb--a fast and lightweight key/value database library by Google," 2011.
[12]
S. Srinivasan, L. Zhao, B. Ganesh, B. Jacob, M. Espig, and R. Iyer, "Cmp memory modeling: How much does accuracy matter?" 2009.
[13]
S. Ghemawat and P. Menage, "Tcmalloc: Thread-caching malloc," goog-perftools. sourceforge. net/doc/tcmalloc. html, 2009.
[14]
N. Nethercote and J. Seward, "Valgrind: a framework for heavyweight dynamic binary instrumentation," in ACM Sigplan notices, vol. 42, no. 6. ACM, 2007, pp. 89--100.
[15]
S. Sanfilippo and P. Noordhuis, "Redis," 2010. {Online}. Available: http://redis.io
[16]
M. Meyer, Riak Handbook, 2011.
[17]
D. Borthakur, "Rocksdb Basics," Tech. Rep., 2014. {Online}. Available: https://github.com/facebook/rocksdb/wiki/RocksDB-Basics
[18]
M. A. Olson, K. Bostic, and M. I. Seltzer, "Berkeley db." in USENIX Annual Technical Conference, FREENIX Track, 1999, pp. 183--191.
[19]
K. Chodorow, MongoDB: the definitive guide. O'Reilly Media, Inc., 2013.
[20]
D. Crockford, "The application/json media type for javascript object notation (JSON)," 2006. {Online}. Available: https://tools.ietf.org/html/rfc4627
[21]
A. Hansson, N. Agarwal, A. Kolli, T. Wenisch, and A. N. Udipi, "Simulating DRAM controllers for future system architecture exploration," in Performance Analysis of Systems and Software (ISPASS), 2014 IEEE International Symposium on. IEEE, 2014, pp. 201--210.
[22]
Y. Kim, W. Yang, and O. Mutlu, "Ramulator: A fast and extensible DRAM simulator."
[23]
S. R. Chalamalasetti, K. Aim, M. Wright, A. AuYoung, P. Ranganathan, and M. Margala, "An fpga memcached appliance," in Proceedings of the ACM/SIGDA international symposium on Field programmable gate arrays. ACM, 2013, pp. 245--254.
[24]
M. Blott, K. Karras, L. Liu, K. Vissers, J. Bär, and Z. István, "Achieving 10gbps line-rate key-value stores with FPGAs," 2013.
[25]
T. H. Hetherington, T. G. Rogers, L. Hsu, M. O'Connor, and T. M. Aamodt, "Characterizing and evaluating a key-value store application on heterogeneous CPU-GPU systems," in Performance Analysis of Systems and Software (ISPASS), 2012 IEEE International Symposium on. IEEE, 2012, pp. 88--98.
[26]
J. Jeddeloh and B. Keeth, "Hybrid memory cube new DRAM architecture increases density and performance," in VLSI Technology (VLSIT), 2012 Symposium on. IEEE, 2012, pp. 87--88.
[27]
Y. Huai, "Spin-transfer torque MRAM (STT-MRAM): Challenges and prospects," AAPPS Bulletin, vol. 18, no. 6, pp. 33--40, 2008.
[28]
R. Bez, E. Camerlenghi, A. Modelli, and A. Visconti, "Introduction to flash memory," Proceedings of the IEEE, vol. 91, no. 4, pp. 489--502, 2003.

Cited By

View all
  • (2017)Task replication and control for highly parallel in-memory storesProceedings of the International Symposium on Memory Systems10.1145/3132402.3132428(312-326)Online publication date: 2-Oct-2017

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
MEMSYS '15: Proceedings of the 2015 International Symposium on Memory Systems
October 2015
278 pages
ISBN:9781450336048
DOI:10.1145/2818950
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 05 October 2015

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Simulation
  2. SystemC
  3. architecture exploration
  4. cycle-accurate
  5. memory

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

MEMSYS '15
MEMSYS '15: International Symposium on Memory Systems
October 5 - 8, 2015
DC, Washington DC, USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)8
  • Downloads (Last 6 weeks)0
Reflects downloads up to 20 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2017)Task replication and control for highly parallel in-memory storesProceedings of the International Symposium on Memory Systems10.1145/3132402.3132428(312-326)Online publication date: 2-Oct-2017

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media