diff --git a/docs/source/faq.txt b/docs/source/faq.txt deleted file mode 100644 index 60dc3bf..0000000 --- a/docs/source/faq.txt +++ /dev/null @@ -1,93 +0,0 @@ -.. _faq: - -======================================== -Frequently asked questions -======================================== - -General questions -================= - -Questions about parallel computing with IPython -================================================ - -Will IPython speed my Python code up? --------------------------------------- - -Yes and no. When converting a serial code to run in parallel, there often many -difficulty questions that need to be answered, such as: - -* How should data be decomposed onto the set of processors? - -* What are the data movement patterns? - -* Can the algorithm be structured to minimize data movement? - -* Is dynamic load balancing important? - -We can't answer such questions for you. This is the hard (but fun) work of parallel -computing. But, once you understand these things IPython will make it easier for you to -implement a good solution quickly. Most importantly, you will be able to use the -resulting parallel code interactively. - -With that said, if your problem is trivial to parallelize, IPython has a number of -different interfaces that will enable you to parallelize things is almost no time at -all. A good place to start is the ``map`` method of our :class:`MultiEngineClient`. - -What is the best way to use MPI from Python? --------------------------------------------- - -What about all the other parallel computing packages in Python? ---------------------------------------------------------------- - -Some of the unique characteristic of IPython are: - -* IPython is the only architecture that abstracts out the notion of a - parallel computation in such a way that new models of parallel computing - can be explored quickly and easily. If you don't like the models we - provide, you can simply create your own using the capabilities we provide. - -* IPython is asynchronous from the ground up (we use `Twisted`_). - -* IPython's architecture is designed to avoid subtle problems - that emerge because of Python's global interpreter lock (GIL). - -* While IPython's architecture is designed to support a wide range - of novel parallel computing models, it is fully interoperable with - traditional MPI applications. - -* IPython has been used and tested extensively on modern supercomputers. - -* IPython's networking layers are completely modular. Thus, is - straightforward to replace our existing network protocols with - high performance alternatives (ones based upon Myranet/Infiniband). - -* IPython is designed from the ground up to support collaborative - parallel computing. This enables multiple users to actively develop - and run the *same* parallel computation. - -* Interactivity is a central goal for us. While IPython does not have - to be used interactivly, it can be. - -.. _Twisted: http://www.twistedmatrix.com - -Why The IPython controller a bottleneck in my parallel calculation? -------------------------------------------------------------------- - -A golden rule in parallel computing is that you should only move data around if you -absolutely need to. The main reason that the controller becomes a bottleneck is that -too much data is being pushed and pulled to and from the engines. If your algorithm -is structured in this way, you really should think about alternative ways of -handling the data movement. Here are some ideas: - -1. Have the engines write data to files on the locals disks of the engines. - -2. Have the engines write data to files on a file system that is shared by - the engines. - -3. Have the engines write data to a database that is shared by the engines. - -4. Simply keep data in the persistent memory of the engines and move the - computation to the data (rather than the data to the computation). - -5. See if you can pass data directly between engines using MPI. - diff --git a/docs/source/index.txt b/docs/source/index.txt index 243bdec..c344faa 100644 --- a/docs/source/index.txt +++ b/docs/source/index.txt @@ -23,7 +23,6 @@ Contents config/index.txt development/index.txt api/index.txt - faq.txt about/index.txt .. htmlonly::