Dennis B. Gannon

Dennis B. Gannon is Emeritus Professor of Computer Science at Indiana University Bloomington.

  • Cloud Computing for Science and Engineering

    Cloud Computing for Science and Engineering

    Ian Foster and Dennis B. Gannon

    A guide to cloud computing for students, scientists, and engineers, with advice and many hands-on examples.

    The emergence of powerful, always-on cloud utilities has transformed how consumers interact with information technology, enabling video streaming, intelligent personal assistants, and the sharing of content. Businesses, too, have benefited from the cloud, outsourcing much of their information technology to cloud services. Science, however, has not fully exploited the advantages of the cloud. Could scientific discovery be accelerated if mundane chores were automated and outsourced to the cloud? Leading computer scientists Ian Foster and Dennis Gannon argue that it can, and in this book offer a guide to cloud computing for students, scientists, and engineers, with advice and many hands-on examples.

    The book surveys the technology that underpins the cloud, new approaches to technical problems enabled by the cloud, and the concepts required to integrate cloud services into scientific work. It covers managing data in the cloud, and how to program these services; computing in the cloud, from deploying single virtual machines or containers to supporting basic interactive science experiments to gathering clusters of machines to do data analytics; using the cloud as a platform for automating analysis procedures, machine learning, and analyzing streaming data; building your own cloud with open source software; and cloud security.

    The book is accompanied by a website,, that provides a variety of supplementary material, including exercises, lecture slides, and other resources helpful to readers and instructors.

  • The Characteristics of Parallel Algorithms

    Robert J. Douglass, Dennis B. Gannon, and Leah H. Jamieson

    Although there has been a tremendous growth of interest in parallel architecture and parallel processing in recent years, comparatively little work has been done on the problem of characterizing parallelism in programs and algorithms. This book, a collection of original papers, specifically addresses that topic. The editors and two dozen other contributors have produced a work that cuts across numerical analysis, artificial intelligence, and database management, speaking to questions that lie at the heart of current research in these and many other fields of knowledge: How much commonality in algorithm structure is there across problem domains? What attributes of algorithms are the most important in dictating the structure of a parallel algorithm? How can algorithms be matched with languages and architectures? Their book provides an important starting place for a comprehensive taxonomy of parallel algorithms.

    The Characteristics of Parallel Algorithms is included in the Scientific Computation Series, edited by Dennis Gannon.

  • The Massively Parallel Processor

    Jerry L. Potter and Dennis B. Gannon

    The development of parallel processing, with the attendant technology of advanced software engineering, VLSI circuits, and artificial intelligence, now allows high-performance computer systems to reach the speeds necessary to meet the challenge of future complex scientific and commercial applications. This collection of articles documents the design of one such computer, a single instruction multiple data stream (SIMD) class supercomputer with 16,834 processing units capable of over 6 billion 8 bit operations per second. It provides a complete description of the Massively Parallel Processor (MPP), including discussions of hardware and software with special emphasis on applications, algorithms, and programming. This system with its massively parallel hardware and advanced software is on the cutting edge of parallel processing research, making possible AI, database, and image processing applications that were once thought to be inconceivable. The massively parallel processor represents the first step toward the large-scale parallelism needed in the computers of tomorrow. Orginally built for a variety of image-processing tasks, it is fully programmable and applicable to any problem with sizeable data demands.

    Contents "History of the MPP," D. Schaefer • "Data Structures for Implementing the Classy Algorithm on the MPP," R. White • "Inversion of Positive Definite Matrices on the MPP," R. White • "LANDSAT-4 Thematic Mapper Data Processing with the MPP," R. O. Faiss • "Fluid Dynamics Modeling," E. J. Gallopoulas • "Database Management," E. Davis • "List Based Processing on the MPP," J. L. Potter • "The Massively Parallel Processor System Overvew," K. E. Batcher • "Array Unit," K. E. Batcher • "Array Control Unit," K. E. Batcher • "Staging Memory," K. E. Batcher • "PE Design," J. Burkley • "Programming the MPP," J. L. Potter • "Parallel Pascal and the MPP," A. P Reeves • "MPP System Software," K. E. Batcher • "MPP Program Development and Simulation," E. J. Gallopoulas