Skip to main content

Compiler-Based Code Partitioning for Intelligent Embedded Disk Processing

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2958))

Abstract

Recent trends indicate that system intelligence is moving from main computational units to peripherals. In particular, several studies show the feasibility of building an intelligent disk architecture by executing some parts of the application code on an embedded processor attached to the disk system. This paper focuses on such an architecture and addresses the problem of what parts of the application code should be executed on the embedded processor attached to the disk system. Our focus is on image and video processing applications where large data sets (mostly arrays) need to be processed. To decide the work division between the disk system and the host system, we use an optimizing compiler to identify computations that exhibit a filtering characteristic; i.e., their output data sets are much smaller than their input data sets. By performing such computations on the disk, we reduce the data volume that need to be communicated from the disk to the host system substantially. Our experimental results show significant improvements in execution cycles of six applications.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Acharya, A., Uysal, M., Saltz, J.: Active Disks: Programming Model, Algorithms and Evaluation. In: Proc. the 8th International Conference on Architectural Support for Programming Languages and Operating Systems (October 1998)

    Google Scholar 

  2. http://suif.stanford.edu/

  3. Burger, D.C., Austin, T.M.: The SimpleScalar Toolset, Version 2.0, Technical Report 1342, Dept. of Computer Science, UW (June 1997)

    Google Scholar 

  4. Chandra, R., Chen, D., Cox, R., Maydan, D., Nedeljkovic, N., Anderson, J.: Data Distribution Support on Distributed-Shared Memory Multiprocessors. In: Proc. Programming Language Design and Implementation, Las Vegas, NV (1997)

    Google Scholar 

  5. Chandrakasan, A., Bowhill, W.J., Fox, F.: Design of High-Performance Microprocessor Circuits. IEEE Press, Los Alamitos (2001)

    Google Scholar 

  6. Clauss, P.: Counting Solutions to Linear and Nonlinear Constraints through Ehrhart Polynomials: Applications to Analyze and Transform Scientific Programs. In: Proc. the 10th International Conference on Supercomputing, PA, May 25–28, pp. 278–285 (1996)

    Google Scholar 

  7. Ganger, G.: System-Oriented Evaluation of I/O Subsystem Performance, Technical Report CMU-TR-243-95, University of Michigan (1995)

    Google Scholar 

  8. Hsu, W., Smith, A., Young, H.: Projecting the Performance of Decision Support Workloads on Systems with Smart Storage (SmartSTOR). Report No. UCB/CSD–99–1057 (1999)

    Google Scholar 

  9. IBM Automatic Locality-Improving Storage (ALIS), http://www.almaden.ibm.com/cs/storagesystems/alis/index.html

  10. Kandemir, M., Choudhary, A., Ramanujam, J., Banerjee, P.: Improving Locality Using Loop and Data Transformations in an Integrated Framework. In: Proc. International Symposium on Microarchitecture, Dallas, TX (December 1998)

    Google Scholar 

  11. Keeton, K., Patterson, D., Hellerstein, J.: A Case for Intelligent Disks (IDISKs). SIGMOD Record 27(3) (1998)

    Google Scholar 

  12. Kodukula, I., Ahmed, N., Pingali, K.: Data-centric multi-level blocking. In: Proc. SIGPLAN Conf. Programming Language Design and Implementation (June 1997)

    Google Scholar 

  13. Koelbel, C.H., Loveman, D.B., Schreiber, R.S., Steele, G.L., Zosel, M.E.: The High-Performance Fortran Handbook. MIT Press, Cambridge (1994)

    Google Scholar 

  14. McKinley, K., Carr, S., Tseng, C.W.: Improving Data Locality with Loop Transformations. ACM Transactions on Programming Languages and Systems (1996)

    Google Scholar 

  15. Memik, G., Kandemir, M., Choudhary, A.: Design and Evaluation of Smart Disk Architecture for DSS Commercial Workloads. In: Proc. International Conference on Parallel Processing (September 2000)

    Google Scholar 

  16. Muchnick, S.S.: Advanced Compiler Design Implementation. Morgan Kaufmann Publishers, San Francisco (1997)

    Google Scholar 

  17. Pugh, W.: Counting Solutions to Presburger Formulas: How and Why. In: Proc. the ACM Conference on Programming Language Design and Implementation 1994, Orlando, Florida (1994)

    Google Scholar 

  18. Riedel, E., Faloutsos, C., Gibson, G., Nagle, D.: Active Disks for Large-Scale Data Processing. IEEE Computer, 68–74 (June 2001)

    Google Scholar 

  19. Schrijver, A.: Theory of Linear and Integer Programming. John Wiley and Sons, Inc., New York (1986)

    MATH  Google Scholar 

  20. Singhai, S., McKinley, K.S.: A Parameterized Loop Fusion Algorithm for Improving Parallelism and Cache Locality. The Computer Journal 40(6), 340–355 (1999)

    Article  Google Scholar 

  21. Sivathanu, M., Prabhakaran, V., Popovici, F.I., Denehy, T.E., Arpaci- Dusseau, A.C., Arpaci-Dusseau, R.H.: Semantically-Smart Disks Systems. Technical Report 1445, Computer Sciences Department, UW, Madison (2002)

    Google Scholar 

  22. Uysal, M., Acharya, A., Saltz, J.: Evaluation of Active Disks for Decision Support Databases. In: Proc. International Conference on High Performance Computing Architecture (January 2000)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Chen, G., Chen, G., Kandemir, M., Nadgir, A. (2004). Compiler-Based Code Partitioning for Intelligent Embedded Disk Processing. In: Rauchwerger, L. (eds) Languages and Compilers for Parallel Computing. LCPC 2003. Lecture Notes in Computer Science, vol 2958. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24644-2_29

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-24644-2_29

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-21199-0

  • Online ISBN: 978-3-540-24644-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics