Index: ../trunk-jpl/externalpackages/ec2api/install.sh
===================================================================
--- ../trunk-jpl/externalpackages/ec2api/install.sh	(revision 0)
+++ ../trunk-jpl/externalpackages/ec2api/install.sh	(revision 13842)
@@ -0,0 +1,12 @@
+#!/bin/bash
+set -eu
+
+#Some cleanup
+rm -rf ec2-api-tools.zip
+rm -rf ec2-api-tools-1.6.3.1
+
+#Download from ISSM server
+$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/ec2-api-tools.zip' 'ec2-api-tools.zip'
+
+#Untar 
+unzip ec2-api-tools.zip

Property changes on: ../trunk-jpl/externalpackages/ec2api/install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
Index: ../trunk-jpl/externalpackages/ec2api/doc/notes
===================================================================
--- ../trunk-jpl/externalpackages/ec2api/doc/notes	(revision 0)
+++ ../trunk-jpl/externalpackages/ec2api/doc/notes	(revision 13842)
@@ -0,0 +1,2 @@
+EC2 tutorial at http://s3.amazonaws.com/AmazonEC2Tutorial/AmazonEC2Tutorial.html. 
+15 cents pr Gb/Month to store images ->  $15/Month to store all our ModelData!
Index: ../trunk-jpl/externalpackages/ec2api/doc/EC2_API_GET_STARTED.html
===================================================================
--- ../trunk-jpl/externalpackages/ec2api/doc/EC2_API_GET_STARTED.html	(revision 0)
+++ ../trunk-jpl/externalpackages/ec2api/doc/EC2_API_GET_STARTED.html	(revision 13842)
@@ -0,0 +1,647 @@
+<!DOCTYPE html>
+<!--[if IEMobile 7 ]><html class="no-js iem7"><![endif]-->
+<!--[if lt IE 9]><html class="no-js lte-ie8"><![endif]-->
+<!--[if (gt IE 8)|(gt IEMobile 7)|!(IEMobile)|!(IE)]><!-->
+<html class="js video no-maskImage placeholder" lang="en"><!--<![endif]--><head>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+  <meta charset="utf-8">
+  <title>HowTo: Get started with Amazon EC2 api tools - Linux Sysadmin Blog</title>
+  <meta name="author" content="Promet OPS Team">
+
+  
+  <meta name="description" content="This article is meant to be a quick quide that will introduce the things needed to get you started with Amazon EC2. All this information can be found …">
+  
+
+  <!-- http://t.co/dKP3o1e -->
+  <meta name="HandheldFriendly" content="True">
+  <meta name="MobileOptimized" content="320">
+  <meta name="viewport" content="width=device-width,minimum-scale=1,maximum-scale=1">
+
+  
+  <link rel="canonical" href="http://linuxsysadminblog.com/2009/06/howto-get-started-with-amazon-ec2-api-tools/">
+  <link href="http://linuxsysadminblog.com/favicon.png" rel="icon">
+  <link href="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/screen.css" media="screen, projection" rel="stylesheet" type="text/css">
+  <script src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/jXHR.js" type="text/javascript"></script><script src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/all.js" id="facebook-jssdk"></script><script src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/ga.js" async="" type="text/javascript"></script><script src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/modernizr-2.js"></script>
+  <script src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/ender.js"></script>
+  <script src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/octopress.js" type="text/javascript"></script>
+  <link href="http://linuxsysadminblog.com/atom.xml" rel="alternate" title="Linux Sysadmin Blog" type="application/atom+xml">
+  <!--Fonts from Google"s Web font directory at http://google.com/webfonts -->
+<link href="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/css_002.css" rel="stylesheet" type="text/css">
+<link href="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/css.css" rel="stylesheet" type="text/css">
+
+<!-- Google Form for Contact Page -->
+<!-- jQuery -->
+<script src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/jquery_002.js"></script>
+<script type="text/javascript">
+    // Avoid conflict with ender.js.
+jQuery.noConflict();
+</script>
+<!-- jQuery Form Plugin -->
+<script src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/jquery_003.js"></script>
+<script src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/jquery.js"></script> 
+<script src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/google_form.js"></script>
+<!-- Google Form for Contact Page End here -->
+
+
+  
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-120251-38']);
+    _gaq.push(['_trackPageview']);
+
+    (function() {
+      var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+      var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+    })();
+  </script>
+
+
+<script src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/embed.js" async="" type="text/javascript"></script><script src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/widgets.js" async="" type="text/javascript"></script><script async="" src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/promet.html" type="text/javascript"></script><style type="text/css">.fb_hidden{position:absolute;top:-10000px;z-index:10001}
+.fb_invisible{display:none}
+.fb_reset{background:none;border-spacing:0;border:0;color:#000;cursor:auto;direction:ltr;font-family:"lucida grande", tahoma, verdana, arial, sans-serif;font-size:11px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:1;margin:0;overflow:visible;padding:0;text-align:left;text-decoration:none;text-indent:0;text-shadow:none;text-transform:none;visibility:visible;white-space:normal;word-spacing:normal}
+.fb_link img{border:none}
+.fb_dialog{background:rgba(82, 82, 82, .7);position:absolute;top:-10000px;z-index:10001}
+.fb_dialog_advanced{padding:10px;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px}
+.fb_dialog_content{background:#fff;color:#333}
+.fb_dialog_close_icon{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yA/x/IE9JII6Z1Ys.png) no-repeat scroll 0 0 transparent;_background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/y6/x/s816eWC-2sl.gif);cursor:pointer;display:block;height:15px;position:absolute;right:18px;top:17px;width:15px;top:8px\9;right:7px\9}
+.fb_dialog_mobile .fb_dialog_close_icon{top:5px;left:5px;right:auto}
+.fb_dialog_padding{background-color:transparent;position:absolute;width:1px;z-index:-1}
+.fb_dialog_close_icon:hover{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yA/x/IE9JII6Z1Ys.png) no-repeat scroll 0 -15px transparent;_background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/y6/x/s816eWC-2sl.gif)}
+.fb_dialog_close_icon:active{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yA/x/IE9JII6Z1Ys.png) no-repeat scroll 0 -30px transparent;_background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/y6/x/s816eWC-2sl.gif)}
+.fb_dialog_loader{background-color:#f2f2f2;border:1px solid #606060;font-size:24px;padding:20px}
+.fb_dialog_top_left,
+.fb_dialog_top_right,
+.fb_dialog_bottom_left,
+.fb_dialog_bottom_right{height:10px;width:10px;overflow:hidden;position:absolute}
+.fb_dialog_top_left{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yR/x/8YeTNIlTZjm.png) no-repeat 0 0;left:-10px;top:-10px}
+.fb_dialog_top_right{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yR/x/8YeTNIlTZjm.png) no-repeat 0 -10px;right:-10px;top:-10px}
+.fb_dialog_bottom_left{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yR/x/8YeTNIlTZjm.png) no-repeat 0 -20px;bottom:-10px;left:-10px}
+.fb_dialog_bottom_right{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yR/x/8YeTNIlTZjm.png) no-repeat 0 -30px;right:-10px;bottom:-10px}
+.fb_dialog_vert_left,
+.fb_dialog_vert_right,
+.fb_dialog_horiz_top,
+.fb_dialog_horiz_bottom{position:absolute;background:#525252;filter:alpha(opacity=70);opacity:.7}
+.fb_dialog_vert_left,
+.fb_dialog_vert_right{width:10px;height:100%}
+.fb_dialog_vert_left{margin-left:-10px}
+.fb_dialog_vert_right{right:0;margin-right:-10px}
+.fb_dialog_horiz_top,
+.fb_dialog_horiz_bottom{width:100%;height:10px}
+.fb_dialog_horiz_top{margin-top:-10px}
+.fb_dialog_horiz_bottom{bottom:0;margin-bottom:-10px}
+.fb_dialog_iframe{line-height:0}
+.fb_dialog_content .dialog_title{background:#6d84b4;border:1px solid #3b5998;color:#fff;font-size:14px;font-weight:bold;margin:0}
+.fb_dialog_content .dialog_title > span{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yD/x/Cou7n-nqK52.gif)
+no-repeat 5px 50%;float:left;padding:5px 0 7px 26px}
+body.fb_hidden{-webkit-transform:none;height:100%;margin:0;left:-10000px;overflow:visible;position:absolute;top:-10000px;width:100%
+}
+.fb_dialog.fb_dialog_mobile.loading{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yc/x/3rhSv5V8j3o.gif)
+white no-repeat 50% 50%;min-height:100%;min-width:100%;overflow:hidden;position:absolute;top:0;z-index:10001}
+.fb_dialog.fb_dialog_mobile.loading.centered{max-height:590px;min-height:590px;max-width:500px;min-width:500px}
+#fb-root #fb_dialog_ipad_overlay{background:rgba(0, 0, 0, .45);position:absolute;left:0;top:0;width:100%;min-height:100%;z-index:10000}
+#fb-root #fb_dialog_ipad_overlay.hidden{display:none}
+.fb_dialog.fb_dialog_mobile.loading iframe{visibility:hidden}
+.fb_dialog_content .dialog_header{-webkit-box-shadow:white 0 1px 1px -1px inset;background:-webkit-gradient(linear, 0 0, 0 100%, from(#738ABA), to(#2C4987));border-bottom:1px solid;border-color:#1d4088;color:#fff;font:14px Helvetica, sans-serif;font-weight:bold;text-overflow:ellipsis;text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0;vertical-align:middle;white-space:nowrap}
+.fb_dialog_content .dialog_header table{-webkit-font-smoothing:subpixel-antialiased;height:43px;width:100%
+}
+.fb_dialog_content .dialog_header td.header_left{font-size:12px;padding-left:5px;vertical-align:middle;width:60px
+}
+.fb_dialog_content .dialog_header td.header_right{font-size:12px;padding-right:5px;vertical-align:middle;width:60px
+}
+.fb_dialog_content .touchable_button{background:-webkit-gradient(linear, 0 0, 0 100%, from(#4966A6),
+color-stop(0.5, #355492), to(#2A4887));border:1px solid #29447e;-webkit-background-clip:padding-box;-webkit-border-radius:3px;-webkit-box-shadow:rgba(0, 0, 0, .117188) 0 1px 1px inset,
+rgba(255, 255, 255, .167969) 0 1px 0;display:inline-block;margin-top:3px;max-width:85px;line-height:18px;padding:4px 12px;position:relative}
+.fb_dialog_content .dialog_header .touchable_button input{border:none;background:none;color:#fff;font:12px Helvetica, sans-serif;font-weight:bold;margin:2px -12px;padding:2px 6px 3px 6px;text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0}
+.fb_dialog_content .dialog_header .header_center{color:#fff;font-size:16px;font-weight:bold;line-height:18px;text-align:center;vertical-align:middle}
+.fb_dialog_content .dialog_content{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yJ/x/jKEcVPZFk-2.gif) no-repeat 50% 50%;border:1px solid #555;border-bottom:0;border-top:0;height:150px}
+.fb_dialog_content .dialog_footer{background:#f2f2f2;border:1px solid #555;border-top-color:#ccc;height:40px}
+#fb_dialog_loader_close{float:left}
+.fb_dialog.fb_dialog_mobile .fb_dialog_close_button{text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0}
+.fb_dialog.fb_dialog_mobile .fb_dialog_close_icon{visibility:hidden}
+.fb_iframe_widget{position:relative;display:-moz-inline-block;display:inline-block}
+.fb_iframe_widget iframe{position:absolute}
+.fb_iframe_widget_lift{z-index:1}
+.fb_iframe_widget span{position:relative;display:inline-block;vertical-align:text-bottom;text-align:justify}
+.fb_hide_iframes iframe{position:relative;left:-10000px}
+.fb_iframe_widget_loader{position:relative;display:inline-block}
+.fb_iframe_widget_fluid{display:inline}
+.fb_iframe_widget_loader iframe{min-height:32px;z-index:2;zoom:1}
+.fb_iframe_widget_loader .FB_Loader{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yJ/x/jKEcVPZFk-2.gif) no-repeat;height:32px;width:32px;margin-left:-16px;position:absolute;left:50%;z-index:4}
+.fb_button_simple,
+.fb_button_simple_rtl{background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/yH/x/eIpbnVKI9lR.png);background-repeat:no-repeat;cursor:pointer;outline:none;text-decoration:none}
+.fb_button_simple_rtl{background-position:right 0}
+.fb_button_simple .fb_button_text{margin:0 0 0 20px;padding-bottom:1px}
+.fb_button_simple_rtl .fb_button_text{margin:0 10px 0 0}
+a.fb_button_simple:hover .fb_button_text,
+a.fb_button_simple_rtl:hover .fb_button_text,
+.fb_button_simple:hover .fb_button_text,
+.fb_button_simple_rtl:hover .fb_button_text{text-decoration:underline}
+.fb_button,
+.fb_button_rtl{background:#29447e url(http://static.ak.fbcdn.net/rsrc.php/v2/yl/x/FGFbc80dUKj.png);background-repeat:no-repeat;cursor:pointer;display:inline-block;padding:0 0 0 1px;text-decoration:none;outline:none}
+.fb_button .fb_button_text,
+.fb_button_rtl .fb_button_text{background:#5f78ab url(http://static.ak.fbcdn.net/rsrc.php/v2/yl/x/FGFbc80dUKj.png);border-top:solid 1px #879ac0;border-bottom:solid 1px #1a356e;color:#fff;display:block;font-family:"lucida grande",tahoma,verdana,arial,sans-serif;font-weight:bold;padding:2px 6px 3px 6px;margin:1px 1px 0 21px;text-shadow:none}
+a.fb_button,
+a.fb_button_rtl,
+.fb_button,
+.fb_button_rtl{text-decoration:none}
+a.fb_button:active .fb_button_text,
+a.fb_button_rtl:active .fb_button_text,
+.fb_button:active .fb_button_text,
+.fb_button_rtl:active .fb_button_text{border-bottom:solid 1px #29447e;border-top:solid 1px #45619d;background:#4f6aa3;text-shadow:none}
+.fb_button_xlarge,
+.fb_button_xlarge_rtl{background-position:left -60px;font-size:24px;line-height:30px}
+.fb_button_xlarge .fb_button_text{padding:3px 8px 3px 12px;margin-left:38px}
+a.fb_button_xlarge:active{background-position:left -99px}
+.fb_button_xlarge_rtl{background-position:right -268px}
+.fb_button_xlarge_rtl .fb_button_text{padding:3px 8px 3px 12px;margin-right:39px}
+a.fb_button_xlarge_rtl:active{background-position:right -307px}
+.fb_button_large,
+.fb_button_large_rtl{background-position:left -138px;font-size:13px;line-height:16px}
+.fb_button_large .fb_button_text{margin-left:24px;padding:2px 6px 4px 6px}
+a.fb_button_large:active{background-position:left -163px}
+.fb_button_large_rtl{background-position:right -346px}
+.fb_button_large_rtl .fb_button_text{margin-right:25px}
+a.fb_button_large_rtl:active{background-position:right -371px}
+.fb_button_medium,
+.fb_button_medium_rtl{background-position:left -188px;font-size:11px;line-height:14px}
+a.fb_button_medium:active{background-position:left -210px}
+.fb_button_medium_rtl{background-position:right -396px}
+.fb_button_text_rtl,
+.fb_button_medium_rtl .fb_button_text{padding:2px 6px 3px 6px;margin-right:22px}
+a.fb_button_medium_rtl:active{background-position:right -418px}
+.fb_button_small,
+.fb_button_small_rtl{background-position:left -232px;font-size:10px;line-height:10px}
+.fb_button_small .fb_button_text{padding:2px 6px 3px;margin-left:17px}
+a.fb_button_small:active,
+.fb_button_small:active{background-position:left -250px}
+.fb_button_small_rtl{background-position:right -440px}
+.fb_button_small_rtl .fb_button_text{padding:2px 6px;margin-right:18px}
+a.fb_button_small_rtl:active{background-position:right -458px}
+.fb_share_count_wrapper{position:relative;float:left}
+.fb_share_count{background:#b0b9ec none repeat scroll 0 0;color:#333;font-family:"lucida grande", tahoma, verdana, arial, sans-serif;text-align:center}
+.fb_share_count_inner{background:#e8ebf2;display:block}
+.fb_share_count_right{margin-left:-1px;display:inline-block}
+.fb_share_count_right .fb_share_count_inner{border-top:solid 1px #e8ebf2;border-bottom:solid 1px #b0b9ec;margin:1px 1px 0 1px;font-size:10px;line-height:10px;padding:2px 6px 3px;font-weight:bold}
+.fb_share_count_top{display:block;letter-spacing:-1px;line-height:34px;margin-bottom:7px;font-size:22px;border:solid 1px #b0b9ec}
+.fb_share_count_nub_top{border:none;display:block;position:absolute;left:7px;top:35px;margin:0;padding:0;width:6px;height:7px;background-repeat:no-repeat;background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/yP/x/bSOHtKbCGYI.png)}
+.fb_share_count_nub_right{border:none;display:inline-block;padding:0;width:5px;height:10px;background-repeat:no-repeat;background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/yL/x/i_oIVTKMYsL.png);vertical-align:top;background-position:right 5px;z-index:10;left:2px;margin:0 2px 0 0;position:relative}
+.fb_share_no_count{display:none}
+.fb_share_size_Small .fb_share_count_right .fb_share_count_inner{font-size:10px}
+.fb_share_size_Medium .fb_share_count_right .fb_share_count_inner{font-size:11px;padding:2px 6px 3px;letter-spacing:-1px;line-height:14px}
+.fb_share_size_Large .fb_share_count_right .fb_share_count_inner{font-size:13px;line-height:16px;padding:2px 6px 4px;font-weight:normal;letter-spacing:-1px}
+.fb_share_count_hidden .fb_share_count_nub_top,
+.fb_share_count_hidden .fb_share_count_top,
+.fb_share_count_hidden .fb_share_count_nub_right,
+.fb_share_count_hidden .fb_share_count_right{visibility:hidden}
+.fb_connect_bar_container div,
+.fb_connect_bar_container span,
+.fb_connect_bar_container a,
+.fb_connect_bar_container img,
+.fb_connect_bar_container strong{background:none;border-spacing:0;border:0;direction:ltr;font-style:normal;font-variant:normal;letter-spacing:normal;line-height:1;margin:0;overflow:visible;padding:0;text-align:left;text-decoration:none;text-indent:0;text-shadow:none;text-transform:none;visibility:visible;white-space:normal;word-spacing:normal;vertical-align:baseline}
+.fb_connect_bar_container{position:fixed;left:0 !important;right:0 !important;height:42px !important;padding:0 25px !important;margin:0 !important;vertical-align:middle !important;border-bottom:1px solid #333 !important;background:#3b5998 !important;z-index:99999999 !important;overflow:hidden !important}
+.fb_connect_bar_container_ie6{position:absolute;top:expression(document.compatMode=="CSS1Compat"? document.documentElement.scrollTop+"px":body.scrollTop+"px")}
+.fb_connect_bar{position:relative;margin:auto;height:100%;width:100%;padding:6px 0 0 0 !important;background:none;color:#fff !important;font-family:"lucida grande", tahoma, verdana, arial, sans-serif !important;font-size:13px !important;font-style:normal !important;font-variant:normal !important;font-weight:normal !important;letter-spacing:normal !important;line-height:1 !important;text-decoration:none !important;text-indent:0 !important;text-shadow:none !important;text-transform:none !important;white-space:normal !important;word-spacing:normal !important}
+.fb_connect_bar a:hover{color:#fff}
+.fb_connect_bar .fb_profile img{height:30px;width:30px;vertical-align:middle;margin:0 6px 5px 0}
+.fb_connect_bar div a,
+.fb_connect_bar span,
+.fb_connect_bar span a{color:#bac6da;font-size:11px;text-decoration:none}
+.fb_connect_bar .fb_buttons{float:right;margin-top:7px}
+.fb_edge_widget_with_comment{position:relative;*z-index:1000}
+.fb_edge_widget_with_comment span.fb_edge_comment_widget{position:absolute}
+.fb_edge_widget_with_comment span.fb_send_button_form_widget{z-index:1}
+.fb_edge_widget_with_comment span.fb_send_button_form_widget .FB_Loader{left:0;top:1px;margin-top:6px;margin-left:0;background-position:50% 50%;background-color:#fff;height:150px;width:394px;border:1px #666 solid;border-bottom:2px solid #283e6c;z-index:1}
+.fb_edge_widget_with_comment span.fb_send_button_form_widget.dark .FB_Loader{background-color:#000;border-bottom:2px solid #ccc}
+.fb_edge_widget_with_comment span.fb_send_button_form_widget.siderender
+.FB_Loader{margin-top:0}
+.fbpluginrecommendationsbarleft,
+.fbpluginrecommendationsbarright{position:fixed !important;bottom:0;z-index:999}
+/* @noflip */
+.fbpluginrecommendationsbarleft{left:10px}
+/* @noflip */
+.fbpluginrecommendationsbarright{right:10px}
+</style><script charset="UTF-8" async="" src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/thread.js"></script><link href="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/defaults.css" type="text/css" rel="stylesheet"><script charset="UTF-8" async="" src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/disqus.js"></script><link href="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/theme.css" type="text/css" rel="stylesheet"><script charset="UTF-8" async="" src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/theme.js"></script><script charset="UTF-8" async="" src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/event.js"></script></head>
+
+<body data-twttr-rendered="true">
+  <header role="banner"><hgroup>
+  <h1><a href="http://linuxsysadminblog.com/">Linux Sysadmin Blog</a></h1>
+  
+</hgroup>
+
+</header>
+  <nav role="navigation"><ul class="subscription" data-subscription="rss">
+  <li><a href="http://linuxsysadminblog.com/atom.xml" rel="subscribe-rss" title="subscribe via RSS">RSS</a></li>
+  
+</ul>
+  
+<form action="http://google.com/search" method="get">
+  <fieldset role="search">
+    <input name="q" value="site:linuxsysadminblog.com" type="hidden">
+    <input class="search" name="q" results="0" placeholder="Search" type="text">
+  </fieldset><fieldset class="mobile-nav"><select><option value="">Navigate…</option><option value="http://linuxsysadminblog.com/">» Blog</option><option value="http://linuxsysadminblog.com/blog/our-team">» Our Team</option><option value="http://linuxsysadminblog.com/blog/archives">» Archives</option><option value="http://linuxsysadminblog.com/blog/about">» About</option><option value="http://linuxsysadminblog.com/blog/contact">» Contact</option><option selected="selected" value="http://linuxsysadminblog.com/atom.xml">» RSS</option></select></fieldset>
+</form>
+  
+<ul class="main-navigation">
+  <li><a href="http://linuxsysadminblog.com/">Blog</a></li>
+  <li><a href="http://linuxsysadminblog.com/blog/our-team">Our Team</a></li>
+  <li><a href="http://linuxsysadminblog.com/blog/archives">Archives</a></li>
+  <li><a href="http://linuxsysadminblog.com/blog/about">About</a></li>
+  <li><a href="http://linuxsysadminblog.com/blog/contact">Contact</a></li>
+</ul>
+
+</nav>
+  <div id="main">
+    <div id="content">
+      
+
+<div>
+<article class="hentry" role="article">
+  
+  <header>
+    
+      <h1 class="entry-title">HowTo: Get Started With Amazon EC2 Api Tools</h1>
+    
+    
+      <p class="meta">
+        
+  
+
+
+<span class="byline author vcard">Posted by <span class="fn"><a href="http://linuxsysadminblog.com/blog/our-team/marius-ducea.html">Marius Ducea</a></span></span>
+
+ - 
+
+
+
+
+
+
+
+
+  
+
+
+<time datetime="2009-06-02T09:57:46+08:00" pubdate="" data-updated="true">Jun 2<span>nd</span>, 2009</time>
+        
+         | <a href="#disqus_thread">Comments</a>
+        
+      </p>
+    
+  </header>
+
+
+<div class="entry-content"><p>This article is meant to be a quick quide that will introduce the things needed to <strong>get you started with Amazon EC2</strong>.
+ All this information can be found in the EC2 api docs, and this is not 
+meant to be a replacement of the documentation, just trying to show the 
+things needed in a clear and short form.</p>
+
+<h3>Getting Started</h3>
+
+<p>First of all you will need one <a href="http://aws.amazon.com/"><strong>Amazon AWS</strong></a> <strong>account </strong>and enable the <strong>EC2 service</strong>; in case you don’t have this already now is the time to <a href="http://www.amazon.com/gp/aws/registration/registration-form.html">create</a> your account. Once you do that you can safely return to this doc ;-)</p>
+
+<p>Once you have your account working, while still on the aws site, go and create a new <strong>X.509 certificate</strong>
+ (under the AWS Access Identifiers page, in the X.509 certificate 
+section near the bottom, click Create New). Once this is done, you will 
+want to <em>download locally the private key file and X.509 certificate</em>.</p>
+
+<h3>EC2 API tools</h3>
+
+<p>Next you will have to <a href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=351&amp;categoryID=88">download</a>
+ and install the Amazon EC2 api tools on one system (controlling 
+machine) that will be used to start your EC2 army of servers, and 
+control their usage. You will want to use the latest version (2009-05-15
+ at this time) as it will support all the features Amazon is offering 
+for the EC2 service.</p>
+
+<p>The only real dependency of the EC2 API tools is <strong>java </strong>(at
+ least version 1.5) so we will want to install that first. If you are 
+running debian you can easily do this just by running (for lenny):
+<code>aptitude install sun-java6-jre</code>
+while for etch you will have to use: <em>aptitude install sun-java5-jre</em>
+For other distributions you can either use their internal packaging 
+mechanism (in case they provide sun-java packages) or just download the 
+binary from sun and install it manually.</p>
+
+<p><strong>Extract </strong>the EC2 APi tools (it is a zip archive called <strong>ec2-api-tools.zip</strong>) and move it under a folder of your preferece. I like to use <strong>~/.ec2</strong> for this, but you can use any folder you prefer. Also copy the <strong>private key</strong> and <strong>X.509 certificate</strong> in the same directory. Those files will look like <em>cert-xxx.pem</em> and <em>pk-xxx.pem</em>.</p>
+
+<p>Next we will have to <strong>export some shell variables</strong>. A good place to put this is in ~/.bashrc:</p>
+
+<figure class="code"><div class="highlight"><table><tbody><tr><td class="gutter"><pre class="line-numbers"><span class="line-number">1</span>
+<span class="line-number">2</span>
+<span class="line-number">3</span>
+<span class="line-number">4</span>
+<span class="line-number">5</span>
+<span class="line-number">6</span>
+<span class="line-number">7</span>
+<span class="line-number">8</span>
+</pre></td><td class="code"><pre><code class=""><span class="line">export EC2_HOME=~/.ec2
+</span><span class="line">export PATH=$PATH:$EC2_HOME/bin
+</span><span class="line">export EC2_PRIVATE_KEY=$EC2_HOME/pk-xxx.pem
+</span><span class="line">export EC2_CERT=$EC2_HOME/cert-xxx.pem
+</span><span class="line">#Java home for debian default install path:
+</span><span class="line">export JAVA_HOME=/usr
+</span><span class="line">#add ec2 tools to default path
+</span><span class="line">export PATH=~/.ec2/bin:$PATH</span></code></pre></td></tr></tbody></table></div></figure>
+
+
+<p>Finally source the file to have the changes active in your current shell session:
+<code>source ~/.bashrc</code>
+or just open a new shell before starting to use the API tools.</p>
+
+<h3>EC2 Keypair</h3>
+
+<p>We will need to create one <strong>keypair </strong>that will be used to connect using <strong>ssh</strong> to the EC2 instances we will be using. We will use the <strong>ec2-add-keypair</strong> utility to create the key and register it with amazon:
+<code>ec2-add-keypair my-keypair</code>
+This will print out the private key that we will have to save in a file:
+`cat &gt; ~/.ec2/id_rsa-my-keypair</p>
+
+<h1>paste the private key content</h1>
+
+<p>sudo chmod 600 <code>`~/.ec2/id_rsa-my-keypair</code></p>
+
+<h3>Running your first EC2 instance</h3>
+
+<p>Amazon EC2 uses the concept of <strong>AMIs </strong>= Amazon Machine
+ Images. Any EC2 instance is started from one AMI. You can either use 
+standard, public AMIs or create and customize your own private images. 
+Creating or modifying existing AMIs is beyond the scope of this article,
+ but just as a general information this is done using special AMI tools.
+ Also before building your AMI you will want to ensure if you want to 
+use a ‘small’ type of image (i386 os) or a ‘large’ type of instance 
+(64bit os). These are described under<a href="http://aws.amazon.com/ec2/instance-types/"> http://aws.amazon.com/ec2/instance-types/</a></p>
+
+<p>For the scope of our article we will find a standard public image and
+ start one instance of it to see that all is working properly with the 
+EC2 api tools. You can see all the public images using:
+<code>ec2-describe-images -a</code>
+(over 2,300 images ;) ). You should probably grep the result to get any 
+useful information. There are many good public images to use, like for 
+example the <a href="http://alestic.com/">alestic</a> ones (for debian and ubuntu)
+Having the AMI id of the image we want to use we are ready to start our fist EC2 instance:
+<code>ec2-run-instances ami-e348af8a -k my-keypair</code>
+that will start a small instance with a 32bit debian lenny server instance from alestic.com.</p>
+
+<p><code>ec2-describe-instances</code>
+- this will describe the status of all the running instances, with their hostname, instance id, etc.</p>
+
+<p><code>ec2-authorize default -p 22</code>
+- in order to connect to your instance you will need to customize the 
+‘default’ firewall rules for your account. The above rule will allow ssh
+ on port 22 from anywhere. If you want to open http traffic you will 
+have to add a rule like this:
+<code>ec2-authorize default -p 80</code></p>
+
+<p>Finally we can ssh to the ec2 instance using:
+<code>ssh -i ~/.ec2/id_rsa-my-keypair root@ec2-XXX-XXX-XXX-XXX.z-2.compute-1.amazonaws.com</code>
+where ec2-XXX-XXX-XXX-XXX.z-2.compute-1.amazonaws.com is the actual 
+hostname of the instance as obtained from ec2-describe-instances.</p>
+
+<p><em>Note</em>: don’t forget to <strong>stop your instance</strong> 
+when you no longer need it. EC2 is a service paid as you use, hence if 
+you forget your instance running you will be billed for it ;-). You can 
+do this by running <strong>shutdown </strong>inside the instance or by using:
+<code>ec2-terminate-instances i-yourinstance</code>
+and verify with <strong>ec2-describe-instances</strong> that the instance is indeed stopped.</p>
+
+<p>Next step is to create/customize your own EC2 AMI images based on 
+your needs. This will be covered in a future article. Hopefully you 
+found this article useful, and it will get you on track quickly with 
+Amazon EC2 api tools.</p>
+</div>
+
+
+  <footer>
+    <p class="meta">
+      
+  
+
+
+<span class="byline author vcard">Posted by <span class="fn"><a href="http://linuxsysadminblog.com/blog/our-team/marius-ducea.html">Marius Ducea</a></span></span>
+
+
+      
+
+
+
+
+
+
+
+
+  
+
+
+<time datetime="2009-06-02T09:57:46+08:00" pubdate="" data-updated="true">Jun 2<span>nd</span>, 2009</time>
+      
+
+<span class="categories">
+  
+    <a class="category" href="http://linuxsysadminblog.com/category/cli/">CLI</a>, <a class="category" href="http://linuxsysadminblog.com/category/howto/">HowTo</a>, <a class="category" href="http://linuxsysadminblog.com/category/cloud-computing/">cloud computing</a>, <a class="category" href="http://linuxsysadminblog.com/category/sysadmin/">sysadmin</a>
+  
+</span>
+
+
+    </p>
+    
+      <div class="sharing">
+  
+  <iframe data-twttr-rendered="true" title="Twitter Tweet Button" style="width: 107px; height: 20px;" class="twitter-share-button twitter-count-horizontal" src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/tweet_button.html" allowtransparency="true" frameborder="0" scrolling="no"></iframe>
+  
+  
+  
+    <div fb-xfbml-state="rendered" class="fb-like fb_edge_widget_with_comment fb_iframe_widget" data-send="true" data-width="450" data-show-faces="false"><span style="height: 24px; width: 450px;"><iframe src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/like.html" class="fb_ltr" title="Like this content on Facebook." style="border: medium none; overflow: hidden; height: 24px; width: 450px;" name="f24b4a4df68728" id="fd385dd951b88c" scrolling="no"></iframe></span></div>
+  
+</div>
+
+    
+    <p class="meta">
+      
+        <a class="basic-alignment left" href="http://linuxsysadminblog.com/2009/05/moving-magento-sites/" title="Previous Post: Moving Magento Sites">« Moving Magento Sites</a>
+      
+      
+        <a class="basic-alignment right" href="http://linuxsysadminblog.com/2009/06/new-debian-apt-keys/" title="next Post: New Debian apt keys">New Debian apt keys »</a>
+      
+    </p>
+  </footer>
+</article>
+
+  <section>
+    <h1>Comments</h1>
+    <div id="disqus_thread" aria-live="polite"><noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
+<div style="display: none;" id="dsq-content-stub"><img alt="DISQUS" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEcAAAARCAYAAAH4YIFjAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABwdJREFUeNpi/P//PwMhwAIiGBkZGeK6V8JVh9rqdfrc0ixnEDb+wPD2rAAjMSYBBBBRisDWwKxCthIE/q8Q+A8yhCiTAAIIrCi+ZxVMZSAQr19UGs4IMxWd/X8Rw3/GOKDhW43fgzwF1hX7n5EJ2dSp2QFNUKcZwJ31/78CkvPBGkGGMXidSUTWCxBAxAUAEQAcJzCvIXsDBPwsNBU2nbj+AMpdsFA8PAHsLZj3QC5D9hrIAEtN+RMwAzRkxcB0iK3eQ6iQIRAnoMTE//8CyHwmWHQdv/7QAiZ44/ErMP383acsqNB5iMnPlsFdsUZ6IU3CCCCA4AYBw8kBJgj06gGkmHJAFgPyQV4ExeQEoNgHJHUBQMoAWRzoerBeYHgeQOJ/APIvQPkNUP4EuIdADBAGBRMQOABxQcakdSipHZldNGvL2zWHL8kD1d0HieVN33QYqnc/EAfULNwJVw8KTniQwvjAdPz/SEwKmL1KfC5QjwEQr4e5AyVdA3P4ASCe8O3nb1whmtib6r3IXlfpATBEFbpWH9ygJSdmBtXrOHPbyZWPXn1AqOZRwDSBS+YHo82SOQwiZnYMoS+EGC42nGdYzBiAnKpgGAbeA3ECkjwYQNnzH758///6o5cgofVIagy+/vgFF//y/ecHJLn1/18AA+/teZBcPZL4eSTxBJg7AAKIaomRmpkeV2IG5UcDpMSsAM2zF4BiG9DUFaCLQxPwBWCC/QBkg/QqoCVuEN4ASuDIaWc/DIMSItBxH0GCrkaqCVBxWO4BJWBQcK/PmrL+I1S8H0i9h4mjFfX7GTRyIdEuHzIfZtb/Zdw3oGyQnvP/d9pNgRc+MLCwJMxxWk7AI6Ar+YCWVSLLyYkJzIYlZqC6RGBhbg/lFwDlQHoDgfgALLfhjY8/X9XhpWPs/wWM7odyMBwDylU8nOzyILYIH3cZslxBgM0cKHM+MOTAGCZnri7XCdS7ASgGLsc/fPlug9cxlrO/wUvYxYwJwCgLwHAMcrVlqCJ9BVlchJ+7EhRyQPwAyGaAFnhgsOPMzUhQroLVAU76yp/gGp/vtQbTr45pwMWOp1oDQ6QQiGEi6+EJGLmah0YJQ6CVtu3ivecKYHIpE9b8BPqcDSnawHSSu8m3eTvPyAHlzsPkDl25/wXMYAOq+XgtBFwIfn/GwCAOSq8HYCGCsNh8+hvksgYZIJchDkjljAKoHAKVJ6ByBbnmA5XESOL1oFIZSc9/cJkC1IukPuH/z/cw8fswdwyqcgYgwAaVYwYbQEnDSI1LbGABEDcCC1lYS4yhfO42n+fvPm9GKsAZkfJDA7RcwwYmQM1CbpUUADU3AB3AjxJ7wFwAFGsAqp2A0mBDahww8Gv4Mvrf2AKXWyMzgeHbk3wwh5X/DGPkR1OoHlCmn49cGCABkL8SgZn8ANbAQQaV4ZBK6yGwgbDr3G2GNx+/gkqShMTe1V///vsnA/KYjoKECjBwMPQCW0EngOrNQWxbHQWGFA8zBlAj5eztpwwbjl9lyPG1DFOUEAIFDqxJB6ksoC1ZN2NVsDm7zt4GNUhBgdUPrXwckWtQOJB0VQE2XRF8UQt9hodrIGw+FaDcWVjAwAshhsD7kAbPO2Dr78ZEBoZfHxQYHNYbwEogvIGjKSfOiNysBpaEL/acv8MODBhuUX7u00BhVVx6DZWlxHcDAxQEDl95AMZQAGqHLlSSFIanAnZWll0/f/8Bs2OcDB+5GavJVyGZtevsrYdL9p2XQ6rZGcnKI54nZRj2uoMCAVr4K8JkQAKgJsdEYN12AbmYYSGqYGJk/NC8bO91WHKUFRXgwace6ElDIF4PjHWHc3eeMZy98xSU8mB1mwE0FSQCU8ECZiZGVpi+yw9eLIfVlUyMjIf+/f/Pu/bIlTtIdSX5hauo+RagxxMZfr2fwHB3IT/Dy4MMDI/BzTABaP2aAGzmgPpN4gQDB1pmgIA+EAfcfvoGXl/mB1hXFuBxCLDs6oc26kBJZiIoxShLCqs9e/tp+vdfv8ENB08Tdf9FwHKsMtxxTfvK/SGgbHfx3vNyoL2g7DjR30r74vqjV2yA6lXgbnI2WtoH4yhEfGF4sAISSTcm9wOzDcidoE6lPTBLwRuyDMoJ5+DZagnLJIb/f3mh5edGcKoRs+5neHUUUgZxiIrhrK2wFchc7KwMmsByANjiAZUfoGzhCEpJIDlQowOYffqRC2RQS+f1x68HNx6/ygcqY9A7RMZAc5LcTS/zcLLZwcwB1evAzs/8pfsvwDu9yOplgRECzF4M8a7Gryw05NRB+sDtiC/3HjKcKeaDpgAEADVmNIDlsX4DqFPmCOvvMNxdkAAuX95dQFUPKnv06kEBmQgNOLpV5QbQpAsrcz4QUC+AVJsgqxcgoNcBqQy5QIIdONUDALcn6c0dtMJ9AAAAAElFTkSuQmCC" height="17" width="71"><img alt="..." src="data:image/gif;base64,R0lGODlhEAALAPQAAP///z2LqeLt8dvp7u7090GNqz2LqV+fuJ/F1IW2ycrf51aatHWswaXJ14i4ys3h6FmctUCMqniuw+vz9eHs8fb5+meku+Tu8vT4+cfd5bbT3tbm7PH2+AAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCwAAACwAAAAAEAALAAAFLSAgjmRpnqSgCuLKAq5AEIM4zDVw03ve27ifDgfkEYe04kDIDC5zrtYKRa2WQgAh+QQJCwAAACwAAAAAEAALAAAFJGBhGAVgnqhpHIeRvsDawqns0qeN5+y967tYLyicBYE7EYkYAgAh+QQJCwAAACwAAAAAEAALAAAFNiAgjothLOOIJAkiGgxjpGKiKMkbz7SN6zIawJcDwIK9W/HISxGBzdHTuBNOmcJVCyoUlk7CEAAh+QQJCwAAACwAAAAAEAALAAAFNSAgjqQIRRFUAo3jNGIkSdHqPI8Tz3V55zuaDacDyIQ+YrBH+hWPzJFzOQQaeavWi7oqnVIhACH5BAkLAAAALAAAAAAQAAsAAAUyICCOZGme1rJY5kRRk7hI0mJSVUXJtF3iOl7tltsBZsNfUegjAY3I5sgFY55KqdX1GgIAIfkECQsAAAAsAAAAABAACwAABTcgII5kaZ4kcV2EqLJipmnZhWGXaOOitm2aXQ4g7P2Ct2ER4AMul00kj5g0Al8tADY2y6C+4FIIACH5BAkLAAAALAAAAAAQAAsAAAUvICCOZGme5ERRk6iy7qpyHCVStA3gNa/7txxwlwv2isSacYUc+l4tADQGQ1mvpBAAIfkECQsAAAAsAAAAABAACwAABS8gII5kaZ7kRFGTqLLuqnIcJVK0DeA1r/u3HHCXC/aKxJpxhRz6Xi0ANAZDWa+kEAA7AAAAAAAAAAAA" style="margin: 0pt 0pt 3px 5px;" height="11" width="16"></div><div class="clearfix" style="display: block;" id="dsq-content">      <div id="dsq-global-toolbar" class="dsq-clearfix">        <ul class="dsq-global-toolbar-right dsq-clearfix">                            <li class="dsq-community-box">                <a href="#" class="dsq-toolbar-item dsq-tt" onclick="DISQUS.dtpl.actions.fire('community.show'); return false" title="Expand Community Box"><span class="dsq-toolbar-icon"></span></a>            </li>                            <li class="dsq-global-toolbar-dropdown-container">                    <div id="dsq-toolbar-dropdown">    <a href="#" class="dsq-toolbar-logo dsq-toolbar-item dsq-clearfix"><span class="dsq-toolbar-icon">Disqus</span></a>    <div id="dsq-toolbar-dropdown-wrap" style="display: none">      <ul class="dsq-clearfix">                    <li class="dsq-login-link"><a href="#" onclick="DISQUS.dtpl.actions.fire('auth.login'); return false"><span class="dsq-toolbar-icon"></span><span class="dsq-toolbar-label">Login</span></a></li>                    <li class="dsq-about-link"><a href="http://disqus.com/" target="_blank"><span class="dsq-toolbar-icon"></span><span class="dsq-toolbar-label">About Disqus</span></a></li>      </ul>    </div>  </div>            </li>        </ul>                <ul class="dsq-global-toolbar-left dsq-clearfix">            <li class="dsq-like-thread">                <a href="#" id="dsq-like-thread-button" class="dsq-toolbar-item dsq-clearfix  dsq-tt" onclick="DISQUS.dtpl.actions.fire('thread.vote', 1); return false;" title="I like this page">                    <span class="dsq-toolbar-icon"></span>                    <span class="dsq-toolbar-label">Like</span>                </a>            </li>            <li class="dsq-dislike-thread">                <a href="#" id="dsq-dislike-thread-button" class="dsq-toolbar-item dsq-clearfix  dsq-tt" onclick="DISQUS.dtpl.actions.fire('thread.vote', -1); return false" title="I don't like this page">                    <span class="dsq-toolbar-icon">Dislike</span>                </a>            </li>            <li class="dsq-like-panel">                <ul class="dsq-like-faces dsq-clearfix">                        <li class="dsq-like-activity">    </li>                </ul>            </li>        </ul>            </div>    <div id="dsq-like-tooltip">      <div id="dsq-share-step-1" class="dsq-share-step">        <h3>Glad you liked it. Would you like to share?</h3>        <p class="dsq-tooltip-checkbox"><input id="dsq-share-thread-facebook" value="Facebook" type="checkbox"><label for="dsq-share-thread-facebook"><span class="dsq-facebook">Facebook</span></label></p>        <p class="dsq-tooltip-checkbox"><input id="dsq-share-thread-twitter" value="Twitter" type="checkbox"><label for="dsq-share-thread-twitter"><span class="dsq-twitter">Twitter</span></label></p>        <ul id="dsq-tooltip-actions">                        <li><a href="#" onclick="DISQUS.dtpl.actions.fire('thread.share.send'); return false" class="dsq-primary-action">Share</a></li>                    <li><a href="#" onclick="DISQUS.dtpl.actions.fire('thread.share.cancel'); return false" class="dsq-secondary-action">No thanks</a></li>        </ul>      </div>      <div id="dsq-share-step-2" class="dsq-share-step" style="display:none !important">        <p>Sharing this page …</p>      </div>      <div id="dsq-share-step-3" class="dsq-share-step" style="display:none !important">        <p>Thanks! <a href="#" class="dsq-tooltip-decline" onclick="DISQUS.dtpl.actions.fire('thread.share.cancel'); return false">Close</a></p>      </div>    </div>                                <div class="dsq-reply " id="dsq-reply">          <div id="dsq-account-dropdown">                  <a href="#" onclick="DISQUS.dtpl.actions.fire('auth.login'); return false;">Login</a>              </div>      <h3>Add New Comment</h3>        <div class="dsq-avatar">              <img src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/noavatar32.png">          </div>    <div class="dsq-textarea dsq-textarea-reply">      <div class="dsq-textarea-background">        <div style="height: auto;" class="dsq-textarea-wrapper">          <!-- filled dynamically -->        <iframe style="height: 58px;" src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/reply.html" id="easyXDM_DISQUS_net_default8491_provider" name="easyXDM_DISQUS_net_default8491_provider" frameborder="0" scrolling="no"></iframe></div>                  <div id="dsq-media-preview" class="dsq-media-preview" style="display:none">          </div>                <div class="dsq-post-tools">          <ul>            <li class="dsq-post-as">                                <button type="button" class="dsq-button" onclick="DISQUS.dtpl.actions.fire('comments.validate', null, this);">                    Post as …                  </button>                          </li>                          <li class="dsq-attach-media">                <div class="dsq-attach-media-container">                  <span>Image</span>                  <!-- filled dynamically -->                <iframe src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/upload.html" id="easyXDM_DISQUS_net_default8492_provider" name="easyXDM_DISQUS_net_default8492_provider" frameborder="0" scrolling="no"></iframe></div>              </li>                        <li class="dsq-share-on dsq-clearfix">                            </li>          </ul>        </div>      </div>    </div>  </div>                              <div id="dsq-sort-by">    <select id="dsq-sort-select" onchange="DISQUS.dtpl.actions.fire('thread.sort', this.value);">              <option value="hot" selected="selected">          Sort by popular now        </option>              <option value="best">          Sort by best rating        </option>              <option value="newest">          Sort by newest first        </option>              <option value="oldest">          Sort by oldest first        </option>          </select>  </div>      <h3>            Showing <span id="dsq-num-posts">11</span> comments        </h3>        <ul id="dsq-comments">            <li id="comment-555758785">  </li><li id="dsq-comment-555758785" data-dsq-comment-id="555758785" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Marius Ducea's profile">      <a href="http://disqus.com/twitter-16829516/" onclick="DISQUS.dtpl.actions.fire('profile.show', 555758785, null); return false">        <img src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/avatar32.jpg" class="" alt="">      </a>    </div>    <div id="dsq-comment-body-555758785" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://twitter.com/mariusducea" target="_blank" class="dsq-commenter-name" rel="nofollow">Marius Ducea</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 555758785); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 555758785); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-555758785">                <div class="dsq-comment-text" id="dsq-comment-text-555758785">        <p>@Dfd
+ sun-java was removed from ubuntu. You could still install it manually 
+from the oracle site, but easier it would be to use openjdk imo.</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-555758785"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-555758785">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,555758785); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',555758785, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-555758785" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 555758785);" title="Link to comment by Marius Ducea">          3 months ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-555758785" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 555758785); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 555758785, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-555758785"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-555758785"></li>            <li id="comment-555729014">  </li><li id="dsq-comment-555729014" data-dsq-comment-id="555729014" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Dfd's profile">      <a href="http://disqus.com/guest/be2dadc68bb8d32df521ca5cefa764da/" onclick="DISQUS.dtpl.actions.fire('profile.show', 555729014, null); return false">        <img src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/avatar32_002.jpg" class="" alt="">      </a>    </div>    <div id="dsq-comment-body-555729014" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">Dfd</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 555729014); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 555729014); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-555729014">                <div class="dsq-comment-text" id="dsq-comment-text-555729014">        <p>Unforunately&nbsp;</p>
+
+<p>aptitude install sun-java6-jre&nbsp;</p>
+
+<p>didn't work for me, running ubuntu</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-555729014"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-555729014">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,555729014); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',555729014, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-555729014" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 555729014);" title="Link to comment by Dfd">          3 months ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-555729014" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 555729014); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 555729014, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-555729014"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-555729014"></li>            <li id="comment-552875079">  </li><li id="dsq-comment-552875079" data-dsq-comment-id="552875079" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Shawn Welch's profile">      <a href="http://disqus.com/guest/38b42911484f66ee5aedadaa16846340/" onclick="DISQUS.dtpl.actions.fire('profile.show', 552875079, null); return false">        <img src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/avatar32.xml" class="" alt="">      </a>    </div>    <div id="dsq-comment-body-552875079" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://shrimpwagon.wordpress.com/" target="_blank" class="dsq-commenter-name" rel="nofollow">Shawn Welch</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 552875079); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 552875079); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-552875079">                <div class="dsq-comment-text" id="dsq-comment-text-552875079">        <p>Thank you sooo much. Very complete and useful. This is exactly what you need to do to setup EC2.</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-552875079"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-552875079">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,552875079); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',552875079, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-552875079" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 552875079);" title="Link to comment by Shawn Welch">          1 year ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-552875079" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 552875079); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 552875079, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-552875079"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-552875079"></li>            <li id="comment-552875078">  </li><li id="dsq-comment-552875078" data-dsq-comment-id="552875078" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Aret Carlsen's profile">      <a href="http://disqus.com/guest/05335a1c9416420be891a3fac838f774/" onclick="DISQUS.dtpl.actions.fire('profile.show', 552875078, null); return false">        <img src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/noavatar32.png" class="" alt="">      </a>    </div>    <div id="dsq-comment-body-552875078" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">Aret Carlsen</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 552875078); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 552875078); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-552875078">                <div class="dsq-comment-text" id="dsq-comment-text-552875078">        <p>Useful article.</p>
+
+<p>You seem to have an advertising virus.  The headline of one section 
+currently reads, "Running your first EC2 instance", where the second 
+through fourth words are a link to a 3rd-party website.</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-552875078"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-552875078">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,552875078); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',552875078, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-552875078" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 552875078);" title="Link to comment by Aret Carlsen">          1 year ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-552875078" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 552875078); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 552875078, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-552875078"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-552875078"></li>            <li id="comment-552875074">  </li><li id="dsq-comment-552875074" data-dsq-comment-id="552875074" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand mitch's profile">      <a href="http://disqus.com/guest/5d6f004d9437535eb1cd0a0d5427aff1/" onclick="DISQUS.dtpl.actions.fire('profile.show', 552875074, null); return false">        <img src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-552875074" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://www.devnull.com/" target="_blank" class="dsq-commenter-name" rel="nofollow">mitch</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 552875074); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 552875074); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-552875074">                <div class="dsq-comment-text" id="dsq-comment-text-552875074">        <p>It does show up in Elasticfox. I had the wrong region selected. Thanks for the great post.</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-552875074"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-552875074">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,552875074); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',552875074, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-552875074" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 552875074);" title="Link to comment by mitch">          2 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-552875074" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 552875074); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 552875074, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-552875074"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-552875074"></li>            <li id="comment-552875073">  </li><li id="dsq-comment-552875073" data-dsq-comment-id="552875073" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand mitch's profile">      <a href="http://disqus.com/guest/5d6f004d9437535eb1cd0a0d5427aff1/" onclick="DISQUS.dtpl.actions.fire('profile.show', 552875073, null); return false">        <img src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-552875073" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://www.devnull.com/" target="_blank" class="dsq-commenter-name" rel="nofollow">mitch</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 552875073); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 552875073); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-552875073">                <div class="dsq-comment-text" id="dsq-comment-text-552875073">        <p>I
+ don't see how AWS knows this is running under your account. I have 
+Elasticfox and in the list of ami's I don't see the same ones listed 
+using the api-tools. Using this article I can start an ami and login to 
+it just fine but I don't see any running instances under my aws account 
+or in elasticfox. Can someone enlighten me please?</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-552875073"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-552875073">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,552875073); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',552875073, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-552875073" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 552875073);" title="Link to comment by mitch">          2 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-552875073" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 552875073); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 552875073, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-552875073"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-552875073"></li>            <li id="comment-552875063">  </li><li id="dsq-comment-552875063" data-dsq-comment-id="552875063" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Gabi's profile">      <a href="http://disqus.com/guest/3eda6fcd3204ef285fa52176c28c4d3e/" onclick="DISQUS.dtpl.actions.fire('profile.show', 552875063, null); return false">        <img src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/uploads/anonusers/2036/avatar32.jpg?1281549414" alt="">      </a>    </div>    <div id="dsq-comment-body-552875063" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://www.none.com/" target="_blank" class="dsq-commenter-name" rel="nofollow">Gabi</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 552875063); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 552875063); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-552875063">                <div class="dsq-comment-text" id="dsq-comment-text-552875063">        <p>Hi,</p>
+
+<p>If I grant access to different people to start different instances is
+ there any way to track who started an instances, for how long he used 
+it and when did he started?</p>
+
+<p>Thank you.</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-552875063"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-552875063">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,552875063); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',552875063, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-552875063" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 552875063);" title="Link to comment by Gabi">          2 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-552875063" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 552875063); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 552875063, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-552875063"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-552875063"></li>            <li id="comment-552875071">  </li><li id="dsq-comment-552875071" data-dsq-comment-id="552875071" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Jason Liang's profile">      <a href="http://disqus.com/guest/6f1e107d88dce22d3cfd5431d68b25b0/" onclick="DISQUS.dtpl.actions.fire('profile.show', 552875071, null); return false">        <img src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-552875071" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://www.aixmind.com/" target="_blank" class="dsq-commenter-name" rel="nofollow">Jason Liang</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 552875071); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 552875071); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-552875071">                <div class="dsq-comment-text" id="dsq-comment-text-552875071">        <p>Very helpful!<br>I've subscribed to your RSS!</p>
+
+<p>Keep it up!<br>Jason</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-552875071"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-552875071">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,552875071); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',552875071, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-552875071" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 552875071);" title="Link to comment by Jason Liang">          2 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-552875071" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 552875071); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 552875071, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-552875071"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-552875071"></li>            <li id="comment-552875067">  </li><li id="dsq-comment-552875067" data-dsq-comment-id="552875067" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand sudhish's profile">      <a href="http://disqus.com/guest/3ca972ade05174e8939651f7c4f8a084/" onclick="DISQUS.dtpl.actions.fire('profile.show', 552875067, null); return false">        <img src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-552875067" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">sudhish</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 552875067); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 552875067); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-552875067">                <div class="dsq-comment-text" id="dsq-comment-text-552875067">        <p>Its a very helpful</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-552875067"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-552875067">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,552875067); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',552875067, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-552875067" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 552875067);" title="Link to comment by sudhish">          2 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-552875067" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 552875067); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 552875067, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-552875067"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-552875067"></li>            <li id="comment-552875070">  </li><li id="dsq-comment-552875070" data-dsq-comment-id="552875070" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand marius's profile">      <a href="http://disqus.com/guest/34b742e276f76496c6c3b12d07ee984f/" onclick="DISQUS.dtpl.actions.fire('profile.show', 552875070, null); return false">        <img src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/uploads/anonusers/5550/9495/avatar32.jpg?1281549414" alt="">      </a>    </div>    <div id="dsq-comment-body-552875070" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://www.ducea.com/" target="_blank" class="dsq-commenter-name" rel="nofollow">marius</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 552875070); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 552875070); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-552875070">                <div class="dsq-comment-text" id="dsq-comment-text-552875070">        <p>@Kevin:
+ yes from the path point of view this is the same, but the api tools 
+need to have defined the variable EC2_HOME so this can't be simplified 
+like that. </p>
+
+<p>Cheers,<br>- Marius -</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-552875070"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-552875070">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,552875070); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',552875070, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-552875070" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 552875070);" title="Link to comment by marius">          3 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-552875070" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 552875070); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 552875070, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-552875070"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-552875070"></li>            <li id="comment-552875068">  </li><li id="dsq-comment-552875068" data-dsq-comment-id="552875068" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Kevin's profile">      <a href="http://disqus.com/guest/bc97afb80638c682d0389d7f1c61985a/" onclick="DISQUS.dtpl.actions.fire('profile.show', 552875068, null); return false">        <img src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-552875068" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">Kevin</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 552875068); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 552875068); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-552875068">                <div class="dsq-comment-text" id="dsq-comment-text-552875068">        <p>I love the instructions. They were very helpful.</p>
+
+<p>Do these two path statements in the instructions do the same thing?<br>  export EC2_HOME=~/.ec2<br>  export PATH=$PATH:$EC2_HOME/bin</p>
+
+<p>  export PATH=~/.ec2/bin:$PATH</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-552875068"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-552875068">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,552875068); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',552875068, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-552875068" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 552875068);" title="Link to comment by Kevin">          3 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-552875068" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 552875068); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 552875068, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-552875068"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-552875068"></li>      </ul>        <div id="dsq-pagination">      <ul id="dsq-footer" class="dsq-clearfix">        <div id="dsq-subscribe">            <li>      <a href="#" class="dsq-subscribe-email" onclick="return DISQUS.dtpl.actions.fire('thread.subscribe');">        <span class="dsq-font">M</span> <em>Subscribe by email</em>      </a>    </li>    <li>    <a href="http://linuxsysadminblog.disqus.com/howto_get_started_with_amazon_ec2_api_tools/latest.rss" class="dsq-subscribe-rss">      <span class="dsq-font">S</span> <em>RSS</em>    </a>  </li>    </div>  </ul>    </div>                  <div class="dsq-trackback-url">      Trackback URL      <input onclick="this.select()" readonly="true" value="http://disqus.com/forums/linuxsysadminblog/howto_get_started_with_amazon_ec2_api_tools/trackback/">    </div>      </div><div>  </div></div>
+  </section>
+
+</div>
+
+<aside class="sidebar thirds">
+  
+    <section class="first odd">
+  <h1>Recent Posts</h1>
+  <ul id="recent_posts">
+    
+      <li class="post">
+        <a href="http://linuxsysadminblog.com/2012/08/integrate-sendgrid-with-redmine/">Integrate Sendgrid with Redmine</a>
+      </li>
+    
+      <li class="post">
+        <a href="http://linuxsysadminblog.com/2012/07/rsback-task-x-is-locked-and-cannot-be-executed/">rsback: task x is locked and cannot be executed</a>
+      </li>
+    
+      <li class="post">
+        <a href="http://linuxsysadminblog.com/2012/06/restore-xen-vm-from-lvm-snapshot-backups/">Restore Xen VM from LVM Snapshot Backups</a>
+      </li>
+    
+      <li class="post">
+        <a href="http://linuxsysadminblog.com/2012/06/debian-6-backup-xen-with-lvm-and-rsnapshot/">Debian 6: Backup Xen with LVM and Rsnapshot</a>
+      </li>
+    
+      <li class="post">
+        <a href="http://linuxsysadminblog.com/2012/06/gitolite-add-edit-or-delete-git-repository-name/">Gitolite: Add, Edit, or Delete Git Repository Name</a>
+      </li>
+    
+  </ul>
+</section>
+
+<section class="even">
+  <h1>GitHub Repos</h1>
+  <ul id="gh_repos">
+    <li class="loading">Status updating...</li>
+  </ul>
+  
+  <a href="https://github.com/promet">@promet</a> on GitHub
+  
+  <script type="text/javascript">
+    $.domReady(function(){
+        if (!window.jXHR){
+            var jxhr = document.createElement('script');
+            jxhr.type = 'text/javascript';
+            jxhr.src = '/javascripts/libs/jXHR.js';
+            var s = document.getElementsByTagName('script')[0];
+            s.parentNode.insertBefore(jxhr, s);
+        }
+
+        github.showRepos({
+            user: 'promet',
+            count: 0,
+            skip_forks: true,
+            target: '#gh_repos'
+        });
+    });
+  </script>
+  <script src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/github.js" type="text/javascript"> </script>
+</section>
+
+
+<section class="odd">
+  <h1>Latest Tweets</h1>
+  <ul id="tweets"><li><p><a href="http://twitter.com/linuxsysadmnblg/status/8944570719">139w</a>New blog post: Drupal core - killing kittens <a href="http://linuxsysadminblog.com/2010/02/drupal-core-killing-kittens/">linuxsysadminblog.com/2010/02/drupal-core-killing-kittens/</a></p></li><li><p><a href="http://twitter.com/linuxsysadmnblg/status/8581729446">140w</a>New blog post: cvs [checkout aborted]: absolute pathnames invalid for server <a href="http://bit.ly/bTAwEE">bit.ly/bTAwEE</a></p></li><li><p><a href="http://twitter.com/linuxsysadmnblg/status/8560789171">140w</a>New blog post: Drupal Performance improvement for the layment presentation <a href="http://bit.ly/bBfMBi">bit.ly/bBfMBi</a></p></li><li><p><a href="http://twitter.com/linuxsysadmnblg/status/6324746591">149w</a>New blog post: Google to offer free DNS service <a href="http://linuxsysadminblog.com/2009/12/google-to-offer-free-dns-service/">linuxsysadminblog.com/2009/12/google-to-offer-free-dns-service/</a></p></li></ul>
+  <script type="text/javascript">
+    $.domReady(function(){
+      getTwitterFeed("linuxsysadmnblg", 4, false);
+    });
+  </script>
+  <script src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/twitter.js" type="text/javascript"> </script>
+  
+    <iframe data-twttr-rendered="true" title="Twitter Follow Button" style="width: 158px; height: 20px;" class="twitter-follow-button" src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/follow_button.html" allowtransparency="true" frameborder="0" scrolling="no"></iframe>
+  
+</section>
+
+
+
+
+
+  
+</aside>
+
+
+    <span class="toggle-sidebar"></span></div>
+  </div>
+  <footer role="contentinfo"><p>
+  Copyright © 2012 - Promet OPS Team -
+  <span class="credit">Powered by <a href="http://octopress.org/">Octopress</a></span>
+</p>
+
+</footer>
+  
+
+<script type="text/javascript">
+      var disqus_shortname = 'linuxsysadminblog';
+      
+        
+        // var disqus_developer = 1;
+        var disqus_identifier = 'http://linuxsysadminblog.com/2009/06/howto-get-started-with-amazon-ec2-api-tools/';
+        var disqus_url = 'http://linuxsysadminblog.com/2009/06/howto-get-started-with-amazon-ec2-api-tools/';
+        var disqus_script = 'embed.js';
+      
+    (function () {
+      var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
+      dsq.src = 'http://' + disqus_shortname + '.disqus.com/' + disqus_script;
+      (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
+    }());
+</script>
+
+
+
+<div class=" fb_reset" id="fb-root"><div style="position: absolute; top: -10000px; height: 0pt; width: 0pt;"><div><iframe src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/xd_arbiter.html" name="fb_xdm_frame_http" id="fb_xdm_frame_http"></iframe><iframe src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/xd_arbiter_002.html" name="fb_xdm_frame_https" id="fb_xdm_frame_https"></iframe></div><div><iframe src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/oauth.html" name="f201413aa2819a8" id="f201413aa2819a8" style="display: none;"></iframe></div></div></div>
+<script>(function(d, s, id) {
+  var js, fjs = d.getElementsByTagName(s)[0];
+  if (d.getElementById(id)) {return;}
+  js = d.createElement(s); js.id = id;
+  js.src = "//connect.facebook.net/en_US/all.js#appId=212934732101925&xfbml=1";
+  fjs.parentNode.insertBefore(js, fjs);
+}(document, 'script', 'facebook-jssdk'));</script>
+
+
+
+
+
+  <script type="text/javascript">
+    (function(){
+      var twitterWidgets = document.createElement('script');
+      twitterWidgets.type = 'text/javascript';
+      twitterWidgets.async = true;
+      twitterWidgets.src = 'http://platform.twitter.com/widgets.js';
+      document.getElementsByTagName('head')[0].appendChild(twitterWidgets);
+    })();
+  </script>
+
+
+
+
+
+
+
+<iframe src="HowTo_%20Get%20started%20with%20Amazon%20EC2%20api%20tools%20-%20Linux%20Sysadmin%20Blog_files/def.html" style="position: absolute; top: -2000px; left: 0px;" id="easyXDM_DISQUS_net_default8490_provider" name="easyXDM_DISQUS_net_default8490_provider" frameborder="0"></iframe></body></html>
\ No newline at end of file
Index: ../trunk-jpl/externalpackages/ec2api/doc/ec2-ug.pdf
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: ../trunk-jpl/externalpackages/ec2api/doc/ec2-ug.pdf
===================================================================
--- ../trunk-jpl/externalpackages/ec2api/doc/ec2-ug.pdf	(revision 13841)
+++ ../trunk-jpl/externalpackages/ec2api/doc/ec2-ug.pdf	(revision 13842)

Property changes on: ../trunk-jpl/externalpackages/ec2api/doc/ec2-ug.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
Index: ../trunk-jpl/externalpackages/ec2api/doc/mpi-cluster-with-python-and-amazon-ec2-part-2-of-3.html
===================================================================
--- ../trunk-jpl/externalpackages/ec2api/doc/mpi-cluster-with-python-and-amazon-ec2-part-2-of-3.html	(revision 0)
+++ ../trunk-jpl/externalpackages/ec2api/doc/mpi-cluster-with-python-and-amazon-ec2-part-2-of-3.html	(revision 13842)
@@ -0,0 +1,1111 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en-us"><head>
+  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+  <title>MPI Cluster with Python and Amazon EC2 (part 2 of 3) » Data Wrangling Blog</title>
+	<meta name="verify-v1" content="532Q5ykeumd5lwz7oFvo62D7+EX/DOYbH9r/VWbwd+Y=">
+	<meta name="author" content="Peter Skomoroch">
+	<meta name="description" content="Today I posted a public Amazon EC2 AMI which can be used to run an on demand beowulf cluster in the cloud">
+	<meta name="keywords" content="cluster computing, python, mpi, amazon ec2, and cloud computing">
+
+   <link href="http://feeds.feedburner.com/DataWrangling" rel="alternate" title="DataWrangling" type="application/atom+xml">
+
+   <!-- syntax highlighting CSS -->
+   <link rel="stylesheet" href="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/syntax.css" type="text/css">
+
+   <!-- Homepage CSS -->
+   <link rel="stylesheet" href="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/screen.css" type="text/css" media="screen, projection">
+
+   <!-- Typekit -->
+   <script type="text/javascript">try{Typekit.load();}catch(e){}</script>
+	
+   <!-- Disqus debug -->
+<script type="text/javascript">  var disqus_developer = 0; </script> 
+
+<script src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/embed.js" async="" type="text/javascript"></script><script charset="UTF-8" async="" src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/thread.js"></script><link href="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/defaults.css" type="text/css" rel="stylesheet"><script charset="UTF-8" async="" src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/disqus.js"></script><link href="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/theme.css" type="text/css" rel="stylesheet"><script charset="UTF-8" async="" src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/theme.js"></script><script charset="UTF-8" async="" src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/event.js"></script></head>
+<body id="blog">
+
+<div id="container">
+	<div id="header">
+	<!-- <h1><a href="http://www.datawrangling.com" title="Data Wrangling" >:Data Wrangling</a></h1> -->
+   <h1><a href="http://www.datawrangling.com/" title="Data Wrangling"><img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/logo-white.png" alt="Data Wrangling"></a></h1><a href="http://www.datawrangling.com/" title="Data Wrangling">
+</a> 
+  <!-- <a href="http://www.datawrangling.com" title="DataWrangling.com"><img src="http://datawrangling.s3.amazonaws.com/datawrangling_logo_white.png" alt="Data Wrangling"/>
+</a> -->
+	<div id="subtitle">
+	<!-- Here's the tagline  -->
+	Machine Learning, Data Mining, and More    
+	</div>
+</div>
+
+
+	
+<div id="navigation">
+	<ul>
+		<li><a href="http://www.datawrangling.com/" id="blognav">Blog</a></li>		
+		<li><a href="http://www.datawrangling.com/about/" id="aboutnav">About</a></li>
+		<li><a href="http://www.datawrangling.com/contact/" id="contactnav">Contact</a></li> 
+		<li><a href="http://www.datawrangling.com/news/" id="newsnav">News</a></li> 
+		<li><a href="http://www.datawrangling.com/code/" id="codenav">Code</a></li> 				
+		<!-- TODO: fix CSS and add mobile layout -->
+		<!-- TODO: if user arrives from search engine display related content -->
+	</ul>
+</div>
+
+
+			<div id="navcol">
+			<ul>
+				<li class="pagenav">
+					<h2>
+						Follow DataWrangling
+					</h2>
+				</li>			
+				<li>
+					<a href="http://twitter.com/peteskomoroch" id="twitter-link" name="twitter-link"><img title="pete skomoroch on Twitter" alt="follow datawrangling on twitter" src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/TwitterBadge.png"></a>
+				</li>							
+				<li style="list-style: none">
+					<p><a href="http://feeds.feedburner.com/DataWrangling" rel="alternate" type="application/rss+xml"><img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/feed-icon16x16.png" alt="" style="vertical-align: middle; border: 0pt none;"></a><a href="http://feeds.feedburner.com/DataWrangling" rel="alternate" type="application/rss+xml"> Subscribe in a reader</a>
+					</p>
+				</li>		
+				<li style="list-style: none">
+					<p>
+					<a href="http://www.linkedin.com/in/peterskomoroch"><img alt="pskomoroch" src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/linkedin.png" border="0" height="15" width="15"> Connect on LinkedIn</a>
+					</p>
+				</li>
+				<li style="list-style: none">
+					<p>
+					<a href="http://github.com/datawrangling"><img alt="pskomoroch" src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/github.png" border="0" height="15" width="15"> Watch on Github</a>
+					</p>
+				</li>				
+				<li style="list-style: none">
+					<p>
+					<a href="http://www.delicious.com/pskomoroch"><img alt="pskomoroch" src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/delicious.png" border="0" height="15" width="15"> Add on Delicious</a>
+					</p>
+				</li>
+							<li style="list-style: none">	
+								<p><a href="http://feeds.feedburner.com/DataWrangling"><img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/DataWrangling.gif" style="border: 0pt none;" alt="" height="26" width="88"></a></p>
+								<script type="text/javascript" language="javascript" src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/a.html">
+				</script><div id="TwitterCounter"><a href="http://twittercounter.com/peteskomoroch?utm_source=referring%2Bsites&amp;utm_medium=organic%2Blinks&amp;utm_campaign=twittercounter%2Bbutton" title="Twitter Counter for @peteskomoroch" target="_blank"><img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/a.png" style="border: medium none;" alt="Peter Skomoroch has 9188 followers on Twitter" height="26" width="88"></a></div>
+							</li>							
+									
+			</ul>
+			<ul>
+				<li style="list-style: none">
+					<h2 class="sidebar-title">
+						Recent Projects
+					</h2>
+					<ul>
+ 						<li>
+							<a href="http://linkedin-on-rails.heroku.com/">linkedin_on_rails</a>
+						</li>
+						<li>
+							<a href="http://github.com/datawrangling/spatialanalytics">spatialanalytics</a>
+						</li>								
+						<li>
+							<a href="http://www.trendingtopics.org/">Trending Topics</a>
+						</li>
+						<li>
+							<a href="http://github.com/datawrangling/ec2cluster/tree/master">ec2cluster (REST Web Service for MPI on EC2)</a>
+						</li>
+						<li>
+							<a href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2294&amp;ref=featured">ItemSimilarity with Elastic MapReduce</a>
+						</li>
+					</ul>
+					<h2>
+						Recent Posts
+					</h2>
+					<ul>
+						<li>
+							<a href="http://www.datawrangling.com/slides-thoughts-from-hadoop-world-nyc" title="View post Slides &amp;#038; Thoughts from Hadoop World NYC">Slides &amp; Thoughts from Hadoop World NYC</a>
+						</li>
+						<li>
+							<a href="http://www.datawrangling.com/how-flightcaster-squeezes-predictions-from-flight-data" title="View post How FlightCaster Squeezes Predictions from Flight Data">How FlightCaster Squeezes Predictions from Flight Data</a>
+						</li>
+						<li>
+							<a href="http://www.datawrangling.com/wikipedia-page-traffic-statistics-dataset" title="View post Wikipedia Page Traffic Statistics Dataset">Wikipedia Page Traffic Statistics Dataset</a>
+						</li>
+						<li>
+							<a href="http://www.datawrangling.com/quick-visualization-of-irs-search-queries" title="View post Quick Visualization of irs.gov Search Queries">Quick Visualization of irs.gov Search Queries</a>
+						</li>
+						<li>
+							<a href="http://www.datawrangling.com/amazon-elastic-mapreduce-a-web-service-api-for-hadoop" title="View post Amazon Elastic MapReduce: A Web Service API for Hadoop">Amazon Elastic MapReduce: A Web Service API for Hadoop</a>
+						</li>
+						<li>
+							<a href="http://www.datawrangling.com/updated-list-of-datasets-video-lectures" title="View post Updated List of Datasets &amp;#038; Video Lectures">Updated List of Datasets &amp; Video Lectures</a>
+						</li>
+					</ul>
+				</li>
+			</ul>
+			<h2>
+				Popular Posts
+			</h2>
+			<ul>
+				<li>
+					<a href="http://www.datawrangling.com/hidden-video-courses-in-math-science-and-engineering" rel="bookmark" title="April 9, 2008">Hidden Video Courses in Math, Science, and Engineering</a>
+				</li>
+				<li>
+					<a href="http://www.datawrangling.com/some-datasets-available-on-the-web" rel="bookmark" title="January 17, 2008">Some Datasets Available on the Web</a>
+				</li>
+				<li>
+					<a href="http://www.datawrangling.com/mpi-cluster-with-python-and-amazon-ec2-part-2-of-3" rel="bookmark" title="April 9, 2007">MPI Cluster with Python and Amazon EC2 (part 2 of 3)</a>
+				</li>
+				<li>
+					<a href="http://www.datawrangling.com/on-demand-mpi-cluster-with-python-and-ec2-part-1-of-3" rel="bookmark" title="March 17, 2007">On-Demand MPI Cluster with Python and EC2 (part 1 of 3)</a>
+				</li>
+				<li>
+					<a href="http://www.datawrangling.com/python-montage-code-for-displaying-arrays" rel="bookmark" title="February 29, 2008">Python Montage Code for Displaying Arrays</a>
+				</li>
+			</ul>
+			<ul id="linkslist">
+				<li id="linkcat-1">
+					<h2>
+						Blogroll
+					</h2>
+					<ul>
+						<li>
+							<a href="http://medriscoll.com/">Data Utopian (Mike Driscoll)</a>
+						</li>
+						<li>
+							<a href="http://www.informationdiet.com/blog">Information Diet (Clay Johnson)</a>
+						</li>			
+						<li>
+							<a href="http://radar.oreilly.com/tim/">Tim O'Reilly</a>
+						</li>									
+						<li>
+							<a href="http://fivethirtyeight.blogs.nytimes.com/">FiveThirtyEight (Nate Silver)</a>
+						</li>
+						<li>
+							<a href="http://blog.okcupid.com/">OkTrends (OkCupid Data blog)</a>
+						</li>
+						<li>
+							<a href="http://sna-projects.com/blog/">SNA Projects Blog (LinkedIn)</a>
+						</li>					
+							
+						<li>
+							<a href="http://www.hilarymason.com/">Hilary Mason (bit.ly)</a>
+						</li>												
+						<li>
+							<a href="http://mark.reid.name/iem/">Inductio Ex Machina (Mark Reid)</a>
+						</li>						
+						<li>
+							<a href="http://www.riccomini.name/">Chris Riccomini (LinkedIn)</a>
+						</li>	
+						<li>
+							<a href="http://www.igvita.com/blog/">igvita.com</a>
+						</li>
+						<li>
+							<a href="http://dumbotics.com/">Dumbotics (Last.FM)</a>
+						</li>
+						<li>
+							<a href="http://glinden.blogspot.com/">Geeking With Greg</a>
+						</li>						
+						<li>
+							<a href="http://www.juiceanalytics.com/writing/" rel="colleague">Juice Analytics</a>
+						</li>
+						<li>
+							<a href="http://blog.infochimps.org/">Infochimps Blog</a>
+						</li>					
+						<li>
+							<a href="http://www.cloudera.com/blog/">Cloudera Blog</a>
+						</li>
+						<li>
+							<a href="http://petewarden.typepad.com/">Pete Warden</a>
+						</li>		
+						<li>
+							<a href="http://www.cerebralmastication.com/">Cerebral Mastication (J.D. Long)</a>
+						</li>						
+						<li>
+							<a href="http://blog.doloreslabs.com/">Dolores Labs Blog</a>
+						</li>
+						<li>
+							<a href="http://anyall.org/blog/">Brendan O'Connor's Blog</a>
+						</li>
+						<li>
+							<a href="http://blog.kiwitobes.com/">Kiwitobes (Toby Segaran)</a>
+						</li>						
+						<li>
+							<a href="http://informationarbitrage.com/">Information Arbitrage</a>
+						</li>
+						<li>
+							<a href="http://www.iaventurepartners.com/category/blog">IA Ventures</a>
+						</li>	
+					</ul>
+				</li>
+			</ul>
+		</div><!-- end sidebar -->
+
+
+	<div class="site">
+		<div id="maincol"><!-- The main content column begins  -->
+			<div class="col">
+	  		<div id="post">
+  <h3 class="entrytitle">
+		<a href="http://www.datawrangling.com/mpi-cluster-with-python-and-amazon-ec2-part-2-of-3">MPI Cluster with Python and Amazon EC2 (part 2 of 3)</a>
+	</h3>
+	<div class="entrymeta">
+  <p class="meta">Posted by Peter Skomoroch on Apr 09, 2007 to cluster computing, python, mpi, amazon ec2, and cloud computing</p> </div>
+  <p>Today I posted a <a href="http://developer.amazonwebservices.com/connect/entry.jspa?categoryID=101&amp;externalID=705">public AMI</a>  which can be used to run a small <a href="http://www.clustermonkey.net//content/category/4/21/33/">beowulf cluster</a> on <a href="http://www.amazon.com/gp/browse.html?node=201590011">Amazon EC2</a> and do some parallel computations with C, Fortran, or <a href="http://www.python.org/">Python</a>.
+  If you prefer another language (Java, Ruby, etc) just install the 
+appropriate MPI library and rebundle the EC2 image.  The following set 
+of Python scripts automate the launch and configuration of an <a href="http://www-unix.mcs.anl.gov/mpi/mpich2/index.htm#docs">MPI</a> cluster on EC2 (currently limited to 20 nodes while EC2 is in beta):</p>
+
+<p><strong><em>Update (3-19-08): Code for running a cluster with large 
+or xlarge 64 bit EC2 instances is now hosted on google code.  The new 
+images include NFS, ganglia, IPython1, and other useful python packages.</em></strong></p>
+
+<p><a href="http://code.google.com/p/elasticwulf/">http://code.google.com/p/elasticwulf/</a></p>
+
+<p><strong><em>Update (7-24-07): I've made some important bug fixes to 
+the scripts to address issues mentioned in the comments.  See the README
+ file for details</em></strong></p>
+
+<ul>
+<li><a href="http://datawrangling.s3.amazonaws.com/AmazonEC2_MPI_scripts_1_5-tar.gz">AmazonEC2_MPI_scripts_1_5.tar.gz</a></li>
+</ul>
+
+
+<p>The file contains some quick scripts I threw together using the AWS 
+Python example code.  This is the approach I'm using to bootstrap an MPI
+ cluster until one of the major <a href="http://www.gdargaud.net/Hack/ClusterNotes.html">linux cluster distros</a> is ported to run on EC2.  Details on what is included in the public AMI were covered in <a href="http://www.datawrangling.com/on-demand-mpi-cluster-with-python-and-ec2-part-1-of-3.html">Part 1</a>
+ of the tutorial, Part 3 will cover cluster operation on EC2 in more 
+detail and show how to use Python to carry out some neat parallel 
+computations.</p>
+
+<p>The cluster launch process is pretty simple once you have an Amazon 
+EC2 account and keys, just download the Python scripts and you can be 
+running a compute cluster in a few minutes.  In a later post I will look
+ at cluster bandwidth and performance in detail.  If you have only an 
+occasional need for running large jobs,  $2/hour for a 20 node MPI 
+cluster on EC2 is not a bad deal considering the ~ $20K price for 
+building your own comparable system.</p>
+
+<!--more-->
+
+
+<p>Prerequisites:</p>
+
+<ol>
+<li>Get a valid <a href="http://www.amazon.com/b/ref=sc_fe_l_2/104-6132551-0326311?ie=UTF8&amp;node=201590011&amp;no=3435361&amp;me=A36L942TSJ2AJA">Amazon EC2 account</a></li>
+<li>Complete the most recent <a href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=992&amp;categoryID=87">"getting started guide"</a> tutorial on Amazon EC2 and create all needed web service accounts, authorizations, and keypairs</li>
+<li>Download and install the <a href="http://developer.amazonwebservices.com/connect/entry.jspa?categoryID=85&amp;externalID=552">Amazon EC2 Python library</a></li>
+<li>Download the Amazon <a href="http://datawrangling.s3.amazonaws.com/AmazonEC2_MPI_scripts_1_5-tar.gz">EC2 MPI cluster management scripts</a></li>
+</ol>
+
+
+<h2 id="LaunchingtheEC2nodes">Launching the EC2 nodes</h2>
+
+
+<p>First , unzip the cluster management scripts and modify the 
+configuration parameters in '''EC2config.py''',  substituting your own 
+EC2 keys and changing the cluster size if desired:</p>
+
+<div class="highlight"><pre><code class="python"><span class="c">#replace these with your AWS keys</span>
+<span class="n">AWS_ACCESS_KEY_ID</span> <span class="o">=</span> <span class="s">'YOUR_KEY_ID_HERE'</span>
+<span class="n">AWS_SECRET_ACCESS_KEY</span> <span class="o">=</span> <span class="s">'YOUR_KEY_HERE'</span>
+<span class="c">#change this to your keypair location (see the EC2 getting started guide tutorial on using ec2-add-keypair)</span>
+<span class="n">KEYNAME</span> <span class="o">=</span> <span class="s">"gsg-keypair"</span>
+<span class="n">KEY_LOCATION</span> <span class="o">=</span> <span class="s">"/Users/pskomoroch/id_rsa-gsg-keypair"</span>
+<span class="c"># remove these next two lines when you've updated your credentials.</span>
+<span class="k">print</span> <span class="s">"update </span><span class="si">%s</span><span class="s"> with your AWS credentials"</span> <span class="o">%</span> <span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
+<span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">()</span>
+
+<span class="n">MASTER_IMAGE_ID</span> <span class="o">=</span> <span class="s">"ami-3e836657"</span>
+<span class="n">IMAGE_ID</span> <span class="o">=</span> <span class="s">"ami-3e836657"</span>
+
+<span class="n">DEFAULT_CLUSTER_SIZE</span> <span class="o">=</span> <span class="mi">5</span>
+</code></pre>
+</div>
+
+
+<p>Launch the EC2 cluster by running the '''ec2-start_cluster.py''' script from your local machine:</p>
+
+<pre><code> 
+peter-skomorochs-computer:~/AmazonEC2_MPI_scripts pskomoroch$ ./ec2-start-cluster.py 
+
+image ami-3e836657
+master image ami-3e836657
+----- starting master -----
+RESERVATION r-275eb84e  027811143419    default
+INSTANCE    i-0ed33167  ami-3e836657            pending
+----- starting workers -----
+RESERVATION r-265eb84f  027811143419    default
+INSTANCE    i-01d33168  ami-3e836657            pending
+INSTANCE    i-00d33169  ami-3e836657            pending
+INSTANCE    i-03d3316a  ami-3e836657            pending
+INSTANCE    i-02d3316b  ami-3e836657            pending
+</code></pre>
+
+
+<p>Verify the EC2 nodes are running with '''./ec2-check-instances.py''':</p>
+
+<pre><code>
+peter-skomorochs-computer:~/AmazonEC2_MPI_scripts pskomoroch$ ./ec2-check-instances.py 
+----- listing instances -----
+
+RESERVATION     r-aec420c7      027811143419    default
+INSTANCE        i-ab41a6c2      ami-3e836657    domU-12-31-33-00-02-5A.usma1.compute.amazonaws.com      running
+INSTANCE        i-aa41a6c3      ami-3e836657    domU-12-31-33-00-01-E3.usma1.compute.amazonaws.com      running
+INSTANCE        i-ad41a6c4      ami-3e836657    domU-12-31-33-00-03-AA.usma1.compute.amazonaws.com      running
+INSTANCE        i-ac41a6c5      ami-3e836657    domU-12-31-33-00-04-19.usma1.compute.amazonaws.com      running
+INSTANCE        i-af41a6c6      ami-3e836657    domU-12-31-33-00-03-E3.usma1.compute.amazonaws.com      running
+</code></pre>
+
+
+
+
+<h2 id="ConfiguringMPI">Cluster Configuration and Booting MPI</h2>
+
+
+<p>Run '''ec2-mpi-config.py''' to configure MPI on the nodes, this will take a minute or two depending on the number of nodes.</p>
+
+<pre><code>
+peter-skomorochs-computer:~/AmazonEC2_MPI_scripts pskomoroch$ ./ec2-mpi-config.py 
+
+---- MPI Cluster Details ----
+Numer of nodes = 5
+Instance= i-ab41a6c2 hostname= domU-12-31-33-00-02-5A.usma1.compute.amazonaws.com state= running
+Instance= i-aa41a6c3 hostname= domU-12-31-33-00-01-E3.usma1.compute.amazonaws.com state= running
+Instance= i-ad41a6c4 hostname= domU-12-31-33-00-03-AA.usma1.compute.amazonaws.com state= running
+Instance= i-ac41a6c5 hostname= domU-12-31-33-00-04-19.usma1.compute.amazonaws.com state= running
+Instance= i-af41a6c6 hostname= domU-12-31-33-00-03-E3.usma1.compute.amazonaws.com state= running
+
+The master node is ec2-72-44-46-78.z-2.compute-1.amazonaws.com 
+
+
+...<snip> ...
+
+Configuration complete, ssh into the master node as lamuser and boot the cluster:
+$ ssh lamuser@ec2-72-44-46-78.z-2.compute-1.amazonaws.com 
+&gt; mpdboot -n 5 -f mpd.hosts 
+&gt; mpdtrace
+</snip></code></pre>
+
+
+<p>Login to the master node, boot the MPI cluster, and test the connectivity:</p>
+
+<pre><code>
+
+peter-skomorochs-computer:~/AmazonEC2_MPI_scripts pskomoroch$ ssh lamuser@ec2-72-44-46-78.z-2.compute-1.amazonaws.com 
+
+
+
+Sample Fedora Core 6 + MPICH2 + Numpy/PyMPI compute node image 
+
+http://www.datawrangling.com/on-demand-mpi-cluster-with-python-and-ec2-part-1-of-3
+
+---- Modified From Marcin's Cool Images: Cool Fedora Core 6 Base + Updates Image v1.0 ---
+
+see http://developer.amazonwebservices.com/connect/entry.jspa?externalID=554&amp;categoryID=101
+
+
+Like Marcin's image, standard disclaimer applies, use as you please...
+
+Amazon EC2 MPI Compute Node Image
+Copyright (c) 2006 DataWrangling. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+       notice, this list of conditions and the following disclaimer.
+
+    * Redistributions in binary form must reproduce the above
+       copyright notice, this list of conditions and the following
+       disclaimer in the documentation and/or other materials provided
+       with the distribution.
+
+    * Neither the name of the DataWrangling nor the names of any
+       contributors may be used to endorse or promote products derived
+       from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+[lamuser@domU-12-31-33-00-02-5A ~]$ 
+[lamuser@domU-12-31-33-00-02-5A ~]$ mpdboot -n 5 -f mpd.hosts 
+[lamuser@domU-12-31-33-00-02-5A ~]$ mpdtrace
+domU-12-31-33-00-02-5A
+domU-12-31-33-00-01-E3
+domU-12-31-33-00-03-E3
+domU-12-31-33-00-03-AA
+domU-12-31-33-00-04-19
+
+</code></pre>
+
+
+<p>The results of the mpdtrace command show we have an MPI cluster 
+running on 5 nodes. In the next section, we will verify that we can run 
+some basic MPI tasks.  For more detailed information on these mpi 
+commands (and MPI in general), see the <a href="http://www-unix.mcs.anl.gov/mpi/mpich2/index.htm#docs">MPICH2 documentation</a>.</p>
+
+<h2 id="TestingtheMPICluster">Testing the MPI Cluster</h2>
+
+
+<p>Next we execute a sample C program bundled with MPICH2 which estimates pi using the cluster:</p>
+
+<pre><code>
+[lamuser@domU-12-31-33-00-02-5A ~]$  mpiexec -n 5 /usr/local/src/mpich2-1.0.5/examples/cpi
+Process 0 of 5 is on domU-12-31-33-00-02-5A
+Process 1 of 5 is on domU-12-31-33-00-01-E3
+Process 2 of 5 is on domU-12-31-33-00-03-E3
+Process 3 of 5 is on domU-12-31-33-00-03-AA
+Process 4 of 5 is on domU-12-31-33-00-04-19
+pi is approximately 3.1415926544231230, Error is 0.0000000008333298
+wall clock time = 0.007539
+
+</code></pre>
+
+
+<p>Test the message travel time for the ring of nodes you just created:</p>
+
+<pre><code>
+[lamuser@domU-12-31-33-00-02-5A ~]$ mpdringtest 100
+time for 100 loops = 0.14577794075 seconds
+
+</code></pre>
+
+
+<p>Verify that the cluster can run a multiprocess job:</p>
+
+<pre><code>
+[lamuser@domU-12-31-33-00-02-5A ~]$ mpiexec -l -n 5 hostname
+3: domU-12-31-33-00-03-AA
+0: domU-12-31-33-00-02-5A
+1: domU-12-31-33-00-01-E3
+4: domU-12-31-33-00-04-19
+2: domU-12-31-33-00-03-E3
+
+</code></pre>
+
+
+
+
+<h2 id="TestingpyMPI">Testing PyMPI</h2>
+
+
+<p>Lets verify that the <a href="http://pympi.sourceforge.net/">PyMPI</a> install is working with our running cluster of 5 nodes. Execute the following on the master node:</p>
+
+<pre><code>
+[lamuser@domU-12-31-33-00-02-5A ~]$ mpirun -np 5 pyMPI /usr/local/src/pyMPI-2.4b2/examples/fractal.py
+Starting computation (groan)
+
+process 1 done with computation!!
+process 3 done with computation!!
+process 4 done with computation!!
+process 2 done with computation!!
+process 0 done with computation!!
+Header length is  54
+BMP size is  (400, 400)
+Data length is  480000
+[lamuser@domU-12-31-33-00-02-5A ~]$ ls
+hosts  id_rsa.pub  mpd.hosts  output.bmp
+
+</code></pre>
+
+
+<p>This produced the following fractal image (output.bmp):</p>
+
+<p><img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/output.dms" alt="output.bmp"></p>
+
+<p>We will show some more examples using PyMPI in the next post.</p>
+
+<h2 id="ChangingtheClusterSize">Changing the Cluster Size</h2>
+
+
+<p>If we want to modify the number of nodes in the cluster we first need to kill the mpi cluster from the master node as follows:</p>
+
+<pre><code>
+[lamuser@domU-12-31-33-00-02-5A ~]$ mpdallexit
+[lamuser@domU-12-31-33-00-02-5A ~]$ mpdcleanup
+</code></pre>
+
+
+<p>Once this is done, you can start additional instances of the public 
+AMI from your local machine, then re-run the ec2-mpi-config.py script 
+and reboot the cluster.</p>
+
+<h2 id="ClusterShutdown">Cluster Shutdown</h2>
+
+
+<p>Run '''ec2-stop-cluster.py''' to stop all EC2 MPI nodes.  If you just want to stop the slave nodes, run ec2-stop-slaves.py</p>
+
+<pre><code>
+
+peter-skomorochs-computer:~/AmazonEC2_MPI_scripts pskomoroch$ ./ec2-stop-cluster.py
+This will stop all your EC2 MPI images, are you sure (yes/no)? yes
+----- listing instances -----
+RESERVATION     r-aec420c7      027811143419    default
+INSTANCE        i-ab41a6c2      ami-3e836657    domU-12-31-33-00-02-5A.usma1.compute.amazonaws.com      running
+INSTANCE        i-aa41a6c3      ami-3e836657    domU-12-31-33-00-01-E3.usma1.compute.amazonaws.com      running
+INSTANCE        i-ad41a6c4      ami-3e836657    domU-12-31-33-00-03-AA.usma1.compute.amazonaws.com      running
+INSTANCE        i-ac41a6c5      ami-3e836657    domU-12-31-33-00-04-19.usma1.compute.amazonaws.com      running
+INSTANCE        i-af41a6c6      ami-3e836657    domU-12-31-33-00-03-E3.usma1.compute.amazonaws.com      running
+
+---- Stopping instance Id's ----
+Stoping Instance Id = i-ab41a6c2 
+Stoping Instance Id = i-aa41a6c3 
+Stoping Instance Id = i-ad41a6c4 
+Stoping Instance Id = i-ac41a6c5 
+Stoping Instance Id = i-af41a6c6 
+
+Waiting for shutdown ....
+----- listing new state of instances -----
+RESERVATION     r-aec420c7      027811143419    default
+INSTANCE        i-ab41a6c2      ami-3e836657    domU-12-31-33-00-02-5A.usma1.compute.amazonaws.com      shutting-down
+INSTANCE        i-aa41a6c3      ami-3e836657    domU-12-31-33-00-01-E3.usma1.compute.amazonaws.com      shutting-down
+INSTANCE        i-ad41a6c4      ami-3e836657    domU-12-31-33-00-03-AA.usma1.compute.amazonaws.com      shutting-down
+INSTANCE        i-ac41a6c5      ami-3e836657    domU-12-31-33-00-04-19.usma1.compute.amazonaws.com      shutting-down
+INSTANCE        i-af41a6c6      ami-3e836657    domU-12-31-33-00-03-E3.usma1.compute.amazonaws.com      shutting-down
+
+</code></pre>
+
+
+</div>
+
+<div id="related">
+  <h2>Related Posts</h2>
+  <ul class="posts">
+    
+      <li><span>17 Mar 2007</span> » <a href="http://www.datawrangling.com/on-demand-mpi-cluster-with-python-and-ec2-part-1-of-3">On-Demand MPI Cluster with Python and EC2 (part 1 of 3)</a></li>
+    
+      <li><span>24 Aug 2009</span> » <a href="http://www.datawrangling.com/how-flightcaster-squeezes-predictions-from-flight-data">How FlightCaster Squeezes Predictions from Flight Data</a></li>
+    
+      <li><span>17 Jan 2008</span> » <a href="http://www.datawrangling.com/some-datasets-available-on-the-web">Some Datasets Available on the Web</a></li>
+    
+  </ul>
+</div>
+
+<!-- Disqus Comments -->
+<div id="disqus_thread"><div style="display: none;" id="dsq-content-stub"><img alt="DISQUS" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEcAAAARCAYAAAH4YIFjAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABwdJREFUeNpi/P//PwMhwAIiGBkZGeK6V8JVh9rqdfrc0ixnEDb+wPD2rAAjMSYBBBBRisDWwKxCthIE/q8Q+A8yhCiTAAIIrCi+ZxVMZSAQr19UGs4IMxWd/X8Rw3/GOKDhW43fgzwF1hX7n5EJ2dSp2QFNUKcZwJ31/78CkvPBGkGGMXidSUTWCxBAxAUAEQAcJzCvIXsDBPwsNBU2nbj+AMpdsFA8PAHsLZj3QC5D9hrIAEtN+RMwAzRkxcB0iK3eQ6iQIRAnoMTE//8CyHwmWHQdv/7QAiZ44/ErMP383acsqNB5iMnPlsFdsUZ6IU3CCCCA4AYBw8kBJgj06gGkmHJAFgPyQV4ExeQEoNgHJHUBQMoAWRzoerBeYHgeQOJ/APIvQPkNUP4EuIdADBAGBRMQOABxQcakdSipHZldNGvL2zWHL8kD1d0HieVN33QYqnc/EAfULNwJVw8KTniQwvjAdPz/SEwKmL1KfC5QjwEQr4e5AyVdA3P4ASCe8O3nb1whmtib6r3IXlfpATBEFbpWH9ygJSdmBtXrOHPbyZWPXn1AqOZRwDSBS+YHo82SOQwiZnYMoS+EGC42nGdYzBiAnKpgGAbeA3ECkjwYQNnzH758///6o5cgofVIagy+/vgFF//y/ecHJLn1/18AA+/teZBcPZL4eSTxBJg7AAKIaomRmpkeV2IG5UcDpMSsAM2zF4BiG9DUFaCLQxPwBWCC/QBkg/QqoCVuEN4ASuDIaWc/DIMSItBxH0GCrkaqCVBxWO4BJWBQcK/PmrL+I1S8H0i9h4mjFfX7GTRyIdEuHzIfZtb/Zdw3oGyQnvP/d9pNgRc+MLCwJMxxWk7AI6Ar+YCWVSLLyYkJzIYlZqC6RGBhbg/lFwDlQHoDgfgALLfhjY8/X9XhpWPs/wWM7odyMBwDylU8nOzyILYIH3cZslxBgM0cKHM+MOTAGCZnri7XCdS7ASgGLsc/fPlug9cxlrO/wUvYxYwJwCgLwHAMcrVlqCJ9BVlchJ+7EhRyQPwAyGaAFnhgsOPMzUhQroLVAU76yp/gGp/vtQbTr45pwMWOp1oDQ6QQiGEi6+EJGLmah0YJQ6CVtu3ivecKYHIpE9b8BPqcDSnawHSSu8m3eTvPyAHlzsPkDl25/wXMYAOq+XgtBFwIfn/GwCAOSq8HYCGCsNh8+hvksgYZIJchDkjljAKoHAKVJ6ByBbnmA5XESOL1oFIZSc9/cJkC1IukPuH/z/cw8fswdwyqcgYgwAaVYwYbQEnDSI1LbGABEDcCC1lYS4yhfO42n+fvPm9GKsAZkfJDA7RcwwYmQM1CbpUUADU3AB3AjxJ7wFwAFGsAqp2A0mBDahww8Gv4Mvrf2AKXWyMzgeHbk3wwh5X/DGPkR1OoHlCmn49cGCABkL8SgZn8ANbAQQaV4ZBK6yGwgbDr3G2GNx+/gkqShMTe1V///vsnA/KYjoKECjBwMPQCW0EngOrNQWxbHQWGFA8zBlAj5eztpwwbjl9lyPG1DFOUEAIFDqxJB6ksoC1ZN2NVsDm7zt4GNUhBgdUPrXwckWtQOJB0VQE2XRF8UQt9hodrIGw+FaDcWVjAwAshhsD7kAbPO2Dr78ZEBoZfHxQYHNYbwEogvIGjKSfOiNysBpaEL/acv8MODBhuUX7u00BhVVx6DZWlxHcDAxQEDl95AMZQAGqHLlSSFIanAnZWll0/f/8Bs2OcDB+5GavJVyGZtevsrYdL9p2XQ6rZGcnKI54nZRj2uoMCAVr4K8JkQAKgJsdEYN12AbmYYSGqYGJk/NC8bO91WHKUFRXgwace6ElDIF4PjHWHc3eeMZy98xSU8mB1mwE0FSQCU8ECZiZGVpi+yw9eLIfVlUyMjIf+/f/Pu/bIlTtIdSX5hauo+RagxxMZfr2fwHB3IT/Dy4MMDI/BzTABaP2aAGzmgPpN4gQDB1pmgIA+EAfcfvoGXl/mB1hXFuBxCLDs6oc26kBJZiIoxShLCqs9e/tp+vdfv8ENB08Tdf9FwHKsMtxxTfvK/SGgbHfx3vNyoL2g7DjR30r74vqjV2yA6lXgbnI2WtoH4yhEfGF4sAISSTcm9wOzDcidoE6lPTBLwRuyDMoJ5+DZagnLJIb/f3mh5edGcKoRs+5neHUUUgZxiIrhrK2wFchc7KwMmsByANjiAZUfoGzhCEpJIDlQowOYffqRC2RQS+f1x68HNx6/ygcqY9A7RMZAc5LcTS/zcLLZwcwB1evAzs/8pfsvwDu9yOplgRECzF4M8a7Gryw05NRB+sDtiC/3HjKcKeaDpgAEADVmNIDlsX4DqFPmCOvvMNxdkAAuX95dQFUPKnv06kEBmQgNOLpV5QbQpAsrcz4QUC+AVJsgqxcgoNcBqQy5QIIdONUDALcn6c0dtMJ9AAAAAElFTkSuQmCC" height="17" width="71"><img alt="..." src="data:image/gif;base64,R0lGODlhEAALAPQAAP///z2LqeLt8dvp7u7090GNqz2LqV+fuJ/F1IW2ycrf51aatHWswaXJ14i4ys3h6FmctUCMqniuw+vz9eHs8fb5+meku+Tu8vT4+cfd5bbT3tbm7PH2+AAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCwAAACwAAAAAEAALAAAFLSAgjmRpnqSgCuLKAq5AEIM4zDVw03ve27ifDgfkEYe04kDIDC5zrtYKRa2WQgAh+QQJCwAAACwAAAAAEAALAAAFJGBhGAVgnqhpHIeRvsDawqns0qeN5+y967tYLyicBYE7EYkYAgAh+QQJCwAAACwAAAAAEAALAAAFNiAgjothLOOIJAkiGgxjpGKiKMkbz7SN6zIawJcDwIK9W/HISxGBzdHTuBNOmcJVCyoUlk7CEAAh+QQJCwAAACwAAAAAEAALAAAFNSAgjqQIRRFUAo3jNGIkSdHqPI8Tz3V55zuaDacDyIQ+YrBH+hWPzJFzOQQaeavWi7oqnVIhACH5BAkLAAAALAAAAAAQAAsAAAUyICCOZGme1rJY5kRRk7hI0mJSVUXJtF3iOl7tltsBZsNfUegjAY3I5sgFY55KqdX1GgIAIfkECQsAAAAsAAAAABAACwAABTcgII5kaZ4kcV2EqLJipmnZhWGXaOOitm2aXQ4g7P2Ct2ER4AMul00kj5g0Al8tADY2y6C+4FIIACH5BAkLAAAALAAAAAAQAAsAAAUvICCOZGme5ERRk6iy7qpyHCVStA3gNa/7txxwlwv2isSacYUc+l4tADQGQ1mvpBAAIfkECQsAAAAsAAAAABAACwAABS8gII5kaZ7kRFGTqLLuqnIcJVK0DeA1r/u3HHCXC/aKxJpxhRz6Xi0ANAZDWa+kEAA7AAAAAAAAAAAA" style="margin: 0pt 0pt 3px 5px;" height="11" width="16"></div><div class="clearfix" style="display: block;" id="dsq-content">      <div id="dsq-global-toolbar" class="dsq-clearfix">        <ul class="dsq-global-toolbar-right dsq-clearfix">                            <li class="dsq-community-box">                <a href="#" class="dsq-toolbar-item dsq-tt" onclick="DISQUS.dtpl.actions.fire('community.show'); return false" title="Expand Community Box"><span class="dsq-toolbar-icon"></span></a>            </li>                            <li class="dsq-global-toolbar-dropdown-container">                    <div id="dsq-toolbar-dropdown">    <a href="#" class="dsq-toolbar-logo dsq-toolbar-item dsq-clearfix"><span class="dsq-toolbar-icon">Disqus</span></a>    <div id="dsq-toolbar-dropdown-wrap" style="display: none">      <ul class="dsq-clearfix">                    <li class="dsq-login-link"><a href="#" onclick="DISQUS.dtpl.actions.fire('auth.login'); return false"><span class="dsq-toolbar-icon"></span><span class="dsq-toolbar-label">Login</span></a></li>                    <li class="dsq-about-link"><a href="http://disqus.com/" target="_blank"><span class="dsq-toolbar-icon"></span><span class="dsq-toolbar-label">About Disqus</span></a></li>      </ul>    </div>  </div>            </li>        </ul>                <ul class="dsq-global-toolbar-left dsq-clearfix">            <li class="dsq-like-thread">                <a href="#" id="dsq-like-thread-button" class="dsq-toolbar-item dsq-clearfix  dsq-tt" onclick="DISQUS.dtpl.actions.fire('thread.vote', 1); return false;" title="I like this page">                    <span class="dsq-toolbar-icon"></span>                    <span class="dsq-toolbar-label">Like</span>                </a>            </li>            <li class="dsq-dislike-thread">                <a href="#" id="dsq-dislike-thread-button" class="dsq-toolbar-item dsq-clearfix  dsq-tt" onclick="DISQUS.dtpl.actions.fire('thread.vote', -1); return false" title="I don't like this page">                    <span class="dsq-toolbar-icon">Dislike</span>                </a>            </li>            <li class="dsq-like-panel">                <ul class="dsq-like-faces dsq-clearfix">                        <li class="dsq-like-activity">    </li>                </ul>            </li>        </ul>            </div>    <div id="dsq-like-tooltip">      <div id="dsq-share-step-1" class="dsq-share-step">        <h3>Glad you liked it. Would you like to share?</h3>        <p class="dsq-tooltip-checkbox"><input id="dsq-share-thread-facebook" value="Facebook" type="checkbox"><label for="dsq-share-thread-facebook"><span class="dsq-facebook">Facebook</span></label></p>        <p class="dsq-tooltip-checkbox"><input id="dsq-share-thread-twitter" value="Twitter" type="checkbox"><label for="dsq-share-thread-twitter"><span class="dsq-twitter">Twitter</span></label></p>        <ul id="dsq-tooltip-actions">                        <li><a href="#" onclick="DISQUS.dtpl.actions.fire('thread.share.send'); return false" class="dsq-primary-action">Share</a></li>                    <li><a href="#" onclick="DISQUS.dtpl.actions.fire('thread.share.cancel'); return false" class="dsq-secondary-action">No thanks</a></li>        </ul>      </div>      <div id="dsq-share-step-2" class="dsq-share-step" style="display:none !important">        <p>Sharing this page …</p>      </div>      <div id="dsq-share-step-3" class="dsq-share-step" style="display:none !important">        <p>Thanks! <a href="#" class="dsq-tooltip-decline" onclick="DISQUS.dtpl.actions.fire('thread.share.cancel'); return false">Close</a></p>      </div>    </div>                                <div class="dsq-reply " id="dsq-reply">          <div id="dsq-account-dropdown">                  <a href="#" onclick="DISQUS.dtpl.actions.fire('auth.login'); return false;">Login</a>              </div>      <h3>Add New Comment</h3>        <div class="dsq-avatar">              <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png">          </div>    <div class="dsq-textarea dsq-textarea-reply">      <div class="dsq-textarea-background">        <div style="height: auto;" class="dsq-textarea-wrapper">          <!-- filled dynamically -->        <iframe style="height: 58px;" src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/reply.html" id="easyXDM_DISQUS_net_default5938_provider" name="easyXDM_DISQUS_net_default5938_provider" frameborder="0" scrolling="no"></iframe></div>                  <div id="dsq-media-preview" class="dsq-media-preview" style="display:none">          </div>                <div class="dsq-post-tools">          <ul>            <li class="dsq-post-as">                                <button type="button" class="dsq-button" onclick="DISQUS.dtpl.actions.fire('comments.validate', null, this);">                    Post as …                  </button>                          </li>                          <li class="dsq-attach-media">                <div class="dsq-attach-media-container">                  <span>Image</span>                  <!-- filled dynamically -->                <iframe src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/upload.html" id="easyXDM_DISQUS_net_default5939_provider" name="easyXDM_DISQUS_net_default5939_provider" frameborder="0" scrolling="no"></iframe></div>              </li>                        <li class="dsq-share-on dsq-clearfix">                            </li>          </ul>        </div>      </div>    </div>  </div>                              <div id="dsq-sort-by">    <select id="dsq-sort-select" onchange="DISQUS.dtpl.actions.fire('thread.sort', this.value);">              <option value="hot" selected="selected">          Sort by popular now        </option>              <option value="best">          Sort by best rating        </option>              <option value="newest">          Sort by newest first        </option>              <option value="oldest">          Sort by oldest first        </option>          </select>  </div>      <h3>            Showing <span id="dsq-num-posts">69</span> comments        </h3>        <ul id="dsq-comments">            <li id="comment-67194196">  </li><li id="dsq-comment-67194196" data-dsq-comment-id="67194196" class="dsq-comment dsq-clearfix        dsq-comment-is-parent                " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Aarthi 8288's profile">      <a href="http://disqus.com/guest/f0576509b100bb26bef551d1d0b491f7/" onclick="DISQUS.dtpl.actions.fire('profile.show', 67194196, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-67194196" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">Aarthi 8288</span>                <span class="dsq-collapsed-count">                      3 comments collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 67194196); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 67194196); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-67194196">                <div class="dsq-comment-text" id="dsq-comment-text-67194196">        <p>Hi,</p>
+
+<p>I was trying to launch a cluster using the given scripts. I got the following error :</p>
+
+<p># ./<a href="http://ec2-start-cluster.py/" rel="nofollow">ec2-start-cluster.py</a> <br>Traceback (most recent call last):<br>  File "./<a href="http://ec2-start-cluster.py/" rel="nofollow">ec2-start-cluster.py</a>", line 23, in &lt;module&gt;<br>    import EC2<br>ImportError: No module named EC2</p>
+
+<p>Can anyone help me out ?<br>&lt;/module&gt;</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-67194196"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-67194196">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,67194196); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',67194196, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-67194196" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 67194196);" title="Link to comment by Aarthi 8288">          2 years ago      </a></li>            <li>          <a href="#" id="dsq-comment-like-count-67194196" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 67194196); return false">1          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 67194196, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-67194196"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-67194196"></li>            <li id="comment-68258537">  </li><li id="dsq-comment-68258537" data-dsq-comment-id="68258537" class="dsq-comment dsq-clearfix                        " style="margin-left:46px;">    <div class="dsq-avatar dsq-tt" title="Expand Adeel Jan's profile">      <a href="http://disqus.com/guest/755e68a77d0b700b274027f86017d580/" onclick="DISQUS.dtpl.actions.fire('profile.show', 68258537, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-68258537" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">Adeel Jan</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 68258537); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 68258537); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-68258537">                <div class="dsq-comment-text" id="dsq-comment-text-68258537">        <p>I think you need to get python library :)</p>
+
+<p>Adeel Jan.</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-68258537"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-68258537">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,68258537); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',68258537, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-68258537" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 68258537);" title="Link to comment by Adeel Jan">          2 years ago      </a></li>              <li>          <a onclick="DISQUS.dtpl.actions.fire('comments.showParent', 67194196); return false" href="#comment-67194196" title="Jump to comment">            in reply to Aarthi 8288          </a>        </li>            <li>          <a href="#" id="dsq-comment-like-count-68258537" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 68258537); return false">2          Likes      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 68258537, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-68258537"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-68258537"></li>            <li id="comment-316963998">  </li><li id="dsq-comment-316963998" data-dsq-comment-id="316963998" class="dsq-comment dsq-clearfix                        " style="margin-left:46px;">    <div class="dsq-avatar dsq-tt" title="Expand Lukearron's profile">      <a href="http://disqus.com/guest/b0ace4c8ac6841adf9bbb2c6a911f85a/" onclick="DISQUS.dtpl.actions.fire('profile.show', 316963998, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-316963998" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">Lukearron</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 316963998); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 316963998); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-316963998">                <div class="dsq-comment-text" id="dsq-comment-text-316963998">        <p>Did
+ anyone solve this problem? &nbsp;I had the same problem, and I 
+downloaded and unpacked the libraries, but perhaps the python library 
+needs to be _placed_ somewhere?</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-316963998"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-316963998">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,316963998); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',316963998, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-316963998" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 316963998);" title="Link to comment by Lukearron">          1 year ago      </a></li>              <li>          <a onclick="DISQUS.dtpl.actions.fire('comments.showParent', 67194196); return false" href="#comment-67194196" title="Jump to comment">            in reply to Aarthi 8288          </a>        </li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-316963998" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 316963998); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 316963998, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-316963998"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-316963998"></li>            <li id="comment-250815538">  </li><li id="dsq-comment-250815538" data-dsq-comment-id="250815538" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Easwar's profile">      <a href="http://disqus.com/guest/6a22b4cb802cd0fc3459843d5531b09c/" onclick="DISQUS.dtpl.actions.fire('profile.show', 250815538, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-250815538" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">Easwar</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 250815538); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 250815538); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-250815538">                <div class="dsq-comment-text" id="dsq-comment-text-250815538">        <p>Dear Sir,</p>
+
+<p>&nbsp; I am trying to use MPI for <br>running Data parallel 
+applications. I read this post and on following up, I have few queries. 
+Would be great, if I can get answers to them. </p>
+
+<p>a) As of now, I am choosing AMI using the browser interface of 
+Amazon. You have uploaded two AMI's one for master (ami-e813f681) and 
+another for slave (ami-eb13f682).<br> When I launch an instance, I can only choose one. Which one should I <br>choose ? (Or how should I choose both, in case I need to)&nbsp; ? Do these <br>AMI's has OPEMPI implementation ?</p>
+
+<p>b) Secondly, if I launch multiple instances of a Large CPU (say 3 <br>instances),
+ I would be get many nodes (say m nodes per one instance, hence i would 
+have m*3 nodes). Can I communicate between nodes <br>of different instances just as we normally do in MPI ?</p>
+
+<p>c) Are you aware any MPI image with ubuntu ?</p>
+
+<p>d) I am using browser, since I have to connect through proxy. How/Where <br>do set proxy connections, if I need to start cluster using your python <br>scripts ?</p>
+
+<p>Easwar</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-250815538"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-250815538">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,250815538); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',250815538, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-250815538" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 250815538);" title="Link to comment by Easwar">          1 year ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-250815538" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 250815538); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 250815538, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-250815538"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-250815538"></li>            <li id="comment-70898888">  </li><li id="dsq-comment-70898888" data-dsq-comment-id="70898888" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Johnliu's profile">      <a href="http://disqus.com/guest/8b2c7a6f55f9dae1487bea3c5d94758f/" onclick="DISQUS.dtpl.actions.fire('profile.show', 70898888, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-70898888" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">Johnliu</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 70898888); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 70898888); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-70898888">                <div class="dsq-comment-text" id="dsq-comment-text-70898888">        <p>Hi,</p>
+
+<p>Does anyone have this running under cygwin in windows?</p>
+
+<p>If so, can you please post your code for <a href="http://ec2-mpi-config.py/?" rel="nofollow">ec2-mpi-config.py?</a> I tried using the current file but get lots of errors.</p>
+
+<p>Thanks,<br>John</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-70898888"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-70898888">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,70898888); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',70898888, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-70898888" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 70898888);" title="Link to comment by Johnliu">          2 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-70898888" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 70898888); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 70898888, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-70898888"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-70898888"></li>            <li id="comment-69997433">  </li><li id="dsq-comment-69997433" data-dsq-comment-id="69997433" class="dsq-comment dsq-clearfix        dsq-comment-is-parent                " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Supriyamunshaw's profile">      <a href="http://disqus.com/guest/68f6f02fdffed7fa531101d399bda3d6/" onclick="DISQUS.dtpl.actions.fire('profile.show', 69997433, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-69997433" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">Supriyamunshaw</span>                <span class="dsq-collapsed-count">                      2 comments collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 69997433); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 69997433); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-69997433">                <div class="dsq-comment-text" id="dsq-comment-text-69997433">        <p>I have sucessfully connected to 5 nodes but am having trouble with the <a href="http://ec2-mpi-config.py/" rel="nofollow">ec2-mpi-config.py</a> script. When I run it, I repeatedly get the following:</p>
+
+<p>---- MPI Cluster Details ----<br>Numer of nodes = 5<br>Instance= i-8d2949e7 external_name = <a href="http://ec2-184-72-183-113.compute-1.amazonaws.com/" rel="nofollow">ec2-184-72-183-113.compute-1.a...</a> hostname= ip-10-212-239-33.ec2.internal state= <br>Instance= i-832949e9 external_name = <a href="http://ec2-174-129-138-43.compute-1.amazonaws.com/" rel="nofollow">ec2-174-129-138-43.compute-1.a...</a> hostname= domU-12-31-39-10-6C-13.compute-1.internal state= <br>Instance= i-812949eb external_name = <a href="http://ec2-184-72-141-241.compute-1.amazonaws.com/" rel="nofollow">ec2-184-72-141-241.compute-1.a...</a> hostname= domU-12-31-39-0B-00-F8.compute-1.internal state= <br>Instance= i-872949ed external_name = <a href="http://ec2-174-129-131-171.compute-1.amazonaws.com/" rel="nofollow">ec2-174-129-131-171.compute-1....</a> hostname= domU-12-31-39-09-C4-24.compute-1.internal state= <br>Instance= i-852949ef external_name = <a href="http://ec2-174-129-61-151.compute-1.amazonaws.com/" rel="nofollow">ec2-174-129-61-151.compute-1.a...</a> hostname= domU-12-31-39-0C-D8-57.compute-1.internal state= <br>5</p>
+
+<p>The master node is <a href="http://ec2-184-72-183-113.compute-1.amazonaws.com/" rel="nofollow">ec2-184-72-183-113.compute-1.a...</a></p>
+
+<p>Writing out mpd.hosts file</p>
+
+<p>scp -i id_rsa-gsg-keypair -o "StrictHostKeyChecking no" id_rsa-gsg-keypair root@ec2<a href="http://-184-72-183-113.compute-1.amazonaws.com/" rel="nofollow">-184-72-183-113.compute-1.amaz...</a>:~/.ssh/id_rsa-gsg-keypair </p>
+
+<p>ssh: connect to host <a href="http://ec2-184-72-183-113.compute-1.amazonaws.com/" rel="nofollow">ec2-184-72-183-113.compute-1.a...</a> port 22: Connection timed out<br>lost connection</p>
+
+<p>ssh -o "StrictHostKeyChecking no" root@ec2<a href="http://-184-72-183-113.compute-1.amazonaws.com/" rel="nofollow">-184-72-183-113.compute-1.amaz...</a> "touch .ssh/authorized_keys"  </p>
+
+<p>ssh: connect to host <a href="http://ec2-184-72-183-113.compute-1.amazonaws.com/" rel="nofollow">ec2-184-72-183-113.compute-1.a...</a> port 22: Connection timed out</p>
+
+<p>ssh -o "StrictHostKeyChecking no" root@ec2<a href="http://-184-72-183-113.compute-1.amazonaws.com/" rel="nofollow">-184-72-183-113.compute-1.amaz...</a> "cp -r .ssh /home/lamuser/"  </p>
+
+<p>It seems I'm having a connection problem. Does anyone what I can do about this?</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-69997433"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-69997433">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,69997433); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',69997433, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-69997433" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 69997433);" title="Link to comment by Supriyamunshaw">          2 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-69997433" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 69997433); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 69997433, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-69997433"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-69997433"></li>            <li id="comment-70014559">  </li><li id="dsq-comment-70014559" data-dsq-comment-id="70014559" class="dsq-comment dsq-clearfix                        " style="margin-left:46px;">    <div class="dsq-avatar dsq-tt" title="Expand Supriyamunshaw's profile">      <a href="http://disqus.com/guest/68f6f02fdffed7fa531101d399bda3d6/" onclick="DISQUS.dtpl.actions.fire('profile.show', 70014559, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-70014559" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">Supriyamunshaw</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 70014559); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 70014559); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-70014559">                <div class="dsq-comment-text" id="dsq-comment-text-70014559">        <p>ok, i figured it out. the connection was being made through my default security group where port 22 was not open.</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-70014559"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-70014559">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,70014559); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',70014559, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-70014559" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 70014559);" title="Link to comment by Supriyamunshaw">          2 years ago      </a></li>              <li>          <a onclick="DISQUS.dtpl.actions.fire('comments.showParent', 69997433); return false" href="#comment-69997433" title="Jump to comment">            in reply to Supriyamunshaw          </a>        </li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-70014559" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 70014559); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 70014559, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-70014559"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-70014559"></li>            <li id="comment-69464830">  </li><li id="dsq-comment-69464830" data-dsq-comment-id="69464830" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Henrywang41's profile">      <a href="http://disqus.com/guest/a751cbf7143645aaf9032d85af7a0208/" onclick="DISQUS.dtpl.actions.fire('profile.show', 69464830, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-69464830" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">Henrywang41</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 69464830); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 69464830); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-69464830">                <div class="dsq-comment-text" id="dsq-comment-text-69464830">        <p>Can someone please help? <a href="http://mc2-mpi-config.py/" rel="nofollow">mc2-mpi-config.py</a> is giving the following error:</p>
+
+<p>---- MPI Cluster Details ----<br>Numer of nodes = 2<br>Instance= i-bf90f5d5 external_name = <a href="http://ec2-184-73-36-216.compute-1.amazonaws.com/" rel="nofollow">ec2-184-73-36-216.compute-1.am...</a> hostname= ip-10-242-1<br>18-239.ec2.internal state= running<br>Instance= i-bd90f5d7 external_name = <a href="http://ec2-174-129-77-216.compute-1.amazonaws.com/" rel="nofollow">ec2-174-129-77-216.compute-1.a...</a> hostname= ip-10-242-<br>117-139.ec2.internal state= running</p>
+
+<p>The master node is <a href="http://ec2-184-73-36-216.compute-1.amazonaws.com/" rel="nofollow">ec2-184-73-36-216.compute-1.am...</a></p>
+
+<p>Writing out mpd.hosts file<br>Traceback (most recent call last):<br>  File "<a href="http://ec2-mpi-config.py/" rel="nofollow">ec2-mpi-config.py</a>", line 210, in &lt;module&gt;<br>    sys.exit(main())<br>  File "<a href="http://ec2-mpi-config.py/" rel="nofollow">ec2-mpi-config.py</a>", line 65, in main<br>    configure()<br>  File "<a href="http://ec2-mpi-config.py/" rel="nofollow">ec2-mpi-config.py</a>", line 151, in configure<br>    rsakeys = open(homedir + "/.ssh/id_rsa", 'r').read()<br>IOError: [Errno 2] No such file or directory: 'C:\\Documents and Settings\\Yunzhi Ma/.ssh/id_rsa'</p>
+
+<p>Could this possibly be due to anything about chunk and parsed_response? I printed out parsedresponse:</p>
+
+<p> [['RESERVATION', 'r-30733b5b', '219669225938', 'default'], ['INSTANCE', 'i-bf90f5d5', 'ami-e813f681'<br>, '<a href="http://ec2-184-73-36-216.compute-1.amazonaws.com/" rel="nofollow">ec2-184-73-36-216.compute-1.am...</a>', 'ip-10-242-118-239.ec2.internal', 'running'], ['RESER<br>VATION', 'r-36733b5d', '219669225938', 'default'], ['INSTANCE', 'i-bd90f5d7', 'ami-eb13f682', 'ec2-1<br><a href="http://74-129-77-216.compute-1.amazonaws.com/" rel="nofollow">74-129-77-216.compute-1.amazon...</a>', 'ip-10-242-117-139.ec2.internal', 'running']]</p>
+
+<p>Thanks so much,<br>Henry&lt;/module&gt;</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-69464830"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-69464830">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,69464830); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',69464830, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-69464830" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 69464830);" title="Link to comment by Henrywang41">          2 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-69464830" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 69464830); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 69464830, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-69464830"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-69464830"></li>            <li id="comment-69256901">  </li><li id="dsq-comment-69256901" data-dsq-comment-id="69256901" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Henrywang41's profile">      <a href="http://disqus.com/guest/a751cbf7143645aaf9032d85af7a0208/" onclick="DISQUS.dtpl.actions.fire('profile.show', 69256901, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-69256901" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">Henrywang41</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 69256901); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 69256901); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-69256901">                <div class="dsq-comment-text" id="dsq-comment-text-69256901">        <p>Hi,</p>
+
+<p>Amazon just recently (last month) released a cloud computing instance (<a href="http://developer.amazonwebservices.com/connect/ann.jspa?annID=718%29" rel="nofollow">http://developer.amazonwebserv...</a></p>
+
+<p>Does the code and what you describe here work for this new released 
+instance for HPC? (It's CentOS HVM AMI, ami-7ea24a17 under U.S. East)</p>
+
+<p>Thanks,</p>
+
+<p>Henry</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-69256901"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-69256901">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,69256901); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',69256901, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-69256901" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 69256901);" title="Link to comment by Henrywang41">          2 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-69256901" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 69256901); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 69256901, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-69256901"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-69256901"></li>            <li id="comment-69254750">  </li><li id="dsq-comment-69254750" data-dsq-comment-id="69254750" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Henrywang41's profile">      <a href="http://disqus.com/guest/a751cbf7143645aaf9032d85af7a0208/" onclick="DISQUS.dtpl.actions.fire('profile.show', 69254750, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-69254750" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">Henrywang41</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 69254750); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 69254750); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-69254750">                <div class="dsq-comment-text" id="dsq-comment-text-69254750">        <p>Hi,</p>
+
+<p>Is Elasticwulf and MPI essentially the same thing? I'm trying to run 
+some high performance computing using an Amazon EC2 cluster.</p>
+
+<p>Also, is boto necessary to set up a cluster on amazon EC2? What's the difference between boto and Elasticwulf?</p>
+
+<p>Thanks,</p>
+
+<p>Henry</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-69254750"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-69254750">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,69254750); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',69254750, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-69254750" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 69254750);" title="Link to comment by Henrywang41">          2 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-69254750" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 69254750); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 69254750, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-69254750"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-69254750"></li>            <li id="comment-69243905">  </li><li id="dsq-comment-69243905" data-dsq-comment-id="69243905" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Henrywang41's profile">      <a href="http://disqus.com/guest/a751cbf7143645aaf9032d85af7a0208/" onclick="DISQUS.dtpl.actions.fire('profile.show', 69243905, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-69243905" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">Henrywang41</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 69243905); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 69243905); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-69243905">                <div class="dsq-comment-text" id="dsq-comment-text-69243905">        <p>Hi,</p>
+
+<p>What exactly is the difference between Elasticwulf and MPI? Are they 
+the same thing? I'm trying to launch a cluster for HPC, which one is 
+more suitable?</p>
+
+<p>Also, is boto necessary too for launching a cluster?</p>
+
+<p>Thanks,<br>Henry</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-69243905"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-69243905">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,69243905); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',69243905, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-69243905" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 69243905);" title="Link to comment by Henrywang41">          2 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-69243905" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 69243905); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 69243905, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-69243905"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-69243905"></li>            <li id="comment-65945167">  </li><li id="dsq-comment-65945167" data-dsq-comment-id="65945167" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand bearrito's profile">      <a href="http://disqus.com/guest/fe2e272881aac6b690dd44b665c246e4/" onclick="DISQUS.dtpl.actions.fire('profile.show', 65945167, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-65945167" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">bearrito</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 65945167); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 65945167); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-65945167">                <div class="dsq-comment-text" id="dsq-comment-text-65945167">        <p>Little late on the thread here but would still like some feedback.</p>
+
+<p>My issues: </p>
+
+<p>1. I was also being prompted for my password. I ended up using the solution that Raghave suggested.</p>
+
+<p>2. I am not seeing /usr/local/src/pyMPI-2.4b2/. That directory 
+doesn't appear to be present. I tried to get around this by copying in <a href="http://fractal.py/" rel="nofollow">fractal.py</a> from my local machine. I end up with the following:</p>
+
+<p>mpirun -np 2 pyMPI /home/lamuser/<a href="http://fractal.py/" rel="nofollow">fractal.py</a> <br>pyMPI: can't open file '/home/lamuser/<a href="http://fractal.py/" rel="nofollow">fractal.py</a>': [Errno 2] No such file or directory</p>
+
+<p><a href="http://fractal.py/" rel="nofollow">fractal.py</a> is in that directory.</p>
+
+<p>Advice?<br></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-65945167"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-65945167">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,65945167); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',65945167, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-65945167" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 65945167);" title="Link to comment by bearrito">          2 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-65945167" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 65945167); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 65945167, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-65945167"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-65945167"></li>            <li id="comment-45550297">  </li><li id="dsq-comment-45550297" data-dsq-comment-id="45550297" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand miccloud's profile">      <a href="http://disqus.com/miccloud/" onclick="DISQUS.dtpl.actions.fire('profile.show', 45550297, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-45550297" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">miccloud</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 45550297); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 45550297); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-45550297">                <div class="dsq-comment-text" id="dsq-comment-text-45550297">        <p>I have a python script that calls a program installed on the master node and slave nodes.<br>Can I run it from the master node and get the results with mpirun?</p>
+
+<p>Thanks a lot.</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-45550297"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-45550297">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,45550297); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',45550297, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-45550297" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 45550297);" title="Link to comment by miccloud">          2 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-45550297" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 45550297); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 45550297, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-45550297"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-45550297"></li>            <li id="comment-45371085">  </li><li id="dsq-comment-45371085" data-dsq-comment-id="45371085" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand miccloud's profile">      <a href="http://disqus.com/miccloud/" onclick="DISQUS.dtpl.actions.fire('profile.show', 45371085, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-45371085" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">miccloud</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 45371085); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 45371085); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-45371085">                <div class="dsq-comment-text" id="dsq-comment-text-45371085">        <p>Can I execute bash script in a node  with a job?</p>
+
+<p>Thanks.</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-45371085"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-45371085">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,45371085); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',45371085, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-45371085" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 45371085);" title="Link to comment by miccloud">          2 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-45371085" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 45371085); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 45371085, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-45371085"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-45371085"></li>            <li id="comment-15834770">  </li><li id="dsq-comment-15834770" data-dsq-comment-id="15834770" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Harry's profile">      <a href="http://disqus.com/guest/a693c76dfaa7b34aedef8d18bdcf13e2/" onclick="DISQUS.dtpl.actions.fire('profile.show', 15834770, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-15834770" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">Harry</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 15834770); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 15834770); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-15834770">                <div class="dsq-comment-text" id="dsq-comment-text-15834770">        <p>Hello everybody, </p>
+
+<p>I had error with Fortran 77 library in AMI ami-e813f681 (Fedora core 6
+ x86- 64 bit) because of two libraries: libf2c or libg2c in the AMI. <br>(....<br>checking for f_exit in -lf2c... no<br>checking for f_exit in -lg2c... no<br>checking for dummy main to link with Fortran 77 libraries... unknown<br>configure: error: linking to Fortran libraries from C fails<br>)</p>
+
+<p>Could anybody help me solve the problem? Thanks so much! </p>
+
+<p>best regards, </p>
+
+<p>Harry<br></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-15834770"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-15834770">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,15834770); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',15834770, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-15834770" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 15834770);" title="Link to comment by Harry">          3 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-15834770" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 15834770); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 15834770, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-15834770"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-15834770"></li>            <li id="comment-11078420">  </li><li id="dsq-comment-11078420" data-dsq-comment-id="11078420" class="dsq-comment dsq-clearfix        dsq-comment-is-parent                " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Pete's profile">      <a href="http://disqus.com/guest/742736902afc4e0926b96932ada8cbc1/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078420, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078420" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://www.datawrangling.com/" target="_blank" class="dsq-commenter-name" rel="nofollow">Pete</a>                <span class="dsq-collapsed-count">                      9 comments collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078420); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078420); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078420">                <div class="dsq-comment-text" id="dsq-comment-text-11078420">        <p></p><p>Jeff,</p><br><p>I'm
+ actually working on a new version of Elasticwulf right now.  Shoot me 
+an email at pete@datawrangling.com and I'll try to include what you need
+ for Rmpi.  If you have some sample Rmpi code you want to test and that 
+you don't mind releasing, we can build that into the AMI to ensure 
+everything you need is installed.</p><br><p>Here are the MPI installs that were included on that Fedora 64 bit image:</p><br><pre># mpich2 <p></p>
+
+<p>cd /usr/local/src/<br>wget <a href="http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/mpich2-1.0.6p1.tar.gz" rel="nofollow">http://www.mcs.anl.gov/researc...</a><br>tar -xzvf mpich2-1.0.6p1.tar.gz<br>cd mpich2-1.0.6p1<br>./configure --enable-sharedlibs=gcc --prefix=/usr/local/mpich2<br>make<br>make install</p>
+
+<p># openmpi</p>
+
+<p>cd /usr/local/src/<br>wget <a href="http://www.open-mpi.org/software/ompi/v1.2/downloads/openmpi-1.2.5.tar.gz" rel="nofollow">http://www.open-mpi.org/softwa...</a><br>#wget <a href="http://www.open-mpi.de/software/ompi/v1.2/downloads/openmpi-1.2.5.tar.gz" rel="nofollow">http://www.open-mpi.de/softwar...</a><br>tar -zxf openmpi-1.2.5.tar.gz<br>cd openmpi-1.2.5<br>./configure --prefix=/usr/local/openmpi<br>make all<br>make install</p>
+
+<p>#lam<br>cd /usr/local/src/<br>wget <a href="http://www.lam-mpi.org/download/files/lam-7.1.2.tar.gz" rel="nofollow">http://www.lam-mpi.org/downloa...</a><br>tar -xzvf lam-7.1.2.tar.gz<br>cd lam-7.1.2<br>./configure --enable-shared --prefix=/usr/local/lam<br>make <br>make install</p>
+
+<p># mpich1<br>cd /usr/local/src/<br>wget <a href="http://www-unix.mcs.anl.gov/mpi/mpich1/downloads/mpich.tar.gz" rel="nofollow">http://www-unix.mcs.anl.gov/mp...</a><br>tar -zxf mpich.tar.gz<br>cd mpich-1.2.7p1/<br>./configure --enable-sharedlib --prefix=/usr/local/mpich<br>make<br>make install<br></p></pre><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078420"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078420">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078420); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078420, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078420" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078420);" title="Link to comment by Pete">          3 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078420" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078420); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078420, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078420"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078420"></li>            <li id="comment-12182512">  </li><li id="dsq-comment-12182512" data-dsq-comment-id="12182512" class="dsq-comment dsq-clearfix        dsq-comment-is-parent                " style="margin-left:46px;">    <div class="dsq-avatar dsq-tt" title="Expand Andrew Lonie's profile">      <a href="http://disqus.com/guest/5420aa91d78af66fdcdbd0aebf91e653/" onclick="DISQUS.dtpl.actions.fire('profile.show', 12182512, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-12182512" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">Andrew Lonie</span>                <span class="dsq-collapsed-count">                      8 comments collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 12182512); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 12182512); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-12182512">                <div class="dsq-comment-text" id="dsq-comment-text-12182512">        <p>Hi
+ - I'd be very interested in a Elasticwulf cluster that supports R, too.
+  Did anything come of this? I'd be happy to be involved. </p>
+
+<p>Andrew</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-12182512"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-12182512">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,12182512); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',12182512, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-12182512" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 12182512);" title="Link to comment by Andrew Lonie">          3 years ago      </a></li>              <li>          <a onclick="DISQUS.dtpl.actions.fire('comments.showParent', 11078420); return false" href="#comment-11078420" title="Jump to comment">            in reply to Pete          </a>        </li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-12182512" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 12182512); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 12182512, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-12182512"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-12182512"></li>            <li id="comment-12182897">  </li><li id="dsq-comment-12182897" data-dsq-comment-id="12182897" class="dsq-comment dsq-clearfix        dsq-comment-is-parent        dsq-moderator        dsq-founder" style="margin-left:92px;">    <div class="dsq-avatar dsq-tt" title="Expand pskomoroch's profile">      <a href="http://disqus.com/pskomoroch/" onclick="DISQUS.dtpl.actions.fire('profile.show', 12182897, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-12182897" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">pskomoroch</span>                <span class="dsq-collapsed-count">                      7 comments collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 12182897); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 12182897); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-12182897">                <div class="dsq-comment-text" id="dsq-comment-text-12182897">        <p>Yes,
+ I have a Rails REST web service on github now for spawning MPI clusters
+ that support R.  Haven't had time yet to finish the docs or write a 
+blog post about it.  Works fine in operation...</p>
+
+<p><a href="http://github.com/datawrangling/ec2cluster/tree/master" rel="nofollow">http://github.com/datawranglin...</a></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-12182897"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-12182897">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,12182897); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',12182897, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-12182897" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 12182897);" title="Link to comment by pskomoroch">          3 years ago      </a></li>              <li>          <a onclick="DISQUS.dtpl.actions.fire('comments.showParent', 12182512); return false" href="#comment-12182512" title="Jump to comment">            in reply to Andrew Lonie          </a>        </li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-12182897" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 12182897); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 12182897, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-12182897"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-12182897"></li>            <li id="comment-17402044">  </li><li id="dsq-comment-17402044" data-dsq-comment-id="17402044" class="dsq-comment dsq-clearfix        dsq-comment-is-parent                " style="margin-left:138px;">    <div class="dsq-avatar dsq-tt" title="Expand Soren Macbeth's profile">      <a href="http://disqus.com/sorenmacbeth/" onclick="DISQUS.dtpl.actions.fire('profile.show', 17402044, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/uploads/users/11091/avatar32.jpg?1324404681" alt="">      </a>    </div>    <div id="dsq-comment-body-17402044" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://dopeness.org/" target="_blank" class="dsq-commenter-name" rel="nofollow">Soren Macbeth</a><span class="dsq-commenter-bio">, Chief Data Scientist @yieldbot. Co-founder of @StockTwits</span>                <span class="dsq-collapsed-count">                      3 comments collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 17402044); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 17402044); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-17402044">                <div class="dsq-comment-text" id="dsq-comment-text-17402044">        <p>Hey Peter,</p>
+
+<p>Thanks for the awesome ec2cluster project! I forked it on github so 
+that I could add the ability to install R packages from CRAN across all 
+the nodes in the cluster. Basically I added the following to <a href="http://ubuntu_installs.sh/" rel="nofollow">ubuntu_installs.sh</a>:<br>--snip--<br># Custom R packages<br>cat &lt;&lt;eof&gt;&gt; /home/ec2cluster/install_custom_packages.R<br>install.packages("DEoptim",repos="<a href="http://cran.stat.ucla.edu/" rel="nofollow">http://cran.stat.ucla.edu</a>")<br>EOF<br> <br>R CMD BATCH /home/ec2cluster/install_custom_packages.R<br>--snip--</p>
+
+<p>A bit crude I know, but something people wanting to do things with R will probably find useful. </p>
+
+<p>To actually run the R code, I was successful with the follow approach:</p>
+
+<p>1) put your R code in a file and save it as foo.R<br>2) add the following line to a shellscript: mpirun -n 1 -hostfile /mnt/ec2cluster/openmpi_hostfile R CMD BATCH foo.R<br>3) call the shellscript and grab the produced .Rout file to your S3 bucket!<br>&lt;/eof&gt;</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-17402044"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-17402044">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,17402044); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',17402044, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-17402044" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 17402044);" title="Link to comment by Soren Macbeth">          3 years ago      </a></li>              <li>          <a onclick="DISQUS.dtpl.actions.fire('comments.showParent', 12182897); return false" href="#comment-12182897" title="Jump to comment">            in reply to pskomoroch          </a>        </li>            <li>          <a href="#" id="dsq-comment-like-count-17402044" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 17402044); return false">1          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 17402044, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-17402044"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-17402044"></li>            <li id="comment-17755101">  </li><li id="dsq-comment-17755101" data-dsq-comment-id="17755101" class="dsq-comment dsq-clearfix        dsq-comment-is-parent        dsq-moderator        dsq-founder" style="margin-left:184px;">    <div class="dsq-avatar dsq-tt" title="Expand pskomoroch's profile">      <a href="http://disqus.com/pskomoroch/" onclick="DISQUS.dtpl.actions.fire('profile.show', 17755101, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-17755101" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">pskomoroch</span>                <span class="dsq-collapsed-count">                      2 comments collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 17755101); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 17755101); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-17755101">                <div class="dsq-comment-text" id="dsq-comment-text-17755101">        <p>Soren,</p>
+
+<p>Glad ec2cluster helped, are you guys big R users at StockTwits?</p>
+
+<p>-Pete</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-17755101"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-17755101">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,17755101); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',17755101, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-17755101" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 17755101);" title="Link to comment by pskomoroch">          3 years ago      </a></li>              <li>          <a onclick="DISQUS.dtpl.actions.fire('comments.showParent', 17402044); return false" href="#comment-17402044" title="Jump to comment">            in reply to Soren Macbeth          </a>        </li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-17755101" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 17755101); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 17755101, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-17755101"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-17755101"></li>            <li id="comment-17816391">  </li><li id="dsq-comment-17816391" data-dsq-comment-id="17816391" class="dsq-comment dsq-clearfix                        " style="margin-left:230px;">    <div class="dsq-avatar dsq-tt" title="Expand Soren Macbeth's profile">      <a href="http://disqus.com/sorenmacbeth/" onclick="DISQUS.dtpl.actions.fire('profile.show', 17816391, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/uploads/users/11091/avatar32.jpg?1324404681" alt="">      </a>    </div>    <div id="dsq-comment-body-17816391" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://dopeness.org/" target="_blank" class="dsq-commenter-name" rel="nofollow">Soren Macbeth</a><span class="dsq-commenter-bio">, Chief Data Scientist @yieldbot. Co-founder of @StockTwits</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 17816391); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 17816391); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-17816391">                <div class="dsq-comment-text" id="dsq-comment-text-17816391">        <p>The
+ very first StockTwits prototype used R to generate some statistics as 
+well as generate charts of the stocks being talked about in tweets :)</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-17816391"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-17816391">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,17816391); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',17816391, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-17816391" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 17816391);" title="Link to comment by Soren Macbeth">          3 years ago      </a></li>              <li>          <a onclick="DISQUS.dtpl.actions.fire('comments.showParent', 17755101); return false" href="#comment-17755101" title="Jump to comment">            in reply to pskomoroch          </a>        </li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-17816391" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 17816391); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 17816391, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-17816391"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-17816391"></li>            <li id="comment-12186904">  </li><li id="dsq-comment-12186904" data-dsq-comment-id="12186904" class="dsq-comment dsq-clearfix        dsq-comment-is-parent                " style="margin-left:138px;">    <div class="dsq-avatar dsq-tt" title="Expand Andrew Lonie's profile">      <a href="http://disqus.com/guest/5420aa91d78af66fdcdbd0aebf91e653/" onclick="DISQUS.dtpl.actions.fire('profile.show', 12186904, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-12186904" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">Andrew Lonie</span>                <span class="dsq-collapsed-count">                      3 comments collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 12186904); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 12186904); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-12186904">                <div class="dsq-comment-text" id="dsq-comment-text-12186904">        <p>Thanks
+ - this is impressive, and a web interface for building clusters would 
+be very nice, but maybe I'm after something slightly closer to your 
+original solution. You might already know that R has an in-language 
+cluster support API built on Rmpi, called SNOW (Simple network of 
+workstations). It allows for various script commands like 
+clusterExport(data) and clusterApply(vector, function) which let you 
+interactively cluster jobs according to the parameter values in a list. <br>Would
+ this be compatible with your cluster app? I notice that it's more 
+schedule-focused and the nodes need to talk to the app; is the app 
+acting as the master rather than one of the ec2 nodes? Ideally my 
+architecture would be something like master Rmpi node running on ec2 
+talking to arbitrary slave #nodes, accessed through maybe something like
+ the Biocep remote R client (<a href="http://biocep-distrib.r-forge.r-project.org/%29;" rel="nofollow">http://biocep-distrib.r-forge....</a> clustering done in-session.</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-12186904"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-12186904">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,12186904); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',12186904, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-12186904" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 12186904);" title="Link to comment by Andrew Lonie">          3 years ago      </a></li>              <li>          <a onclick="DISQUS.dtpl.actions.fire('comments.showParent', 12182897); return false" href="#comment-12182897" title="Jump to comment">            in reply to pskomoroch          </a>        </li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-12186904" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 12186904); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 12186904, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-12186904"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-12186904"></li>            <li id="comment-12189262">  </li><li id="dsq-comment-12189262" data-dsq-comment-id="12189262" class="dsq-comment dsq-clearfix        dsq-comment-is-parent        dsq-moderator        dsq-founder" style="margin-left:184px;">    <div class="dsq-avatar dsq-tt" title="Expand pskomoroch's profile">      <a href="http://disqus.com/pskomoroch/" onclick="DISQUS.dtpl.actions.fire('profile.show', 12189262, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-12189262" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">pskomoroch</span>                <span class="dsq-collapsed-count">                      2 comments collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 12189262); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 12189262); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-12189262">                <div class="dsq-comment-text" id="dsq-comment-text-12189262">        <p>Yes,
+ this is compatible with the cluster app. One of the bundled examples 
+runs some calculations with R and SNOW, another uses Rmpi (see the code 
+on Github <a href="http://bit.ly/ocKCn" rel="nofollow">http://bit.ly/ocKCn</a> ).</p>
+
+<p>The web interface can be run anywhere, but needs to be https 
+accessible to the EC2 nodes.  I usually just run it as a small ec2 
+instance as shown in the docs.  You can start a job from the API or the 
+web console with shutdown_after_complete = false, and the cluster will 
+remain live for interactive work, just ssh into the master node like you
+ would with Elasticwulf.  The app is not acting as the MPI master node, 
+but the cluster nodes do talk to the app to handle configuration etc.</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-12189262"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-12189262">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,12189262); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',12189262, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-12189262" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 12189262);" title="Link to comment by pskomoroch">          3 years ago      </a></li>              <li>          <a onclick="DISQUS.dtpl.actions.fire('comments.showParent', 12186904); return false" href="#comment-12186904" title="Jump to comment">            in reply to Andrew Lonie          </a>        </li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-12189262" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 12189262); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 12189262, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-12189262"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-12189262"></li>            <li id="comment-12236004">  </li><li id="dsq-comment-12236004" data-dsq-comment-id="12236004" class="dsq-comment dsq-clearfix                        " style="margin-left:230px;">    <div class="dsq-avatar dsq-tt" title="Expand Andrew Lonie's profile">      <a href="http://disqus.com/guest/5420aa91d78af66fdcdbd0aebf91e653/" onclick="DISQUS.dtpl.actions.fire('profile.show', 12236004, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-12236004" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">Andrew Lonie</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 12236004); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 12236004); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-12236004">                <div class="dsq-comment-text" id="dsq-comment-text-12236004">        <p>OK thanks I understand. I'll try this out properly; it sounds like exactly what I'm after.</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-12236004"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-12236004">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,12236004); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',12236004, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-12236004" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 12236004);" title="Link to comment by Andrew Lonie">          3 years ago      </a></li>              <li>          <a onclick="DISQUS.dtpl.actions.fire('comments.showParent', 12189262); return false" href="#comment-12189262" title="Jump to comment">            in reply to pskomoroch          </a>        </li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-12236004" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 12236004); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 12236004, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-12236004"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-12236004"></li>            <li id="comment-11078419">  </li><li id="dsq-comment-11078419" data-dsq-comment-id="11078419" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Jeff Howbert's profile">      <a href="http://disqus.com/guest/9a9b88e0baa650e10edffc743d8a932c/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078419, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078419" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://www.insilicos.com/" target="_blank" class="dsq-commenter-name" rel="nofollow">Jeff Howbert</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078419); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078419); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078419">                <div class="dsq-comment-text" id="dsq-comment-text-11078419">        <p></p><p>Hello Pete -</p><br><p>Thanks
+ for putting together your ElsticWulf scripts and AMIs.  They have saved
+ me a huge amount of time and effort compared with building my own from 
+scratch.</p><br><p>I am interested in parallelizing some machine 
+learning algorithms written in R.  My interest in ElasticWulf comes 
+partly from the fact that R is already bundled with its AMIs.  I 
+discovered, however, that Rmpi is not one of the installed packages.  
+What were your intentions/plans with R in the ElasticWulf environment?  
+Did you plan for parallel communication using a mechanism other than 
+MPI?</p><br><p>It wasn't hard to install Rmpi on top of the ElasticWulf 
+AMI, but despite a couple of days' struggle, I haven't found a 
+combination of Rmpi version and paths to the AMI's existing MPI 
+libraries that fully works.  The best I've been able to do is spawn an R
+ cluster where all the nodes are running on the master node.</p><br><p>Could
+ you tell me what version of R and the various MPI implementations 
+(OpenMPI, MPICH, LAM) went into your 64-bit AMI?  That might help me 
+sort things out.  A couple of observations, for what they're worth:</p><br><p>1)
+ Once I have an ElasticWulf cluster up and have run mpdboot, I find that
+ mpiexec works, but orterun (the equivalent in OpenMPI) does not.</p><br><p>2) There has been at least one report of problems between the latest version of Rmpi and OpenMPI:</p><br><p><a href="https://stat.ethz.ch/pipermail/r-sig-hpc/2009-February/000105.html" rel="nofollow">https://stat.ethz.ch/pipermail...</a></p><br><p>Much thanks.</p><br><p>Jeff Howbert</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078419"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078419">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078419); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078419, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078419" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078419);" title="Link to comment by Jeff Howbert">          3 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078419" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078419); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078419, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078419"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078419"></li>            <li id="comment-11078418">  </li><li id="dsq-comment-11078418" data-dsq-comment-id="11078418" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Ben Racine's profile">      <a href="http://disqus.com/guest/73b18fbd0f1831f0816ff3d3bceffe89/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078418, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078418" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://www.glosten.com/" target="_blank" class="dsq-commenter-name" rel="nofollow">Ben Racine</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078418); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078418); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078418">                <div class="dsq-comment-text" id="dsq-comment-text-11078418">        <p></p><p>Hello,</p><br><p>I
+ get the same problem that Michael Creel was having.  I am able to start
+ the instances and get them "running" successfully, by pointing them to 
+my keypair with the KEYNAME variable, but I believe my KEY_LOCATION 
+variable in my <a href="http://ec2config.py/" rel="nofollow">EC2config.py</a> file must be causing the prompt for a password.</p><br><p>This is all per the default block of code in <a href="http://ec2config.py/" rel="nofollow">EC2config.py</a>:</p><p></p>
+
+<p>change this to your keypair location (see the EC2 getting started guide tutorial on using ec2-add-keypair)</p>
+
+<p></p><p>KEYNAME = "my_keypair"<br>KEY_LOCATION = "/Users/pskomoroch/id_rsa-gsg-keypair"</p><br><p>I
+ believe this requires me to go back through the "getting started 
+guide", but I just wanted to update my progress in case others are 
+seeing the same thing.</p><br><p>Many thanks for sharing your progress Peter!</p><br><p>Ben Racine</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078418"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078418">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078418); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078418, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078418" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078418);" title="Link to comment by Ben Racine">          3 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078418" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078418); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078418, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078418"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078418"></li>            <li id="comment-11078417">  </li><li id="dsq-comment-11078417" data-dsq-comment-id="11078417" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand ej's profile">      <a href="http://disqus.com/guest/204b597c385120b2d064489cc90bc7d3/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078417, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078417" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">ej</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078417); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078417); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078417">                <div class="dsq-comment-text" id="dsq-comment-text-11078417">        <p></p><p>@Pete - Feb08</p><br><blockquote><br><p>Can’t get the ec-mpi-config to work. Says list &gt;index out of range for mpi-externalnames[0] on &gt;line 108</p><br></blockquote><br><p>You are right - the output from ec2-describe-instances has changed. Do the following..</p><br><p>Change</p><br><p>machine_state.append(chunk[-1])</p><br><p>to</p><br><p>machine_state.append(chunk[5])</p><br><p>in "<a href="http://ec2-mpi-config.py/" rel="nofollow">ec2-mpi-config.py</a>"</p><br><p>Or,
+ if the output changes again - just do an "ec2-describe-instances" and 
+match up the required fields to the index on the chunk[] array</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078417"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078417">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078417); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078417, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078417" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078417);" title="Link to comment by ej">          3 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078417" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078417); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078417, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078417"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078417"></li>            <li id="comment-11078416">  </li><li id="dsq-comment-11078416" data-dsq-comment-id="11078416" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Pete's profile">      <a href="http://disqus.com/guest/742736902afc4e0926b96932ada8cbc1/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078416, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078416" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://www.datawrangling.com/" target="_blank" class="dsq-commenter-name" rel="nofollow">Pete</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078416); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078416); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078416">                <div class="dsq-comment-text" id="dsq-comment-text-11078416">        <p></p><p>Joanne,</p><br><p>Try
+ logging in and running your commands as "lamuser" instead of root.  The
+ default configuration assumes lamuser is running all commands.</p><br><p>$ ssh lamuser@ec2<a href="http://-72-44-46-78.z-2.compute-1.amazonaws.com/" rel="nofollow">-72-44-46-78.z-2.compute-1.ama...</a></p><br><p>See part 1 of the post for details on changing the configuration to run MPI as root.</p><br><p>-Pete</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078416"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078416">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078416); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078416, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078416" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078416);" title="Link to comment by Pete">          3 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078416" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078416); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078416, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078416"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078416"></li>            <li id="comment-11078415">  </li><li id="dsq-comment-11078415" data-dsq-comment-id="11078415" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand jjiyunlee's profile">      <a href="http://disqus.com/guest/01b0b00819049a0c83ec280ccb4e596a/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078415, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078415" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">jjiyunlee</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078415); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078415); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078415">                <div class="dsq-comment-text" id="dsq-comment-text-11078415">        <p></p><p>Hi,</p><br><p>Thanks
+ for your writeup! It's very helpful. I'm running into an error with 
+mpdtrace and was hoping for some of your insight into it. I am running 
+mpd as root, with one node for simplicity.</p><br><p>I can successfully start up mpd on the instance and "mpd &amp;":<br>root@...:/etc# mpdboot -n 1 -f mpd.hosts<br>root@...:/etc# mpd &amp;<br>[1] 2280</p><br><p>but "mpdtrace -l" gives me an error:<br>root@ip-10-251-143-0:/etc# mpdtrace -l<br>mpdtrace: unexpected msg from mpd=:{'error_msg': 'invalid secretword to root mpd'}:</p><br><p>I
+ have tried all pairwise combinations of having MPD_SECRETWORD= or 
+secretword= in ~/.mpd.conf and /etc/mpd.conf, all of which were set to 
+read/write for root only.</p><br><p>I also can't do "mpdallexit":<br>I can't mpdallexit:<br>root@...:~# mpdallexit<br>mpdallexit: mpd_uncaught_except_tb handling:<br>  : 'cmd'<br>    /usr/local/bin/mpich2-install/bin/mpdallexit  53  mpdallexit<br>        elif msg['cmd'] != 'mpdallexit_ack':<br>    /usr/local/bin/mpich2-install/bin/mpdallexit  59  <br>        mpdallexit()</p><br><p>I can also run mpdcheck as a server and have it listen for mpdcheck as a client from the same instance (in a different window).</p><br><p>Suggestions/help? I'd greatly appreciate any advice you have on this problem. Thanks --</p><br>&lt;ul&gt;<br>&lt;li&gt;Joanne&lt;/li&gt;<br>&lt;/ul&gt;<p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078415"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078415">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078415); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078415, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078415" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078415);" title="Link to comment by jjiyunlee">          3 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078415" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078415); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078415, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078415"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078415"></li>            <li id="comment-11078414">  </li><li id="dsq-comment-11078414" data-dsq-comment-id="11078414" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Tim Salimans's profile">      <a href="http://disqus.com/guest/d9e0ea5863a3cee8a31febd8494ca6e7/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078414, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078414" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">Tim Salimans</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078414); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078414); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078414">                <div class="dsq-comment-text" id="dsq-comment-text-11078414">        <p></p><p>Got it working using OpenSSH, guess PuTTy was the problem after all.</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078414"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078414">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078414); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078414, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078414" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078414);" title="Link to comment by Tim Salimans">          4 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078414" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078414); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078414, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078414"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078414"></li>            <li id="comment-11078413">  </li><li id="dsq-comment-11078413" data-dsq-comment-id="11078413" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Tim Salimans's profile">      <a href="http://disqus.com/guest/d9e0ea5863a3cee8a31febd8494ca6e7/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078413, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078413" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">Tim Salimans</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078413); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078413); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078413">                <div class="dsq-comment-text" id="dsq-comment-text-11078413">        <p></p><p>Great
+ project and thanks very much for sharing! I do have some trouble 
+getting it all to work though. Everything works fine until it tries to 
+run the <a href="http://create_hosts.py/" rel="nofollow">create_hosts.py</a>:</p><br><p>/////// OUTPUT ///////////////</p><br><p>Creating hosts file on master node and copying hosts file to compute nodes...</p><br><p>pscp -scp -i D:\grid\keys\keypair.ppk -q <a href="http://create_hosts.py/" rel="nofollow">create_hosts.py</a> root@ec2-67-202-19-253.<br><a href="http://compute-1.amazonaws.com/" rel="nofollow">compute-1.amazonaws.com</a>:/etc/</p><br><p>plink -ssh -i D:\grid\keys\keypair.ppk root@ec2-67-202-19-253.compute-1.amazonaw<br><a href="http://s.com/" rel="nofollow">s.com</a> "python /etc/<a href="http://create_hosts.py/" rel="nofollow">create_hosts.py</a>"</p><br><p>exporting 10.252.31.48:/home/beowulf<br>exporting 10.252.31.48:/mnt/data<br>@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<br>@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @<br>@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<br>Permissions 0644 for '/root/.ssh/id_rsa' are too open.<br>It is recommended that your private key files are NOT accessible by others.<br>This private key will be ignored.<br>bad permissions: ignore key: /root/.ssh/id_rsa<br>Permission denied, please try again.<br>Permission denied, please try again.<br>Permission denied (publickey,gssapi-with-mic,password).<br>lost connection<br>@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<br>@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @<br>@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<br>Permissions 0644 for '/root/.ssh/id_rsa' are too open.<br>It is recommended that your private key files are NOT accessible by others.<br>This private key will be ignored.<br>bad permissions: ignore key: /root/.ssh/id_rsa<br>Permission denied, please try again.<br>Permission denied, please try again.<br>Permission denied (publickey,gssapi-with-mic,password).<br>lost connection</p><br><p>etcetera</p><br><p>//////////////////////////////////</p><br><p>As
+ you can see I made some small modifications in order to use PuTTy as my
+ SSH client, but that does not seem to be the problem... Does anyone 
+else have this problem, and does anyone know how to fix it?</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078413"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078413">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078413); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078413, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078413" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078413);" title="Link to comment by Tim Salimans">          4 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078413" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078413); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078413, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078413"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078413"></li>            <li id="comment-11078412">  </li><li id="dsq-comment-11078412" data-dsq-comment-id="11078412" class="dsq-comment dsq-clearfix        dsq-comment-is-parent                " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Pete's profile">      <a href="http://disqus.com/guest/742736902afc4e0926b96932ada8cbc1/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078412, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078412" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://www.datawrangling.com/" target="_blank" class="dsq-commenter-name" rel="nofollow">Pete</a>                <span class="dsq-collapsed-count">                      4 comments collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078412); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078412); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078412">                <div class="dsq-comment-text" id="dsq-comment-text-11078412">        <p></p><p>Magg,</p><br><p>I
+ wouldn't recommend it, the latency would be huge and I'm not sure how 
+MPI would handle that.  You would also need to open the mpi ports to the
+ outside world using the EC2 security group authorize commands.</p><br><p>An
+ alternative is to open an X11 session and connect to the head node or 
+maybe VNC in to the instance.  The 64 bit elasticwulf images are set up 
+for X11 sessions and adding a desktop package would allow you to VNC in 
+if you prefer that route.</p><br><p>-Pete</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078412"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078412">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078412); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078412, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078412" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078412);" title="Link to comment by Pete">          4 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078412" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078412); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078412, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078412"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078412"></li>            <li id="comment-11662168">  </li><li id="dsq-comment-11662168" data-dsq-comment-id="11662168" class="dsq-comment dsq-clearfix        dsq-comment-is-parent                " style="margin-left:46px;">    <div class="dsq-avatar dsq-tt" title="Expand Abhimanyu's profile">      <a href="http://disqus.com/guest/a9e5f48763433c486e5ece186f823820/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11662168, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11662168" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">Abhimanyu</span>                <span class="dsq-collapsed-count">                      3 comments collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11662168); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11662168); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11662168">                <div class="dsq-comment-text" id="dsq-comment-text-11662168">        <p>I am facing the same problem. I am able to set up the ring manually but mpdboot complains:</p>
+
+<p>mpdboot_domU-blah(handle_mpd_output 414): from mpd on domU-blah-, <br>invalid port info:<br>no_port</p>
+
+<p>any word on this?<br></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11662168"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11662168">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11662168); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11662168, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11662168" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11662168);" title="Link to comment by Abhimanyu">          3 years ago      </a></li>              <li>          <a onclick="DISQUS.dtpl.actions.fire('comments.showParent', 11078412); return false" href="#comment-11078412" title="Jump to comment">            in reply to Pete          </a>        </li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11662168" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11662168); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11662168, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11662168"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11662168"></li>            <li id="comment-11779678">  </li><li id="dsq-comment-11779678" data-dsq-comment-id="11779678" class="dsq-comment dsq-clearfix                        " style="margin-left:92px;">    <div class="dsq-avatar dsq-tt" title="Expand Abhimanyu's profile">      <a href="http://disqus.com/guest/a9e5f48763433c486e5ece186f823820/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11779678, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11779678" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">Abhimanyu</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11779678); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11779678); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11779678">                <div class="dsq-comment-text" id="dsq-comment-text-11779678">        <p>I
+ found the problem. Apparently I had forgotten to include the "chown -R 
+user:user /home/user" command. It didnt have access to the id_rsa file. 
+As root mpdboot would work. Rather silly error message though.</p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11779678"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11779678">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11779678); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11779678, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11779678" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11779678);" title="Link to comment by Abhimanyu">          3 years ago      </a></li>              <li>          <a onclick="DISQUS.dtpl.actions.fire('comments.showParent', 11662168); return false" href="#comment-11662168" title="Jump to comment">            in reply to Abhimanyu          </a>        </li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11779678" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11779678); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11779678, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11779678"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11779678"></li>            <li id="comment-11662255">  </li><li id="dsq-comment-11662255" data-dsq-comment-id="11662255" class="dsq-comment dsq-clearfix                dsq-moderator        dsq-founder" style="margin-left:92px;">    <div class="dsq-avatar dsq-tt" title="Expand pskomoroch's profile">      <a href="http://disqus.com/pskomoroch/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11662255, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11662255" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">pskomoroch</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11662255); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11662255); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11662255">                <div class="dsq-comment-text" id="dsq-comment-text-11662255">        <p>I
+ think there are some SGE grid solutions now that allow you to add EC2 
+nodes to your existing cluster, but again the performance of MPI from a 
+local network to EC2 would be horrible...</p>
+
+<p>If you are interested in running MPI on EC2, I have a new project on Github I'll be announcing soon:</p>
+
+<p><a href="http://github.com/datawrangling/ec2cluster/tree/master" rel="nofollow">http://github.com/datawranglin...</a></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11662255"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11662255">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11662255); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11662255, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11662255" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11662255);" title="Link to comment by pskomoroch">          3 years ago      </a></li>              <li>          <a onclick="DISQUS.dtpl.actions.fire('comments.showParent', 11662168); return false" href="#comment-11662168" title="Jump to comment">            in reply to Abhimanyu          </a>        </li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11662255" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11662255); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11662255, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11662255"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11662255"></li>            <li id="comment-11078411">  </li><li id="dsq-comment-11078411" data-dsq-comment-id="11078411" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand magg's profile">      <a href="http://disqus.com/guest/1772205ff3fd5ccadfd54f60eb981bef/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078411, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078411" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">magg</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078411); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078411); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078411">                <div class="dsq-comment-text" id="dsq-comment-text-11078411">        <p></p><p>Hi Peter,</p><br><p>Have
+ you tried to connect EC2 instances with your local desktops? I am 
+trying to do that with mpich2 1.0.7 but I am not successful at all. 
+mpdboot complains about invalid port info (no_port) - actually no port 
+when I try to do mpdboot -n 2. Even when I tried to mpd&amp; on EC2 
+machine and then mpdtrace -l and then unblock the port and then mpd -h 
+ec2-blabla -p ec2-mpdtrace-l-port still I have no luck. Have you faced 
+similar problems?</p><br><p>Thanks<br>- magg</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078411"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078411">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078411); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078411, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078411" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078411);" title="Link to comment by magg">          4 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078411" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078411); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078411, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078411"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078411"></li>            <li id="comment-11078410">  </li><li id="dsq-comment-11078410" data-dsq-comment-id="11078410" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Pete's profile">      <a href="http://disqus.com/guest/742736902afc4e0926b96932ada8cbc1/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078410, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078410" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://www.datawrangling.com/" target="_blank" class="dsq-commenter-name" rel="nofollow">Pete</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078410); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078410); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078410">                <div class="dsq-comment-text" id="dsq-comment-text-11078410">        <p></p><p>@Theo,</p><br><p>I'm attending MMDS this week at Stanford (<a href="http://www.stanford.edu/group/mmds/" rel="nofollow">http://www.stanford.edu/group/mmds/</a>),
+ and had a chance to ask James Demmel a few questions.  He gave a talk 
+titled "Avoiding communication in linear algebra algorithms", which was 
+very relevant.  His advice for matrix multiplication in a high latency 
+environment like EC2 was to try dialing up the block size as much as 
+possible in the standard MPI solvers and see how performance was 
+affected.</p><br><p>-Pete</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078410"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078410">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078410); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078410, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078410" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078410);" title="Link to comment by Pete">          4 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078410" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078410); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078410, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078410"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078410"></li>            <li id="comment-11078409">  </li><li id="dsq-comment-11078409" data-dsq-comment-id="11078409" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Pete's profile">      <a href="http://disqus.com/guest/742736902afc4e0926b96932ada8cbc1/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078409, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078409" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://www.datawrangling.com/" target="_blank" class="dsq-commenter-name" rel="nofollow">Pete</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078409); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078409); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078409">                <div class="dsq-comment-text" id="dsq-comment-text-11078409">        <p></p><p>I found the secret to avoiding a lot of MPI errors on EC2, but haven't found time to do an additional post...</p><br><p>The
+ secret seems to be that just because Amazon says that an instance is 
+"running", doesn't mean that the ssh daemons are available.  This caused
+ all kinds of intermittent problems setting up the hosts and my old 
+scripts would fail silently.</p><br><p>In my current codebase, I do some checks like the following:</p><br><pre>    print "Instance is %s" % BOOTING_INSTANCE<br>    <br>    # wait for instance description to return "running" and grab HOSTNAME variable<br>    print "Polling server status (ec2-describe-instances %s)" % BOOTING_INSTANCE<br>    while 1:<br>      print "waiting for instance to boot..."<br>      HOSTNAME = commands.getoutput("ec2-describe-instances %s | grep running | awk '{print $4}'" % BOOTING_INSTANCE)<br>      if len(HOSTNAME) &gt; 1:<br>        print "-------Instance booted, The server is available at %s" % HOSTNAME<br>        DOM_NAME = commands.getoutput("ec2-describe-instances %s | grep running | awk '{print $5}'" % BOOTING_INSTANCE).split('.')[0]<br>        break<br>      time.sleep(1)    <br>    <br>    # sometimes it takes a while for the ssh service to start, even when the ec2 api describes an instance as running.<br>    # A machine in the "running" state may not have finished booting. Try executing a no-op command until a valid response is found<br>    print "verifying ssh daemon has started..."<br>    counter=0<br>    while 1:<br>      print "Waiting for ssh daemon to start..."<br>      counter += 1        <br>      REPLY = commands.getoutput('''ssh %s "root@%s" 'echo "hello"' ''' % (SSH_OPTS, HOSTNAME) )<br>      if REPLY == 'hello':<br>        print "-------ssh has started, proceeding with AMI build"<br>        break<br>      if counter &gt; 24:<br>        print "Instance not respoding to SSH hails, aborting..."<br>        ## sshd should not take more than 2 minutes to launch<br>        terminate_status = commands.getoutput('ec2-terminate-instances %s' % BOOTING_INSTANCE)<br>        ec2_launch_failed = True<br>        print "Base Instance terminated"<br>        break<br>      time.sleep(5)<br>    <br>    if ec2_launch_failed:<br>        print "Aborting build"<br>        return<br>    <p></p>
+
+<p></p></pre><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078409"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078409">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078409); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078409, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078409" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078409);" title="Link to comment by Pete">          4 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078409" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078409); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078409, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078409"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078409"></li>            <li id="comment-11078408">  </li><li id="dsq-comment-11078408" data-dsq-comment-id="11078408" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Patrick's profile">      <a href="http://disqus.com/guest/83624e3d53e8a4f77fb3638d69412224/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078408, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078408" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">Patrick</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078408); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078408); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078408">                <div class="dsq-comment-text" id="dsq-comment-text-11078408">        <p></p><p>Thanks, Peter.  The original <a href="http://ec2.py/" rel="nofollow">EC2.py</a> was the problem.  I now have the large AMIs up and running.  Thanks again for the article and help!</p><br><p>Patrick</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078408"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078408">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078408); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078408, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078408" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078408);" title="Link to comment by Patrick">          4 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078408" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078408); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078408, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078408"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078408"></li>            <li id="comment-11078407">  </li><li id="dsq-comment-11078407" data-dsq-comment-id="11078407" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Theo's profile">      <a href="http://disqus.com/guest/886f1df95cb2acd12d921ce12c253b0e/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078407, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/uploads/anonusers/211/1905/avatar32.jpg?1281549414" alt="">      </a>    </div>    <div id="dsq-comment-body-11078407" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://www.stillwater-sc.com/" target="_blank" class="dsq-commenter-name" rel="nofollow">Theo</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078407); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078407); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078407">                <div class="dsq-comment-text" id="dsq-comment-text-11078407">        <p></p><p>Peter:</p><br><p>I
+ am diving into Hadoop with Map/Reduce as we speak. As you know Google 
+implemented its environment in C++, so I was a bit disappointed that 
+Hadoop had chosen Java VM to do its bidding. Java makes interfacing with
+ hardcore numerical operations much harder. The particular problems I am
+ looking at are large scale Lanczos solvers to find eigen values/vectors
+ of large systems of equations. These systems are of interest in 
+advertising, quantitative finance, and sensor networks. Problem is that 
+they all are environments in which latency is of the essence. So you 
+have a capacity component in terms of the size of the system and a 
+latency issue in terms of the data rate coming in and the opportunity 
+cost for somebody to get to the answer faster.</p><br><p>I would be 
+interested in working on this particular benchmark problem: pick a big 
+eigen value/vector problem and solve it on a cluster, EC2, and via 
+Hadoop/Map-reduce. Clearly this is going to be a lot of work so this 
+should be publishing worthy. I am sure many folks would be interested in
+ this experiment, so let me know if this is something that could invest 
+time in.</p><br><p>Theo</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078407"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078407">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078407); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078407, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078407" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078407);" title="Link to comment by Theo">          4 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078407" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078407); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078407, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078407"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078407"></li>            <li id="comment-11078406">  </li><li id="dsq-comment-11078406" data-dsq-comment-id="11078406" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Pete's profile">      <a href="http://disqus.com/guest/742736902afc4e0926b96932ada8cbc1/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078406, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078406" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://www.datawrangling.com/" target="_blank" class="dsq-commenter-name" rel="nofollow">Pete</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078406); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078406); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078406">                <div class="dsq-comment-text" id="dsq-comment-text-11078406">        <p></p><p>Patrick,</p><br><p>Did you start with a clean install of the 64 bit scripts?  I made some changes to <a href="http://ec2.py/" rel="nofollow">EC2.py</a> in the new scripts to handle the new instance types...</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078406"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078406">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078406); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078406, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078406" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078406);" title="Link to comment by Pete">          4 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078406" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078406); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078406, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078406"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078406"></li>            <li id="comment-11078405">  </li><li id="dsq-comment-11078405" data-dsq-comment-id="11078405" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Patrick's profile">      <a href="http://disqus.com/guest/83624e3d53e8a4f77fb3638d69412224/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078405, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078405" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">Patrick</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078405); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078405); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078405">                <div class="dsq-comment-text" id="dsq-comment-text-11078405">        <p></p><p>Peter,</p><br><p>Very
+ useful tool!  I've gotten a cluster up and running using the small 
+instance type but am having difficulty launching the _64 AMIs.</p><br><p>$ ./<a href="http://ec2-start-cluster.py/" rel="nofollow">ec2-start-cluster.py</a><br>m1.large<br>image ami-eb13f682<br>master image ami-e813f681<br>----- starting master -----<br>Traceback (most recent call last):<br>  File "./<a href="http://ec2-start-cluster.py/" rel="nofollow">ec2-start-cluster.py</a>", line 39, in ?<br>
+    master_response = conn.run_instances(imageId=MASTER_IMAGE_ID, 
+minCount=1, maxCount=1, keyName= KEYNAME, instanceType=INSTANCE_TYPE )<br>TypeError: run_instances() got an unexpected keyword argument 'instanceType'</p><br><p>If I try to start the cluster without passing an INSTANCE_TYPE arg I get the following:<br>$ ./<a href="http://ec2-start-cluster.py/" rel="nofollow">ec2-start-cluster.py</a><br>m1.large<br>image ami-eb13f682<br>master image ami-e813f681<br>----- starting master -----<br>InvalidParameterValue:
+ The requested instance type's architecture (i386) does not match the 
+architecture in the manifest for ami-e813f681 (x86_64)<br>----- starting workers -----<br>InvalidParameterValue:
+ The requested instance type's architecture (i386) does not match the 
+architecture in the manifest for ami-eb13f682 (x86_64)</p><br><p>Any ideas?  Thanks!</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078405"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078405">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078405); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078405, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078405" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078405);" title="Link to comment by Patrick">          4 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078405" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078405); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078405, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078405"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078405"></li>            <li id="comment-11078404">  </li><li id="dsq-comment-11078404" data-dsq-comment-id="11078404" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Pete's profile">      <a href="http://disqus.com/guest/742736902afc4e0926b96932ada8cbc1/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078404, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078404" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://www.datawrangling.com/" target="_blank" class="dsq-commenter-name" rel="nofollow">Pete</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078404); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078404); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078404">                <div class="dsq-comment-text" id="dsq-comment-text-11078404">        <p></p><p>Raghav,</p><br><p>You can ssh in as root instead of lamuser, or compile the output file into your home directory.</p><br><p>Check out the new AMI and managment code:</p><br><p><a href="http://www.datawrangling.com/pycon-2008-elasticwulf-slides.html" rel="nofollow">http://www.datawrangling.com/pycon-2008-elasticwulf-slides.html</a></p><br><p>The
+ new AMI includes a preconfigured NFS mounted directory /home/beowulf.  
+If you compiled the file there, hellompi would be available on all 
+nodes.</p><br><p>Note that the new images default to the 'large' instance type which charges .40 cents/hour for each node.</p><br><p>-Pete</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078404"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078404">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078404); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078404, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078404" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078404);" title="Link to comment by Pete">          4 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078404" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078404); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078404, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078404"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078404"></li>            <li id="comment-11078403">  </li><li id="dsq-comment-11078403" data-dsq-comment-id="11078403" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand raghav's profile">      <a href="http://disqus.com/guest/02002de5d523ca7ae7a0b0f85b9da098/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078403, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078403" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">raghav</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078403); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078403); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078403">                <div class="dsq-comment-text" id="dsq-comment-text-11078403">        <p></p><p>i am trying to compile a simple c mpi file "hellompi.c" using the command:</p><br><blockquote><br><p>mpicc -o /usr/hellompi /usr/local/src/hellompi.c</p><br></blockquote><br><p>why does it give me the following error?</p><br><p>/usr/bin/ld: cannot open output file /usr/hellompi: Permission denied<br>collect2: ld returned 1 exit status</p><br><p>how do I get root priveledges?</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078403"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078403">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078403); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078403, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078403" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078403);" title="Link to comment by raghav">          4 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078403" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078403); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078403, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078403"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078403"></li>            <li id="comment-11078402">  </li><li id="dsq-comment-11078402" data-dsq-comment-id="11078402" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Kurt Grandis's profile">      <a href="http://disqus.com/kgrandis/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078402, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078402" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://kurtgrandis.com/blog" target="_blank" class="dsq-commenter-name" rel="nofollow">Kurt Grandis</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078402); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078402); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078402">                <div class="dsq-comment-text" id="dsq-comment-text-11078402">        <p></p><p>Thanks
+ Pete. I wish I had made the PyCon session, but these posts have been 
+very helpful. The cluster went up pretty quickly and I have already used
+ it to crunch a few minor data runs.<br>In setting everything up I also 
+ran into a similar problem as Raghav and ended up solving it in a 
+similar manner by forcing the -i credentials switch. I imagine it has 
+something to do with the way I configured and placed my certs.</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078402"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078402">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078402); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078402, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078402" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078402);" title="Link to comment by Kurt Grandis">          4 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078402" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078402); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078402, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078402"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078402"></li>            <li id="comment-11078401">  </li><li id="dsq-comment-11078401" data-dsq-comment-id="11078401" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand raghav's profile">      <a href="http://disqus.com/guest/02002de5d523ca7ae7a0b0f85b9da098/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078401, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078401" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">raghav</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078401); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078401); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078401">                <div class="dsq-comment-text" id="dsq-comment-text-11078401">        <p></p><p>Thanks pete. For your prompt reply!!</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078401"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078401">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078401); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078401, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078401" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078401);" title="Link to comment by raghav">          4 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078401" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078401); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078401, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078401"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078401"></li>            <li id="comment-11078400">  </li><li id="dsq-comment-11078400" data-dsq-comment-id="11078400" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand raghav's profile">      <a href="http://disqus.com/guest/02002de5d523ca7ae7a0b0f85b9da098/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078400, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078400" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">raghav</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078400); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078400); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078400">                <div class="dsq-comment-text" id="dsq-comment-text-11078400">        <p></p><p>Hey guys,<br>Actually I made a change in the <a href="http://ec2-mpi-cluster.py/" rel="nofollow">ec2-mpi-cluster.py</a> file. I have no clue about python and I dono why it worked but it worked.</p><br><p>I modified:</p><br><p>template = ssh -o "StrictHostKeyChecking no" %(user)s@%(host)s "%(cmd)s" <br>to<br>template = 'ssh -i "/home/id_rsa-gsg-keypair" %(user)s@%(host)s "%(cmd)s"</p><br><p>and</p><br><p>template = '%(cmd)s %(switches)s -o "StrictHostKeyChecking no" %(src)s %(user)s@%(host)s:%(dest)s'<br>to<br>template = '%(cmd)s %(switches)s -i "/home/id_rsa-gsg-keypair" %(src)s %(user)s@%(host)s:%(dest)s'</p><br><p>And it started working perfectly fine. I was able to log in to the master node and the pi problem executed perfectly fine.</p><br><p>Thanks a lot guys</p><br><p>Cheers,<br>Raghav</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078400"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078400">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078400); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078400, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078400" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078400);" title="Link to comment by raghav">          4 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078400" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078400); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078400, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078400"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078400"></li>            <li id="comment-11078399">  </li><li id="dsq-comment-11078399" data-dsq-comment-id="11078399" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Pete's profile">      <a href="http://disqus.com/guest/742736902afc4e0926b96932ada8cbc1/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078399, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078399" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://www.datawrangling.com/" target="_blank" class="dsq-commenter-name" rel="nofollow">Pete</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078399); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078399); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078399">                <div class="dsq-comment-text" id="dsq-comment-text-11078399">        <p></p><p>raghav,</p><br><p>Another suggestion is to make sure the instances are running with ./<a href="http://ec2-check-instances.py/" rel="nofollow">ec2-check-instances.py</a> and then retry the script, sometimes it takes a while for sshd to start up on EC2.</p><br><p>-Pete</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078399"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078399">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078399); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078399, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078399" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078399);" title="Link to comment by Pete">          4 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078399" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078399); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078399, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078399"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078399"></li>            <li id="comment-11078398">  </li><li id="dsq-comment-11078398" data-dsq-comment-id="11078398" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Pete's profile">      <a href="http://disqus.com/guest/742736902afc4e0926b96932ada8cbc1/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078398, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078398" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://www.datawrangling.com/" target="_blank" class="dsq-commenter-name" rel="nofollow">Pete</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078398); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078398); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078398">                <div class="dsq-comment-text" id="dsq-comment-text-11078398">        <p></p><p>raghav,</p><br><p>I assume you were able to start the instances with <a href="http://ec2-start-cluster.py/?" rel="nofollow">ec2-start-cluster.py?</a>
+  The text on the terminal is normal, but it shouldn't ask you for a 
+password (I should probably add a verbose option instead of streaming 
+out text by default). There was a path issue on windows with an earlier 
+version of the scripts, so that may be the problem.</p><br><p>If you send me the script version number from the README and/or terminal output, I can try to track down what is going on...</p><br><p>peter.skomoroch@gmail.com</p><br><p>-Pete</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078398"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078398">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078398); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078398, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078398" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078398);" title="Link to comment by Pete">          4 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078398" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078398); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078398, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078398"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078398"></li>            <li id="comment-11078397">  </li><li id="dsq-comment-11078397" data-dsq-comment-id="11078397" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand raghav's profile">      <a href="http://disqus.com/guest/02002de5d523ca7ae7a0b0f85b9da098/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078397, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078397" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">raghav</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078397); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078397); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078397">                <div class="dsq-comment-text" id="dsq-comment-text-11078397">        <p></p><p>Why does it ask me for a password when i try to run the <a href="http://ec2-mpi-config.py/" rel="nofollow">ec2-mpi-config.py</a> file.?<br>it says root@xxx password:<br>And I get a lot of text on the terminal when I try running the file.</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078397"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078397">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078397); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078397, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078397" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078397);" title="Link to comment by raghav">          4 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078397" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078397); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078397, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078397"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078397"></li>            <li id="comment-11078396">  </li><li id="dsq-comment-11078396" data-dsq-comment-id="11078396" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Pete's profile">      <a href="http://disqus.com/guest/742736902afc4e0926b96932ada8cbc1/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078396, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078396" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://www.datawrangling.com/" target="_blank" class="dsq-commenter-name" rel="nofollow">Pete</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078396); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078396); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078396">                <div class="dsq-comment-text" id="dsq-comment-text-11078396">        <p></p><p>No
+ problem, thanks for finding the typos.  These were meant to be some 
+quick hacks, but took on a life of their own after a while.</p><br><p>I found this worked for configuring LAM, I'll send you more details in an email...</p><br><p>The contents of bash_profile should be as follows:</p><br><pre> <br>-bash-3.1# more .bash_profile <br># .bash_profile<p></p>
+
+<p># Get the aliases and functions<br>if [ -f ~/.bashrc ]; then<br>        . ~/.bashrc<br>fi</p>
+
+<p># User specific environment and startup programs</p>
+
+<p>LAMRSH="ssh -x"<br>export LAMRSH</p>
+
+<p>LD_LIBRARY_PATH="/usr/local/lam-7.1.2/lib/"<br>export LD_LIBRARY_PATH</p>
+
+<p>MPICH_PORT_RANGE="2000:8000"<br>export MPICH_PORT_RANGE</p>
+
+<p>PATH=$PATH:$HOME/bin</p>
+
+<p>PATH=/usr/local/lam-7.1.2/bin:$PATH</p>
+
+<p>MANPATH=/usr/local/lam-7.1.2/man:$MANPATH</p>
+
+<p>export PATH<br>export MANPATH<br></p></pre><br><p>Launch the cluster on EC2 and try booting LAM manually:</p><br><pre>[lamuser@domU-12-31-33-00-04-4B ~]$ lamboot /etc/mpd.hosts<p></p>
+
+<p>[lamuser@domU-12-31-33-00-04-4B ~]$ lamnodes<br>n0      <a href="http://domu-12-31-33-00-04-4b.usma1.compute.amazonaws.com/" rel="nofollow">domU-12-31-33-00-04-4B.usma1.c...</a>:1:origin,this_node<br>n1      <a href="http://domu-12-31-33-00-03-35.usma1.compute.amazonaws.com/" rel="nofollow">domU-12-31-33-00-03-35.usma1.c...</a>:1:<br>n2      <a href="http://domu-12-31-33-00-03-3c.usma1.compute.amazonaws.com/" rel="nofollow">domU-12-31-33-00-03-3C.usma1.c...</a>:1:<br>n3      <a href="http://domu-12-31-34-00-00-55.usma2.compute.amazonaws.com/" rel="nofollow">domU-12-31-34-00-00-55.usma2.c...</a>:1:</p>
+
+<p>[lamuser@domU-12-31-33-00-04-4B ~]$ tping N -c3<br>  1 byte from 3 remote nodes and 1 local node: 0.039 secs<br>  1 byte from 3 remote nodes and 1 local node: 0.004 secs<br>  1 byte from 3 remote nodes and 1 local node: 0.002 secs<br></p></pre><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078396"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078396">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078396); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078396, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078396" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078396);" title="Link to comment by Pete">          4 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078396" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078396); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078396, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078396"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078396"></li>            <li id="comment-11078395">  </li><li id="dsq-comment-11078395" data-dsq-comment-id="11078395" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand pete's profile">      <a href="http://disqus.com/guest/b528e02034427715c686d1fa1a0906a9/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078395, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078395" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">pete</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078395); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078395); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078395">                <div class="dsq-comment-text" id="dsq-comment-text-11078395">        <p></p><p>Found
+ another typo too, ok I'm nit picking. In the stop-cluster script the 
+message says Stoping as opposed to stopping. A year ago when you first 
+posted this stuff you mentioned that the reason why the non-root user 
+was called lamuser was that the scripts were used for LAM in some 
+previous incarnation. Since I'm actually trying to use LAM, if you have 
+any LAM stuff around that might help me to iron out one or two problems I
+ still have.</p><br><p>Anyway, thanks again,<br>Pete</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078395"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078395">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078395); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078395, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078395" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078395);" title="Link to comment by pete">          4 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078395" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078395); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078395, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078395"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078395"></li>            <li id="comment-11078394">  </li><li id="dsq-comment-11078394" data-dsq-comment-id="11078394" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Pete's profile">      <a href="http://disqus.com/guest/742736902afc4e0926b96932ada8cbc1/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078394, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078394" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://www.datawrangling.com/" target="_blank" class="dsq-commenter-name" rel="nofollow">Pete</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078394); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078394); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078394">                <div class="dsq-comment-text" id="dsq-comment-text-11078394">        <p></p><p>pete
+ found the error... the image Ids he entered into the config module 
+inadvertently contained a capital letter.  This doesn’t cause any 
+problems for starting images since string case is ignored by Amazon. The
+ corresponding image id response string from AWS is always lowercase, so
+ the python script comparison on image ID string fails.</p><br><p>In the
+ next version of the scripts, I will handle upper/lowercase differences 
+in the ami strings.  For now, just make sure to use all lower case or 
+call the python .lower() method,</p><br><pre> <br>&gt;&gt;&gt; test = 'ami-fE9a7f97'<br>&gt;&gt;&gt; test.lower()<br>'ami-fe9a7f97'<br>&gt;&gt;&gt; <p></p>
+
+<p></p></pre><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078394"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078394">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078394); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078394, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078394" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078394);" title="Link to comment by Pete">          4 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078394" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078394); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078394, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078394"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078394"></li>            <li id="comment-11078393">  </li><li id="dsq-comment-11078393" data-dsq-comment-id="11078393" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand pete's profile">      <a href="http://disqus.com/guest/b528e02034427715c686d1fa1a0906a9/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078393, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078393" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">pete</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078393); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078393); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078393">                <div class="dsq-comment-text" id="dsq-comment-text-11078393">        <p></p><p>Can't get the ec-mpi-config to work. Says list index out of range for mpi-externalnames[0] on line 108<br>start cluster and check instances are OK so I think that python, EC, elementree<br>are OK<br>Any
+ ideas why? Has AWS changed the format of the response you're parsing 
+(yes I have had a look at the python code but since I haven't used 
+python before I can't see anything obvious to me)<br>BTW you have a typo in mpi config Numer of nodes as opposed to Number of nodes , it even shows in your example above.<br>Otherwise I like what you've done, I'd just like it to work for me.<br>Thanks,<br>Pete</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078393"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078393">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078393); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078393, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078393" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078393);" title="Link to comment by pete">          4 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078393" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078393); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078393, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078393"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078393"></li>            <li id="comment-11078392">  </li><li id="dsq-comment-11078392" data-dsq-comment-id="11078392" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Pete's profile">      <a href="http://disqus.com/guest/742736902afc4e0926b96932ada8cbc1/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078392, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078392" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://www.datawrangling.com/" target="_blank" class="dsq-commenter-name" rel="nofollow">Pete</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078392); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078392); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078392">                <div class="dsq-comment-text" id="dsq-comment-text-11078392">        <p></p><p>Theo,</p><br><p>Sorry
+ for the delay in posting this and responding.  I've been working on a 
+startup for the past 7 months and was in serious crunch mode.  Don't 
+read too much into the large gap in posts, it is just me working on this
+ as a side-project.  I  finished moving the blog to another host and 
+finally have some time to get back to the EC2 work.  This experience has
+ taught me to never name a series of blog posts "part 1 of N" :)</p><br><p>You
+ make some excellent points.  One thing that has changed since I wrote 
+the first post is that EC2 now offers larger 64bit machine images with 
+better I/O (you can provision an entire physical server and not be 
+limited by sharing network resources in the virtual instance).  I'd like
+ to see if this improves the network performance.  I'm giving a talk on 
+this in March, so I'm on the hook to have some benchmarks by then.</p><br><p>I
+ also agree on the mapreduce side.  For embarrassingly parallel 
+problems, hadoop on ec2 is potentially much more attractive...more 
+robust, easier for most people to program.  Ideally, I would like to do 
+some comparisons between the two approaches and run the numbers.</p><br><p>The
+ performance of an EC2 MPI cluster is definitely going to be worse than 
+your own custom hardware, but it still might fit certain niche 
+situations.  In my case, I needed to run some MPI code for a large 
+problem and didn't have access to a large enough cluster.  The 
+performance on EC2 was nowhere near what you get on a high-end cluster, 
+but it got the job done for a reasonable price.</p><br><p>This discussion on the beowulf list goes into more detail on the pros/cons:</p><br><p><a href="http://www.beowulf.org/pipermail/beowulf/2008-January/020490.html" rel="nofollow">http://www.beowulf.org/pipermail/beowulf/2008-January/020490.html</a></p><br><p>-Pete</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078392"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078392">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078392); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078392, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078392" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078392);" title="Link to comment by Pete">          4 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078392" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078392); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078392, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078392"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078392"></li>            <li id="comment-11078391">  </li><li id="dsq-comment-11078391" data-dsq-comment-id="11078391" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Theo's profile">      <a href="http://disqus.com/guest/886f1df95cb2acd12d921ce12c253b0e/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078391, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/uploads/anonusers/211/1905/avatar32.jpg?1281549414" alt="">      </a>    </div>    <div id="dsq-comment-body-11078391" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://www.stillwater-sc.com/" target="_blank" class="dsq-commenter-name" rel="nofollow">Theo</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078391); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078391); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078391">                <div class="dsq-comment-text" id="dsq-comment-text-11078391">        <p></p><p>Does the 5 month hiatus in this project mean that it was a bad idea and you guys have learnt enough to waste no more time on it?</p><br><p>Given
+ the virtualization uncertainty, finding the right 
+communication/computation balance for typical MPI programs appears to be
+ very unrewarding. Secondly, MPI development and debug and then QA and 
+scale out are not addressed, which doesn't bode well. It appears most 
+productive to have a local small cluster for development and debug, and 
+then do QA and scale out on EC2, but some benchmarking numbers would 
+really help.</p><br><p>If EC2 is only robust for embarrassingly parallel
+ problems, then MapReduce style programs are more attractive. There the 
+size of the data set and how well it integrates in a distributed file 
+system appear to be the problems to focus on. Or BOINC like approaches 
+if there is no integrated DFS. Anyone have operational data on these 
+approaches?</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078391"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078391">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078391); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078391, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078391" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078391);" title="Link to comment by Theo">          4 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078391" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078391); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078391, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078391"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078391"></li>            <li id="comment-11078390">  </li><li id="dsq-comment-11078390" data-dsq-comment-id="11078390" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Patrick Ball's profile">      <a href="http://disqus.com/guest/0fdece3deaec55811c57381701e800d1/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078390, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078390" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">Patrick Ball</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078390); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078390); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078390">                <div class="dsq-comment-text" id="dsq-comment-text-11078390">        <p></p><p></p><br><p>the first two parts really set the stage ... Part 3?</p><br><p>:)</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078390"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078390">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078390); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078390, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078390" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078390);" title="Link to comment by Patrick Ball">          4 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078390" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078390); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078390, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078390"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078390"></li>            <li id="comment-11078389">  </li><li id="dsq-comment-11078389" data-dsq-comment-id="11078389" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Soo..'s profile">      <a href="http://disqus.com/guest/a652f3e673b4f32fe71b9aa9c63b39d9/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078389, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078389" class="dsq-comment-body">      <div class="dsq-comment-header">        <span class="dsq-commenter-name">Soo..</span>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078389); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078389); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078389">                <div class="dsq-comment-text" id="dsq-comment-text-11078389">        <p></p><p>What about that Part 3?  :)</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078389"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078389">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078389); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078389, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078389" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078389);" title="Link to comment by Soo..">          5 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078389" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078389); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078389, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078389"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078389"></li>            <li id="comment-11078388">  </li><li id="dsq-comment-11078388" data-dsq-comment-id="11078388" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Pete's profile">      <a href="http://disqus.com/guest/742736902afc4e0926b96932ada8cbc1/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078388, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078388" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://www.datawrangling.com/" target="_blank" class="dsq-commenter-name" rel="nofollow">Pete</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078388); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078388); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078388">                <div class="dsq-comment-text" id="dsq-comment-text-11078388">        <p></p><p>Update (7-24-07): I’ve made some important bug fixes to the scripts to address issues mentioned in the comments.</p><br><p>Specific changes made:</p><br>&lt;ul&gt;<br>&lt;li&gt;fixed lamuser home directory permissions bug&lt;/li&gt;<br>&lt;li&gt;fixed section of <a href="http://ec2-mpi-config.py/" rel="nofollow">ec2-mpi-config.py</a> which clobbered existing rsa keys on the client machine&lt;/li&gt;<br>&lt;li&gt;Updated calls of AWS python EC2 library to use API version 2007-01-19<br><a href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=552&amp;categoryID=85" rel="nofollow">http://developer.amazonwebserv...</a>&lt;/li&gt;<br>&lt;li&gt;fixed mpdboot issue by using amazon internal DNS names in hosts files&lt;/li&gt;<br>&lt;li&gt;scripts should now work on windows/cygwin client environments&lt;/li&gt;<br>&lt;/ul&gt;<br><p>After
+ I run some benchmarks, I'm hoping to find some time to add LAM and 
+OpenMPI to the EC2 image along with NFS configuration, C3 cluster tools,
+ Ganglia, and a benchmarking package.</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078388"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078388">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078388); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078388, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078388" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078388);" title="Link to comment by Pete">          5 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078388" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078388); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078388, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078388"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078388"></li>            <li id="comment-11078387">  </li><li id="dsq-comment-11078387" data-dsq-comment-id="11078387" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Pete's profile">      <a href="http://disqus.com/guest/742736902afc4e0926b96932ada8cbc1/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078387, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078387" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://www.datawrangling.com/" target="_blank" class="dsq-commenter-name" rel="nofollow">Pete</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078387); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078387); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078387">                <div class="dsq-comment-text" id="dsq-comment-text-11078387">        <p></p><p>Ralph,</p><br><p>More
+ good points. I've been tied up with some other projects, but it sounds 
+like enough feedback is in to make a revised version of the image and 
+scripts. I expect the latency to vary a bit depending on the random EC2 
+network topology when a cluster is launched...(instances on the same box
+ vs. over ethernet) that might explain the ringtest.  The mutual ssh 
+access was set up since we do a lot of file/data shuffling between nodes
+ outside of MPI.</p><br><p>Thanks again, looking forward to hearing how the regression test system works out.</p><br><p>-Pete</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078387"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078387">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078387); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078387, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078387" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078387);" title="Link to comment by Pete">          5 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078387" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078387); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078387, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078387"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078387"></li>            <li id="comment-11078386">  </li><li id="dsq-comment-11078386" data-dsq-comment-id="11078386" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Ralph Giles's profile">      <a href="http://disqus.com/guest/ba607955ce29fde652c179bbe9710f63/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078386, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078386" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://advogato.org/person/rillian" target="_blank" class="dsq-commenter-name" rel="nofollow">Ralph Giles</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078386); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078386); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078386">                <div class="dsq-comment-text" id="dsq-comment-text-11078386">        <p></p><p>Yeah, that would work better. Some more detailed comments:</p><br>&lt;ul&gt;<br>&lt;li&gt;<p>Your image has /home/lamuser/.mpd.conf owned by root. I had to chown it to lamuser before I could start mpd.</p>&lt;/li&gt;<br>&lt;li&gt;<p>You
+ script passes the public dns names for the nodes into mpd.hosts. For 
+that to work, a hole has to be opened in the firewall for the ports the 
+mpi daemon is using. A simpler solution is to just pass the internal dns
+ names. Then all the traffic happens behind the firewall, which probably
+ also improves latency. (Although my ringtest was noticably slower than 
+yours, averaging 2.2e-3 seconds/loop so who knows?)</p>&lt;/li&gt;<br>&lt;li&gt;<p>I
+ was surprised that when I originally ran ec2-add-keypair in the EC2 
+tutorial that it uploaded the public key (ok) and printed out the 
+private key (ok I guess) but didn't print out the public key locally 
+(weird). Your scripts seem to assume the public key is available as 
+id_rsa.pub on the client machine. Shouldn't this first be copied either 
+from /root/.ssh/authorized_keys on the master node (as installed by 
+amazon) or retrieved through the query interface?</p>&lt;/li&gt;<br>&lt;/ul&gt;<br><p>Is
+ the mutual ssh access required for more than just launching the MPI 
+daemon? If all subsequent traffic goes through the mpi daemons, starting
+ mpd from the client machine, or automatically from the init scripts 
+after pulling mpd.hosts from S3 would save the whole trouble, including 
+uploading the private key at all.</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078386"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078386">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078386); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078386, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078386" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078386);" title="Link to comment by Ralph Giles">          5 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078386" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078386); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078386, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078386"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078386"></li>            <li id="comment-11078385">  </li><li id="dsq-comment-11078385" data-dsq-comment-id="11078385" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Pete's profile">      <a href="http://disqus.com/guest/742736902afc4e0926b96932ada8cbc1/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078385, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078385" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://www.datawrangling.com/" target="_blank" class="dsq-commenter-name" rel="nofollow">Pete</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078385); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078385); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078385">                <div class="dsq-comment-text" id="dsq-comment-text-11078385">        <p></p><p>Ralph,</p><br><p>Good catch.  Thanks for pointing that out. I just lifted those passwordless ssh lines straight from an <a href="http://www.google.com/search?hl=en&amp;safe=off&amp;client=firefox-a&amp;rls=org.mozilla%3Aen-US%3Aofficial&amp;hs=b16&amp;q=cp+id_rsa.pub+password++ssh+mpi+id_rsa&amp;btnG=Search" rel="nofollow">MPI tutorial</a>.</p><br><p>This might solve the clobbering as well (from <a href="http://www.maclife.com/forums/topic/61520" rel="nofollow">http://www.maclife.com/forums/topic/61520</a>):</p><br><p><code>cat id_rsa.pub &gt;&gt; .ssh/authorized_keys</code></p><br><p>"The
+ above command will create the "authorized_keys" file in the ".ssh" 
+directory if that file doesn't already exist, and it will append the new
+ id_rsa.pub file to it if it does already exist."</p><br><p>I'll add 
+that change to the scripts.  Good luck with the regression cluster, I 
+heard Oracle developers do something like that using Condor on otherwise
+ idle desktops (see <a href="http://www.cs.wisc.edu/condor/doc/nmi-lisa2006-slides.pdf" rel="nofollow">http://www.cs.wisc.edu/condor/doc/nmi-lisa2006-slides.pdf</a>).</p><br><p>-Pete</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078385"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078385">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078385); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078385, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078385" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078385);" title="Link to comment by Pete">          5 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078385" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078385); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078385, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078385"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078385"></li>            <li id="comment-11078384">  </li><li id="dsq-comment-11078384" data-dsq-comment-id="11078384" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Ralph Giles's profile">      <a href="http://disqus.com/guest/ba607955ce29fde652c179bbe9710f63/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078384, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078384" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://advogato.org/person/rillian" target="_blank" class="dsq-commenter-name" rel="nofollow">Ralph Giles</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078384); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078384); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078384">                <div class="dsq-comment-text" id="dsq-comment-text-11078384">        <p></p><p>===== DO NOT USE THESE SCRIPTS! =====</p><br><p>This section of <a href="http://ec2-mpi-config.py/" rel="nofollow">ec2-mpi-config.py</a> is a bit problematic:</p><br><p>os.system('cp %s ~/id_rsa.pub' % KEY_LOCATION )<br>os.system('cp ~/id_rsa.pub ~/.ssh/id_rsa')</p><br><p>This
+ will clobber any existing rsa key on the initiating machine's account, 
+and with break normal auth on the next login if you have a different 
+default rsa key!</p><br><p>The script should instead copy the private key directly from KEY_LOCATION to the nodes.</p><br><p>===== DO NOT USE THESE SCRIPTS! =====</p><br><p>Otherwise,
+ way cool. Thanks for putting this tutorial together. We're trying EC2 
+clusters out as a way to get quicker feedback from regression tests 
+after changes to our software. Unfortunately, with the one hour 
+granularity I don't think it will be price competitive. We want 20-100 
+nodes for about 5 minutes at a time.</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078384"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078384">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078384); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078384, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078384" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078384);" title="Link to comment by Ralph Giles">          5 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078384" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078384); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078384, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078384"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078384"></li>            <li id="comment-11078383">  </li><li id="dsq-comment-11078383" data-dsq-comment-id="11078383" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Pete's profile">      <a href="http://disqus.com/guest/742736902afc4e0926b96932ada8cbc1/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078383, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078383" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://www.datawrangling.com/" target="_blank" class="dsq-commenter-name" rel="nofollow">Pete</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078383); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078383); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078383">                <div class="dsq-comment-text" id="dsq-comment-text-11078383">        <p></p><p>Mike
+ Cariaso modified my scripts to fix some path issues and got it working 
+on a windows laptop, he might have also fixed some other errors I didn't
+ notice.  I haven't had a chance to try them yet, but you can download 
+the modified scripts here:</p><br><p><a href="http://mpiblast.pbwiki.com/AmazonEC2" rel="nofollow">http://mpiblast.pbwiki.com/AmazonEC2</a></p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078383"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078383">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078383); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078383, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078383" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078383);" title="Link to comment by Pete">          5 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078383" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078383); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078383, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078383"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078383"></li>            <li id="comment-11078382">  </li><li id="dsq-comment-11078382" data-dsq-comment-id="11078382" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Michael Creel's profile">      <a href="http://disqus.com/guest/464cf568b5b1dc355cd4dc676d32dda6/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078382, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078382" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://pareto.uab.es/mcreel/blog.html" target="_blank" class="dsq-commenter-name" rel="nofollow">Michael Creel</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078382); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078382); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078382">                <div class="dsq-comment-text" id="dsq-comment-text-11078382">        <p></p><p>Yep,
+ I run the mpi-config script right after creating the instances, doing 
+just what you suggest. The fact that the instances start up at all seems
+ to me to mean that the keypair information is ok. Do you know if anyone
+ but you has been able to launch a cluster? Very cool stuff. I'm going 
+to be looking into making a Debian AMI that works the same way.</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078382"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078382">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078382); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078382, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078382" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078382);" title="Link to comment by Michael Creel">          5 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078382" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078382); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078382, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078382"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078382"></li>            <li id="comment-11078381">  </li><li id="dsq-comment-11078381" data-dsq-comment-id="11078381" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Pete's profile">      <a href="http://disqus.com/guest/742736902afc4e0926b96932ada8cbc1/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078381, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078381" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://www.datawrangling.com/" target="_blank" class="dsq-commenter-name" rel="nofollow">Pete</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078381); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078381); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078381">                <div class="dsq-comment-text" id="dsq-comment-text-11078381">        <p></p><p>Michael,</p><br><p>I
+ haven't had the scripts prompt me for a password before, are you 
+running them from your local machine? The mpi-config script expects the 
+keyname and keypair location to match what was used to start the 
+instance.  Take a look at your <a href="http://ec2config.py/" rel="nofollow">EC2config.py</a>
+ file and make sure the instances were all started with your own keypair
+ (i used the gsg keypair I created on my laptop in the Amazon "getting 
+started guide" tutorial):</p><br><p><br><br></p><br><p>AWS_ACCESS_KEY_ID = ‘YOUR_KEY_ID_HERE’<br>AWS_SECRET_ACCESS_KEY = ‘YOUR_KEY_HERE’<br>MASTER_IMAGE_ID = "ami-3e836657"<br>IMAGE_ID = "ami-3e836657"<br>KEYNAME = "gsg-keypair"<br>KEY_LOCATION = "~/id_rsa-gsg-keypair"<br>DEFAULT_CLUSTER_SIZE = 5</p><br><p><br><br></p><br><p>I'm
+ working on an updated version of the scripts and EC2 image which should
+ make things a bit cleaner.  Sorry the code is ugly right now in terms 
+of error handling...I just wanted to toss something together to get 
+people started :)</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078381"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078381">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078381); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078381, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078381" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078381);" title="Link to comment by Pete">          5 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078381" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078381); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078381, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078381"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078381"></li>            <li id="comment-11078380">  </li><li id="dsq-comment-11078380" data-dsq-comment-id="11078380" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Michael Creel's profile">      <a href="http://disqus.com/guest/464cf568b5b1dc355cd4dc676d32dda6/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078380, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078380" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://pareto.uab.es/mcreel/blog.html" target="_blank" class="dsq-commenter-name" rel="nofollow">Michael Creel</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078380); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078380); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078380">                <div class="dsq-comment-text" id="dsq-comment-text-11078380">        <p></p><p>A little report on my trial.<br>1) ./<a href="http://ec2-start_cluster.py/" rel="nofollow">ec2-start_cluster.py</a>
+ is not always successful in getting the requested number of nodes to 
+come up. The instances sometimes have status "terminated" before 
+anything is done with them.</p><br><p>2) When the 5 nodes all come up, I still get a problem with ./<a href="http://ec2-mpi-config.py/" rel="nofollow">ec2-mpi-config.py</a> requesting a root password:</p><br><p>michael@yosemite:~/ec2/AmazonEC2_MPI_scripts$ ./<a href="http://ec2-mpi-config.py/" rel="nofollow">ec2-mpi-config.py</a></p><br><p>---- MPI Cluster Details ----<br>Numer of nodes = 5<br>Instance= i-e39c7a8a hostname= <a href="http://ec2-72-44-45-138.z-2.compute-1.amazonaws.com/" rel="nofollow">ec2-72-44-45-138.z-2.compute-1...</a> state= running<br>Instance= i-e29c7a8b hostname= <a href="http://ec2-72-44-45-185.z-2.compute-1.amazonaws.com/" rel="nofollow">ec2-72-44-45-185.z-2.compute-1...</a> state= running<br>Instance= i-e59c7a8c hostname= <a href="http://ec2-72-44-45-186.z-2.compute-1.amazonaws.com/" rel="nofollow">ec2-72-44-45-186.z-2.compute-1...</a> state= running<br>Instance= i-e49c7a8d hostname= <a href="http://ec2-72-44-45-122.z-2.compute-1.amazonaws.com/" rel="nofollow">ec2-72-44-45-122.z-2.compute-1...</a> state= running<br>Instance= i-e79c7a8e hostname= <a href="http://ec2-72-44-45-60.z-2.compute-1.amazonaws.com/" rel="nofollow">ec2-72-44-45-60.z-2.compute-1....</a> state= running</p><br><p>The master node is <a href="http://ec2-72-44-45-138.z-2.compute-1.amazonaws.com/" rel="nofollow">ec2-72-44-45-138.z-2.compute-1...</a></p><br><p>Writing out mpd.hosts file<br>nslookup <a href="http://ec2-72-44-45-138.z-2.compute-1.amazonaws.com/" rel="nofollow">ec2-72-44-45-138.z-2.compute-1...</a><br>(0, 'Server:\t\t158.109.0.1\nAddress:\t158.109.0.1#53\n\nNon-authoritative answer:\nName:\<a href="http://tec2-72-44-45-138.z-2.compute-1.amazonaws.com/" rel="nofollow">tec2-72-44-45-138.z-2.compute-...</a>\nAddress: 72.44.45.138\n')<br>nslookup <a href="http://ec2-72-44-45-185.z-2.compute-1.amazonaws.com/" rel="nofollow">ec2-72-44-45-185.z-2.compute-1...</a><br>(0, 'Server:\t\t158.109.0.1\nAddress:\t158.109.0.1#53\n\nNon-authoritative answer:\nName:\<a href="http://tec2-72-44-45-185.z-2.compute-1.amazonaws.com/" rel="nofollow">tec2-72-44-45-185.z-2.compute-...</a>\nAddress: 72.44.45.185\n')<br>nslookup <a href="http://ec2-72-44-45-186.z-2.compute-1.amazonaws.com/" rel="nofollow">ec2-72-44-45-186.z-2.compute-1...</a><br>(0, 'Server:\t\t158.109.0.1\nAddress:\t158.109.0.1#53\n\nNon-authoritative answer:\nName:\<a href="http://tec2-72-44-45-186.z-2.compute-1.amazonaws.com/" rel="nofollow">tec2-72-44-45-186.z-2.compute-...</a>\nAddress: 72.44.45.186\n')<br>nslookup <a href="http://ec2-72-44-45-122.z-2.compute-1.amazonaws.com/" rel="nofollow">ec2-72-44-45-122.z-2.compute-1...</a><br>(0, 'Server:\t\t158.109.0.1\nAddress:\t158.109.0.1#53\n\nNon-authoritative answer:\nName:\<a href="http://tec2-72-44-45-122.z-2.compute-1.amazonaws.com/" rel="nofollow">tec2-72-44-45-122.z-2.compute-...</a>\nAddress: 72.44.45.122\n')<br>nslookup <a href="http://ec2-72-44-45-60.z-2.compute-1.amazonaws.com/" rel="nofollow">ec2-72-44-45-60.z-2.compute-1....</a><br>(0, 'Server:\t\t158.109.0.1\nAddress:\t158.109.0.1#53\n\nNon-authoritative answer:\nName:\<a href="http://tec2-72-44-45-60.z-2.compute-1.amazonaws.com/" rel="nofollow">tec2-72-44-45-60.z-2.compute-1...</a>\nAddress: 72.44.45.60\n')<br>Warning: Permanently added '<a href="http://ec2-72-44-45-138.z-2.compute-1.amazonaws.com/" rel="nofollow">ec2-72-44-45-138.z-2.compute-1...</a>,72.44.45.138' (RSA) to the list of known hosts.<br>id_rsa.pub                                                                             100% 1675     1.6KB/s   00:00<br>root@ec2<a href="http://-72-44-45-138.z-2.compute-1.amazonaws.com/" rel="nofollow">-72-44-45-138.z-2.compute-1.am...</a>'s password:</p><br><p>This is as far as I can get at the moment. Looks like a minor problem. Cheers, M.</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078380"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078380">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078380); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078380, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078380" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078380);" title="Link to comment by Michael Creel">          5 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078380" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078380); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078380, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078380"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078380"></li>            <li id="comment-11078379">  </li><li id="dsq-comment-11078379" data-dsq-comment-id="11078379" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Michael Creel's profile">      <a href="http://disqus.com/guest/464cf568b5b1dc355cd4dc676d32dda6/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078379, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078379" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://pareto.uab.es/mcreel/blog.html" target="_blank" class="dsq-commenter-name" rel="nofollow">Michael Creel</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078379); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078379); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078379">                <div class="dsq-comment-text" id="dsq-comment-text-11078379">        <p></p><p>One question, do you know if something like an NFS shared home directory is possible. Using S3, possibly?</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078379"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078379">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078379); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078379, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078379" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078379);" title="Link to comment by Michael Creel">          5 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078379" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078379); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078379, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078379"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078379"></li>            <li id="comment-11078378">  </li><li id="dsq-comment-11078378" data-dsq-comment-id="11078378" class="dsq-comment dsq-clearfix                        " style="margin-left:0px;">    <div class="dsq-avatar dsq-tt" title="Expand Michael Creel's profile">      <a href="http://disqus.com/guest/464cf568b5b1dc355cd4dc676d32dda6/" onclick="DISQUS.dtpl.actions.fire('profile.show', 11078378, null); return false">        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/noavatar32.png" class="dsq-deferred-avatar" data-src="http://mediacdn.disqus.com/1349483138/images/noavatar32.png" alt="">      </a>    </div>    <div id="dsq-comment-body-11078378" class="dsq-comment-body">      <div class="dsq-comment-header">        <a href="http://pareto.uab.es/mcreel/blog.html" target="_blank" class="dsq-commenter-name" rel="nofollow">Michael Creel</a>                <span class="dsq-collapsed-count">                      1 comment collapsed                  </span>                <a href="#" class="dsq-collapse-toggle dsq-collapse" title="Collapse thread" onclick="DISQUS.dtpl.actions.fire('comments.collapse', 11078378); return false;"><span>Collapse</span></a>        <a href="#" class="dsq-collapse-toggle dsq-expand" title="Expand thread" onclick="DISQUS.dtpl.actions.fire('comments.expand', 11078378); return false;"><span>Expand</span></a>      </div>        <div class="dsq-comment-message" id="dsq-comment-message-11078378">                <div class="dsq-comment-text" id="dsq-comment-text-11078378">        <p></p><p>Excellent
+ stuff! I've gotten started with EC2 and I'll be trying your images out 
+soon. I doubt that I'll be trying to make ParallelKnoppix work on EC2, 
+because your approach is the right one, I think. PK is designed to use 
+when the hardware is not known ahead of time. With EC2, the hardware is 
+known, so a tailor-made image is the way to go. Your scripts allow an 
+on-demand cluster to be created in minutes, and that's all that PK 
+offers, anyway. PK usually needs some remastering so that users can add 
+their own packages. Re-bundling an EC2 image is completely analogous. 
+I'm planning on doing just that, probably starting with your images, and
+ doing some testing of latency on tasks that require different degrees 
+of internode communication. Thanks for all this, it'll make the rest an 
+easy job.</p><p></p>      </div>                        </div>            <!-- edit box dynamically inserted here -->      <div id="dsq-append-edit-11078378"></div>        <div class="dsq-comment-footer">    <ul class="dsq-comment-actions">              <li id="dsq-like-11078378">          <span class="dsq-like-thumb dsq-font">A</span>          <a href="#" onclick="DISQUS.dtpl.actions.fire('comments.like', this,11078378); return false">Like</a>        </li>                          <li>          <a href="#" class="dsq-comment-reply" onclick="DISQUS.dtpl.actions.fire('comments.reply',11078378, this); return false">Reply</a>        </li>         </ul>    <ul class="dsq-comment-meta">      <li>  <a href="#comment-11078378" onclick="DISQUS.dtpl.actions.fire('comments.permalink', 11078378);" title="Link to comment by Michael Creel">          5 years ago      </a></li>            <li style="display:none">          <a href="#" id="dsq-comment-like-count-11078378" class="dsq-comment-like-count" onclick="return DISQUS.dtpl.actions.fire('comments.showUserVotes', 11078378); return false">0          Like      </a>      </li>              <li class="dsq-comment-flag" style="visibility: hidden">          <a href="#" class="dsq-comment-flag dsq-font" onclick="return DISQUS.dtpl.actions.fire('comments.report', 11078378, false);">F</a>        </li>          </ul>  </div>      <!-- reply box dynamically inserted here -->      <div id="dsq-append-reply-11078378"></div>    </div>  </li>  <!-- new replies dynamically inserted here -->  <li id="dsq-append-post-11078378"></li>      </ul>        <div id="dsq-pagination">      <ul id="dsq-footer" class="dsq-clearfix">        <div id="dsq-subscribe">            <li>      <a href="#" class="dsq-subscribe-email" onclick="return DISQUS.dtpl.actions.fire('thread.subscribe');">        <span class="dsq-font">M</span> <em>Subscribe by email</em>      </a>    </li>    <li>    <a href="http://datawranglingblog.disqus.com/mpi_cluster_with_python_and_amazon_ec2_part_2_of_3/latest.rss" class="dsq-subscribe-rss">      <span class="dsq-font">S</span> <em>RSS</em>    </a>  </li>    </div>  </ul>    </div>          <h3 class="dsq-h3-reactions">Reactions</h3>    <ul id="dsq-reactions" class="dsq-reactions dsq-clearfix">                <li id="dsq-reaction-12269320">    <div class="dsq-reaction-avatar dsq-avatar dsq-tt" data-dsq-content-id="dsq-reaction-tooltip-12269320">                    <a target="_blank" href="http://twitter.com/mndoci/status/3229425239">                    <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/3719866772_11f68524f0_normal.xml">                    </a>          </div>    <div id="dsq-reaction-tooltip-12269320" class="dsq-reaction-tooltip" style="display:none">      <div class="dsq-reaction-tooltip-container">        <div class="dsq-reaction-body">@mjbommar MPI on EC2 http://bit.ly/13BcCR  and http://arxiv.org/pdf/0901.0029</div>        <div class="dsq-reaction-date">3 years ago</div>        <div class="dsq-reaction-user">@mndoci</div>      </div>    </div>  </li>          </ul>                  <div class="dsq-trackback-url">      Trackback URL      <input onclick="this.select()" readonly="true" value="http://disqus.com/forums/datawranglingblog/mpi_cluster_with_python_and_amazon_ec2_part_2_of_3/trackback/">    </div>      </div><div>  </div></div>
+<script type="text/javascript">
+  /**
+    * var disqus_identifier; [Optional but recommended: Define a unique identifier (e.g. post id or slug) for this thread] 
+    */
+  (function() {
+   var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
+   dsq.src = 'http://datawranglingblog.disqus.com/embed.js';
+   (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
+  })();
+</script>
+<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript=datawranglingblog">comments powered by Disqus.</a></noscript>
+<a href="http://disqus.com/" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a>
+<!-- End Disqus Comments -->
+
+	
+			  <div class="footer">
+			    <div class="contact">
+			      <p>
+			        Copyright © 2007-2012 Data Wrangling, LLC<br>
+			        info@datawrangling.com
+			      </p>
+						<p>
+							Powered by <a href="http://github.com/">Github, </a><a href="http://jekyllrb.com/">Jekyll</a>, &amp; <a href="http://www.sinatrarb.com/">Sinatra</a>.  Hosted on <a href="http://heroku.com/">Heroku</a>.
+						</p>	
+			    </div>
+			    <div class="contact">
+			      <!-- <p>
+			        <a href="http://github.com/datawrangling/">github.com/datawrangling</a><br />
+			        <a href="http://twitter.com/peteskomoroch/">twitter.com/peteskomoroch</a><br />
+			        <a href="http://linkedin.com/peterskomoroch/">linkedin.com/peterskomoroch</a>
+			      </p> -->
+			    </div>
+			    <div class="rss">
+			      <a href="http://feeds.feedburner.com/DataWrangling">
+			        <img src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/feed-icon32x32.png" alt="Subscribe to RSS Feed">
+			      </a>
+			    </div>
+			  </div>
+	
+			</div>
+			
+		</div>	
+
+
+
+	</div>
+</div>
+
+
+<!-- Google Analytics -->
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script><script src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/ga.js" type="text/javascript"></script>
+<script type="text/javascript">
+var pageTracker = _gat._getTracker("UA-3430463-1");
+pageTracker._trackPageview();
+</script>
+<!-- Google Analytics end -->
+
+
+
+
+
+<iframe src="mpi-cluster-with-python-and-amazon-ec2-part-2-of-3_files/def.html" style="position: absolute; top: -2000px; left: 0px;" id="easyXDM_DISQUS_net_default5937_provider" name="easyXDM_DISQUS_net_default5937_provider" frameborder="0"></iframe></body></html>
\ No newline at end of file
Index: ../trunk-jpl/externalpackages/ec2api
===================================================================
--- ../trunk-jpl/externalpackages/ec2api	(revision 13841)
+++ ../trunk-jpl/externalpackages/ec2api	(revision 13842)

Property changes on: ../trunk-jpl/externalpackages/ec2api
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,3 ##
+ec2-api-tools.zip
+ec2-api-tools-*
+
