Typhoon

Team Members: Hakim Weatherspoon_______________________________________________
Shelley Zhuang___________________________________________________
Matthew Delco________________________________________________
Professor Name: Brewer and Kubi__________________________________________________
Course: CS 262 and CS 252_______________________________________________________
Course Title: Advance Topics in Systems and Advanced Topics in Computer Architecture______
Term: Fall 1999________________________________________________________________
Project Title: Typhoon: An OceanStore - Replication Mechanism for High Availability and Automatic Disaster Recovery using Tornado Codes_____________________________________________________
Current
Date: October 1, 1999______________________________________________________.
- Goal: Create a Replication Mechanism for High Availability and Automatic Disaster Recovery of data using Tornado Codes
Our project goal is
to design and create a simple data storage mechanism (support for a file
system) that uses a combination of multiple servers and erasure codes
(specifically tornado codes) to provide a high level of availability such that
nearly half of the constituents of the system could fail without affecting the
overall accessibility of data. This system would use a similar amount of
aggregate disk space as a mirrored file system, so a definite aspect of the
project would be to compare and contrast the performance and features of these
types of systems. In order to make the
analysis more complete, a comparison to a RAID data storage mechanism (support
for a file system) could also be performed. In addition, a comparison would be
made between scalar processor implementation vs. a vector processor
implementation.
- A “file” is a
generic term for what the Replication Mechanism manipulates.
- Basic Interface
calls are Read and Write file.
- Ocean store is
divides into a series of “pools”. Where a pool can be a single node, an SMP,
or a cluster.
- A pool is a unit
of operation the Naming and Location mechanism, Replication mechanism, and
Introspective mechanism.
- And the above
mention components reside on a high bandwidth connection to the Network.
- At least one
Naming and Location mechanism resides in a pool, and one Replication mechanism
resides in a pool.
- A pool in which a
file resides, has the entire files “data set”.
Where a “data set” is the encoded file using Tornado codes. (i.e. “data
set” of a “file” is encoded into 2n pieces for a file of n
partitions.
- Another system or
mechanism is responsible for copying of data to other pools (replication the
data in other pools).
- Exact copies of a
“data set” of a “file” can reside in more than “pool”.
- Most of the time
the Naming and Location Mechanism will tell us to write to the local pool.
Hypothesis:
Project
Requirements:
- Understand Erasure Codes (Tornado codes).
- Understand Digital Fountain.
- Measure time to encode and distribute file.
- Measure time retrieve and decode(reconstruct) file.
-.

A. READ
Suppose a user request file X, then:
1) User request file from closest oceanstore component.
2) Naming and Location Mechanism gives back
a) Closest pool which file resides (location).
b) Means to identify file (name).
3) Contact server in pool l and ask for file. Where pool l is the a) above the file is b)
(i.e. ask for file “foobar65” in pool 86).
a) If file not in pool l, then tell “oceanstore component that file does not exist in pool l.
b) Then go back to step to and repeat until find file
(i.e Oceansotre component” will make another request to the Naming and Location Mechanism)
4) Assuming pool l has the specified file (i.e. “data set” of the file), then Replication Mechanism gets back “data set” and reassemble file (decode).
5) send to cache server.
6) send to user.
B. WRITE
Suppose user writes file X, then:
Summary) First, dump/flush file X to local pool, then encode and distribute file X. PERIOD.
-or- below is what closest “oceanstore component” does:
1) Cache server “wants” to flush file.
(i.e. file X is closed -or- 30 second dirty data time limit -or- Seismic Earthquake warning).
2) Ask Naming and Location Mechanism to “give us a name” AND what pool (location) to place file.
3) Assuming cache server and pool server are separate, then send file in its entirety to pool server.
4) Then server in pool will encode and distribute file in the local pool with the specified name.
Expected
Outcomes/Critical Success Indicators to measure success:
Indicators used to evaluate the internship/performance review will be completion of milestones as the summer and projects progess. Listed below
|
Key milestone |
Expected completion |
|
1.
Form team. Define
project. Finish Project
Proposal. Define member roles. |
Week
0 |
|
2.
|
Week
1 |
|
3.
|
Week
2 |
|
4.
|
Week
3 |
|
5.
|
Week
4 |
|
6.
|
Week
5 |
|
7.
|
Week
6 |
|
8.
|
Week
6 |
Member Signature: Date:
_______________________________________________ ______________________
Member Signature: Date:
_______________________________________________ ______________________
Member Signature: Date:
_______________________________________________ ______________________