Skip to main content

Achieving Robust, Scalable Cluster I/O in Java

  • Conference paper
  • First Online:
Book cover Languages, Compilers, and Run-Time Systems for Scalable Computers (LCR 2000)

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

  • 264 Accesses

Abstract

We present Tigris, a high-performance computation and I/O substrate for clusters of workstations that is implemented entirely in Java. Tigris automatically balances resource load across the cluster as a whole, shielding applications from asymmetries in CPU, I/O, and net- work performance. This is accomplished through the use of a dataflow programming model coupled with a work-balancing distributed queue. To meet the performance challenges of implementing such a system in Java, Tigris relies on Jaguar, a system that enables direct, protected access to hardware resources, including fast network interfaces and disk I/O. Jaguar yields an order-of-magnitude performance boost over the Java Native Interface for Java bindings to system resources. We demonstrate the applicability of Tigris through a one-pass, parallel, disk-to-disk sort exhibiting high performance.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Y. Aridor, M. Factor, A. Teperman, T. Eilam, and A. Schuster. A high performance cluster jvm presenting a pure single system image. In Proceedings of the ACM 2000 JavaGrande Conference, San Francisco, CA, June 2000.

    Google Scholar 

  2. R. H. Arpaci, A. Dusseau, A. M. Vahdat, L. T. Liu, T. E. Anderson, and D. A. Patterson. The interaction of parallel and sequential workloads on a network of workstations. In Proceedings of SIGMETRICS/PERFORMANCE, May 1995.

    Google Scholar 

  3. A. Arpaci-Dusseau, R. Arpaci-Dusseau, D. E. Culler, J. M. Hellerstein, and D. A. Patterson. Searching for the sorting record: Experiences in tuning NOW-Sort. In Proceedings of the 1998 Symposium on Parallel and Distributed Tools (SPDT ’98), 1998.

    Google Scholar 

  4. A. C. Arpaci-Dusseau, D. E. Culler, and A. Mainwaring. Scheduling with implicit information in distributed systems. In 1998 SIGMETRICS Conference on the Measurement and Modeling of Computer Systems, pages 233–243, June 1998.

    Google Scholar 

  5. R. Arpaci-Dusseau, E. Anderson, N. Treuhaft, D. Culler, J. Hellerstein, D. Pat-terson, and K. Yelick. Cluster I/O with River: Making the fast case common. In IOPADS ’99, 1999. http://www.cs.berkeley.edu/~remzi/Postscript/river.ps.

  6. R. Avnur and J. M. Hellerstein. Eddies: Continuously Adaptive Query Processing. In Proceedings of the 2000 ACM SIGMOD International Conference on Manage-ment of Data, Dallas, TX, May 2000.

    Google Scholar 

  7. P. Buonadonna, J. Coates, S. Low, and D. E. Culler. Millennium Sort: A Cluster-Based Application for Windows NT Using DCOM, River Primitives and the Virtual Interface Architecture. In Proceedings of the 3rd USENIX Windows NT Symposium, July 1999.

    Google Scholar 

  8. P. Buonadonna, A. Geweke, and D. Culler. An implementation and analysis of the Virtual Interface Architecture. In Proceedings of SC’98, November 1998.

    Google Scholar 

  9. B. Chun, A. Mainwaring, and D. Culler. Virtual network transport protocols for Myrinet. IEEE Micro, 18(1), January/February 1998.

    Google Scholar 

  10. G. Copeland, W. Alexander, E. Boughter, and T. Keller. Data Placement in Bubba. SIGMOD Record, 17(3):99–108, September 1988.

    Article  Google Scholar 

  11. D. J. DeWitt, S. Ghanderaizadeh, and D. Schneider. A Performance Analysis of the Gamma Database Machine. SIGMOD Record, 17(3):350–360, September 1988.

    Article  Google Scholar 

  12. Anon et. al. A measure of transaction processing power. In Datamation, 31(7): 112–118, February 1985.

    Google Scholar 

  13. G. Graefe. Encapsulation of Parallelism in the Volcano Query Processing System. SIGMOD Record, 19(2):102–111, June 1990.

    Article  Google Scholar 

  14. S. Gribble, M. Welsh, D. Culler, and E. Brewer. Multispace: An evolutionary platform for infrastructural services. In Proceedings of the 16th USENIX Annual Technical Conference, Monterey, California, 1999.

    Google Scholar 

  15. Y. Charlie Hu, Weimin Yu, Dan Wallach, Alan Cox, and Willy Zwaenepoel. Run-time support for distributed sharing in typed languages. In Proceedings of the Fifth ACMWorkshop on Languages, Compilers, and Run-time Systems for Scalable Computers, Rochester, NY, May 2000.

    Google Scholar 

  16. J. Huber, C. L. Elford, D. A. Reed, A. A. Chien, and D. S. Blumenthal. PPFS: A high performance portable parallel file system. In Proceedings of the 9th ACM International Conference on Supercomputing, pages 385–394, July 1995.

    Google Scholar 

  17. J. Moreira, S. Midkiff, and M. Gupta. From flop to megaflops: Java for technical computing. In Proceedings of the 11th Workshop on Languages and Compilers for Parallel Computing (LCPC’98), 1998. http://www.research.ibm.com/ninja/.

  18. M. Philippsen and M. Zenger. JavaParty-transparent remote objects in Java. In Concurrency: Practice and Experience, 9(11):1225–1242, November 1997.

    Article  Google Scholar 

  19. H. Takagi, S. Matsuoka, H. Nakada, S. Sekiguchi, M. Satoh, and U. Na-gashima. Ninflet: A migratable parallel objects framework using Java. In ACM 1998 Workshop on Java for High-Performance Network Computing, 1998. http://www.cs.ucsb.edu/conferences/java98/papers/ninflet.eps.

  20. T. vonEicken, A. Basu, V. Buch, and W. Vogels. U-Net: A user-level network interface for parallel and distributed computing. In Proceedings of the 15th Annual Symposium on Operating System Principles, December 1995.

    Google Scholar 

  21. M. Welsh and D. Culler. Jaguar: Enabling efficient communication and I/O from Java. Concurrency: Practice and Experience, 2000. Special Issue on Java for High-Performance Network Computing, To appear, http://www.cs.berkeley.edu/~mdw/proj/jaguar.

  22. A. Woo, Z. Mao, and H. So. The Berkeley JAWS Project. http://www.cs.berkeley.edu/~awoo/cs262/jaws.html.

  23. Yelick, Semenzato, Pike, Miyamoto, Liblit, Krishnamurthy, Hilfinger, Graham, Gay, Colella, and Aiken. Titanium: A high-performance Java dialect. In ACM 1998 Workshop on Java for High-Performance Network Computing, February 1998.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Welsh, M., Culler, D. (2000). Achieving Robust, Scalable Cluster I/O in Java. In: Dwarkadas, S. (eds) Languages, Compilers, and Run-Time Systems for Scalable Computers. LCR 2000. Lecture Notes in Computer Science, vol 1915. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-40889-4_2

Download citation

  • DOI: https://doi.org/10.1007/3-540-40889-4_2

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-41185-7

  • Online ISBN: 978-3-540-40889-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics