<?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=Apoorv</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=Apoorv"/>
	<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php/Special:Contributions/Apoorv"/>
	<updated>2026-04-05T20:02:34Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_9&amp;diff=20110</id>
		<title>DistOS 2015W Session 9</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_9&amp;diff=20110"/>
		<updated>2015-04-04T12:08:12Z</updated>

		<summary type="html">&lt;p&gt;Apoorv: /* Naiad */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== BOINC ==&lt;br /&gt;
&lt;br /&gt;
*Public Resource Computing Platform&lt;br /&gt;
*Gives scientists the ability to use large amounts of computation resources.&lt;br /&gt;
*The clients do not connect directly with each other but instead they talk to a central server located at Berkley&lt;br /&gt;
*The goals of Boinc are: &lt;br /&gt;
:*1) reduce the barriers of entry&lt;br /&gt;
:*2) Share resources among autonomous projects&lt;br /&gt;
:*3) Support diverse applications&lt;br /&gt;
:*4) Reward participants.&lt;br /&gt;
&lt;br /&gt;
*It can run as applications in common language with no modifications&lt;br /&gt;
 A BOINC application can be identified by a single master URL, &amp;lt;br/&amp;gt;which serves as the homepage as well as the directory of the servers.&lt;br /&gt;
&lt;br /&gt;
== SETI@Home ==&lt;br /&gt;
&lt;br /&gt;
*Uses public resource computing to analyze radio signals to find extraterrestrial intelligence&lt;br /&gt;
*Need good quality telescope to search for radio signals, and lots of computational power, which was unavailable locally&lt;br /&gt;
*It has not yet found extraterrestrial intelligence, but its has established credibility of public resource computing projects which are given by the public&lt;br /&gt;
*Uses BOINC as a backbone for the project&lt;br /&gt;
*Uses relational database to store information on a large scale, further it uses a multi-threaded server to distribute work to clients&lt;br /&gt;
*Quality of data in this architecture is untrustworthy, the main incentive to use it, however, is that it is a cheap and easy way of scaling the work exponentially.&lt;br /&gt;
*Provided social incentives to encourage users to join the system.&lt;br /&gt;
*This computation model still exists but not in the legitimate world.&lt;br /&gt;
*Formed a good concept of public resource computing and a distributed computing by providing a platform independent framework&lt;br /&gt;
&lt;br /&gt;
== MapReduce ==&lt;br /&gt;
&lt;br /&gt;
*A programming model presented by Google to do large scale parallel computations&lt;br /&gt;
*Uses the &amp;lt;code&amp;gt;Map()&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Reduce()&amp;lt;/code&amp;gt; functions from functional style programming languages&lt;br /&gt;
:*Map (Filtering)&lt;br /&gt;
::*Takes a function and applies it to all elements of the given data set&lt;br /&gt;
* Hides parallelization, fault tolerance, locality optimization and load balancing&lt;br /&gt;
:*Reduce (Summary)&lt;br /&gt;
::*Accumulates results from the data set using a given function&lt;br /&gt;
&lt;br /&gt;
== Naiad ==&lt;br /&gt;
&lt;br /&gt;
*A programming model similar to &amp;lt;code&amp;gt;MapReduce&amp;lt;/code&amp;gt; but with streaming capabilities so that data results are almost instantaneous&lt;br /&gt;
*A distributed system for executing data parallel cyclic dataflow programs offering high throughput and low latency&lt;br /&gt;
*Aims to provide a general purpose system which will fulfill the requirements and the will also support wide variety of high level programming models.&lt;br /&gt;
*Highly used for parallel execution of data&lt;br /&gt;
*Provides the functionality of checkpoint and restoring&lt;br /&gt;
*Real Time Applications:&lt;br /&gt;
:*Batch iterative Machine Learning: &lt;br /&gt;
VW, an open source distributed machine learning performs iteration in 3 phases: each process updates local state; processes independently training on local data; and process jointly performed global average which is All Reduce.&lt;br /&gt;
:*Streaming Acyclic Computation&lt;br /&gt;
When compared to a system called [http://research.microsoft.com/apps/pubs/default.aspx?id=163832 Kineograph] ( also done by Microsoft ), which processes twitter handles and provides counts of the occurrence of hashtags as well as links between popular tags, was written using Naiad in 26 lines of code and ran close to 2X faster.&lt;br /&gt;
* Naiad paper won the best paper award in SOSP 2013, check-out this link in Microsoft Research website http://research.microsoft.com/en-us/projects/naiad/ . Down in this page you can see some videos that explains naiad including Derek&#039;s Murray presentation at SOSP 2013.&lt;/div&gt;</summary>
		<author><name>Apoorv</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_9&amp;diff=20109</id>
		<title>DistOS 2015W Session 9</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_9&amp;diff=20109"/>
		<updated>2015-04-04T12:07:51Z</updated>

		<summary type="html">&lt;p&gt;Apoorv: /* Naiad */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== BOINC ==&lt;br /&gt;
&lt;br /&gt;
*Public Resource Computing Platform&lt;br /&gt;
*Gives scientists the ability to use large amounts of computation resources.&lt;br /&gt;
*The clients do not connect directly with each other but instead they talk to a central server located at Berkley&lt;br /&gt;
*The goals of Boinc are: &lt;br /&gt;
:*1) reduce the barriers of entry&lt;br /&gt;
:*2) Share resources among autonomous projects&lt;br /&gt;
:*3) Support diverse applications&lt;br /&gt;
:*4) Reward participants.&lt;br /&gt;
&lt;br /&gt;
*It can run as applications in common language with no modifications&lt;br /&gt;
 A BOINC application can be identified by a single master URL, &amp;lt;br/&amp;gt;which serves as the homepage as well as the directory of the servers.&lt;br /&gt;
&lt;br /&gt;
== SETI@Home ==&lt;br /&gt;
&lt;br /&gt;
*Uses public resource computing to analyze radio signals to find extraterrestrial intelligence&lt;br /&gt;
*Need good quality telescope to search for radio signals, and lots of computational power, which was unavailable locally&lt;br /&gt;
*It has not yet found extraterrestrial intelligence, but its has established credibility of public resource computing projects which are given by the public&lt;br /&gt;
*Uses BOINC as a backbone for the project&lt;br /&gt;
*Uses relational database to store information on a large scale, further it uses a multi-threaded server to distribute work to clients&lt;br /&gt;
*Quality of data in this architecture is untrustworthy, the main incentive to use it, however, is that it is a cheap and easy way of scaling the work exponentially.&lt;br /&gt;
*Provided social incentives to encourage users to join the system.&lt;br /&gt;
*This computation model still exists but not in the legitimate world.&lt;br /&gt;
*Formed a good concept of public resource computing and a distributed computing by providing a platform independent framework&lt;br /&gt;
&lt;br /&gt;
== MapReduce ==&lt;br /&gt;
&lt;br /&gt;
*A programming model presented by Google to do large scale parallel computations&lt;br /&gt;
*Uses the &amp;lt;code&amp;gt;Map()&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Reduce()&amp;lt;/code&amp;gt; functions from functional style programming languages&lt;br /&gt;
:*Map (Filtering)&lt;br /&gt;
::*Takes a function and applies it to all elements of the given data set&lt;br /&gt;
* Hides parallelization, fault tolerance, locality optimization and load balancing&lt;br /&gt;
:*Reduce (Summary)&lt;br /&gt;
::*Accumulates results from the data set using a given function&lt;br /&gt;
&lt;br /&gt;
== Naiad ==&lt;br /&gt;
&lt;br /&gt;
*A programming model similar to &amp;lt;code&amp;gt;MapReduce&amp;lt;/code&amp;gt; but with streaming capabilities so that data results are almost instantaneous&lt;br /&gt;
*A distributed system for executing data parallel cyclic dataflow programs offering high throughput and low latency&lt;br /&gt;
*Aims to provide a general purpose system which will fulfill the requirements and the will also support wide variety of high level programming models.&lt;br /&gt;
*Highly used for parallel execution of data&lt;br /&gt;
*Real Time Applications:&lt;br /&gt;
:*Batch iterative Machine Learning: &lt;br /&gt;
VW, an open source distributed machine learning performs iteration in 3 phases: each process updates local state; processes independently training on local data; and process jointly performed global average which is All Reduce.&lt;br /&gt;
:*Streaming Acyclic Computation&lt;br /&gt;
When compared to a system called [http://research.microsoft.com/apps/pubs/default.aspx?id=163832 Kineograph] ( also done by Microsoft ), which processes twitter handles and provides counts of the occurrence of hashtags as well as links between popular tags, was written using Naiad in 26 lines of code and ran close to 2X faster.&lt;br /&gt;
* Naiad paper won the best paper award in SOSP 2013, check-out this link in Microsoft Research website http://research.microsoft.com/en-us/projects/naiad/ . Down in this page you can see some videos that explains naiad including Derek&#039;s Murray presentation at SOSP 2013.&lt;/div&gt;</summary>
		<author><name>Apoorv</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_9&amp;diff=20108</id>
		<title>DistOS 2015W Session 9</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_9&amp;diff=20108"/>
		<updated>2015-04-04T12:06:29Z</updated>

		<summary type="html">&lt;p&gt;Apoorv: /* MapReduce */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== BOINC ==&lt;br /&gt;
&lt;br /&gt;
*Public Resource Computing Platform&lt;br /&gt;
*Gives scientists the ability to use large amounts of computation resources.&lt;br /&gt;
*The clients do not connect directly with each other but instead they talk to a central server located at Berkley&lt;br /&gt;
*The goals of Boinc are: &lt;br /&gt;
:*1) reduce the barriers of entry&lt;br /&gt;
:*2) Share resources among autonomous projects&lt;br /&gt;
:*3) Support diverse applications&lt;br /&gt;
:*4) Reward participants.&lt;br /&gt;
&lt;br /&gt;
*It can run as applications in common language with no modifications&lt;br /&gt;
 A BOINC application can be identified by a single master URL, &amp;lt;br/&amp;gt;which serves as the homepage as well as the directory of the servers.&lt;br /&gt;
&lt;br /&gt;
== SETI@Home ==&lt;br /&gt;
&lt;br /&gt;
*Uses public resource computing to analyze radio signals to find extraterrestrial intelligence&lt;br /&gt;
*Need good quality telescope to search for radio signals, and lots of computational power, which was unavailable locally&lt;br /&gt;
*It has not yet found extraterrestrial intelligence, but its has established credibility of public resource computing projects which are given by the public&lt;br /&gt;
*Uses BOINC as a backbone for the project&lt;br /&gt;
*Uses relational database to store information on a large scale, further it uses a multi-threaded server to distribute work to clients&lt;br /&gt;
*Quality of data in this architecture is untrustworthy, the main incentive to use it, however, is that it is a cheap and easy way of scaling the work exponentially.&lt;br /&gt;
*Provided social incentives to encourage users to join the system.&lt;br /&gt;
*This computation model still exists but not in the legitimate world.&lt;br /&gt;
*Formed a good concept of public resource computing and a distributed computing by providing a platform independent framework&lt;br /&gt;
&lt;br /&gt;
== MapReduce ==&lt;br /&gt;
&lt;br /&gt;
*A programming model presented by Google to do large scale parallel computations&lt;br /&gt;
*Uses the &amp;lt;code&amp;gt;Map()&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Reduce()&amp;lt;/code&amp;gt; functions from functional style programming languages&lt;br /&gt;
:*Map (Filtering)&lt;br /&gt;
::*Takes a function and applies it to all elements of the given data set&lt;br /&gt;
* Hides parallelization, fault tolerance, locality optimization and load balancing&lt;br /&gt;
:*Reduce (Summary)&lt;br /&gt;
::*Accumulates results from the data set using a given function&lt;br /&gt;
&lt;br /&gt;
== Naiad ==&lt;br /&gt;
&lt;br /&gt;
*A programming model similar to &amp;lt;code&amp;gt;MapReduce&amp;lt;/code&amp;gt; but with streaming capabilities so that data results are almost instantaneous&lt;br /&gt;
*A distributed system for executing data parallel cyclic dataflow programs offering high throughput and low latency&lt;br /&gt;
*Aims to provide a general purpose system which will fulfill the requirements and the will also support wide variety of high level programming models.&lt;br /&gt;
*Real Time Applications:&lt;br /&gt;
:*Batch iterative Machine Learning: &lt;br /&gt;
VW, an open source distributed machine learning performs iteration in 3 phases: each process updates local state; processes independently training on local data; and process jointly performed global average which is All Reduce.&lt;br /&gt;
:*Streaming Acyclic Computation&lt;br /&gt;
When compared to a system called [http://research.microsoft.com/apps/pubs/default.aspx?id=163832 Kineograph] ( also done by Microsoft ), which processes twitter handles and provides counts of the occurrence of hashtags as well as links between popular tags, was written using Naiad in 26 lines of code and ran close to 2X faster.&lt;br /&gt;
* Naiad paper won the best paper award in SOSP 2013, check-out this link in Microsoft Research website http://research.microsoft.com/en-us/projects/naiad/ . Down in this page you can see some videos that explains naiad including Derek&#039;s Murray presentation at SOSP 2013.&lt;/div&gt;</summary>
		<author><name>Apoorv</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_9&amp;diff=20107</id>
		<title>DistOS 2015W Session 9</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_9&amp;diff=20107"/>
		<updated>2015-04-04T12:01:38Z</updated>

		<summary type="html">&lt;p&gt;Apoorv: /* BOINC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== BOINC ==&lt;br /&gt;
&lt;br /&gt;
*Public Resource Computing Platform&lt;br /&gt;
*Gives scientists the ability to use large amounts of computation resources.&lt;br /&gt;
*The clients do not connect directly with each other but instead they talk to a central server located at Berkley&lt;br /&gt;
*The goals of Boinc are: &lt;br /&gt;
:*1) reduce the barriers of entry&lt;br /&gt;
:*2) Share resources among autonomous projects&lt;br /&gt;
:*3) Support diverse applications&lt;br /&gt;
:*4) Reward participants.&lt;br /&gt;
&lt;br /&gt;
*It can run as applications in common language with no modifications&lt;br /&gt;
 A BOINC application can be identified by a single master URL, &amp;lt;br/&amp;gt;which serves as the homepage as well as the directory of the servers.&lt;br /&gt;
&lt;br /&gt;
== SETI@Home ==&lt;br /&gt;
&lt;br /&gt;
*Uses public resource computing to analyze radio signals to find extraterrestrial intelligence&lt;br /&gt;
*Need good quality telescope to search for radio signals, and lots of computational power, which was unavailable locally&lt;br /&gt;
*It has not yet found extraterrestrial intelligence, but its has established credibility of public resource computing projects which are given by the public&lt;br /&gt;
*Uses BOINC as a backbone for the project&lt;br /&gt;
*Uses relational database to store information on a large scale, further it uses a multi-threaded server to distribute work to clients&lt;br /&gt;
*Quality of data in this architecture is untrustworthy, the main incentive to use it, however, is that it is a cheap and easy way of scaling the work exponentially.&lt;br /&gt;
*Provided social incentives to encourage users to join the system.&lt;br /&gt;
*This computation model still exists but not in the legitimate world.&lt;br /&gt;
*Formed a good concept of public resource computing and a distributed computing by providing a platform independent framework&lt;br /&gt;
&lt;br /&gt;
== MapReduce ==&lt;br /&gt;
&lt;br /&gt;
*A programming model presented by Google to do large scale parallel computations&lt;br /&gt;
*Uses the &amp;lt;code&amp;gt;Map()&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Reduce()&amp;lt;/code&amp;gt; functions from functional style programming languages&lt;br /&gt;
:*Map (Filtering)&lt;br /&gt;
::*Takes a function and applies it to all elements of the given data set&lt;br /&gt;
:*Reduce (Summary)&lt;br /&gt;
::*Accumulates results from the data set using a given function&lt;br /&gt;
&lt;br /&gt;
== Naiad ==&lt;br /&gt;
&lt;br /&gt;
*A programming model similar to &amp;lt;code&amp;gt;MapReduce&amp;lt;/code&amp;gt; but with streaming capabilities so that data results are almost instantaneous&lt;br /&gt;
*A distributed system for executing data parallel cyclic dataflow programs offering high throughput and low latency&lt;br /&gt;
*Aims to provide a general purpose system which will fulfill the requirements and the will also support wide variety of high level programming models.&lt;br /&gt;
*Real Time Applications:&lt;br /&gt;
:*Batch iterative Machine Learning: &lt;br /&gt;
VW, an open source distributed machine learning performs iteration in 3 phases: each process updates local state; processes independently training on local data; and process jointly performed global average which is All Reduce.&lt;br /&gt;
:*Streaming Acyclic Computation&lt;br /&gt;
When compared to a system called [http://research.microsoft.com/apps/pubs/default.aspx?id=163832 Kineograph] ( also done by Microsoft ), which processes twitter handles and provides counts of the occurrence of hashtags as well as links between popular tags, was written using Naiad in 26 lines of code and ran close to 2X faster.&lt;br /&gt;
* Naiad paper won the best paper award in SOSP 2013, check-out this link in Microsoft Research website http://research.microsoft.com/en-us/projects/naiad/ . Down in this page you can see some videos that explains naiad including Derek&#039;s Murray presentation at SOSP 2013.&lt;/div&gt;</summary>
		<author><name>Apoorv</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_9&amp;diff=20106</id>
		<title>DistOS 2015W Session 9</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_9&amp;diff=20106"/>
		<updated>2015-04-04T11:58:17Z</updated>

		<summary type="html">&lt;p&gt;Apoorv: /* SETI@Home */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== BOINC ==&lt;br /&gt;
&lt;br /&gt;
*Public Resource Computing Platform&lt;br /&gt;
*Gives scientists the ability to use large amounts of computation resources.&lt;br /&gt;
*The clients do not connect directly with each other but instead they talk to a central server located at Berkley&lt;br /&gt;
*The goals of Boinc are: &lt;br /&gt;
:*1) reduce the barriers of entry&lt;br /&gt;
:*2) Share resources among autonomous projects&lt;br /&gt;
:*3) Support diverse applications&lt;br /&gt;
:*4) Reward participants.&lt;br /&gt;
 A BOINC application can be identified by a single master URL, &amp;lt;br/&amp;gt;which serves as the homepage as well as the directory of the servers.&lt;br /&gt;
&lt;br /&gt;
== SETI@Home ==&lt;br /&gt;
&lt;br /&gt;
*Uses public resource computing to analyze radio signals to find extraterrestrial intelligence&lt;br /&gt;
*Need good quality telescope to search for radio signals, and lots of computational power, which was unavailable locally&lt;br /&gt;
*It has not yet found extraterrestrial intelligence, but its has established credibility of public resource computing projects which are given by the public&lt;br /&gt;
*Uses BOINC as a backbone for the project&lt;br /&gt;
*Uses relational database to store information on a large scale, further it uses a multi-threaded server to distribute work to clients&lt;br /&gt;
*Quality of data in this architecture is untrustworthy, the main incentive to use it, however, is that it is a cheap and easy way of scaling the work exponentially.&lt;br /&gt;
*Provided social incentives to encourage users to join the system.&lt;br /&gt;
*This computation model still exists but not in the legitimate world.&lt;br /&gt;
*Formed a good concept of public resource computing and a distributed computing by providing a platform independent framework&lt;br /&gt;
&lt;br /&gt;
== MapReduce ==&lt;br /&gt;
&lt;br /&gt;
*A programming model presented by Google to do large scale parallel computations&lt;br /&gt;
*Uses the &amp;lt;code&amp;gt;Map()&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Reduce()&amp;lt;/code&amp;gt; functions from functional style programming languages&lt;br /&gt;
:*Map (Filtering)&lt;br /&gt;
::*Takes a function and applies it to all elements of the given data set&lt;br /&gt;
:*Reduce (Summary)&lt;br /&gt;
::*Accumulates results from the data set using a given function&lt;br /&gt;
&lt;br /&gt;
== Naiad ==&lt;br /&gt;
&lt;br /&gt;
*A programming model similar to &amp;lt;code&amp;gt;MapReduce&amp;lt;/code&amp;gt; but with streaming capabilities so that data results are almost instantaneous&lt;br /&gt;
*A distributed system for executing data parallel cyclic dataflow programs offering high throughput and low latency&lt;br /&gt;
*Aims to provide a general purpose system which will fulfill the requirements and the will also support wide variety of high level programming models.&lt;br /&gt;
*Real Time Applications:&lt;br /&gt;
:*Batch iterative Machine Learning: &lt;br /&gt;
VW, an open source distributed machine learning performs iteration in 3 phases: each process updates local state; processes independently training on local data; and process jointly performed global average which is All Reduce.&lt;br /&gt;
:*Streaming Acyclic Computation&lt;br /&gt;
When compared to a system called [http://research.microsoft.com/apps/pubs/default.aspx?id=163832 Kineograph] ( also done by Microsoft ), which processes twitter handles and provides counts of the occurrence of hashtags as well as links between popular tags, was written using Naiad in 26 lines of code and ran close to 2X faster.&lt;br /&gt;
* Naiad paper won the best paper award in SOSP 2013, check-out this link in Microsoft Research website http://research.microsoft.com/en-us/projects/naiad/ . Down in this page you can see some videos that explains naiad including Derek&#039;s Murray presentation at SOSP 2013.&lt;/div&gt;</summary>
		<author><name>Apoorv</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_11&amp;diff=20105</id>
		<title>DistOS 2015W Session 11</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_11&amp;diff=20105"/>
		<updated>2015-04-04T11:38:25Z</updated>

		<summary type="html">&lt;p&gt;Apoorv: /* Spanner */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==BigTable==&lt;br /&gt;
* Google System used for storing data of various Google Products, for instance Google Analytics, Google Finance, Orkut, Personalized Search, Writely, Google Earth and many more&lt;br /&gt;
* Big table is &lt;br /&gt;
** Sparse&lt;br /&gt;
** Persistant&lt;br /&gt;
** Muti dimensional Sorted Map&lt;br /&gt;
*It is indexed by&lt;br /&gt;
** Row Key: Every read or write of data under single row key is atomic. Each row range is called Tablet. Select Row key to get good locality for data access.&lt;br /&gt;
** Column Key: Grouped into sets called Column Families. Forms basic unit of Access Control.All data stored is of same type.Syntax used: &#039;&#039;family:qualifier&#039;&#039;&lt;br /&gt;
** Time Stamp:Each cell consists of multiple versions of same data which are indexed by Timestamps.In order to avoid collisions, Timestamps need to be generated by applications.&lt;br /&gt;
* Big Table &#039;&#039;&#039;API&#039;&#039;&#039;: Provides functions for&lt;br /&gt;
** Creating and Deleting&lt;br /&gt;
*** Tables&lt;br /&gt;
*** Column Families&lt;br /&gt;
**Changing Cluster&lt;br /&gt;
**Changing Table&lt;br /&gt;
**Column Family metadata like Access Control Rights.&lt;br /&gt;
** Set of wrappers which allow Big Data to be used both as&lt;br /&gt;
*** Input source&lt;br /&gt;
***Output Target&lt;br /&gt;
*The timestamp mechanism in BIG table helps clients to access recent versions of data with simple accessing aspects of using row and column.&lt;br /&gt;
*Parallel computation and cluster management system makes BIG table flexible and highly scalable.&lt;br /&gt;
&lt;br /&gt;
== Dynamo==&lt;br /&gt;
* Amazon&#039;s Key Value Store&lt;br /&gt;
*Availability is the buzz word for Dynamo. Dynamo=Availability&lt;br /&gt;
*Shifted Computer Science paradigm from caring about the consistency to availability.&lt;br /&gt;
*Sacrifices consistency under certain failure scenarios.&lt;br /&gt;
*Treats failure handling as normal case without impact on availability and performance.&lt;br /&gt;
*Data is partitioned and replicated using consistent hashing and consistency is facilitated by use of object versioning.&lt;br /&gt;
* This system has certain requirements such as: &lt;br /&gt;
** Query Model: Simple read and write operations to data item that are uniquely identified by a key.&lt;br /&gt;
**ACID properties: Atomicity, Consistency, Isolation, Durability.&lt;br /&gt;
**Efficiency: System needs to function on a commodity hardware infrastructure.&lt;br /&gt;
*  Service Level Agreements(SLA): They are a negotiated contract between a client and a service regarding characteristics related to systems. They are used in order to guarantee that in a bounded time period, an application can deliver it&#039;s functionality.&lt;br /&gt;
* System Architecture: It consists of &#039;&#039;System Interface&#039;&#039;, &#039;&#039;Partitioning Algorithm&#039;&#039;, &#039;&#039;Replication&#039;&#039;,&#039;&#039;Data Versioning&#039;&#039;.&lt;br /&gt;
* Successfully handles&lt;br /&gt;
** Server Failure&lt;br /&gt;
** Data Centre Failure&lt;br /&gt;
** Network Partitions&lt;br /&gt;
* Allows service owners to customize their own storage systems according to their storage systems to meet the desired performance, durability and consistency SLAs.&lt;br /&gt;
* Building block for highly available applications.&lt;br /&gt;
&lt;br /&gt;
==Cassandra==&lt;br /&gt;
* Facebook&#039;s storage system to fulfil needs of the Inbox Search Problem&lt;br /&gt;
*Partitions data across the cluster using consistent hashing.&lt;br /&gt;
*Distributed multi dimensional map indexed by a key&lt;br /&gt;
* In it&#039;s data model:&lt;br /&gt;
** Columns grouped together into sets called column families. Column Families further of 2 types:&lt;br /&gt;
***Simple column families&lt;br /&gt;
***Super column families&lt;br /&gt;
* API consists of :&lt;br /&gt;
** Insert&lt;br /&gt;
**Get&lt;br /&gt;
** Delete&lt;br /&gt;
* System Architecture consists of :&lt;br /&gt;
** Partitioning: Takes place using consistent hashing&lt;br /&gt;
**Replication: Each item replicated at n hosts where &amp;quot;n&amp;quot; is the replication factor configured per system. &lt;br /&gt;
** Membership: Cluster membership is based on Scuttle butt which is a highly efficient anti-entropy Gossip based mechanism.The Membership further has sub part such as:&lt;br /&gt;
***Failure Detection&lt;br /&gt;
**Bootstrapping&lt;br /&gt;
** Scaling the cluster&lt;br /&gt;
*It can run cheap commodity hardware and handle high throughput &lt;br /&gt;
*Its multiple usable structure makes it very scalable&lt;br /&gt;
&lt;br /&gt;
=Spanner=&lt;br /&gt;
* Google&#039;s scalable, multi version, globally distributed database.&lt;br /&gt;
* Has been built on top of the Google&#039;s Big table.&lt;br /&gt;
*Provided data consistency and Supports SQL like Interface.&lt;br /&gt;
* Uses True time to guarantee the correctness properties around concurrency control.&lt;br /&gt;
** The timestamps are utilized.&lt;br /&gt;
*It shares data across machines and migrates data automatically across machines&lt;br /&gt;
*Data Control Functions in spanner controls latency and performance&lt;/div&gt;</summary>
		<author><name>Apoorv</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_11&amp;diff=20104</id>
		<title>DistOS 2015W Session 11</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_11&amp;diff=20104"/>
		<updated>2015-04-04T11:34:05Z</updated>

		<summary type="html">&lt;p&gt;Apoorv: /* Spanner */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==BigTable==&lt;br /&gt;
* Google System used for storing data of various Google Products, for instance Google Analytics, Google Finance, Orkut, Personalized Search, Writely, Google Earth and many more&lt;br /&gt;
* Big table is &lt;br /&gt;
** Sparse&lt;br /&gt;
** Persistant&lt;br /&gt;
** Muti dimensional Sorted Map&lt;br /&gt;
*It is indexed by&lt;br /&gt;
** Row Key: Every read or write of data under single row key is atomic. Each row range is called Tablet. Select Row key to get good locality for data access.&lt;br /&gt;
** Column Key: Grouped into sets called Column Families. Forms basic unit of Access Control.All data stored is of same type.Syntax used: &#039;&#039;family:qualifier&#039;&#039;&lt;br /&gt;
** Time Stamp:Each cell consists of multiple versions of same data which are indexed by Timestamps.In order to avoid collisions, Timestamps need to be generated by applications.&lt;br /&gt;
* Big Table &#039;&#039;&#039;API&#039;&#039;&#039;: Provides functions for&lt;br /&gt;
** Creating and Deleting&lt;br /&gt;
*** Tables&lt;br /&gt;
*** Column Families&lt;br /&gt;
**Changing Cluster&lt;br /&gt;
**Changing Table&lt;br /&gt;
**Column Family metadata like Access Control Rights.&lt;br /&gt;
** Set of wrappers which allow Big Data to be used both as&lt;br /&gt;
*** Input source&lt;br /&gt;
***Output Target&lt;br /&gt;
*The timestamp mechanism in BIG table helps clients to access recent versions of data with simple accessing aspects of using row and column.&lt;br /&gt;
*Parallel computation and cluster management system makes BIG table flexible and highly scalable.&lt;br /&gt;
&lt;br /&gt;
== Dynamo==&lt;br /&gt;
* Amazon&#039;s Key Value Store&lt;br /&gt;
*Availability is the buzz word for Dynamo. Dynamo=Availability&lt;br /&gt;
*Shifted Computer Science paradigm from caring about the consistency to availability.&lt;br /&gt;
*Sacrifices consistency under certain failure scenarios.&lt;br /&gt;
*Treats failure handling as normal case without impact on availability and performance.&lt;br /&gt;
*Data is partitioned and replicated using consistent hashing and consistency is facilitated by use of object versioning.&lt;br /&gt;
* This system has certain requirements such as: &lt;br /&gt;
** Query Model: Simple read and write operations to data item that are uniquely identified by a key.&lt;br /&gt;
**ACID properties: Atomicity, Consistency, Isolation, Durability.&lt;br /&gt;
**Efficiency: System needs to function on a commodity hardware infrastructure.&lt;br /&gt;
*  Service Level Agreements(SLA): They are a negotiated contract between a client and a service regarding characteristics related to systems. They are used in order to guarantee that in a bounded time period, an application can deliver it&#039;s functionality.&lt;br /&gt;
* System Architecture: It consists of &#039;&#039;System Interface&#039;&#039;, &#039;&#039;Partitioning Algorithm&#039;&#039;, &#039;&#039;Replication&#039;&#039;,&#039;&#039;Data Versioning&#039;&#039;.&lt;br /&gt;
* Successfully handles&lt;br /&gt;
** Server Failure&lt;br /&gt;
** Data Centre Failure&lt;br /&gt;
** Network Partitions&lt;br /&gt;
* Allows service owners to customize their own storage systems according to their storage systems to meet the desired performance, durability and consistency SLAs.&lt;br /&gt;
* Building block for highly available applications.&lt;br /&gt;
&lt;br /&gt;
==Cassandra==&lt;br /&gt;
* Facebook&#039;s storage system to fulfil needs of the Inbox Search Problem&lt;br /&gt;
*Partitions data across the cluster using consistent hashing.&lt;br /&gt;
*Distributed multi dimensional map indexed by a key&lt;br /&gt;
* In it&#039;s data model:&lt;br /&gt;
** Columns grouped together into sets called column families. Column Families further of 2 types:&lt;br /&gt;
***Simple column families&lt;br /&gt;
***Super column families&lt;br /&gt;
* API consists of :&lt;br /&gt;
** Insert&lt;br /&gt;
**Get&lt;br /&gt;
** Delete&lt;br /&gt;
* System Architecture consists of :&lt;br /&gt;
** Partitioning: Takes place using consistent hashing&lt;br /&gt;
**Replication: Each item replicated at n hosts where &amp;quot;n&amp;quot; is the replication factor configured per system. &lt;br /&gt;
** Membership: Cluster membership is based on Scuttle butt which is a highly efficient anti-entropy Gossip based mechanism.The Membership further has sub part such as:&lt;br /&gt;
***Failure Detection&lt;br /&gt;
**Bootstrapping&lt;br /&gt;
** Scaling the cluster&lt;br /&gt;
*It can run cheap commodity hardware and handle high throughput &lt;br /&gt;
*Its multiple usable structure makes it very scalable&lt;br /&gt;
&lt;br /&gt;
=Spanner=&lt;br /&gt;
* Google&#039;s scalable, multi version, globally distributed database.&lt;br /&gt;
* Has been built on top of the Google&#039;s Big table.&lt;br /&gt;
*Provided data consistency and Supports SQL like Interface.&lt;br /&gt;
* Uses True time to guarantee the correctness properties around concurrency control.&lt;br /&gt;
** The timestamps are utilized.&lt;br /&gt;
*It shares data across machines and migrates data automatically across machines&lt;/div&gt;</summary>
		<author><name>Apoorv</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_11&amp;diff=20103</id>
		<title>DistOS 2015W Session 11</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_11&amp;diff=20103"/>
		<updated>2015-04-04T11:31:20Z</updated>

		<summary type="html">&lt;p&gt;Apoorv: /* Cassandra */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==BigTable==&lt;br /&gt;
* Google System used for storing data of various Google Products, for instance Google Analytics, Google Finance, Orkut, Personalized Search, Writely, Google Earth and many more&lt;br /&gt;
* Big table is &lt;br /&gt;
** Sparse&lt;br /&gt;
** Persistant&lt;br /&gt;
** Muti dimensional Sorted Map&lt;br /&gt;
*It is indexed by&lt;br /&gt;
** Row Key: Every read or write of data under single row key is atomic. Each row range is called Tablet. Select Row key to get good locality for data access.&lt;br /&gt;
** Column Key: Grouped into sets called Column Families. Forms basic unit of Access Control.All data stored is of same type.Syntax used: &#039;&#039;family:qualifier&#039;&#039;&lt;br /&gt;
** Time Stamp:Each cell consists of multiple versions of same data which are indexed by Timestamps.In order to avoid collisions, Timestamps need to be generated by applications.&lt;br /&gt;
* Big Table &#039;&#039;&#039;API&#039;&#039;&#039;: Provides functions for&lt;br /&gt;
** Creating and Deleting&lt;br /&gt;
*** Tables&lt;br /&gt;
*** Column Families&lt;br /&gt;
**Changing Cluster&lt;br /&gt;
**Changing Table&lt;br /&gt;
**Column Family metadata like Access Control Rights.&lt;br /&gt;
** Set of wrappers which allow Big Data to be used both as&lt;br /&gt;
*** Input source&lt;br /&gt;
***Output Target&lt;br /&gt;
*The timestamp mechanism in BIG table helps clients to access recent versions of data with simple accessing aspects of using row and column.&lt;br /&gt;
*Parallel computation and cluster management system makes BIG table flexible and highly scalable.&lt;br /&gt;
&lt;br /&gt;
== Dynamo==&lt;br /&gt;
* Amazon&#039;s Key Value Store&lt;br /&gt;
*Availability is the buzz word for Dynamo. Dynamo=Availability&lt;br /&gt;
*Shifted Computer Science paradigm from caring about the consistency to availability.&lt;br /&gt;
*Sacrifices consistency under certain failure scenarios.&lt;br /&gt;
*Treats failure handling as normal case without impact on availability and performance.&lt;br /&gt;
*Data is partitioned and replicated using consistent hashing and consistency is facilitated by use of object versioning.&lt;br /&gt;
* This system has certain requirements such as: &lt;br /&gt;
** Query Model: Simple read and write operations to data item that are uniquely identified by a key.&lt;br /&gt;
**ACID properties: Atomicity, Consistency, Isolation, Durability.&lt;br /&gt;
**Efficiency: System needs to function on a commodity hardware infrastructure.&lt;br /&gt;
*  Service Level Agreements(SLA): They are a negotiated contract between a client and a service regarding characteristics related to systems. They are used in order to guarantee that in a bounded time period, an application can deliver it&#039;s functionality.&lt;br /&gt;
* System Architecture: It consists of &#039;&#039;System Interface&#039;&#039;, &#039;&#039;Partitioning Algorithm&#039;&#039;, &#039;&#039;Replication&#039;&#039;,&#039;&#039;Data Versioning&#039;&#039;.&lt;br /&gt;
* Successfully handles&lt;br /&gt;
** Server Failure&lt;br /&gt;
** Data Centre Failure&lt;br /&gt;
** Network Partitions&lt;br /&gt;
* Allows service owners to customize their own storage systems according to their storage systems to meet the desired performance, durability and consistency SLAs.&lt;br /&gt;
* Building block for highly available applications.&lt;br /&gt;
&lt;br /&gt;
==Cassandra==&lt;br /&gt;
* Facebook&#039;s storage system to fulfil needs of the Inbox Search Problem&lt;br /&gt;
*Partitions data across the cluster using consistent hashing.&lt;br /&gt;
*Distributed multi dimensional map indexed by a key&lt;br /&gt;
* In it&#039;s data model:&lt;br /&gt;
** Columns grouped together into sets called column families. Column Families further of 2 types:&lt;br /&gt;
***Simple column families&lt;br /&gt;
***Super column families&lt;br /&gt;
* API consists of :&lt;br /&gt;
** Insert&lt;br /&gt;
**Get&lt;br /&gt;
** Delete&lt;br /&gt;
* System Architecture consists of :&lt;br /&gt;
** Partitioning: Takes place using consistent hashing&lt;br /&gt;
**Replication: Each item replicated at n hosts where &amp;quot;n&amp;quot; is the replication factor configured per system. &lt;br /&gt;
** Membership: Cluster membership is based on Scuttle butt which is a highly efficient anti-entropy Gossip based mechanism.The Membership further has sub part such as:&lt;br /&gt;
***Failure Detection&lt;br /&gt;
**Bootstrapping&lt;br /&gt;
** Scaling the cluster&lt;br /&gt;
*It can run cheap commodity hardware and handle high throughput &lt;br /&gt;
*Its multiple usable structure makes it very scalable&lt;br /&gt;
&lt;br /&gt;
=Spanner=&lt;br /&gt;
* Google&#039;s scalable, multi version, globally distributed database.&lt;br /&gt;
* Has been built on top of the Google&#039;s Big table.&lt;br /&gt;
*Provided data consistency and Supports SQL like Interface.&lt;br /&gt;
*Main focus is managing cross-datacentre replicated data.&lt;br /&gt;
* Uses True time to guarantee the correctness properties around concurrency control.&lt;br /&gt;
** The timestamps are utilized.&lt;/div&gt;</summary>
		<author><name>Apoorv</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_11&amp;diff=20102</id>
		<title>DistOS 2015W Session 11</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_11&amp;diff=20102"/>
		<updated>2015-04-04T11:27:52Z</updated>

		<summary type="html">&lt;p&gt;Apoorv: /* BigTable */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==BigTable==&lt;br /&gt;
* Google System used for storing data of various Google Products, for instance Google Analytics, Google Finance, Orkut, Personalized Search, Writely, Google Earth and many more&lt;br /&gt;
* Big table is &lt;br /&gt;
** Sparse&lt;br /&gt;
** Persistant&lt;br /&gt;
** Muti dimensional Sorted Map&lt;br /&gt;
*It is indexed by&lt;br /&gt;
** Row Key: Every read or write of data under single row key is atomic. Each row range is called Tablet. Select Row key to get good locality for data access.&lt;br /&gt;
** Column Key: Grouped into sets called Column Families. Forms basic unit of Access Control.All data stored is of same type.Syntax used: &#039;&#039;family:qualifier&#039;&#039;&lt;br /&gt;
** Time Stamp:Each cell consists of multiple versions of same data which are indexed by Timestamps.In order to avoid collisions, Timestamps need to be generated by applications.&lt;br /&gt;
* Big Table &#039;&#039;&#039;API&#039;&#039;&#039;: Provides functions for&lt;br /&gt;
** Creating and Deleting&lt;br /&gt;
*** Tables&lt;br /&gt;
*** Column Families&lt;br /&gt;
**Changing Cluster&lt;br /&gt;
**Changing Table&lt;br /&gt;
**Column Family metadata like Access Control Rights.&lt;br /&gt;
** Set of wrappers which allow Big Data to be used both as&lt;br /&gt;
*** Input source&lt;br /&gt;
***Output Target&lt;br /&gt;
*The timestamp mechanism in BIG table helps clients to access recent versions of data with simple accessing aspects of using row and column.&lt;br /&gt;
*Parallel computation and cluster management system makes BIG table flexible and highly scalable.&lt;br /&gt;
&lt;br /&gt;
== Dynamo==&lt;br /&gt;
* Amazon&#039;s Key Value Store&lt;br /&gt;
*Availability is the buzz word for Dynamo. Dynamo=Availability&lt;br /&gt;
*Shifted Computer Science paradigm from caring about the consistency to availability.&lt;br /&gt;
*Sacrifices consistency under certain failure scenarios.&lt;br /&gt;
*Treats failure handling as normal case without impact on availability and performance.&lt;br /&gt;
*Data is partitioned and replicated using consistent hashing and consistency is facilitated by use of object versioning.&lt;br /&gt;
* This system has certain requirements such as: &lt;br /&gt;
** Query Model: Simple read and write operations to data item that are uniquely identified by a key.&lt;br /&gt;
**ACID properties: Atomicity, Consistency, Isolation, Durability.&lt;br /&gt;
**Efficiency: System needs to function on a commodity hardware infrastructure.&lt;br /&gt;
*  Service Level Agreements(SLA): They are a negotiated contract between a client and a service regarding characteristics related to systems. They are used in order to guarantee that in a bounded time period, an application can deliver it&#039;s functionality.&lt;br /&gt;
* System Architecture: It consists of &#039;&#039;System Interface&#039;&#039;, &#039;&#039;Partitioning Algorithm&#039;&#039;, &#039;&#039;Replication&#039;&#039;,&#039;&#039;Data Versioning&#039;&#039;.&lt;br /&gt;
* Successfully handles&lt;br /&gt;
** Server Failure&lt;br /&gt;
** Data Centre Failure&lt;br /&gt;
** Network Partitions&lt;br /&gt;
* Allows service owners to customize their own storage systems according to their storage systems to meet the desired performance, durability and consistency SLAs.&lt;br /&gt;
* Building block for highly available applications.&lt;br /&gt;
&lt;br /&gt;
==Cassandra==&lt;br /&gt;
* Facebook&#039;s storage system to fulfil needs of the Inbox Search Problem&lt;br /&gt;
*Partitions data across the cluster using consistent hashing.&lt;br /&gt;
*Distributed multi dimensional map indexed by a key&lt;br /&gt;
* In it&#039;s data model:&lt;br /&gt;
** Columns grouped together into sets called column families. Column Families further of 2 types:&lt;br /&gt;
***Simple column families&lt;br /&gt;
***Super column families&lt;br /&gt;
* API consists of :&lt;br /&gt;
** Insert&lt;br /&gt;
**Get&lt;br /&gt;
** Delete&lt;br /&gt;
* System Architecture consists of :&lt;br /&gt;
** Partitioning: Takes place using consistent hashing&lt;br /&gt;
**Replication: Each item replicated at n hosts where &amp;quot;n&amp;quot; is the replication factor configured per system. &lt;br /&gt;
** Membership: Cluster membership is based on Scuttle butt which is a highly efficient anti-entropy Gossip based mechanism.The Membership further has sub part such as:&lt;br /&gt;
***Failure Detection&lt;br /&gt;
**Bootstrapping&lt;br /&gt;
** Scaling the cluster&lt;br /&gt;
&lt;br /&gt;
=Spanner=&lt;br /&gt;
* Google&#039;s scalable, multi version, globally distributed database.&lt;br /&gt;
* Has been built on top of the Google&#039;s Big table.&lt;br /&gt;
*Provided data consistency and Supports SQL like Interface.&lt;br /&gt;
*Main focus is managing cross-datacentre replicated data.&lt;br /&gt;
* Uses True time to guarantee the correctness properties around concurrency control.&lt;br /&gt;
** The timestamps are utilized.&lt;/div&gt;</summary>
		<author><name>Apoorv</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_12&amp;diff=20101</id>
		<title>DistOS 2015W Session 12</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_12&amp;diff=20101"/>
		<updated>2015-04-04T11:21:26Z</updated>

		<summary type="html">&lt;p&gt;Apoorv: /* Sapphire */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Haystack=&lt;br /&gt;
* Facebook&#039;s Photo Application Storage System. &lt;br /&gt;
* Previous Fb photo storage based on NFS design. The reason why NFS dint work is because it gave 3 reads for every photo. The issue here was that they needed 1 read per photo.&lt;br /&gt;
*Main goals of Haystack:&lt;br /&gt;
** High throughput with low latency. It uses one disk operation to provide these.&lt;br /&gt;
**Fault tolerance&lt;br /&gt;
**Cost effective&lt;br /&gt;
**SImple&lt;br /&gt;
*Facebook utilises CDN to serve popular images and further uses haystack to respond to photo requests in the long tail effectively. &lt;br /&gt;
*Haystack reduces the memory used for &#039;&#039;filesystem metadata&#039;&#039; &lt;br /&gt;
*It has 2 types of metadata:&lt;br /&gt;
**&#039;&#039;Application metadata&#039;&#039;&lt;br /&gt;
**&#039;&#039;File System metadata&#039;&#039;&lt;br /&gt;
* The architecture consists of 3 components:&lt;br /&gt;
**Haystack Store&lt;br /&gt;
**Haystack Directory&lt;br /&gt;
**Haystack Cache&lt;br /&gt;
*Pitchfork and bulk sync were used to tolerate faults. the fault tolerance works in a very profound way to make haystack feasible and reliable&lt;br /&gt;
&lt;br /&gt;
=Comet=&lt;br /&gt;
*Introduced the concept of distributed shared memory (DSM). In a DSM, RAMs from multiple servers would appear as if they are all belonging to one server, allowing better scalability for caching.&lt;br /&gt;
*client and server model maintain consistency using DSM&lt;br /&gt;
*Comet model works by offloading the computation intensive process from the mobile to only one server.&lt;br /&gt;
*The offloading process works by passing the computation intensive process to the server and hold it on the mobile device. Once the process on the server completes, it returns the results and the handle back to the mobile device. In other words, the process does not get physically offloaded to the server but instead it runs on the server and stopped on the mobile device.&lt;br /&gt;
&lt;br /&gt;
=F4=&lt;br /&gt;
* Warm Blob Storage System.&lt;br /&gt;
** Warm Blob is a immutable data that gets cool very rapidly.&lt;br /&gt;
** F4 reduce the space usage by 3.6 to 2.8 or 2.1 replication factor using Reed Solomon coding and XOR coding respectively but still provides consistency.&lt;br /&gt;
*Reed Solomon coding basically use(10,4)  which means 10 data and 4 parity blocks in a stripe, and can thus tolerate losing up to 4 blocks whch means it can tolerate 4 rack failure and use 1.4 expansion factor.Two copies of this would be 2* 1.4= 2.8 effective replication factor.&lt;br /&gt;
*XOR coding use(2,1) across three data center and use 1.5 expansion factor which gives 1.5*1.4= 2.1 effective replication factor&lt;br /&gt;
*The caching mechanism provides the reduction in load on storage system and it makes BLOB scalable&lt;br /&gt;
*The concept of hot and warm storage is used to make it simple and modular&lt;br /&gt;
&lt;br /&gt;
=Sapphire=&lt;br /&gt;
*Represents a building block towards building this global distributed systems. The main critique to it is that it didn’t present a specific use case upon which their design is built upon.&lt;br /&gt;
*Sapphire does not show their scalability boundaries. There is no such distributed system model that can be “one size fits all”, most probably it will break in some large scale distributed application.&lt;br /&gt;
*Reaching this global distributed system that address all the distributed OS use cases will be a cumulative work of many big bodies and building it block by block and then this system will evolve by putting all these different building blocks together. In other words, reaching a global distributed system will come from a “bottom up not top down approach” [Somayaji, 2015].&lt;br /&gt;
*The concept of separate application logic from deployment logic helps programmers in making a flexible system. The other important part that makes it as a scalable system was that it is object based and could be integrated with any object oriented language.&lt;/div&gt;</summary>
		<author><name>Apoorv</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_12&amp;diff=20100</id>
		<title>DistOS 2015W Session 12</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_12&amp;diff=20100"/>
		<updated>2015-04-04T11:18:31Z</updated>

		<summary type="html">&lt;p&gt;Apoorv: /* F4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Haystack=&lt;br /&gt;
* Facebook&#039;s Photo Application Storage System. &lt;br /&gt;
* Previous Fb photo storage based on NFS design. The reason why NFS dint work is because it gave 3 reads for every photo. The issue here was that they needed 1 read per photo.&lt;br /&gt;
*Main goals of Haystack:&lt;br /&gt;
** High throughput with low latency. It uses one disk operation to provide these.&lt;br /&gt;
**Fault tolerance&lt;br /&gt;
**Cost effective&lt;br /&gt;
**SImple&lt;br /&gt;
*Facebook utilises CDN to serve popular images and further uses haystack to respond to photo requests in the long tail effectively. &lt;br /&gt;
*Haystack reduces the memory used for &#039;&#039;filesystem metadata&#039;&#039; &lt;br /&gt;
*It has 2 types of metadata:&lt;br /&gt;
**&#039;&#039;Application metadata&#039;&#039;&lt;br /&gt;
**&#039;&#039;File System metadata&#039;&#039;&lt;br /&gt;
* The architecture consists of 3 components:&lt;br /&gt;
**Haystack Store&lt;br /&gt;
**Haystack Directory&lt;br /&gt;
**Haystack Cache&lt;br /&gt;
*Pitchfork and bulk sync were used to tolerate faults. the fault tolerance works in a very profound way to make haystack feasible and reliable&lt;br /&gt;
&lt;br /&gt;
=Comet=&lt;br /&gt;
*Introduced the concept of distributed shared memory (DSM). In a DSM, RAMs from multiple servers would appear as if they are all belonging to one server, allowing better scalability for caching.&lt;br /&gt;
*client and server model maintain consistency using DSM&lt;br /&gt;
*Comet model works by offloading the computation intensive process from the mobile to only one server.&lt;br /&gt;
*The offloading process works by passing the computation intensive process to the server and hold it on the mobile device. Once the process on the server completes, it returns the results and the handle back to the mobile device. In other words, the process does not get physically offloaded to the server but instead it runs on the server and stopped on the mobile device.&lt;br /&gt;
&lt;br /&gt;
=F4=&lt;br /&gt;
* Warm Blob Storage System.&lt;br /&gt;
** Warm Blob is a immutable data that gets cool very rapidly.&lt;br /&gt;
** F4 reduce the space usage by 3.6 to 2.8 or 2.1 replication factor using Reed Solomon coding and XOR coding respectively but still provides consistency.&lt;br /&gt;
*Reed Solomon coding basically use(10,4)  which means 10 data and 4 parity blocks in a stripe, and can thus tolerate losing up to 4 blocks whch means it can tolerate 4 rack failure and use 1.4 expansion factor.Two copies of this would be 2* 1.4= 2.8 effective replication factor.&lt;br /&gt;
*XOR coding use(2,1) across three data center and use 1.5 expansion factor which gives 1.5*1.4= 2.1 effective replication factor&lt;br /&gt;
*The caching mechanism provides the reduction in load on storage system and it makes BLOB scalable&lt;br /&gt;
*The concept of hot and warm storage is used to make it simple and modular&lt;br /&gt;
&lt;br /&gt;
=Sapphire=&lt;br /&gt;
*Represents a building block towards building this global distributed systems. The main critique to it is that it didn’t present a specific use case upon which their design is built upon.&lt;br /&gt;
*Sapphire does not show their scalability boundaries. There is no such distributed system model that can be “one size fits all”, most probably it will break in some large scale distributed application.&lt;br /&gt;
*Reaching this global distributed system that address all the distributed OS use cases will be a cumulative work of many big bodies and building it block by block and then this system will evolve by putting all these different building blocks together. In other words, reaching a global distributed system will come from a “bottom up not top down approach” [Somayaji, 2015].&lt;/div&gt;</summary>
		<author><name>Apoorv</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_12&amp;diff=20099</id>
		<title>DistOS 2015W Session 12</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_12&amp;diff=20099"/>
		<updated>2015-04-04T11:15:59Z</updated>

		<summary type="html">&lt;p&gt;Apoorv: /* Comet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Haystack=&lt;br /&gt;
* Facebook&#039;s Photo Application Storage System. &lt;br /&gt;
* Previous Fb photo storage based on NFS design. The reason why NFS dint work is because it gave 3 reads for every photo. The issue here was that they needed 1 read per photo.&lt;br /&gt;
*Main goals of Haystack:&lt;br /&gt;
** High throughput with low latency. It uses one disk operation to provide these.&lt;br /&gt;
**Fault tolerance&lt;br /&gt;
**Cost effective&lt;br /&gt;
**SImple&lt;br /&gt;
*Facebook utilises CDN to serve popular images and further uses haystack to respond to photo requests in the long tail effectively. &lt;br /&gt;
*Haystack reduces the memory used for &#039;&#039;filesystem metadata&#039;&#039; &lt;br /&gt;
*It has 2 types of metadata:&lt;br /&gt;
**&#039;&#039;Application metadata&#039;&#039;&lt;br /&gt;
**&#039;&#039;File System metadata&#039;&#039;&lt;br /&gt;
* The architecture consists of 3 components:&lt;br /&gt;
**Haystack Store&lt;br /&gt;
**Haystack Directory&lt;br /&gt;
**Haystack Cache&lt;br /&gt;
*Pitchfork and bulk sync were used to tolerate faults. the fault tolerance works in a very profound way to make haystack feasible and reliable&lt;br /&gt;
&lt;br /&gt;
=Comet=&lt;br /&gt;
*Introduced the concept of distributed shared memory (DSM). In a DSM, RAMs from multiple servers would appear as if they are all belonging to one server, allowing better scalability for caching.&lt;br /&gt;
*client and server model maintain consistency using DSM&lt;br /&gt;
*Comet model works by offloading the computation intensive process from the mobile to only one server.&lt;br /&gt;
*The offloading process works by passing the computation intensive process to the server and hold it on the mobile device. Once the process on the server completes, it returns the results and the handle back to the mobile device. In other words, the process does not get physically offloaded to the server but instead it runs on the server and stopped on the mobile device.&lt;br /&gt;
&lt;br /&gt;
=F4=&lt;br /&gt;
* Warm Blob Storage System.&lt;br /&gt;
** Warm Blob is a immutable data that gets cool very rapidly.&lt;br /&gt;
** F4 reduce the space usage by 3.6 to 2.8 or 2.1 replication factor using Reed Solomon coding and XOR coding respectively but still provides consistency.&lt;br /&gt;
*Reed Solomon coding basically use(10,4)  which means 10 data and 4 parity blocks in a stripe, and can thus tolerate losing up to 4 blocks whch means it can tolerate 4 rack failure and use 1.4 expansion factor.Two copies of this would be 2* 1.4= 2.8 effective replication factor.&lt;br /&gt;
*XOR coding use(2,1) across three data center and use 1.5 expansion factor which gives 1.5*1.4= 2.1 effective replication factor&lt;br /&gt;
&lt;br /&gt;
=Sapphire=&lt;br /&gt;
*Represents a building block towards building this global distributed systems. The main critique to it is that it didn’t present a specific use case upon which their design is built upon.&lt;br /&gt;
*Sapphire does not show their scalability boundaries. There is no such distributed system model that can be “one size fits all”, most probably it will break in some large scale distributed application.&lt;br /&gt;
*Reaching this global distributed system that address all the distributed OS use cases will be a cumulative work of many big bodies and building it block by block and then this system will evolve by putting all these different building blocks together. In other words, reaching a global distributed system will come from a “bottom up not top down approach” [Somayaji, 2015].&lt;/div&gt;</summary>
		<author><name>Apoorv</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_12&amp;diff=20098</id>
		<title>DistOS 2015W Session 12</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_12&amp;diff=20098"/>
		<updated>2015-04-04T11:13:17Z</updated>

		<summary type="html">&lt;p&gt;Apoorv: /* Haystack */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Haystack=&lt;br /&gt;
* Facebook&#039;s Photo Application Storage System. &lt;br /&gt;
* Previous Fb photo storage based on NFS design. The reason why NFS dint work is because it gave 3 reads for every photo. The issue here was that they needed 1 read per photo.&lt;br /&gt;
*Main goals of Haystack:&lt;br /&gt;
** High throughput with low latency. It uses one disk operation to provide these.&lt;br /&gt;
**Fault tolerance&lt;br /&gt;
**Cost effective&lt;br /&gt;
**SImple&lt;br /&gt;
*Facebook utilises CDN to serve popular images and further uses haystack to respond to photo requests in the long tail effectively. &lt;br /&gt;
*Haystack reduces the memory used for &#039;&#039;filesystem metadata&#039;&#039; &lt;br /&gt;
*It has 2 types of metadata:&lt;br /&gt;
**&#039;&#039;Application metadata&#039;&#039;&lt;br /&gt;
**&#039;&#039;File System metadata&#039;&#039;&lt;br /&gt;
* The architecture consists of 3 components:&lt;br /&gt;
**Haystack Store&lt;br /&gt;
**Haystack Directory&lt;br /&gt;
**Haystack Cache&lt;br /&gt;
*Pitchfork and bulk sync were used to tolerate faults. the fault tolerance works in a very profound way to make haystack feasible and reliable&lt;br /&gt;
&lt;br /&gt;
=Comet=&lt;br /&gt;
*Introduced the concept of distributed shared memory (DSM). In a DSM, RAMs from multiple servers would appear as if they are all belonging to one server, allowing better scalability for caching.&lt;br /&gt;
*Comet model works by offloading the computation intensive process from the mobile to only one server.&lt;br /&gt;
*The offloading process works by passing the computation intensive process to the server and hold it on the mobile device. Once the process on the server completes, it returns the results and the handle back to the mobile device. In other words, the process does not get physically offloaded to the server but instead it runs on the server and stopped on the mobile device. &lt;br /&gt;
=F4=&lt;br /&gt;
* Warm Blob Storage System.&lt;br /&gt;
** Warm Blob is a immutable data that gets cool very rapidly.&lt;br /&gt;
** F4 reduce the space usage by 3.6 to 2.8 or 2.1 replication factor using Reed Solomon coding and XOR coding respectively but still provides consistency.&lt;br /&gt;
*Reed Solomon coding basically use(10,4)  which means 10 data and 4 parity blocks in a stripe, and can thus tolerate losing up to 4 blocks whch means it can tolerate 4 rack failure and use 1.4 expansion factor.Two copies of this would be 2* 1.4= 2.8 effective replication factor.&lt;br /&gt;
*XOR coding use(2,1) across three data center and use 1.5 expansion factor which gives 1.5*1.4= 2.1 effective replication factor&lt;br /&gt;
&lt;br /&gt;
=Sapphire=&lt;br /&gt;
*Represents a building block towards building this global distributed systems. The main critique to it is that it didn’t present a specific use case upon which their design is built upon.&lt;br /&gt;
*Sapphire does not show their scalability boundaries. There is no such distributed system model that can be “one size fits all”, most probably it will break in some large scale distributed application.&lt;br /&gt;
*Reaching this global distributed system that address all the distributed OS use cases will be a cumulative work of many big bodies and building it block by block and then this system will evolve by putting all these different building blocks together. In other words, reaching a global distributed system will come from a “bottom up not top down approach” [Somayaji, 2015].&lt;/div&gt;</summary>
		<author><name>Apoorv</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_12&amp;diff=20095</id>
		<title>DistOS 2015W Session 12</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_12&amp;diff=20095"/>
		<updated>2015-04-03T04:18:08Z</updated>

		<summary type="html">&lt;p&gt;Apoorv: /* F4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Haystack=&lt;br /&gt;
* Facebook&#039;s Photo Application Storage System. &lt;br /&gt;
* Previous Fb photo storage based on NFS design. The reason why NFS dint work is because it gave 3 reads for every photo. The issue here was that they needed 1 read per photo.&lt;br /&gt;
*Main goals of Haystack:&lt;br /&gt;
** High throughput with low latency&lt;br /&gt;
**Fault tolerance&lt;br /&gt;
**Cost effective&lt;br /&gt;
**SImple&lt;br /&gt;
*Facebook utilises CDN to serve popular images and further uses haystack to respond to photo requests in the long tail effectively. &lt;br /&gt;
*Haystack reduces the memory used for &#039;&#039;filesystem metadata&#039;&#039; &lt;br /&gt;
*It has 2 types of metadata:&lt;br /&gt;
**&#039;&#039;Application metadata&#039;&#039;&lt;br /&gt;
**&#039;&#039;File System metadata&#039;&#039;&lt;br /&gt;
* The architecture consists of 3 components:&lt;br /&gt;
**Haystack Store&lt;br /&gt;
**Haystack Directory&lt;br /&gt;
**Haystack Cache&lt;br /&gt;
&lt;br /&gt;
=Comet=&lt;br /&gt;
*Introduced the concept of distributed shared memory (DSM). In a DSM, RAMs from multiple servers would appear as if they are all belonging to one server, allowing better scalability for caching.&lt;br /&gt;
*Comet model works by offloading the computation intensive process from the mobile to only one server.&lt;br /&gt;
*The offloading process works by passing the computation intensive process to the server and hold it on the mobile device. Once the process on the server completes, it returns the results and the handle back to the mobile device. In other words, the process does not get physically offloaded to the server but instead it runs on the server and stopped on the mobile device. &lt;br /&gt;
=F4=&lt;br /&gt;
* Warm Blob Storage System.&lt;br /&gt;
** Warm Blob is a immutable data that gets cool very rapidly.&lt;br /&gt;
** F4 reduce the space usage by 3.6 to 2.8 or 2.1 replication factor using Reed Solomon coding and XOR coding respectively but still provides consistency.&lt;br /&gt;
*Reed Solomon coding basically use(10,4)  which means 10 data and 4 parity blocks in a stripe, and can thus tolerate losing up to 4 blocks whch means it can tolerate 4 rack failure and use 1.4 expansion factor.Two copies of this would be 2* 1.4= 2.8 effective replication factor.&lt;br /&gt;
*XOR coding use(2,1) across three data center and use 1.5 expansion factor which gives 1.5*1.4= 2.1 effective replication factor&lt;br /&gt;
&lt;br /&gt;
=Sapphire=&lt;br /&gt;
*Represents a building block towards building this global distributed systems. The main critique to it is that it didn’t present a specific use case upon which their design is built upon.&lt;br /&gt;
*Sapphire does not show their scalability boundaries. There is no such distributed system model that can be “one size fits all”, most probably it will break in some large scale distributed application.&lt;br /&gt;
*Reaching this global distributed system that address all the distributed OS use cases will be a cumulative work of many big bodies and building it block by block and then this system will evolve by putting all these different building blocks together. In other words, reaching a global distributed system will come from a “bottom up not top down approach” [Somayaji, 2015].&lt;/div&gt;</summary>
		<author><name>Apoorv</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_12&amp;diff=20094</id>
		<title>DistOS 2015W Session 12</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_12&amp;diff=20094"/>
		<updated>2015-04-03T04:15:27Z</updated>

		<summary type="html">&lt;p&gt;Apoorv: /* F4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Haystack=&lt;br /&gt;
* Facebook&#039;s Photo Application Storage System. &lt;br /&gt;
* Previous Fb photo storage based on NFS design. The reason why NFS dint work is because it gave 3 reads for every photo. The issue here was that they needed 1 read per photo.&lt;br /&gt;
*Main goals of Haystack:&lt;br /&gt;
** High throughput with low latency&lt;br /&gt;
**Fault tolerance&lt;br /&gt;
**Cost effective&lt;br /&gt;
**SImple&lt;br /&gt;
*Facebook utilises CDN to serve popular images and further uses haystack to respond to photo requests in the long tail effectively. &lt;br /&gt;
*Haystack reduces the memory used for &#039;&#039;filesystem metadata&#039;&#039; &lt;br /&gt;
*It has 2 types of metadata:&lt;br /&gt;
**&#039;&#039;Application metadata&#039;&#039;&lt;br /&gt;
**&#039;&#039;File System metadata&#039;&#039;&lt;br /&gt;
* The architecture consists of 3 components:&lt;br /&gt;
**Haystack Store&lt;br /&gt;
**Haystack Directory&lt;br /&gt;
**Haystack Cache&lt;br /&gt;
&lt;br /&gt;
=Comet=&lt;br /&gt;
*Introduced the concept of distributed shared memory (DSM). In a DSM, RAMs from multiple servers would appear as if they are all belonging to one server, allowing better scalability for caching.&lt;br /&gt;
*Comet model works by offloading the computation intensive process from the mobile to only one server.&lt;br /&gt;
*The offloading process works by passing the computation intensive process to the server and hold it on the mobile device. Once the process on the server completes, it returns the results and the handle back to the mobile device. In other words, the process does not get physically offloaded to the server but instead it runs on the server and stopped on the mobile device. &lt;br /&gt;
=F4=&lt;br /&gt;
* Warm Blob Storage System.&lt;br /&gt;
** Warm Blob is a immutable data that gets cool very rapidly.&lt;br /&gt;
** F4 reduce the space usage by 3.6 to 2.8 or 2.1 replication factor using Reed Solomon coding and XOR coding respectively but still provides consistency.&lt;br /&gt;
*Reed Solomon coding basically use(10,4)  which means 10 data and 4 parity blocks in a stripe, and can thus tolerate losing up to 4 blocks before they lose the  stripe and use 1.4 expansion factor.Two copies of this would be 2* 1.4= 2.8 effective replication factor.&lt;br /&gt;
*XOR coding use(2,1) across three data center and use 1.5 expansion factor which gives 1.5*1.4= 2.1 effective replication factor&lt;br /&gt;
&lt;br /&gt;
=Sapphire=&lt;br /&gt;
*Represents a building block towards building this global distributed systems. The main critique to it is that it didn’t present a specific use case upon which their design is built upon.&lt;br /&gt;
*Sapphire does not show their scalability boundaries. There is no such distributed system model that can be “one size fits all”, most probably it will break in some large scale distributed application.&lt;br /&gt;
*Reaching this global distributed system that address all the distributed OS use cases will be a cumulative work of many big bodies and building it block by block and then this system will evolve by putting all these different building blocks together. In other words, reaching a global distributed system will come from a “bottom up not top down approach” [Somayaji, 2015].&lt;/div&gt;</summary>
		<author><name>Apoorv</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_12&amp;diff=20093</id>
		<title>DistOS 2015W Session 12</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_12&amp;diff=20093"/>
		<updated>2015-04-03T04:14:45Z</updated>

		<summary type="html">&lt;p&gt;Apoorv: /* F4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Haystack=&lt;br /&gt;
* Facebook&#039;s Photo Application Storage System. &lt;br /&gt;
* Previous Fb photo storage based on NFS design. The reason why NFS dint work is because it gave 3 reads for every photo. The issue here was that they needed 1 read per photo.&lt;br /&gt;
*Main goals of Haystack:&lt;br /&gt;
** High throughput with low latency&lt;br /&gt;
**Fault tolerance&lt;br /&gt;
**Cost effective&lt;br /&gt;
**SImple&lt;br /&gt;
*Facebook utilises CDN to serve popular images and further uses haystack to respond to photo requests in the long tail effectively. &lt;br /&gt;
*Haystack reduces the memory used for &#039;&#039;filesystem metadata&#039;&#039; &lt;br /&gt;
*It has 2 types of metadata:&lt;br /&gt;
**&#039;&#039;Application metadata&#039;&#039;&lt;br /&gt;
**&#039;&#039;File System metadata&#039;&#039;&lt;br /&gt;
* The architecture consists of 3 components:&lt;br /&gt;
**Haystack Store&lt;br /&gt;
**Haystack Directory&lt;br /&gt;
**Haystack Cache&lt;br /&gt;
&lt;br /&gt;
=Comet=&lt;br /&gt;
*Introduced the concept of distributed shared memory (DSM). In a DSM, RAMs from multiple servers would appear as if they are all belonging to one server, allowing better scalability for caching.&lt;br /&gt;
*Comet model works by offloading the computation intensive process from the mobile to only one server.&lt;br /&gt;
*The offloading process works by passing the computation intensive process to the server and hold it on the mobile device. Once the process on the server completes, it returns the results and the handle back to the mobile device. In other words, the process does not get physically offloaded to the server but instead it runs on the server and stopped on the mobile device. &lt;br /&gt;
=F4=&lt;br /&gt;
* Warm Blob Storage System.&lt;br /&gt;
** Warm Blob is a immutable data that gets cool very rapidly.&lt;br /&gt;
** F4 reduce the space usage by 3.6 to 2.8 or 2.1 replication factor using Reed Solomon coding and XOR coding respectively but still provides consistency.&lt;br /&gt;
*Reed Solomon coding basically use(10,4)  which means 10 data and 4 parity blocks in a stripe, and can thus tolerate losing up to 4 blocks before they lose the entire stripe and use 1.4 expansion factor.Two copies of this would be 2* 1.4= 2.8 effective replication factor.&lt;br /&gt;
*XOR coding use(2,1) across three data center and use 1.5 expansion factor which gives 1.5*1.4= 2.1 effective replication factor&lt;br /&gt;
&lt;br /&gt;
=Sapphire=&lt;br /&gt;
*Represents a building block towards building this global distributed systems. The main critique to it is that it didn’t present a specific use case upon which their design is built upon.&lt;br /&gt;
*Sapphire does not show their scalability boundaries. There is no such distributed system model that can be “one size fits all”, most probably it will break in some large scale distributed application.&lt;br /&gt;
*Reaching this global distributed system that address all the distributed OS use cases will be a cumulative work of many big bodies and building it block by block and then this system will evolve by putting all these different building blocks together. In other words, reaching a global distributed system will come from a “bottom up not top down approach” [Somayaji, 2015].&lt;/div&gt;</summary>
		<author><name>Apoorv</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_12&amp;diff=20092</id>
		<title>DistOS 2015W Session 12</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_12&amp;diff=20092"/>
		<updated>2015-04-03T04:04:11Z</updated>

		<summary type="html">&lt;p&gt;Apoorv: /* F4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Haystack=&lt;br /&gt;
* Facebook&#039;s Photo Application Storage System. &lt;br /&gt;
* Previous Fb photo storage based on NFS design. The reason why NFS dint work is because it gave 3 reads for every photo. The issue here was that they needed 1 read per photo.&lt;br /&gt;
*Main goals of Haystack:&lt;br /&gt;
** High throughput with low latency&lt;br /&gt;
**Fault tolerance&lt;br /&gt;
**Cost effective&lt;br /&gt;
**SImple&lt;br /&gt;
*Facebook utilises CDN to serve popular images and further uses haystack to respond to photo requests in the long tail effectively. &lt;br /&gt;
*Haystack reduces the memory used for &#039;&#039;filesystem metadata&#039;&#039; &lt;br /&gt;
*It has 2 types of metadata:&lt;br /&gt;
**&#039;&#039;Application metadata&#039;&#039;&lt;br /&gt;
**&#039;&#039;File System metadata&#039;&#039;&lt;br /&gt;
* The architecture consists of 3 components:&lt;br /&gt;
**Haystack Store&lt;br /&gt;
**Haystack Directory&lt;br /&gt;
**Haystack Cache&lt;br /&gt;
&lt;br /&gt;
=Comet=&lt;br /&gt;
*Introduced the concept of distributed shared memory (DSM). In a DSM, RAMs from multiple servers would appear as if they are all belonging to one server, allowing better scalability for caching.&lt;br /&gt;
*Comet model works by offloading the computation intensive process from the mobile to only one server.&lt;br /&gt;
*The offloading process works by passing the computation intensive process to the server and hold it on the mobile device. Once the process on the server completes, it returns the results and the handle back to the mobile device. In other words, the process does not get physically offloaded to the server but instead it runs on the server and stopped on the mobile device. &lt;br /&gt;
=F4=&lt;br /&gt;
* Warm Blob Storage System.&lt;br /&gt;
** Warm Blob is a immutable data that gets cool very rapidly.&lt;br /&gt;
** F4 reduce the space usage by 3.6 to 2.8 or 2.1 replication factor using Reed Solomon coding and XOR coding respectively but still provides consistency.&lt;br /&gt;
*Reed Solomon coding basically use(10,4)  which means 10 data and 4 parity blocks in a stripe, and can thus tolerate losing up to 4 blocks before they lose the entire stripe and use 1.4 expansion factor.Two copies of this would give a 2.8 effective replication factor&lt;br /&gt;
&lt;br /&gt;
=Sapphire=&lt;br /&gt;
*Represents a building block towards building this global distributed systems. The main critique to it is that it didn’t present a specific use case upon which their design is built upon.&lt;br /&gt;
*Sapphire does not show their scalability boundaries. There is no such distributed system model that can be “one size fits all”, most probably it will break in some large scale distributed application.&lt;br /&gt;
*Reaching this global distributed system that address all the distributed OS use cases will be a cumulative work of many big bodies and building it block by block and then this system will evolve by putting all these different building blocks together. In other words, reaching a global distributed system will come from a “bottom up not top down approach” [Somayaji, 2015].&lt;/div&gt;</summary>
		<author><name>Apoorv</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_12&amp;diff=20091</id>
		<title>DistOS 2015W Session 12</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_12&amp;diff=20091"/>
		<updated>2015-04-03T03:57:14Z</updated>

		<summary type="html">&lt;p&gt;Apoorv: /* F4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Haystack=&lt;br /&gt;
* Facebook&#039;s Photo Application Storage System. &lt;br /&gt;
* Previous Fb photo storage based on NFS design. The reason why NFS dint work is because it gave 3 reads for every photo. The issue here was that they needed 1 read per photo.&lt;br /&gt;
*Main goals of Haystack:&lt;br /&gt;
** High throughput with low latency&lt;br /&gt;
**Fault tolerance&lt;br /&gt;
**Cost effective&lt;br /&gt;
**SImple&lt;br /&gt;
*Facebook utilises CDN to serve popular images and further uses haystack to respond to photo requests in the long tail effectively. &lt;br /&gt;
*Haystack reduces the memory used for &#039;&#039;filesystem metadata&#039;&#039; &lt;br /&gt;
*It has 2 types of metadata:&lt;br /&gt;
**&#039;&#039;Application metadata&#039;&#039;&lt;br /&gt;
**&#039;&#039;File System metadata&#039;&#039;&lt;br /&gt;
* The architecture consists of 3 components:&lt;br /&gt;
**Haystack Store&lt;br /&gt;
**Haystack Directory&lt;br /&gt;
**Haystack Cache&lt;br /&gt;
&lt;br /&gt;
=Comet=&lt;br /&gt;
*Introduced the concept of distributed shared memory (DSM). In a DSM, RAMs from multiple servers would appear as if they are all belonging to one server, allowing better scalability for caching.&lt;br /&gt;
*Comet model works by offloading the computation intensive process from the mobile to only one server.&lt;br /&gt;
*The offloading process works by passing the computation intensive process to the server and hold it on the mobile device. Once the process on the server completes, it returns the results and the handle back to the mobile device. In other words, the process does not get physically offloaded to the server but instead it runs on the server and stopped on the mobile device. &lt;br /&gt;
=F4=&lt;br /&gt;
* Warm Blob Storage System.&lt;br /&gt;
** Warm Blob is a immutable data that gets cool very rapidly.&lt;br /&gt;
** F4 reduce the space usage by 3.6 to 2.8 or 2.1 replication factor using Reed Solomon coding and XOR coding respectively but still provides consistency.&lt;br /&gt;
*Reed Solomon coding basically use(10,4) that lays blocks on different racks to ensure the failure within single datacenter and use 1.4 expansion factor.Two copies of this would give a 2.8 effective replication factor&lt;br /&gt;
&lt;br /&gt;
=Sapphire=&lt;br /&gt;
*Represents a building block towards building this global distributed systems. The main critique to it is that it didn’t present a specific use case upon which their design is built upon.&lt;br /&gt;
*Sapphire does not show their scalability boundaries. There is no such distributed system model that can be “one size fits all”, most probably it will break in some large scale distributed application.&lt;br /&gt;
*Reaching this global distributed system that address all the distributed OS use cases will be a cumulative work of many big bodies and building it block by block and then this system will evolve by putting all these different building blocks together. In other words, reaching a global distributed system will come from a “bottom up not top down approach” [Somayaji, 2015].&lt;/div&gt;</summary>
		<author><name>Apoorv</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_7&amp;diff=19890</id>
		<title>DistOS 2015W Session 7</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=DistOS_2015W_Session_7&amp;diff=19890"/>
		<updated>2015-02-24T05:07:04Z</updated>

		<summary type="html">&lt;p&gt;Apoorv: /* Ceph */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Ceph =&lt;br /&gt;
* Key advantage is that it is a general purpose distributed file system.  &lt;br /&gt;
* System is composed of three units:&lt;br /&gt;
	*Client,&lt;br /&gt;
	*Cluster of Object Storage device (OSDs): It is basically stores data and metadata and clients communicate directly with it to perform IO operations.&lt;br /&gt;
	*MetaData Server (MDS): It is used to manage the file and directories.Client basically interacts with it to perform metadata operations like open, rename. It manages the capabilities of a client.&lt;br /&gt;
* system has three key features:&lt;br /&gt;
     * decoupled data and metadata: &lt;br /&gt;
     * Dynamic Distributed Metadata Management: It distribute the metadata among multiple metadata servers using dynamic subtree partitioning to increase the performance and avoid metadata access hot spots.&lt;br /&gt;
     * Object based storage: Using cluster of OSDs to form a Reliable Autonomic Distributed Object-Store(RADOS) for ceph failure detection and recovery.   &lt;br /&gt;
&lt;br /&gt;
*CRUSH (Controlled, Replicated, Under Scalable, Hashing) is the hashing algorithm used to calculate the location of object instead of looking for them. The CRUSH paper on Ceph’s website can be downloaded from here http://ceph.com/papers/weil-crush-sc06.pdf.&lt;br /&gt;
* RADOS (Reliable Autonomic Distributed Object-Store) is the object store for Ceph.&lt;br /&gt;
&lt;br /&gt;
= Chubby =&lt;br /&gt;
* Is a consensus algorithm among a set of servers to agree on who is the master that is in charge of the metadata.&lt;br /&gt;
* Can be considered a distributed file system for small size files only “256 KB” with very low scalability “5 servers”.&lt;br /&gt;
* Is defined in the paper as “A lock service used within a loosely-coupled distributed system consisting of moderately large number of small machines connected by a high speed network”.&lt;/div&gt;</summary>
		<author><name>Apoorv</name></author>
	</entry>
</feed>