Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2882903.2882908acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
research-article

A Study of Sorting Algorithms on Approximate Memory

Published: 14 June 2016 Publication History

Abstract

Hardware evolution has been one of the driving factors for the redesign of database systems. Recently, approximate storage emerges in the area of computer architecture. It trades off precision for better performance and/or energy consumption. Previous studies have demonstrated the benefits of approximate storage for applications that are tolerant to imprecision such as image processing. However, it is still an open question whether and how approximate storage can be used for applications that do not expose such intrinsic tolerance. In this paper, we study one of the most basic operations in database--sorting on a hybrid storage system with both precise storage and approximate storage. Particularly, we start with a study of three common sorting algorithms on approximate storage. Experimental results show that a 95% sorted sequence can be obtained with up to 40% reduction in total write latencies. Thus, we propose an approx-refine execution mechanism to improve the performance of sorting algorithms on the hybrid storage system to produce precise results. Our optimization gains the performance benefits by offloading the sorting operation to approximate storage, followed by an efficient refinement to resolve the unsortedness on the output of the approximate storage. Our experiments show that our approx-refine can reduce the total memory access time by up to 11%. These studies shed light on the potential of approximate hardware for improving the performance of applications that require precise results.

References

[1]
S. Agarwal, H. Milner, A. Kleiner, A. Talwalkar, M. Jordan, S. Madden, B. Mozafari, and I. Stoica. Knowing when you're wrong: Building fast and reliable approximate query processing systems. In Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data, SIGMOD '14, pages 481--492. ACM, 2014.
[2]
S. Agarwal, B. Mozafari, A. Panda, H. Milner, S. Madden, and I. Stoica. Blinkdb: queries with bounded errors and bounded response times on very large data. In Proceedings of the 8th ACM European Conference on Computer Systems, pages 29--42. ACM, 2013.
[3]
W. Baek and T. M. Chilimbi. Green: a framework for supporting energy-conscious programming using controlled approximation. In ACM Sigplan Notices, volume 45, pages 198--209. ACM, 2010.
[4]
C. Balkesen, G. Alonso, J. Teubner, and M. T. Özsu. Multi-core, main-memory joins: Sort vs. hash revisited. Proceedings of the VLDB Endowment, 7(1):85--96, 2013.
[5]
F. Bedeschi, R. Fackenthal, C. Resta, E. M. Donze, M. Jagasivamani, E. C. Buda, F. Pellizzer, D. W. Chow, A. Cabrini, G. Calvi, et al. A bipolar-selected phase change memory featuring multi-level cell storage. Solid-State Circuits, IEEE Journal of, 44(1):217--227, 2009.
[6]
G. S. Brodal, R. Fagerberg, and K. Vinther. Engineering a cache-oblivious sorting algorithm. J. Exp. Algorithmics, 12:2.2:1--2.2:23, June 2008.
[7]
A. Cabrini, S. Braga, A. Manetto, and G. Torelli. Voltage-driven multilevel programming in phase change memories. In Memory Technology, Design, and Testing, 2009. MTDT'09. IEEE International Workshop on, pages 3--6. IEEE, 2009.
[8]
Y. Cai, E. F. Haratsch, O. Mutlu, and K. Mai. Error patterns in mlc nand flash memory: Measurement, characterization, and analysis. In Design, Automation & Test in Europe Conference & Exhibition (DATE), 2012, pages 521--526. IEEE, 2012.
[9]
S. Carlsson, C. Levcopoulos, and O. Petersson. Sublinear merging and natural mergesort. Algorithmica, 9(6):629--648, 1993.
[10]
N. Chatterjee, M. Shevgoor, R. Balasubramonian, A. Davis, Z. Fang, R. Illikkal, and R. Iyer. Leveraging heterogeneity in dram main memories to accelerate critical word access. In Microarchitecture (MICRO), 2012 45th Annual IEEE/ACM International Symposium on, pages 13--24. IEEE, 2012.
[11]
S. Chaudhuri, G. Das, and V. Narasayya. A robust, optimization-based approach for approximate answering of aggregate queries. In ACM SIGMOD Record, volume 30, pages 295--306. ACM, 2001.
[12]
S. Chen, P. B. Gibbons, and S. Nath. Rethinking database algorithms for phase change memory. In CIDR, pages 21--31, 2011.
[13]
S. Chen and Q. Jin. Persistent b+-trees in non-volatile main memory. Proc. VLDB Endow., 8(7):786--797, Feb. 2015.
[14]
P. Chi, W.-C. Lee, and Y. Xie. Making b+-tree efficient in pcm-based main memory. In Proceedings of the 2014 international symposium on Low power electronics and design, pages 69--74. ACM, 2014.
[15]
V. K. Chippa, S. T. Chakradhar, K. Roy, and A. Raghunathan. Analysis and characterization of inherent application resilience for approximate computing. In Proceedings of the 50th Annual Design Automation Conference, page 113. ACM, 2013.
[16]
X. Dong and Y. Xie. Adams: Adaptive mlc/slc phase-change memory design for file storage. In Design Automation Conference (ASP-DAC), 2011 16th Asia and South Pacific, pages 31--36. IEEE, 2011.
[17]
X. Dong, Y. Xie, N. Muralimanohar, and N. P. Jouppi. Simple but effective heterogeneous main memory with on-chip memory controller support. In Proceedings of the 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis, pages 1--11. IEEE Computer Society, 2010.
[18]
H. Esmaeilzadeh, A. Sampson, L. Ceze, and D. Burger. Architecture support for disciplined approximate programming. In ACM SIGPLAN Notices, volume 47, pages 301--312. ACM, 2012.
[19]
H. Esmaeilzadeh, A. Sampson, L. Ceze, and D. Burger. Neural acceleration for general-purpose approximate programs. In Proceedings of the 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture, pages 449--460. IEEE Computer Society, 2012.
[20]
V. Estivill-Castro and D. Wood. A survey of adaptive sorting algorithms. ACM Comput. Surv., 24(4):441--476, Dec. 1992.
[21]
S. Gao, B. He, and J. Xu. Real-time in-memory checkpointing for future hybrid memory systems. In Proceedings of the 29th ACM on International Conference on Supercomputing, ICS '15, pages 263--272, New York, NY, USA, 2015. ACM.
[22]
S. Gao, J. Xu, B. He, B. Choi, and H. Hu. Pcmlogging: Reducing transaction logging overhead with pcm. In Proceedings of the 20th ACM International Conference on Information and Knowledge Management, CIKM '11, pages 2401--2404, New York, NY, USA, 2011. ACM.
[23]
P. Garcia. Multithreaded architectures and the sort benchmark. In Proceedings of the 1st international workshop on Data management on new hardware, page 1. ACM, 2005.
[24]
M. N. Garofalakis and P. B. Gibbons. Approximate query processing: Taming the terabytes. In VLDB, 2001.
[25]
N. Govindaraju, J. Gray, R. Kumar, and D. Manocha. Gputerasort: high performance graphics co-processor sorting for large database management. In Proceedings of the 2006 ACM SIGMOD international conference on Management of data, pages 325--336. ACM, 2006.
[26]
J. Han and M. Orshansky. Approximate computing: An emerging paradigm for energy-efficient design. In Test Symposium (ETS), 2013 18th IEEE European, pages 1--6, May 2013.
[27]
B. He. When data management systems meet approximate hardware: Challenges and opportunities. Proceedings of the VLDB Endowment, 7(10), 2014.
[28]
B. He, M. Lu, K. Yang, R. Fang, N. K. Govindaraju, Q. Luo, and P. V. Sander. Relational query coprocessing on graphics processors. ACM Transactions on Database Systems (TODS), 34(4):21, 2009.
[29]
E. Ipek, J. Condit, E. B. Nightingale, D. Burger, and T. Moscibroda. Dynamically replicated memory: building reliable systems from nanoscale resistive memories. In ACM SIGARCH Computer Architecture News, volume 38, pages 3--14. ACM, 2010.
[30]
L. Jiang, B. Zhao, Y. Zhang, J. Yang, and B. R. Childers. Improving write operations in mlc phase change memory. In High Performance Computer Architecture (HPCA), 2012 IEEE 18th International Symposium on, pages 1--10. IEEE, 2012.
[31]
D. Kim, S. Lee, J. Chung, D. H. Kim, D. H. Woo, S. Yoo, and S. Lee. Hybrid dram/pram-based main memory for single-chip cpu/gpu. In Proceedings of the 49th Annual Design Automation Conference, pages 888--896. ACM, 2012.
[32]
D. E. Knuth. The art of computer programming: sorting and searching, volume 3. Pearson Education, 1998.
[33]
D. Koch and J. Torresen. Fpgasort: A high performance sorting architecture exploiting run-time reconfiguration on fpgas for large problem sorting. In Proceedings of the 19th ACM/SIGDA International Symposium on Field Programmable Gate Arrays, FPGA '11, pages 45--54, New York, NY, USA, 2011. ACM.
[34]
B. C. Lee, E. Ipek, O. Mutlu, and D. Burger. Architecting phase change memory as a scalable dram alternative. ACM SIGARCH Computer Architecture News, 37(3):2--13, 2009.
[35]
S. Liu, K. Pattabiraman, T. Moscibroda, and B. G. Zorn. Flikker: saving dram refresh-power through critical data partitioning. ACM SIGPLAN Notices, 47(4):213--224, 2012.
[36]
J. Lucas, M. Alvarez-Mesa, M. Andersch, and B. Juurlink. Sparkk: Quality-scalable approximate storage in dram. 2014.
[37]
Micron. MLC NAND Flash. http://www.micron.com/products/nand-flash/mlc-nand, 2015.
[38]
N. Mielke, T. Marquart, N. Wu, J. Kessenich, H. Belgal, E. Schares, F. Trivedi, E. Goodness, and L. R. Nevill. Bit error rate in nand flash memories. In Reliability Physics Symposium, 2008. IRPS 2008. IEEE International, pages 9--19. IEEE, 2008.
[39]
A. Moffat, G. Eddy, and O. Petersson. Splaysort: Fast, versatile, practical. Software: Practice and Experience, 26(7):781--797, 1996.
[40]
D. Mohapatra, G. Karakonstantis, and K. Roy. Significance driven computation: a voltage-scalable, variation-aware, quality-tuning motion estimator. In Proceedings of the 2009 ACM/IEEE international symposium on Low power electronics and design, pages 195--200. ACM, 2009.
[41]
R. Nair. Models for energy-efficient approximate computing. In Proceedings of the 16th ACM/IEEE international symposium on Low power electronics and design, pages 359--360. ACM, 2010.
[42]
R. Nair. Big data needs approximate computing: Technical perspective. Commun. ACM, 58(1), Dec. 2014.
[43]
T. Nirschl, J. Philipp, T. Happ, G. Burr, B. Rajendran, M. Lee, A. Schrott, M. Yang, M. Breitwisch, C. Chen, et al. Write strategies for 2 and 4-bit multi-level phase-change memory. In Electron Devices Meeting, 2007. IEDM 2007. IEEE International, pages 461--464. IEEE, 2007.
[44]
A. Pantazi, A. Sebastian, N. Papandreou, M. Breitwisch, C. Lam, H. Pozidis, and E. Eleftheriou. Multilevel phase change memory modeling and experimental characterization. Proceedings of EPCOS, 2009.
[45]
O. Polychroniou and K. A. Ross. A comprehensive study of main-memory partitioning and its application to large-scale comparison-and radix-sort. In Proceedings of the 2014 ACM SIGMOD international conference on Management of data, pages 755--766. ACM, 2014.
[46]
M. K. Qureshi, M. M. Franceschini, L. A. Lastras-Montano, and J. P. Karidis. Morphable memory system: a robust architecture for exploiting multi-level phase change memories. In ACM SIGARCH Computer Architecture News, volume 38, pages 153--162. ACM, 2010.
[47]
M. K. Qureshi, V. Srinivasan, and J. A. Rivers. Scalable high performance main memory system using phase-change memory technology. ACM SIGARCH Computer Architecture News, 37(3):24--33, 2009.
[48]
A. Rahimi, A. Ghofrani, K.-T. Cheng, L. Benini, and R. K. Gupta. Approximate associative memristive memory for energy-efficient gpus. In Proceedings of the 2015 Design, Automation & Test in Europe Conference & Exhibition, pages 1497--1502. EDA Consortium, 2015.
[49]
R. Ramakrishnan and J. Gehrke. Database Management Systems. Osborne/McGraw-Hill, Berkeley, CA, USA, 2nd edition, 2000.
[50]
L. E. Ramos, E. Gorbatov, and R. Bianchini. Page placement in hybrid memory systems. In Proceedings of the international conference on Supercomputing, pages 85--95. ACM, 2011.
[51]
A. Ranjan, S. Venkataramani, X. Fong, K. Roy, and A. Raghunathan. Approximate storage for energy efficient spintronic memories. In Design Automation Conference (DAC), 2015 52nd ACM/EDAC/IEEE, pages 1--6. IEEE, 2015.
[52]
P. Roy, R. Ray, C. Wang, and W. F. Wong. Asac: automatic sensitivity analysis for approximate computing. In Proceedings of the 2014 SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systems, pages 95--104. ACM, 2014.
[53]
A. Sampson, W. Dietl, E. Fortuna, D. Gnanapragasam, L. Ceze, and D. Grossman. Enerj: Approximate data types for safe and general low-power computation. In ACM SIGPLAN Notices, volume 46, pages 164--174. ACM, 2011.
[54]
A. Sampson, J. Nelson, K. Strauss, and L. Ceze. Approximate storage in solid-state memories. In Proceedings of the 46th Annual IEEE/ACM International Symposium on Microarchitecture, pages 25--36. ACM, 2013.
[55]
C. Schensted. Longest increasing and decreasing subsequences. In Classic Papers in Combinatorics, pages 299--311. Springer, 1987.
[56]
J. Spiegel and N. Polyzotis. Tug synopses for approximate query answering. ACM Transactions on Database Systems (TODS), 34(1):3, 2009.
[57]
K. Takeuchi, T. Tanaka, and T. Tanzawa. A multipage cell architecture for high-speed programming multilevel nand flash memories. Solid-State Circuits, IEEE Journal of, 33(8):1228--1238, 1998.
[58]
X. Tang and J. Xu. Adaptive data collection strategies for lifetime-constrained wireless sensor networks. Parallel and Distributed Systems, IEEE Transactions on, 19(6):721--734, 2008.
[59]
X. Tang and J. Xu. Optimizing lifetime for continuous data aggregation with precision guarantees in wireless sensor networks. IEEE/ACM Transactions on Networking (TON), 16(4):904--917, 2008.
[60]
S. Venkataramani, V. K. Chippa, S. T. Chakradhar, K. Roy, and A. Raghunathan. Quality programmable vector processors for approximate computing. In Proceedings of the 46th Annual IEEE/ACM International Symposium on Microarchitecture, pages 1--12. ACM, 2013.
[61]
S. Venkataramani, A. Ranjan, K. Roy, and A. Raghunathan. Axnn: energy-efficient neuromorphic systems using approximate computing. In Proceedings of the 2014 international symposium on Low power electronics and design, pages 27--32. ACM, 2014.
[62]
S. Venkataramani, K. Roy, and A. Raghunathan. Substitute-and-simplify: A unified design paradigm for approximate and quality configurable circuits. In Proceedings of the Conference on Design, Automation and Test in Europe, pages 1367--1372. EDA Consortium, 2013.
[63]
S. D. Viglas. Write-limited sorts and joins for persistent memory. Proc. VLDB Endow, 2014.
[64]
T. Wang and R. Johnson. Scalable logging through emerging non-volatile memory. Proc. VLDB Endow., 7(10):865--876, June 2014.
[65]
C.-H. Wu. Data sorting in flash memory. In Proceedings of the 27th Annual ACM Symposium on Applied Computing, SAC '12, pages 1847--1849, New York, NY, USA, 2012. ACM.
[66]
J. Yang, Q. Wei, C. Chen, C. Wang, K. L. Yong, and B. He. Nv-tree: Reducing consistency cost for nvm-based single level systems. In Proceedings of the 13th USENIX Conference on File and Storage Technologies, FAST'15, pages 167--181, Berkeley, CA, USA, 2015. USENIX Association.
[67]
S. Yeo, N. H. Seong, and H.-H. S. Lee. Can multi-level cell pcm be reliable and usable? analyzing the impact of resistance drift. In the 10th Ann. Workshop on Duplicating, Deconstructing and Debunking (WDDD), 2012.
[68]
Q. Zhang, F. Yuan, R. Ye, and Q. Xu. Approxit: An approximate computing framework for iterative methods. In Design Automation Conference (DAC), 2014 51st ACM/EDAC/IEEE, pages 1--6. IEEE, 2014.

Cited By

View all
  • (2019)Replanting Your Forest: NVM-friendly Bagging Strategy for Random Forest2019 IEEE Non-Volatile Memory Systems and Applications Symposium (NVMSA)10.1109/NVMSA.2019.8863525(1-6)Online publication date: Aug-2019
  • (2018)Approximate Query Processing: What is New and Where to Go?Data Science and Engineering10.1007/s41019-018-0074-43:4(379-397)Online publication date: 14-Sep-2018
  • (2017)Efficient Batch Grouping in Relational DatasetsDatabase Systems for Advanced Applications10.1007/978-3-319-55753-3_24(376-390)Online publication date: 22-Mar-2017

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGMOD '16: Proceedings of the 2016 International Conference on Management of Data
June 2016
2300 pages
ISBN:9781450335317
DOI:10.1145/2882903
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 ACM 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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 14 June 2016

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. approximate storage
  2. database
  3. hybrid storage
  4. phase change memory
  5. sorting algorithms

Qualifiers

  • Research-article

Funding Sources

  • Singapore Ministry of Education

Conference

SIGMOD/PODS'16
Sponsor:
SIGMOD/PODS'16: International Conference on Management of Data
June 26 - July 1, 2016
California, San Francisco, USA

Acceptance Rates

Overall Acceptance Rate 785 of 4,003 submissions, 20%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)21
  • Downloads (Last 6 weeks)1
Reflects downloads up to 30 Aug 2024

Other Metrics

Citations

Cited By

View all
  • (2019)Replanting Your Forest: NVM-friendly Bagging Strategy for Random Forest2019 IEEE Non-Volatile Memory Systems and Applications Symposium (NVMSA)10.1109/NVMSA.2019.8863525(1-6)Online publication date: Aug-2019
  • (2018)Approximate Query Processing: What is New and Where to Go?Data Science and Engineering10.1007/s41019-018-0074-43:4(379-397)Online publication date: 14-Sep-2018
  • (2017)Efficient Batch Grouping in Relational DatasetsDatabase Systems for Advanced Applications10.1007/978-3-319-55753-3_24(376-390)Online publication date: 22-Mar-2017

View Options

Get Access

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