<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Nathan Stratton's Homepage</title>
	<atom:link href="http://www.robotics.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.robotics.net</link>
	<description></description>
	<lastBuildDate>Tue, 05 Feb 2013 14:29:01 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Reality of H.264 SVC</title>
		<link>http://www.robotics.net/2013/02/04/reality-of-h-264-svc/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=reality-of-h-264-svc</link>
		<comments>http://www.robotics.net/2013/02/04/reality-of-h-264-svc/#comments</comments>
		<pubDate>Mon, 04 Feb 2013 18:07:04 +0000</pubDate>
		<dc:creator>nathan</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Telephony]]></category>
		<category><![CDATA[H.264]]></category>
		<category><![CDATA[Scalable Video Coding]]></category>
		<category><![CDATA[SVC]]></category>
		<category><![CDATA[Video Conferencing]]></category>

		<guid isPermaLink="false">http://www.robotics.net/?p=250</guid>
		<description><![CDATA[I frequently get asked about H.264 SVC, so I decided to write this post to share my thoughts. My background is in the service provider space, so let me first say that what I am about to talk about relates to SVC used for real time two way communication. Lets first start with some background. [...]]]></description>
				<content:encoded><![CDATA[<p>I frequently get asked about H.264 SVC, so I decided to write this post to share my thoughts. My background is in the service provider space, so let me first say that what I am about to talk about relates to SVC used for real time two way communication.</p>
<p>Lets first start with some background. Scalable Video Coding, (SVC) is the Annex G extension of H.264 AVC approved in July 2007. As the name implies, the idea behind SVC was to create a bit stream that allows scalable subset of bit streams that represent different resolutions, quality, and frame rates. You can think of SVC as layered stream where the decoder is allowed to decode all, or just the base subset of the streams depending on the desired quality. If all that is needed is the base stream, the decoder simply discards the packets from the other layers.</p>
<p>If you do a search on H.264 SVC, you quickly are overwhelmed by the flood of pages singing the praises of SVC. The sad part is, most of them are authored by marketing guys rather then technologist who understand the technical differences between SVC and standard H.264 AVC.</p>
<p>Lets first take a look at some of the proclaimed benefits of SVC and the reality when it comes to service providers.</p>
<p><strong>SVC allows up to 20% packet loss without effecting quality.</strong></p>
<p>A number of vendors use SVC layers to provide redundancy information to a bit stream. Providing redundancy is nothing new, a 8 disk RAID 5 array can lose 1 disk without any information lost. A RAID 6 array is able to lose 2 disks without losing any data. This redundancy however comes at a cost, depending on the desired level of redundancy extra data is sent making the total bit stream 10 – 30% larger. Many times this increase in bandwidth may itself lead to quality issue, however lets for right now pretend that it is worth sending the extra data. I have seen many tests showing how great using SVC layers to provide redundancy is. They show lots of loss and you can clearly see that quality is far superior to standard AVC. However, if you dig deeper you start to see the flaw of this approach. If you run a IP network, you know that most of your packet loss is not random, it is burst mode. A routers queue gets full and a bunch of packets are dumped on the floor. In cases like that, the most common packet loss on the internet, redundancy information does not do a thing because the base stream AND and the redundant information are both lost!</p>
<p><strong>SVC allows a single encoder to provide different resolution, quality, or frame rates.</strong></p>
<p>Yes, this is very true, in fact, it is what SVC was designed for. The issue becomes how relevant this is in two way real time video communication on the internet. The problem is that ALL of this data is in the full bit stream. As I mentioned before, if a decoder does not need the more advanced levels, it simply discards the packets, they are still sent! Many vendors have a solution to this, you simply buy their boxes and put them all over your network and your customers networks. The devices then drop the unneeded layers. While I find this approach great from the guys selling more boxes, from a network engineering side there are many drawbacks.</p>
<p><strong>SVC is a standard, just like H.264 AVC</strong></p>
<p>Again, this is correct, however just because there is a standard for SVC it does NOT mean that vendors who are deploying SVC are able to inter operate. Lets face it, in our industry most of our “standards” are know as RFCs out of the IETF. I am a big fan of the IETF and I love the process. It has HUGE some advantages over other standards bodies such as the ITU where standards become inch thing documents and the process is sometimes more political then technical. At the same time, lets not forget that RFC stands for “Request For Comment”, many times they are only a dozen or so pages in length where much of the implementation is left to the reader. Some “standards” are only internet-drafts that are published by only 1 or 2 people that never turn into a RFC from a company who just wants to say they are following a “standard”. We are still today working out issues with H.264 AVC over the public internet, SVC with a much smaller following in my opinion will never be “standardized” by the market, something that is much more crucial then the technical standard.</p>
<p><strong>SVC provides a totally new way of offering low cost conferencing</strong></p>
<p>One interesting approach to SVC is the idea of an application router that simply routes SVC layers between users rather then a typical MCU approach that decodes and then encodes the video stream. While I like this is interesting, I don&#8217;t think it is more then a niche play. First let me point out that this idea is far from new. Skype and others who do not have centralized MCUs have been routing streams between users for years with H.264 AVC and other CODECs. A big problem with this approach is that it shifts the burden from a centerlized MCU to in many respects the client. If 8 people are in the conference, it is forced to decode 7 video streams rather then just one. The bandwidth that is required to receive and send video to / from 7 other users is far greater then a single flow to a MCU. To make matters worse it goes in the opposite direction that the industry has been trying to move. We have been working on technologies like rtcp-mux and bundle to allow voice, video, + the 2 RTCP flows to all be on one flow rather then 4. With the application router approach, even if rtcp-mux and bundle are used, you still require port bindings for each of the other participants audio, video and signaling streams.</p>
<p><strong>SVC and quality based on users bandwidth.</strong></p>
<p>While closely related to encoder being able to provide different resolutions, quality or frame rates, this is more focused on the end device. The issues of last mile bandwidth has always been a real issue when it comes to two way video services. The idea here is that the device can somehow request just the layers it has bandwidth for rather then everything. However if we look at last mile bandwidth closer, this is trying to fix the wrong direction! The problem lies in that fact that most last mile bandwidth is asymmetrical, I wont bore you with the reasons, but upload speed is normally a fraction of download. If a device could back off on what is is receive (the big direction), it does nothing for what it is sending. Does the device simply send AVC, or does it try to send base plus high quality layers using SVC up the small bandwidth side of the pipe? If one wants to be smarter about this, a better approach would be to use standard AVC on both ends and allow both encoders to be adjusted in real time rather then at the start of the call.</p>
<p><strong>SVC encoding speed</strong></p>
<p>The SVC guys like to say its faster, but I am sorry, in the real world it is not. Yes, encoding 1080p + 720p + VGA + QVGA with H.264 is generally slower then SVC with QVGA + the other layers, however why would we be sending ALL of that to one device? You are much better off encoding just the required video feed for each endpoint rather then trying to encode everything. The SVC guy will then say, but if you do it once with SVC you can send that same feed to everyone. While I think their are applications where the exact same content can be sent to every user, in the real world this is rarely the case. Different users want different layouts, options, etc, the world of pushing the same static thing to everyone is going away, people want it their way! If you add to this the issue of CPU and especially DSP optimization for AVC over SVC, it becomes even more clear.</p>
<p>&nbsp;</p>
<p>Is SVC good for anything? Yes, believe it is, SVC is great for the content storage industry allowing them to store one video file with many different option levels. It&#8217;s great for the security industry, allowing video feeds to be processed by systems at a base level and then expanded in quality if something needs to be analyzed further. However, I think most of the people making noise about SVC today are just looking for marketing spin, rather then real technical advantages.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.robotics.net/2013/02/04/reality-of-h-264-svc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Blade Myth and 10Gb Ethernet</title>
		<link>http://www.robotics.net/2012/04/21/blade-myth/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=blade-myth</link>
		<comments>http://www.robotics.net/2012/04/21/blade-myth/#comments</comments>
		<pubDate>Sat, 21 Apr 2012 16:12:26 +0000</pubDate>
		<dc:creator>nathan</dc:creator>
				<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://www.robotics.net/?p=237</guid>
		<description><![CDATA[The Blade Myth and 10Gb Ethernet Over the last several years there has been a big push to adopt blade servers. The idea being that you can cram more CPU cores into less space allowing you to build a more efficient data center. Lets take a few minutes and look at IBM BladeCenter vs 1U [...]]]></description>
				<content:encoded><![CDATA[<p><strong>The Blade Myth and 10Gb Ethernet</strong></p>
<p>Over the last several years there has been a big push to adopt blade servers. The idea being that you can cram more CPU cores into less space allowing you to build a more efficient data center. Lets take a few minutes and look at IBM BladeCenter vs 1U white label pizza boxes. The results may surprise you.</p>
<p>I picked IBM BladeCenter because it has the largest market share in the blade space and frankly is a great product! It is price competitive with other blades and I think gives a fair representation of the market.</p>
<p>The BladeCenter E chassis supports 14 bays in a high density chassis. At only 9U high you can support 4 chassis in a rack and still have 6U free to support two top of rack switches and any other support hardware. This provides a maximum density of 56 dual processor blades in a standard 42U rack.</p>
<p>Before we jump into the actual blades, lets next look at 1U chassis. In a standard 42U rack you can support 40 dual processor 1U servers, leaving room for two 1U top of rack switches. This is one of the biggest selling points for the blade camp, we are able to support many more raw CPUs with blades.</p>
<p><strong>Economics</strong></p>
<p>Our test systems are Dual Intel Xeon E5-2680 8 core 2.7 GHz CPUs, with dual 10Gb Ethernet, and 128 GB of RAM. The BladeCenter HS23 rings in at $11,713 (including 1/14th the BladeCenter H chassis) and the white label rings in at $5,882 based on Supermicro X9DRH-7TF motherboard.</p>
<p>Both of our systems come with 10 Gb Ethernet, however they are very different from factors. On the IBM we are handed older SFP+ connectors and on the white label we have newer copper 10GBase-T ports that support standard Cat-6 cable.</p>
<p>For aggregation, I chose Arista Networks 7050 series switches based on the Broadcom Tident+ ASICs. This switch supports 40 GbE ports and 4 QSFP+ 40 GbE ports on a 1.28 Terabits/sec fabric. The white label solutions is using the DCS-7050T-64-F ($20,995) with 40 10GBase-T ports and the BladeCenter requires the bit more expensive DCS-7050S-64-F ($24,995) with SFP+ ports.</p>
<p>Our white label box has 10GBase-T ports on the motherboard, however the BladeCenter requiress two Ethernet Pass-Through Module at $4,999 each and $75 twinax cables. Bringing our cost per port of 10 Gb Ethernet including switch at $328 for white label and $1,175 per port for IBM BladeCenter.</p>
<p>In order to compare our numbers in an easy way I decided to look at a per CPU core metric of cost per CPU core. With dual 8 core CPUs and dual 10 Gb Ethernet ports. The BladeCenter comes in at $834 and white label at $408.</p>
<p><strong>But what about cost for space?</strong></p>
<p>It turns out that cost for space does not effect the per core number that much. With BladeCenter at 896 cores and a cost per rack at $750, over two years the cost per core is only $22.77 compared to the 640 cores and $31.88 per core over 2 years cost on the white label. So even if we take 2x amount of space for our 1U white label servers we still come way way ahead using 1U pizza box servers saving almost $7K per server!</p>
<p><strong>Distributed storage in today&#8217;s clouds</strong></p>
<p>How does this fit with today&#8217;s cloud deployments? Well the interesting thing is that today many cloud deployments are using servers for more then just compute resources. Today 10Gb Ethernet controllers such as the Intel X540 are able to directly access CPU cache greatly reducing the processor and memory requirements of 10 Gb flows. This allows servers to also act as cloud storage using new distributed file systems such as Gluster and Hadoop.</p>
<p>Unlike blades, our 1U servers have plenty of room for disks. In fact, the Supermicro X9DRH-7TF motherboard already has a LSI SAS2208 hardware RAID controller supporting 6Gb/s SAS/SATA drives. With 8 2.5&#8243; 1TB SATA drives one could at a low cost add 280TB of raw RAID5 storage per rack to the compute cloud.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.robotics.net/2012/04/21/blade-myth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dracut PXE Boot with bonded interfaces</title>
		<link>http://www.robotics.net/2012/03/07/dracutpxeboot/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=dracutpxeboot</link>
		<comments>http://www.robotics.net/2012/03/07/dracutpxeboot/#comments</comments>
		<pubDate>Wed, 07 Mar 2012 20:12:25 +0000</pubDate>
		<dc:creator>nathan</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.robotics.net/?p=224</guid>
		<description><![CDATA[It&#8217;s taken me a while to get dracut PXE Boot working with bonded interfaces, so I wanted to take a moment and share. My setup is as follows, 20 servers with dual gig ethernets connected to two Cisco 3750 switches connected togeter in a ring. The first ethernet, eth1 from each server are all connected [...]]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s taken me a while to get dracut PXE Boot working with bonded interfaces, so I wanted to take a moment and share.</p>
<p>My setup is as follows, 20 servers with dual gig ethernets connected to two Cisco 3750 switches connected togeter in a ring. The first ethernet, eth1 from each server are all connected to swich 1 with the 2nd ethernet, eth2 all connected to the 2nd switch. The ring configuration allows the switches to look like one larger switch, providing redundancy while still allowing for things like trunks spanning more then one switch.</p>
<p><strong>Switch Configuration</strong></p>
<p>The cisco 3750 is configured as follows:</p>
<p><em>interface Port-channel1</em><br />
<em> description virt1</em><br />
<em> switchport trunk encapsulation dot1q</em></p>
<p><em>interface GigabitEthernet1/0/1</em><br />
<em> switchport trunk encapsulation dot1q</em><br />
<em> speed 1000</em><br />
<em> duplex full</em><br />
<em> spanning-tree portfast</em><br />
<em> channel-protocol lacp</em><br />
<em> channel-group 1 mode passive</em></p>
<p><em>interface GigabitEthernet2/0/1</em><br />
<em> switchport trunk encapsulation dot1q</em><br />
<em> speed 1000</em><br />
<em> duplex full</em><br />
<em> spanning-tree portfast</em><br />
<em> channel-protocol lacp</em><br />
<em> channel-group 1 mode passive</em></p>
<p>The above config first sets up a port-channel, a bonded interface and sets the encapsulation to <em>dot1q</em>, the standard that allows VLAN tagging. Two interfaces are then configured I set the speed, duplex, and <em>spanning-tree portfast</em> to help speed up port setup time. The ports are both configured to used standared lacp and are both made part of the port-channel interface with the <em>channel-group 1 mode passive</em> command. The <em>mode passive</em> is important it does not setup the ports into the trunk group until the other end (our server) brings up the LACP trunk. This allows the server to do standard PXE Boot with DHCP and TFTP on the standard interface rather then failing because it was in trunk mode.</p>
<p><strong>Dracut Configuration</strong></p>
<p>Dracut allows you to boot a server with as little as possible hard-coded into the initramfs. To make the image I typed:</p>
<p><em>dracut dracut.img 3.2.7-1.fc16.x86_64</em><br />
<em>dracut &#8211;add-drivers bonding -f dracut.img</em></p>
<p>The first line builds the image and the 2nd line adds bonding support to the image, note that the kernel name is important, you can pull that with <em>uname -r</em>. The Dracut configuration lives on the tftpserver in the pxelinux.cfg/default file. Mine looks like:</p>
<p><em>prompt 1</em><br />
<em>default Fedora-16_3.2.7-1.fc16.x86_64</em><br />
<em>timeout 10</em><br />
<em>serial 0 115200</em><br />
<em>console 0</em></p>
<p><em>label Fedora-16_3.2.7-1.fc16.x86_64</em><br />
<em>kernel vmlinuz-3.2.7-1.fc16.x86_64</em><br />
<em>append initrd=dracut.img root=10.10.0.4:/diskless/Fedora16_020303 console=ttyS0,115200 biosdevname=0 bond=bond0:eth0,eth1:mode=4 bridge=ovirtmgmt:bond0 ip=ovirtmgmt:dhcp</em></p>
<p>This file configures a serial console on the first serial port as a speed of 115,200, it passes to the tftpserver the kernel file with the dracut configuration. A breakdown of the dracut line is as follows:</p>
<p><em>initrd=dracut.img </em>                                                                        This is the name of my dracut image.<em><br />
root=10.10.0.4:/diskless/Fedora16_020303                          </em>NFS IP and path for the root image.<br />
<em>console=ttys0,115200</em>                                                                Sets the serial device and speed.<br />
<em>biosdevname=0</em>                                                                           Keeps the old eth naming scheem.<br />
<em>bond=bond0:eth0,eth1:mode=4                                               </em>Bonds eth0 and eth1 using mode4.<em><br />
bridge=ovirtmgmt:bond0</em>                                                            Creates bridge ovirtmgmt attached to bond0.<br />
<em>ip=ovirtmgmt:dhcp                                                                     </em>  Run DHCP on ovirtmgmt interface.<em></em><br />
<strong></strong></p>
<p><strong>Now the problme&#8230;.</strong></p>
<p>So far we have a setup that will correctly DHCP and PXE Boot, the server will have access to Vlan 1, but not the other VLANs, this is because the switch LACP port is not yet running as a trunk. Cisco can do this automatically if there is a cisco on the other end via cisco proprietary protocol, but the Linux box does not support this. To get around this problem and still PXE Boot boot we have a script that adds &#8220;<em>switchport mode trunk</em>&#8221; to the interface Port-Channel. Once this is done you will be able to talk on all the VLANs you have setup. This is an ugly hack, but so far is the only way I have found to have a cisco work in this setup.<em><br />
</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.robotics.net/2012/03/07/dracutpxeboot/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Hello World, the current temp is:</title>
		<link>http://www.robotics.net/2010/05/02/hello-world-the-current-temp-is/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=hello-world-the-current-temp-is</link>
		<comments>http://www.robotics.net/2010/05/02/hello-world-the-current-temp-is/#comments</comments>
		<pubDate>Sun, 02 May 2010 14:17:59 +0000</pubDate>
		<dc:creator>nathan</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Hack]]></category>

		<guid isPermaLink="false">http://www.robotics.net/?p=214</guid>
		<description><![CDATA[I have wanted to start playing with micro controllers for a while now, I ended up selecting the Parallax Propeller chip because of its ease of use and I liked it&#8217;s COG design with 8 32 big cores working together. My first test was connecting a 4&#215;20 line LCD and a few DS18S20 1-wire temp [...]]]></description>
				<content:encoded><![CDATA[<p>I have wanted to start playing with micro controllers for a while now, I ended up selecting the Parallax Propeller chip because of its ease of use and I liked it&#8217;s COG design with 8 32 big cores working together.</p>
<p>My first test was connecting a 4&#215;20 line LCD and a few DS18S20 1-wire temp sensors to the propeller chip. Everything was very easy to learn the LCD was interfaced with no external components and the 1-wire bus only required a 4.7K pull up resistor.</p>
<div id="attachment_215" class="wp-caption alignnone" style="width: 501px"><a href="http://www.robotics.net/wp-content/uploads/IMG_0563.jpg"><img class="size-large wp-image-215  " title="Propeller PDB with LCD and 1-wire bus" src="http://www.robotics.net/wp-content/uploads/IMG_0563-1024x768.jpg" alt="" width="491" height="369" /></a><p class="wp-caption-text">Propeller PDB with LCD and 1-wire bus</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.robotics.net/2010/05/02/hello-world-the-current-temp-is/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Central Air Pool Heat-Cool</title>
		<link>http://www.robotics.net/2010/04/24/central-air-pool-heatcool/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=central-air-pool-heatcool</link>
		<comments>http://www.robotics.net/2010/04/24/central-air-pool-heatcool/#comments</comments>
		<pubDate>Sun, 25 Apr 2010 02:38:06 +0000</pubDate>
		<dc:creator>nathan</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Hack]]></category>
		<category><![CDATA[Project]]></category>

		<guid isPermaLink="false">http://www.robotics.net/?p=205</guid>
		<description><![CDATA[Worked today on my central air pool heat/cool system. The goal for the new system is to be able to operate in normal house cool mode, pool heat mode, and pool cool mode all in one HVAC system. The new system uses a reversing valve to pump down unused portions dramatically cutting down on the [...]]]></description>
				<content:encoded><![CDATA[<p>Worked today on my central air pool heat/cool system. The goal for the new system is to be able to operate in normal house cool mode, pool heat mode, and pool cool mode all in one HVAC system. The new system uses a reversing valve to pump down unused portions dramatically cutting down on the amount of refrigerant needed.</p>
<p><img class="alignnone size-full wp-image-198" title="hvac-house_cool" src="http://www.robotics.net/wp-content/uploads/hvac-house_cool.png" alt="hvac-house_cool" width="543" height="365" /></p>
<p>Check out the <a href="http://www.robotics.net/projects/central-air-pool-heater/">project page</a> for more info:</p>
]]></content:encoded>
			<wfw:commentRss>http://www.robotics.net/2010/04/24/central-air-pool-heatcool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Infiniband</title>
		<link>http://www.robotics.net/2009/07/30/infiniband/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=infiniband</link>
		<comments>http://www.robotics.net/2009/07/30/infiniband/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 03:06:41 +0000</pubDate>
		<dc:creator>nathan</dc:creator>
				<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://www.robotics.net/?p=186</guid>
		<description><![CDATA[Infiniband is an often overlooked technology outside of the supercomputer / clustering space. I think that is a shame given some of the amazing aspects of this technology. Infiniband is a serial connection with a raw full duplex data rate of 2.5 Gbit/s known as 1x single data rate (SDR) mode. In addition to a [...]]]></description>
				<content:encoded><![CDATA[<p><!-- 		@page { margin: 0.79in } 		P { margin-bottom: 0.08in } --></p>
<p style="margin-bottom: 0in;">Infiniband is an often overlooked technology outside of the supercomputer / clustering space. I think that is a shame given some of the amazing aspects of this technology. Infiniband is a serial connection with a raw full duplex data rate of 2.5 Gbit/s known as 1x single data rate (SDR) mode. In addition to a double data rate (DDR) and a quad data rate (QDR) mode, links can be aggregated in units of 4 or 12 paths yielding up to 120 Gbit/s in 12X QDR mode. In a day where server motherboards are just starting to see 10 Gibt/s ethernet cards, the most common “low speed” infiniband options is 10 Gbit/s 4X SDR cards. Infiniband uses remote direct memory access (RDMA) for data transfer allowing data to be moved between hosts directly without any CPU cycles. All of this happens in about 1/4<sup>th</sup> the port to port speed of 10 Gbit/s ethernet!</p>
<p style="margin-bottom: 0in;">The part I like best about Infiniband is the price, especially the used market. Lets take a look at a common setup on eBay. There are lots of switch options, but I like the TopSpin 120 also know as the Cisco 7000p. This is a 24 port 4X SDR 10 Gbit/s switch that runs for $750 &#8211; $1500 depending on the used source. There are even more options for Infiniband cards, I tend to stick with Mellanox chip set based cards and they can be found for as little as $40 for PCI-X and around $125 for PCI express. The only thing that is going to cost you more with Infiniband is the cables, they will run you $20 &#8211; $50 each.</p>
<p style="margin-bottom: 0in;">Applications that support native infiniband RDMA are going to get the best performance, but with the Infiniband over IP (IPoIB) you can use standard TCP/IP! With IPoIB your infiniband card shows up as a normal interface and you can run DHCP or static IP on it.</p>
<p style="margin-bottom: 0in;">
<div id="attachment_183" class="wp-caption alignnone" style="width: 310px"><a href="http://www.robotics.net/wp-content/uploads/cisco7000P.png"><img class="size-medium wp-image-183" title="cisco7000P" src="http://www.robotics.net/wp-content/uploads/cisco7000P-300x179.png" alt="Cisco 7000P" width="300" height="179" /></a><p class="wp-caption-text">Cisco 7000P</p></div>
<p style="margin-bottom: 0in;">
<div id="attachment_185" class="wp-caption alignnone" style="width: 310px"><a href="http://www.robotics.net/wp-content/uploads/Mellanox-MHEL-CF128-T.png"><img class="size-medium wp-image-185" title="Mellanox-MHEL-CF128-T" src="http://www.robotics.net/wp-content/uploads/Mellanox-MHEL-CF128-T-300x179.png" alt="Mellanox MHEL-CF128-T" width="300" height="179" /></a><p class="wp-caption-text">Mellanox MHEL-CF128-T</p></div>
<p style="margin-bottom: 0in;">
<div id="attachment_184" class="wp-caption alignnone" style="width: 310px"><a href="http://www.robotics.net/wp-content/uploads/GORE4X.png"><img class="size-medium wp-image-184" title="GORE4X" src="http://www.robotics.net/wp-content/uploads/GORE4X-300x179.png" alt="GORE 4X Infiniband Cable" width="300" height="179" /></a><p class="wp-caption-text">GORE 4X Infiniband Cable</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.robotics.net/2009/07/30/infiniband/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>APC Matrix 5000 Hack</title>
		<link>http://www.robotics.net/2009/07/19/apc-matrix-5000-hack/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=apc-matrix-5000-hack</link>
		<comments>http://www.robotics.net/2009/07/19/apc-matrix-5000-hack/#comments</comments>
		<pubDate>Sun, 19 Jul 2009 22:02:08 +0000</pubDate>
		<dc:creator>nathan</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Hack]]></category>
		<category><![CDATA[Project]]></category>

		<guid isPermaLink="false">http://www.robotics.net/?p=175</guid>
		<description><![CDATA[I use a lot of power in my office, so much that the four 1500 VA UPS units I have only last me a few min. I needed something bigger so I went on eBay and found two APC Matrix 5000 UPS units for $450 each including shipping. There was only one downside, there were [...]]]></description>
				<content:encoded><![CDATA[<p>I use a lot of power in my office, so much that the four 1500 VA UPS units I have only last me a few min. I needed something bigger so I went on eBay and found two APC Matrix 5000 UPS units for $450 each including shipping. There was only one downside, there were no batteries and new batteries would have cost me several thousand dollars.</p>
<p>The solution? I picked up 8 marine batteries at the auto parts store and wired them up (yes with fuses) into two 48 volt strings connected in parallel.</p>
<p><a href="http://www.robotics.net/wp-content/uploads/IMG_0324.JPG"><img class="alignnone size-full wp-image-179" title="IMG_0324" src="http://www.robotics.net/wp-content/uploads/IMG_0324.JPG" alt="IMG_0324" width="553" height="737" /></a></p>
<p>Note: If you try this, you want to use Marine or better yet Deep-Cycle batteries rather then car starting batteries. Car batteries are designed to give very hight bursts of current and should only be discharged to about 5%. The very thin plates would destroyed over a few hundred discharges rather then the thousands you would get from deep cycle.</p>
<p>P.S. Yes, I built a cover for it!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.robotics.net/2009/07/19/apc-matrix-5000-hack/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>BlinkMind This Week at InfoComm</title>
		<link>http://www.robotics.net/2009/06/16/blinkmind-this-week-at-infocomm/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=blinkmind-this-week-at-infocomm</link>
		<comments>http://www.robotics.net/2009/06/16/blinkmind-this-week-at-infocomm/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 02:34:09 +0000</pubDate>
		<dc:creator>nathan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.robotics.net/?p=166</guid>
		<description><![CDATA[BlinkMind, will be at InfoComm 09 in Orlando, Fl. If your in the area, stop by and check us out in both 3792 in the Video Conferencing Pavilion. Showing off our 16 active party video conferencing system, SIP Video Server, and IPTV system. We also are showing interoperability with all of systems at Grandstream GXV3006, [...]]]></description>
				<content:encoded><![CDATA[<p>BlinkMind, will be at InfoComm 09 in Orlando, Fl. If your in the area, stop by and check us out in both 3792 in the Video Conferencing Pavilion. Showing off our 16 active party video conferencing system, SIP Video Server, and IPTV system. We also are showing interoperability with all of systems at Grandstream GXV3006, Polycom VVX 1500, Creative InPerson, Tandberg E20, and Linphone soft client with the BlinkMind contributed H.264 code.</p>
<div id="attachment_168" class="wp-caption alignnone" style="width: 310px"><a href="http://www.robotics.net/wp-content/uploads/imgp00381.jpg"><img class="size-medium wp-image-168" title="imgp0038" src="http://www.robotics.net/wp-content/uploads/imgp00381-300x225.jpg" alt="InfoComm Booth Under Construction" width="300" height="225" /></a><p class="wp-caption-text">InfoComm Booth Under Construction</p></div>
<p>If you need help finding our booth, check out (click to expand):</p>
<div id="attachment_169" class="wp-caption alignnone" style="width: 271px"><a href="http://www.robotics.net/wp-content/uploads/e_ShowBooths.aspx.png"><img class="size-medium wp-image-169" title="e_ShowBooths.aspx" src="http://www.robotics.net/wp-content/uploads/e_ShowBooths.aspx-261x300.png" alt="Hall B Floor Plan" width="261" height="300" /></a><p class="wp-caption-text">Hall B Floor Plan</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.robotics.net/2009/06/16/blinkmind-this-week-at-infocomm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Converting Citrix .xva to Xen.org .img</title>
		<link>http://www.robotics.net/2009/06/06/converting-citrix-xva-to-xenorg-img/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=converting-citrix-xva-to-xenorg-img</link>
		<comments>http://www.robotics.net/2009/06/06/converting-citrix-xva-to-xenorg-img/#comments</comments>
		<pubDate>Sun, 07 Jun 2009 02:47:01 +0000</pubDate>
		<dc:creator>nathan</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Hack]]></category>

		<guid isPermaLink="false">http://www.robotics.net/?p=160</guid>
		<description><![CDATA[Xen is one of the coolest virtualization technologies out there. It comes in may flavors, the two largest being the bleeding edge xen.org open source project and the commercial (Citrix) version. There are things I love about the commercial version, but they lost me only supporting windows in their XenCenter administration interface. The file formats [...]]]></description>
				<content:encoded><![CDATA[<p>Xen is one of the coolest virtualization technologies out there. It comes in may flavors, the two largest being the bleeding edge <a href="http://www.xen.org">xen.org</a> open source project and the commercial (Citrix) version. There are things I love about the commercial version, but they lost me only supporting windows in their XenCenter administration interface.</p>
<p>The file formats of the commercial and open source Xenare totall different. The open source is a standard image file, you can mount it, fdisk it, whatever you would like. The Citrix Xen Virtual Appliance .XVA file is quite different. It is actually a tar file with ova.xml meta data and directories starting with Ref full of 1M files that make up the drive volumes of the virtual image.</p>
<p>To convert .xva to an xen .img file you first untar the image:</p>
<p><em><strong>tar -xvf {image}.xva</strong></em></p>
<p>Then grab <a href="http://www.robotics.net/wp-content/uploads/xenmigrate.py">this handy utility</a> and run it on your untared data, as an example:</p>
<p><strong><em>python xenmigrate.py &#8211;convert=Ref:3 {image}.img</em></strong></p>
<p>This will paste all of those files back together, starting at 00000000. Note I have had problems running this script on Centos 5.x.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.robotics.net/2009/06/06/converting-citrix-xva-to-xenorg-img/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Portable 3 Watt 3G Video Phone and HotSpot</title>
		<link>http://www.robotics.net/2009/06/02/portable-3-watt-3g-video-phone-and-hotspot/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=portable-3-watt-3g-video-phone-and-hotspot</link>
		<comments>http://www.robotics.net/2009/06/02/portable-3-watt-3g-video-phone-and-hotspot/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 22:04:02 +0000</pubDate>
		<dc:creator>nathan</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Hack]]></category>
		<category><![CDATA[Project]]></category>

		<guid isPermaLink="false">http://www.robotics.net/?p=121</guid>
		<description><![CDATA[I love my BlinkMind Video Phone service, but one problem has been being able to make calls when I am camping. I started by looking for a 3G access point that was already supported by OpenWRT, a Linux distribution for embedded devices. Since I run the Linksys WRT54G at home, the WRT54G3G was a logical [...]]]></description>
				<content:encoded><![CDATA[<p style="margin-bottom: 0in;">I love my <a href="http://www.blinkmind.com/?reseller=00000594">BlinkMind Video Phone service</a>, but one problem has been being able to make calls when I am camping. I started by looking for a 3G access point that was already supported by OpenWRT, a Linux distribution for embedded devices. Since I run the Linksys WRT54G at home, the WRT54G3G was a logical choice.</p>
<p style="margin-bottom: 0in;">
<p style="margin-bottom: 0in;"><span style="font-size: medium;"><strong>Get Linux Running</strong></span></p>
<p style="margin-bottom: 0in;">Getting Linux Running on the WRT54G3G can be a pain since it&#8217;s PCMCI implementation does not work on the 2.6 kernel series. To make matters worse, Sierra Wireless only wrote and supports drivers for the 2.6 kernel. You can grab a copy of OpenWRT White Russian <a href="http://www.evdoforums.com/thread6621.html">here</a> for the BCM47xx chip set, next grab a hex editor (I used shed on Fedora) and change the 4 bytes to W3GA, once that is done you should be able to fire up the unit and upgrade the firmware with the edited image. If your lazy you can just <a href="http://www.robotics.net/wp-content/uploads/whiterussian_openwrt-3g-r75-wrt54g3g-squashfs.bin">download this.</a></p>
<p style="margin-bottom: 0in;">
<p style="margin-bottom: 0in;"><span style="font-size: medium;"><strong>Add a LCD</strong></span></p>
<p style="margin-bottom: 0in;">I selected a 4 line X 20 Character LCD display that could be used to show the IP address, upload / download speed, and signal strength. Modern Device made a nice little serial to LCD board that  makes it VERY easy to connect a LCD to any service device.</p>
<div id="attachment_141" class="wp-caption alignnone" style="width: 310px"><a href="http://www.robotics.net/wp-content/uploads/lcd117.jpg"><img class="size-medium wp-image-141" title="lcd117" src="http://www.robotics.net/wp-content/uploads/lcd117-300x112.jpg" alt="lcd117" width="300" height="112" /></a><p class="wp-caption-text">Modern Device LCD117 Board</p></div>
<p style="margin-bottom: 0in;">
<p style="margin-bottom: 0in;">
<div id="attachment_140" class="wp-caption alignnone" style="width: 310px"><a href="http://www.robotics.net/wp-content/uploads/rt204-1.jpg"><img class="size-medium wp-image-140" title="rt204-1" src="http://www.robotics.net/wp-content/uploads/rt204-1-300x225.jpg" alt="RT204-1 20x4 LCD" width="300" height="225" /></a><p class="wp-caption-text">RT204-1 20x4 LCD</p></div>
<p style="margin-bottom: 0in;">
<p style="margin-bottom: 0in;"><a href="http://www.robotics.net/wp-content/uploads/lcdinst06.pdf">Download PDF Instructions</a></p>
<p style="margin-bottom: 0in;">
<p style="margin-bottom: 0in;">The WRT45G3G does not have an external serial port, but internally it does have pads for a 3.3V serial. If you wanted to drive a computer serial port you would need a level converter such as MAX232. However, the Modern Device board is able to accept 3.3V without a problem. The only catch was finding the right pin. I broke out a logic probe and send some data out the port in pulses to eventually find the pin.</p>
<p style="margin-bottom: 0in;">
<p style="margin-bottom: 0in;">
<div id="attachment_148" class="wp-caption alignnone" style="width: 310px"><a href="http://www.robotics.net/wp-content/uploads/imgp1587-2.jpg"><img class="size-medium wp-image-148" title="imgp1587-2" src="http://www.robotics.net/wp-content/uploads/imgp1587-2-300x225.jpg" alt="Receive and Transmist pads" width="300" height="225" /></a><p class="wp-caption-text">Receive and Transmist pads</p></div>
<p style="margin-bottom: 0in;">
<p style="margin-bottom: 0in;"><span style="font-size: medium;"><strong>Power</strong></span></p>
<p style="margin-bottom: 0in;">
<p style="margin-bottom: 0in;">I wanted the system to be able to run off batter for at least a few hours so I decided to go with two 6V 6.5AH batteries in series rather then a single 12 volt battery. The size allowed them to lay down on the bottom of my case. The LCD runs off 5 Volts, the easiest way to make this work with parts on hand was to use a +5 Volt regulator that fit nicely on one of the 4 mounting screwed for the router. Current draw is low enough that no heat sink is needed. I also added a 12 volt LCD voltage meter to the mix so I could tell when my batteries were running low.</p>
<p style="margin-bottom: 0in;">
<p style="margin-bottom: 0in;">
<div id="attachment_144" class="wp-caption alignnone" style="width: 310px"><a href="http://www.robotics.net/wp-content/uploads/imgp1544.jpg"><img class="size-medium wp-image-144" title="imgp1544" src="http://www.robotics.net/wp-content/uploads/imgp1544-300x225.jpg" alt="Two 6 Volt 6.5 AH Batteries" width="300" height="225" /></a><p class="wp-caption-text">Two 6 Volt 6.5 AH Batteries</p></div>
<p style="margin-bottom: 0in;">
<p style="margin-bottom: 0in;"><span style="font-size: medium;"><strong>3G Wireless</strong></span></p>
<p style="margin-bottom: 0in;">
<p style="margin-bottom: 0in;">3G is via Sierra Wireless 881 PCMCI 3G card with AT&amp;T service. I quickly realized that the default signal strength was not going to cut it and an amplifier would be needed. After some digging I selected Wilson Electronics 801101 3 watt cellular amp with in conjunction with a ARC Wireless Solutions ARC-FR0803R30 antenna. With the antenna I was able to buy a cable to connect to the Sierra card, but  it required a 6 foot FME Female – FME Female cable that I replaced with a 1 inch FME Female coupler.</p>
<p style="margin-bottom: 0in;">
<p style="margin-bottom: 0in;">
<p style="margin-bottom: 0in;"><span style="font-size: medium;"><strong>Putting Parts Together</strong></span></p>
<p style="margin-bottom: 0in;">
<div id="attachment_145" class="wp-caption alignnone" style="width: 310px"><a href="http://www.robotics.net/wp-content/uploads/imgp1549.jpg"><img class="size-medium wp-image-145" title="imgp1549" src="http://www.robotics.net/wp-content/uploads/imgp1549-300x225.jpg" alt="imgp1549" width="300" height="225" /></a><p class="wp-caption-text">Portable 3 Watt 3G Video Phone and HotSpot</p></div>
<div id="attachment_157" class="wp-caption alignnone" style="width: 310px"><a href="http://www.robotics.net/wp-content/uploads/imgp1542.jpg"><img class="size-medium wp-image-157" title="imgp1542" src="http://www.robotics.net/wp-content/uploads/imgp1542-300x225.jpg" alt="Back of router board" width="300" height="225" /></a><p class="wp-caption-text">Back of router board</p></div>
<p style="margin-bottom: 0in;">
<div id="attachment_146" class="wp-caption alignnone" style="width: 310px"><a href="http://www.robotics.net/wp-content/uploads/imgp1547.jpg"><img class="size-medium wp-image-146" title="imgp1547" src="http://www.robotics.net/wp-content/uploads/imgp1547-300x225.jpg" alt="Closeup of status display and voltate meter" width="300" height="225" /></a><p class="wp-caption-text">Closeup of status display and voltate meter</p></div>
<p style="margin-bottom: 0in;"><span style="font-size: medium;"><strong>Software</strong></span></p>
<p style="margin-bottom: 0in;">
<p>I wanted the display to show some useful, current script runs at startup and displays IP address, upload and download avg bandwdith in kb/s, and Signal strength in dBm.</p>
<p><a href="http://www.robotics.net/wp-content/uploads/lcdscreenwriter.sh">Download Script</a></p>
<p><a href="http://www.robotics.net/wp-content/uploads/imgp1546-2.jpg"><img class="alignnone size-medium wp-image-149" title="imgp1546-2" src="http://www.robotics.net/wp-content/uploads/imgp1546-2-300x138.jpg" alt="imgp1546-2" width="300" height="138" /></a></p>
<p style="margin-bottom: 0in;">
]]></content:encoded>
			<wfw:commentRss>http://www.robotics.net/2009/06/02/portable-3-watt-3g-video-phone-and-hotspot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
