Skip to content

Commit

Permalink
tech blog site: aistore.nvidia.com
Browse files Browse the repository at this point in the history
* s/aiatscale.org/aistore.nvidia.com/
* Makefile follow-up

Signed-off-by: Alex Aizman <[email protected]>
  • Loading branch information
alex-aizman committed Aug 5, 2024
1 parent 1a02827 commit f7fa977
Show file tree
Hide file tree
Showing 13 changed files with 41 additions and 42 deletions.
5 changes: 2 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -313,9 +313,8 @@ help:
@printf " $(cyan)%s$(term-reset)\n %s\n\n" \
"make deploy" "Deploy cluster locally" \
"make kill clean" "Stop locally deployed cluster and cleanup all cluster-related data and bucket metadata (but not cluster map)" \
"make kill deploy <<< $$'7\n2\n4\ny\ny\nn\n0\n'" "Shutdown and then (non-interactively) generate local configs and deploy a cluster consisting of 7 targets (4 mountpaths each) and 2 proxies; build 'aisnode' executable with the support for GCP and AWS backends" \
"make restart <<< $$'7\n2\n4\ny\ny\nn\nn\n0\n'" "Restart a cluster of 7 targets (4 mountpaths each) and 2 proxies; utilize previously generated (pre-shutdown) local configurations" \
"make kill clean cli deploy <<< $$'7\n2\n4\ny\ny\nn\n1G\n'" "Shutdown, cleanup, build CLI, and redeploy from scratch; create 4 loopback devices (size = 1G, one loopback per mountpath)" \
"make kill deploy <<< $$'7\n2\n4\ny\ny\n'" "Shutdown and then (non-interactively) generate local configs and deploy a cluster consisting of 7 targets (4 mountpaths each) and 2 proxies; build 'aisnode' executable with GCP and AWS backends" \
"TAGS=\"aws gcp\" make kill deploy <<< $$'7\n2\n'" "Same as above" \
"GORACE='log_path=/tmp/race' make deploy" "Deploy cluster with race detector, write reports to /tmp/race.<PID>" \
"MODE=debug make deploy" "Deploy cluster with 'aisnode' (AIS target and proxy) executable built with debug symbols and debug asserts enabled" \
"BUCKET=tmp make test-short" "Run all short tests" \
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

AIStore (AIS for short) is a built from scratch, lightweight storage stack tailored for AI apps. It's an elastic cluster that can grow and shrink at runtime and can be ad-hoc deployed, with or without Kubernetes, anywhere from a single Linux machine to a bare-metal cluster of any size.

AIS [consistently shows balanced I/O distribution and linear scalability](https://aiatscale.org/blog/2024/02/16/multihome-bench) across arbitrary numbers of clustered nodes. The ability to scale linearly with each added disk was, and remains, one of the main incentives. Much of the initial design was also driven by the ideas to [offload](https://aiatscale.org/blog/2023/06/09/aisio-transforms-with-webdataset-pt-3) custom dataset transformations (often referred to as [ETL](https://aiatscale.org/blog/2021/10/21/ais-etl-1)). And finally, since AIS is a software system that aggregates Linux machines to provide storage for user data, there's the requirement number one: reliability and data protection.
AIS [consistently shows balanced I/O distribution and linear scalability](https://aistore.nvidia.com/blog/2024/02/16/multihome-bench) across arbitrary numbers of clustered nodes. The ability to scale linearly with each added disk was, and remains, one of the main incentives. Much of the initial design was also driven by the ideas to [offload](https://aistore.nvidia.com/blog/2023/06/09/aisio-transforms-with-webdataset-pt-3) custom dataset transformations (often referred to as [ETL](https://aistore.nvidia.com/blog/2021/10/21/ais-etl-1)). And finally, since AIS is a software system that aggregates Linux machines to provide storage for user data, there's the requirement number one: reliability and data protection.

## Features

Expand Down Expand Up @@ -107,9 +107,9 @@ Specifically, [TorchData](https://github.com/pytorch/data) library provides:

to list and, respectively, load data from AIStore.

Further references and usage examples - in our technical blog at https://aiatscale.org/blog:
* [PyTorch: Loading Data from AIStore](https://aiatscale.org/blog/2022/07/12/aisio-pytorch)
* [Python SDK: Getting Started](https://aiatscale.org/blog/2022/07/20/python-sdk)
Further references and usage examples - in our technical blog at https://aistore.nvidia.com/blog:
* [PyTorch: Loading Data from AIStore](https://aistore.nvidia.com/blog/2022/07/12/aisio-pytorch)
* [Python SDK: Getting Started](https://aistore.nvidia.com/blog/2022/07/20/python-sdk)

Since AIS natively supports a number of [remote backends](/docs/providers.md), you can also use (PyTorch + AIS) to iterate over Amazon S3 and Google Cloud buckets, and more.

Expand All @@ -122,7 +122,7 @@ With a little effort, they all could be extracted and used outside.
## Guides and References

- [Getting Started](/docs/getting_started.md)
- [Technical Blog](https://aiatscale.org/blog)
- [Technical Blog](https://aistore.nvidia.com/blog)
- API and SDK
- [Go (language) API](https://github.com/NVIDIA/aistore/tree/main/api)
- [Python SDK](https://github.com/NVIDIA/aistore/tree/main/python/aistore), and also:
Expand Down Expand Up @@ -204,7 +204,7 @@ With a little effort, they all could be extracted and used outside.
- [copy bucket](/docs/cli/bucket.md#copy-bucket)
- [copy multiple objects](/docs/cli/bucket.md#copy-multiple-objects)
- [download remote BLOBs](/docs/cli/blob-downloader.md)
- [promote NFS or SMB share](https://aiatscale.org/blog/2022/03/17/promote), and more
- [promote NFS or SMB share](https://aistore.nvidia.com/blog/2022/03/17/promote), and more
- Assorted Topics
- [Virtual directories](/docs/howto_virt_dirs.md)
- [System files](/docs/sysfiles.md)
Expand Down
2 changes: 1 addition & 1 deletion docs/archive.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ All sharding formats are equally supported across the entire set of AIS APIs. Fo
and including the corresponding pathnames into generated result sets. Clients can run concurrent multi-object (source bucket => destination bucket) transactions to en masse generate new archives from [selected](/docs/batch.md) subsets of files, and more.

APPEND to existing archives is also provided but limited to [TAR only](https://aiatscale.org/blog/2021/08/10/tar-append).
APPEND to existing archives is also provided but limited to [TAR only](https://aistore.nvidia.com/blog/2021/08/10/tar-append).

> Maybe with exception of TAR, none of the listed sharding/archiving formats was ever designed to be append-able - that is, not if we are actually talking about *appending* and not some sort of extract-all-create-new type emulation (that will certainly break the performance in several well-documented ways).
Expand Down
2 changes: 1 addition & 1 deletion docs/bucket.md
Original file line number Diff line number Diff line change
Expand Up @@ -607,7 +607,7 @@ $ ais bucket props set ais://llm-latest backend_bck=gs://llm-augmented-2023-12-0

Caching wise, when you walk `ais://llm-latest` (or any other aistore bucket with a remote backend), aistore will make sure to perform remote (cold) GETs to update itself when and if required, etc.

> In re "cold GET" vs "warm GET" performance, see [AIStore as a Fast Tier Storage](https://aiatscale.org/blog/2023/11/27/aistore-fast-tier) blog.
> In re "cold GET" vs "warm GET" performance, see [AIStore as a Fast Tier Storage](https://aistore.nvidia.com/blog/2023/11/27/aistore-fast-tier) blog.
# Bucket Properties

Expand Down
4 changes: 2 additions & 2 deletions docs/docs.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ redirect_from:
- [Getting started](/docs/getting_started.md)
- [CLI: overview, getting started](/docs/cli.md)
- [CLI: reference guide](https://github.com/NVIDIA/aistore/blob/main/docs/cli.md#cli-reference)
- [Blogs](https://aiatscale.org/blog)
- [Blogs](https://aistore.nvidia.com/blog)
- [Deployment](https://github.com/NVIDIA/aistore/tree/main/deploy)

## Guides and References

- [Getting Started](/docs/getting_started.md)
- [Technical Blog](https://aiatscale.org/blog)
- [Technical Blog](https://aistore.nvidia.com/blog)
- API and SDK
- [Go (language) API](https://github.com/NVIDIA/aistore/tree/main/api)
- [Python SDK](https://github.com/NVIDIA/aistore/tree/main/python/aistore), and also:
Expand Down
6 changes: 3 additions & 3 deletions docs/etl.md
Original file line number Diff line number Diff line change
Expand Up @@ -387,9 +387,9 @@ Below are specifications for a valid `ETL_NAME`:
## References

* For technical blogs with in-depth background and working real-life examples, see:
- [ETL: Introduction](https://aiatscale.org/blog/2021/10/21/ais-etl-1)
- [AIStore SDK & ETL: Transform an image dataset with AIS SDK and load into PyTorch](https://aiatscale.org/blog/2023/04/03/transform-images-with-python-sdk)
- [ETL: Using WebDataset to train on a sharded dataset ](https://aiatscale.org/blog/2021/10/29/ais-etl-3)
- [ETL: Introduction](https://aistore.nvidia.com/blog/2021/10/21/ais-etl-1)
- [AIStore SDK & ETL: Transform an image dataset with AIS SDK and load into PyTorch](https://aistore.nvidia.com/blog/2023/04/03/transform-images-with-python-sdk)
- [ETL: Using WebDataset to train on a sharded dataset ](https://aistore.nvidia.com/blog/2021/10/29/ais-etl-3)
* For step-by-step tutorials, see:
- [Compute the MD5 of the object](/docs/tutorials/etl/compute_md5.md)
* For a quick CLI introduction and reference, see [ETL CLI](/docs/cli/etl.md)
Expand Down
12 changes: 6 additions & 6 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ redirect_from:

AIStore (AIS for short) is a built from scratch, lightweight storage stack tailored for AI apps. It's an elastic cluster that can grow and shrink at runtime and can be ad-hoc deployed, with or without Kubernetes, anywhere from a single Linux machine to a bare-metal cluster of any size.

AIS [consistently shows balanced I/O distribution and linear scalability](https://aiatscale.org/blog/2024/02/16/multihome-bench) across arbitrary numbers of clustered nodes. The ability to scale linearly with each added disk was, and remains, one of the main incentives. Much of the initial design was also driven by the ideas to [offload](https://aiatscale.org/blog/2023/06/09/aisio-transforms-with-webdataset-pt-3) custom dataset transformations (often referred to as [ETL](https://aiatscale.org/blog/2021/10/21/ais-etl-1)). And finally, since AIS is a software system that aggregates Linux machines to provide storage for user data, there's the requirement number one: reliability and data protection.
AIS [consistently shows balanced I/O distribution and linear scalability](https://aistore.nvidia.com/blog/2024/02/16/multihome-bench) across arbitrary numbers of clustered nodes. The ability to scale linearly with each added disk was, and remains, one of the main incentives. Much of the initial design was also driven by the ideas to [offload](https://aistore.nvidia.com/blog/2023/06/09/aisio-transforms-with-webdataset-pt-3) custom dataset transformations (often referred to as [ETL](https://aistore.nvidia.com/blog/2021/10/21/ais-etl-1)). And finally, since AIS is a software system that aggregates Linux machines to provide storage for user data, there's the requirement number one: reliability and data protection.

## Features

Expand Down Expand Up @@ -106,9 +106,9 @@ Specifically, [TorchData](https://github.com/pytorch/data) library provides:

to list and, respectively, load data from AIStore.

Further references and usage examples - in our technical blog at https://aiatscale.org/blog:
* [PyTorch: Loading Data from AIStore](https://aiatscale.org/blog/2022/07/12/aisio-pytorch)
* [Python SDK: Getting Started](https://aiatscale.org/blog/2022/07/20/python-sdk)
Further references and usage examples - in our technical blog at https://aistore.nvidia.com/blog:
* [PyTorch: Loading Data from AIStore](https://aistore.nvidia.com/blog/2022/07/12/aisio-pytorch)
* [Python SDK: Getting Started](https://aistore.nvidia.com/blog/2022/07/20/python-sdk)

Since AIS natively supports a number of [remote backends](/docs/providers.md), you can also use (PyTorch + AIS) to iterate over Amazon S3 and Google Cloud buckets, and more.

Expand All @@ -121,7 +121,7 @@ With a little effort, they all could be extracted and used outside.
## Guides and References

- [Getting Started](/docs/getting_started.md)
- [Technical Blog](https://aiatscale.org/blog)
- [Technical Blog](https://aistore.nvidia.com/blog)
- API and SDK
- [Go (language) API](https://github.com/NVIDIA/aistore/tree/main/api)
- [Python SDK](https://github.com/NVIDIA/aistore/tree/main/python/aistore), and also:
Expand Down Expand Up @@ -203,7 +203,7 @@ With a little effort, they all could be extracted and used outside.
- [copy bucket](/docs/cli/bucket.md#copy-bucket)
- [copy multiple objects](/docs/cli/bucket.md#copy-multiple-objects)
- [download remote BLOBs](/docs/cli/blob-downloader.md)
- [promote NFS or SMB share](https://aiatscale.org/blog/2022/03/17/promote), and more
- [promote NFS or SMB share](https://aistore.nvidia.com/blog/2022/03/17/promote), and more
- Assorted Topics
- [System files](/docs/sysfiles.md)
- [Switching cluster between HTTP and HTTPS](/docs/switch_https.md)
Expand Down
4 changes: 2 additions & 2 deletions docs/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ In this [white paper](https://arxiv.org/abs/2001.01858) we describe AIStore (AIS

See also:

* [blog](https://aiatscale.org/blog)
* [blog](https://aistore.nvidia.com/blog)
* [white paper](https://arxiv.org/abs/2001.01858)
* [at-a-glance poster](https://storagetarget.files.wordpress.com/2019/12/deep-learning-large-scale-phys-poster-1.pdf)

Expand Down Expand Up @@ -169,7 +169,7 @@ Common way to use AIStore include the most fundamental and, often, the very firs

To this end, AIS provides 6 (six) easy ways ranging from the conventional on-demand caching to *promoting* colocated files and directories, and more.

> Related references and examples include this [technical blog](https://aiatscale.org/blog/2021/12/07/cp-files-to-ais) that shows how to copy a file-based dataset in two easy steps.
> Related references and examples include this [technical blog](https://aistore.nvidia.com/blog/2021/12/07/cp-files-to-ais) that shows how to copy a file-based dataset in two easy steps.
1. [Cold GET](#existing-datasets-cold-get)
2. [Prefetch](#existing-datasets-batch-prefetch)
Expand Down
2 changes: 1 addition & 1 deletion docs/python_sdk.md
Original file line number Diff line number Diff line change
Expand Up @@ -1372,7 +1372,7 @@ def promote(path: str,
Promotes a file or folder an AIS target can access to a bucket in AIS storage.
These files can be either on the physical disk of an AIS target itself or on a network file system
the cluster can access.
See more info here: https://aiatscale.org/blog/2022/03/17/promote
See more info here: https://aistore.nvidia.com/blog/2022/03/17/promote

**Arguments**:

Expand Down
2 changes: 1 addition & 1 deletion python/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@ See the README files in each module for usage details:
## References

* [AIStore GitHub](https://github.com/NVIDIA/aistore)
* [Documentation](https://aiatscale.org/docs)
* [Documentation](https://aistore.nvidia.com/docs)
* [AIStore pip package](https://pypi.org/project/aistore/)
* [Videos and demos](https://github.com/NVIDIA/aistore/blob/main/docs/videos.md)
4 changes: 2 additions & 2 deletions python/aistore/botocore_patch/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

# AIS Botocore Patch

As an alternative to the [AIStore Python SDK](https://aiatscale.org/docs/python_sdk.md) for accessing AIStore, you might prefer using other popular object storage client libraries. For example, you can use Amazon's [Boto3](https://github.com/boto/boto3) library, or its underlying [botocore](https://github.com/boto/botocore) library.
As an alternative to the [AIStore Python SDK](https://aistore.nvidia.com/docs/python_sdk.md) for accessing AIStore, you might prefer using other popular object storage client libraries. For example, you can use Amazon's [Boto3](https://github.com/boto/boto3) library, or its underlying [botocore](https://github.com/boto/botocore) library.

This package `aistore.botocore_patch.botocore` exposes an interface to access AIStore as if it were Amazon S3, allowing developers to utilize AIStore object storage without changing their existing S3 client code.

Expand Down Expand Up @@ -41,6 +41,6 @@ Now AIS will accept S3 commands and behave as an S3 client.
## References

* [AIStore GitHub](https://github.com/NVIDIA/aistore)
* [Documentation](https://aiatscale.org/docs)
* [Documentation](https://aistore.nvidia.com/docs)
* [AIStore pip package](https://pypi.org/project/aistore/)
* [Videos and demos](https://github.com/NVIDIA/aistore/blob/main/docs/videos.md)
16 changes: 8 additions & 8 deletions python/aistore/sdk/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

AIS Python SDK provides a (growing) set of client-side APIs to access and utilize AIS clusters, buckets, and objects.

The project is, essentially, a Python port of the [AIS Go APIs](https://aiatscale.org/docs/http-api), with additional objectives that prioritize *utmost convenience for Python developers*.
The project is, essentially, a Python port of the [AIS Go APIs](https://aistore.nvidia.com/docs/http-api), with additional objectives that prioritize *utmost convenience for Python developers*.

Note that only Python 3.x (version 3.6 or later) is currently supported.

Expand Down Expand Up @@ -53,13 +53,13 @@ client = Client("http://localhost:8080")
```

The newly created `client` object can be used to interact with your AIS cluster, buckets, and objects.
See the [examples](https://github.com/NVIDIA/aistore/blob/main/python/examples/sdk) and the [reference docs](https://aiatscale.org/docs/python-sdk) for more details
See the [examples](https://github.com/NVIDIA/aistore/blob/main/python/examples/sdk) and the [reference docs](https://aistore.nvidia.com/docs/python-sdk) for more details

**External Cloud Storage Buckets**

AIS supports a number of different [backend providers](https://aiatscale.org/docs/providers) or, simply, backends.
AIS supports a number of different [backend providers](https://aistore.nvidia.com/docs/providers) or, simply, backends.

> For exact definitions and related capabilities, please see [terminology](https://aiatscale.org//docs/overview#terminology).
> For exact definitions and related capabilities, please see [terminology](https://aistore.nvidia.com//docs/overview#terminology).
Many bucket/object operations support remote cloud buckets (third-party backend-based cloud buckets), including a few of the operations shown above. To interact with remote cloud buckets, you need to *specify the provider* of choice when instantiating your bucket object as follows:

Expand All @@ -83,7 +83,7 @@ client.bucket("my-azure-bucket", provider="azure").object("filename.ext").get()
client.bucket("my-aws-bucket", provider="aws").list_objects()
```

Please note that certain operations do **not** support external cloud storage buckets. Please refer to the [SDK reference documentation](https://aiatscale.org/docs/python_sdk.md) for more information on which bucket/object operations support remote cloud buckets, as well as general information on class and method usage.
Please note that certain operations do **not** support external cloud storage buckets. Please refer to the [SDK reference documentation](https://aistore.nvidia.com/docs/python_sdk.md) for more information on which bucket/object operations support remote cloud buckets, as well as general information on class and method usage.

---
### HTTPS
Expand All @@ -105,7 +105,7 @@ The SDK supports HTTPS connectivity if the AIS cluster is configured to use HTTP

### ETLs

AIStore also supports [ETLs](https://aiatscale.org/docs/etl), short for Extract-Transform-Load. ETLs with AIS are beneficial given that the transformations occur *locally*, which largely contributes to the linear scalability of AIS.
AIStore also supports [ETLs](https://aistore.nvidia.com/docs/etl), short for Extract-Transform-Load. ETLs with AIS are beneficial given that the transformations occur *locally*, which largely contributes to the linear scalability of AIS.

> Note: AIS-ETL requires [Kubernetes](https://kubernetes.io/). For more information on deploying AIStore with Kubernetes (or Minikube), refer [here](https://github.com/NVIDIA/aistore/blob/main/deploy/dev/k8s/README.md).
Expand All @@ -126,12 +126,12 @@ Check out the [provided examples](https://github.com/NVIDIA/aistore/blob/main/py
|[dsort.py](https://github.com/NVIDIA/aistore/blob/main/python/aistore/sdk/dsort.py)|Contains class `Dsort` and all dsort-related operations.|
|[etl.py](https://github.com/NVIDIA/aistore/blob/main/python/aistore/sdk/etl.py)|Contains class `Etl` and all ETL-related operations.|

For more information on SDK usage, refer to the [SDK reference documentation](https://aiatscale.org/docs/python_sdk.md) or see the examples [here](https://github.com/NVIDIA/aistore/blob/main/python/examples/sdk/).
For more information on SDK usage, refer to the [SDK reference documentation](https://aistore.nvidia.com/docs/python_sdk.md) or see the examples [here](https://github.com/NVIDIA/aistore/blob/main/python/examples/sdk/).


## References

* [AIStore GitHub](https://github.com/NVIDIA/aistore)
* [Documentation](https://aiatscale.org/docs)
* [Documentation](https://aistore.nvidia.com/docs)
* [AIStore pip package](https://pypi.org/project/aistore/)
* [Videos and demos](https://github.com/NVIDIA/aistore/blob/main/docs/videos.md)
Loading

0 comments on commit f7fa977

Please sign in to comment.