ldhulipala / aspen Goto Github PK
View Code? Open in Web Editor NEWAspen is a Low-Latency Graph Streaming System built using Compressed Purely-Functional Trees
Aspen is a Low-Latency Graph Streaming System built using Compressed Purely-Functional Trees
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
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?
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
Hello,
Compiling Aspen's code is super slow. Is there any way to make it faster?
Thanks in advance.
Best,
Makis
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!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.