{
 "metadata": {
  "name": "Part 9 - Summary"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "# Summary of what we have covered\n",
      "\n",
      "* Simple remote execution of functions, or statements\n",
      "* Distribution of data\n",
      "* Parallel map\n",
      "* Multiplexed execution\n",
      "* Load-Balanced task farming\n",
      "* Asynchronous task submission and result retrieval"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "# And further things we have *not* covered\n",
      "\n",
      "* Functional Task Dependencies\n",
      "* Configuring the IPython cluster (working with profiles, SGE, MongoDB, etc.)\n",
      "* Tuning the IPython Cluster (TaskScheduler.hwm, custom serialization, etc.)\n",
      "* Inter-engine communication with PyZMQ or MPI\n",
      "* decorators for parallel and remote functions\n",
      "* IPython `%magics` for some parallel execution\n",
      "* Result caching, and task metadata\n",
      "* The TaskResult Database\n",
      "* Task resubmission\n",
      "* Queue monitoring and management\n",
      "\n",
      "See the [IPython.parallel docs](http://ipython.org/ipython-doc/dev/parallel) for more detailed coverage of these topics, and check out our [examples](https://www.github.com/ipython/ipython/tree/master/docs/examples/parallel)."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": true,
     "input": [],
     "language": "python",
     "metadata": {},
     "outputs": []
    }
   ],
   "metadata": {}
  }
 ]
}