Publications

This is a partial list of my publications. Some nondescriptive titles are followed by a description in italicized parentheses.

Books

  • How to Build a Beowulf: A Guide to the Implementation and Application of PC Clusters. STERLING, T. L., SALMON, J., BECKER, D. J., AND SAVARESE, D. F. MIT Press, May 1999.

Book Chapters

  • A Coming of Age for Beowulf-Class Computing. STERLING, T., AND SAVARESE, D. In Lecture Notes in Computer Science: Euro-Par'99 - Parallel Processing (1999), P. Amestoy, P. Berger, M. Dayde, I. Duff, V. Fraysse, L. Giraud, and D. Ruiz, Eds., vol. 1685, Springer.
  • Beowulf. SAVARESE, D. F., AND STERLING, T. In High Performance Cluster Computing Volume 1: Architectures and Systems (1999), R. Kumar, Ed., Prentice Hall.

Journals

  • From Toys to Teraflops: Bridging the Beowulf Gap. STERLING, T., AND SAVARESE, D. F. International Journal of High Performance Computing Applications (Fall 1999), 191-200.
  • Improving Application Performance on the HP/Convex Exemplar. STERLING, T., MERKEY, P., AND SAVARESE, D. F. IEEE Computer 29, 12 (December 1996), 50-55.
  • An Empirical Evaluation of the Convex SPP-1000 Hierarchical Shared Memory System. STERLING, T., SAVARESE, D., MERKEY, P., AND OLSON, K. International Journal on Parallel Programming (1996).
  • An Initial Evaluation of the Convex SPP-1000 for Earth and Space Science Applications. STERLING, T. L., SAVARESE, D. F., MERKEY, P. R., AND GARDNER, J. P. Journal of Future Generation Computer Systems (June 1995), 567-583.

Conferences

  • A Coming of Age for Beowulf-Class Computing. STERLING, T., AND SAVARESE, D. In Proceedings of the Fifth International Euro-Par Conference, Toulouse, France, August/September 1999 (August/September 1999), pp. 78-88.
  • A Design Study of Alternative Network Topologies for the Beowulf Parallel Workstation. RESCHKE, C., STERLING, T., RIDGE, D., SAVARESE, D., BECKER, D., AND MERKEY, P. In Proceedings of the Fifth IEEE Symposium on High Performance Distributed Computing, 1996 (1996).
  • Achieving a Balanced Low-Cost Architecture for Mass Storage Management through Multiple Fast Ethernet Channels on the Beowulf Parallel Workstation. STERLING, T., BECKER, D., SAVARESE, D., BERRY, M. R., AND RESCHKE, C. In Proceedings of the 10th International Parallel Processing Symposium, Honolulu, Hawaii, April 15-19, 1996 (1996), pp. 104-108.
  • A Performance Evaluation of the Convex SPP-1000 Scalable Shared Memory Parallel Computer. STERLING, T., SAVARESE, D., AND MACNEICE, P. In Proceedings of Supercomputing '95, San Diego, California, 1995 (1995).
  • HPC Architecture Requirements for Earth and Space Science Applications. STERLING, T., MERKEY, P., AND SAVARESE, D. In Proceedings of the International Conference on Industrial and Applied Mathematics (ICIAM), Hamburg, Germany, 1995 (1995).
  • BEOWULF: A Parallel Workstation for Scientific Computation. STERLING, T., BECKER, D. J., SAVARESE, D., DORBAND, J. E., RANAWAKE, U. A., AND PACKER, C. V. In Proceedings of the 1995 International Conference on Parallel Processing, Oconomowoc, Wisconsin, August 14-18, 1995 (1995), pp. 11-14.
  • Communication Overhead for Space Science Applications on the Beowulf Parallel Workstation. STERLING, T., SAVARESE, D., BECKER, D. J., FRYXELL, B., AND OLSON, K. In Proceedings of the Fourth IEEE Symposium on High Performance Distributed Computing (1995).
  • An Empirical Evaluation of the Convex SPP-1000 Hierarchical Shared Memory System. STERLING, T., SAVARESE, D., MERKEY, P., AND OLSON, K. In Proceedings of the International Conference on Parallel Architectures and Compilation Techniques, Limassol, Cyprus, June 27-29, 1995 (June 1995).
  • An Initial Evaluation of the Convex SPP-1000 for Earth and Space Science Applications. STERLING, T. L., SAVARESE, D. F., MERKEY, P. R., AND GARDNER, J. P. In Proceedings of the First IEEE Symposium on High-Performance Computer Architecture, Raleigh, North Carolina, January 22-25, 1995 (January 1995), pp. 176-185.

Workshops

  • Managing High Volume Astronomical Data with Heterogeneous Beowulf Clusters. SALMON, J., SAVARESE, D. F., AND STERLING, T. In Proceedings of the Workshop on Cluster-Based Computing, 13th ACM-SIGARCH International Conference on Supercomputing, Rhodes, Greece, June 20-25, 1999 (1999).
  • From Toys to Teraflops: Bridging the Beowulf Gap. STERLING, T., AND SAVARESE, D. F. In Proceedings of the Workshop on Programming Environments, Clusters, and Computational Grids for Scientific Computing, Blackberry Farm, Walland, Tennessee, September 2-4, 1998 (September 1998).
  • Evaluation of the SCI based Convex SPP-1000 Parallel Computer. STERLING, T., SAVARESE, D., AND MERKEY, P. In Proceedings of the Second International Workshop on SCI-based Low-cost/High-Performance Computing, Santa Clara, California, March 20-21, 1995 (March 1995).

Technical Reports

  • An Empirical Evaluation of the Convex SPP-1000 Hierarchical Shared Memory System. STERLING, T., SAVARESE, D., MERKEY, P., AND OLSON, K. Tech. Rep. TR-97-193, Center of Excellence in Space Data and Information Sciences, Aug. 1996.
  • The Performance of Earth and Space Science Applications on the Convex Exemplar Scalable Shared Memory Multiprocessor. STERLING, T., MERKEY, P., AND SAVARESE, D. Tech. Rep. TR-96-199, Center of Excellence in Space Data and Information Sciences, Aug. 1996.
  • The Impact of Network Performance on Distributed Computation. SAVARESE, D. F. Tech. Rep. CSC-975, Department of Computer Science, University of Maryland College Park, Dec. 1995.
  • An Initial Evaluation of the Convex SPP-1000 for Earth and Space Science Applications. STERLING, T. L., SAVARESE, D. F., MERKEY, P. R., AND GARDNER, J. P. Tech. Rep. TR-94-123, Center of Excellence in Space Data and Information Sciences, 1994.

Technical Magazine Articles

  • A Development Gem (Ruby on Rails Primer). SAVARESE, D. F. Oracle Magazine (Mar. 2007).
  • Falling Short. SAVARESE, D. F. Java Pro 10, 3 (Aug. 2006).
  • The Two Schools of Lazy Programming. SAVARESE, D. F. Java Pro 10, 2 (Apr. 2006), 28-29.
  • Hunting the Unicorn. SAVARESE, D. F. Java Pro 10, 1 (Jan. 2006), 36-39.
  • When Old Code Stops Working. SAVARESE, D. F. Java Pro 9, 6 (Nov. 2005).
  • Of Software and Sherman Tanks. SAVARESE, D. F. Java Pro 9, 5 (July 2005), 39-40.
  • J2ME Lets You Go 3D. SAVARESE, D. F. Java Pro 9, 4 (June 2005), 38-40.
  • Implement Raw Sockets. SAVARESE, D. F. Java Pro 9, 3 (May 2005), 37-40.
  • Conquer Class Loader Confusion. SAVARESE, D. F. Java Pro 9, 2 (Mar. 2005), 36-38.
  • Can't Get There From Here (Dijkstra's Algorithm). SAVARESE, D. F. Java Pro 9, 1 (Jan. 2005), 36-40.
  • Inercepting Packets on Linux with Java. SAVARESE, D. F. Java Pro 8, 8 (Nov. 2004), 38-39.
  • Adaptive Security with Virtual Services. SAVARESE, D. F. Java Pro 8, 7 (Oct. 2004), 46-48.
  • When Static Methods and Code Collide. SAVARESE, D. F. Java Pro 8, 6 (Sept. 2004), 44-46.
  • Introspective JavaBeans. SAVARESE, D. F. Java Pro 8, 5 (July 2004), 44-48.
  • Remote Access for Managed Applications. SAVARESE, D. F. Java Pro 8, 4 (June 2004), 52-54.
  • Groovy Scripting. SAVARESE, D. F. Java Pro 8, 3 (May 2004), 42-46.
  • Programming with Active Objects. SAVARESE, D. F. Java Pro 8, 2 (Mar. 2004), 46-48.
  • Prevent Web Application Hijacking. SAVARESE, D. F. Java Pro 8, 1 (Jan. 2004), 44-46.
  • Prepare for Java Language Changes. SAVARESE, D. F. Java Pro 7, 12 (Dec. 2003), 44-46.
  • A Trio of Quadtrees. SAVARESE, D. F. Java Pro 7, 11 (Nov. 2003), 54-55.
  • JMX for Managing Java Applications. SAVARESE, D. F. Java Pro 7, 10 (Oct. 2003), 46-47.
  • The Trouble with Distributed Objects. SAVARESE, D. F. Java Pro 7, 8 (Aug. 2003), 46-47.
  • Prove It, Don't Compute It (Logic Programming and Theorem Proving). SAVARESE, D. F. Java Pro 7, 7 (July 2003), 58-62.
  • Seven Keys to Secure Software. SAVARESE, D. F. Java Pro 7, 7 (July 2003), 16-22.
  • Control Your Exceptions. SAVARESE, D. F. Java Pro 7, 6 (June 2003), 42-46.
  • Learning to Fly (Intro to Java 3D API). SAVARESE, D. F. Java Pro 7, 6 (June 2003), 14-18.
  • Write Tests to Refine Your Code. SAVARESE, D. F. Java Pro 7, 5 (May 2003), 42-47.
  • On Optimizing Service Orchestration. SAVARESE, D. F. Java Pro 7, 4 (Apr. 2003), 44-46.
  • Fail-Safe Interop for Your Enterprise. SAVARESE, D. F. Java Pro 7, 4 (Apr. 2003), 20-24.
  • The Case for Conditional Compilation. SAVARESE, D. F. Java Pro 7, 3 (Mar. 2003), 42-45.
  • Get Small with Wireless Messaging and Mobile Media. SAVARESE, D. F. Java Pro 7, 3 (Mar. 2003), 14-20.
  • JAXB Revisited. SAVARESE, D. F. Java Pro 7, 2 (Feb. 2003), 34-37.
  • Five Paths to Persistence. SAVARESE, D. F. Java Pro 7, 2 (Feb. 2003), 14-19.
  • Monitor Your Messages. SAVARESE, D. F. Java Pro 7, 1 (Jan. 2003).
  • Eclipse vs. Swing. SAVARESE, D. F. Java Pro 6, 12 (Dec. 2002).
  • Close to Correct (Approximation Algorithms). SAVARESE, D. F. Java Pro 6, 11 (Nov. 2002).
  • Java's Continuing Evolution. SAVARESE, D. F. Java Pro 6, 11 (Nov. 2002).
  • How Hot is HotSpot? SAVARESE, D. F. Java Pro 6, 10 (Oct. 2002), 69-71.
  • Application, Heal Thyself (Self-repairing Software). SAVARESE, D. F. Java Pro 6, 9 (Sept. 2002), 70-73.
  • Whatever Happened to Jini? SAVARESE, D. F. Java Pro 6, 8 (Aug. 2002).
  • The Right SOAP. SAVARESE, D. F. Java Pro 6, 7 (July 2002), 68-71.
  • Make Some Noise with Java Sound. SAVARESE, D. F. Java Pro 6, 6 (June 2002), 72-79.
  • What Dynamic Proxies Can Do For You. SAVARESE, D. F. Java Pro 6, 5 (May 2002), 74-79.
  • The Next Step for Web Services (Composable Web Services). SAVARESE, D. F. Java Pro 6, 4 (Apr. 2002), 102-103.
  • State of the Union (Survey of XML in the Java Platform). SAVARESE, D. F. XML Magazine 3, 2 (Mar. 2002), 18-24.
  • JAXM for XML Messaging. SAVARESE, D. F. XML Magazine 3, 2 (Mar. 2002), 47-51.
  • High Performance I/O Arrives. SAVARESE, D. F. Java Pro 6, 3 (Mar. 2002), 92-95.
  • The Road Goes Ever On (What's new in Java 2 SDK 1.4). SAVARESE, D. F. Java Pro 6, 2 (Feb. 2002), 77-79.
  • XML Messaging with JAXM. SAVARESE, D. F. Java Pro 6, 1 (Jan. 2002), 90-95.
  • ONE Web to Bind Them (Sun ONE Java XML APIs). SAVARESE, D. F. Java Pro 5, 13 (Dec. 2001).
  • Binding Java to XML with JAXB. SAVARESE, D. F. Java Pro 5, 12 (Dec. 2001), 76-79.
  • Aspect-Oriented Programming in Java. SAVARESE, D. F. Java Pro 5, 11 (Nov. 2001), 91-95.
  • Take the Work Out of Unit Testing. SAVARESE, D. F. Java Pro 5, 10 (Oct. 2001), 90-93.
  • The Great Migration (Porting Your Code to J2ME). SAVARESE, D. F. Java Pro 5, 9 (Sept. 2001), 20-21,88-89.
  • Generics in Java. SAVARESE, D. F. Java Pro 5, 9 (Sept. 2001), 90-93.
  • ONE Web to Rule them All (An Overview of the Sun ONE Architecture). SAVARESE, D. F. Java Pro 5, 8 (Aug. 2001), 57-59.
  • Juxtaposing P2P. SAVARESE, D. F. Java Pro 5, 8 (Aug. 2001), 88-93.
  • Build Your Own Web Server. SAVARESE, D. F. Java Pro 5, 7 (July 2001), 104-109.
  • Teach Your Computer to Think for Itself (Searching Game Trees with Alpha-Beta Pruning). SAVARESE, D. F. Java Pro 5, 6 (June 2001), 87-93.
  • Express Yourself (Recursive Descent Parsing). SAVARESE, D. F. Java Pro 5, 5 (May 2001), 70-77.
  • The Sort-ed Details (Implementing Skip Lists in Java). SAVARESE, D. F. Java Pro 5, 4 (Apr. 2001), 69-76.
  • Strings and Things. SAVARESE, D. F. Java Pro 5, 3 (Mar. 2001), 71-74.
  • Implement Spatial Data Structures (k-d Trees). SAVARESE, D. F. Java Pro 5, 2 (Feb. 2001), 71-78.
  • Parsing XML for Beginners. SAVARESE, D. F. Java Pro 5, 1 (Jan. 2001), 74-79.
  • Unifying Wireless Software Development. SAVARESE, D. F. Java Pro 4, 13 (Dec. 2000), 63-64.
  • Java Application Delivery with JNLP. SAVARESE, D. F. Java Pro 4, 13 (Dec. 2000), 23-28.
  • An EJB Primer. SAVARESE, D. F. Java Pro 4, 12 (Dec. 2000), 71-77.
  • Dynamic Class-loading with KVM. SAVARESE, D. F. Java Pro 4, 11 (Nov. 2000), 71-80.
  • Perl Regular Expressions in Java. SAVARESE, D. F. Java Pro 4, 10 (Oct. 2000), 75-80.
  • Managing Projects with Ant. SAVARESE, D. F. Java Pro 4, 9 (Sept. 2000), 75-80.
  • Parallel Computing with RMI. SAVARESE, D. F. Java Pro 4, 8 (Aug. 2000), 65-72.
  • Keeping Up with J2ME. SAVARESE, D. F. Java Pro 4, 7 (July 2000), 77-80.
  • Running Java on the Palm OS. SAVARESE, D. F. Java Pro 4, 6 (June 2000), 89-96.
  • Validating JSP Input with JavaBeans. SAVARESE, D. F. Java Pro 4, 5 (May 2000), 65-72.
  • Java, Apache Style. SAVARESE, D. F. Java Pro 4, 4 (Apr. 2000), 66-72.
  • Open Source Java Development. SAVARESE, D. F. Java Pro 4, 3 (Mar. 2000), 66-70.
  • Inveighing against Insidious Inlining. SAVARESE, D. F. Java Pro 4, 2 (Feb. 2000), 68-72.
  • A Study of Servlets and Server Pages. SAVARESE, D. F. Java Pro 4, 1 (Jan. 2000), 68-72.
  • Referencing Garbage. SAVARESE, D. F. Java Pro 3, 12 (Nov. 1999), 67-72.
  • Dropping Can Be a Drag. SAVARESE, D. F. Java Pro 3, 11 (Nov. 1999), 66-72.
  • Documenting with Doclets. SAVARESE, D. F. Java Pro 3, 10 (Oct. 1999), 66-72.
  • Generic Programming Without Templates. SAVARESE, D. F. Java Pro 3, 9 (Sept. 1999), 69-72.
  • Make Threads Work for You. SAVARESE, D. F. Java Pro 3, 8 (Aug. 1999), 68-72.
  • Making Sense of Open Source Java. SAVARESE, D. F. Java Pro 3, 7 (July 1999), 73-80.
  • Embedding Java. SAVARESE, D. F. Java Pro 3, 6 (June 1999), 48-52.
  • Semaphores, Resource Bundles, and Other Tidbits. SAVARESE, D. F. Java Pro 3, 5 (May 1999), 50-59.
  • Programming with Style. SAVARESE, D. F. Java Pro 3, 4 (Apr. 1999), 49-52.
  • Java Gets the Job Done. SAVARESE, D. F. Java Pro 3, 3 (Mar. 1999), 54-60.
  • Are We There Yet? SAVARESE, D. F. Java Pro 3, 2 (Feb. 1999), 54-60.
  • Step through AWT before you Swing. SAVARESE, D. F. Java Pro 3, 1 (Jan. 1999), 50-58.
  • Unbottling the Java Jini. SAVARESE, D. F. Java Pro 2, 7 (Dec. 1998), 52-58.
  • Scripting Java. SAVARESE, D. F. Java Pro 2, 6 (Nov. 1998), 62-65.
  • Ask the Pros: WebPros Answer Common Questions. CAGLE, K., COX, K., FELDMAN, B., AND SAVARESE, D. F. Web Builder 3, 11 (Nov. 1998), 60-63.
  • Web Browser Woes Continue. SAVARESE, D. F. Java Pro 2, 5 (Oct. 1998), 60-62.
  • Ask the Pros: WebPros Answer Common Questions. CAGLE, K., COX, K., FELDMAN, B., AND SAVARESE, D. F. Web Builder 3, 10 (Oct. 1998), 60-64.
  • Ask the Pros: WebPros Answer Common Questions. COX, K., FELDMAN, B., AND SAVARESE, D. F. Web Builder 3, 9 (Sept. 1998), 67-71.
  • Socket to Me. SAVARESE, D. F. Java Pro 2, 4 (Aug. 1998), 60-62.
  • Ask the Pros: WebPros Answer Common Questions. COX, K., FELDMAN, B., PETERSON, K., AND SAVARESE, D. F. Web Builder 3, 8 (Aug. 1998), 78-82.
  • Ask the Pros: WebPros Answer Common Questions. COX, K., FELDMAN, B., SAVARESE, D. F., AND WEBER, P. Web Builder 3, 7 (July 1998), 66-71.
  • Multithreading and More. SAVARESE, D. F. Java Pro 2, 3 (June 1998), 64-67.
  • Your Answer Could Have Been Here. SAVARESE, D. F. Java Pro 2, 2 (Apr. 1998), 64-66.
  • JFC Beats AWT. SAVARESE, D. F. Java Pro 2, 1 (Feb. 1998), 42-47.
  • A's for your Q's. SAVARESE, D. F. Java Pro 2, 1 (Feb. 1998), 67-69.

Commissioned Whitepapers

  • Effective Memory Utilization for Reliable, High-Performance Java Applications. SAVARESE, D. F. Compuware NuMega (Sept. 2000).

Technical Magazine Product Reviews

  • WebLogic Platform 8.1. SAVARESE, D. F. Java Pro 7, 11 (Nov. 2003), 8-10.
  • Utility+ 2.1 Enterprise Edition: Tools for migrating to Java 2 and more. SAVARESE, D. F. Java Pro 3, 5 (May 1999), 10.

Technical Magazine Sidebars

  • This enum Goes to Eleven. SAVARESE, D. F. Java Pro 2, 3 (June 1998), 28.
  • Swing List Speedup. SAVARESE, D. F. Java Pro 2, 2 (Apr. 1998), 27.
  • Many Unhappy I/O Returns. SAVARESE, D. F. Java Pro 2, 1 (Feb. 1998), 59.
  • Stomping the Windows File Bug. SAVARESE, D. F. Java Pro 2, 1 (Feb. 1998), 59.

Tutorials

  • Introduction to Aspect-Oriented Programming. SAVARESE, D. F. In Java Pro Live! 2004 (Oct. 2004).
  • Open Source Objects in the Enterprise. SAVARESE, D. F. In The Bazaar 99 Tutorial Session (Dec. 1999).
  • How to Build a Beowulf. SALMON, J., AND SAVARESE, D. F. In USENIX 99 Tutorial Session (June 1999).

Conflict Simulation Articles

  • ASL Starter Kit Explained. SAVARESE, D. View from the Trenches, 57 (Sept. 2004), 13.