<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>distributed-computing &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://wordpress.com/tag/distributed-computing/</link>
	<description>Feed of posts on WordPress.com tagged "distributed-computing"</description>
	<pubDate>Sun, 20 Jul 2008 06:04:07 +0000</pubDate>

	<generator>http://wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[The World Community Grid]]></title>
<link>http://funes.wordpress.com/?p=1859</link>
<pubDate>Wed, 25 Jun 2008 10:17:11 +0000</pubDate>
<dc:creator>Autochon</dc:creator>
<guid>http://funes.wordpress.com/?p=1859</guid>
<description><![CDATA[Don&#8217;t just waste those unattended CPU cycles: devote them to science and charity!
]]></description>
<content:encoded><![CDATA[<p><a href="http://www.worldcommunitygrid.org/">Don't just waste those unattended CPU cycles: devote them to science and charity</a>!</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Diagonal scaling, diminishing returns]]></title>
<link>http://clarification.wordpress.com/?p=199</link>
<pubDate>Thu, 05 Jun 2008 08:30:20 +0000</pubDate>
<dc:creator>clarification</dc:creator>
<guid>http://clarification.wordpress.com/?p=199</guid>
<description><![CDATA[
Diagonal scaling is making a site faster by removing machines. The term was created by John Allspaw]]></description>
<content:encoded><![CDATA[<p><a href="http://clarification.wordpress.com/files/2008/06/scaling-up-and-out.gif"></a></p>
<p>Diagonal scaling is making a site faster by removing machines. The term was created by <a href="http://www.kitchensoap.com/about/" target="_blank">John Allspaw</a>, the operations manager of <a href="http://www.flickr.com">Flickr</a>, who <a href="http://www.kitchensoap.com/2007/08/20/making-a-site-faster-by-removing-machines/" target="_blank">replaced 67 dual-cpu boxes with 18 dual quad-core machines and recovered almost 4x rack space and reduced costs by about 50%</a></p>
<p><a href="http://www.scalingout.com/2007/10/vertical-scaling-vs-horizontal-scaling.html" target="_blank">Horizontal scaling</a> (scaling out) means adding or removing client workstations with only a slight performance impact. Vertical scaling (scaling up) means migrating to a larger and faster server machine or multiservers.</p>
<p><a href="http://clarification.wordpress.com/files/2008/06/scaling-up-and-out1.gif"><img class="alignnone size-thumbnail wp-image-204" src="http://clarification.wordpress.com/files/2008/06/scaling-up-and-out1.gif?w=128" alt="" width="128" height="94" /></a></p>
<p>See a <a href="http://news.zdnet.com/2422-13569_22-155070.html" target="_blank">video</a> by CIO of CNET, on scaling <em>out </em>and don't miss <a href="http://en.wikipedia.org/wiki/Fallacies_of_Distributed_Computing" target="_blank">the 8 fallacies of distributed computing</a>... and <a href="http://feedblog.org/2007/09/23/distributed-computing-fallacy-9/" target="_blank">the 9th one!</a></p>
<p>The <a href="http://www.economyprofessor.com/economictheories/law-of-diminishing-returns.php" target="_blank">Law of Diminisging Returns</a>, referred to also as <a href="http://www.lse.co.uk/financeglossary.asp?searchTerm=variable&#38;iArticleID=2413&#38;definition=variable_factor_proportions" target="_blank">variable factor proportions</a>, states that</p>
<blockquote><p>as equal quantities of one variable factor are increased, while other factor inputs remain constant -ceteris paribus- a point is reached beyond which the addition of one more unit of the variable factor will result in a diminishing rate of return and the marginal physical product will fall.</p></blockquote>
<p>I think the reason I was associating these 2 is because I thought: In Allspaw's model of diagonal scaling, this law is not only undermined, but is infact inverted.</p>
<p>Illustration of <em>scaling up and out</em> from the <a href="http://www.microsoft.com/library/media/1033/technet/images/itsolutions/wssra/raguide/webapplicationservices/igwasb05_big.gif" target="_blank">microsoft web applications libraries</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Into the Red(mond) cloud...]]></title>
<link>http://whyamistilltyping.wordpress.com/?p=168</link>
<pubDate>Wed, 21 May 2008 11:12:41 +0000</pubDate>
<dc:creator>whyamistilltyping</dc:creator>
<guid>http://whyamistilltyping.wordpress.com/?p=168</guid>
<description><![CDATA[Microsoft has been making a lot of noise about cloud computing of late (I will talk about my take on]]></description>
<content:encoded><![CDATA[<p>Microsoft has been making a lot of noise about cloud computing of late (I will talk about my take on cloud computing another time) and it should come as no surprise that they are testing an online storage solution. Perhaps the best known product on the web that allows for remote storage of files and documents is Amazon's <a href="http://www.amazon.com/gp/browse.html?node=16427261" target="_blank">S3</a> (standing for Simple Storage Service). This coupled with the <a href="http://jungledisk.com/" target="_blank">Jungle disk</a> front-end makes enabled this reasonably priced service from Amazon to be quickly adopted by enthusiasts.</p>
<p>So what is Microsoft doing? Naturally, it is playing to its strengths by tightly integrating this online storage service to the existing Microsoft Live framework which I have never been a fan of. What started off a few years ago as a Live 'passport' to enable MSN (Windows Messenger - which I use) and email (hotmail - which I most certainly don't use) to be integrated in one service. Windows XP was the first Operating System to feature true integration by allowing each user account to associate a .Net Live passport with a user account.</p>
<p style="text-align:center;"><img class="aligncenter" src="http://whyamistilltyping.files.wordpress.com/2008/05/windowslivespaces.gif" alt="" /></p>
<p>Of late, Microsoft have really stepped up their work on the Live platform and have turned it into a real Web 2.0 fan's dream. Not only can email be accessed, but a whole load of (Microsoft hopes) Google app-killers such as Photo Gallery, Spaces (myspace style blog) as well as <a href="http://get.live.com/wl/all" target="_blank">others</a>. Although, the most telling thing about Windows Live Services, is Microsoft's choice for subdomain : "ideas.live.com" reinforcing (either intentionally or unintentionally) the experimental 'young-hip' approach which has served Google so well up to now.</p>
<p>I guess the biggest thing that irkes me about Microsoft Live services, are not the services themselves (which are actually quite good) but the corporate mentality behind them. This is best summed up in the way in which one would set about using one or more of Microsoft's Live services. For example, I wanted to give Microsoft Live Writer a go to see if it was a more comfortable way of posting to this blog, so I went to the appropriate (the <a href="http://get.live.com/writer/overview" target="_blank">specific writer program page</a>) and selected download. What downloaded was not a setup binary for Writer, but a generic installation program called WLinstaller.exe . This then tried to convince me to change my default search engine to Live Search and set my home page to MSN in Internet Explorer. Good luck with that.</p>
<p>This is what annoys me, unlike a company like Mozilla who would happily provide you the install to any of their free programs on demand, Microsoft try to convert you. Even if you want to install one program then Microsoft will preselect everything including service integrations. That is not to say they do not have good software and services, just their aggressiveness puts me off - I do not install software randomly on my systems and I strongly dislike the principle of bundled crapware.</p>
<p>But anyway, I am getting away from the point. Windows Live SkyDrive is free and offering 5Gb of storage with (presumably) no bandwidth restrictions. The service can be slow in places: creating new folders is sluggish, sometimes taking almost half a minute to allow access into the corresponding dialog. However, Once the folder is created, uploading was fast as was browsing existing folders associated with my Live account. Pictures are automatically viewed with another Microsoft Live Service namely Photo Gallery which allows for thumbnail views of your uploaded images. This is a handy, unobtrusive feature.</p>
<p style="text-align:center;"><img src="http://whyamistilltyping.files.wordpress.com/2008/05/windowsliveskydome2.gif" alt="" /></p>
<p>What particularly interests me is the way in which you can share files per users. There are three main ways to share files (of any file type), by whitelisted contacts, by the entire Internet or "for your eyes only". When specifying which contacts have access to your shared files (which you upload) you can add in a type of user privilege system. If you white-list a friend / user as a 'reader' they will only be able to view / read the files you have allowed them to see. They are unable to make any changes to your files unless you allow them 'editor' privileges.</p>
<p style="text-align:center;"><img src="http://whyamistilltyping.files.wordpress.com/2008/05/windowsliveskydome1.gif" alt="" width="404" height="262" /></p>
<p>This dramatically streamlined system allows a great deal of flexibility and I am impressed with how smooth the whole experience is. Microsoft seems to have really got this service right. I can think of a multitude of situations where this service could be useful, however I will not be using this service personally. For casual file sharing between contacts (who already have Live accounts from MSN) this could prove invaluable, but I will save a discussion of the cloud computing concept (and my reasoning behind this) for another post.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Watching Clouds &amp; Racing Particles – The Manifold Activities at CERN]]></title>
<link>http://mutablematter.wordpress.com/?p=96</link>
<pubDate>Mon, 17 Mar 2008 02:41:08 +0000</pubDate>
<dc:creator>Angela</dc:creator>
<guid>http://mutablematter.wordpress.com/?p=96</guid>
<description><![CDATA[
Source: CERN
During the pilot project, the one thing that was mentioned most often was CERN, the Eu]]></description>
<content:encoded><![CDATA[<p><img src="http://mediaarchive.cern.ch/MediaArchive/Photo/Public/2001/0107014/0107014_01/0107014_01-A5-at-72-dpi.jpg" alt="" /></p>
<p>Source: CERN</p>
<p>During the pilot project, the one thing that was mentioned most often was CERN, the European Organisation for Nuclear Research. I just had a closer look at their website tonight and found out that they have an <a href="http://lhc2008.web.cern.ch/LHC2008/index-E.html">Open Day</a> on 6 April 2008! I think I’ve just found my dream location for doing the ‘Mutable Matter’ art project! Does anyone know anyone at CERN who could allow me to do ‘science busking’ there? ;)</p>
<p>So why did so many people ‘admit’ to be curious about CERN’s activities – and what goes actually on in there? The most obvious thing to say is ‘they smash particles and see what this can tell them how things work in the universe’. However, their official website reveals many more facets of their activities.</p>
<p>Mind-gymnastics is the word that comes to my mind when reading about the back and forth between the scale of particles, our everyday world and the universe. CERN employees put together apparatuses for <a href="http://public.web.cern.ch/Public/en/Spotlight/SpotlightAMS-en.html">antimatter-searches</a> in space and even <a href="http://public.web.cern.ch/Public/en/Spotlight/SpotlightSpace-en.html">go into space</a> themselves, they <a>race neutrinos</a>, ‘routinely produce <a href="http://public.web.cern.ch/Public/en/Spotlight/SpotlightAandD-en.htm">antimatter</a>’ and even 'anti-atoms', create <a href="http://public.web.cern.ch/Public/en/Spotlight/SpotlightCool-en.html">‘The coolest place in the Universe’</a> just beneath the French/Swiss border, use <a href="http://public.web.cern.ch/Public/en/Spotlight/SpotlightGrid-en.html">computing</a> against avian flu and malaria, answer questions about claims made by <a href="http://public.web.cern.ch/Public/en/Spotlight/SpotlightAandD-en.html">science fiction novels</a> and even study our climate by looking at the interrelationship between (‘real’ and ‘home-made’) <a href="http://public.web.cern.ch/Public/en/Spotlight/SpotlightCloud-en.html">clouds</a> and cosmic rays. What a place to work! On top of all this, CERN is also monitoring its close <a href="http://environmental-impact.web.cern.ch/environmental-impact/Welcome.html">environment</a> to detect or prevent any disturbances that the creation of cosmic phenomena on an earthly scale may entail. This section also tells you that you don’t have to worry about getting ‘eaten’ by black holes or so-called <a href="http://environmental-impact.web.cern.ch/environmental-impact/en/LHCSafety/LHCSafety-en.html">‘strangelets’</a>. One could almost say ‘what a shame’… (strange images of Heidi being chased by ‘strangelets’ come to my mind)</p>
<p>The reason why CERN might be on so many people’s radar at the moment is the media coverage about the completion of the <a href="http://public.web.cern.ch/Public/en/Spotlight/SpotlightLastPuzzle-en.html">Large Hadron Collider</a> which is designed to smash protons together. Fascinating is not only what this collider does, but how <a href="http://public.web.cern.ch/Public/en/Spotlight/SpotlightBigSmall-en.html">gigantic</a> it is, how it is being put together and how it looks. While almost everybody will be in some degree of awe, there are also critical voices.<br />
Like other ‘basic science’ (!) research places, CERN also has to deal with accusations about being a waste of government money that should better be directed towards other causes. The website gives – amongst other plausible <a href="http://public.web.cern.ch/public/en/About/BasicScience-en.html">examples</a> - a very clever reason why CERN should forever be worshipped: they gave us the internet! And because friendly scientists gave us endless hours of chatroom and youtube entertainment, we can now even say ‘thank you’ by <a href="http://athome.web.cern.ch/athome/">helping them compute</a> their results! What do we learn from this? Two things: 1. CERN does just about anything regardless of scale. 2. The word <a href="http://en.wikipedia.org/wiki/Petabyte">‘petabyte’</a>.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[World Community Grid]]></title>
<link>http://khartig.wordpress.com/?p=17</link>
<pubDate>Thu, 10 Jul 2008 22:50:27 +0000</pubDate>
<dc:creator>khartig</dc:creator>
<guid>http://khartig.wordpress.com/?p=17</guid>
<description><![CDATA[Tackling the worlds problems with technology. At least that&#8217;s the goal of the World Community ]]></description>
<content:encoded><![CDATA[<p>Tackling the worlds problems with technology. At least that's the goal of the <a href="http://www.worldcommunitygrid.org">World Community Grid</a>. The organization uses <a href="http://boinc.berkeley.edu/">BOINC</a> as the infrastructure to run software on your computer using idle CPU time for processing power. Remember running SETI@Home on your computers to process of chunks of data looking for radio signals? Same technology. So there is not much new here but BOINC is still going strong and the World Community Grid is a worthy cause and a simple model to help utilize idle compute resources in a worldwide grid. Among the list of <a href="http://www.worldcommunitygrid.org/projects_showcase/viewResearch.do">active projects</a>, their latest project, launched in May 2008, aims to determine the structure of proteins in rice. With this knowledge better strains of rice can be developed for higher yield crops, stronger resistance to disease and pests and contain higher nutritional value. Hopefully working towards relieving some of the pains of world hunger.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[The Big Switch – a podcast with Nicholas Carr]]></title>
<link>http://newthink.wordpress.com/?p=57</link>
<pubDate>Tue, 08 Jul 2008 19:53:09 +0000</pubDate>
<dc:creator>bearingpointblog</dc:creator>
<guid>http://newthink.wordpress.com/?p=57</guid>
<description><![CDATA[Rather than storing data and software applications down the hall in your office or in a big data cen]]></description>
<content:encoded><![CDATA[<p><a href="http://newthink.files.wordpress.com/2008/07/bigswitchcover2thumb3.jpg"><img src="http://newthink.wordpress.com/files/2008/07/bigswitchcover2thumb3.jpg?w=90" alt="" width="90" height="116" align="right" /></a>Rather than storing data and software applications down the hall in your office or in a big data center – there is a shift towards storing them on the web. And that’s the shift that Nick Carr has built his book upon.</p>
<p>We (America) need to jump on this paradigm shift to reduce costs in this post Sarbanes Oxley and difficult economic environment if we want to gain competitive advantage for ourselves and for our country. No longer is running enterprise CRM or ERP a competitive advantage - its table stakes.</p>
<p>What does this mean for IT departments? What does this mean for your data security? And most importantly - what does the impact of distributed computing have on marketers? Check out what Nick has to say about all this …</p>
<p>[audio http://media.podcastingmanager.com/72206-80605/Media/Nicholas%20Carr%20final.mp3](The Big Switch - podcast with Nicholas Carr)</p>
<p>About Nick</p>
<p>A former executive editor of the Harvard Business Review, Nicholas Carr writes and speaks on technology, business, and culture. His 2004 book Does IT Matter?. published by Harvard Business School Press, set off a worldwide debate about the role of computers in business. His widely acclaimed new book, The Big Switch: Rewiring the World, from Edison to Google, examines the rise of "cloud computing" and its implications for business, media and society.</p>
<p>Carr writes regularly for the Financial Times, Strategy &#38; Business and The Guardian. His articles have also appeared in the New York Times, Wired, Business 2.0, The Banker, and Advertising Age as well as on his blog Rough Type. He is a member of the Encyclopedia Britannica's editorial board of advisors.</p>
<p>In 2005, Optimize magazine named Carr one of the leading thinkers on information technology, and in 2007 eWeek named him one of the 100 most influential people in IT. Earlier in his career, he was a principal at Mercer Management Consulting.</p>
<p>Carr has been a speaker at MIT, Harvard, Wharton, the Kennedy School of Government, NASA, and the Federal Reserve Bank of Dallas as well as at many industry, corporate, and professional events throughout the Americas, Europe, and Asia. He holds a B.A. from Dartmouth College and an M.A., in English literature, from Harvard University.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Network Overlays]]></title>
<link>http://khartig.wordpress.com/?p=15</link>
<pubDate>Wed, 02 Jul 2008 23:41:18 +0000</pubDate>
<dc:creator>khartig</dc:creator>
<guid>http://khartig.wordpress.com/?p=15</guid>
<description><![CDATA[Basically a network overlay is a network built upon another network. It uses the underlying network ]]></description>
<content:encoded><![CDATA[<p>Basically a network overlay is a network built upon another network. It uses the underlying network as a support infrastructure without changing it and defines its own protocols to communicate between nodes.  This adds additional capabilities to the underlying network. Many peer-to-peer networks are built in this way.</p>
<p>The nodes in the peer-to-peer network are defined logically, change dynamically, have their own protocols for discovering nodes and transferring data and utilize internet protocols. They are overlays on the internet.</p>
<p>Overlays create the potential for creating new and disruptive network and service architectures. They are easily deployed on existing host machines connected to the internet. It can provide a mechanism for services to migrate across the internet, perform dynamic discovery of remote services and become adaptive to handle failures and distributed load. These capabilities could be available across any and all computers connected to the internet.</p>
<p>There are a handful of network overlay software packages available as open source today. They provide features beyond what the internet offers. Some of the packages include:</p>
<ul>
<li><a href="http://nms.csail.mit.edu/ron/">RON</a> - to improve the availability and reliability of data packet routing</li>
<li><a href="http://pdos.csail.mit.edu/chord/">Chord</a> - used to build scalable distributed peer-to-peer systems</li>
<li><a href="http://bamboo-dht.org">Bamboo</a> - implementation of a <a href="http://en.wikipedia.org/wiki/Dht">DHT</a> algorithm for use in peer-to-peer architectures</li>
</ul>
<p>If the following can be combined:</p>
<ul>
<li>a good DHT algorithm to manage mappings of host across the internet which dynamically join and leave</li>
<li>software that discovers and host services at each node in the network</li>
</ul>
<p>This would create a very powerful implementation of an architecture supporting many different kinds of dynamic services and social networks that execute not just in the isolation of data centers but across any and all computers wishing to join the network.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Look Ma, everyone's computing out there for me!]]></title>
<link>http://hasin.wordpress.com/?p=301</link>
<pubDate>Fri, 06 Jun 2008 00:22:46 +0000</pubDate>
<dc:creator>hasin</dc:creator>
<guid>http://hasin.wordpress.com/?p=301</guid>
<description><![CDATA[SETI@Home is probably the greatest example of low cost distributed computing which become a big hit.]]></description>
<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/SETI">SETI@Home</a> is probably the greatest example of low cost distributed computing which become a big hit. After their tremendous success, many others over there started following the same strategy and used the power of distributed computing for <a href="http://en.wikipedia.org/wiki/List_of_distributed_computing_projects">other purposes like cancer research</a>. In this article I will show you how we can use the same power at almost zero cost, and specially for your web applications.  </p>
<p>As I am currently working on building an open source version of FriendFeed (<strong>not targetted to be an alternative</strong>, coz those people at FriendFeed done their job really well) and scaling such a huge load effectively at low cost, so I will mainly talk more about <a href="http://friendfeed.com">FriendFeed</a> through out this blog post and use it as an example for my proposal. </p>
<p>If you consider FriendFeed as a repository of feed URLs, a lot of peoples and how they are related to each other, you can assume how big it is or it could be in near future. And scaling such a service would cost numbers of sleepless nights of many developers out there. So in basic, lets focus where actually the problem is and how we can introduce distributed computing.</p>
<p>Beside optimizing database to serve huge sets of data, one of the main problems of such a service has to parse millions of feeds in a regular interval. If we want to bear all the loads on your server, fine, if you can afford. But what about some low cost solutions. Lets consider a simple scenario, if your application has one million of users and each of them  browse your application for 10 minutes a day, you really have 10 millions of computational power just wasting over there, in lanes and by lanes of internet - heh heh. So lets make use of such an incredible CPU power. All you have to do let the visitors machine do some calculations for you and free your server from gigantic load. </p>
<p>When the users of your application and relation among them are stored in your database, you can easily find out the first degree and second degree friends of a specific user. If you don't know what does that mean, its simple, If A is a friend of B and C is a friend of A, then A is B's first degree friend and C is B's second degree friend. For a huge social network, it may look like the following one when you visualize the relationship</p>
<p><img src='http://prblog.typepad.com/strategic_public_relation/images/2007/06/22/simple_social_network.png' /><br />
<i>image courtesy: http://prblog.typepad.com </i></p>
<p>Now what we want to do is when B is visiting our application we want to parse most of his/her second degree friends in client using his browser. So while generating the page for B, we will supply him a bunch of feed URLs, a hash of their last known update time or hash of the latest item of each of these corresponding feeds,  and a javascript based parser (for example <a href="http://code.google.com/apis/ajaxfeeds/">Google's ajax Feed API</a> would do fine) script. Now, while B is browsing our application we will parse those feeds of his second degree friends using javascript without bothering him for a single second and post back the parsed contents (after checking against the hash for really updated contents) to a server side script which will then blindly (not totally, after some validation or authentication for sure) insert those result to our database. Now when A comes and visit his page (A is C's first degree friend), he will get all the latest result from C's feeds as B has already done the parsing job for us and we have those latest result from C's feeds stored in our Database. </p>
<p>There are definitely more challenge than it is explained here, like what if a person is second degree friend of a multiple user. In such cases as we supplied last update time of these feeds while generating a page, we can calculate from server side which feeds we really want to parse. </p>
<p>And moreover, we can add more check for our javascript parser than just blindly parse those feeds. We can download a chunk of RSS or Atom feeds (using a proxy script developped using curl range options)  and read just up to the latest update time and extract the time using simple reg ex or string functions instead of downloading full feed data. Now if we know that a script is not uptodate just by downloading 1-2 killobyte of data instead of downloading full feed, parsing the xml data, it would save us more computing resources for performing other jobs. </p>
<p>But of course, you cannot live completely on your client's machine for parsing all your data. You must have several cron'd scripts to parse left overs or other feeds at server side. But what I am saying is that with little help of javascript you can make use of such a tremendous distributed computing power in your application, all at almost no cost. </p>
<p>I will come with example code once I am done developing my open source clone of FriendFeed and then I am sure, you will find it was worth writing a blog post about.</p>
<p><img src="http://www.naccq.ac.nz/bacit/0203/2004Caukill_OffPeakGrid_files/2004CaukillFigure1.jpg" alt="Distributed Computing" /><br />
<i>image courtesy: http://www.naccq.ac.nz/bacit/0203/2004Caukill_OffPeakGrid.htm</i></p>
<p>Have a nice RnDing time. :)</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Cloud Computing Thoughts]]></title>
<link>http://khartig.wordpress.com/?p=10</link>
<pubDate>Fri, 30 May 2008 21:54:08 +0000</pubDate>
<dc:creator>khartig</dc:creator>
<guid>http://khartig.wordpress.com/?p=10</guid>
<description><![CDATA[Cloud computing is becoming one of the next industry buzz words. It joins the ranks of terms includi]]></description>
<content:encoded><![CDATA[<p>Cloud computing is becoming one of the next industry buzz words. It joins the ranks of terms including: grid computing, utility computing, virtualization, clustering, etc. Cloud computing overlaps some of the concepts of distributed, grid and utility computing, however it does have its own meaning if contextually used correctly. The conceptual overlap is partly due to technology changes, usages and implementations over the years. Trends in usage of the terms from <a href="http://www.google.com/trends">Google</a> searches shows Cloud Computing is a relatively new term introduced in the past year. There has also been a decline in general interest of Grid, Utility and Distributed computing.  Likely they will be around in usage for quit a while to come.  But Cloud computing has become the new buzz word driven largely by marketing and service offerings from big corporate players like Google, IBM and Amazon.</p>
<div id="legend">
<table border="0" cellspacing="0">
<tbody>
<tr>
<td><strong><span style="color:#4684ee;">* distributed computing</span><br />
</strong></td>
<td><strong><span style="color:#dc3912;"> * grid computing</span><br />
</strong></td>
<td><strong><span style="color:#ff9900;"> * utility computing</span><br />
</strong></td>
<td><strong><span style="color:#008000;"> * cloud computing</span><br />
</strong></td>
</tr>
</tbody>
</table>
</div>
<p><a href="http://khartig.files.wordpress.com/2008/05/trends1.png"><img class="alignnone size-full wp-image-12" src="http://khartig.wordpress.com/files/2008/05/trends1.png" alt="term trends graph" width="467" height="209" /></a></p>
<p>The term cloud computing probably comes from (at least partly) the use of a cloud image to represent the Internet or some large networked environment. We don't care much what's in the cloud or what goes on there except that we depend on reliably sending data to and receiving data from it. Cloud computing is now associated with a higher level abstraction of the cloud. Instead of there being data pipes, routers and servers, there are now services. The underlying hardware and software of networking is of course still there but there are now higher level service capabilities available used to build applications. Behind the services are data and compute resources. A user of the service doesn't necessarily care about how it is implemented, what technologies are used or how it's managed. Only that there is access to it and has a level of reliability necessary to meet the application requirements.</p>
<p>In essence this is distributed computing. An application is built using the resource from multiple services potentially from multiple locations. At this point, typically you still need to know the endpoint to access the services rather than having the cloud provide you available resources. This is also know as Software as a Service. Behind the service interface is usually a grid of computers to provide the resources. The grid is typically hosted by one company and consists of a homogeneous environment of hardware and software making it easier to support and maintain. (note: my definition of a grid is different from the <a href="http://en.wikipedia.org/wiki/Grid_computing">wikipedia definition</a>, but homogeneous environments in data centers is typically what I have run across). Once you start paying for the services and the resources utilized, well that's utility computing.</p>
<p>Cloud computing really is accessing resources and services needed to perform functions with dynamically changing needs. An application or service developer requests access from the cloud rather than a specific endpoint or named resource. What goes on in the cloud manages multiple infrastructures across multiple organizations and consists of one or more frameworks overlaid on top of the infrastructures tying them together. Frameworks provide mechanisms for:</p>
<ul>
<li>self-healing</li>
<li>self monitoring</li>
<li>resource registration and discovery</li>
<li>service level agreement definitions</li>
<li>automatic reconfiguration</li>
</ul>
<p>The cloud is a virtualization of resources that maintains and manages itself. There are of course people resources to keep hardware, operation systems and networking in proper order. But from the perspective of a user or application developer only the cloud is referenced. The <a href="https://sourceforge.net/projects/assimilator/">Assimilator</a> project is a framework that executes across a heterogeneous environment in a local area network providing a local cloud environment. In the works is the addition of a network overlay to start providing an infrastructure across the Internet to help achieve the goal of true cloud computing.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Simple RMI Example]]></title>
<link>http://developerspoint.wordpress.com/?p=7</link>
<pubDate>Wed, 28 May 2008 21:26:08 +0000</pubDate>
<dc:creator>prajwalan</dc:creator>
<guid>http://developerspoint.wordpress.com/?p=7</guid>
<description><![CDATA[Credits:
1) http://java.sun.com/javase/technologies/core/basic/rmi/whitepaper/index.jsp
2) Advanced ]]></description>
<content:encoded><![CDATA[<p>Credits:<br />
1) <a href="http://java.sun.com/javase/technologies/core/basic/rmi/whitepaper/index.jsp">http://java.sun.com/javase/technologies/core/basic/rmi/whitepaper/index.jsp</a><br />
2) Advanced Java 2 How to program, Deitel and Deitel</p>
<p>Java Remote Method Invocation (RMI) allows you to write distributed objects using Java. RMI provides a simple and direct model for distributed computation with Java objects. These objects can be new Java objects, or can be simple Java wrappers around an existing API. Java embraces the "Write Once, Run Anywhere model. RMI extends the Java model to be run everywhere."</p>
<p>Because RMI is centered around Java, it brings the power of Java safety and portability to distributed computing. You can move behavior, such as agents and business logic, to the part of your network where it makes the most sense. When you expand your use of Java in your systems, RMI allows you to take all the advantages with you.</p>
<p>In this example, we store the Traveler’s Forecast information in an RMI remote object that accepts requests for weather information through remote method calls. This example is an abridged version of the one given in Advaned Java 2 How to Program.</p>
<p>The four major steps in this example include:</p>
<p>1. Defining a remote interface that declares methods that clients can invoke on the remote object.<br />
2. Defining the remote object implementation for the remote interface. [Note: By convention, the remote object implementation class has the same name as the remote interface and ends with Impl.]<br />
3. Defining the client application that uses a remote reference to interact with the interface implementation (i.e., an object of the class that implements the remote interface).<br />
4. Compiling and executing the remote object and the client.</p>
<p>Detailed steps are as below.</p>
<p>Step 1: Defining the remote interface</p>
<pre><code>
import java.rmi.*;
public interface WeatherService extends Remote
{
public String getWeatherInformation() throws RemoteException;
}
</code></pre>
<p>Step 2: Defining the remote object implementation</p>
<pre><code>
import java.rmi.*;
import java.rmi.server.*;

public class WeatherServiceImpl extends UnicastRemoteObject
implements WeatherService
{

public String weatherInformation = null;
public WeatherServiceImpl() throws RemoteException
{
 super();
 updateWeatherInformation();
}

public String getWeatherInformation() throws RemoteException
{
return weatherInformation;
}

public void updateWeatherInformation()
{
 weatherInformation = "Snowing";
}

public static void main(String[] args) throws Exception
{
System.out.println("Starting WeatherService...");
WeatherService weatherService = new WeatherServiceImpl();
String objectURL = "rmi://129.241.146.251:1099/WeatherService";
Naming.rebind(objectURL, weatherService);

System.out.println("WeatherService Running...");
}
}
</code></pre>
<p>Step 3: Defining the Client</p>
<pre><code>
import java.rmi.*;
public class WeatherServiceClient
{
public WeatherServiceClient(String server)
{
String remoteName = "rmi://" + server + ":1099/WeatherService";
try
{
WeatherService weatherService = (WeatherService)Naming.lookup(remoteName);
String weatherInformation = null;
weatherInformation = weatherService.getWeatherInformation();
System.out.println("Received Weather Information: " + weatherInformation);
}
catch(Exception e)
{
e.printStackTrace();
}
}

public static void main(String[] args)
{
WeatherServiceClient wsc = new WeatherServiceClient("129.241.146.251");
}
}
</code></pre>
<p>Step 4: Running the RMI Registry</p>
<p>The next step is to start the RMI registry with which the WeatherServiceImpl object will register. The command line rmiregistry launches the RMI registry on the local machine.</p>
<p>Step 5: Compiling and Running the server<br />
javac WeatherServerImpl.java<br />
java WeatherServerImpl</p>
<p>Step 6:Compiling and Running the client<br />
javac WeatherServiceClient.java<br />
java WeatherServiceClient</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Nati's Influence]]></title>
<link>http://gilkalai.wordpress.com/?p=9</link>
<pubDate>Sun, 25 May 2008 21:07:44 +0000</pubDate>
<dc:creator>Gil Kalai</dc:creator>
<guid>http://gilkalai.wordpress.com/?p=9</guid>
<description><![CDATA[   
 
When do we say that one event causes another? Causality is a topic of great interest in s]]></description>
<content:encoded><![CDATA[<p><a href="http://gilkalai.files.wordpress.com/2008/04/nati1.jpg"><img class="alignnone size-medium wp-image-36" src="http://gilkalai.wordpress.com/files/2008/04/nati1.jpg?w=300" alt="" width="300" height="225" /></a>   </p>
<p> </p>
<p>When do we say that one event causes another? Causality is a topic of great interest in statistics, physics, philosophy, law, economics, and many other places. Now, if <strong><a title="wikipidea-causality" href="http://en.wikipedia.org/wiki/Causality" target="_blank">causality</a></strong> is not complicated enough, we can ask what is the <strong>influence</strong> one event has on another one.  Michael Ben-Or and Nati Linial wrote a paper in 1985 where they studied the notion of influence in the context of <strong>collective coin flipping</strong>. The title of the post refers also to Nati's influence on my work since he got me <a title="jeff&#38;me" href="http://www.ma.huji.ac.il/~kalai/P133.jpg" target="_blank">and</a> Jeff Kahn interested in a conjecture from this paper.  </p>
<h2>Influence </h2>
<p>The word "influence" (dating back, according to Merriam-Webster dictionary, to the 14th century) is close to the word "fluid".  The original definition of influence is: "an ethereal fluid held to flow from the stars and to affect the actions of humans." The modern meaning (according to Wictionary) is: "The power to affect, control or manipulate something or someone."</p>
<p> </p>
<h2>Ben-Or and Linial's definition of influence</h2>
<p>Collective coin flipping refers to a situation where n processors or agents wish to agree on a common random bit. Ben-Or and Linial considered very general protocols to reach a single random bit, and also studied the simple case where the collective random bit is described by a Boolean function $latex f(x_1,x_2,\dots,x_n)$ of n bits, one contributed by every agent. If all agents act appropriately the collective bit will be '1' with probability 1/2. The purpose of collective coin flipping is to create a random bit R which is immune as much as possible against attempts of one or more agents to bias it towards '1' or '0'.<!--more--></p>
<p>Given such a protocol, the influence of a set S of agents towards '0' is the probability that R=0 if the agents in S try to tilt the outcomes of the coin flipping towards '0' as much as possible. The influence towards '1' is defined in the same way. And the influence of S is the sum of these two quantities. To make the definition clearer we should explain what the agent in S can do. Here we assume that in case of simultaneous action by all agents, the "bad guys" can wait to the contributions of all other agents before making their move. The bad guys can only change their inputs to the procedure.</p>
<p><strong>Notations</strong>: When the protocol is denoted by $latex f$, for a set $latex S$ of processors, denote by $latex I^+_S(f)$ their influence toward '1', by $latex I^-_S(f)$ their influence toward '0', and let $latex I_S(f)= I^+_S(f)+I^-_S(f)$. The influence of a single processor $latex k$ is denoted by $latex I_k(f)$ and the sum $latex I(f) = I_1(f)+ I_2(f)+ \dots +I_n(f)$ is called the <strong>total influence</strong> of $latex f$. (In the Boolean case we refer to a "processor" or "agent" simply as a variable, and talk about influence of a variable, and influence of a set of variables.)</p>
<h2>Notions of powers </h2>
<p>Boolean functions can be regarded as "voting rules". A Boolean function describes a way to move from the votes of n voters between two candidates to the collective decision of the society. Thinking of Boolean functions as voting rules provides nice names for special kinds of Boolean functions. "Dictatorship" refers to functions of the form $latex f(x_1,x_2,\dots, x_n)=x_k$. For the "majority function" (when $latex n$ is odd) the value of $latex f$ is '1' if and only if for more than half the variables $latex x_k =1$. For monotone Boolean functions, the influence of the kth variable coincides with the "Banzhaf power index" defined in game theory. Another related important notion of power is the Shapley-Shubik power index.    </p>
<h2> </h2>
<h2>The KKL Theorem</h2>
<p> <a href="http://gilkalai.files.wordpress.com/2008/05/kkl_004.jpg"><img class="alignnone size-medium wp-image-72" src="http://gilkalai.wordpress.com/files/2008/05/kkl_004.jpg?w=300" alt="KKL Boulevards" width="300" height="225" /></a></p>
<p><span style="color:#ff0000;">Picture: Muli Safra</span></p>
<p>After many months of working on the conjecture, Jeff, Nati, and I managed to prove it. Let $latex f(x_1,x_2,\dots,x_n)$ be a Boolean function.</p>
<p><strong>Theorem 1 (KKL): </strong>If the $latex \mu (f)=t$ then there exists a variable k so that $latex I_k(f) \ge K t (1-t) \log n/n$.</p>
<p>A repeated application of this theorem shows that:</p>
<p><strong>Theorem 2 (KKL): </strong>If the $latex \mu (f)=1/2$ then there exists a set S of $latex K(\epsilon) n/\log n$ variables so that $latex I_S(f) \ge 1-\epsilon $.</p>
<h2> </h2>
<h2>Examples, examples</h2>
<p><strong>Majority</strong></p>
<p>For the majority function with n variables the influence of every variable is proportional to $latex \sqrt n$.  </p>
<p><strong><span style="color:#000000;">The tribes example</span></strong></p>
<p><a class="image" title="Map of Prussian tribes in the 13th century. The indicated cities/castles were built by the Teutonic Knights to facilitate the conquest." href="http://gilkalai.wordpress.com/wiki/Image:Prussian_clans_13th_century.png"></a></p>
<p>This is the basic example of Ben-Or and Linial for Boolean functions with low influence. The society is divided into a large number of tribes, each having $latex \log n - \log \log n +\log \log e$ members. The value of f is one if and only if there exists a tribe whose members all vote '1'. For this example the influence of every variable is $latex \theta (\log n /n)$.  </p>
<p> </p>
<p><strong></strong> <a title="tribes and influence" href="http://www.westfieldpremiersscholarship.dpc.wa.gov.au/images/tribes_trail_lg.jpg" target="_blank"><img style="border-right:1px solid;border-top:1px solid;border-left:1px solid;border-bottom:1px solid;" src="http://tbn0.google.com/images?q=tbn:y1_p6IQaxOdjSM:http://www.westfieldpremiersscholarship.dpc.wa.gov.au/images/tribes_trail_lg.jpg" alt="" width="140" height="104" /></a>  <a title="tribes of England" href="http://www.downau.com/publications/articles/History%20of%20Scotland_files/image019.jpg" target="_blank"><img style="border-right:1px solid;border-top:1px solid;border-left:1px solid;border-bottom:1px solid;" src="http://tbn0.google.com/images?q=tbn:b4BbeX8lsIf6WM:http://www.downau.com/publications/articles/History%2520of%2520Scotland_files/image019.jpg" alt="" width="91" height="141" /></a></p>
<p><strong><a title="tribes and influence" href="http://www.westfieldpremiersscholarship.dpc.wa.gov.au/images/tribes_trail_lg.jpg" target="_blank"></a></strong></p>
<p><strong></strong> The next two examples represent more complicated protocols for collective coin flipping. (Not just Boolean functions.) </p>
<p><strong>Mike Saks' "passing the baton" example</strong></p>
<p>We start with some voter who holds the baton. This voter passes the baton to another random voter. Every voter who gets the baton passes it to a random voter who did not yet hold it. The last voter to hold the baton chooses the random collective bit. In this example, $latex o(n/\log n)$ bad agents cannot tilt the outcome significantly. (The best strategy for the "bad guys" is to pass the baton to a "good guy".)</p>
<p><a title="baton" href="http://ispr.gov.pk/images/Big%20Images/28-Nov-200703.jpg" target="_blank"><img style="border-right:1px solid;border-top:1px solid;border-left:1px solid;border-bottom:1px solid;" src="http://tbn0.google.com/images?q=tbn:zQSIp8F6iUAMmM:http://ispr.gov.pk/images/Big%2520Images/28-Nov-200703.jpg" alt="" width="150" height="125" /></a>   <a title="baton" href="http://drreeves.com/Baton%20passing.jpg" target="_blank"><img style="border-right:1px solid;border-top:1px solid;border-left:1px solid;border-bottom:1px solid;" src="http://tbn0.google.com/images?q=tbn:mfFl1gvX6i0c3M:http://drreeves.com/Baton%2520passing.jpg" alt="" width="135" height="90" /></a></p>
<p><strong>Uri Feige's "two rooms" example</strong> </p>
<p>Every agent enters at random one out of two rooms. The room with fewer agents is selected and every agent in this room enters at random one out of two rooms. This process is continued (more or less) and at the end, as before, the last remaining agent contributes the collective random bit.</p>
<p>This process is immune against a constant number of "bad guys". (The first such example was found by Noga Alon and Moni Naor.) The number of rounds in this protocol (appropriately optimized) goes to infinity extremely slowly. It is not known whether there is a protocol with similar properties with a bounded number of rounds. </p>
<h2>Influence and threshold behavior</h2>
<p>Consider a monotone Boolean function $latex f(x_1,x_2,\dots,x_n)$. Let $latex \mu_p$ be the product probability space where for every bit $latex \mu_p(x_i=1)=p.$ The definition of influence extends without change to the setting of biased product distribution. The influence of the $latex k$th variable on the Boolean function f with respect to $latex \mu_p$ is denoted by $latex I_k^p(f)$. The probability $latex \mu_p (f)$ that $latex f(x_1,x_2,\dots,x_n)=1$ is a monotone function in $latex p$ and <strong><span style="color:#000000;">Russo's lemma </span></strong>asserts that the derivative of $latex \mu_p (f)$ with respect to $latex p$ is precisely the total influence $latex I^p(f)$. Therefore, large influence is related to "sharp threshold behavior". Namely, to a very short interval between the value of $latex p$ where $latex \mu_p(f)$ is very close to 0, and the value of $latex p$ where $latex \mu_p(f)$ is very close to 1. Simple consequences of KKL's theorem to the study of threshold behavior were noted by Ehud Friedgut and me, and Friedgut found an important <a title="Friedgut's theorem" href="http://www.ma.huji.ac.il/~ehudf/docs/thre.ps" target="_blank">theorem</a> giving conditions for sharp threshold behavior when p itself is a function of n. Muli Safra and I wrote a <a title="influence and threshold" href="http://econpapers.repec.org/paper/hujdispap/dp398.htm" target="_blank">survey paper </a>on influences and threshold behavior. </p>
<p> </p>
<h2>Aggregation of information and Condorcet's Jury theorem</h2>
<p>Four sentences about the connection with Game Theory: The sharp threshold phenomenon is called in economics "asymptotically complete aggregation of information". This property goes back to an old theorem from the theory of voting called "<a title="CJT" href="http://en.wikipedia.org/wiki/Condorcet's_jury_theorem" target="_blank">Condorcet's Jury Theorem</a>". The Shapley-Shubik power index, mentioned above, can be defined as the integral $latex \int_0^1 I_k^p(f)dp$.  (This is not the original axiomatic definition but a later Theorem by Owen.) It turns out that for a sequence of monotone Boolean functions, "sharp threshold phenomenon" is equivalent to "diminishing individual Shapley-Shubik power indices". (But the quantitative aspects of this result are not satisfactory.)     </p>
<p> </p>
<h2>Influence without independence</h2>
<p>A major conceptual challenge is to understand the concept of influence (and related notions of "sharp threshold phenomenon") for distributions which are not product distributions, namely when the probabilities for individual bits to be '1' are <strong>not</strong> statistically independent. Does an observer in a committee meeting have an influence? Can there be a negative influence? Moving away from statistical independence is often very difficult and yet very important for most applications. This issue is addressed in the paper of <a title="Grimmett&#38;Graham" href="http://arxiv.org/abs/math.PR/0505057" target="_blank">Graham and Grimmett</a>, and that of <a title="HKM" href="http://econpapers.repec.org/paper/hujdispap/dp363.htm" target="_blank">Haggstrom, Mossel, and myself</a>.</p>
<h2> </h2>
<h2>Two old conjectures about influence</h2>
<p>There are quite a few problems regarding influences which remained unsolved. I will mention only two related conjectures both dealing with the Boolean case.</p>
<p><strong>Conjecture 1:</strong> <strong>(Benny Chor): </strong>Suppose that $latex \mu(f)=1/2$ there is $latex c&#62;0$, such that there is a set $latex S, &#124;S&#124;= n/10$  with $latex I_S(f) =1-\exp (cn)$.</p>
<p><strong>Conjecture 2</strong>: Suppose that $latex \mu(f) = 0.999^n$. Then there is a set $latex S, &#124;S&#124;=0.499n$, so that $latex I_S(f)=1-o(1)$.</p>
<p>KKL theorem gives a weak form of Conjecture 1 where $latex 1-\exp (cn)$ is replaced by $latex 1-n^{\beta}$ and a weak form of Conjecture 2 where $latex 0.999^n$ is replaced by $latex 2^n/ n^{\alpha}$. The main difficulty here (and in various other problems in extremal combinatorics) is that arguing about influences of single variables is the only known method toward influences of large sets. Both these conjectures (as KKL's theorem itself) have natural formulations in terms of traces of families of sets related to the Sauer-Shelah Theorem.</p>
<h2> </h2>
<h2>More on Influence</h2>
<p>The theory of poetic influence was developed by Yale's literary critic Harold Bloom. His book "The Anxiety of Influence" deals with the process of influence as well as with the psychology of influence in literature. Philosopher Avishai Margalit studied influence in Philosophy in his paper on Wittgenstein. The <a title="Avishai's paper" href="http://www.ma.huji.ac.il/~kalai/AvishaionWittgenstein.doc" target="_blank">paper</a> will appear in a Festschrift for Peter Hacker by Blackwell Oxford, 2009. Section 3 opens with a distinction between influence and power: "Naked power is for anyone to see. Influence is not. It works its wonders in ways not readily observable. Influence is inferred from its effects. This is a major reason for the elusive nature of influence."</p>
<p> </p>
<p>   <a href="http://gilkalai.files.wordpress.com/2008/05/mbo1.jpg"><img class="alignnone size-medium wp-image-74" src="http://gilkalai.wordpress.com/files/2008/05/mbo1.jpg?w=300" alt="Michael" width="371" height="291" /></a></p>
<p><span style="color:#ff0000;">Michael Ben-Or </span></p>
<h2>Trivia question:</h2>
<p>What do <a href="http://www.cs.huji.ac.il/~benor/">Michael Ben-Or</a>, <a title="Uzi Segal" href="http://fmwww.bc.edu/ec/Segal.php" target="_blank">Uzi Segal </a>(whose calibration theorem was mentioned in the post on the controversy around expected utility theory), <a title="Mike Werman" href="http://www.cs.huji.ac.il/~werman/" target="_blank">Mike Werman</a>, <a title="Ehud Lehrer" href="http://www.math.tau.ac.il/~lehrer/" target="_blank">Ehud Lehrer</a>, <a title="Yehuda Agnon" href="http://cee.technion.ac.il/eng/Templates/ShowPage.asp?DBID=1&#38;TMID=139&#38;LNGID=1&#38;FID=166&#38;PID=0&#38;IID=338" target="_blank">Yehuda Agnon</a>, myself, and quite a few others, all have in common.</p>
<p>Hint:</p>
<p> </p>
<p> <img src="http://www.croatianhistory.net/gif/felljay2.jpg" alt="" /></p>
<p> </p>
<h3>Influence and coin flipping little updates (June, 8)</h3>
<p>Mike Saks made valuable comments regarding this post. The <a title="RZ" href="http://www.cs.utexas.edu/~diz/pubs/leader-upper" target="_blank">first protocol </a>for collective coin-flipping immune to a positive proportion of processors was by protocol with $latex log^*n$ rounds was by Alexander Russell and David <span><span>Zuckerman</span></span>. If each processor contributes only one bit per round there is a matching lower bound by <a title="RSZ" href="http://www.cs.utexas.edu/~diz/pubs/leader-lower" target="_blank">Russell, Saks, and <span><span>Zuckerman</span></span></a>. The open problem Section from <span><span>RSZ's</span></span> paper is very interesting and, as far as we know, no further progress on the problems presented there was made.</p>
<p>If we allow every processor to contribute many bits in every round then the situation is not clear even for one round. This is related to conjectures <a title="KKL+BKKKL" href="http://www.ma.huji.ac.il/~ehudf/docs/kkl.ps" target="_blank">discussed</a> by <span><span>Ehud</span></span> <span><span>Friedgut</span></span>.  </p>
<p>Related problems are of great interest for quantum computation. Carlos <span><span>Mochon</span></span> have recently <a title="Mochon's coin flipping" href="http://arxiv.org/abs/0711.4114" target="_blank">solved</a> one of the most important longstanding open problems in quantum information theory, and found a protocol for weak coin flipping with arbitrarily small bias, using quantum bits. His work strengthens earlier work by <span><span>Kitaev</span></span>.</p>
<p>Related post: <a title="The entropy influence conjecture" href="http://terrytao.wordpress.com/2007/08/16/gil-kalai-the-entropyinfluence-conjecture/" target="_blank">The Entropy Influence Conjecture</a>. (Terry Tao's blog) </p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[New Rack Server Cluster]]></title>
<link>http://theanti9.wordpress.com/?p=45</link>
<pubDate>Tue, 20 May 2008 02:06:03 +0000</pubDate>
<dc:creator>The.Anti.9</dc:creator>
<guid>http://theanti9.wordpress.com/?p=45</guid>
<description><![CDATA[Ok so despite lack of recent blog activity, I have been fairly busy doing things. Not too much on th]]></description>
<content:encoded><![CDATA[<p>Ok so despite lack of recent blog activity, I have been fairly busy doing things. Not too much on the programming side which is really why I haven't been posting. But lots has happened on the hardware side.</p>
<p>My friend Joe found a steel rack enclosure back behind the movie theater (don't ask me why it was behind a movie theater because I honestly don't know), and so we lugged it over to my house and stuck my racks in it. That is, after getting all the racks working. We are still working on clustering the 3 racks together but we are running into some difficulties with that. We'll figure it out eventually. Anyways, heres pictures!</p>
[gallery]
]]></content:encoded>
</item>
<item>
<title><![CDATA[Corporate Supercomputer]]></title>
<link>http://dreamplanet.wordpress.com/?p=3</link>
<pubDate>Thu, 08 May 2008 17:18:21 +0000</pubDate>
<dc:creator>Dreamer</dc:creator>
<guid>http://dreamplanet.wordpress.com/?p=3</guid>
<description><![CDATA[Background
Most of the top super computer in world are based on cluster computing concept. And one ]]></description>
<content:encoded><![CDATA[<h1>Background</h1>
<p>Most of the top super computer in world are based on cluster computing concept. And one of the best example of distributed cluster computing based super computer is <a href="http://www.worldcommunitygrid.org/" target="_blank">World Community Grid</a>. Its a great concept of using idle power of millions of computer for betterment of humanity.</p>
<p>I worked in one of the biggest organisation in India. They are big not only in net market worth, but, also in number of people they employ. And because of nature of work, personal computer is integral part of every single employee working in these big organisation. And since these computers are used by humans, they have almost normal usage pattern like any other normal computer. Means, they remain ideal most of the time.</p>
<p>So, what we are looking at is a huge untapped computing power ready to harness. Then obvious question will come in head of those who promote concepts like WCG. They might say why not use this power for better purposes.</p>
<p>Well,  Lets say right now I am thinking in terms of ROI.</p>
<h2>What investment I will be doing?</h2>
<p>Just allowing any application such as WCG on thousands of computer over my network will lead to increase in Internet bandwidth usage and increase in electricity usage(Small but still it will increase if we factor in thousands of computer).</p>
<h2>What will I get out of it?</h2>
<p>Nothing as such.</p>
<h1>Idea</h1>
<p>Using this huge distributed computing power within big organisation for purposes which are in interest of organisation.</p>
<p style="text-align:center;"><img class="size-full wp-image-4 aligncenter" src="http://dreamplanet.wordpress.com/files/2008/05/csupercomputer.jpg" alt="" width="400" height="500" /></p>
<h2>Proposed usage:</h2>
<ol>
<li>Organisations doing R&#38;D and required huge computing power for various tasks can utilise this power like IBM. Deriving organisations toward better return from existing investment.</li>
<li>Organisations not having R&#38;D division, or not one requiring computing power can sell this processing power to other organisations like Org such as Infosys, Wipro, HCL selling computer power to Universities, research institutes,etc. In this way they can generate additional revenue stream.</li>
<li>This can be seen as overall reduction in carbon emission. So, better carbon emission record for companies.</li>
</ol>
<h2>Why companies would like to do it?</h2>
<ol>
<li>Cost saving.</li>
<li>Optimum utilization of resources.</li>
<li>Due to security concern and lack of monitoring. Companies won't like to join outside distributed computing projects.</li>
</ol>
<h2>What is required?</h2>
<ol>
<li>Need of big organisation to see huge amount of wasted processing power as an opportunity waiting to be tapped.</li>
<li>A software solution which can be used to implement such solution.</li>
</ol>
<h2>Opportunity for Open Source Community</h2>
<p>As we are always fighting for good ideas. This could be one idea on which OSC can contribute a lot.</p>
<p> </p>
<p> </p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Decentralized Twitter a Bad Idea]]></title>
<link>http://adamfisk.wordpress.com/?p=33</link>
<pubDate>Mon, 05 May 2008 15:12:29 +0000</pubDate>
<dc:creator>adamfisk</dc:creator>
<guid>http://adamfisk.wordpress.com/?p=33</guid>
<description><![CDATA[Michael Arrington&#8217;s post on creating a decentralized Twitter is theoretically interesting but ]]></description>
<content:encoded><![CDATA[<p>Michael Arrington's <a href="http://www.techcrunch.com/2008/05/05/twitter-can-be-liberated-heres-how/">post</a> on creating a decentralized Twitter is theoretically interesting but practically naive.  Martin Fowler's First Law of Distributed Computing continually rings true: don't distribute your objects.  Why?  Because it's hard.  In every case I've ever seen, it's orders of magnitude harder to distribute a task than it is to centralize it.</p>
<p>Search is the quintessential example.  When I wrote the search algorithms and protocols for the second-generation Gnutella network at LimeWire, the degree of coordination between millions of network nodes was staggering.  It worked amazingly well all things considered, but it still could never compete with the speed or collaborative filtering of centralized search.  Most importantly, it could never compete with simplicity of centralization.  What took us 6 months to distribute would have taken a couple of days to centralize.  Distributed networks also make updating much harder, as you're now forced to update every instance of your software running on any machine in the world.  It's a pain in the a$$.  If you have a choice, centralized search wins every time.  That's one of the reasons <a href="http://www.littleshoot.org">LittleShoot</a> follows Fowler's law whenever possible.  Something about working better and taking less time makes it appealing.</p>
<p>Distributed computing has shown itself to be particularly useful for moving around large files.  In Twitter's case, you're working from the opposite extreme: processing a high volume of tiny messages.  This screams centralization.</p>
<p>Centralization is not the reason Twitter can't scale.  They can't scale because, well, they just haven't written an architecture that scales.  Granted the mobile space is still largely DIY, so they have to roll much of their own code.  That's really a pretty lame excuse, though, especially given their resources and the time they've had to figure it out.  My buddies over at <a href="http://mcommons.com">Mobile Commons</a> face similar issues processing huge volumes of mobile messages, and they don't have these issues.  I'm convinced Twitter would be flying if Ben Stein and Chris Muscarella at Mobile Commons were in charge, and I honestly think it's because they're just better programmers.</p>
<p>I'm a big Evan Williams fan and was thrilled to meet him for the first time down at SXSW, but that doesn't mean I have faith in his or his team's ability to learn how to scale a complex architecture overnight.  A distributed architecture would make their task orders of magnitude harder.  Don't do it fellas.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Turn off that power hungry computer! Or on second thought ...]]></title>
<link>http://eagleconnection.wordpress.com/?p=109</link>
<pubDate>Wed, 23 Apr 2008 00:44:39 +0000</pubDate>
<dc:creator>brand0con</dc:creator>
<guid>http://eagleconnection.wordpress.com/?p=109</guid>
<description><![CDATA[Though today is Earth Day and I could easily be shouting about recycling, driving less or reducing w]]></description>
<content:encoded><![CDATA[<p>Though today is <a title="earth day wiki" href="http://en.wikipedia.org/wiki/Earth_Day">Earth Day</a> and I could easily be shouting about recycling, driving less or reducing waste, I'll instead turn my efforts in a slightly different direction.  Most of us leave electronic chargers, televisions, computers and the like plugged in on a near 24/7 basis.  I must admit that I too am guilty of the same crime, though we have little excuse given the advent of the modern power strip.  I want you to be aware that you don't <em>have</em> to feel so bad about leaving your computer powered on, given that you've taken proper steps to ensure your machine is put to good use.  Naysayers hold your tongue and allow me to elaborate.</p>
<p>In recent years, the web has given rise to a significant amount of projects called <a title="distributed computing" href="http://en.wikipedia.org/wiki/Distributed_computing">distributed computing </a>projects which utilize the processing power of thousands of computers world wide.  The problems being addressed range from <a title="tolding at home" href="http://folding.stanford.edu/">modeling complex proteins</a>, to looking for efficient ways of <a title="hydrogen@home" href="http://hydrogenathome.org/">producing hydrogen</a> as an energy source and even projects like <a title="SETI@home" href="http://setiathome.berkeley.edu/">SETI</a> (Search for Extra Terrestrial Intelligence).  Though these organizations are all unique by nature, they're each tapping into the most abundant and underutilized source of computing power possible, idle desktop/laptop computers.  Masses of computers are required since complex calculations of this variety would take several days if tackled by only one or only a few machines.  It follows that this provides an excellent route for the average Joe/Jane to make good use of a computer that they leave running.  This is an emerging form of digital philanthropy, only possible in modern times.  In short, if you're looking for a way to donate time, energy, and resources but find yourself lacking on all of the above, this is your best solution.  If you own a computer, you now have one less excuse.</p>
<p>Obviously, as a bit of an Earth Day plug, I must stress that turning your computer off is as valuable (or more) as contributing to programs like I've just described.  That said, if you're staunch about keeping your PC's gears spinning, I must urge you to do so with awareness and consider contributing to one of these projects.  Macs and PCs alike have software readily available and if you happen to have a fancy dual core processor, you can contribute two-fold :O.  Find a project that matters to you or you find interesting and join the cause.  It's as easy as installing a screen saver and as simple as launching a program as you jet out the door.  <a title="List of distributed compuing projects" href="http://en.wikipedia.org/wiki/List_of_distributed_computing_projects">Wikipedia</a> can aid you in finding a flavor that suits you best.  Another list of projects is <a title="projects" href="http://distributedcomputing.info/projects.html">here</a> if you're interested.</p>
<p>Stanford's folding@home project as described by Dr. Vijay Pande.</p>
<p><span style='text-align:center; display: block;'><object width='425' height='350'><param name='movie' value='http://www.youtube.com/v/PUPLimoTtiY'></param><param name='wmode' value='transparent'></param><embed src='http://www.youtube.com/v/PUPLimoTtiY&rel=0' type='application/x-shockwave-flash' wmode='transparent' width='425' height='350'></embed></object></span></p>
<p>Perhaps we could go a bit further than simply contributing on a personal basis.  What if the hundreds of campus computers (many of which are running <strong>24/7</strong>) could contribute to a program like this?  Why is the establishment free to ignore such resources?  As aware students, we need to keep not only ourselves and eachother accountable but also our organizations.  Our University honestly needs to be paving the way in such arenas.  The time is ripe to take action and have our voices heard.  I propose that we make a push to see that <strong>ALL</strong> campus computers remain off or contribute to such projects during all off peak hours.  Change won't just happen without an effort.  If anyone agrees with my sentiments I urge you to comment or <a title="my email" href="mailto:oconnor.bran@students.uwlax.edu">email me</a>.  Let's see if we can build some momentum here.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Assimilator 1.1 Release]]></title>
<link>http://khartig.wordpress.com/?p=9</link>
<pubDate>Tue, 22 Apr 2008 23:33:24 +0000</pubDate>
<dc:creator>khartig</dc:creator>
<guid>http://khartig.wordpress.com/?p=9</guid>
<description><![CDATA[I just released Assimilator 1.1 on Sourceforge. This release contains:

corrected cybenode.sh script]]></description>
<content:encoded><![CDATA[<p>I just released <a href="http://assimilator.sourceforge.net/">Assimilator 1.1</a> on Sourceforge. This release contains:</p>
<ul>
<li>corrected cybenode.sh script to properly accept parameter designating codebase location</li>
<li>JMX interface added to Monitor, Cybernode and Webster core services</li>
<li>drag and drop of oar files onto console service graph to deploy services added</li>
<li>corrected oar deployment code to handle operational strings with Include tags allowing deployment of dependent operational strings.</li>
<li>removed old viewer and opmon utility code, documentation and build file references.</li>
<li>changed helloworld example files and documentation to consistently use steps 1-6.</li>
<li>new webster using MINA 1.1.4 (JDK 5 version) and integrated it</li>
<li>moved jini ServiceStarter class to assimilator and modified it to add loggers from top level config file (we had a really hard time get jini loggers to turn on properly before and this should fix it), quite a bit or exception refactoring and other general refactoring</li>
<li>moved all the script and config files to use the new service starter and new webster.</li>
</ul>
<p>The new distribution file can be downloaded <a href="http://sourceforge.net/project/showfiles.php?group_id=174753">here</a>.</p>
<p>In the works is a network overlay for Assimilator so that distributed services can be managed over the internet.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Passing Objects Around Networks]]></title>
<link>http://khartig.wordpress.com/?p=7</link>
<pubDate>Fri, 18 Apr 2008 00:29:17 +0000</pubDate>
<dc:creator>khartig</dc:creator>
<guid>http://khartig.wordpress.com/?p=7</guid>
<description><![CDATA[With the advent of XML has, in some cases, come the overuse of it for transferring information betwe]]></description>
<content:encoded><![CDATA[<p>With the advent of XML has, in some cases, come the overuse of it for transferring information between endpoints in a distributed networked environment. It's true that XML and Javascript Object Notation are more interoperable allowing multiple languages to be used for application development between client and server. It is also more human readable which mostly doesn't matter except for simplifying debugging during development. I just don't quite understand why the social realm of developers chose primarily to adopt XML over transferring the bytes of serializable objects without having to transform it to readable characters.</p>
<p>Binary is more efficient for serializable objects. There is less transformation required at endpoints before and after transferring data around. Less code and libraries are required to develop and deploy the distributed components of an application. Maintenance of the code is typically easier. And more sophistication can be applied in the passing of serializable object as method parameters, return values and exception handling information. Java RMI for example with its use of stub/skeletons provides the mechanism to invoke functions on remote objects which is truly more powerful than making http requests with XML data.</p>
<p>I suppose it's likely that XML is just easier to use for now. The tools and IDE plugins were easier to develop and came faster than any tools to support building applications with remoting capabilities. Http and XML are just easier to deal with than configuring EJBs. Although EJB3 components are now much easier to deal with since the wiring is largely defined using annotations.</p>
<p>From the perspective of distributed computing being web servers  scattered everywhere, it's likely XML and RESTful style web services will continue to dominate. True next generation distributed computing capabilities where all computers are peers will require greater sophistication to handle mobile code, mobile services, service discovery and the transfer of data between the services. It's not going to be HTTP and XML!</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Rechne(r)n für die Wissenschaft]]></title>
<link>http://wegi.wordpress.com/?p=51</link>
<pubDate>Thu, 17 Apr 2008 14:58:16 +0000</pubDate>
<dc:creator>wegi</dc:creator>
<guid>http://wegi.wordpress.com/?p=51</guid>
<description><![CDATA[Wenn man ein sehr sehr kompliziertes und Aufwändiges Wissenschaftsprojekt per Computer berechnen wi]]></description>
<content:encoded><![CDATA[<p>Wenn man ein sehr sehr kompliziertes und Aufwändiges Wissenschaftsprojekt per Computer berechnen will -  was braucht man dann dafür?</p>
<p>Entweder nimmt baut man dann eine riesige Serverfarm auf, oder man teilt das Projekt in unzählige kleine Stücke und verteilt sie auf viele andere PCs.</p>
<p>Nach der zuletzt genannten Methode geht das <a title="BOINC Wiki" href="http://faq.boinc.de/index.php?title=Hauptseite" target="_blank">BOINC-Programm </a>vor. Nach der Installation von BOINC kann man sich eins oder mehrere der vielen Projekte aussuchen, welche man unterstützen möchte.  BOINC verbindet sich dann selbstständig mit den ausgewählten Projekten und lädt sich die zugewiesenen Einheiten (Units) runter. Dabei braucht man nicht mal Angst um einen lahmenden PC zu haben, denn BOINC nutzt nur die ungenutzten PC-Ressourcen. Das heißt, sobald man irgend etwas startet, was viele Ressourcen verbraucht, gibt BOINC diese auch augenblicklich wieder frei. Eine Übersicht aller Projekte findet man unter folgendem <a title="BOINC Projekte" href="http://www.boinc.de/projekte.htm" target="_blank">Link</a>.</p>
<p>Wenn ihr euch nun entschieden habt auch Crunsher bei BOINC zu werden könnt ihr hier eine Installationsanleitung finden. (Ab Punkt 2.)</p>
<p>Ich persönlich lasse BOINC gerade für das World Community Grid laufen. Auch empfehlenswert ist <a title="Rosetta@Home BOINC Projekt" href="http://boinc.bakerlab.org/rosetta/" target="_blank">Rosetta@Home</a>, bei welchem ich auch schon gerechnet habe. Bei dem Projekt geht es um Protein Folding, die Erforschung der 3D-Struktur der Proteine. (Dadurch könnten Krankheiten wie etwa Krebs verhindert werden).</p>
<p>Viel Spaß</p>
<p>~Wegi</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Disk-Based Parallel Computation]]></title>
<link>http://jasonwatkinspdx.wordpress.com/?p=16</link>
<pubDate>Tue, 01 Apr 2008 01:52:04 +0000</pubDate>
<dc:creator>jasonwatkinspdx</dc:creator>
<guid>http://jasonwatkinspdx.wordpress.com/?p=16</guid>
<description><![CDATA[An interesting recent google tech talk put forward the idea that since 50 disks are approximately th]]></description>
<content:encoded><![CDATA[<p>An <a href="http://www.youtube.com/watch?v=WQw7c-PliB4">interesting recent google tech talk</a> put forward the idea that since 50 disks are approximately the bandwidth of a ram chip, you can look at a single rack computing cluster as if it was large smp machine, where disk is the ram, and ram is cache. If you turn your head on its side a bit this makes sense, but I also think it's a somewhat limiting analogy: after all a 50 node cluster also has 50x the ram bandwidth due to multiple ram buses. I don't see a reason to ignore this.</p>
<p>But still, there's a lot of interesting content in the talk.</p>
<p>I think the most interesting idea is how using a larger but slower storage system can still provide a faster overall solution thanks to opening up a new time speed trade off, provided we have enough bandwidth.</p>
<p>But let's take the premise and run with it: what can we do to make a clustered disk array look like a single large smp machine with a very large ram? The talk shows us that we can easily equal the bandwidth of a single ram bus. But what about the latency? Cooperman resorts to a lot of algorithms specifically tailored to each application to tolerate the latency. Can we do something simpler and more general?</p>
<p>Watching the video I immediately thought of the old <a href="http://">Cray/Tera MTA architecture</a>, which used a large number of hardware threads per core to hide memory latency. If a memory access takes 100 cycles, then if we run 100 threads at the same time, switching between each in turn, we maximize throughput. To each thread it's as if it's running on a processor with 1/100th the instruction rate and a 1 cycle ram access latency.</p>
<p>Could we use the same idea with a virtual machine on a cluster? Well, the the back of the envelope says that we'd need nearly 300,000 total outstanding io requests to hide the latency gap. That's a lot. Maybe even more than we can break the problem into. But, with a disk we can access a block of words for nearly the same cost as the first byte, so if we can exploit any locality of access we should be able to bring that down. On top of that, we can use ram as a cache to avoid some hits altogether. Could this be enough to bring the total outstanding io count in reach of the couple hundred disks we might have in our cluster? It'd be interesting to see. If I were going to try, I'd look at using <a href="http://en.wikipedia.org/wiki/ZFS">ZFS</a> for it's sorting of disk accesses.</p>
<p>I think on the whole I'd rather use an API like <a href="http://labs.google.com/papers/mapreduce.html">Map/Reduce</a>, or a scripting language built upon it like <a href="http://wiki.apache.org/pig/">Pig</a> or <a href="http://labs.google.com/papers/sawzall.html">Sawzall</a>. These tools have a more limited focus than Cooperman's group, but are likely a lot easier to hit the ground running with to get something done. It'll be interesting to see if Cooperman's group can come up with language tools that are more general than Map/Reduce, but still offering a simple development model.</p>
<p>I also can't help but mention that one of my personal pet interests, <a href="http://en.wikipedia.org/wiki/Category:Array_programming_languages">Array Languages</a>, could make very good use of  a high bandwidth disk array.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Assimilator Introduction]]></title>
<link>http://khartig.wordpress.com/?p=5</link>
<pubDate>Fri, 28 Mar 2008 01:32:16 +0000</pubDate>
<dc:creator>khartig</dc:creator>
<guid>http://khartig.wordpress.com/?p=5</guid>
<description><![CDATA[Just a quick introduction to the Assimilator project that I have been working on. I will discuss it ]]></description>
<content:encoded><![CDATA[<p>Just a quick introduction to the <a href="http://assimilator.sourceforge.net/">Assimilator</a> project that I have been working on. I will discuss it to some extent here as the project develops. Assimilator is and open source project hosted at <a href="http://sourceforge.net/">SourceForge</a>. It represents the next step in evolutionary development of distributed computing. It provides a platform for distributed application development which includes key capabilities required to execute distributed applications. Application development  using this platform does not require development of handling the difficult aspects of distributed computing. The platform enables applications to be built as a collection of services that can be executed on a network where resources are available and may dynamically change. Service lookup and discovery, distributed events and transactions,  service provisioning and deployment, and service management are all provided by the platform.</p>
<p>The open source environment allows free usage of the platform and encourages feedback from users on how to enhance features, extend capabilities and eradicate defects. Open source allows greater distribution of the platform hopefully leading to wider adoption of its use. Custom applications built with the platform will demonstrate  platform capabilities and provide a means for individuals and organizations to generate revenue.</p>
<p>The primary goals of the project include:</p>
<ul>
<li> Develop a distributed computing platform capable of dynamically managing and monitoring services in a network.</li>
<li> Develop the platform in and for the open source community to drive adoption of its use.</li>
<li> Develop the platform with the intent that it can be used for easy development of distributed applications.</li>
</ul>
<p>Network includes running across the internet and on any device connected to it. The current version executes in WANs and work is underway to get it working across the internet. At which point it becomes feasible to start building social network applications and gaming environments that utilize available resources across peered devices.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[NEPOMUK]]></title>
<link>http://khartig.wordpress.com/?p=4</link>
<pubDate>Fri, 28 Mar 2008 01:15:36 +0000</pubDate>
<dc:creator>khartig</dc:creator>
<guid>http://khartig.wordpress.com/?p=4</guid>
<description><![CDATA[NEPOMUK or Networked Environment for Personal Ontology-based Management of unified Knowledge is a pr]]></description>
<content:encoded><![CDATA[<p><a href="http://nepomuk.semanticdesktop.org/xwiki/bin/view/Main1/Project+Summary" title="NEPOMUK">NEPOMUK</a> or Networked Environment for Personal Ontology-based Management of unified Knowledge is a project I ran across that appears to have similar goals as I have for building self organizing community of information from the perspective of the individual and their devices (or tools).  In particular it's goals include:</p>
<ul>
<li>supporting the knowledge life cycle, including articulation, organization, sharing and exchange of information;</li>
<li>the management of all relevant desired  information through linking, browsing and tagging;</li>
<li>knowledge communication across distribute social networked communities with capabilities for distributed search, storage and massive scaling.</li>
</ul>
<p>It is an open source framework that can accommodate plug-in capabilities for contributions for those who wish to develop this kind of social networking capabilities. I have similar goals for <a href="http://assimilator.sourceforge.net/">Assimilator</a>  which is a  platform for managing distributed services; services that can migrate, work in groups with dependencies and can be used to build knowledge management tools for social networks.</p>
<p>Achieving the goal of allowing individuals to manage their own information in their own context using their own personal tools will require a lightweight framework that accommodates and manages services or small components which collaborate in a dynamically changing environment  distributed across the internet. I believe NEPOMUK is on the right track. I hope I am as well.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[A Different Social Networking Paradigm]]></title>
<link>http://khartig.wordpress.com/2008/03/24/a-different-social-networking-paradigm/</link>
<pubDate>Mon, 24 Mar 2008 23:45:17 +0000</pubDate>
<dc:creator>khartig</dc:creator>
<guid>http://khartig.wordpress.com/2008/03/24/a-different-social-networking-paradigm/</guid>
<description><![CDATA[Wouldn&#8217;t it be nice if you had control of all your social networking information in one locati]]></description>
<content:encoded><![CDATA[<p>Wouldn't it be nice if you had control of all your social networking information in one location? Forget about keeping track of how many social network sites you have signed up with. Stop trying to remember which friends are using which networking site. Ignore having to cross link and make duplicate uploads. Wouldn't it be nice to just consolidate all the information you want to share into topics and groupings the way you want to present it and only have to maintain it in one place?</p>
<p>It could be a location on your own personal laptop or one location hosted by your favorite ISP. It would be your collection of information, relevant to you, organized according to your preferences. Everyone already does this with their belongings.  Why should I have to place my things someplace outside of my control just to share them, when I can define a link to the definitive resource?</p>
<p>Having your belongings scattered about across many websites is cumbersome and difficult to maintain. It's much easier to have it generally located in the same place.  I have all my stuff where I want it, you have yours where you want it.</p>
<p>Now I can share some of my stuff.  I share only what I want to. The rest is private. Essentially each individual defines links to the information they want to share with others. Each individual presents a point of view of who they are. Nothing new here, we all do this in real life already. But remember I'm talking about information on my laptop.</p>
<p>Next, friends share information with each other about where their stuff is accessible. It would be a portal to their information. Now friends can see the presentation of other friends. They can see each others point of view or perspective. Each persons collection of information is still controlled locally but accessible between each other.</p>
<p>There will likely be common interests between friends. They could start a topic of interest. A set of information of similar interest.  Essentially it is a collection of links back to the original information. Friends discover there is information about others being shared. Those friends can establish a group. They share similar interests, similar topics of interest.</p>
<p>So now individuals share their point of view, create topics of interest which others can contribute to and they can create, join or leave groups. Others may discover topics of interest and subsequently join groups base on similar interest.  This starts to sound more like a real social network which individuals create from their perspective all from there own location, not across many different web sites. There are no accounts, no sign-up, no limitation on how information should be place, categorized or presented.</p>
<p>The concept of groupings can then be extended  collections of groups. These would be communities. Groups would join and leave communities. Individuals would come and go as desired from the groups. It is very dynamic. The thing that always remains is the presentation of an individuals point of view and all the corresponding information that belongs to it.</p>
<p>All the information comes from individuals just as all the information on the internet today is posted audio, video, photos, text, etc.  It is shared and discovered across peers rather than on web sites much like P2P sharing, but sharing links rather than files. Information will be tagged in multiple ways depending on its context and meaning. Hierarchical referencing should make it possible to access information of interest from multiple different points of view rather than from one perspective. Redundancy of information with multiple links of access discoverable across a distributed network approaches the mechanism required for universal memory. There are multiple entry points and multiple pathways to get to any bit of information.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[請支持Folding@home]]></title>
<link>http://gardens.wordpress.com/?p=59</link>
<pubDate>Sun, 23 Mar 2008 02:47:02 +0000</pubDate>
<dc:creator>康</dc:creator>
<guid>http://gardens.wordpress.com/?p=59</guid>
<description><![CDATA[又賣廣告！
請支持Team HongKong (Team ID 32535)。按這裡看看參加辨法。PS3參加辨]]></description>
<content:encoded><![CDATA[<p>又賣廣告！</p>
<p>請支持<a href="http://fah-web.stanford.edu/cgi-bin/main.py?qtype=teampage&#38;teamnum=32535">Team HongKong (Team ID 32535)</a>。按<a href="http://ivanho.hk/folding/2006/02/blog-post.php">這裡</a>看看參加辨法。PS3參加辨法在<a href="http://ivanho.hk/folding/2007/03/playstation3foldinghome.php">這裡</a>。無論你的是Windows, Linux, Mac or PS3，都要支持我地呀！</p>
<p><a href="http://ivanho.hk/folding/2006/02/blog-post.php" title="參加辦法"><img src="http://ivanho.hk/folding/images/banner.jpg" align="top" width="500" /></a></p>
<blockquote><p>「Folding@home」是由美國史丹佛大學所主導的分散式運算研究計畫，透過電腦的模擬運算來研究蛋白質折疊，誤折，聚合，藉此解開包括阿茲海默症、狂牛病、帕金森氏症...等疾病的成因與療法。Folding@home 透過網路將模擬所需的計算分散到參與計畫的電腦上執行，原先支援的平台包括 PC Windows、Mac OS、Linux 等。後續史丹佛大學與 SCE 合作，於 2007年3 月 22 日推出 <a href="http://ivanho.hk/folding/2007/03/playstation3foldinghome.php">PS3</a> 版終端軟體，藉由 <a href="http://ivanho.hk/folding/2007/03/playstation3foldinghome.php">PS3</a> Cell 微處理器的獨特架構與高浮點運算效能特性，可提供較一般 PC 高出 10 倍以上的運算資源。</p>
<p>根據 SCE 方面的資料，截至 4 月 26 日止，已有超過 25 萬 <a href="http://ivanho.hk/folding/2007/03/playstation3foldinghome.php">PS3</a> 使用者參加此一計畫，提供超過每秒 400 兆次浮點數運算（TeraFLOPS）的運算資源，使得該計畫瞬間總運算能力超越每秒 700 兆次浮點數運算，是 <a href="http://ivanho.hk/folding/2007/03/playstation3foldinghome.php">PS3</a> 加入前的 2 倍以上。因 <a href="http://ivanho.hk/folding/2007/03/playstation3foldinghome.php">PS3</a> 加入所產生的連鎖效果，也讓參與的 PC 數量增加了 20 ％。</p></blockquote>
]]></content:encoded>
</item>

</channel>
</rss>
