Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Параллельность движка Firebird / 8 сообщений из 8, страница 1 из 1
10.01.2021, 18:33
    #40034701
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параллельность движка Firebird
Насколько я в курсе, вызовы API сериализуются в пределах коннекта на уровне Y-valve. А что
если исключить из картины Y-valve и работать непосредственно с плагином движка? Насколько
в этом случае можно распараллелиться без особой опасности для жизни и здоровья?

Два запроса в одной транзакции точно устроят гонки за объектами транзакции (сейфпоинтами и
т.п.), а как насчёт разных транзакций в разных потоках?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
10.01.2021, 18:49
    #40034702
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параллельность движка Firebird
Dimitry Sibiryakov,

а что ты такое пытаешься сделать? Shared snapshot из 4.0 не хватает?
...
Рейтинг: 0 / 0
10.01.2021, 19:08
    #40034706
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параллельность движка Firebird
Симонов Дениса что ты такое пытаешься сделать?

В качестве гимнастики для ума я пытаюсь выдумать асинхронное API и/или сетевой протокол.

Сейчас оно работает с полным квитированием, то бишь, например: старт транзакции-ожидание
подтверждения от сервера-препарирование
запроса-ожидание-выполнение-ожидание-фетч-ожидание. Если исключить хотя бы половину этих
ожиданий, то есть старт-препарирование-ожидание-выполнение-фетч-ожидание, то на сетях с
высокой латентностью можно было бы ускориться раза в два. Часть ожиданий уже убрали в
двойке, но их ещё осталось достаточно.

И вот тут встаёт вопрос очерёдности обработки пакетов. Две простейшие идеи приходящие в
голову:
1) Одна очередь, Х потоков выбирают задания и выполняют их.
2) Х очередей по одной на поток и используемая очередь фиксируется на коннект/транзакцию.

В первом случае проблема очевидна: препарирование может обогнать старт транзакции и
обломиться.
Во-втором случае есть риск, что два тяжёлых коннекта встанут в одну очередь пока остальные
будут бездельничать. Если бы было возможно привязывать к потоку не коннект, а хотя бы
транзакцию - риск уменьшается.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
10.01.2021, 19:54
    #40034719
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параллельность движка Firebird
DS> А что если исключить из картины Y-valve и работать
DS> непосредственно с плагином движка? Насколько в этом
DS> случае можно распараллелиться без особой опасности ?

Почему бы не спросить это в девеле?
Тут тебе что-то ответить на этот счёт
могут два с половиной человека, да и
то без особого желания...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
10.01.2021, 20:05
    #40034723
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параллельность движка Firebird
Гаджимурадов РустамПочему бы не спросить это в девеле?

Во-первых, с некоторых пор меня напрягает английский.
Во-вторых, там те же самые два с половиной человека с тем же самым желанием.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
10.01.2021, 20:16
    #40034727
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параллельность движка Firebird
Там 4.5 - ещё Саша и Кальтенбруннер, кроме местных 2,5. :)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
10.01.2021, 20:48
    #40034731
dimitr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параллельность движка Firebird
Dimitry Sibiryakov

Насколько я в курсе, вызовы API сериализуются в пределах коннекта на уровне Y-valve. А что
если исключить из картины Y-valve и работать непосредственно с плагином движка? Насколько
в этом случае можно распараллелиться без особой опасности для жизни и здоровья?

там тоже мьютекс на аттач
...
Рейтинг: 0 / 0
10.01.2021, 21:36
    #40034735
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параллельность движка Firebird
Dimitry Sibiryakov
Насколько я в курсе, вызовы API сериализуются в пределах коннекта на уровне Y-valve
Ты не в курсе.

Dimitry Sibiryakov
как насчёт разных транзакций в разных потоках?
Забудь.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Параллельность движка Firebird / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]