Skip to main content

Pythonic file system for CHFS

Project description

fsspec-chfs

fsspec-chfs is a file system interface to CHFS. CHFS is a parallel consistent hashing file system created instantly using node-local storages such as persistent memory and NVMe SSD for high performance computing. This repository includes the integration for Dask.

Requirements

Getting Started

Installation

$ pip install fsspec-chfs

Create file system

You can create CHFS by chfsctl and set CHFS_SERVER environmental variable.

$ eval `chfsctl start`
$ chlist # show started servers

How to use fsspec-chfs

import fsspec

fs = fsspec.filesystem('chfs')

with fs.open('/hello') as f:
	f.write(b'world')

Use in Dask

fsspec-chfs provides CHFSClientDaemon plugin for Dask worker, and it optimizes CHFS initialization/termination in Dask.

client = Client(LocalCluster())
plugin = CHFSClientDaemon()
client.register_worker_plugin(plugin)
def func(path, data):
	fs = fsspec.filesystem("chfs_stub")
	fs.pipe(path, data)
	return 0
future = client.submit(func, "/tmp/foo", b'abcde')
counts = future.result()

Developing

VSCode devcontainer

You can use VSCode devcontainer to develop fsspec-chfs. The setup steps are follows:

  1. Install Docker and Remote-Container extension.
  2. Press Ctrl+Shift+P in VSCode.
  3. select Remote-Container: Open the folder in the Container

Testing

$ eval `chfsctl start` # start the server and set CHFS_SERVER
$ tox

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fsspec-chfs-0.0.1.tar.gz (4.9 kB view hashes)

Uploaded Source

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page