Ian Foster

Ian Foster is the Arthur Holly Compton Distinguished Service Professor of Computer Science at the University of Chicago and Distinguished Fellow at Argonne National Laboratory.

  • 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, Cloud4SciEng.org, that provides a variety of supplementary material, including exercises, lecture slides, and other resources helpful to readers and instructors.


  • Programming Models for Parallel Computing

    Programming Models for Parallel Computing

    Pavan Balaji

    An overview of the most prominent contemporary parallel processing programming models, written in a unique tutorial style.

    With the coming of the parallel computing era, computer scientists have turned their attention to designing programming models that are suited for high-performance parallel computing and supercomputing systems. Programming parallel systems is complicated by the fact that multiple processing units are simultaneously computing and moving data. This book offers an overview of some of the most prominent parallel programming models used in high-performance computing and supercomputing systems today.

    The chapters describe the programming models in a unique tutorial style rather than using the formal approach taken in the research literature. The aim is to cover a wide range of parallel programming models, enabling the reader to understand what each has to offer. The book begins with a description of the Message Passing Interface (MPI), the most common parallel programming model for distributed memory computing. It goes on to cover one-sided communication models, ranging from low-level runtime libraries (GASNet, OpenSHMEM) to high-level programming models (UPC, GA, Chapel); task-oriented programming models (Charm++, ADLB, Scioto, Swift, CnC) that allow users to describe their computation and data units as tasks so that the runtime system can manage computation and data movement as necessary; and parallel programming models intended for on-node parallelism in the context of multicore architecture or attached accelerators (OpenMP, Cilk Plus, TBB, CUDA, OpenCL). The book will be a valuable resource for graduate students, researchers, and any scientist who works with data sets and large computations.

    Contributors Timothy Armstrong, Michael G. Burke, Ralph Butler, Bradford L. Chamberlain, Sunita Chandrasekaran, Barbara Chapman, Jeff Daily, James Dinan, Deepak Eachempati, Ian T. Foster, William D. Gropp, Paul Hargrove, Wen-mei Hwu, Nikhil Jain, Laxmikant Kale, David Kirk, Kath Knobe, Ariram Krishnamoorthy, Jeffery A. Kuehn, Alexey Kukanov, Charles E. Leiserson, Jonathan Lifflander, Ewing Lusk, Tim Mattson, Bruce Palmer, Steven C. Pieper, Stephen W. Poole, Arch D. Robison, Frank Schlimbach, Rajeev Thakur, Abhinav Vishnu, Justin M. Wozniak, Michael Wilde, Kathy Yelick, Yili Zheng

  • Scientific Collaboration on the Internet

    Scientific Collaboration on the Internet

    Gary M. Olson, Ann Zimmerman, and Nathan Bos

    The challenges and rewards of scientific collaboration enabled by information and communication technology, from theoretical approaches to in-depth case studies.

    Modern science is increasingly collaborative, as signaled by rising numbers of coauthored papers, papers with international coauthors, and multi-investigator grants. Historically, scientific collaborations were carried out by scientists in the same physical location—the Manhattan Project of the 1940s, for example, involved thousands of scientists gathered on a remote plateau in Los Alamos, New Mexico. Today, information and communication technologies allow cooperation among scientists from far-flung institutions and different disciplines. Scientific Collaboration on the Internet provides both broad and in-depth views of how new technology is enabling novel kinds of science and engineering collaboration. The book offers commentary from notable experts in the field along with case studies of large-scale collaborative projects, past and ongoing. The projects described range from the development of a national virtual observatory for astronomical research to a National Institutes of Health funding program for major multi-laboratory medical research; from the deployment of a cyberinfrastructure to connect experts in earthquake engineering to partnerships between developed and developing countries in AIDS research. The chapter authors speak frankly about the problems these projects encountered as well as the successes they achieved. The book strikes a useful balance between presenting the real stories of collaborations and developing a scientific approach to conceiving, designing, implementing, and evaluating such projects. It points to a future of scientific collaborations that build successfully on aspects from multiple disciplines.

    Contributors Mark S. Ackerman, Paul Avery, Matthew Bietz, Jeremy P. Birnholtz, Nathan Bos, Geoffrey C. Bowker, Randal Butler, David Conz, Eric Cook, Dan Cooney, Jonathon Cummings, Erik Dahl, Mark Ellisman, Ixchel Faniel, Thomas A. Finholt, Ian Foster, Jeffrey S. Grethe, Edward J. Hackett, Robert J. Hanisch, Libby Hemphill, Tony Hey, Erik C. Hofer, Mark James, Carl Kessleman, Sara Kiesler, Timothy L. Killeen, Airong Luo, Kelly L. Maglaughlin, Doru Marcusiu, Shawn McKee, William K. Michener, James D. Myers, Marsha Naidoo, Michael Nentwich, Gary M. Olson, Judith S. Olson, James Onken, Andrew Parker, John N. Parker, Mary Puetz, David Ribes, Kathleen Ricker, Diana Rhoten, Michael E. Rogers, Titus Schleyer, Diane H. Sonnenwald, B. F. Spencer, Jr., Stephanie D. Teasley, Anne Trefethen, Robert B. Waide, Mary C. Whitton, William Wulf, Jason Yerkie, Ann Zimmerman