<?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>StonePark</title>
	<atom:link href="http://www.xulei.me/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.xulei.me</link>
	<description>A new journal begins</description>
	<lastBuildDate>Wed, 08 Feb 2012 20:41:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Another Google summer internship</title>
		<link>http://www.xulei.me/2012/02/08/another-google-summer-internship/</link>
		<comments>http://www.xulei.me/2012/02/08/another-google-summer-internship/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 20:41:55 +0000</pubDate>
		<dc:creator>xulei</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.xulei.me/?p=45</guid>
		<description><![CDATA[A little bit of lazy and busy in the beginning of 2012, I haven&#8217;t written too much. Yep, I just got another session of internship in Google this summer. What I&#8217;ve heard so far is only that I will work in the Ads backend team to optimize their map-reduce stuff&#8230;It sounds like a awesome job, [...]]]></description>
			<content:encoded><![CDATA[<p>A little bit of lazy and busy in the beginning of 2012, I haven&#8217;t written too much. Yep, I just got another session of internship in Google this summer. What I&#8217;ve heard so far is only that I will work in the Ads backend team to optimize their map-reduce stuff&#8230;It sounds like a awesome job, considering Ads contributing 96% of Google&#8217;s revenue&#8230;$$$$&#8230;</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.xulei.me%2F2012%2F02%2F08%2Fanother-google-summer-internship%2F&amp;title=Another%20Google%20summer%20internship" id="wpa2a_2">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.xulei.me/2012/02/08/another-google-summer-internship/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dynamically set CPU offline on Linux</title>
		<link>http://www.xulei.me/2011/11/01/dynamically-set-cpu-offline-on-linux/</link>
		<comments>http://www.xulei.me/2011/11/01/dynamically-set-cpu-offline-on-linux/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 01:51:53 +0000</pubDate>
		<dc:creator>xulei</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.xulei.me/?p=44</guid>
		<description><![CDATA[Linux provides a mechanism to hotplug a CPU (core) online or offline during the runtime, which is very convenient for me to dynamically adjust the CPU topology. As usual, I have written a python script (Link: gist:1331343) to make this manually task easy. This script accepts similar parameters as taskset(8): # Set core 1,2,3,5,6,7,9,12 online, [...]]]></description>
			<content:encoded><![CDATA[<p>Linux provides a mechanism to <a href="http://www.mjmwired.net/kernel/Documentation/cpu-hotplug.txt">hotplug a CPU</a> (core) online or offline during the runtime, which is very convenient for me to dynamically adjust the CPU topology. As usual, I have written a python script (<a href="https://gist.github.com/1331343">Link: gist:1331343</a>) to make this manually task easy. This script accepts similar parameters as <strong>taskset(8)</strong>:</p>
<div class="codecolorer-container bash twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;"># Set core 1,2,3,5,6,7,9,12 online, and other cores offline.</span><br />
$ set_cpus.py <span style="color: #000000;">1</span>-<span style="color: #000000;">3</span>,<span style="color: #000000;">5</span>-<span style="color: #000000;">7</span>,<span style="color: #000000;">9</span>,<span style="color: #000000;">12</span><br />
<span style="color: #666666; font-style: italic;"># Reset all cores to be online</span><br />
$ set_cpus.py <span style="color: #660033;">-r</span></div></div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.xulei.me%2F2011%2F11%2F01%2Fdynamically-set-cpu-offline-on-linux%2F&amp;title=Dynamically%20set%20CPU%20offline%20on%20Linux" id="wpa2a_4">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.xulei.me/2011/11/01/dynamically-set-cpu-offline-on-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HomeNAS reborn with ZFS</title>
		<link>http://www.xulei.me/2011/09/16/homenas-reborn-with-zfs/</link>
		<comments>http://www.xulei.me/2011/09/16/homenas-reborn-with-zfs/#comments</comments>
		<pubDate>Sat, 17 Sep 2011 04:42:38 +0000</pubDate>
		<dc:creator>xulei</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.xulei.me/?p=41</guid>
		<description><![CDATA[After came back from California, I bought a HP ProLiant MicroServer for its 4 hard drive bays. The machine was upgraded to 5(1+4) GB ECC RAMs, and added two more Seagate Barracuda Green 1.5TB 5900RPM HDDs. Without any confidence of storing important data (e.g family photos, research data and drafts) on the 3 years old [...]]]></description>
			<content:encoded><![CDATA[<p>After came back from California, I bought a <a href="http://h10010.www1.hp.com/wwpc/us/en/sm/WF05a/15351-15351-4237916-4237918-4237917-4248009.html">HP ProLiant MicroServer</a> for its 4 hard drive bays. The machine was upgraded to 5(1+4) GB ECC RAMs, and added two more <a href="http://www.amazon.com/gp/product/B004CVJID8">Seagate Barracuda Green 1.5TB 5900RPM HDDs</a>. Without any confidence of storing important data (e.g family photos, research data and drafts) on the 3 years old LeCie 1TB USB disk, I decided to build a FreeBSD + ZFS solution this time for the sake of ZFS&#8217;s ultimately end-to-end integrations. The two seagate disks are configured as mirrored ZFS pool, and the LeCie 1T one is formatted as an individual ZFS pool without checksums (Because I do not really care about the data on it). Now I have 7+ TB hard drives at home! It is way to geeky!</p>
<p>The detailed NAS configurations are similar to <a href="http://www.xulei.me/2010/09/08/home-nas-solution/" title="Home NAS solution">my previous home NAS solution</a> (e.g Netatalk, Avahi, Samba, Transmission and etc.), with the exception that there is no a decent <a href="http://dropbox.com/">Dropbox</a> solution on FreeBSD, which actually adds the complexity for me and my wife to backup data around. I did look for building a Debian within VirtualBox, in which the home directory was mounted to the FreeBSD disks. Unfortunately, NFS clients lack the support of inotify that is required by Dropbox monitoring the local file changes. Though there is a potential solution: let the debian virtual machine using local file system (e.g Ext4) and rsyncing the Dropbox directory to FreeBSD every so often. But I just think that it is too much for a Dropbox application. </p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.xulei.me%2F2011%2F09%2F16%2Fhomenas-reborn-with-zfs%2F&amp;title=HomeNAS%20reborn%20with%20ZFS" id="wpa2a_6">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.xulei.me/2011/09/16/homenas-reborn-with-zfs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google intern summary 1</title>
		<link>http://www.xulei.me/2011/06/28/google-intern-summary-1/</link>
		<comments>http://www.xulei.me/2011/06/28/google-intern-summary-1/#comments</comments>
		<pubDate>Tue, 28 Jun 2011 21:31:51 +0000</pubDate>
		<dc:creator>xulei</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[intern]]></category>

		<guid isPermaLink="false">http://www.xulei.me/?p=39</guid>
		<description><![CDATA[Three busy weeks have passed by. For most of the time, I was attending tutorials, reading documents and at the end of this period, I was writing documents. Yes, no a single line of code I wrote. Google has fantastic infrastructures for developments and a bunch of awesome people giving tutorials to us nooglers (a.k.a [...]]]></description>
			<content:encoded><![CDATA[<p>Three busy weeks have passed by. For most of the time, I was attending tutorials, reading documents and at the end of this period, I was writing documents. Yes, no a single line of code I wrote.  </p>
<p>Google has fantastic infrastructures for developments and a bunch of awesome people giving tutorials to us nooglers (a.k.a new googlers). Though there are plenty of stuffs that are confidential, I would like to write down some other public parts that I feels very useful here:</p>
<ol>
<li>Yeah, they use TDD as well! I personally transfer one of my most important projects at school from using <a href="http://sourceforge.net/apps/mediawiki/cppunit/index.php?title=Main_Page">cppuint</a> to <a href="http://code.google.com/p/googletest/">google test</a></li>
<li>Unit tests should be as short/fast as possible. They should not rely on any other components, e.g file system, database, and so. Since once you have tens of thousands of test cases, those slow tests would kill the productively of the entire team.</li>
<li>Do not implement the functions that not necessary for now. If you need this interface, then put an assert in this function in case someone mistakenly use it</li>
<li>Automatic, Automatic, Automatic.</li>
<li><strong>Code is a piece of knowledge. Reuse it whenever is possible</strong></li>
</ol>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.xulei.me%2F2011%2F06%2F28%2Fgoogle-intern-summary-1%2F&amp;title=Google%20intern%20summary%201" id="wpa2a_8">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.xulei.me/2011/06/28/google-intern-summary-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Got google summer internship</title>
		<link>http://www.xulei.me/2011/04/02/got-google-summer-internship/</link>
		<comments>http://www.xulei.me/2011/04/02/got-google-summer-internship/#comments</comments>
		<pubDate>Sat, 02 Apr 2011 20:37:58 +0000</pubDate>
		<dc:creator>xulei</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.xulei.me/?p=35</guid>
		<description><![CDATA[I am so excited to get the google summer internship this year for a great matched team, the storage team for Google Apps. Two back-to-back tech phone screens were taken at the last Monday (March 21). I felt good about the most of the questions except the last one, for which my brain was shortcut [...]]]></description>
			<content:encoded><![CDATA[<p>I am so excited to get the google summer internship this year for a great matched team, the storage team for Google Apps. Two back-to-back tech phone screens were taken at the last Monday (March 21). I felt good about the most of the questions except the last one, for which my brain was shortcut due to a very bad sleep last night ( less than 2 hours, maybe I was too nervous). However, I still got an email to tell me I passed the tech interview at that Wed. . At the next Thus., I got a Host Interview with the target team. The process was very smooth. It was basically exchange the informations of their projects and my personal experiences, and I got the offer for just 10 minutes. Everything works more smoothly than I expected.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.xulei.me%2F2011%2F04%2F02%2Fgot-google-summer-internship%2F&amp;title=Got%20google%20summer%20internship" id="wpa2a_10">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.xulei.me/2011/04/02/got-google-summer-internship/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Reading: Cheap and Large CAMS for High Performance Data-Intensive Network Systems (NSDI&#8217;10)</title>
		<link>http://www.xulei.me/2011/02/04/cheap-and-large-cams/</link>
		<comments>http://www.xulei.me/2011/02/04/cheap-and-large-cams/#comments</comments>
		<pubDate>Fri, 04 Feb 2011 07:02:59 +0000</pubDate>
		<dc:creator>xulei</dc:creator>
				<category><![CDATA[Reading]]></category>
		<category><![CDATA[bloomfilter]]></category>
		<category><![CDATA[NSDI]]></category>
		<category><![CDATA[paper]]></category>
		<category><![CDATA[reading]]></category>

		<guid isPermaLink="false">http://www.xulei.me/?p=34</guid>
		<description><![CDATA[This paper presents how to build cheap and large CAMs (what&#8217;s CAM?) using a combination of DRAM and flash memory(SSD) to balance the cost and query latency. The main approach of this work is building multiple small hash tables, which are stored on SSD, and holding a two-level bloom-filter in RAM to provide fast hash [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://pages.cs.wisc.edu/~akella/papers/bufferhash-nsdi10.pdf">This paper</a> presents how to build cheap and large CAMs (what&#8217;s CAM?) using a combination of DRAM and flash memory(SSD) to balance the cost and query latency. The main approach of this work is building multiple small hash tables, which are stored on SSD, and holding a two-level bloom-filter in RAM to provide fast hash value lookup. As the author claimed, this work aims to improve the lookup latency but not throughput. By grouping hash values into small groups and flush them in batch mode, it reduces the latency of the costly in-place insert/delete on SSD devices.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.xulei.me%2F2011%2F02%2F04%2Fcheap-and-large-cams%2F&amp;title=Reading%3A%20Cheap%20and%20Large%20CAMS%20for%20High%20Performance%20Data-Intensive%20Network%20Systems%20%28NSDI%26%238217%3B10%29" id="wpa2a_12">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.xulei.me/2011/02/04/cheap-and-large-cams/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Developing environment for solo developer</title>
		<link>http://www.xulei.me/2011/02/01/developing-environment-for-solo-developer/</link>
		<comments>http://www.xulei.me/2011/02/01/developing-environment-for-solo-developer/#comments</comments>
		<pubDate>Tue, 01 Feb 2011 22:16:09 +0000</pubDate>
		<dc:creator>xulei</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Programing]]></category>
		<category><![CDATA[buildbot]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[productive]]></category>
		<category><![CDATA[trac]]></category>

		<guid isPermaLink="false">http://www.xulei.me/?p=32</guid>
		<description><![CDATA[Yes, I am still a computer science Ph.D student right now. Therefore, for my long-term research projects, there is nobody taking charge of building automatically test environments, document management, several platform configurations and so on. I have to build my own to fit my specific workloads: typically a project starts from collecting ideas (head storms), [...]]]></description>
			<content:encoded><![CDATA[<p>Yes, I am still a computer science Ph.D student right now. Therefore, for my long-term research projects, there is nobody taking charge of building automatically test environments, document management, several platform configurations and so on. I have to build my own to fit my specific workloads: typically a project starts from collecting ideas (head storms), looking for solutions, prototyping and do some experiments. I know, normally, you will create several directories on you laptop, and put files into it. But I want more than that. As worked in giant internet company, software company and start-ups, I have learnt the importances of developing processes. Therefore I built my working environment as following:</p>
<ol>
<li>Version control: <a href="http://git-scm.com/">git</a>. Git is powerful and light-weight. It does not require any centralized server, which makes it is super easy to create to use in my daily development and writing processes. One killer feature of git is its lightweight branch operation, which is great for you to prototyping a new experimental features. However, the official documents suck for newbies, if you wanna learn git, go <a href="http://progit.org/book/">Pro Git Book</a> first.</li>
<li><a href="http://trac.edgewall.org/">Trac</a>, trac is a feature-rich SCM system written in Python with wiki, issue tracking, source browsing features. I have used Trac since 2005 for several projects. It is not as fancy as <a href="http://www.github.com">Github</a>. But it is still a good choice if you have no willings to spend extra money on your private projects. Moreover, Trac has git plugin to observe local git repository.</li>
<li>Continuous Integration(CI). I set up a C.I server in our research lab, because it has a public URL to access. For C.I server I chose <a href="http://trac.buildbot.net/">Buildbot</a>, and set up two build slaves on Ubuntu Server and Mac OSX , respectively. Since I use my macbook pro as the primary development platform, but do not expect to &#8220;accidentally&#8221; figure out my projects are not working on Ubuntu for months.  Under such configuration, the buildbot runs a fully integration tests on the fresh checked out source codes for each commits. What is missing here is that there is no continuous performance tests here, which I am still looking for an elegant solution.</li>
</ol>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.xulei.me%2F2011%2F02%2F01%2Fdeveloping-environment-for-solo-developer%2F&amp;title=Developing%20environment%20for%20solo%20developer" id="wpa2a_14">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.xulei.me/2011/02/01/developing-environment-for-solo-developer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Note: Move MySQL database to another location</title>
		<link>http://www.xulei.me/2011/01/04/note-move-mysql-database-to-another-location/</link>
		<comments>http://www.xulei.me/2011/01/04/note-move-mysql-database-to-another-location/#comments</comments>
		<pubDate>Wed, 05 Jan 2011 03:15:51 +0000</pubDate>
		<dc:creator>xulei</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[note]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.xulei.me/?p=29</guid>
		<description><![CDATA[For the purpose to evaluate the performance of MySQL database on Ubuntu, I have to move it to an separated disk. I write the steps here for future use: mkdir /mnt/test/mysql and chmod -R mysql:mysql /mnt/test/mysql Stop mysql cp -rp /var/lib/mysql/mysql /var/lib/mysql/otherdb /mnt/test/mysql Modify /etc/mysql/my.cnf, find the line with datadir = /var/lib/mysql , then change [...]]]></description>
			<content:encoded><![CDATA[<p>For the purpose to evaluate the performance of MySQL database on Ubuntu, I have to move it to an separated disk. I write the steps here for future use:</p>
<ol>
<li>
<div class="codecolorer-container text twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mkdir /mnt/test/mysql</div></div>
<p>and</p>
<div class="codecolorer-container text twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">chmod -R mysql:mysql /mnt/test/mysql</div></div>
</li>
<li>Stop mysql</li>
<li>
<div class="codecolorer-container text twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">cp -rp /var/lib/mysql/mysql /var/lib/mysql/otherdb /mnt/test/mysql</div></div>
</li>
<li>Modify /etc/mysql/my.cnf, find the line with
<div class="codecolorer-container text twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">datadir = /var/lib/mysql</div></div>
<p>, then change it to</p>
<div class="codecolorer-container text twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">datadir = /mnt/test/mysql</div></div>
</li>
<li>Note: change
<div class="codecolorer-container text twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">/etc/apparmor.d/usr.sbin.mysqld</div></div>
<p>to grant the execution privileges to</p>
<div class="codecolorer-container text twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">/mnt/test/mysql</div></div>
</li>
<li>Restart apparmor and mysql</li>
</ol>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.xulei.me%2F2011%2F01%2F04%2Fnote-move-mysql-database-to-another-location%2F&amp;title=Note%3A%20Move%20MySQL%20database%20to%20another%20location" id="wpa2a_16">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.xulei.me/2011/01/04/note-move-mysql-database-to-another-location/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A sed script to extract file name from trace file</title>
		<link>http://www.xulei.me/2010/12/25/a-sed-script-to-extract-file-name-from-trace-file/</link>
		<comments>http://www.xulei.me/2010/12/25/a-sed-script-to-extract-file-name-from-trace-file/#comments</comments>
		<pubDate>Sat, 25 Dec 2010 22:15:09 +0000</pubDate>
		<dc:creator>xulei</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[notes]]></category>
		<category><![CDATA[sed]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://www.xulei.me/?p=26</guid>
		<description><![CDATA[The following script is used to extract the full path from a file. sed -En 's#^[^/]+(/([^ ])+).+#\1#gp' &#60; trace.txt]]></description>
			<content:encoded><![CDATA[<p>The following script is used to extract the full path from a file.</p>
<div class="codecolorer-container text twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sed -En 's#^[^/]+(/([^ ])+).+#\1#gp' &lt; trace.txt</div></div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.xulei.me%2F2010%2F12%2F25%2Fa-sed-script-to-extract-file-name-from-trace-file%2F&amp;title=A%20sed%20script%20to%20extract%20file%20name%20from%20trace%20file" id="wpa2a_18">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.xulei.me/2010/12/25/a-sed-script-to-extract-file-name-from-trace-file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reading: Debunking the 100X GPU vs. CPU Myth</title>
		<link>http://www.xulei.me/2010/12/02/100x-gpu-cpu-myth/</link>
		<comments>http://www.xulei.me/2010/12/02/100x-gpu-cpu-myth/#comments</comments>
		<pubDate>Fri, 03 Dec 2010 05:09:18 +0000</pubDate>
		<dc:creator>xulei</dc:creator>
				<category><![CDATA[Reading]]></category>
		<category><![CDATA[gpgpu]]></category>
		<category><![CDATA[isca]]></category>
		<category><![CDATA[manycores]]></category>
		<category><![CDATA[reading]]></category>

		<guid isPermaLink="false">http://www.xulei.me/?p=23</guid>
		<description><![CDATA[This paper comes from ISCA&#8217;10. This paper re-evaluates the performance gap, especially for high throughput computing, between CPU and GPU. Contrast to the previous papers it mentioned claimed 100x performance differences between CPU and GPU, with appropriate optimizations, the performance gap between CPU (Intel Core i7 960) and Nvidia GTX280 narrows to only 2.5x on [...]]]></description>
			<content:encoded><![CDATA[<p>This paper comes from <a href="http://isca2010.inria.fr/">ISCA&#8217;10</a>.</p>
<p>This paper re-evaluates the performance gap, especially for high throughput computing, between CPU and GPU. Contrast to the previous papers it mentioned claimed 100x performance differences between CPU and GPU, with appropriate optimizations, the performance gap between CPU (Intel Core i7 960) and Nvidia GTX280 narrows to only 2.5x on average. The main factors that impact performance differences between CPU and GPU are:</p>
<ol>
<li>Bandwidth</li>
<li>Compute Flops</li>
<li>Cache</li>
<li>Gather/Scatter</li>
<li>Reduction and Synchronization</li>
</ol>
<p>CPUs have large cache but CPUs have higher bandwidth. Thus the average performance gaps between these two are not that extreme huge depended on the characteristics of workloads.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.xulei.me%2F2010%2F12%2F02%2F100x-gpu-cpu-myth%2F&amp;title=Reading%3A%20Debunking%20the%20100X%20GPU%20vs.%20CPU%20Myth" id="wpa2a_20">Share/Bookmark</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.xulei.me/2010/12/02/100x-gpu-cpu-myth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

