powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Параллельность движка Firebird
8 сообщений из 8, страница 1 из 1
Параллельность движка Firebird
    #40034701
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я в курсе, вызовы API сериализуются в пределах коннекта на уровне Y-valve. А что
если исключить из картины Y-valve и работать непосредственно с плагином движка? Насколько
в этом случае можно распараллелиться без особой опасности для жизни и здоровья?

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

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

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

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

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

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

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

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

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

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

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


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