1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/opendilab-DI-store

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Введение

Decision AI Store

Установка

Необходимые условия
  • Linux или macOS

  • Python >= 3.6

pip install .

Быстрый старт

Запуск сервера Etcd
di_store etcd_server ./conf/di_store.yaml
Запуск трекера узлов
di_store node_tracker ./conf/di_store.yaml
Запуск сервера хранения данных
di_store storage_server ./conf/di_store.yaml
Запуск клиента хранения данных
from di_store import Client
client = Client('./conf/di_store.yaml')
ref = client.put(b'Hello world.')
data = client.get(ref)
print('data:', data)
client.delete(ref)

Предварительная выборка объектов

запустите сервер хранения данных с параметром group

di_store storage_server ./conf/di_store.yaml --group actor

укажите prefetch_group, когда помещаете объект

from di_store import Client
ref = client.put(b'Hello world.', prefetch_group='actor')

Когда объект помещается с указанным параметром prefetch_group, запускается фоновый процесс для распространения объекта на все узлы, соответствующие группе. Следующая диаграмма иллюстрирует распространение данных.

prefetch

Структура каталогов

├── di_store: коды на Python
│     ├── bin: исполняемые файлы, необходимые для команд "etcd_server", "node_tracker" и "storage_server"
│     ├── cmd: драйвер для команды "di_store"
│     ├── common: утилиты для общего использования
│     ├── driver
│     │     └── etcd_server_driver.py: драйвер etcd_server
│     ├── node_tracker
│     │     └── node_tracker_client.py: клиент node_tracker
│     ├── storage
│     │     └── storage_client.py: клиент хранилища
│     └── tracing
│           └── tracing.py: утилиты для трассировки
└── go: коды на Golang
      ├── fb: сгенерировано компилятором FlatBuffers
      ├── metadata: операции клиента etcd
      ├── node_tracker
      │     ├── fetch.go: реализация выборки node_tracker
      │     ├── main
      │     │     └── node_tracker.go: основная точка входа для node_tracker
      │     ├── node_tracker.go
      │     └── node_tracker_client.go
      ├── pb: сгенерирован ProtoBuffers
      ├── plasma_client: коды Golang, которые оборачивают libplasma
      ├── plasma_server: коды Golang, которые оборачивают исполняемый файл plasma-store-server
      ├── protos: файлы .proto и .fbs
      ├── release: выходные данные команды "go build", исполняемые файлы node_tracker и storage_server
      ├── storage_server
      │     ├── fetch.go: реализация выборки storage_server
      │     ├── main
      │     │     └── storage_server.go: основная точка входа для storage_server
      │     └── storage_server.go
      ├── tracing: утилиты для отслеживания
      └── util

Лицензия

DI-store выпущен под лицензией Apache 2.0.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

OpenDILab — распределённое объектное хранилище для систем с усиленным обучением. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/opendilab-DI-store.git
git@api.gitlife.ru:oschina-mirror/opendilab-DI-store.git
oschina-mirror
opendilab-DI-store
opendilab-DI-store
main