<commit_before>FlashGraph is a SSD-based semi-external memory graph processing engine.
It stores vertex state in memory and the edge lists of vertices on SSDs.
It exposes a vertex-centric programming interface for users to express
graph algorithms and FlashGraph executes the user graph applications
in parallel and fetch data from SSDs. Its goal is to perform graph algorithms
on SSDs without much performance loss compared with in-memory graph engines.
The current implementation is tightly integrated with SAFS to take advantage
of the high I/O throughput of an SSD array.

SAFSlib is an open-source library that implements the design described
in the paper "Toward Millions of File System IOPS on Low-Cost, Commodity Hardware".
The goal of the library is to provide a filesystem-like interface
in the userspace for accessing SSD arrays. It is designed to eliminate overhead
in the block stack, without modifying the kernel. It can achieve optimal performance
of a large SSD array in a NUMA machine.

The user manual of SAFSlib can be found [here](https://docs.google.com/document/d/1OpsuLZw60MGCZAg4xO-j-1_AEWm3Yc2nqKKu8kXotkA/edit?usp=sharing).

The user manual of FlashGraph can be found [here](https://github.com/icoming/FlashGraph/wiki/User-manual-of-FlashGraph).
<commit_msg>[Bug]: Typo, links and grammar fixes<commit_after>FlashGraph
===========

FlashGraph is an [SSD](http://en.wikipedia.org/wiki/Solid-state_drive)-based semi-external
memory graph processing engine.
It stores vertex state in memory and the edge lists of vertices on SSDs.
It exposes a vertex-centric programming interface for users to express
graph algorithms and `FlashGraph` executes the user graph applications
in parallel and fetches data from SSDs. Its goal is to perform graph algorithms
on SSDs without much performance loss when compared to in-memory graph engines.
The current implementation is tightly integrated with `SAFS` (Set Associative File System)
to take advantage of the high I/O throughput of an SSD array.

SAFSlib
========

`SAFSlib` is an open-source library that implements the design described
in the paper "Toward Millions of File System IOPS on Low-Cost, Commodity Hardware".
The goal of the library is to provide a filesystem-like interface
in the userspace for accessing SSD arrays. It is designed to eliminate overhead
in the block stack, without modifying the kernel. It can achieve the optimal performance
of a large SSD array in a [NUMA](http://en.wikipedia.org/wiki/Non-uniform_memory_access) machine.

The SAFSlib user manual can be found [here](https://docs.google.com/document/d/1OpsuLZw60MGCZAg4xO-j-1_AEWm3Yc2nqKKu8kXotkA/edit?usp=sharing).

The FlashGraph user manual can be found [here](https://github.com/icoming/FlashGraph/wiki/User-manual-of-FlashGraph).

{'fraction_non_alphanumeric': 0.061488673139158574, 'fraction_numerical': 0.005753326141675656, 'mean_word_length': 5.021645021645021, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1708336', 'n_tokens_mistral': 789, 'n_tokens_neox': 735, 'n_words': 359}