This chapter took a brief tour through some parallel programming patterns and introduced the basics of IPython's parallel capabilities. IPython's parallel architecture was described and the functionality of its components outlined. Examples were provided to show how IPython's ipyparallel library is able to support many different types of parallel structures. Overall, IPython provides a powerful, flexible, modern interface to parallel machines.
In the next chapter we will take a deeper look at IPython's support for communication between parallel processes, both natively and through the third-party mechanisms provided by ZeroMQ and MPI.