<?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=Emmellst</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=Emmellst"/>
	<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php/Special:Contributions/Emmellst"/>
	<updated>2026-05-12T19:30:04Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=Class_Review,_Future_Directions&amp;diff=1828</id>
		<title>Class Review, Future Directions</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=Class_Review,_Future_Directions&amp;diff=1828"/>
		<updated>2008-04-02T19:34:58Z</updated>

		<summary type="html">&lt;p&gt;Emmellst: /* Day Two */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Exam Prep==&lt;br /&gt;
===Topics Covered===&lt;br /&gt;
- DSM&lt;br /&gt;
&lt;br /&gt;
- Distributed File Systems&lt;br /&gt;
*GFS Major feature? FAULT TOLERANCE!&lt;br /&gt;
&lt;br /&gt;
- RPC&lt;br /&gt;
&lt;br /&gt;
- Process Migration&lt;br /&gt;
*Planetlab?&lt;br /&gt;
**Central admin control - this is very restrictive model&lt;br /&gt;
***Likely why only researchers are using this kind of system&lt;br /&gt;
&lt;br /&gt;
- Fault tolerance&lt;br /&gt;
*Some dealt with this extensively, others not much at all&lt;br /&gt;
&lt;br /&gt;
- Security&lt;br /&gt;
*Again, some systems used security as a tenant of design, while others simply said it was to be developed in the future and did not do anything for it*&lt;br /&gt;
&lt;br /&gt;
===Possible Study Questions===&lt;br /&gt;
1. Example paper, then quiz on the paper?&lt;br /&gt;
&lt;br /&gt;
2. What were the systems that implemented DSM, and what were the problems they faced?&lt;br /&gt;
*Cons&lt;br /&gt;
**Must remember that all the facets of all the systems&lt;br /&gt;
**Mostly regurgitation - not really synthesizing new opinion or information&lt;br /&gt;
&lt;br /&gt;
3. What kind of problems could you use DSM to help solve? What environments is DSM most suitable for?&lt;br /&gt;
&lt;br /&gt;
4. Scenario based question - Suggest that you are a designer for a software project*  You are charged with designing a system that implements some kind of DSM solution*  Which system would you implement and what would the possible advantages/disadvantages be?&lt;br /&gt;
*A circumstance where you would need enormous amounts of memory&lt;br /&gt;
*Mostly reading - caching would be the win&lt;br /&gt;
*DNS as a big DSM program - one gigantic table&lt;br /&gt;
**Good idea? Need something like signature based submission to control and secure the system&lt;br /&gt;
**Access control and security would be big problem&lt;br /&gt;
&lt;br /&gt;
5. Scenario based question - Suggest a problem and request various solutions, requesting pros/cons of each - (RPC based, DSM based, etc)&lt;br /&gt;
&lt;br /&gt;
6. Which was a more successful distributed operating system?&lt;br /&gt;
*How do you define successful?&lt;br /&gt;
**Was this solely for research? Or real implementation?&lt;br /&gt;
**In terms of championing ideas? Or deployed implementations?&lt;br /&gt;
&lt;br /&gt;
7. Evaluate past work - &#039;make you turn your head sideways&#039; - evaluate from different perspective&lt;br /&gt;
&lt;br /&gt;
8. Which system best captured &amp;quot;UNIX&amp;quot; in a distributed operating system&lt;br /&gt;
*Best captured the &#039;flavour&#039; of unix, and which one least captured it?&lt;br /&gt;
*Out of the following... which one is most &#039;unix-like&#039; (plan 9, locus, mach, etc)... which is least?&lt;br /&gt;
*Out of the following... which distributed file-system is most &#039;unix-like&#039;(GFS, locus, etc)...&lt;br /&gt;
&lt;br /&gt;
9. Build something to solve X - or - Build X using Y&lt;br /&gt;
&lt;br /&gt;
10. Opinion question&lt;br /&gt;
*What was your favourite system that we covered?&lt;br /&gt;
**What were the key characteristics of this system that you liked?&lt;br /&gt;
**What criteria are you using to evaluate it?&lt;br /&gt;
**Why is your liking it not justified? IE, how did this system fail in some way?&lt;br /&gt;
**Talk about at least two other systems that don&#039;t meet this same criteria&lt;br /&gt;
***Criteria being the reasons that you prefer THIS operating system&lt;br /&gt;
*What was your least favourite?&lt;br /&gt;
*Take what you have chosen as your favourite, and then explain why it is the worst!  (Will not do this, but great for debating)&lt;br /&gt;
&lt;br /&gt;
11. What were the key problems addressed by most of these systems?&lt;br /&gt;
*Which of these problems are most important to solve in todays computing environment&lt;br /&gt;
**What is todays computing environment?  Should we only be optimizing for clusters given that we are not building for systems that cross administrative boundaries?  What technology would make these clusters better?&lt;br /&gt;
&lt;br /&gt;
===Answers===&lt;br /&gt;
What do we know about building these systems? What can we do well?&lt;br /&gt;
*Message passing&lt;br /&gt;
*RPC&lt;br /&gt;
*Local files&lt;br /&gt;
*Distributed files? depending on scenario, depending on what your file IS&lt;br /&gt;
**A normal POSIX file in a distributed environment? No, not really&lt;br /&gt;
***Which semantics do you let slip?&lt;br /&gt;
**Append-only files? Sure&lt;br /&gt;
*Single domain authentication&lt;br /&gt;
*Distributed read-only anything (files, memory)&lt;br /&gt;
*Concurrent writing? No, that&#039;s the hard part&lt;br /&gt;
**When you try to update the same piece of data from multiple locations, possibly at the same time&lt;br /&gt;
**We know that the less communication, then better&lt;br /&gt;
***Reduces latency problem and minimizes multiple writes&lt;br /&gt;
*Backwards compatibility&lt;br /&gt;
**Completely duplicating the specification of non-distributed systems is HARD (synchronicity = SLOW)&lt;br /&gt;
**Slip the standards enough, minimize changes required and most problems can be alleviated enough to make the system usable&lt;br /&gt;
**Metadata often a big problem&lt;br /&gt;
***Needs higher visibility&lt;br /&gt;
***Typically has higher contention than other data&lt;br /&gt;
**Some have abandoned backwards compatibility&lt;br /&gt;
***Some systems have done this&lt;br /&gt;
*General purpose solutions are generally bad, in distinct contrast to the local case&lt;br /&gt;
**Specific solutions to solve specific problems&lt;br /&gt;
*Security - not easily implemented in distributed OSes&lt;br /&gt;
**Crypto &amp;quot;ain&#039;t enough&amp;quot;&lt;br /&gt;
**Typically added on after the fact&lt;br /&gt;
***Without security as design tenant, often design choices are made along the way that make securing the system very difficult&lt;br /&gt;
**Very hard to test accurately, how do you plan to secure &amp;quot;any hole&amp;quot;&lt;br /&gt;
**Often developed before security was a real concern&lt;br /&gt;
**Often adding security makes the system very slow&lt;br /&gt;
**&#039;&#039;We have yet to develop a good model for multiple administrative domains of control&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Study tips===&lt;br /&gt;
- Go through each paper and ask &#039;&#039;&amp;quot;Why do I care?&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Day Two==&lt;br /&gt;
===More questions===&lt;br /&gt;
- Why have distOSs failed?&lt;br /&gt;
&lt;br /&gt;
- What &#039;&#039;&#039;should&#039;&#039;&#039; a distOS do?&lt;br /&gt;
* Networking (TCP/IP)&lt;br /&gt;
* Administrative domains&lt;br /&gt;
** Who administers the whole package? (compared to the internet where there IS no single administration system)&lt;br /&gt;
* Share resources&lt;br /&gt;
** If you participate in the internet, you are sharing resources (or at least, USING resources)&lt;br /&gt;
** When you run javascript on a page, you are using your machine to run someone else&#039;s code&lt;br /&gt;
** This philosophy is flawed!&lt;br /&gt;
*** Should someone not want to play the game nicely, they can consume more than their share&lt;br /&gt;
** All these locks, permissions, etc are there to help make sure users only consume their share&lt;br /&gt;
&lt;br /&gt;
- What is the state of the internet today?&lt;br /&gt;
* Anarchy&lt;br /&gt;
** There IS NO HIGHER STRUCTURE (no global cohersion, no &#039;police force&#039; or &#039;rule of law&#039;)&lt;br /&gt;
* Are distOSs trying to implement &#039;communism&#039; on the internet?&lt;br /&gt;
* A rule of law is different than having good laws&lt;br /&gt;
** A good set of rules implies that users live by a certain model&lt;br /&gt;
*** A good society is a society that isn&#039;t based on following the letter of the law, but of helping others&lt;br /&gt;
&lt;br /&gt;
* Traditional OSs try to implement a set of rules that DO NOT ALLOW others to do &#039;bad things&#039;&lt;br /&gt;
* We all have the capacity to cause harm to others, but our &#039;&#039;&#039;culture&#039;&#039;&#039; helps create a safe environment, that results in social enforcement.  More often than not it isn&#039;t the law that discourages bad behaviour, but the judgments of others.&lt;br /&gt;
* Related to DistOSs?  &lt;br /&gt;
** Each machine has the power to cause problems&lt;br /&gt;
** Supposition: It is impossible to make fixed rules that limit a single machine&#039;s power without fundamentally ruining the internet.&lt;br /&gt;
&lt;br /&gt;
* Who defines appropriate behaviour?&lt;br /&gt;
** The computers themselves, in some kind of distributed framework.&lt;br /&gt;
** Perhaps a series of connected frameworks&lt;br /&gt;
** Though this solution would need to be adaptive, and something that allows the computers to decide what is appropriate&lt;br /&gt;
&lt;br /&gt;
* How to enforce that behaviour?&lt;br /&gt;
** Attribution - make cause/effect connections - who did what behaviour&lt;br /&gt;
*** This is not trivial, and in general not totally possible&lt;br /&gt;
** Punishment&lt;br /&gt;
*** Some kind of prison, some kind of process that results in privilege reduction, or resource reduction&lt;br /&gt;
*** How would that work? You need a LOT of evidence before punishment can be enforced&lt;br /&gt;
**** Therefore there would need to be a lot of damage before punishment can be enforced&lt;br /&gt;
**** Shame, austricism&lt;br /&gt;
* A gossip mechanism&lt;br /&gt;
** Spread the knowledge - spread &#039;interesting information&#039; to other computers&lt;br /&gt;
** gossip is always suspect, but usually contains at least mildly correct information&lt;br /&gt;
** Low level mechanism - what to do with the gossip? How to evaluate it?&lt;br /&gt;
&lt;br /&gt;
If we don&#039;t do something, some way to &#039;teach the mob some manners&#039; - there will be a HUGE problem with a massive number of resources outside of the core infrastructure, to the point that these resources would be easily able to dominate these core systems.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Perhaps a model similar to an oligarchy&#039;&#039;&lt;br /&gt;
* Machines locked down&lt;br /&gt;
* Specific rules that require certain behaviour&lt;br /&gt;
* A set of small organizations that decides these rules, and in theory punishes deviation from that behaviour&lt;br /&gt;
* Would this work?&lt;br /&gt;
* This is largely what we have now, and are moving more towards&lt;br /&gt;
&lt;br /&gt;
Rather than get humans to behave properly, get the computers to behave properly. &lt;br /&gt;
&lt;br /&gt;
Though in systems that are managed top-down there tends to be vary many deficiencies.&lt;br /&gt;
&lt;br /&gt;
Computers could develop &#039;opinions&#039; of other computers, so then computers in similar environments might share their opinions, or tend to align themselves to certain other groups.  And when things happen different behaviours can result across that whole group, which can then influence another group, etc&lt;br /&gt;
* Though outside of your community your status might not be well defined, you might not get the same level of privileges.&lt;br /&gt;
* Even to the point of stereotyping -&amp;gt; If I don&#039;t know you: Where are you coming from? What OS are you running? Use my default level of trust for BLA&lt;br /&gt;
* The idea of rehabilitation?  Computers don&#039;t have moral behaviour, or psychoses, given that a computer could always be re-imaged, or used by a different user... so it would need to work differently.&lt;/div&gt;</summary>
		<author><name>Emmellst</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=Class_Review,_Future_Directions&amp;diff=1827</id>
		<title>Class Review, Future Directions</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=Class_Review,_Future_Directions&amp;diff=1827"/>
		<updated>2008-04-02T19:27:24Z</updated>

		<summary type="html">&lt;p&gt;Emmellst: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Exam Prep==&lt;br /&gt;
===Topics Covered===&lt;br /&gt;
- DSM&lt;br /&gt;
&lt;br /&gt;
- Distributed File Systems&lt;br /&gt;
*GFS Major feature? FAULT TOLERANCE!&lt;br /&gt;
&lt;br /&gt;
- RPC&lt;br /&gt;
&lt;br /&gt;
- Process Migration&lt;br /&gt;
*Planetlab?&lt;br /&gt;
**Central admin control - this is very restrictive model&lt;br /&gt;
***Likely why only researchers are using this kind of system&lt;br /&gt;
&lt;br /&gt;
- Fault tolerance&lt;br /&gt;
*Some dealt with this extensively, others not much at all&lt;br /&gt;
&lt;br /&gt;
- Security&lt;br /&gt;
*Again, some systems used security as a tenant of design, while others simply said it was to be developed in the future and did not do anything for it*&lt;br /&gt;
&lt;br /&gt;
===Possible Study Questions===&lt;br /&gt;
1. Example paper, then quiz on the paper?&lt;br /&gt;
&lt;br /&gt;
2. What were the systems that implemented DSM, and what were the problems they faced?&lt;br /&gt;
*Cons&lt;br /&gt;
**Must remember that all the facets of all the systems&lt;br /&gt;
**Mostly regurgitation - not really synthesizing new opinion or information&lt;br /&gt;
&lt;br /&gt;
3. What kind of problems could you use DSM to help solve? What environments is DSM most suitable for?&lt;br /&gt;
&lt;br /&gt;
4. Scenario based question - Suggest that you are a designer for a software project*  You are charged with designing a system that implements some kind of DSM solution*  Which system would you implement and what would the possible advantages/disadvantages be?&lt;br /&gt;
*A circumstance where you would need enormous amounts of memory&lt;br /&gt;
*Mostly reading - caching would be the win&lt;br /&gt;
*DNS as a big DSM program - one gigantic table&lt;br /&gt;
**Good idea? Need something like signature based submission to control and secure the system&lt;br /&gt;
**Access control and security would be big problem&lt;br /&gt;
&lt;br /&gt;
5. Scenario based question - Suggest a problem and request various solutions, requesting pros/cons of each - (RPC based, DSM based, etc)&lt;br /&gt;
&lt;br /&gt;
6. Which was a more successful distributed operating system?&lt;br /&gt;
*How do you define successful?&lt;br /&gt;
**Was this solely for research? Or real implementation?&lt;br /&gt;
**In terms of championing ideas? Or deployed implementations?&lt;br /&gt;
&lt;br /&gt;
7. Evaluate past work - &#039;make you turn your head sideways&#039; - evaluate from different perspective&lt;br /&gt;
&lt;br /&gt;
8. Which system best captured &amp;quot;UNIX&amp;quot; in a distributed operating system&lt;br /&gt;
*Best captured the &#039;flavour&#039; of unix, and which one least captured it?&lt;br /&gt;
*Out of the following... which one is most &#039;unix-like&#039; (plan 9, locus, mach, etc)... which is least?&lt;br /&gt;
*Out of the following... which distributed file-system is most &#039;unix-like&#039;(GFS, locus, etc)...&lt;br /&gt;
&lt;br /&gt;
9. Build something to solve X - or - Build X using Y&lt;br /&gt;
&lt;br /&gt;
10. Opinion question&lt;br /&gt;
*What was your favourite system that we covered?&lt;br /&gt;
**What were the key characteristics of this system that you liked?&lt;br /&gt;
**What criteria are you using to evaluate it?&lt;br /&gt;
**Why is your liking it not justified? IE, how did this system fail in some way?&lt;br /&gt;
**Talk about at least two other systems that don&#039;t meet this same criteria&lt;br /&gt;
***Criteria being the reasons that you prefer THIS operating system&lt;br /&gt;
*What was your least favourite?&lt;br /&gt;
*Take what you have chosen as your favourite, and then explain why it is the worst!  (Will not do this, but great for debating)&lt;br /&gt;
&lt;br /&gt;
11. What were the key problems addressed by most of these systems?&lt;br /&gt;
*Which of these problems are most important to solve in todays computing environment&lt;br /&gt;
**What is todays computing environment?  Should we only be optimizing for clusters given that we are not building for systems that cross administrative boundaries?  What technology would make these clusters better?&lt;br /&gt;
&lt;br /&gt;
===Answers===&lt;br /&gt;
What do we know about building these systems? What can we do well?&lt;br /&gt;
*Message passing&lt;br /&gt;
*RPC&lt;br /&gt;
*Local files&lt;br /&gt;
*Distributed files? depending on scenario, depending on what your file IS&lt;br /&gt;
**A normal POSIX file in a distributed environment? No, not really&lt;br /&gt;
***Which semantics do you let slip?&lt;br /&gt;
**Append-only files? Sure&lt;br /&gt;
*Single domain authentication&lt;br /&gt;
*Distributed read-only anything (files, memory)&lt;br /&gt;
*Concurrent writing? No, that&#039;s the hard part&lt;br /&gt;
**When you try to update the same piece of data from multiple locations, possibly at the same time&lt;br /&gt;
**We know that the less communication, then better&lt;br /&gt;
***Reduces latency problem and minimizes multiple writes&lt;br /&gt;
*Backwards compatibility&lt;br /&gt;
**Completely duplicating the specification of non-distributed systems is HARD (synchronicity = SLOW)&lt;br /&gt;
**Slip the standards enough, minimize changes required and most problems can be alleviated enough to make the system usable&lt;br /&gt;
**Metadata often a big problem&lt;br /&gt;
***Needs higher visibility&lt;br /&gt;
***Typically has higher contention than other data&lt;br /&gt;
**Some have abandoned backwards compatibility&lt;br /&gt;
***Some systems have done this&lt;br /&gt;
*General purpose solutions are generally bad, in distinct contrast to the local case&lt;br /&gt;
**Specific solutions to solve specific problems&lt;br /&gt;
*Security - not easily implemented in distributed OSes&lt;br /&gt;
**Crypto &amp;quot;ain&#039;t enough&amp;quot;&lt;br /&gt;
**Typically added on after the fact&lt;br /&gt;
***Without security as design tenant, often design choices are made along the way that make securing the system very difficult&lt;br /&gt;
**Very hard to test accurately, how do you plan to secure &amp;quot;any hole&amp;quot;&lt;br /&gt;
**Often developed before security was a real concern&lt;br /&gt;
**Often adding security makes the system very slow&lt;br /&gt;
**&#039;&#039;We have yet to develop a good model for multiple administrative domains of control&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Study tips===&lt;br /&gt;
- Go through each paper and ask &#039;&#039;&amp;quot;Why do I care?&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Day Two==&lt;br /&gt;
===More questions===&lt;br /&gt;
- Why have distOSs failed?&lt;br /&gt;
&lt;br /&gt;
- What &#039;&#039;&#039;should&#039;&#039;&#039; a distOS do?&lt;br /&gt;
* Networking (TCP/IP)&lt;br /&gt;
* Administrative domains&lt;br /&gt;
** Who administers the whole package? (compared to the internet where there IS no single administration system)&lt;br /&gt;
* Share resources&lt;br /&gt;
** If you participate in the internet, you are sharing resources (or at least, USING resources)&lt;br /&gt;
** When you run javascript on a page, you are using your machine to run someone else&#039;s code&lt;br /&gt;
** This philosophy is flawed!&lt;br /&gt;
*** Should someone not want to play the game nicely, they can consume more than their share&lt;br /&gt;
** All these locks, permissions, etc are there to help make sure users only consume their share&lt;br /&gt;
&lt;br /&gt;
- What is the state of the internet today?&lt;br /&gt;
* Anarchy&lt;br /&gt;
** There IS NO HIGHER STRUCTURE (no global cohersion, no &#039;police force&#039; or &#039;rule of law&#039;)&lt;br /&gt;
* Are distOSs trying to implement &#039;communism&#039; on the internet?&lt;br /&gt;
* A rule of law is different than having good laws&lt;br /&gt;
** A good set of rules implies that users live by a certain model&lt;br /&gt;
*** A good society is a society that isn&#039;t based on following the letter of the law, but of helping others&lt;br /&gt;
&lt;br /&gt;
* Traditional OSs try to implement a set of rules that DO NOT ALLOW others to do &#039;bad things&#039;&lt;br /&gt;
* We all have the capacity to cause harm to others, but our &#039;&#039;&#039;culture&#039;&#039;&#039; helps create a safe environment, that results in social enforcement.  More often than not it isn&#039;t the law that discourages bad behaviour, but the judgments of others.&lt;br /&gt;
* Related to DistOSs?  &lt;br /&gt;
** Each machine has the power to cause problems&lt;br /&gt;
** Supposition: It is impossible to make fixed rules that limit a single machine&#039;s power without fundamentally ruining the internet.&lt;br /&gt;
&lt;br /&gt;
* Who defines appropriate behaviour?&lt;br /&gt;
** The computers themselves, in some kind of distributed framework.&lt;br /&gt;
** Perhaps a series of connected frameworks&lt;br /&gt;
** Though this solution would need to be adaptive, and something that allows the computers to decide what is appropriate&lt;br /&gt;
&lt;br /&gt;
* How to enforce that behaviour?&lt;br /&gt;
** Attribution - make cause/effect connections - who did what behaviour&lt;br /&gt;
*** This is not trivial, and in general not totally possible&lt;br /&gt;
** Punishment&lt;br /&gt;
*** Some kind of prison, some kind of process that results in privilege reduction, or resource reduction&lt;br /&gt;
*** How would that work? You need a LOT of evidence before punishment can be enforced&lt;br /&gt;
**** Therefore there would need to be a lot of damage before punishment can be enforced&lt;br /&gt;
**** Shame, austricism&lt;br /&gt;
* A gossip mechanism&lt;br /&gt;
** Spread the knowledge - spread &#039;interesting information&#039; to other computers&lt;br /&gt;
** gossip is always suspect, but usually contains at least mildly correct information&lt;br /&gt;
** Low level mechanism - what to do with the gossip? How to evaluate it?&lt;br /&gt;
&lt;br /&gt;
If we don&#039;t do something, some way to &#039;teach the mob some manners&#039; - there will be a HUGE problem with a massive number of resources outside of the core infrastructure, to the point that these resources would be easily able to dominate these core systems.  &lt;br /&gt;
&lt;br /&gt;
====Perhaps a model similar to an oligarchy====&lt;br /&gt;
* Machines locked down&lt;br /&gt;
* Specific rules that require certain behaviour&lt;br /&gt;
* A set of small organizations that decides these rules, and in theory punishes deviation from that behaviour&lt;br /&gt;
* Would this work?&lt;br /&gt;
* This is largely what we have now, and are moving more towards&lt;br /&gt;
&lt;br /&gt;
Rather than get humans to behave properly, get the computers to behave properly. &lt;br /&gt;
&lt;br /&gt;
Though in systems that are managed top-down there tends to be vary many deficiencies.&lt;br /&gt;
&lt;br /&gt;
Computers could develop &#039;opinions&#039; of other computers, so then computers in similar environments might share their opinions, or tend to align themselves to certain other groups.  And when things happen different behaviours can result across that whole group, which can then influence another group, etc&lt;br /&gt;
* Though outside of your community your status might not be well defined, you might not get the same level of privileges.&lt;/div&gt;</summary>
		<author><name>Emmellst</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=Class_Review,_Future_Directions&amp;diff=1826</id>
		<title>Class Review, Future Directions</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=Class_Review,_Future_Directions&amp;diff=1826"/>
		<updated>2008-03-31T19:54:27Z</updated>

		<summary type="html">&lt;p&gt;Emmellst: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Exam Prep==&lt;br /&gt;
===Topics Covered===&lt;br /&gt;
- DSM&lt;br /&gt;
&lt;br /&gt;
- Distributed File Systems&lt;br /&gt;
*GFS Major feature? FAULT TOLERANCE!&lt;br /&gt;
&lt;br /&gt;
- RPC&lt;br /&gt;
&lt;br /&gt;
- Process Migration&lt;br /&gt;
*Planetlab?&lt;br /&gt;
**Central admin control - this is very restrictive model&lt;br /&gt;
***Likely why only researchers are using this kind of system&lt;br /&gt;
&lt;br /&gt;
- Fault tolerance&lt;br /&gt;
*Some dealt with this extensively, others not much at all&lt;br /&gt;
&lt;br /&gt;
- Security&lt;br /&gt;
*Again, some systems used security as a tenant of design, while others simply said it was to be developed in the future and did not do anything for it*&lt;br /&gt;
&lt;br /&gt;
===Possible Study Questions===&lt;br /&gt;
1. Example paper, then quiz on the paper?&lt;br /&gt;
&lt;br /&gt;
2. What were the systems that implemented DSM, and what were the problems they faced?&lt;br /&gt;
*Cons&lt;br /&gt;
**Must remember that all the facets of all the systems&lt;br /&gt;
**Mostly regurgitation - not really synthesizing new opinion or information&lt;br /&gt;
&lt;br /&gt;
3. What kind of problems could you use DSM to help solve? What environments is DSM most suitable for?&lt;br /&gt;
&lt;br /&gt;
4. Scenario based question - Suggest that you are a designer for a software project*  You are charged with designing a system that implements some kind of DSM solution*  Which system would you implement and what would the possible advantages/disadvantages be?&lt;br /&gt;
*A circumstance where you would need enormous amounts of memory&lt;br /&gt;
*Mostly reading - caching would be the win&lt;br /&gt;
*DNS as a big DSM program - one gigantic table&lt;br /&gt;
**Good idea? Need something like signature based submission to control and secure the system&lt;br /&gt;
**Access control and security would be big problem&lt;br /&gt;
&lt;br /&gt;
5. Scenario based question - Suggest a problem and request various solutions, requesting pros/cons of each - (RPC based, DSM based, etc)&lt;br /&gt;
&lt;br /&gt;
6. Which was a more successful distributed operating system?&lt;br /&gt;
*How do you define successful?&lt;br /&gt;
**Was this solely for research? Or real implementation?&lt;br /&gt;
**In terms of championing ideas? Or deployed implementations?&lt;br /&gt;
&lt;br /&gt;
7. Evaluate past work - &#039;make you turn your head sideways&#039; - evaluate from different perspective&lt;br /&gt;
&lt;br /&gt;
8. Which system best captured &amp;quot;UNIX&amp;quot; in a distributed operating system&lt;br /&gt;
*Best captured the &#039;flavour&#039; of unix, and which one least captured it?&lt;br /&gt;
*Out of the following... which one is most &#039;unix-like&#039; (plan 9, locus, mach, etc)... which is least?&lt;br /&gt;
*Out of the following... which distributed file-system is most &#039;unix-like&#039;(GFS, locus, etc)...&lt;br /&gt;
&lt;br /&gt;
9. Build something to solve X - or - Build X using Y&lt;br /&gt;
&lt;br /&gt;
10. Opinion question&lt;br /&gt;
*What was your favourite system that we covered?&lt;br /&gt;
**What were the key characteristics of this system that you liked?&lt;br /&gt;
**What criteria are you using to evaluate it?&lt;br /&gt;
**Why is your liking it not justified? IE, how did this system fail in some way?&lt;br /&gt;
**Talk about at least two other systems that don&#039;t meet this same criteria&lt;br /&gt;
***Criteria being the reasons that you prefer THIS operating system&lt;br /&gt;
*What was your least favourite?&lt;br /&gt;
*Take what you have chosen as your favourite, and then explain why it is the worst!  (Will not do this, but great for debating)&lt;br /&gt;
&lt;br /&gt;
11. What were the key problems addressed by most of these systems?&lt;br /&gt;
*Which of these problems are most important to solve in todays computing environment&lt;br /&gt;
**What is todays computing environment?  Should we only be optimizing for clusters given that we are not building for systems that cross administrative boundaries?  What technology would make these clusters better?&lt;br /&gt;
&lt;br /&gt;
===Answers===&lt;br /&gt;
What do we know about building these systems? What can we do well?&lt;br /&gt;
*Message passing&lt;br /&gt;
*RPC&lt;br /&gt;
*Local files&lt;br /&gt;
*Distributed files? depending on scenario, depending on what your file IS&lt;br /&gt;
**A normal POSIX file in a distributed environment? No, not really&lt;br /&gt;
***Which semantics do you let slip?&lt;br /&gt;
**Append-only files? Sure&lt;br /&gt;
*Single domain authentication&lt;br /&gt;
*Distributed read-only anything (files, memory)&lt;br /&gt;
*Concurrent writing? No, that&#039;s the hard part&lt;br /&gt;
**When you try to update the same piece of data from multiple locations, possibly at the same time&lt;br /&gt;
**We know that the less communication, then better&lt;br /&gt;
***Reduces latency problem and minimizes multiple writes&lt;br /&gt;
*Backwards compatibility&lt;br /&gt;
**Completely duplicating the specification of non-distributed systems is HARD (synchronicity = SLOW)&lt;br /&gt;
**Slip the standards enough, minimize changes required and most problems can be alleviated enough to make the system usable&lt;br /&gt;
**Metadata often a big problem&lt;br /&gt;
***Needs higher visibility&lt;br /&gt;
***Typically has higher contention than other data&lt;br /&gt;
**Some have abandoned backwards compatibility&lt;br /&gt;
***Some systems have done this&lt;br /&gt;
*General purpose solutions are generally bad, in distinct contrast to the local case&lt;br /&gt;
**Specific solutions to solve specific problems&lt;br /&gt;
*Security - not easily implemented in distributed OSes&lt;br /&gt;
**Crypto &amp;quot;ain&#039;t enough&amp;quot;&lt;br /&gt;
**Typically added on after the fact&lt;br /&gt;
***Without security as design tenant, often design choices are made along the way that make securing the system very difficult&lt;br /&gt;
**Very hard to test accurately, how do you plan to secure &amp;quot;any hole&amp;quot;&lt;br /&gt;
**Often developed before security was a real concern&lt;br /&gt;
**Often adding security makes the system very slow&lt;br /&gt;
**&#039;&#039;We have yet to develop a good model for multiple administrative domains of control&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Study tips===&lt;br /&gt;
- Go through each paper and ask &#039;&#039;&amp;quot;Why do I care?&amp;quot;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Emmellst</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=Class_Review,_Future_Directions&amp;diff=1825</id>
		<title>Class Review, Future Directions</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=Class_Review,_Future_Directions&amp;diff=1825"/>
		<updated>2008-03-31T19:51:46Z</updated>

		<summary type="html">&lt;p&gt;Emmellst: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Exam Prep==&lt;br /&gt;
===Topics Covered===&lt;br /&gt;
- DSM&lt;br /&gt;
&lt;br /&gt;
- Distributed File Systems&lt;br /&gt;
.GFS Major feature? FAULT TOLERANCE!&lt;br /&gt;
&lt;br /&gt;
- RPC&lt;br /&gt;
&lt;br /&gt;
- Process Migration&lt;br /&gt;
.Planetlab?&lt;br /&gt;
..Central admin control - this is very restrictive model&lt;br /&gt;
...Likely why only researchers are using this kind of system&lt;br /&gt;
&lt;br /&gt;
- Fault tolerance&lt;br /&gt;
.Some dealt with this extensively, others not much at all&lt;br /&gt;
&lt;br /&gt;
- Security&lt;br /&gt;
.Again, some systems used security as a tenant of design, while others simply said it was to be developed in the future and did not do anything for it.&lt;br /&gt;
&lt;br /&gt;
===Possible Study Questions===&lt;br /&gt;
1. Example paper, then quiz on the paper?&lt;br /&gt;
&lt;br /&gt;
2. What were the systems that implemented DSM, and what were the problems they faced?&lt;br /&gt;
.Cons&lt;br /&gt;
..Must remember that all the facets of all the systems&lt;br /&gt;
..Mostly regurgitation - not really synthesizing new opinion or information&lt;br /&gt;
&lt;br /&gt;
3. What kind of problems could you use DSM to help solve? What environments is DSM most suitable for?&lt;br /&gt;
&lt;br /&gt;
4. Scenario based question - Suggest that you are a designer for a software project.  You are charged with designing a system that implements some kind of DSM solution.  Which system would you implement and what would the possible advantages/disadvantages be?&lt;br /&gt;
.A circumstance where you would need enormous amounts of memory&lt;br /&gt;
.Mostly reading - caching would be the win&lt;br /&gt;
.DNS as a big DSM program - one gigantic table&lt;br /&gt;
..Good idea? Need something like signature based submission to control and secure the system&lt;br /&gt;
..Access control and security would be big problem&lt;br /&gt;
&lt;br /&gt;
5. Scenario based question - Suggest a problem and request various solutions, requesting pros/cons of each - (RPC based, DSM based, etc)&lt;br /&gt;
&lt;br /&gt;
6. Which was a more successful distributed operating system?&lt;br /&gt;
.How do you define successful?&lt;br /&gt;
..Was this solely for research? Or real implementation?&lt;br /&gt;
..In terms of championing ideas? Or deployed implementations?&lt;br /&gt;
&lt;br /&gt;
7. Evaluate past work - &#039;make you turn your head sideways&#039; - evaluate from different perspective&lt;br /&gt;
&lt;br /&gt;
8. Which system best captured &amp;quot;UNIX&amp;quot; in a distributed operating system&lt;br /&gt;
.Best captured the &#039;flavour&#039; of unix, and which one least captured it?&lt;br /&gt;
.Out of the following... which one is most &#039;unix-like&#039; (plan 9, locus, mach, etc)... which is least?&lt;br /&gt;
.Out of the following... which distributed file-system is most &#039;unix-like&#039;(GFS, locus, etc)...&lt;br /&gt;
&lt;br /&gt;
9. Build something to solve X - or - Build X using Y&lt;br /&gt;
&lt;br /&gt;
10. Opinion question&lt;br /&gt;
.What was your favourite system that we covered?&lt;br /&gt;
..What were the key characteristics of this system that you liked?&lt;br /&gt;
..What criteria are you using to evaluate it?&lt;br /&gt;
..Why is your liking it not justified? IE, how did this system fail in some way?&lt;br /&gt;
..Talk about at least two other systems that don&#039;t meet this same criteria&lt;br /&gt;
...Criteria being the reasons that you prefer THIS operating system&lt;br /&gt;
.What was your least favourite?&lt;br /&gt;
.Take what you have chosen as your favourite, and then explain why it is the worst!  (Will not do this, but great for debating)&lt;br /&gt;
&lt;br /&gt;
11. What were the key problems addressed by most of these systems?&lt;br /&gt;
.Which of these problems are most important to solve in todays computing environment&lt;br /&gt;
..What is todays computing environment?  Should we only be optimizing for clusters given that we are not building for systems that cross administrative boundaries?  What technology would make these clusters better?&lt;br /&gt;
&lt;br /&gt;
===Answers===&lt;br /&gt;
What do we know about building these systems? What can we do well?&lt;br /&gt;
.Message passing&lt;br /&gt;
.RPC&lt;br /&gt;
.Local files&lt;br /&gt;
.Distributed files? depending on scenario, depending on what your file IS&lt;br /&gt;
..A normal POSIX file in a distributed environment? No, not really&lt;br /&gt;
...Which semantics do you let slip?&lt;br /&gt;
..Append-only files? Sure&lt;br /&gt;
.Single domain authentication&lt;br /&gt;
.Distributed read-only anything (files, memory)&lt;br /&gt;
.Concurrent writing? No, that&#039;s the hard part&lt;br /&gt;
..When you try to update the same piece of data from multiple locations, possibly at the same time&lt;br /&gt;
..We know that the less communication, then better&lt;br /&gt;
...Reduces latency problem and minimizes multiple writes&lt;br /&gt;
.Backwards compatibility&lt;br /&gt;
..Completely duplicating the specification of non-distributed systems is HARD (synchronicity = SLOW)&lt;br /&gt;
..Slip the standards enough, minimize changes required and most problems can be alleviated enough to make the system usable&lt;br /&gt;
..Metadata often a big problem&lt;br /&gt;
...Needs higher visibility&lt;br /&gt;
...Typically has higher contention than other data&lt;br /&gt;
..Some have abandoned backwards compatibility&lt;br /&gt;
...Some systems have done this&lt;br /&gt;
.General purpose solutions are generally bad, in distinct contrast to the local case&lt;br /&gt;
..Specific solutions to solve specific problems&lt;br /&gt;
.Security - not easily implemented in distributed OSes&lt;br /&gt;
..Crypto &amp;quot;ain&#039;t enough&amp;quot;&lt;br /&gt;
..Typically added on after the fact&lt;br /&gt;
...Without security as design tenant, often design choices are made along the way that make securing the system very difficult&lt;br /&gt;
..Very hard to test accurately, how do you plan to secure &amp;quot;any hole&amp;quot;&lt;br /&gt;
..Often developed before security was a real concern&lt;br /&gt;
..Often adding security makes the system very slow&lt;br /&gt;
..&#039;&#039;We have yet to develop a good model for multiple administrative domains of control&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Study tips===&lt;br /&gt;
- Go through each paper and ask &#039;&#039;&amp;quot;Why do I care?&amp;quot;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Emmellst</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=Distributed_OS:_Winter_2008&amp;diff=1824</id>
		<title>Distributed OS: Winter 2008</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=Distributed_OS:_Winter_2008&amp;diff=1824"/>
		<updated>2008-03-31T18:41:00Z</updated>

		<summary type="html">&lt;p&gt;Emmellst: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the Distributed Operating Systems (COMP 4000/5102) wiki for Winter 2008!&lt;br /&gt;
&lt;br /&gt;
==Course Outline==&lt;br /&gt;
&lt;br /&gt;
The course outline for COMP 4000/5102 is available [http://www.scs.carleton.ca/~courses/course_outline.php?number=COMP%205102&amp;amp;term=Winter&amp;amp;year=2008 here].  A backup copy is available [http://homeostasis.scs.carleton.ca/~soma/distos/outline.html here].&lt;br /&gt;
&lt;br /&gt;
==Reading Responses==&lt;br /&gt;
&lt;br /&gt;
In your reading response, you can reflect on whatever came to mind&lt;br /&gt;
when reading these papers.  The one key requirement is that you&lt;br /&gt;
demonstrate that you read the papers; however, you have to do so&lt;br /&gt;
without merely summarizing them!  While you may discuss the in-class&lt;br /&gt;
questions in your response, I&#039;m more interested in your own personal&lt;br /&gt;
perspective on the readings.&lt;br /&gt;
&lt;br /&gt;
==Class Project==&lt;br /&gt;
&lt;br /&gt;
==Course Notes==&lt;br /&gt;
&lt;br /&gt;
Notes for the lectures &amp;amp; discussions are as follows:&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=5&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! Date&lt;br /&gt;
&lt;br /&gt;
! Topic&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| January 7 &amp;amp; 9, 2008&lt;br /&gt;
&lt;br /&gt;
| 0. [[Distributed OS Overview]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| January 14 &amp;amp; 16, 2008&lt;br /&gt;
&lt;br /&gt;
| 1. [[Early Internet &amp;amp; RPC]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| January 21 &amp;amp; 23, 2008&lt;br /&gt;
&lt;br /&gt;
| 2. [[Locus, V, Mach]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| January 28 &amp;amp; 30, 2008&lt;br /&gt;
&lt;br /&gt;
| 3. [[Sprite, Amoeba, Clouds]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| February 4 &amp;amp; 6, 2008&lt;br /&gt;
&lt;br /&gt;
| 4. [[DSM: IVY]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| February 11 &amp;amp; 13, 2008&lt;br /&gt;
&lt;br /&gt;
| 5. [[DSM Review, NFS, AFS]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| February 18 &amp;amp; 20, 2008&lt;br /&gt;
&lt;br /&gt;
| Winter Break&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| February 25 &amp;amp; 27, 2008&lt;br /&gt;
&lt;br /&gt;
| 6. [[OceanStore &amp;amp; GPFS]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| March 3 &amp;amp; 5, 2008&lt;br /&gt;
&lt;br /&gt;
| 7. [[Bell Labs]], project topic discussion Wed.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| March 10 &amp;amp; 12, 2008&lt;br /&gt;
&lt;br /&gt;
| 8. [[NASD, GoogleFS, Farsite]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| March 17 &amp;amp; 19, 2008&lt;br /&gt;
&lt;br /&gt;
| 9. [[WebOS, PlanetLab, Starfish]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| March 24 &amp;amp; 26, 2008&lt;br /&gt;
&lt;br /&gt;
| 10. [[MapReduce, Globus, BOINC]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| March 31 &amp;amp; April 2, 2008&lt;br /&gt;
&lt;br /&gt;
| [[Class Review, Future Directions]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| April 16, 2008&lt;br /&gt;
&lt;br /&gt;
| Final Exam (2-4:30 PM) &amp;amp; Final Projects Due&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Emmellst</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=MapReduce,_Globus,_BOINC&amp;diff=1820</id>
		<title>MapReduce, Globus, BOINC</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=MapReduce,_Globus,_BOINC&amp;diff=1820"/>
		<updated>2008-03-26T19:32:44Z</updated>

		<summary type="html">&lt;p&gt;Emmellst: &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-24/foster-grid.pdf Ian Foster and Carl Kesselman, &amp;quot;Computational Grids&amp;quot; (1998)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-24/foster-globus-intro.pdf Ian Foster, &amp;quot;Globus Toolkit Version 4: Software for Service-Oriented Systems&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-24/anderson-boinc.pdf David P. Anderson, &amp;quot;BOINC: A System for Public-Resource Computing and Storage&amp;quot; (2004)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-24/mapreduce-osdi04.pdf Jeffrey Dean and Sanjay Ghemawat, &amp;quot;MapReduce: Simpliﬁed Data Processing on Large Clusters&amp;quot; (2004)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
===BOINC===&lt;br /&gt;
*Premise?  Local client on your machine downloads a &#039;workunit&#039;, churns the data, dumps the results and downloads a new &#039;workunit&#039;&lt;br /&gt;
*Why are we caring?&lt;br /&gt;
**Entertainment?&lt;br /&gt;
**How is this an OS paradigm?  What is it useful for?&lt;br /&gt;
***It isn&#039;t really an OS, just a method to have your mass computation done&lt;br /&gt;
***More of a distributed scheduler?&lt;br /&gt;
****Not even, central scheduler, but mass computation&lt;br /&gt;
***How many systems have we seen that have accomplished mass computation on millions of uncontrolled computers?&lt;br /&gt;
****ummm... none?&lt;br /&gt;
***As an OS?&lt;br /&gt;
****An OS is something that is created to run programs&lt;br /&gt;
****This is a special case allowing us to run specific programs (BUT IS IT AN OS?)&lt;br /&gt;
***Useful for &amp;quot;embarassingly parallel programs&amp;quot;&lt;br /&gt;
*Perfect for large scale simulation?&lt;br /&gt;
**But then you need LOTS of communication, and this system does not have interconnects&lt;br /&gt;
*The type of problems that we most care about tend not to be THAT parallel&lt;br /&gt;
&lt;br /&gt;
*So what would a distributed OS be for?&lt;br /&gt;
**Shared communication!&lt;br /&gt;
***But we don&#039;t have much in the way that works well.&lt;br /&gt;
*An OS typically provides a lot of services, together in one package&lt;br /&gt;
**We have been seeing that there are no complete packages, just pieces and parts.  Why?&lt;br /&gt;
***Computers are changing too fast?  Same *NIX OS, same TCP/IP stack... so more of the same, why no true solution?&lt;br /&gt;
***Communication is unreliable? Yes, but that is also nothing new&lt;br /&gt;
&lt;br /&gt;
*If people found that distributed file systems were successful, they would be in use all the time, but they aren&#039;t.  Reason? PERFORMANCE&lt;br /&gt;
&lt;br /&gt;
*Take away message?&lt;br /&gt;
*Can&#039;t handle communication - how do you abstract access to resources when driven through a network?&lt;br /&gt;
**As a result, we have many many specialized solutions for particular workloads.&lt;br /&gt;
*If you are willing to not have communication between nodes, you gain a HUGE amount of computation.&lt;br /&gt;
&lt;br /&gt;
*The most reliable systems are the one that forget communication.&lt;br /&gt;
**The more you system tolerates bad stuff with a network, the better is scales.&lt;br /&gt;
&lt;br /&gt;
*We dont have general cluster distributed OS.&lt;br /&gt;
&lt;br /&gt;
===MapReduce===&lt;br /&gt;
*The communication happens when you reduce the problem. &lt;br /&gt;
**MapReduce works because there is mapping and there is reducing.&lt;br /&gt;
***There is no side effects (enabling things).&lt;br /&gt;
*Why is it a good fit to a thousands of machines?&lt;br /&gt;
**They first had all these pieces, and if one of them does not replay, then they just do it over :)&lt;br /&gt;
***You create the algorithm to fit this model, create this pieces, you have a combining function.&lt;br /&gt;
****You have to have some back end that keeps track of who got work done. But you don&#039;t care if any machine fail in the middle of the computation.&lt;br /&gt;
*Compare MapReduce to POSIX&lt;br /&gt;
**The difference is in efficiency. MapReduce is an extension to POSIX.&lt;br /&gt;
***Distributed OSs trying to run the programs that run on different APIs. The systems that work, they are relaxed.&lt;br /&gt;
****Here is the model, loose compatibility by gaining scalability.&lt;/div&gt;</summary>
		<author><name>Emmellst</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=MapReduce,_Globus,_BOINC&amp;diff=1819</id>
		<title>MapReduce, Globus, BOINC</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=MapReduce,_Globus,_BOINC&amp;diff=1819"/>
		<updated>2008-03-26T19:14:22Z</updated>

		<summary type="html">&lt;p&gt;Emmellst: &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-24/foster-grid.pdf Ian Foster and Carl Kesselman, &amp;quot;Computational Grids&amp;quot; (1998)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-24/foster-globus-intro.pdf Ian Foster, &amp;quot;Globus Toolkit Version 4: Software for Service-Oriented Systems&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-24/anderson-boinc.pdf David P. Anderson, &amp;quot;BOINC: A System for Public-Resource Computing and Storage&amp;quot; (2004)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-24/mapreduce-osdi04.pdf Jeffrey Dean and Sanjay Ghemawat, &amp;quot;MapReduce: Simpliﬁed Data Processing on Large Clusters&amp;quot; (2004)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
===BOINC===&lt;br /&gt;
*Premise?  Local client on your machine downloads a &#039;workunit&#039;, churns the data, dumps the results and downloads a new &#039;workunit&#039;&lt;br /&gt;
*Why are we caring?&lt;br /&gt;
**Entertainment?&lt;br /&gt;
**How is this an OS paradigm?  What is it useful for?&lt;br /&gt;
***It isn&#039;t really an OS, just a method to have your mass computation done&lt;br /&gt;
***More of a distributed scheduler?&lt;br /&gt;
****Not even, central scheduler, but mass computation&lt;br /&gt;
***How many systems have we seen that have accomplished mass computation on millions of uncontrolled computers?&lt;br /&gt;
****ummm... none?&lt;br /&gt;
***As an OS?&lt;br /&gt;
****An OS is something that is created to run programs&lt;br /&gt;
****This is a special case allowing us to run specific programs (BUT IS IT AN OS?)&lt;br /&gt;
***Useful for &amp;quot;embarassingly parallel programs&amp;quot;&lt;br /&gt;
*Perfect for large scale simulation?&lt;br /&gt;
**But then you need LOTS of communication, and this system does not have interconnects&lt;br /&gt;
*The type of problems that we most care about tend not to be THAT parallel&lt;br /&gt;
&lt;br /&gt;
*So what would a distributed OS be for?&lt;br /&gt;
**Shared communication!&lt;br /&gt;
***But we don&#039;t have much in the way that works well.&lt;br /&gt;
*An OS typically provides a lot of services, together in one package&lt;br /&gt;
**We have been seeing that there are no complete packages, just pieces and parts.  Why?&lt;br /&gt;
***Computers are changing too fast?  Same *NIX OS, same TCP/IP stack... so more of the same, why no true solution?&lt;br /&gt;
***Communication is unreliable? Yes, but that is also nothing new&lt;br /&gt;
&lt;br /&gt;
*If people found that distributed file systems were successful, they would be in use all the time, but they aren&#039;t.  Reason? PERFORMANCE&lt;br /&gt;
&lt;br /&gt;
*Take away message?&lt;br /&gt;
*Can&#039;t handle communication - how do you abstract access to resources when driven through a network?&lt;br /&gt;
**As a result, we have many many specialized solutions for particular workloads.&lt;br /&gt;
*If you are willing to not have communication between nodes, you gain a HUGE amount of computation.&lt;br /&gt;
&lt;br /&gt;
*The most reliable systems are the one that forget communication.&lt;/div&gt;</summary>
		<author><name>Emmellst</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=MapReduce,_Globus,_BOINC&amp;diff=1818</id>
		<title>MapReduce, Globus, BOINC</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=MapReduce,_Globus,_BOINC&amp;diff=1818"/>
		<updated>2008-03-26T19:01:43Z</updated>

		<summary type="html">&lt;p&gt;Emmellst: notes in class&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-24/foster-grid.pdf Ian Foster and Carl Kesselman, &amp;quot;Computational Grids&amp;quot; (1998)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-24/foster-globus-intro.pdf Ian Foster, &amp;quot;Globus Toolkit Version 4: Software for Service-Oriented Systems&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-24/anderson-boinc.pdf David P. Anderson, &amp;quot;BOINC: A System for Public-Resource Computing and Storage&amp;quot; (2004)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-03-24/mapreduce-osdi04.pdf Jeffrey Dean and Sanjay Ghemawat, &amp;quot;MapReduce: Simpliﬁed Data Processing on Large Clusters&amp;quot; (2004)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
===BOINC===&lt;br /&gt;
*Premise?  Local client on your machine downloads a &#039;workunit&#039;, churns the data, dumps the results and downloads a new &#039;workunit&#039;&lt;br /&gt;
*Why are we caring?&lt;br /&gt;
**Entertainment?&lt;br /&gt;
**How is this an OS paradigm?  What is it useful for?&lt;br /&gt;
***It isn&#039;t really an OS, just a method to have your mass computation done&lt;br /&gt;
***More of a distributed scheduler?&lt;br /&gt;
****Not even, central scheduler, but mass computation&lt;br /&gt;
***How many systems have we seen that have accomplished mass computation on millions of uncontrolled computers?&lt;br /&gt;
****ummm... none?&lt;br /&gt;
***As an OS?&lt;br /&gt;
****An OS is something that is created to run programs&lt;br /&gt;
****This is a special case allowing us to run specific programs (BUT IS IT AN OS?)&lt;br /&gt;
***Useful for &amp;quot;embarassingly parallel programs&amp;quot;&lt;br /&gt;
*Perfect for large scale simulation?&lt;br /&gt;
**But then you need LOTS of communication, and this system does not have interconnects&lt;br /&gt;
*The type of problems that we most care about tend not to be THAT parallel&lt;br /&gt;
&lt;br /&gt;
*So what would a distrbuted OS be for?&lt;br /&gt;
**Shared communication!&lt;br /&gt;
***But we don&#039;t have much in the way that works well.&lt;br /&gt;
*An OS typically provides a lot of services, together in one package&lt;br /&gt;
**We have been seeing that there are no complete packages, just pieces and parts.  Why?&lt;br /&gt;
***Computers are changing too fast?  Same *NIX OS, same tcp/ip stack... so more of the same, why no true solution?&lt;br /&gt;
***Communication is unreliable? Yes, but that is also nothing new&lt;br /&gt;
&lt;br /&gt;
*If people found that distributed file systems were succesful, they would be in use all the time, but they aren&#039;t.  Reason? PERFORMANCE&lt;br /&gt;
&lt;br /&gt;
*Take away message?&lt;br /&gt;
*Can&#039;t handle communication - how do you abstract access to resources when driven through a network?&lt;br /&gt;
**As a result, we have many many specialised solutions for particular workloads.&lt;br /&gt;
*If you are willing to not have communication between nodes, you gain a HUGE amount of computation&lt;/div&gt;</summary>
		<author><name>Emmellst</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=NASD,_GoogleFS,_Farsite&amp;diff=1797</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=1797"/>
		<updated>2008-03-12T19:56:05Z</updated>

		<summary type="html">&lt;p&gt;Emmellst: &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;
:*Farsite was geared towards distributing a company&#039;s resources&lt;br /&gt;
:**Just imagine debugging that sucker&lt;br /&gt;
:*GFS Is very much geared for their specific requirements&lt;br /&gt;
&lt;br /&gt;
# What are the key ideas behind each filesystem?&lt;br /&gt;
:*Scalability&lt;br /&gt;
:*Separating control &amp;amp; metadata and the data itself&lt;br /&gt;
:**Separate everything, machines protocols, etc&lt;br /&gt;
:*Farsite?&lt;br /&gt;
:**No real notion of striping, their model was &amp;quot;small files distributed everywhere&amp;quot;&lt;br /&gt;
:*GFS?&lt;br /&gt;
:**Lots of BIG FILES!&lt;br /&gt;
&lt;br /&gt;
# What are the strengths and weaknesses of each design?&lt;br /&gt;
:*Would you want to play with Farsite?&lt;br /&gt;
:**Very baroque, &amp;quot;like windows&amp;quot; :)&lt;br /&gt;
:*While GFS is not any more applicable to average users, it has a much simpler design&lt;br /&gt;
:*NASD?  &lt;br /&gt;
:**Minus crypto, this is very close to what NAS is now&lt;br /&gt;
:**Good idea in principle, but added hardware requirement likely prevented this actual implementation&lt;br /&gt;
&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;
:*Doesn&#039;t&lt;br /&gt;
&lt;br /&gt;
# Is using a central server (point of access) a good design decision?&lt;br /&gt;
:*It certainly works&lt;br /&gt;
:*Makes administration easier&lt;br /&gt;
:*As long as redundant and fast, why bother with the hassle of synchronization?&lt;br /&gt;
&lt;br /&gt;
# Is removing random writes a good idea?&lt;br /&gt;
:*They didn&#039;t actually remove it, but it is horribly inneficient&lt;br /&gt;
:*BigTable specifically reduces the instances of random write and implements a way to append the same information&lt;br /&gt;
:*Implementing this style would have killed their model&lt;br /&gt;
&lt;br /&gt;
# Is the speedup attained by GFS&#039;s record-append method worth the sacrifice of Application overhead?&lt;br /&gt;
:*Needing to manage duplication yourself&lt;br /&gt;
:*Guaranteed access to specific offsets, which helps consistency, though wastes space&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Questions for Farsite==&lt;br /&gt;
# Byzantine fault tolerance?&lt;br /&gt;
:*Have several entities, some of which may be compromised in some way.  They might either be corrupted, compromised, or simply down.&lt;br /&gt;
:**Assumptions for a Byzantine protocol? Failures are independent, so they are not colluding.&lt;br /&gt;
:*Good model for hardware failures&lt;br /&gt;
:*Bad model for software failures (infection, etc)&lt;br /&gt;
:*Not really the appropriate solution, software is your main likely culprit, not hardware problems.  &lt;br /&gt;
:*Tried to implement a simpler version using checksums&lt;br /&gt;
&lt;br /&gt;
# How similar and different compared to OceanStore?&lt;br /&gt;
:*Uses crypto (same)&lt;br /&gt;
:*Uses commodity hardware (different)&lt;br /&gt;
:*Byzantine Fault tolerance (same)&lt;br /&gt;
:*Namespaces are different&lt;br /&gt;
:*Simpler version than OceanStore&lt;br /&gt;
:*Only one administrative domain (someone HAS admin access)&lt;br /&gt;
:*Planned for complete distribution, though ended up implementing a central server&lt;br /&gt;
:*Made sure that every machine was identified through different keys&lt;br /&gt;
:*Oceanstore was originally designed for dedicated distributed network servers, Farsite was designed for local commodity machines&lt;br /&gt;
&lt;br /&gt;
# What&#039;s up with the file lease mechanism?&lt;br /&gt;
:*Four kinds&lt;br /&gt;
:**Likely discovered an application class that broke and needed different semantics&lt;br /&gt;
:*Unable to give truly seamless access as if local&lt;br /&gt;
:*Content, name, access, mode, machine leases&lt;br /&gt;
:*Likely a windows semantics problem, not a file-system problem.  But due to the desire that the file system should accomodate, rather than the OS, many &#039;hacks&#039; were added&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 Byzantine fault tolerance&lt;br /&gt;
&lt;br /&gt;
*Mentioned that they started to use formal methods, really good for their design&lt;br /&gt;
*A bit of a reality check that was necessary for this paper.  Ultimate realization was that the proposed system was a little grandiose.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
*GFS is great because it works on &#039;crap hardware&#039;&lt;br /&gt;
*Oceanstore is likely better for regular document storage&lt;br /&gt;
*NASD on top of GFS? More messages, likely too slow and could defeat the purpose of GFS&lt;br /&gt;
*How do you go to the REALLY LARGE SCALE and have things work?&lt;br /&gt;
**Great question, only application specific?&lt;br /&gt;
**Definitely a need for large scale resource sharing&lt;br /&gt;
**Currently no unified way to share resources across administrative domains, so resources are all silo&#039;d&lt;/div&gt;</summary>
		<author><name>Emmellst</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=NASD,_GoogleFS,_Farsite&amp;diff=1796</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=1796"/>
		<updated>2008-03-12T19:31:02Z</updated>

		<summary type="html">&lt;p&gt;Emmellst: &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;
:*Doesn&#039;t&lt;br /&gt;
&lt;br /&gt;
# Is using a central server (point of access) a good design decision?&lt;br /&gt;
:*It certainly works&lt;br /&gt;
:*Makes administration easier&lt;br /&gt;
:*As long as redundant and fast, why bother with the hassle of synchronization?&lt;br /&gt;
&lt;br /&gt;
# Is removing random writes a good idea?&lt;br /&gt;
:*They didn&#039;t actually remove it, but it is horribly inneficient&lt;br /&gt;
:*BigTable specifically reduces the instances of random write and implements a way to append the same information&lt;br /&gt;
:*Implementing this style would have killed their model&lt;br /&gt;
&lt;br /&gt;
# Is the speedup attained by GFS&#039;s record-append method worth the sacrifice of Application overhead?&lt;br /&gt;
:*Needing to manage duplication yourself&lt;br /&gt;
:*Guaranteed access to specific offsets, which helps consistency, though wastes space&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Questions for Farsite==&lt;br /&gt;
# Byzantine fault tolerance?&lt;br /&gt;
:*Have several entities, some of which may be compromised in some way.  They might either be corrupted, compromised, or simply down.&lt;br /&gt;
:**Assumptions for a Byzantine protocol? Failures are independent, so they are not colluding.&lt;br /&gt;
:*Good model for hardware failures&lt;br /&gt;
:*Bad model for software failures (infection, etc)&lt;br /&gt;
:*Not really the appropriate solution, software is your main likely culprit, not hardware problems.  &lt;br /&gt;
:*Tried to implement a simpler version using checksums&lt;br /&gt;
&lt;br /&gt;
# How similar and different compared to OceanStore?&lt;br /&gt;
:*Uses crypto&lt;br /&gt;
:*Uses commodity hardware&lt;br /&gt;
:*Byzantine Fault tolerance&lt;br /&gt;
:*Namespaces are different&lt;br /&gt;
:*Simpler version than OceanStore&lt;br /&gt;
:*Only one administrative domain (someone HAS admin access)&lt;br /&gt;
:*Planned for complete distribution, though ended up implementing a central server&lt;br /&gt;
:*Made sure that every machine was identified through different keys&lt;br /&gt;
:*Oceanstore was originally designed for dedicated distributed network servers, Farsite was designed for local commodity machines&lt;br /&gt;
&lt;br /&gt;
# What&#039;s up with the file lease mechanism?&lt;br /&gt;
:*Four kinds&lt;br /&gt;
:**Likely discovered an application class that broke and needed different semantics&lt;br /&gt;
:*Unable to give truly seamless access as if local&lt;br /&gt;
:*Content, name, access, mode, machine leases&lt;br /&gt;
:*Likely a windows semantics problem, not a file-system problem.  But due to the desire that the file system should accomodate, rather than the OS, many &#039;hacks&#039; were added&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 Byzantine fault tolerance&lt;/div&gt;</summary>
		<author><name>Emmellst</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=NASD,_GoogleFS,_Farsite&amp;diff=1795</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=1795"/>
		<updated>2008-03-12T19:26:55Z</updated>

		<summary type="html">&lt;p&gt;Emmellst: Edit during class discussion&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;
:*Doesn&#039;t&lt;br /&gt;
&lt;br /&gt;
# Is using a central server (point of access) a good design decision?&lt;br /&gt;
:*It certainly works&lt;br /&gt;
:*Makes administration easier&lt;br /&gt;
:*As long as redundant and fast, why bother with the hassle of synchronization?&lt;br /&gt;
&lt;br /&gt;
# Is removing random writes a good idea?&lt;br /&gt;
:*They didn&#039;t actually remove it, but it is horribly inneficient&lt;br /&gt;
:*BigTable specifically reduces the instances of random write and implements a way to append the same information&lt;br /&gt;
:*Implementing this style would have killed their model&lt;br /&gt;
&lt;br /&gt;
# Is the speedup attained by GFS&#039;s record-append method worth the sacrifice of Application overhead?&lt;br /&gt;
:*Needing to manage duplication yourself&lt;br /&gt;
:*Guaranteed access to specific offsets, which helps consistency, though wastes space&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Questions for Farsite==&lt;br /&gt;
# Byzantine fault tolerance?&lt;br /&gt;
:*Have several entities, some of which may be compromised in some way.  They might either be corrupted, compromised, or simply down.&lt;br /&gt;
:**Assumptions for a Byzantine protocol? Failures are independent, so they are not colluding.&lt;br /&gt;
:*Good model for hardware failures&lt;br /&gt;
:*Bad model for software failures (infection, etc)&lt;br /&gt;
:*Not really the appropriate solution, software is your main likely culprit, not hardware problems.  &lt;br /&gt;
:*Tried to implement a simpler version using checksums&lt;br /&gt;
&lt;br /&gt;
# How similar and different compared to OceanStore?&lt;br /&gt;
:*Uses crypto&lt;br /&gt;
:*Uses commodity hardware&lt;br /&gt;
:*Byzantine Fault tolerance&lt;br /&gt;
:*Namespaces are different&lt;br /&gt;
:*Simpler version than OceanStore&lt;br /&gt;
:*Only one administrative domain (someone HAS admin access)&lt;br /&gt;
:*Planned for complete distribution, though ended up implementing a central server&lt;br /&gt;
:*Made sure that every machine was identified through different keys&lt;br /&gt;
:*Oceanstore was originally designed for dedicated distributed network servers, Farsite was designed for local commodity machines&lt;br /&gt;
&lt;br /&gt;
# What&#039;s up with the file lease mechanism?&lt;br /&gt;
:*Four kinds&lt;br /&gt;
:**Likely discovered an application class that broke and needed different semantics&lt;br /&gt;
:*Unable to give truly seamless access as if local&lt;br /&gt;
:*Content, name, access, machine leases&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 Byzantine fault tolerance&lt;/div&gt;</summary>
		<author><name>Emmellst</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=NASD,_GoogleFS,_Farsite&amp;diff=1794</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=1794"/>
		<updated>2008-03-12T19:18:32Z</updated>

		<summary type="html">&lt;p&gt;Emmellst: &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;
:*Doesn&#039;t&lt;br /&gt;
&lt;br /&gt;
# Is using a central server (point of access) a good design decision?&lt;br /&gt;
:*It certainly works&lt;br /&gt;
:*Makes administration easier&lt;br /&gt;
:*As long as redundant and fast, why bother with the hassle of synchronization?&lt;br /&gt;
&lt;br /&gt;
# Is removing random writes a good idea?&lt;br /&gt;
:*They didn&#039;t actually remove it, but it is horribly inneficient&lt;br /&gt;
:*BigTable specifically reduces the instances of random write and implements a way to append the same information&lt;br /&gt;
:*Implementing this style would have killed their model&lt;br /&gt;
&lt;br /&gt;
# Is the speedup attained by GFS&#039;s record-append method worth the sacrifice of Application overhead?&lt;br /&gt;
:*Needing to manage duplication yourself&lt;br /&gt;
:*Guaranteed access to specific offsets, which helps consistency, though wastes space&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Questions for Farsite==&lt;br /&gt;
# Byzantine fault tolerance?&lt;br /&gt;
:*Have several entities, some of which may be compromised in some way.  They might either be corrupted, compromised, or simply down.&lt;br /&gt;
:**Assumptions for a Byzantine protocol? Failures are independent, so they are not colluding.&lt;br /&gt;
:*Good model for hardware failures&lt;br /&gt;
:*Bad model for software failures (infection, etc)&lt;br /&gt;
:*Not really the appropriate solution, software is your main likely culprit, not hardware problems.  &lt;br /&gt;
&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 Byzantine fault tolerance&lt;/div&gt;</summary>
		<author><name>Emmellst</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=NASD,_GoogleFS,_Farsite&amp;diff=1793</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=1793"/>
		<updated>2008-03-12T19:08:56Z</updated>

		<summary type="html">&lt;p&gt;Emmellst: /* Questions for GoogleFS */&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;
- Doesn&#039;t&lt;br /&gt;
&lt;br /&gt;
# Is using a central server (point of access) a good design decision?&lt;br /&gt;
-It certainly works&lt;br /&gt;
-Makes administration easier&lt;br /&gt;
-As long as redundant and fast, why bother with the hassle of synchronization?&lt;br /&gt;
&lt;br /&gt;
# Is removing random writes a good idea?&lt;br /&gt;
-They didn&#039;t actually remove it, but it is horribly inneficient&lt;br /&gt;
-BigTable specifically reduces the instances of random write and implements a way to append the same information&lt;br /&gt;
&lt;br /&gt;
# Is the speedup attained by GFS&#039;s record-append method worth the sacrifice of Application overhead?&lt;br /&gt;
-Needing to manage duplication yourself&lt;br /&gt;
-Guaranteed access to specific offsets, which helps consistency, though wastes space&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 Byzantine fault tolerance&lt;/div&gt;</summary>
		<author><name>Emmellst</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=NASD,_GoogleFS,_Farsite&amp;diff=1792</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=1792"/>
		<updated>2008-03-12T19:05:13Z</updated>

		<summary type="html">&lt;p&gt;Emmellst: /* Questions for GoogleFS */&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;
-&lt;br /&gt;
# Is using a central server (point of access) a good design decision?&lt;br /&gt;
-MAkes administration easier&lt;br /&gt;
-As long as redundant and fast, why bother with the hassle or synchronization?&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 Byzantine fault tolerance&lt;/div&gt;</summary>
		<author><name>Emmellst</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=NASD,_GoogleFS,_Farsite&amp;diff=1788</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=1788"/>
		<updated>2008-03-10T19:53:36Z</updated>

		<summary type="html">&lt;p&gt;Emmellst: &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 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;
&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>Emmellst</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=OceanStore_%26_GPFS&amp;diff=1777</id>
		<title>OceanStore &amp; GPFS</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=OceanStore_%26_GPFS&amp;diff=1777"/>
		<updated>2008-02-25T20:52:24Z</updated>

		<summary type="html">&lt;p&gt;Emmellst: /* GPFS */&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-25/oceanstore-sigplan.pdf John Kubiatowicz et al., &amp;quot;OceanStore: An Architecture for Global-Scale Persistent Storage&amp;quot; (2000)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-25/fast2003-pond.pdf Sean Rhea et al., &amp;quot;Pond: the OceanStore Prototype&amp;quot; (2003)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-25/gpfs-fast02.pdf Frank Schmuck and Roger Haskin, &amp;quot;GPFS: A Shared-Disk File System for Large Computing Clusters&amp;quot; (2002)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-25/walker-xufs-worlds06.pdf Edward Walker, &amp;quot;A Distributed File System for a Wide-Area High Performance Computing Infrastructure&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
Is it worth it??&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ocean Store=&lt;br /&gt;
Pros&lt;br /&gt;
*Only trust required is own box&lt;br /&gt;
*Data is highly durable due to file versioning&lt;br /&gt;
*Information divorced from location&lt;br /&gt;
**So long as you can reliably obtain information, it doesn&#039;t matter where it is located&lt;br /&gt;
*Applicable to many data storage situations, not for a specific case&lt;br /&gt;
*Routing is decentralized&lt;br /&gt;
*2/3 of network is up? All is available&lt;br /&gt;
&lt;br /&gt;
Cons&lt;br /&gt;
*Very expensive to computer cryptography (slow generation of keys)&lt;br /&gt;
*Utility models don&#039;t make economic sense, people prefer not to pay for access to their data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=GPFS=&lt;br /&gt;
Distributed local OS designed for clusters&lt;br /&gt;
Max size of 4096TB&lt;br /&gt;
&lt;br /&gt;
Pros&lt;br /&gt;
*Massively parallel - data is striped across many many disks&lt;br /&gt;
*Therefor read/write is very fast&lt;br /&gt;
*Option of redundancy&lt;br /&gt;
*Locking mechanism&lt;br /&gt;
**Two options &lt;br /&gt;
***1. Data shipping&lt;br /&gt;
****Distributed&lt;br /&gt;
****First client to request access to file receives token&lt;br /&gt;
****Other clients must request the current owner of the token&lt;br /&gt;
*****The current owner of the file grants portional access to their file (breaks token and gives portion access)&lt;br /&gt;
***2. Centralized locking&lt;br /&gt;
****Faster in a small disk circumstance&lt;br /&gt;
*Extreme reliability&lt;br /&gt;
**Able to literally remove a hotswap disk and insert a blank one in its place, only to have the blank disk completely regenerate the missing data&lt;br /&gt;
**Journalling to record token ownership - helps recovery when node in possession dies&lt;br /&gt;
&lt;br /&gt;
Cons&lt;br /&gt;
*Everything must be trusted! Designed for clusters, not across LAN/WAN&lt;br /&gt;
*Not appropriate for distributed networks.&lt;br /&gt;
&lt;br /&gt;
=XUFS=&lt;br /&gt;
*User-space implementation&lt;br /&gt;
*Designed to be simple&lt;br /&gt;
*Very generic&lt;/div&gt;</summary>
		<author><name>Emmellst</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=OceanStore_%26_GPFS&amp;diff=1776</id>
		<title>OceanStore &amp; GPFS</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=OceanStore_%26_GPFS&amp;diff=1776"/>
		<updated>2008-02-25T20:50:55Z</updated>

		<summary type="html">&lt;p&gt;Emmellst: /* GPFS */&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-25/oceanstore-sigplan.pdf John Kubiatowicz et al., &amp;quot;OceanStore: An Architecture for Global-Scale Persistent Storage&amp;quot; (2000)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-25/fast2003-pond.pdf Sean Rhea et al., &amp;quot;Pond: the OceanStore Prototype&amp;quot; (2003)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-25/gpfs-fast02.pdf Frank Schmuck and Roger Haskin, &amp;quot;GPFS: A Shared-Disk File System for Large Computing Clusters&amp;quot; (2002)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-25/walker-xufs-worlds06.pdf Edward Walker, &amp;quot;A Distributed File System for a Wide-Area High Performance Computing Infrastructure&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
Is it worth it??&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ocean Store=&lt;br /&gt;
Pros&lt;br /&gt;
*Only trust required is own box&lt;br /&gt;
*Data is highly durable due to file versioning&lt;br /&gt;
*Information divorced from location&lt;br /&gt;
**So long as you can reliably obtain information, it doesn&#039;t matter where it is located&lt;br /&gt;
*Applicable to many data storage situations, not for a specific case&lt;br /&gt;
*Routing is decentralized&lt;br /&gt;
*2/3 of network is up? All is available&lt;br /&gt;
&lt;br /&gt;
Cons&lt;br /&gt;
*Very expensive to computer cryptography (slow generation of keys)&lt;br /&gt;
*Utility models don&#039;t make economic sense, people prefer not to pay for access to their data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=GPFS=&lt;br /&gt;
Distributed local OS designed for clusters&lt;br /&gt;
Max size of 4096TB&lt;br /&gt;
&lt;br /&gt;
Pros&lt;br /&gt;
*Massively parallel - data is striped across many many disks&lt;br /&gt;
*Therefor read/write is very fast&lt;br /&gt;
*Option of redundancy&lt;br /&gt;
*Locking mechanism&lt;br /&gt;
**Two options &lt;br /&gt;
***Data shipping&lt;br /&gt;
****Distributed&lt;br /&gt;
****First client to request access to file receives token&lt;br /&gt;
****Other clients must request the current owner of the token&lt;br /&gt;
*****The current owner of the file grants portional access to their file (breaks token and gives portion access)&lt;br /&gt;
***Centralized locking&lt;br /&gt;
****Faster in a small disk circumstance&lt;br /&gt;
*Extreme reliability&lt;br /&gt;
**Able to literally remove a hotswap disk and insert a blank one in its place, only to have the blank disk completely regenerate the missing data&lt;br /&gt;
**Journalling to record token ownership - helps recovery when node in possession dies&lt;br /&gt;
&lt;br /&gt;
Cons&lt;br /&gt;
*Everything must be trusted! Designed for clusters, not across LAN/WAN&lt;br /&gt;
*Not appropriate for distributed networks.&lt;br /&gt;
&lt;br /&gt;
=XUFS=&lt;br /&gt;
*User-space implementation&lt;br /&gt;
*Designed to be simple&lt;br /&gt;
*Very generic&lt;/div&gt;</summary>
		<author><name>Emmellst</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=OceanStore_%26_GPFS&amp;diff=1775</id>
		<title>OceanStore &amp; GPFS</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=OceanStore_%26_GPFS&amp;diff=1775"/>
		<updated>2008-02-25T20:50:32Z</updated>

		<summary type="html">&lt;p&gt;Emmellst: &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-25/oceanstore-sigplan.pdf John Kubiatowicz et al., &amp;quot;OceanStore: An Architecture for Global-Scale Persistent Storage&amp;quot; (2000)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-25/fast2003-pond.pdf Sean Rhea et al., &amp;quot;Pond: the OceanStore Prototype&amp;quot; (2003)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-25/gpfs-fast02.pdf Frank Schmuck and Roger Haskin, &amp;quot;GPFS: A Shared-Disk File System for Large Computing Clusters&amp;quot; (2002)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-25/walker-xufs-worlds06.pdf Edward Walker, &amp;quot;A Distributed File System for a Wide-Area High Performance Computing Infrastructure&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
Is it worth it??&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ocean Store=&lt;br /&gt;
Pros&lt;br /&gt;
*Only trust required is own box&lt;br /&gt;
*Data is highly durable due to file versioning&lt;br /&gt;
*Information divorced from location&lt;br /&gt;
**So long as you can reliably obtain information, it doesn&#039;t matter where it is located&lt;br /&gt;
*Applicable to many data storage situations, not for a specific case&lt;br /&gt;
*Routing is decentralized&lt;br /&gt;
*2/3 of network is up? All is available&lt;br /&gt;
&lt;br /&gt;
Cons&lt;br /&gt;
*Very expensive to computer cryptography (slow generation of keys)&lt;br /&gt;
*Utility models don&#039;t make economic sense, people prefer not to pay for access to their data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=GPFS=&lt;br /&gt;
Distributed local OS designed for clusters&lt;br /&gt;
Max size of 4096TB&lt;br /&gt;
&lt;br /&gt;
Pros&lt;br /&gt;
**Massively parallel - data is striped across many many disks&lt;br /&gt;
**Therefor read/write is very fast&lt;br /&gt;
*Option of redundancy&lt;br /&gt;
*Locking mechanism&lt;br /&gt;
**Two options &lt;br /&gt;
***Data shipping&lt;br /&gt;
****Distributed&lt;br /&gt;
****First client to request access to file receives token&lt;br /&gt;
****Other clients must request the current owner of the token&lt;br /&gt;
*****The current owner of the file grants portional access to their file (breaks token and gives portion access)&lt;br /&gt;
***Centralized locking&lt;br /&gt;
****Faster in a small disk circumstance&lt;br /&gt;
*Extreme reliability&lt;br /&gt;
**Able to literally remove a hotswap disk and insert a blank one in its place, only to have the blank disk completely regenerate the missing data&lt;br /&gt;
**Journalling to record token ownership - helps recovery when node in possession dies&lt;br /&gt;
&lt;br /&gt;
Cons&lt;br /&gt;
*Everything must be trusted! Designed for clusters, not across LAN/WAN&lt;br /&gt;
*Not appropriate for distributed networks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XUFS=&lt;br /&gt;
*User-space implementation&lt;br /&gt;
*Designed to be simple&lt;br /&gt;
*Very generic&lt;/div&gt;</summary>
		<author><name>Emmellst</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=OceanStore_%26_GPFS&amp;diff=1774</id>
		<title>OceanStore &amp; GPFS</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=OceanStore_%26_GPFS&amp;diff=1774"/>
		<updated>2008-02-25T20:46:26Z</updated>

		<summary type="html">&lt;p&gt;Emmellst: &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-25/oceanstore-sigplan.pdf John Kubiatowicz et al., &amp;quot;OceanStore: An Architecture for Global-Scale Persistent Storage&amp;quot; (2000)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-25/fast2003-pond.pdf Sean Rhea et al., &amp;quot;Pond: the OceanStore Prototype&amp;quot; (2003)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-25/gpfs-fast02.pdf Frank Schmuck and Roger Haskin, &amp;quot;GPFS: A Shared-Disk File System for Large Computing Clusters&amp;quot; (2002)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-25/walker-xufs-worlds06.pdf Edward Walker, &amp;quot;A Distributed File System for a Wide-Area High Performance Computing Infrastructure&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
Is it worth it??&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ocean Store=&lt;br /&gt;
Pros&lt;br /&gt;
-Only trust required is own box&lt;br /&gt;
-Data is highly durable due to file versioning&lt;br /&gt;
-Information divorced from location&lt;br /&gt;
--So long as you can reliably obtain information, it doesn&#039;t matter where it is located&lt;br /&gt;
-Applicable to many data storage situations, not for a specific case&lt;br /&gt;
-Routing is decentralized&lt;br /&gt;
-2/3 of network is up? All is available&lt;br /&gt;
&lt;br /&gt;
Cons&lt;br /&gt;
-Very expensive to computer cryptography (slow generation of keys)&lt;br /&gt;
-Utility models don&#039;t make economic sense, people prefer not to pay for access to their data&lt;br /&gt;
&lt;br /&gt;
=Pond=&lt;br /&gt;
Example of oceanstore&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=GPFS=&lt;br /&gt;
Distributed local OS designed for clusters&lt;br /&gt;
Max size of 4096TB&lt;br /&gt;
Pros&lt;br /&gt;
-Massively parallel - data is striped across many many disks&lt;br /&gt;
--Therefor read/write is very fast&lt;br /&gt;
-Option of redundancy&lt;br /&gt;
-Locking mechanism&lt;br /&gt;
--Two options &lt;br /&gt;
---Data shipping&lt;br /&gt;
----Distributed&lt;br /&gt;
----First client to request access to file receives token&lt;br /&gt;
----Other clients must request the current owner of the token&lt;br /&gt;
-----The current owner of the file grants portional access to their file (breaks token and gives portion access)&lt;br /&gt;
---Centralized locking&lt;br /&gt;
----Faster in a small disk circumstance&lt;br /&gt;
-Extreme reliability&lt;br /&gt;
--Able to literally remove a hotswap disk and insert a blank one in its place, only to have the blank disk completely regenerate the missing data&lt;br /&gt;
--Journalling to record token ownership - helps recovery when node in possession dies&lt;br /&gt;
&lt;br /&gt;
Cons&lt;br /&gt;
-Everything must be trusted! Designed for clusters, not across LAN/WAN&lt;br /&gt;
-Not appropriate for distributed networks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XUFS=&lt;br /&gt;
User-space implementation&lt;br /&gt;
Designed to be simple&lt;br /&gt;
Very generic&lt;/div&gt;</summary>
		<author><name>Emmellst</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=OceanStore_%26_GPFS&amp;diff=1773</id>
		<title>OceanStore &amp; GPFS</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=OceanStore_%26_GPFS&amp;diff=1773"/>
		<updated>2008-02-25T20:43:42Z</updated>

		<summary type="html">&lt;p&gt;Emmellst: /* Questions */&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-25/oceanstore-sigplan.pdf John Kubiatowicz et al., &amp;quot;OceanStore: An Architecture for Global-Scale Persistent Storage&amp;quot; (2000)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-25/fast2003-pond.pdf Sean Rhea et al., &amp;quot;Pond: the OceanStore Prototype&amp;quot; (2003)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-25/gpfs-fast02.pdf Frank Schmuck and Roger Haskin, &amp;quot;GPFS: A Shared-Disk File System for Large Computing Clusters&amp;quot; (2002)]&lt;br /&gt;
&lt;br /&gt;
[http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-25/walker-xufs-worlds06.pdf Edward Walker, &amp;quot;A Distributed File System for a Wide-Area High Performance Computing Infrastructure&amp;quot; (2006)]&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
Is it worth it??&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ocean Store=&lt;br /&gt;
Pros&lt;br /&gt;
-Only trust required is own box&lt;br /&gt;
-Data is highly durable due to file versioning&lt;br /&gt;
-Information divorced from location&lt;br /&gt;
--So long as you can reliably obtain information, it doesn&#039;t matter where it is located&lt;br /&gt;
-Applicable to many data storage situations, not for a specific case&lt;br /&gt;
-Routing is decentralized&lt;br /&gt;
-2/3 of network is up? All is available&lt;br /&gt;
&lt;br /&gt;
Cons&lt;br /&gt;
-Very expensive to computer cryptography (slow generation of keys)&lt;br /&gt;
-Utility models don&#039;t make economic sense, people prefer not to pay for access to their data&lt;br /&gt;
&lt;br /&gt;
=Pond=&lt;br /&gt;
Example of oceanstore&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=GPFS=&lt;br /&gt;
Distributed local OS designed for clusters&lt;br /&gt;
Max size of 4096TB&lt;br /&gt;
Pros&lt;br /&gt;
-Massively parallel - data is striped across many many disks&lt;br /&gt;
--Therefor read/write is very fast&lt;br /&gt;
-Option of redundancy&lt;br /&gt;
-Locking mechanism&lt;br /&gt;
--Two options &lt;br /&gt;
---Data shipping&lt;br /&gt;
----Distributed&lt;br /&gt;
----First client to request access to file receives token&lt;br /&gt;
----Other clients must request the current owner of the token&lt;br /&gt;
-----The current owner of the file grants portional access to their file (breaks token and gives portion access)&lt;br /&gt;
---Centralized locking&lt;br /&gt;
----Faster in a small disk circumstance&lt;br /&gt;
-Extreme reliability&lt;br /&gt;
--Able to literally remove a hotswap disk and insert a blank one in its place, only to have the blank disk completely regenerate the missing data&lt;br /&gt;
--Journalling to record token ownership - helps recovery when node in possession dies&lt;br /&gt;
&lt;br /&gt;
Cons&lt;br /&gt;
-Everything must be trusted! Designed for clusters, not across LAN/WAN&lt;br /&gt;
-Not appropriate for distributed networks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XUFS=&lt;br /&gt;
Designed for OS with&lt;/div&gt;</summary>
		<author><name>Emmellst</name></author>
	</entry>
</feed>