Git Product home page Git Product logo

basic-google-file-system's Introduction

Implementing basic GFS in distalgo

https://sites.google.com/a/stonybrook.edu/sbcs535/projects/gfs-distalgo

Instructions to run the code:

It is recommeneded that the user should delete the directory ‘/tmp/gfs/chunks’ so that the files that were left from previous run gets removed.

To run main process: python3 -m da main.da

Main.da file was used for testing during our local development. It contains the message formats for the different operations that we support and a complete end to end flow with different operations.

To run Correctness Testing: python3 -m da test.da (testCases are numbered from 0-16) Example: python3 -m da test.da 4

TestCase Number mapping with TestCase (Negative test case means failure of operation and positive test case means operation working as expected)

0 = Create - Negative Test Case 1 = Write - Negative Test Case 2 = Delete - Negative Test Case 3 = Read - Negative Test Case 4 = RecordAppend - Negative Test Case 5 = Snapshot - Negative Test Case 6 = Create - Positive Test Case 7 = Write - Positive Test Case 8 = Delete - Positive Test Case 9 = Read - Positive Test Case 10 = RecordAppend - Positive Test Case 11 = Snapshot - Positive Test Case 12 = End-To-End Testing (Create, Write, RecordAppend, RecordAppend, Snapshot, Snapshot, Read, Delete) 13 = End-To-End Testing - Multiple Reads (Create, Create, Write, Snapshot, Read, Read, Read, Read) 14 = End -To-End Testing (Create, Create, Write, RecordAppend, Snapshot, Read, Read, Delete) 15 = Consistency Testing -(Multiple Record Appends,Snapshot) 16 = Availability Testing - (Reading file before and after killing one of the chunkserver)

To run Performance Testing: python3 -m da PerformanceTesting.da

TestCase Number mapping with TestCase

1 = This test case will create the user entered number of clients, create a single file, write a 670 character string to it and will try to read the same file from each of the created clients (N concurrent reads) 2 = This test case will create the user entered number of clients, create user entered number of files, and try to write the 679 character string into each of the created file using each of the client created (N concurrent writes) 3 = This test case will create the user entered number of clients, create a single file, and append 670 character string into the same file from the user entered number of clients (N concurrent Record Appends)

Example: python3 -m da PerformanceTesting.da 500 2 → Running this command will run 500 concurrent Writes from 500 clients

Currently the chunkSize is 10. For running the performance test we recommend that for large clients we should increase the chunkSize. We need to set the same value of chunkSize in master.da and client.da

basic-google-file-system's People

Contributors

cmkane01 avatar risabhbaheti avatar shashankrao9792 avatar swethasrikavuri avatar yanhongliu avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.