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 details)

Uploaded Source

Built Distribution

File details

Details for the file fsspec-chfs-0.0.1.tar.gz.

File metadata

  • Download URL: fsspec-chfs-0.0.1.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.10

File hashes

Hashes for fsspec-chfs-0.0.1.tar.gz
Algorithm Hash digest
SHA256 cebef67667f7394be6fa06e95b8b183b5ebf5a83180bbf2156f609bd8e42b9fd
MD5 93f37412285aaaed875f2043b1d81583
BLAKE2b-256 b0219f93ee324e316284a00393b4dfb13121146caabb68b7802c31e228a143b5

See more details on using hashes here.

File details

Details for the file fsspec_chfs-0.0.1-py3-none-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for fsspec_chfs-0.0.1-py3-none-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 40969c05bc841f9fbce534fe695a945daa7d8a07b6d4a26cfed4c0b7514f9196
MD5 91705ae6ff208398cb98d1a80db96fe5
BLAKE2b-256 8c80bc7c41c8f5d4b6b0abe5cedf06f2c3cded509cbb329418bb2d90b84d0685

See more details on using hashes here.

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