PmemStore
PmemStore — это ответвление проекта Intel pmemkv, представляющего собой локальное/встроенное хранилище данных «ключ-значение», оптимизированное для постоянной памяти.
В дополнение к исходному pmemkv в PmemStore добавлен ещё один механизм хранения под названием PSKIPLIST, чтобы он больше подходил для поддержки рабочих нагрузок по разработке и извлечению функций в приложениях искусственного интеллекта. Постоянный skiplist впервые представлен в нашей статье VLDB'21 («Оптимизация механизма базы данных в памяти для онлайн-дополнения решений с использованием искусственного интеллекта на основе постоянной памяти». Чен Чен, Цзюнь Ян, Мянь Лу, Тайцзе Ван, Чжао Чжэн, Юйцян Чен, Вэньюань Дай, Биншэн Хэ, Вен-Фай Вонг, Гоань У, Юпинг Чжао, Энди Рудофф). Пожалуйста, ознакомьтесь с документом для получения более подробной информации.
Использовать PmemStore можно аналогично использованию pmemkv (дополнительную информацию см. в README-pmemkv.md).
Содержание
Зависимость подмодуля
pskiplist — это подмодуль в PmemStore. Это постоянное и параллельное хранилище, основанное на skiplist, реализованном с помощью Persistent Compare and Swap (PCAS). Мы поддерживаем его в отдельном репозитории, потому что такая низкоуровневая реализация структуры данных может быть повторно использована и интегрирована с другими системами. Дополнительную информацию смотрите в репозитории.
Сборка из исходных кодов
git clone https://github.com/4paradigm/pmemstore
cd pmemstore
mkdir ./build
cd ./build
cmake .. -DBUILD_EXAMPLES=OFF -DENGINE_VCMAP=OFF -DENGINE_VSMAP=OFF -DENGINE_PSKIPLIST=ON -DCMAKE_BUILD_TYPE=Debug # run CMake, prepare Debug version
make -j$(nproc) # build everything
Запустите тесты
Измените tests/engines/pskiplist/default.cmake
, чтобы указать свой собственный путь монтирования pmem (по умолчанию: /mnt/pmem0), затем запустите:
ctest --output-on-failure -R pskiplist
Будет добавлено больше тестовых случаев.
Сообщество
PmemStore разработан MemArk (https://memark.io/), техническим сообществом, которое фокусируется на расширении возможностей эволюции современной архитектуры памяти и оптимизации её применения. MemArk возглавляет 4Paradigm (https://www.4paradigm.com/) и другие спонсоры (например, Intel). Используя PmemStore, вы можете присоединиться к нашему интерактивному каналу для обсуждений в Slack: #pskiplist (https://join.slack.com/t/memarkworkspace/shared_invite/zt-o1wa5wqt-euKxFgyrUUrQCqJ4rE0oPw).
Обсуждение разработки: если вы хотите сообщить об ошибке, пожалуйста, используйте GitHub Issues; если вы хотите предложить новую функцию или начать запрос на вытягивание (pull request), пожалуйста, используйте обсуждения GitHub, и наши разработчики ответят вам оперативно.
Форум (на китайском): https://discuss.memark.io/.
Вы также можете связаться с авторами напрямую для получения обратной связи: — ЯН Джун: yangjun@4paradigm.com; — ЛУ Мянь: lumian@4paradigm.com; — ЧЖАН Хао: zhanghao@4apradigm.com; — ЧЭНЬ Чэн: chencheng@4apradigm.com.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )