Coder Social home page Coder Social logo

flashxio / flashx Goto Github PK

View Code? Open in Web Editor NEW
231.0 19.0 53.0 44.26 MB

FlashX is a collection of big data analytics tools that perform data analytics in the form of graphs and matrices.

Home Page: http://flashx.io/

License: Apache License 2.0

CMake 0.25% Perl 0.43% Shell 0.32% C 0.10% C++ 97.93% Makefile 0.84% R 0.10% Python 0.03%
c-plus-plus graph ssd data-analytics matrices

flashx's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flashx's Issues

R crashes when running on an invalid FlashGraphR object

fg <- fg.load.graph("wiki-Vote.adj-v4", index="wiki-Vote.index-v4", graph.name="wiki")
wiki-Vote.adj-v4 doesn't exist
test.directed(fg, ig)
[1] "test directed degree"
Wrong state! Can't get a graph

*** caught segfault ***
address (nil), cause 'memory not mapped'

Increase data locality in graph analysis

we should use some lightweight (linear or near linear) graph clustering algorithm to increase data locality when converting a graph to the FlashGraph format.

Create virtual subgraph

Instead of materializing the subgraph, we can use the original graph and some extra information to define the subgraph, so we don't need to physically copy the data of the subgraph from the original graph and create a new graph to store the data.

remove warning generated by gcc

vertex_index_reader.h:95:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

FlashGraphR crashes when loading a graph that doesn't exist

fg <- fg.load.graph("wiki-Vote.adj-v4", index="wiki-Vote.index-v4", graph.name="wiki")
stat: No such file or directory
R: /home/zhengda/parallel-cache/user-space-cache/flash-graph/in_mem_storage.cpp:292: static in_mem_graph::ptr in_mem_graph::load_graph(const string&): Assertion `size > 0' failed.
Aborted (core dumped)

can't run FlashGraph with many threads on a small graph

flash-graph/test-algs/test_algs flash-graph/conf/run_graph.txt data/wiki.adj-v4 data/wiki.index-v4 wcc

test_algs: ../graph_index.h:174: void fg::graph_local_partition<vertex_type, part_vertex_type>::init() [with vertex_type = {anonymous}::wcc_vertex, part_vertex_type = fg::empty_part_compute_vertex]: Assertion vertex_arr' failed. test_algs: ../graph_index.h:174: void fg::graph_local_partition<vertex_type, part_vertex_type>::init() [with vertex_type = {anonymous}::wcc_vertex, part_vertex_type = fg::empty_part_compute_vertex]: Assertionvertex_arr' failed.

Reduce library dependency

some of the libraries required by FlashGraph aren't critical. Users need to give the option to disable them when compiling FlashGraph

Port FlashX to Mac OS

SAFS

  • implement pthread lock
  • implement pthread barrier.
  • avoid using -fopenmp
  • avoid unnecessary boost functions.
  • don't get thread id and bind threads to CPU cores. They are Linux-specific methods.
  • don't bind I/O threads to CPU cores.
  • disable direct I/O this might be problematic in the future
  • fix type mismatch (size_t and off_t).
  • avoid using Linux specific headers and functions: malloc.h, memalign, allocating huge pages, posix_fadvise, etc

nerstrand

Multi-Threaded Modularity Based Graph Clustering using the Multilevel Paradigm

Make SAFS elastic

SAFS should be elastic, so that when we increase the number of SSDs, we don't need to reformat SAFS and reload data to it.

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.