<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://homeostasis.scs.carleton.ca/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jmahonin</id>
	<title>Soma-notes - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://homeostasis.scs.carleton.ca/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jmahonin"/>
	<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php/Special:Contributions/Jmahonin"/>
	<updated>2026-05-12T18:07:34Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebOS,_PlanetLab,_Starfish&amp;diff=1816</id>
		<title>WebOS, PlanetLab, Starfish</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebOS,_PlanetLab,_Starfish&amp;diff=1816"/>
		<updated>2008-03-19T19:55:49Z</updated>

		<summary type="html">&lt;p&gt;Jmahonin: /* Learning from PlanetLab */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Readings==&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/vahat-webos-hpdc98.pdf Amin Vahat et al., &amp;quot;WebOS: Operating System Services for Wide Area Applications&amp;quot; (1998)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/starfish.pdf Adnan Agbaria and Roy Friedman, &amp;quot;Starﬁsh: Fault-Tolerant Dynamic MPI Programs on Clusters of Workstations&amp;quot; (2003)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/peterson-planetlab-osdi06.pdf Larry Peterson et al., &amp;quot;Experiences Building PlanetLab&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/anderson-planetlab-learning.pdf Thomas Anderson and Timothy Roscoe, &amp;quot;Learning from PlanetLab&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WebOS ==&lt;br /&gt;
&lt;br /&gt;
=== Key features ===&lt;br /&gt;
* High Availability&lt;br /&gt;
* Lower Latency&lt;br /&gt;
* Fault Tolerance&lt;br /&gt;
&lt;br /&gt;
Consensus: WebOS isn&#039;t really an distributed OS&lt;br /&gt;
&lt;br /&gt;
=== Main components ===&lt;br /&gt;
* Smart Client&lt;br /&gt;
* WebFS&lt;br /&gt;
* Global naming scheme based on URLs&lt;br /&gt;
* Process control system&lt;br /&gt;
* CRISIS authentication/authorization system (Certificates with ACLs)&lt;br /&gt;
&lt;br /&gt;
=== Key ideas that were/were not not adopted from WebFS ===&lt;br /&gt;
&lt;br /&gt;
Adopted:&lt;br /&gt;
* General idea of wide area dynamic distribution -&amp;gt; Akamai (but primarily for static content)&lt;br /&gt;
* Global naming using URLs&lt;br /&gt;
&lt;br /&gt;
Not Adopted:&lt;br /&gt;
* CRISIS &lt;br /&gt;
* WebFS (Although WebDAV could be said to be related)&lt;br /&gt;
* Smart client (for web sites)&lt;br /&gt;
&lt;br /&gt;
=== What are the pros and cons of using smart clients to do load balancing? ===&lt;br /&gt;
&lt;br /&gt;
Pro:&lt;br /&gt;
* Distributes computation&lt;br /&gt;
* More flexible&lt;br /&gt;
&lt;br /&gt;
Con:&lt;br /&gt;
* Vulnerable to Denial of Service or other forms of attacks&lt;br /&gt;
* Extra network overhead to locate a service&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Starfish ==&lt;br /&gt;
&lt;br /&gt;
=== Key features ===&lt;br /&gt;
===== MPI =====&lt;br /&gt;
* Fast message passing&lt;br /&gt;
* Allows the programmers more control&lt;br /&gt;
===== OCaml =====&lt;br /&gt;
====== Pros ======&lt;br /&gt;
* Recursive algorithms&lt;br /&gt;
* Uses Bytecodes - portable in theory&lt;br /&gt;
* Same code on heterogenous hardware&lt;br /&gt;
* Well known language&lt;br /&gt;
====== Cons ======&lt;br /&gt;
* Slow performance?&lt;br /&gt;
* Not entirely portable, maybe Just-In-Time?&lt;br /&gt;
==== Checkpointing ====&lt;br /&gt;
* Save / resume state&lt;br /&gt;
* Provides process migration&lt;br /&gt;
* Maybe better suited to be implemented in the application, not OS?&lt;br /&gt;
==== Management ====&lt;br /&gt;
* Had a Java interface which allowed any node to login and see full system status&lt;br /&gt;
* Used the distributed nature of daemons to communicate this information&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Experiences Building PlanetLab ==&lt;br /&gt;
=== Key ideas ===&lt;br /&gt;
* Global platform to distribute/test network services&lt;br /&gt;
* Scale&lt;br /&gt;
* Should be able to monitor and stop disruptive traffic&lt;br /&gt;
=== Challenges ===&lt;br /&gt;
* Resource allocation is significant, especially in a distributed system such as PlanetLab&lt;br /&gt;
* Providing a global platform for long-term services&lt;br /&gt;
* Implementing a trust relationship between node owners and service developers (users)&lt;br /&gt;
=== PLC ===&lt;br /&gt;
==== Summary ====&lt;br /&gt;
* Fulfills the trust mechanism required for the network&lt;br /&gt;
* Acts as a middle man / mediator between node owners and users&lt;br /&gt;
* If someone breaks into the PLC however, entire system is compromised&lt;br /&gt;
==== Implementation ====&lt;br /&gt;
* Nodes are split into slices using VServers, lightweight process groups&lt;br /&gt;
==== Criticisms ====&lt;br /&gt;
* Bandwidth allocation was slice-based, not node based&lt;br /&gt;
&lt;br /&gt;
== Learning from PlanetLab==&lt;br /&gt;
=== Centralized Trusts ===&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* Easier to manage, one entity to trust&lt;br /&gt;
==== Con ====&lt;br /&gt;
* One point of control, no competition as to who to trust&lt;br /&gt;
&lt;br /&gt;
=== Centralized resource control ===&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* All resources are controlled by PLC&lt;br /&gt;
==== Con ====&lt;br /&gt;
* No incentive for users or administrators to conservce resources&lt;br /&gt;
&lt;br /&gt;
=== Decentralized management ===&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* Provide bare-bones management, try to foster competition between 3rd party services&lt;br /&gt;
==== Con ====&lt;br /&gt;
* No motivation to do so, it&#039;s hard work&lt;br /&gt;
&lt;br /&gt;
=== Treat bandwidth as free ===&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* Free bandwidth!&lt;br /&gt;
==== Con ====&lt;br /&gt;
* No incentive to conserve bandwidth&lt;br /&gt;
&lt;br /&gt;
=== Provide only best-effort service ===&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* No limit on the number of processes which can be run&lt;br /&gt;
==== Con ====&lt;br /&gt;
* Other processes may crowd out computation of other processes (cpu/disk hogging)&lt;br /&gt;
&lt;br /&gt;
=== Linux is the execution environment ===&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* Provides a familiar programming environment&lt;br /&gt;
==== Con ====&lt;br /&gt;
* Weak isolation between experiments&lt;br /&gt;
* No global allocation for resources&lt;br /&gt;
* Having a homogenous test-bed is poor for distributed experimentation&lt;br /&gt;
&lt;br /&gt;
=== Don&#039;t provide distributed OS services ===&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* &lt;br /&gt;
==== Con ====&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
=== Evolve the API ===&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* Adaptable API, ground-up&lt;br /&gt;
==== Con ====&lt;br /&gt;
* Never had a good API, inconsistent, ever changing, unstable programming environment&lt;br /&gt;
&lt;br /&gt;
=== Focus on the machine room ===&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* Allocate big machine here, other there, etc...&lt;br /&gt;
==== Con ====&lt;br /&gt;
* Bad for distributed OSes&lt;/div&gt;</summary>
		<author><name>Jmahonin</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebOS,_PlanetLab,_Starfish&amp;diff=1815</id>
		<title>WebOS, PlanetLab, Starfish</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebOS,_PlanetLab,_Starfish&amp;diff=1815"/>
		<updated>2008-03-19T19:55:11Z</updated>

		<summary type="html">&lt;p&gt;Jmahonin: /* Learning from PlanetLab */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Readings==&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/vahat-webos-hpdc98.pdf Amin Vahat et al., &amp;quot;WebOS: Operating System Services for Wide Area Applications&amp;quot; (1998)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/starfish.pdf Adnan Agbaria and Roy Friedman, &amp;quot;Starﬁsh: Fault-Tolerant Dynamic MPI Programs on Clusters of Workstations&amp;quot; (2003)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/peterson-planetlab-osdi06.pdf Larry Peterson et al., &amp;quot;Experiences Building PlanetLab&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/anderson-planetlab-learning.pdf Thomas Anderson and Timothy Roscoe, &amp;quot;Learning from PlanetLab&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WebOS ==&lt;br /&gt;
&lt;br /&gt;
=== Key features ===&lt;br /&gt;
* High Availability&lt;br /&gt;
* Lower Latency&lt;br /&gt;
* Fault Tolerance&lt;br /&gt;
&lt;br /&gt;
Consensus: WebOS isn&#039;t really an distributed OS&lt;br /&gt;
&lt;br /&gt;
=== Main components ===&lt;br /&gt;
* Smart Client&lt;br /&gt;
* WebFS&lt;br /&gt;
* Global naming scheme based on URLs&lt;br /&gt;
* Process control system&lt;br /&gt;
* CRISIS authentication/authorization system (Certificates with ACLs)&lt;br /&gt;
&lt;br /&gt;
=== Key ideas that were/were not not adopted from WebFS ===&lt;br /&gt;
&lt;br /&gt;
Adopted:&lt;br /&gt;
* General idea of wide area dynamic distribution -&amp;gt; Akamai (but primarily for static content)&lt;br /&gt;
* Global naming using URLs&lt;br /&gt;
&lt;br /&gt;
Not Adopted:&lt;br /&gt;
* CRISIS &lt;br /&gt;
* WebFS (Although WebDAV could be said to be related)&lt;br /&gt;
* Smart client (for web sites)&lt;br /&gt;
&lt;br /&gt;
=== What are the pros and cons of using smart clients to do load balancing? ===&lt;br /&gt;
&lt;br /&gt;
Pro:&lt;br /&gt;
* Distributes computation&lt;br /&gt;
* More flexible&lt;br /&gt;
&lt;br /&gt;
Con:&lt;br /&gt;
* Vulnerable to Denial of Service or other forms of attacks&lt;br /&gt;
* Extra network overhead to locate a service&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Starfish ==&lt;br /&gt;
&lt;br /&gt;
=== Key features ===&lt;br /&gt;
===== MPI =====&lt;br /&gt;
* Fast message passing&lt;br /&gt;
* Allows the programmers more control&lt;br /&gt;
===== OCaml =====&lt;br /&gt;
====== Pros ======&lt;br /&gt;
* Recursive algorithms&lt;br /&gt;
* Uses Bytecodes - portable in theory&lt;br /&gt;
* Same code on heterogenous hardware&lt;br /&gt;
* Well known language&lt;br /&gt;
====== Cons ======&lt;br /&gt;
* Slow performance?&lt;br /&gt;
* Not entirely portable, maybe Just-In-Time?&lt;br /&gt;
==== Checkpointing ====&lt;br /&gt;
* Save / resume state&lt;br /&gt;
* Provides process migration&lt;br /&gt;
* Maybe better suited to be implemented in the application, not OS?&lt;br /&gt;
==== Management ====&lt;br /&gt;
* Had a Java interface which allowed any node to login and see full system status&lt;br /&gt;
* Used the distributed nature of daemons to communicate this information&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Experiences Building PlanetLab ==&lt;br /&gt;
=== Key ideas ===&lt;br /&gt;
* Global platform to distribute/test network services&lt;br /&gt;
* Scale&lt;br /&gt;
* Should be able to monitor and stop disruptive traffic&lt;br /&gt;
=== Challenges ===&lt;br /&gt;
* Resource allocation is significant, especially in a distributed system such as PlanetLab&lt;br /&gt;
* Providing a global platform for long-term services&lt;br /&gt;
* Implementing a trust relationship between node owners and service developers (users)&lt;br /&gt;
=== PLC ===&lt;br /&gt;
==== Summary ====&lt;br /&gt;
* Fulfills the trust mechanism required for the network&lt;br /&gt;
* Acts as a middle man / mediator between node owners and users&lt;br /&gt;
* If someone breaks into the PLC however, entire system is compromised&lt;br /&gt;
==== Implementation ====&lt;br /&gt;
* Nodes are split into slices using VServers, lightweight process groups&lt;br /&gt;
==== Criticisms ====&lt;br /&gt;
* Bandwidth allocation was slice-based, not node based&lt;br /&gt;
&lt;br /&gt;
== Learning from PlanetLab==&lt;br /&gt;
=== Centralized Trusts ===&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* Easier to manage, one entity to trust&lt;br /&gt;
==== Con ====&lt;br /&gt;
* One point of control, no competition as to who to trust&lt;br /&gt;
&lt;br /&gt;
=== Centralized resource control ===&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* All resources are controlled by PLC&lt;br /&gt;
==== Con ====&lt;br /&gt;
* No incentive for users or administrators to conservce resources&lt;br /&gt;
&lt;br /&gt;
=== Decentralized management ===&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* Provide bare-bones management, try to foster competition between 3rd party services&lt;br /&gt;
==== Con ====&lt;br /&gt;
* No motivation to do so, it&#039;s hard work&lt;br /&gt;
&lt;br /&gt;
=== Treat bandwidth as free ===&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* Free bandwidth!&lt;br /&gt;
==== Con ====&lt;br /&gt;
* No incentive to conserve bandwidth&lt;br /&gt;
&lt;br /&gt;
=== Provide only best-effort service ===&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* No limit on the number of processes which can be run&lt;br /&gt;
==== Con ====&lt;br /&gt;
* Other processes may crowd out computation of other processes (cpu/disk hogging)&lt;br /&gt;
&lt;br /&gt;
=== Linux is the execution environment ===&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* Provides a familiar programming environment&lt;br /&gt;
==== Con ====&lt;br /&gt;
* Weak isolation between experiments&lt;br /&gt;
* No global allocation for resources&lt;br /&gt;
* Having a homogenous test-bed is poor for distributed experimentation&lt;br /&gt;
&lt;br /&gt;
=== Don&#039;t provide distributed OS services ===&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* &lt;br /&gt;
==== Con ====&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
=== Evolve the API ===&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* Adaptable API, ground-up&lt;br /&gt;
==== Con ====&lt;br /&gt;
* Never had a good API, inconsistent, ever changing, unstable programming environment&lt;br /&gt;
&lt;br /&gt;
=== Focus on the machine room&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* Allocate big machine here, other there, etc...&lt;br /&gt;
==== Con ====&lt;br /&gt;
* Bad for distributed OSes&lt;/div&gt;</summary>
		<author><name>Jmahonin</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebOS,_PlanetLab,_Starfish&amp;diff=1814</id>
		<title>WebOS, PlanetLab, Starfish</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebOS,_PlanetLab,_Starfish&amp;diff=1814"/>
		<updated>2008-03-19T19:50:08Z</updated>

		<summary type="html">&lt;p&gt;Jmahonin: /* Learning from PlanetLab */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Readings==&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/vahat-webos-hpdc98.pdf Amin Vahat et al., &amp;quot;WebOS: Operating System Services for Wide Area Applications&amp;quot; (1998)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/starfish.pdf Adnan Agbaria and Roy Friedman, &amp;quot;Starﬁsh: Fault-Tolerant Dynamic MPI Programs on Clusters of Workstations&amp;quot; (2003)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/peterson-planetlab-osdi06.pdf Larry Peterson et al., &amp;quot;Experiences Building PlanetLab&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/anderson-planetlab-learning.pdf Thomas Anderson and Timothy Roscoe, &amp;quot;Learning from PlanetLab&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WebOS ==&lt;br /&gt;
&lt;br /&gt;
=== Key features ===&lt;br /&gt;
* High Availability&lt;br /&gt;
* Lower Latency&lt;br /&gt;
* Fault Tolerance&lt;br /&gt;
&lt;br /&gt;
Consensus: WebOS isn&#039;t really an distributed OS&lt;br /&gt;
&lt;br /&gt;
=== Main components ===&lt;br /&gt;
* Smart Client&lt;br /&gt;
* WebFS&lt;br /&gt;
* Global naming scheme based on URLs&lt;br /&gt;
* Process control system&lt;br /&gt;
* CRISIS authentication/authorization system (Certificates with ACLs)&lt;br /&gt;
&lt;br /&gt;
=== Key ideas that were/were not not adopted from WebFS ===&lt;br /&gt;
&lt;br /&gt;
Adopted:&lt;br /&gt;
* General idea of wide area dynamic distribution -&amp;gt; Akamai (but primarily for static content)&lt;br /&gt;
* Global naming using URLs&lt;br /&gt;
&lt;br /&gt;
Not Adopted:&lt;br /&gt;
* CRISIS &lt;br /&gt;
* WebFS (Although WebDAV could be said to be related)&lt;br /&gt;
* Smart client (for web sites)&lt;br /&gt;
&lt;br /&gt;
=== What are the pros and cons of using smart clients to do load balancing? ===&lt;br /&gt;
&lt;br /&gt;
Pro:&lt;br /&gt;
* Distributes computation&lt;br /&gt;
* More flexible&lt;br /&gt;
&lt;br /&gt;
Con:&lt;br /&gt;
* Vulnerable to Denial of Service or other forms of attacks&lt;br /&gt;
* Extra network overhead to locate a service&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Starfish ==&lt;br /&gt;
&lt;br /&gt;
=== Key features ===&lt;br /&gt;
===== MPI =====&lt;br /&gt;
* Fast message passing&lt;br /&gt;
* Allows the programmers more control&lt;br /&gt;
===== OCaml =====&lt;br /&gt;
====== Pros ======&lt;br /&gt;
* Recursive algorithms&lt;br /&gt;
* Uses Bytecodes - portable in theory&lt;br /&gt;
* Same code on heterogenous hardware&lt;br /&gt;
* Well known language&lt;br /&gt;
====== Cons ======&lt;br /&gt;
* Slow performance?&lt;br /&gt;
* Not entirely portable, maybe Just-In-Time?&lt;br /&gt;
==== Checkpointing ====&lt;br /&gt;
* Save / resume state&lt;br /&gt;
* Provides process migration&lt;br /&gt;
* Maybe better suited to be implemented in the application, not OS?&lt;br /&gt;
==== Management ====&lt;br /&gt;
* Had a Java interface which allowed any node to login and see full system status&lt;br /&gt;
* Used the distributed nature of daemons to communicate this information&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Experiences Building PlanetLab ==&lt;br /&gt;
=== Key ideas ===&lt;br /&gt;
* Global platform to distribute/test network services&lt;br /&gt;
* Scale&lt;br /&gt;
* Should be able to monitor and stop disruptive traffic&lt;br /&gt;
=== Challenges ===&lt;br /&gt;
* Resource allocation is significant, especially in a distributed system such as PlanetLab&lt;br /&gt;
* Providing a global platform for long-term services&lt;br /&gt;
* Implementing a trust relationship between node owners and service developers (users)&lt;br /&gt;
=== PLC ===&lt;br /&gt;
==== Summary ====&lt;br /&gt;
* Fulfills the trust mechanism required for the network&lt;br /&gt;
* Acts as a middle man / mediator between node owners and users&lt;br /&gt;
* If someone breaks into the PLC however, entire system is compromised&lt;br /&gt;
==== Implementation ====&lt;br /&gt;
* Nodes are split into slices using VServers, lightweight process groups&lt;br /&gt;
==== Criticisms ====&lt;br /&gt;
* Bandwidth allocation was slice-based, not node based&lt;br /&gt;
&lt;br /&gt;
== Learning from PlanetLab==&lt;br /&gt;
=== Centralized Trusts ===&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* Easier to manage, one entity to trust&lt;br /&gt;
==== Con ====&lt;br /&gt;
* One point of control, no competition as to who to trust&lt;br /&gt;
&lt;br /&gt;
=== Centralized resource control ===&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* All resources are controlled by PLC&lt;br /&gt;
==== Con ====&lt;br /&gt;
* No incentive for users or administrators to conservce resources&lt;br /&gt;
&lt;br /&gt;
=== Decentralized management ===&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* Provide bare-bones management, try to foster competition between 3rd party services&lt;br /&gt;
==== Con ====&lt;br /&gt;
* No motivation to do so, it&#039;s hard work&lt;br /&gt;
&lt;br /&gt;
=== Treat bandwidth as free ===&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* Free bandwidth!&lt;br /&gt;
==== Con ====&lt;br /&gt;
* No incentive to conserve bandwidth&lt;br /&gt;
&lt;br /&gt;
=== Provide only best-effort service ===&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* No limit on the number of processes which can be run&lt;br /&gt;
==== Con ====&lt;br /&gt;
* Other processes may crowd out computation of other processes (cpu/disk hogging)&lt;br /&gt;
&lt;br /&gt;
=== Linux is the execution environment ===&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* Provides a familiar programming environment&lt;br /&gt;
==== Con ====&lt;br /&gt;
* Weak isolation between experiments&lt;br /&gt;
* Having a homogenous test-bed is poor for distributed experimentation&lt;br /&gt;
*&lt;/div&gt;</summary>
		<author><name>Jmahonin</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebOS,_PlanetLab,_Starfish&amp;diff=1813</id>
		<title>WebOS, PlanetLab, Starfish</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebOS,_PlanetLab,_Starfish&amp;diff=1813"/>
		<updated>2008-03-19T19:42:11Z</updated>

		<summary type="html">&lt;p&gt;Jmahonin: /* Learning from PlanetLab */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Readings==&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/vahat-webos-hpdc98.pdf Amin Vahat et al., &amp;quot;WebOS: Operating System Services for Wide Area Applications&amp;quot; (1998)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/starfish.pdf Adnan Agbaria and Roy Friedman, &amp;quot;Starﬁsh: Fault-Tolerant Dynamic MPI Programs on Clusters of Workstations&amp;quot; (2003)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/peterson-planetlab-osdi06.pdf Larry Peterson et al., &amp;quot;Experiences Building PlanetLab&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/anderson-planetlab-learning.pdf Thomas Anderson and Timothy Roscoe, &amp;quot;Learning from PlanetLab&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WebOS ==&lt;br /&gt;
&lt;br /&gt;
=== Key features ===&lt;br /&gt;
* High Availability&lt;br /&gt;
* Lower Latency&lt;br /&gt;
* Fault Tolerance&lt;br /&gt;
&lt;br /&gt;
Consensus: WebOS isn&#039;t really an distributed OS&lt;br /&gt;
&lt;br /&gt;
=== Main components ===&lt;br /&gt;
* Smart Client&lt;br /&gt;
* WebFS&lt;br /&gt;
* Global naming scheme based on URLs&lt;br /&gt;
* Process control system&lt;br /&gt;
* CRISIS authentication/authorization system (Certificates with ACLs)&lt;br /&gt;
&lt;br /&gt;
=== Key ideas that were/were not not adopted from WebFS ===&lt;br /&gt;
&lt;br /&gt;
Adopted:&lt;br /&gt;
* General idea of wide area dynamic distribution -&amp;gt; Akamai (but primarily for static content)&lt;br /&gt;
* Global naming using URLs&lt;br /&gt;
&lt;br /&gt;
Not Adopted:&lt;br /&gt;
* CRISIS &lt;br /&gt;
* WebFS (Although WebDAV could be said to be related)&lt;br /&gt;
* Smart client (for web sites)&lt;br /&gt;
&lt;br /&gt;
=== What are the pros and cons of using smart clients to do load balancing? ===&lt;br /&gt;
&lt;br /&gt;
Pro:&lt;br /&gt;
* Distributes computation&lt;br /&gt;
* More flexible&lt;br /&gt;
&lt;br /&gt;
Con:&lt;br /&gt;
* Vulnerable to Denial of Service or other forms of attacks&lt;br /&gt;
* Extra network overhead to locate a service&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Starfish ==&lt;br /&gt;
&lt;br /&gt;
=== Key features ===&lt;br /&gt;
===== MPI =====&lt;br /&gt;
* Fast message passing&lt;br /&gt;
* Allows the programmers more control&lt;br /&gt;
===== OCaml =====&lt;br /&gt;
====== Pros ======&lt;br /&gt;
* Recursive algorithms&lt;br /&gt;
* Uses Bytecodes - portable in theory&lt;br /&gt;
* Same code on heterogenous hardware&lt;br /&gt;
* Well known language&lt;br /&gt;
====== Cons ======&lt;br /&gt;
* Slow performance?&lt;br /&gt;
* Not entirely portable, maybe Just-In-Time?&lt;br /&gt;
==== Checkpointing ====&lt;br /&gt;
* Save / resume state&lt;br /&gt;
* Provides process migration&lt;br /&gt;
* Maybe better suited to be implemented in the application, not OS?&lt;br /&gt;
==== Management ====&lt;br /&gt;
* Had a Java interface which allowed any node to login and see full system status&lt;br /&gt;
* Used the distributed nature of daemons to communicate this information&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Experiences Building PlanetLab ==&lt;br /&gt;
=== Key ideas ===&lt;br /&gt;
* Global platform to distribute/test network services&lt;br /&gt;
* Scale&lt;br /&gt;
* Should be able to monitor and stop disruptive traffic&lt;br /&gt;
=== Challenges ===&lt;br /&gt;
* Resource allocation is significant, especially in a distributed system such as PlanetLab&lt;br /&gt;
* Providing a global platform for long-term services&lt;br /&gt;
* Implementing a trust relationship between node owners and service developers (users)&lt;br /&gt;
=== PLC ===&lt;br /&gt;
==== Summary ====&lt;br /&gt;
* Fulfills the trust mechanism required for the network&lt;br /&gt;
* Acts as a middle man / mediator between node owners and users&lt;br /&gt;
* If someone breaks into the PLC however, entire system is compromised&lt;br /&gt;
==== Implementation ====&lt;br /&gt;
* Nodes are split into slices using VServers, lightweight process groups&lt;br /&gt;
==== Criticisms ====&lt;br /&gt;
* Bandwidth allocation was slice-based, not node based&lt;br /&gt;
&lt;br /&gt;
== Learning from PlanetLab==&lt;br /&gt;
=== Centralized Trusts ===&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* Easier to manage, one entity to trust&lt;br /&gt;
==== Con ====&lt;br /&gt;
* One point of control, no competition as to who to trust&lt;br /&gt;
&lt;br /&gt;
=== Centralized resource control ===&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* All resources are controlled by PLC&lt;br /&gt;
==== Con ====&lt;br /&gt;
* No incentive for users or administrators to conservce resources&lt;br /&gt;
&lt;br /&gt;
=== Decentralized management ===&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* Provide bare-bones management, try to foster competition between 3rd party services&lt;br /&gt;
==== Con ====&lt;br /&gt;
* No motivation to do so, it&#039;s hard work&lt;br /&gt;
&lt;br /&gt;
=== Treat bandwidth as free ===&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* Free bandwidth!&lt;br /&gt;
==== Con ====&lt;br /&gt;
* No incentive to conserve bandwidth&lt;br /&gt;
&lt;br /&gt;
=== Provide only best-effort service ===&lt;br /&gt;
=== Pro ===&lt;br /&gt;
* No limit on the number of processes which can be run&lt;br /&gt;
=== Con ===&lt;br /&gt;
* Other processes may crowd out computation of other processes&lt;/div&gt;</summary>
		<author><name>Jmahonin</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebOS,_PlanetLab,_Starfish&amp;diff=1812</id>
		<title>WebOS, PlanetLab, Starfish</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebOS,_PlanetLab,_Starfish&amp;diff=1812"/>
		<updated>2008-03-19T19:40:05Z</updated>

		<summary type="html">&lt;p&gt;Jmahonin: /* PlanetLab Learning */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Readings==&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/vahat-webos-hpdc98.pdf Amin Vahat et al., &amp;quot;WebOS: Operating System Services for Wide Area Applications&amp;quot; (1998)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/starfish.pdf Adnan Agbaria and Roy Friedman, &amp;quot;Starﬁsh: Fault-Tolerant Dynamic MPI Programs on Clusters of Workstations&amp;quot; (2003)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/peterson-planetlab-osdi06.pdf Larry Peterson et al., &amp;quot;Experiences Building PlanetLab&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/anderson-planetlab-learning.pdf Thomas Anderson and Timothy Roscoe, &amp;quot;Learning from PlanetLab&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WebOS ==&lt;br /&gt;
&lt;br /&gt;
=== Key features ===&lt;br /&gt;
* High Availability&lt;br /&gt;
* Lower Latency&lt;br /&gt;
* Fault Tolerance&lt;br /&gt;
&lt;br /&gt;
Consensus: WebOS isn&#039;t really an distributed OS&lt;br /&gt;
&lt;br /&gt;
=== Main components ===&lt;br /&gt;
* Smart Client&lt;br /&gt;
* WebFS&lt;br /&gt;
* Global naming scheme based on URLs&lt;br /&gt;
* Process control system&lt;br /&gt;
* CRISIS authentication/authorization system (Certificates with ACLs)&lt;br /&gt;
&lt;br /&gt;
=== Key ideas that were/were not not adopted from WebFS ===&lt;br /&gt;
&lt;br /&gt;
Adopted:&lt;br /&gt;
* General idea of wide area dynamic distribution -&amp;gt; Akamai (but primarily for static content)&lt;br /&gt;
* Global naming using URLs&lt;br /&gt;
&lt;br /&gt;
Not Adopted:&lt;br /&gt;
* CRISIS &lt;br /&gt;
* WebFS (Although WebDAV could be said to be related)&lt;br /&gt;
* Smart client (for web sites)&lt;br /&gt;
&lt;br /&gt;
=== What are the pros and cons of using smart clients to do load balancing? ===&lt;br /&gt;
&lt;br /&gt;
Pro:&lt;br /&gt;
* Distributes computation&lt;br /&gt;
* More flexible&lt;br /&gt;
&lt;br /&gt;
Con:&lt;br /&gt;
* Vulnerable to Denial of Service or other forms of attacks&lt;br /&gt;
* Extra network overhead to locate a service&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Starfish ==&lt;br /&gt;
&lt;br /&gt;
=== Key features ===&lt;br /&gt;
===== MPI =====&lt;br /&gt;
* Fast message passing&lt;br /&gt;
* Allows the programmers more control&lt;br /&gt;
===== OCaml =====&lt;br /&gt;
====== Pros ======&lt;br /&gt;
* Recursive algorithms&lt;br /&gt;
* Uses Bytecodes - portable in theory&lt;br /&gt;
* Same code on heterogenous hardware&lt;br /&gt;
* Well known language&lt;br /&gt;
====== Cons ======&lt;br /&gt;
* Slow performance?&lt;br /&gt;
* Not entirely portable, maybe Just-In-Time?&lt;br /&gt;
==== Checkpointing ====&lt;br /&gt;
* Save / resume state&lt;br /&gt;
* Provides process migration&lt;br /&gt;
* Maybe better suited to be implemented in the application, not OS?&lt;br /&gt;
==== Management ====&lt;br /&gt;
* Had a Java interface which allowed any node to login and see full system status&lt;br /&gt;
* Used the distributed nature of daemons to communicate this information&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Experiences Building PlanetLab ==&lt;br /&gt;
=== Key ideas ===&lt;br /&gt;
* Global platform to distribute/test network services&lt;br /&gt;
* Scale&lt;br /&gt;
* Should be able to monitor and stop disruptive traffic&lt;br /&gt;
=== Challenges ===&lt;br /&gt;
* Resource allocation is significant, especially in a distributed system such as PlanetLab&lt;br /&gt;
* Providing a global platform for long-term services&lt;br /&gt;
* Implementing a trust relationship between node owners and service developers (users)&lt;br /&gt;
=== PLC ===&lt;br /&gt;
==== Summary ====&lt;br /&gt;
* Fulfills the trust mechanism required for the network&lt;br /&gt;
* Acts as a middle man / mediator between node owners and users&lt;br /&gt;
* If someone breaks into the PLC however, entire system is compromised&lt;br /&gt;
==== Implementation ====&lt;br /&gt;
* Nodes are split into slices using VServers, lightweight process groups&lt;br /&gt;
==== Criticisms ====&lt;br /&gt;
* Bandwidth allocation was slice-based, not node based&lt;br /&gt;
&lt;br /&gt;
== Learning from PlanetLab==&lt;br /&gt;
=== Centralized Trusts ===&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* Easier to manage, one entity to trust&lt;br /&gt;
==== Con ====&lt;br /&gt;
* One point of control, no competition as to who to trust&lt;br /&gt;
&lt;br /&gt;
=== Centralized resource control ===&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* All resources are controlled by PLC&lt;br /&gt;
==== Con ====&lt;br /&gt;
* No incentive for users or administrators to conservce resources&lt;br /&gt;
&lt;br /&gt;
=== Decentralized management ===&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* Provide bare-bones management, try to foster competition between 3rd party services&lt;br /&gt;
==== Con =====&lt;br /&gt;
* No motivation to do so, it&#039;s hard work&lt;br /&gt;
&lt;br /&gt;
=== Treat bandwidth as free ===&lt;br /&gt;
==== Pro ====&lt;br /&gt;
* Free bandwidth!&lt;br /&gt;
==== Con =====&lt;br /&gt;
* No incentive to conserve bandwidth&lt;br /&gt;
&lt;br /&gt;
=== Provide only best-effort service ===&lt;br /&gt;
=== Pro ===&lt;br /&gt;
&lt;br /&gt;
=== Con ===&lt;/div&gt;</summary>
		<author><name>Jmahonin</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebOS,_PlanetLab,_Starfish&amp;diff=1811</id>
		<title>WebOS, PlanetLab, Starfish</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebOS,_PlanetLab,_Starfish&amp;diff=1811"/>
		<updated>2008-03-19T19:27:27Z</updated>

		<summary type="html">&lt;p&gt;Jmahonin: /* Experiences Building PlanetLab */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Readings==&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/vahat-webos-hpdc98.pdf Amin Vahat et al., &amp;quot;WebOS: Operating System Services for Wide Area Applications&amp;quot; (1998)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/starfish.pdf Adnan Agbaria and Roy Friedman, &amp;quot;Starﬁsh: Fault-Tolerant Dynamic MPI Programs on Clusters of Workstations&amp;quot; (2003)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/peterson-planetlab-osdi06.pdf Larry Peterson et al., &amp;quot;Experiences Building PlanetLab&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/anderson-planetlab-learning.pdf Thomas Anderson and Timothy Roscoe, &amp;quot;Learning from PlanetLab&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WebOS ==&lt;br /&gt;
&lt;br /&gt;
=== Key features ===&lt;br /&gt;
* High Availability&lt;br /&gt;
* Lower Latency&lt;br /&gt;
* Fault Tolerance&lt;br /&gt;
&lt;br /&gt;
Consensus: WebOS isn&#039;t really an distributed OS&lt;br /&gt;
&lt;br /&gt;
=== Main components ===&lt;br /&gt;
* Smart Client&lt;br /&gt;
* WebFS&lt;br /&gt;
* Global naming scheme based on URLs&lt;br /&gt;
* Process control system&lt;br /&gt;
* CRISIS authentication/authorization system (Certificates with ACLs)&lt;br /&gt;
&lt;br /&gt;
=== Key ideas that were/were not not adopted from WebFS ===&lt;br /&gt;
&lt;br /&gt;
Adopted:&lt;br /&gt;
* General idea of wide area dynamic distribution -&amp;gt; Akamai (but primarily for static content)&lt;br /&gt;
* Global naming using URLs&lt;br /&gt;
&lt;br /&gt;
Not Adopted:&lt;br /&gt;
* CRISIS &lt;br /&gt;
* WebFS (Although WebDAV could be said to be related)&lt;br /&gt;
* Smart client (for web sites)&lt;br /&gt;
&lt;br /&gt;
=== What are the pros and cons of using smart clients to do load balancing? ===&lt;br /&gt;
&lt;br /&gt;
Pro:&lt;br /&gt;
* Distributes computation&lt;br /&gt;
* More flexible&lt;br /&gt;
&lt;br /&gt;
Con:&lt;br /&gt;
* Vulnerable to Denial of Service or other forms of attacks&lt;br /&gt;
* Extra network overhead to locate a service&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Starfish ==&lt;br /&gt;
&lt;br /&gt;
=== Key features ===&lt;br /&gt;
===== MPI =====&lt;br /&gt;
* Fast message passing&lt;br /&gt;
* Allows the programmers more control&lt;br /&gt;
===== OCaml =====&lt;br /&gt;
====== Pros ======&lt;br /&gt;
* Recursive algorithms&lt;br /&gt;
* Uses Bytecodes - portable in theory&lt;br /&gt;
* Same code on heterogenous hardware&lt;br /&gt;
* Well known language&lt;br /&gt;
====== Cons ======&lt;br /&gt;
* Slow performance?&lt;br /&gt;
* Not entirely portable, maybe Just-In-Time?&lt;br /&gt;
==== Checkpointing ====&lt;br /&gt;
* Save / resume state&lt;br /&gt;
* Provides process migration&lt;br /&gt;
* Maybe better suited to be implemented in the application, not OS?&lt;br /&gt;
==== Management ====&lt;br /&gt;
* Had a Java interface which allowed any node to login and see full system status&lt;br /&gt;
* Used the distributed nature of daemons to communicate this information&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Experiences Building PlanetLab ==&lt;br /&gt;
=== Key ideas ===&lt;br /&gt;
* Global platform to distribute/test network services&lt;br /&gt;
* Scale&lt;br /&gt;
* Should be able to monitor and stop disruptive traffic&lt;br /&gt;
=== Challenges ===&lt;br /&gt;
* Resource allocation is significant, especially in a distributed system such as PlanetLab&lt;br /&gt;
* Providing a global platform for long-term services&lt;br /&gt;
* Implementing a trust relationship between node owners and service developers (users)&lt;br /&gt;
=== PLC ===&lt;br /&gt;
==== Summary ====&lt;br /&gt;
* Fulfills the trust mechanism required for the network&lt;br /&gt;
* Acts as a middle man / mediator between node owners and users&lt;br /&gt;
* If someone breaks into the PLC however, entire system is compromised&lt;br /&gt;
==== Implementation ====&lt;br /&gt;
* Nodes are split into slices using VServers, lightweight process groups&lt;br /&gt;
==== Criticisms ====&lt;br /&gt;
* Bandwidth allocation was slice-based, not node based&lt;br /&gt;
&lt;br /&gt;
== PlanetLab Learning ==&lt;br /&gt;
=== Bar ===&lt;/div&gt;</summary>
		<author><name>Jmahonin</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebOS,_PlanetLab,_Starfish&amp;diff=1810</id>
		<title>WebOS, PlanetLab, Starfish</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebOS,_PlanetLab,_Starfish&amp;diff=1810"/>
		<updated>2008-03-19T19:13:31Z</updated>

		<summary type="html">&lt;p&gt;Jmahonin: /* PlanetLab */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Readings==&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/vahat-webos-hpdc98.pdf Amin Vahat et al., &amp;quot;WebOS: Operating System Services for Wide Area Applications&amp;quot; (1998)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/starfish.pdf Adnan Agbaria and Roy Friedman, &amp;quot;Starﬁsh: Fault-Tolerant Dynamic MPI Programs on Clusters of Workstations&amp;quot; (2003)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/peterson-planetlab-osdi06.pdf Larry Peterson et al., &amp;quot;Experiences Building PlanetLab&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/anderson-planetlab-learning.pdf Thomas Anderson and Timothy Roscoe, &amp;quot;Learning from PlanetLab&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WebOS ==&lt;br /&gt;
&lt;br /&gt;
=== Key features ===&lt;br /&gt;
* High Availability&lt;br /&gt;
* Lower Latency&lt;br /&gt;
* Fault Tolerance&lt;br /&gt;
&lt;br /&gt;
Consensus: WebOS isn&#039;t really an distributed OS&lt;br /&gt;
&lt;br /&gt;
=== Main components ===&lt;br /&gt;
* Smart Client&lt;br /&gt;
* WebFS&lt;br /&gt;
* Global naming scheme based on URLs&lt;br /&gt;
* Process control system&lt;br /&gt;
* CRISIS authentication/authorization system (Certificates with ACLs)&lt;br /&gt;
&lt;br /&gt;
=== Key ideas that were/were not not adopted from WebFS ===&lt;br /&gt;
&lt;br /&gt;
Adopted:&lt;br /&gt;
* General idea of wide area dynamic distribution -&amp;gt; Akamai (but primarily for static content)&lt;br /&gt;
* Global naming using URLs&lt;br /&gt;
&lt;br /&gt;
Not Adopted:&lt;br /&gt;
* CRISIS &lt;br /&gt;
* WebFS (Although WebDAV could be said to be related)&lt;br /&gt;
* Smart client (for web sites)&lt;br /&gt;
&lt;br /&gt;
=== What are the pros and cons of using smart clients to do load balancing? ===&lt;br /&gt;
&lt;br /&gt;
Pro:&lt;br /&gt;
* Distributes computation&lt;br /&gt;
* More flexible&lt;br /&gt;
&lt;br /&gt;
Con:&lt;br /&gt;
* Vulnerable to Denial of Service or other forms of attacks&lt;br /&gt;
* Extra network overhead to locate a service&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Starfish ==&lt;br /&gt;
&lt;br /&gt;
=== Key features ===&lt;br /&gt;
===== MPI =====&lt;br /&gt;
* Fast message passing&lt;br /&gt;
* Allows the programmers more control&lt;br /&gt;
===== OCaml =====&lt;br /&gt;
====== Pros ======&lt;br /&gt;
* Recursive algorithms&lt;br /&gt;
* Uses Bytecodes - portable in theory&lt;br /&gt;
* Same code on heterogenous hardware&lt;br /&gt;
* Well known language&lt;br /&gt;
====== Cons ======&lt;br /&gt;
* Slow performance?&lt;br /&gt;
* Not entirely portable, maybe Just-In-Time?&lt;br /&gt;
==== Checkpointing ====&lt;br /&gt;
* Save / resume state&lt;br /&gt;
* Provides process migration&lt;br /&gt;
* Maybe better suited to be implemented in the application, not OS?&lt;br /&gt;
==== Management ====&lt;br /&gt;
* Had a Java interface which allowed any node to login and see full system status&lt;br /&gt;
* Used the distributed nature of daemons to communicate this information&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Experiences Building PlanetLab ==&lt;br /&gt;
=== Key ideas ===&lt;br /&gt;
* Global platform to distribute/test network services&lt;br /&gt;
* Scale&lt;br /&gt;
* Should be able to monitor and stop disruptive traffic&lt;br /&gt;
=== Challenges ===&lt;br /&gt;
* Resource allocation is significant, especially in a distributed system such as PlanetLab&lt;br /&gt;
* Providing a global platform for long-term services&lt;br /&gt;
* Implementing a trust relationship between node owners and service developers (users)&lt;br /&gt;
=== PLC ===&lt;br /&gt;
* Fulfills the trust mechanism required for the network&lt;br /&gt;
* Acts as a middle man / mediator between node owners and users&lt;br /&gt;
* If someone breaks into the PLC however, entire system is compromised&lt;br /&gt;
&lt;br /&gt;
== PlanetLab Learning ==&lt;br /&gt;
=== Bar ===&lt;/div&gt;</summary>
		<author><name>Jmahonin</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebOS,_PlanetLab,_Starfish&amp;diff=1809</id>
		<title>WebOS, PlanetLab, Starfish</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebOS,_PlanetLab,_Starfish&amp;diff=1809"/>
		<updated>2008-03-19T19:03:29Z</updated>

		<summary type="html">&lt;p&gt;Jmahonin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Readings==&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/vahat-webos-hpdc98.pdf Amin Vahat et al., &amp;quot;WebOS: Operating System Services for Wide Area Applications&amp;quot; (1998)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/starfish.pdf Adnan Agbaria and Roy Friedman, &amp;quot;Starﬁsh: Fault-Tolerant Dynamic MPI Programs on Clusters of Workstations&amp;quot; (2003)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/peterson-planetlab-osdi06.pdf Larry Peterson et al., &amp;quot;Experiences Building PlanetLab&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/anderson-planetlab-learning.pdf Thomas Anderson and Timothy Roscoe, &amp;quot;Learning from PlanetLab&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WebOS ==&lt;br /&gt;
&lt;br /&gt;
=== Key features ===&lt;br /&gt;
* High Availability&lt;br /&gt;
* Lower Latency&lt;br /&gt;
* Fault Tolerance&lt;br /&gt;
&lt;br /&gt;
Consensus: WebOS isn&#039;t really an distributed OS&lt;br /&gt;
&lt;br /&gt;
=== Main components ===&lt;br /&gt;
* Smart Client&lt;br /&gt;
* WebFS&lt;br /&gt;
* Global naming scheme based on URLs&lt;br /&gt;
* Process control system&lt;br /&gt;
* CRISIS authentication/authorization system (Certificates with ACLs)&lt;br /&gt;
&lt;br /&gt;
=== Key ideas that were/were not not adopted from WebFS ===&lt;br /&gt;
&lt;br /&gt;
Adopted:&lt;br /&gt;
* General idea of wide area dynamic distribution -&amp;gt; Akamai (but primarily for static content)&lt;br /&gt;
* Global naming using URLs&lt;br /&gt;
&lt;br /&gt;
Not Adopted:&lt;br /&gt;
* CRISIS &lt;br /&gt;
* WebFS (Although WebDAV could be said to be related)&lt;br /&gt;
* Smart client (for web sites)&lt;br /&gt;
&lt;br /&gt;
=== What are the pros and cons of using smart clients to do load balancing? ===&lt;br /&gt;
&lt;br /&gt;
Pro:&lt;br /&gt;
* Distributes computation&lt;br /&gt;
* More flexible&lt;br /&gt;
&lt;br /&gt;
Con:&lt;br /&gt;
* Vulnerable to Denial of Service or other forms of attacks&lt;br /&gt;
* Extra network overhead to locate a service&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Starfish ==&lt;br /&gt;
&lt;br /&gt;
=== Key features ===&lt;br /&gt;
===== MPI =====&lt;br /&gt;
* Fast message passing&lt;br /&gt;
* Allows the programmers more control&lt;br /&gt;
===== OCaml =====&lt;br /&gt;
====== Pros ======&lt;br /&gt;
* Recursive algorithms&lt;br /&gt;
* Uses Bytecodes - portable in theory&lt;br /&gt;
* Same code on heterogenous hardware&lt;br /&gt;
* Well known language&lt;br /&gt;
====== Cons ======&lt;br /&gt;
* Slow performance?&lt;br /&gt;
* Not entirely portable, maybe Just-In-Time?&lt;br /&gt;
==== Checkpointing ====&lt;br /&gt;
* Save / resume state&lt;br /&gt;
* Provides process migration&lt;br /&gt;
* Maybe better suited to be implemented in the application, not OS?&lt;br /&gt;
==== Management ====&lt;br /&gt;
* Had a Java interface which allowed any node to login and see full system status&lt;br /&gt;
* Used the distributed nature of daemons to communicate this information&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PlanetLab ==&lt;br /&gt;
=== Foo ===&lt;br /&gt;
&lt;br /&gt;
== PlanetLab Learning ==&lt;br /&gt;
=== Bar ===&lt;/div&gt;</summary>
		<author><name>Jmahonin</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebOS,_PlanetLab,_Starfish&amp;diff=1808</id>
		<title>WebOS, PlanetLab, Starfish</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebOS,_PlanetLab,_Starfish&amp;diff=1808"/>
		<updated>2008-03-19T19:00:29Z</updated>

		<summary type="html">&lt;p&gt;Jmahonin: /* Starfish */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Readings==&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/vahat-webos-hpdc98.pdf Amin Vahat et al., &amp;quot;WebOS: Operating System Services for Wide Area Applications&amp;quot; (1998)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/starfish.pdf Adnan Agbaria and Roy Friedman, &amp;quot;Starﬁsh: Fault-Tolerant Dynamic MPI Programs on Clusters of Workstations&amp;quot; (2003)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/peterson-planetlab-osdi06.pdf Larry Peterson et al., &amp;quot;Experiences Building PlanetLab&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/anderson-planetlab-learning.pdf Thomas Anderson and Timothy Roscoe, &amp;quot;Learning from PlanetLab&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WebOS ==&lt;br /&gt;
&lt;br /&gt;
=== Key features ===&lt;br /&gt;
* High Availability&lt;br /&gt;
* Lower Latency&lt;br /&gt;
* Fault Tolerance&lt;br /&gt;
&lt;br /&gt;
Consensus: WebOS isn&#039;t really an distributed OS&lt;br /&gt;
&lt;br /&gt;
=== Main components ===&lt;br /&gt;
* Smart Client&lt;br /&gt;
* WebFS&lt;br /&gt;
* Global naming scheme based on URLs&lt;br /&gt;
* Process control system&lt;br /&gt;
* CRISIS authentication/authorization system (Certificates with ACLs)&lt;br /&gt;
&lt;br /&gt;
=== Key ideas that were/were not not adopted from WebFS ===&lt;br /&gt;
&lt;br /&gt;
Adopted:&lt;br /&gt;
* General idea of wide area dynamic distribution -&amp;gt; Akamai (but primarily for static content)&lt;br /&gt;
* Global naming using URLs&lt;br /&gt;
&lt;br /&gt;
Not Adopted:&lt;br /&gt;
* CRISIS &lt;br /&gt;
* WebFS (Although WebDAV could be said to be related)&lt;br /&gt;
* Smart client (for web sites)&lt;br /&gt;
&lt;br /&gt;
=== What are the pros and cons of using smart clients to do load balancing? ===&lt;br /&gt;
&lt;br /&gt;
Pro:&lt;br /&gt;
* Distributes computation&lt;br /&gt;
* More flexible&lt;br /&gt;
&lt;br /&gt;
Con:&lt;br /&gt;
* Vulnerable to Denial of Service or other forms of attacks&lt;br /&gt;
* Extra network overhead to locate a service&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Starfish ==&lt;br /&gt;
&lt;br /&gt;
=== Key features ===&lt;br /&gt;
===== MPI =====&lt;br /&gt;
* Fast message passing&lt;br /&gt;
* Allows the programmers more control&lt;br /&gt;
===== OCaml =====&lt;br /&gt;
====== Pros ======&lt;br /&gt;
* Recursive algorithms&lt;br /&gt;
* Uses Bytecodes - portable in theory&lt;br /&gt;
* Same code on heterogenous hardware&lt;br /&gt;
* Well known language&lt;br /&gt;
====== Cons ======&lt;br /&gt;
* Slow performance?&lt;br /&gt;
* Not entirely portable, maybe Just-In-Time?&lt;br /&gt;
==== Checkpointing ====&lt;br /&gt;
* Save / resume state&lt;br /&gt;
* Provides process migration&lt;br /&gt;
* Maybe better suited to be implemented in the application, not OS?&lt;br /&gt;
==== Management ====&lt;br /&gt;
* Had a Java interface which allowed any node to login and see full system status&lt;br /&gt;
* Used the distributed nature of daemons to communicate this information&lt;/div&gt;</summary>
		<author><name>Jmahonin</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebOS,_PlanetLab,_Starfish&amp;diff=1807</id>
		<title>WebOS, PlanetLab, Starfish</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebOS,_PlanetLab,_Starfish&amp;diff=1807"/>
		<updated>2008-03-19T18:56:46Z</updated>

		<summary type="html">&lt;p&gt;Jmahonin: /* Starfish */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Readings==&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/vahat-webos-hpdc98.pdf Amin Vahat et al., &amp;quot;WebOS: Operating System Services for Wide Area Applications&amp;quot; (1998)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/starfish.pdf Adnan Agbaria and Roy Friedman, &amp;quot;Starﬁsh: Fault-Tolerant Dynamic MPI Programs on Clusters of Workstations&amp;quot; (2003)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/peterson-planetlab-osdi06.pdf Larry Peterson et al., &amp;quot;Experiences Building PlanetLab&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/anderson-planetlab-learning.pdf Thomas Anderson and Timothy Roscoe, &amp;quot;Learning from PlanetLab&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WebOS ==&lt;br /&gt;
&lt;br /&gt;
=== Key features ===&lt;br /&gt;
* High Availability&lt;br /&gt;
* Lower Latency&lt;br /&gt;
* Fault Tolerance&lt;br /&gt;
&lt;br /&gt;
Consensus: WebOS isn&#039;t really an distributed OS&lt;br /&gt;
&lt;br /&gt;
=== Main components ===&lt;br /&gt;
* Smart Client&lt;br /&gt;
* WebFS&lt;br /&gt;
* Global naming scheme based on URLs&lt;br /&gt;
* Process control system&lt;br /&gt;
* CRISIS authentication/authorization system (Certificates with ACLs)&lt;br /&gt;
&lt;br /&gt;
=== Key ideas that were/were not not adopted from WebFS ===&lt;br /&gt;
&lt;br /&gt;
Adopted:&lt;br /&gt;
* General idea of wide area dynamic distribution -&amp;gt; Akamai (but primarily for static content)&lt;br /&gt;
* Global naming using URLs&lt;br /&gt;
&lt;br /&gt;
Not Adopted:&lt;br /&gt;
* CRISIS &lt;br /&gt;
* WebFS (Although WebDAV could be said to be related)&lt;br /&gt;
* Smart client (for web sites)&lt;br /&gt;
&lt;br /&gt;
=== What are the pros and cons of using smart clients to do load balancing? ===&lt;br /&gt;
&lt;br /&gt;
Pro:&lt;br /&gt;
* Distributes computation&lt;br /&gt;
* More flexible&lt;br /&gt;
&lt;br /&gt;
Con:&lt;br /&gt;
* Vulnerable to Denial of Service or other forms of attacks&lt;br /&gt;
* Extra network overhead to locate a service&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Starfish ==&lt;br /&gt;
&lt;br /&gt;
=== Key features ===&lt;br /&gt;
===== MPI =====&lt;br /&gt;
* Fast message passing&lt;br /&gt;
* Allows the programmers more control&lt;br /&gt;
===== OCaml =====&lt;br /&gt;
====== Pros ======&lt;br /&gt;
* Recursive algorithms&lt;br /&gt;
* Uses Bytecodes - portable in theory&lt;br /&gt;
* Same code on heterogenous hardware&lt;br /&gt;
* Well known language&lt;br /&gt;
====== Cons ======&lt;br /&gt;
* Slow performance?&lt;br /&gt;
* Not entirely portable, maybe Just-In-Time?&lt;br /&gt;
==== Checkpointing ====&lt;br /&gt;
* Save / resume state&lt;br /&gt;
* Provides process migration&lt;br /&gt;
* Maybe better suited to be implemented in the application, not OS?&lt;/div&gt;</summary>
		<author><name>Jmahonin</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebOS,_PlanetLab,_Starfish&amp;diff=1806</id>
		<title>WebOS, PlanetLab, Starfish</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebOS,_PlanetLab,_Starfish&amp;diff=1806"/>
		<updated>2008-03-19T18:45:40Z</updated>

		<summary type="html">&lt;p&gt;Jmahonin: /* Key features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Readings==&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/vahat-webos-hpdc98.pdf Amin Vahat et al., &amp;quot;WebOS: Operating System Services for Wide Area Applications&amp;quot; (1998)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/starfish.pdf Adnan Agbaria and Roy Friedman, &amp;quot;Starﬁsh: Fault-Tolerant Dynamic MPI Programs on Clusters of Workstations&amp;quot; (2003)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/peterson-planetlab-osdi06.pdf Larry Peterson et al., &amp;quot;Experiences Building PlanetLab&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/anderson-planetlab-learning.pdf Thomas Anderson and Timothy Roscoe, &amp;quot;Learning from PlanetLab&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WebOS ==&lt;br /&gt;
&lt;br /&gt;
=== Key features ===&lt;br /&gt;
* High Availability&lt;br /&gt;
* Lower Latency&lt;br /&gt;
* Fault Tolerance&lt;br /&gt;
&lt;br /&gt;
Consensus: WebOS isn&#039;t really an distributed OS&lt;br /&gt;
&lt;br /&gt;
=== Main components ===&lt;br /&gt;
* Smart Client&lt;br /&gt;
* WebFS&lt;br /&gt;
* Global naming scheme based on URLs&lt;br /&gt;
* Process control system&lt;br /&gt;
* CRISIS authentication/authorization system (Certificates with ACLs)&lt;br /&gt;
&lt;br /&gt;
=== Key ideas that were/were not not adopted from WebFS ===&lt;br /&gt;
&lt;br /&gt;
Adopted:&lt;br /&gt;
* General idea of wide area dynamic distribution -&amp;gt; Akamai (but primarily for static content)&lt;br /&gt;
* Global naming using URLs&lt;br /&gt;
&lt;br /&gt;
Not Adopted:&lt;br /&gt;
* CRISIS &lt;br /&gt;
* WebFS (Although WebDAV could be said to be related)&lt;br /&gt;
* Smart client (for web sites)&lt;br /&gt;
&lt;br /&gt;
=== What are the pros and cons of using smart clients to do load balancing? ===&lt;br /&gt;
&lt;br /&gt;
Pro:&lt;br /&gt;
* Distributes computation&lt;br /&gt;
* More flexible&lt;br /&gt;
&lt;br /&gt;
Con:&lt;br /&gt;
* Vulnerable to Denial of Service or other forms of attacks&lt;br /&gt;
* Extra network overhead to locate a service&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Starfish ==&lt;br /&gt;
&lt;br /&gt;
=== Key features ===&lt;br /&gt;
===== MPI =====&lt;br /&gt;
* Fast message passing&lt;br /&gt;
* Allows the programmers more control&lt;br /&gt;
===== OCaml =====&lt;br /&gt;
====== Pros ======&lt;br /&gt;
* Recursive algorithms&lt;br /&gt;
* Uses Bytecodes - portable in theory&lt;br /&gt;
* Same code on heterogenous hardware&lt;br /&gt;
* Well known language&lt;br /&gt;
====== Cons ======&lt;br /&gt;
* Slow performance?&lt;br /&gt;
* Not entirely portable, maybe Just-In-Time?&lt;/div&gt;</summary>
		<author><name>Jmahonin</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebOS,_PlanetLab,_Starfish&amp;diff=1805</id>
		<title>WebOS, PlanetLab, Starfish</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=WebOS,_PlanetLab,_Starfish&amp;diff=1805"/>
		<updated>2008-03-19T18:40:51Z</updated>

		<summary type="html">&lt;p&gt;Jmahonin: /* WebOS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Readings==&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/vahat-webos-hpdc98.pdf Amin Vahat et al., &amp;quot;WebOS: Operating System Services for Wide Area Applications&amp;quot; (1998)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/starfish.pdf Adnan Agbaria and Roy Friedman, &amp;quot;Starﬁsh: Fault-Tolerant Dynamic MPI Programs on Clusters of Workstations&amp;quot; (2003)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/peterson-planetlab-osdi06.pdf Larry Peterson et al., &amp;quot;Experiences Building PlanetLab&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-17/anderson-planetlab-learning.pdf Thomas Anderson and Timothy Roscoe, &amp;quot;Learning from PlanetLab&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WebOS ==&lt;br /&gt;
&lt;br /&gt;
=== Key features ===&lt;br /&gt;
* High Availability&lt;br /&gt;
* Lower Latency&lt;br /&gt;
* Fault Tolerance&lt;br /&gt;
&lt;br /&gt;
Consensus: WebOS isn&#039;t really an distributed OS&lt;br /&gt;
&lt;br /&gt;
=== Main components ===&lt;br /&gt;
* Smart Client&lt;br /&gt;
* WebFS&lt;br /&gt;
* Global naming scheme based on URLs&lt;br /&gt;
* Process control system&lt;br /&gt;
* CRISIS authentication/authorization system (Certificates with ACLs)&lt;br /&gt;
&lt;br /&gt;
=== Key ideas that were/were not not adopted from WebFS ===&lt;br /&gt;
&lt;br /&gt;
Adopted:&lt;br /&gt;
* General idea of wide area dynamic distribution -&amp;gt; Akamai (but primarily for static content)&lt;br /&gt;
* Global naming using URLs&lt;br /&gt;
&lt;br /&gt;
Not Adopted:&lt;br /&gt;
* CRISIS &lt;br /&gt;
* WebFS (Although WebDAV could be said to be related)&lt;br /&gt;
* Smart client (for web sites)&lt;br /&gt;
&lt;br /&gt;
=== What are the pros and cons of using smart clients to do load balancing? ===&lt;br /&gt;
&lt;br /&gt;
Pro:&lt;br /&gt;
* Distributes computation&lt;br /&gt;
* More flexible&lt;br /&gt;
&lt;br /&gt;
Con:&lt;br /&gt;
* Vulnerable to Denial of Service or other forms of attacks&lt;br /&gt;
* Extra network overhead to locate a service&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Starfish ==&lt;br /&gt;
&lt;br /&gt;
=== Key features ===&lt;br /&gt;
===== MPI =====&lt;br /&gt;
* Fast message passing&lt;br /&gt;
* Allows the programmers more control&lt;/div&gt;</summary>
		<author><name>Jmahonin</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=NASD,_GoogleFS,_Farsite&amp;diff=1790</id>
		<title>NASD, GoogleFS, Farsite</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=NASD,_GoogleFS,_Farsite&amp;diff=1790"/>
		<updated>2008-03-12T18:39:28Z</updated>

		<summary type="html">&lt;p&gt;Jmahonin: /* Questions for Farsite */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Readings==&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-10/gibson-nasd.pdf Garth A. Gibson et al., &amp;quot;A Cost-Effective, High-Bandwidth Storage Architecture&amp;quot; (1998)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-10/gfs-sosp2003.pdf Sanjay Ghemawat et al., &amp;quot;The Google File System&amp;quot; (2003)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-10/adya-farsite-intro.pdf Atul Adya et al.,&amp;quot;FARSITE: Federated, Available, and Reliable Storage for an Incompletely Trusted Environment&amp;quot; (2002)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-10/bolosky-farsite-retro.pdf William J. Bolosky et al., &amp;quot;The Farsite Project: A Retrospective&amp;quot; (2007)]&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
# What were the target environments for these filesystems?  How did these environments shape their assumptions?&lt;br /&gt;
# What are the key ideas behind each filesystem?&lt;br /&gt;
# What are the strengths and weaknesses of each design?&lt;br /&gt;
# What are the strengths and weaknesses of each implementation?&lt;br /&gt;
# Which system is best suited for today&#039;s Internet?  How about tomorrow&#039;s?&lt;br /&gt;
&lt;br /&gt;
==Questions for NASD==&lt;br /&gt;
# Is giving direct access between client and drive a good idea? &lt;br /&gt;
# Are there substantial advantages in storing variable-length objects over fixed-sized blocks?&lt;br /&gt;
# Is putting the filesystem on the drive a good idea? Should more control and awareness be given to hardware devices?&lt;br /&gt;
# What are the strengths and weaknesses of the capability-based cryptography which NASD makes use of?&lt;br /&gt;
&lt;br /&gt;
==Questions for GoogleFS==&lt;br /&gt;
# How does the Google file system implement security?&lt;br /&gt;
# Is using a central server (point of access) a good design decision?&lt;br /&gt;
# Is removing random writes a good idea?&lt;br /&gt;
# Is the speedup attained by GFS&#039;s record-append method worth the sacrifice of Application overhead?&lt;br /&gt;
&lt;br /&gt;
==Questions for Farsite==&lt;br /&gt;
# Byzantine fault tolerance?&lt;br /&gt;
# How similar and different compared to OceanStore?&lt;br /&gt;
# What&#039;s up with the file lease mechanism?&lt;br /&gt;
&lt;br /&gt;
==Questions for Farsite retrospective==&lt;br /&gt;
# If using different programming methods... how does this file-system work given different programming models&lt;br /&gt;
# Details of buyzantine fault tolerance&lt;/div&gt;</summary>
		<author><name>Jmahonin</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=DSM_Review,_NFS,_AFS&amp;diff=1761</id>
		<title>DSM Review, NFS, AFS</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DSM_Review,_NFS,_AFS&amp;diff=1761"/>
		<updated>2008-02-13T20:34:05Z</updated>

		<summary type="html">&lt;p&gt;Jmahonin: /* In Class Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Readings==&lt;br /&gt;
&lt;br /&gt;
* [http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-11/protic-overview.pdf Jelica Protic et al., &amp;quot;Distributed Shared Memory: Concepts and Systems&amp;quot; (1996)]&amp;lt;br /&amp;gt;This paper reviews work in the area of distributed shared memory.&lt;br /&gt;
&lt;br /&gt;
* [http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-11/sandberg-nfs.pdf Russel Sandberg et al., &amp;quot;Design and Implementation of the Sun Network Filesystem&amp;quot; (1985)]&amp;lt;br /&amp;gt;This is the original NFS paper.&lt;br /&gt;
&lt;br /&gt;
* [http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-11/howard-afs.pdf John H. Howard et al., &amp;quot;Scale and Performance in a Distributed File System&amp;quot; (1988)]&amp;lt;br /&amp;gt;This paper describes AFS and compares it to NFS.&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
For the Protic paper, consider the following:&lt;br /&gt;
# What were the major problems addressed in DSM research following Kai Li&#039;s dissertation?&lt;br /&gt;
# Did these advances change the scope of environments and problems appropriate for DSM?&lt;br /&gt;
# Why aren&#039;t DSM systems commonly in use today?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the NFS and AFS papers, consider these questions:&lt;br /&gt;
# What were the key design goals of NFS and AFS?&lt;br /&gt;
# How well did they achieve their goals?&lt;br /&gt;
# What are their limitations?&lt;br /&gt;
# How suitable are NFS and AFS in modern small networks?  Enterprise networks?  Internet-scale applications?  Why?&lt;br /&gt;
&lt;br /&gt;
== In Class Notes ==&lt;br /&gt;
=== Goals of NFS and AFS ===&lt;br /&gt;
==== NFS ====&lt;br /&gt;
* Remote access like local access&lt;br /&gt;
* Scale to ~50 clients&lt;br /&gt;
* Portability&lt;br /&gt;
* Lightweight&lt;br /&gt;
&lt;br /&gt;
==== AFS ====&lt;br /&gt;
* Remote access like local access&lt;br /&gt;
* Scale to 5000 - 10000 hosts&lt;br /&gt;
* Portability (POSIX)&lt;br /&gt;
&lt;br /&gt;
=== Differences ===&lt;br /&gt;
==== NFS ====&lt;br /&gt;
# NFS does a system call for every read/write&lt;br /&gt;
# NFS can operate with diskless clients&lt;br /&gt;
# Lightweight clients&lt;br /&gt;
# Files are up-to-date, can be inconsistent&lt;br /&gt;
# Trusted clients&lt;br /&gt;
# Stateless&lt;br /&gt;
&lt;br /&gt;
==== AFS ====&lt;br /&gt;
# AFS does a system call only on retrieving and storing a file&lt;br /&gt;
# AFS assumes clients have a hard disk&lt;br /&gt;
# Heavier-weight client&lt;br /&gt;
# Files may be stale, but data is consistent&lt;br /&gt;
# Untrusted clients&lt;br /&gt;
# Stateful&lt;br /&gt;
&lt;br /&gt;
=== Contributions ===&lt;br /&gt;
==== NFS ====&lt;br /&gt;
* Kmalloc&lt;br /&gt;
* VFS&lt;br /&gt;
* (XDR, SunRPC)&lt;br /&gt;
&lt;br /&gt;
=== Aside: Kerberos for Dummies ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Client Identification:    &amp;lt;client&amp;gt; ==&amp;gt; &amp;lt;kerberos&amp;gt; &lt;br /&gt;
2. Client Request Ticket:    &amp;lt;client&amp;gt; &amp;lt;== &amp;lt;kerberos&amp;gt;&lt;br /&gt;
3. Authenticate with Ticket: &amp;lt;client&amp;gt; ==&amp;gt; &amp;lt;server&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jmahonin</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=DSM_Review,_NFS,_AFS&amp;diff=1760</id>
		<title>DSM Review, NFS, AFS</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DSM_Review,_NFS,_AFS&amp;diff=1760"/>
		<updated>2008-02-13T20:14:23Z</updated>

		<summary type="html">&lt;p&gt;Jmahonin: /* In Class Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Readings==&lt;br /&gt;
&lt;br /&gt;
* [http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-11/protic-overview.pdf Jelica Protic et al., &amp;quot;Distributed Shared Memory: Concepts and Systems&amp;quot; (1996)]&amp;lt;br /&amp;gt;This paper reviews work in the area of distributed shared memory.&lt;br /&gt;
&lt;br /&gt;
* [http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-11/sandberg-nfs.pdf Russel Sandberg et al., &amp;quot;Design and Implementation of the Sun Network Filesystem&amp;quot; (1985)]&amp;lt;br /&amp;gt;This is the original NFS paper.&lt;br /&gt;
&lt;br /&gt;
* [http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-11/howard-afs.pdf John H. Howard et al., &amp;quot;Scale and Performance in a Distributed File System&amp;quot; (1988)]&amp;lt;br /&amp;gt;This paper describes AFS and compares it to NFS.&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
For the Protic paper, consider the following:&lt;br /&gt;
# What were the major problems addressed in DSM research following Kai Li&#039;s dissertation?&lt;br /&gt;
# Did these advances change the scope of environments and problems appropriate for DSM?&lt;br /&gt;
# Why aren&#039;t DSM systems commonly in use today?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the NFS and AFS papers, consider these questions:&lt;br /&gt;
# What were the key design goals of NFS and AFS?&lt;br /&gt;
# How well did they achieve their goals?&lt;br /&gt;
# What are their limitations?&lt;br /&gt;
# How suitable are NFS and AFS in modern small networks?  Enterprise networks?  Internet-scale applications?  Why?&lt;br /&gt;
&lt;br /&gt;
== In Class Notes ==&lt;br /&gt;
=== Goals of NFS and AFS ===&lt;br /&gt;
==== NFS ====&lt;br /&gt;
* Remote access like local access&lt;br /&gt;
* Scale to ~50 clients&lt;br /&gt;
* Portability&lt;br /&gt;
* Lightweight&lt;br /&gt;
&lt;br /&gt;
==== AFS ====&lt;br /&gt;
* Remote access like local access&lt;br /&gt;
* Scale to 5000 - 10000 hosts&lt;br /&gt;
* Portability (POSIX)&lt;br /&gt;
&lt;br /&gt;
=== Differences ===&lt;br /&gt;
==== NFS ====&lt;br /&gt;
# NFS does a system call for every read/write&lt;br /&gt;
# NFS can operate with diskless clients&lt;br /&gt;
# Lightweight clients&lt;br /&gt;
# Files are up-to-date, can be inconsistent&lt;br /&gt;
# Trusted clients&lt;br /&gt;
&lt;br /&gt;
==== AFS ====&lt;br /&gt;
# AFS does a system call only on retrieving and storing a file&lt;br /&gt;
# AFS assumes clients have a hard disk&lt;br /&gt;
# Heavier-weight client&lt;br /&gt;
# Files may be stale, but data is consistent&lt;br /&gt;
# Untrusted clients&lt;br /&gt;
&lt;br /&gt;
=== Aside: Kerberos for Dummies ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Client Identification:    &amp;lt;client&amp;gt; ==&amp;gt; &amp;lt;kerberos&amp;gt; &lt;br /&gt;
2. Client Request Ticket:    &amp;lt;client&amp;gt; &amp;lt;== &amp;lt;kerberos&amp;gt;&lt;br /&gt;
3. Authenticate with Ticket: &amp;lt;client&amp;gt; ==&amp;gt; &amp;lt;server&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jmahonin</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=DSM_Review,_NFS,_AFS&amp;diff=1759</id>
		<title>DSM Review, NFS, AFS</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DSM_Review,_NFS,_AFS&amp;diff=1759"/>
		<updated>2008-02-13T19:57:47Z</updated>

		<summary type="html">&lt;p&gt;Jmahonin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Readings==&lt;br /&gt;
&lt;br /&gt;
* [http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-11/protic-overview.pdf Jelica Protic et al., &amp;quot;Distributed Shared Memory: Concepts and Systems&amp;quot; (1996)]&amp;lt;br /&amp;gt;This paper reviews work in the area of distributed shared memory.&lt;br /&gt;
&lt;br /&gt;
* [http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-11/sandberg-nfs.pdf Russel Sandberg et al., &amp;quot;Design and Implementation of the Sun Network Filesystem&amp;quot; (1985)]&amp;lt;br /&amp;gt;This is the original NFS paper.&lt;br /&gt;
&lt;br /&gt;
* [http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-11/howard-afs.pdf John H. Howard et al., &amp;quot;Scale and Performance in a Distributed File System&amp;quot; (1988)]&amp;lt;br /&amp;gt;This paper describes AFS and compares it to NFS.&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
For the Protic paper, consider the following:&lt;br /&gt;
# What were the major problems addressed in DSM research following Kai Li&#039;s dissertation?&lt;br /&gt;
# Did these advances change the scope of environments and problems appropriate for DSM?&lt;br /&gt;
# Why aren&#039;t DSM systems commonly in use today?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the NFS and AFS papers, consider these questions:&lt;br /&gt;
# What were the key design goals of NFS and AFS?&lt;br /&gt;
# How well did they achieve their goals?&lt;br /&gt;
# What are their limitations?&lt;br /&gt;
# How suitable are NFS and AFS in modern small networks?  Enterprise networks?  Internet-scale applications?  Why?&lt;br /&gt;
&lt;br /&gt;
== In Class Notes ==&lt;br /&gt;
=== Goals of NFS and AFS ===&lt;br /&gt;
&lt;br /&gt;
====NFS====&lt;br /&gt;
* Remote access like local access&lt;br /&gt;
* Scale to ~50 clients&lt;br /&gt;
* Portability&lt;br /&gt;
* Lightweight&lt;br /&gt;
&lt;br /&gt;
====AFS====&lt;br /&gt;
* Seamless&lt;br /&gt;
* Scale to 5000 - 10000 hosts&lt;br /&gt;
* Portability (POSIX)&lt;br /&gt;
&lt;br /&gt;
=== Differences ===&lt;br /&gt;
&lt;br /&gt;
====NFS====&lt;br /&gt;
# NFS does a system call for every read/write&lt;br /&gt;
# NFS can operate with diskless clients&lt;br /&gt;
# Lightweight clients&lt;br /&gt;
&lt;br /&gt;
====AFS====&lt;br /&gt;
# AFS does a system call only on retrieving and storing a file&lt;br /&gt;
# AFS assumes clients have a hard disk&lt;br /&gt;
# Heavier-weight client&lt;/div&gt;</summary>
		<author><name>Jmahonin</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=DSM_Review,_NFS,_AFS&amp;diff=1758</id>
		<title>DSM Review, NFS, AFS</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DSM_Review,_NFS,_AFS&amp;diff=1758"/>
		<updated>2008-02-13T19:55:28Z</updated>

		<summary type="html">&lt;p&gt;Jmahonin: /* Goals of NFS and AFS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Readings==&lt;br /&gt;
&lt;br /&gt;
* [http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-11/protic-overview.pdf Jelica Protic et al., &amp;quot;Distributed Shared Memory: Concepts and Systems&amp;quot; (1996)]&amp;lt;br /&amp;gt;This paper reviews work in the area of distributed shared memory.&lt;br /&gt;
&lt;br /&gt;
* [http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-11/sandberg-nfs.pdf Russel Sandberg et al., &amp;quot;Design and Implementation of the Sun Network Filesystem&amp;quot; (1985)]&amp;lt;br /&amp;gt;This is the original NFS paper.&lt;br /&gt;
&lt;br /&gt;
* [http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-11/howard-afs.pdf John H. Howard et al., &amp;quot;Scale and Performance in a Distributed File System&amp;quot; (1988)]&amp;lt;br /&amp;gt;This paper describes AFS and compares it to NFS.&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
For the Protic paper, consider the following:&lt;br /&gt;
# What were the major problems addressed in DSM research following Kai Li&#039;s dissertation?&lt;br /&gt;
# Did these advances change the scope of environments and problems appropriate for DSM?&lt;br /&gt;
# Why aren&#039;t DSM systems commonly in use today?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the NFS and AFS papers, consider these questions:&lt;br /&gt;
# What were the key design goals of NFS and AFS?&lt;br /&gt;
# How well did they achieve their goals?&lt;br /&gt;
# What are their limitations?&lt;br /&gt;
# How suitable are NFS and AFS in modern small networks?  Enterprise networks?  Internet-scale applications?  Why?&lt;br /&gt;
&lt;br /&gt;
== Goals of NFS and AFS==&lt;br /&gt;
&lt;br /&gt;
===NFS===&lt;br /&gt;
* Remote access like local access&lt;br /&gt;
* Scale to ~50 clients&lt;br /&gt;
* Portability&lt;br /&gt;
* Lightweight&lt;br /&gt;
&lt;br /&gt;
===AFS===&lt;br /&gt;
* Seamless&lt;br /&gt;
* Scale to 5000 - 10000 hosts&lt;br /&gt;
* Portability (POSIX)&lt;br /&gt;
&lt;br /&gt;
== Differences ==&lt;br /&gt;
&lt;br /&gt;
===NFS===&lt;br /&gt;
# NFS does a system call for every read/write&lt;br /&gt;
# NFS can operate with diskless clients&lt;br /&gt;
&lt;br /&gt;
===AFS===&lt;br /&gt;
# AFS does a system call only on retrieving and storing a file&lt;br /&gt;
# AFS assumes clients have a hard disk&lt;/div&gt;</summary>
		<author><name>Jmahonin</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=DSM_Review,_NFS,_AFS&amp;diff=1757</id>
		<title>DSM Review, NFS, AFS</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DSM_Review,_NFS,_AFS&amp;diff=1757"/>
		<updated>2008-02-13T19:50:50Z</updated>

		<summary type="html">&lt;p&gt;Jmahonin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Readings==&lt;br /&gt;
&lt;br /&gt;
* [http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-11/protic-overview.pdf Jelica Protic et al., &amp;quot;Distributed Shared Memory: Concepts and Systems&amp;quot; (1996)]&amp;lt;br /&amp;gt;This paper reviews work in the area of distributed shared memory.&lt;br /&gt;
&lt;br /&gt;
* [http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-11/sandberg-nfs.pdf Russel Sandberg et al., &amp;quot;Design and Implementation of the Sun Network Filesystem&amp;quot; (1985)]&amp;lt;br /&amp;gt;This is the original NFS paper.&lt;br /&gt;
&lt;br /&gt;
* [http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-11/howard-afs.pdf John H. Howard et al., &amp;quot;Scale and Performance in a Distributed File System&amp;quot; (1988)]&amp;lt;br /&amp;gt;This paper describes AFS and compares it to NFS.&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
For the Protic paper, consider the following:&lt;br /&gt;
# What were the major problems addressed in DSM research following Kai Li&#039;s dissertation?&lt;br /&gt;
# Did these advances change the scope of environments and problems appropriate for DSM?&lt;br /&gt;
# Why aren&#039;t DSM systems commonly in use today?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the NFS and AFS papers, consider these questions:&lt;br /&gt;
# What were the key design goals of NFS and AFS?&lt;br /&gt;
# How well did they achieve their goals?&lt;br /&gt;
# What are their limitations?&lt;br /&gt;
# How suitable are NFS and AFS in modern small networks?  Enterprise networks?  Internet-scale applications?  Why?&lt;br /&gt;
&lt;br /&gt;
== Goals of NFS and AFS==&lt;br /&gt;
===NFS===&lt;br /&gt;
* Remote access like local access&lt;br /&gt;
* Scale to ~50 clients&lt;br /&gt;
* Portability&lt;br /&gt;
* Lightweight&lt;br /&gt;
&lt;br /&gt;
===AFS===&lt;br /&gt;
* Seamless&lt;br /&gt;
* Scale to 5000 - 10000 hosts&lt;br /&gt;
* Portability (POSIX)&lt;/div&gt;</summary>
		<author><name>Jmahonin</name></author>
	</entry>
</feed>