Giter VIP home page Giter VIP logo

distributed_systems_lab's Issues

Add a decorator to time certain functions for measuring time of certain functions

Multiple functions need the decorator.

graph.spread should probably be measured

  • list how many nodes has been burned per X time units

  • Compute node should measure how many messages are sent, how many messages are received.

  • Head node should keep track of when heartbeats are received, how many nodes are burned per heartbeat.

Make a Head Node Class

Head Node is responsible for

  • Stitching together all graph sampled from compute nodes
  • listening for heartbeats
    • send kill signal to compute nodes to stop burning
  • writing resulting graph to a file

Implement MPI communication in compute node classes

Issue to implement MPI communication in compute node classes

  • Implement a thread to listen for communication from other compute nodes
  • Implement a thread to listen for communication from the HEAD node telling the compute node to stop
  • Implement a function to send the head node heartbeats that communicate how many nodes have been sampled by the compute node
  • Implement function to listen for restart call

Compute Node might not close correctly

When ComputeNode is blocking on send (heartbeat), after the head send a kill request. The head will never accept that send and thus the ComputeNode wont stop by it self.

Fix graph interpretation.

We should read 2 graph files.
a .v file, and a .e file.

Changes to graph interpreter and Graph.add_vertex_and_neighbor

develop upscaling algorithm

To upsacle X2

run downscaling to (0.5) algorithm 4 times
Then stitch together all (0.5) samples.

head node sends a restart command when downscaling iteration is done (i.e 0.5 nodes collected)

Implement functionality to run simulations locally

  • manage difference in environment variables. (i.e "LOCAL" variable)
  • Create all the compute node classes for each simulated node.
  • run the node instance in it's own thread
  • handle communication between compute nodes with MPI??

OSError: [Errno 122] Disk quota exceeded

Current data storage structure:

data/
|
| ---- kgs/
|        |
|        | ---- kgs-2-partitions/
|        |        |
|        |        | ---- node1.e
|        |        |
|        |        | ---- node1.p
|        |        |
|        |        | ---- node2.p 
|        |        |
|        |        | ---- node2.e
...
...
|        | ---- kgs-16-partitions/
|        |        |
|        |        | ---- node1.e
|        |        |
|        |        | ---- node1.p
...
...

|        |        | ---- node16.p 
|        |        |        
|        |        | ---- node16.e 

Update:
Memory is still a problem especially when doing partitioning on a large graph (like S scale in LDBC datasets)

Halted forest fire script vs wild fire script

Compute nodes are responsible for sending messages to other compute nodes

In a halted forest fire there are two ideas that need be implemented.

  1. Don't pass messaged
  2. Read from assigned partition files. <- might be it's own task
  3. Run algorithm on assigned graph
  4. Parse scale up call vs scale down call, what the percentage of the scale up/down call is.

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.