GithubHelp home page GithubHelp logo

ldhulipala / aspen Goto Github PK

View Code? Open in Web Editor NEW
78.0 78.0 17.0 212 KB

Aspen is a Low-Latency Graph Streaming System built using Compressed Purely-Functional Trees

C++ 96.63% Makefile 0.59% C 0.95% Shell 1.83%

aspen's People

Contributors

ldhulipala avatar

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

Watchers

 avatar  avatar  avatar  avatar  avatar

aspen's Issues

question about flat_snapshot

Hi Laxman, I have a question about flat_snapshot. It seems that the readme shows an API ```create_flat_snapshot() -> flat_snapshot


is this line corresponded to the flat operation?
  pbbs::sequence<edge_struct> fetch_all_vertices() {
https://github.com/ldhulipala/aspen/blob/master/code/graph/traversible_graph.h#L340

Confusion about updates in a graph algorithm

Hi, I got confused about multi-version updates,
Let's say if we do a BFS with a static graph Graph_original,
and later it changed with a few additions and deletions to be Graph_updated,
in that case, in the aspen system, do we have to do two times BFS to Gaph_original and Graph_updated separately or we can do some modification based on an original graph?
Also, did the system supports algorithm like PageRank in a dynamic situation?

Status of the 2nd version of Aspen

Hi Laxman,

I hope you are well and that you caught the deadlines you had :)

I am wondering whether there is any progress on updating Aspen and fixing the bug with the VERTEXLONGs and the compression. Any news?

Furthermore, as I wrote in the thread of Issue 3 (#3), it would be awesome if you could incorporate bigInts, namely 128bit and 256bit integers in Aspen's new version. Please check my former reply (#3 (comment)) at your earliest convenience. Could you do it? Or at least later at a version 3 of Aspen?

Sorry for repeating myself a bit, but you resolved an unresolved issue and I am not sure if GitHub informed you about my former reply message.

Thanks a lot in advance. I am waiting for your reply.

Best,
Makis

Cannot correctly compress unsigned 64 bit integers

Hello @ldhulipala,

I am trying to insert the following sequence of elements into a C-Tree (source node 190):

0     2292492
1     5900230
2     7081380
3     9443342
4     45252689
5     55309280
6     72199199
7     167185196
8     173106711
9     190827105
10   274996453
11   279926447
12   282677159
13   397165590
14   484836423
15   636048859
16   681366938
17   752569505
18   777406108
19   794845798
20   835441400
21   948701687
22   971568942
23   1004827021
24   1014104131
25   1092434791
26   1099453513
27   1187698529
28   1252806354
29   1274847185
30   1316093405
31   1350415586
32   1448563966
33   1578075731
34   1657955540
35   1769296280
36   1854422159
37   1973136809
38   2013407205
39   2151104521
40   2153145709
41   2226707853
42   2331731050
43   2376952936
44   2395319823
45   2484324838
46   2515122883
47   2746598551
48   2800314886
49   2822266596
50   2830984936
51   2836947498
52   3110181467
53   3140257526
54   3213983282
55   3312923470
56   3402622332
57   3474041940
58   3516016149
59   3577954138
60   3609606505
61   3648402113
62   4093824822
63   4212399599
64   4240353940

In general, I need 64 bit integers to store my numbers. I enabled the VERTEXLONG flag, thus turning uintV into unsigned long integers. However, when I print the content of a C-Tree (for source 190) I get the following:

0 2292492
1 5900230
2 7081380
3 9443342
4 45252689
5 55309280
6 72199199
7 167185196
8 173106711
9 190827105
10 274996453
11 279926447
12 282677159
13 397165590
14 484836423
15 636048859
16 681366938
17 752569505
18 777406108
19 794845798
20 835441400
21 948701687
22 971568942
23 1004827021
24 1014104131
25 1092434791
26 1099453513
27 1187698529
28 1252806354
29 1274847185
30 1316093405
31 1350415586
32 1448563966
33 1578075731
34 1657955540
35 1769296280
36 1854422159
37 1973136809
38 2013407205
39 18446744071565688841
40 18446744071567730029
41 18446744071641292173
42 18446744071746315370
43 18446744071791537256
44 18446744071809904143
45 18446744071898909158
46 18446744071929707203
47 18446744072161182871
48 18446744072214899206
49 18446744072236850916
50 18446744072245569256
51 18446744072251531818
52 18446744072524765787
53 18446744072554841846
54 18446744072628567602
55 18446744072727507790
56 18446744072817206652
57 18446744072888626260
58 18446744072930600469
59 18446744072992538458
60 18446744073024190825
61 18446744073062986433
62 18446744073508409142
63 18446744073626983919
64 18446744073654938260

After diving deeper into the code I noticed that first 38 elements are stored in a plus of a tree while other elements are stored in only head of this tree and its corresponding list. For picking heads I am using 255 mask, meaning that all lists should have approx. 256 elements. As far as I can see, compression fails in this case for some reason, and the value is wrongly decoded.
Could you please point me to changes that I need to introduce in order to properly compress unsigned 64 bit numbers? Thanks in advance!

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.