Open Source & Linux Lab

It's better when it's simple

User Tools

Site Tools


projects:libcds:timestamp_structures

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
projects:libcds:timestamp_structures [2016/04/01 13:49] kelprojects:libcds:timestamp_structures [2016/04/01 18:19] – [Вопросы] khizmax
Line 11: Line 11:
  
   - Стоит ли реализовавывать контейнер на RCU вместо HP?   - Стоит ли реализовавывать контейнер на RCU вместо HP?
 +      - //[khizmax] Хорошо бы иметь обе - для RCU и для HP. Это две совершенно разные техники, требуют двух разных специализаций. Для RCU писать проще, но там могут возникнуть сложности с физическим удалением - внутри критической секции RCU вызывать retire_ptr (удаление элемента) нельзя, будет deadlock //
   - Избавление от зависимости количества HP заданных в системе. Сравнение производительности c HP реализацией.   - Избавление от зависимости количества HP заданных в системе. Сравнение производительности c HP реализацией.
 +      - //[khizmax] Вот тут я не понял. Избавление от кол-ва HP - это переписать HP. Задача интересная, хватит ли времени?//
   - Стоит ли включать в текущую систему тестирования libcds, или использовать Google Tests/аналоги.   - Стоит ли включать в текущую систему тестирования libcds, или использовать Google Tests/аналоги.
 +      - //[khizmax] Использовать Google Test. В dev-ветке unit-тесты уже на 80% переведены на gtest (попутно найдено немало ошибок), создана инфраструктура для stress (многопоточных) тестов, stress-тесты для очереди и стека переведены на gtest//
   - Как правильно производить тестирование дека? Какую статистику было бы полезно собирать? Проваленные операции извлечения, количество извлечений, количество добавлений?   - Как правильно производить тестирование дека? Какую статистику было бы полезно собирать? Проваленные операции извлечения, количество извлечений, количество добавлений?
 +      - //[khizmax] Тестировать как очередь (2 реализации - лево- и правосторонняя) и как стек (тоже 2 реализации).//
 +      - //[khizmax] Кол-во извлечений/добавлений слева/справа + кол-во интересных случаев, например, сколько раз не удалось добавить с первого раза (contention на CAS). Вообще это видно по алгоритму, когда его напишешь и начинаешь отлаживать//
   - Имеет ли смысл попробовать использовать тестирование алгоритма через {{http://dspace.mit.edu/bitstream/handle/1721.1/92058/895662651-MIT.pdf|CB-DPOR}}?   - Имеет ли смысл попробовать использовать тестирование алгоритма через {{http://dspace.mit.edu/bitstream/handle/1721.1/92058/895662651-MIT.pdf|CB-DPOR}}?
 +      - //[khizmax] Безусловно имеет. Тут я не могу что-либо порекомендовать, так как не использовал его. Но если получиться как-то это прикрутить - здорово. Также обратить внимание на threadSanitizer - он уже есть из коробки (gcc, clang), использовать его просто (компиляция со спец. ключами), потом ломать голову над тем, что он нашел//
projects/libcds/timestamp_structures.txt · Last modified: 2016/05/22 10:44 by kel