The AWESOME Shell http://ipython.scipy.org/
IPython is... <ul><li>Released under the revised BSD license
A enhanced interactive python shell </li><ul><li>Lovely introspection tools
Demo ?, ??, tab
%magic %lsmagic (edit, run, pdb)
Custom magic  </li></ul><li>A architecture for interactive parallel computing </li></ul>
// Architecture <ul><ul><li>Engines ( does the work, run any where )
Controller ( does job mangement and coordination ) </li><ul><li>MultiEngine interface
Task interface (Ideal for task farming) </li></ul><li>Clients ( people with things to compute. ) </li><ul><li>Has correspo...
Upcoming SlideShare
Loading in …5
×

IPython: The awesome python shell

1,401 views
1,316 views

Published on

Talk by Vishal Vatsa given at October's Python Ireland meetup at Seagrass.

More info - http://www.python.ie/meetup/2009/oct_talks__seagrass/

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,401
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
29
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

IPython: The awesome python shell

  1. 1. The AWESOME Shell http://ipython.scipy.org/
  2. 2. IPython is... <ul><li>Released under the revised BSD license
  3. 3. A enhanced interactive python shell </li><ul><li>Lovely introspection tools
  4. 4. Demo ?, ??, tab
  5. 5. %magic %lsmagic (edit, run, pdb)
  6. 6. Custom magic </li></ul><li>A architecture for interactive parallel computing </li></ul>
  7. 7. // Architecture <ul><ul><li>Engines ( does the work, run any where )
  8. 8. Controller ( does job mangement and coordination ) </li><ul><li>MultiEngine interface
  9. 9. Task interface (Ideal for task farming) </li></ul><li>Clients ( people with things to compute. ) </li><ul><li>Has corresponding </li><ul><li>MultiEngineClient
  10. 10. TaskClient </li></ul></ul></ul></ul>
  11. 11. Quick Cluster Demo <ul><li>Start Controller
  12. 12. Start Engine
  13. 13. Start Client </li></ul>
  14. 14. Easy Cluster Demo <ul><li>Ipcluster
  15. 15. Various cluster types </li><ul><li>Local
  16. 16. Ssh
  17. 17. Mpi
  18. 18. Pbs (Portiable Batch Sytem) </li></ul></ul>
  19. 19. MultiEngine Interface <ul><li>Much more suited for interactive work
  20. 20. All engines are exposed to us
  21. 21. Execute funtion runs on all engines
  22. 22. Scatter & gather (Demo)
  23. 23. Map function, allows a function to be applied to a sequence. (Demo) </li></ul>
  24. 24. Task Interface <ul><li>Ideal base for Job farming system
  25. 25. Does dynamic load balancing between engines
  26. 26. Has a the same map function as the Multiengine, but also has the parallel decorator (Demo)
  27. 27. Can construct more complex Task, with StringTask </li></ul>
  28. 28. // Problems <ul><ul><li>Not so easy setup when you are setting up on the Internet </li><ul><li>Lots of creating tunnels and firewall pins so your client and engines can talk to the controller </li></ul><li>IO Overhead </li><ul><li>Really sucks when you end up doing more IO than tasking the cpu. </li></ul></ul></ul>
  29. 29. // The hard part <ul><li>Asyncclient </li><ul><li>Forget all concept of linear time
  30. 30. All calls are non blocking
  31. 31. Defereds
  32. 32. Callbacks
  33. 33. errbacks </li></ul></ul>

×