Pharo и многонитевый FFI

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
41 messages Options
123
Reply | Threaded
Open this post in threaded view
|

Re: Pharo и многонитевый FFI

Igor Stasenko
2012/2/22 Denis Kudriashov <[hidden email]>:

> 22 февраля 2012 г. 13:57 пользователь Victor Metelitsa <[hidden email]>
> написал:
>
>> Почитайте, к примеру, книги Тома Кайта, про Oracle. Да, компиляция одного
>> SQL-выражения кажется совершенно безобидной. Подумаешь, малые доли секунды.
>> Но когда это идёт потоком от многих пользователей, последствия ужасны (не
>> преувеличиваю). Кайт это даже на простейших примерах демонстрирует. Одна из
>> важнейших проблем - эта операция не параллелится на сервере Oracle. Т.е.,
>> когда один юзер компилирует SQL-выражение (hard parsing), другие не могут,
>> хоть там 128 ядер. Но дела даже хуже, когда поток hard parsing идёт от всего
>> двух юзеров, производительность с точки зрения одного падает куда более, чем
>> вдвое, чем когда работает один. Для ораклистов это вообще общее место. Для
>> DB2 дела обстоят несколько менее ужасно, но всё равно prepare рекомендуется
>> (если не вспоминать о Static SQL).
>>
>> Разумеется, здесь речь идёт о потоке быстровыполняющихся запросов,
>> отличающихся параметрами (то, что характеризует вебсервер). Для небольшого
>> количества очень медленно выполняющихся запросов, наоборот, выгодно
>> использование литералов (прямая подстановка параметров), поскольку этим
>> может воспользоваться оптимизатор.
>>
>
> Честно говоря, в это просто с трудом верится.
> Теоретически компиляция sql не требует никаких блокировок базы данных, это
> чисто алгоритмическая задача, которая может для каждого запроса
> обрабатыватся в отдельном потоке на отдельном ядре не мешая друг другу.
> Я конечно, не специалист по ораклу. Но подобные проблемы очень удивляют.
>
> Вобщем не буду спорить, вам, несомненно, виднее. Просто удивлен.
>
>
меня тоже честно удивило... если великий Oracle не может
распараллелить парсинг запросов,
что уже говорить про какие-то более продвинутые оптимизации?

по поводу threaded FFI, я щас потихоньку работаю над этим для NativeBoost.
обещать когда оно выйдет не могу.. слишком много других вещей на мне
висит и постоянно требует внимания.
дело там за малым... начать и кончить :)

> --
> http://groups.google.ru/group/sugr



--
Best regards,
Igor Stasenko.

--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Pharo и многонитевый FFI

vvm13xyz xyz
In reply to this post by Denis Kudriashov
Прекомпилированные запросы у Oracle хранятся в shared pool. Сперва происходит soft parsing, запрос ищется среди уже скомпилированных ранее. Потом, если не нашёлся, происходит hard parsing - собственно компиляция и оптимизация. Каждый parsing требует блокировок shared pool и ресурсов, особенно тяжело сказывается hard parsing. У Oracle внутри есть костыли, позволяющие приводить похожие запросы к общему знаменателю (сокращая hard parsing, но не soft parsing), но у них свои недостатки. Проблемы ораклячьей реализации до сих пор поражают и меня самого, но, во-первых, это всё-таки факт, и, чтобы прочуствовать на своей шкуре, большого количества юзеров и запросов вовсе не нужно, и, во-вторых, если писать приложение по-ораклячьи-правильно, то бишь с prepare (или зовя хранимые процедуры), то это совсем не проблема.


--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Pharo и многонитевый FFI

vvm13xyz xyz
In reply to this post by vmusulainen-2
Там такая уникальная обстановка, что я могу позволить себе и Smalltalk, и Pharo в том числе. Я вообще формально не программист, а DBA. В конторе базы чужой разработки, из разных мест и даже стран, я выступаю между ними "мостом" (скажем, данные из трёх баз трёх разных производителей смешиваются и поступают в четвёртую)), мои личные (т.е. те, кто пользуется моим софтом в том числе) пара десятков юзеров не очень привередливы. Pharo интересен исключительно по моральным причинам.

--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Pharo и многонитевый FFI

vvm13xyz xyz
In reply to this post by Igor Stasenko
Это про доступ к shared pool, а не собственно компиляцию.

--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Pharo и многонитевый FFI

vvm13xyz xyz
In reply to this post by Denis Kudriashov
Можно дойти до того, что просто запускать по имиджу на каждого юзера. Это решение достаточно рабочее, но мне не нравится из эстетических соображений.

--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Pharo и многонитевый FFI

vvm13xyz xyz
In reply to this post by Denis Kudriashov
Я когда-то спрашивал Knight'а, не будет ли Cincom против, если я переведу EXDI на VAST (тамошний показалось неудобно модифицировать). Как я понял, неофициально он не против (т.е. в суд на меня не подадут). Если и не копировать EXDI буквально, то, по крайней мере, изучение его внутреннего устройства должно сильно облегчать понимание. Я бы и состряпал что-то ораклячье (по заветам Кайта), но без threaded API нет никакого вдохновения.

--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Pharo и многонитевый FFI

vmusulainen-2
In reply to this post by Denis Kudriashov
CONTENTS DELETED
The author has deleted this message.
Reply | Threaded
Open this post in threaded view
|

Re: Pharo и многонитевый FFI

vmusulainen-2
In reply to this post by vvm13xyz xyz
CONTENTS DELETED
The author has deleted this message.
Reply | Threaded
Open this post in threaded view
|

Re: Pharo и многонитевый FFI

vvm13xyz xyz
In reply to this post by vmusulainen-2
Если нужна только отписка для какой-нибудь holy war, то да - вопрос решён. Реально на такое мало кто пойдёт.

--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Pharo и многонитевый FFI

Igor Stasenko
In reply to this post by vmusulainen-2
2012/2/22 Владимир Мусулайнен <[hidden email]>:
> А, тогда понятно. Я тоже по морально-эстетическим соображениям
> периодически подхожу к Pharo, но каждый раз вздыхаю и отхожу.
> В итоге ведем переговоры с cincom о продаже лицензий. Но... итить...
> Я их просто уже полгода упрашиваю продать мне...
> Я начинаю понимать, почему smalltalk не выстрелил с такой политикой
> продаж.
>

а вот не надо вздыхать. ;)
Меня вообще поражает сколько способных людей вокруг.. но они вздыхая отходят
вместо того чтобы помочь допилить систему до нужной кондиции.
Я серьезно, ребята. Open-source действует по принципу "помоги себе
сам". Если все будут сидеть и ждать, чуда не произойдет.
Нужен кто-то кто с зубовным скрежетом закатает рукава и сделает то,
что другие ждут :)
По-другому ну никак.

Просто опен-соурс имеет радикальное отличие от приложений с закрытым
кодом. При использовании закрытых библиотек
мы подходим к ресурсу с точки зрения его эксплуатации. И только, так
как ничего другого собственно с ним сделать невозможно.
Но опен-соурс требует совершенно другого подхода!
Подходить к открытому коду нужно с двух взаимо-дополняющих сторон:
эксплуатировать и разрабатывать/допиливать/улучшать.

Только такой подход дает гарантию того, что проект с открытым кодом
будет всегда "на уровне" и отвечать современным требованиям.
Если же все будут только эксплуатировать, то даже если сегодня проект
"на уровне", завтра он может устареть..


> On 22 фев, 16:17, Victor Metelitsa <[hidden email]> wrote:
>> Там такая уникальная обстановка, что я могу позволить себе и Smalltalk, и
>> Pharo в том числе. Я вообще формально не программист, а DBA. В конторе базы
>> чужой разработки, из разных мест и даже стран, я выступаю между ними
>> "мостом" (скажем, данные из трёх баз трёх разных производителей смешиваются
>> и поступают в четвёртую)), мои личные (т.е. те, кто пользуется моим софтом
>> в том числе) пара десятков юзеров не очень привередливы. Pharo интересен
>> исключительно по моральным причинам.
>
> --
> http://groups.google.ru/group/sugr



--
Best regards,
Igor Stasenko.

--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Pharo и многонитевый FFI

Dennis Schetinin
In reply to this post by vmusulainen-2
У меня возникло ощущение, что VW последнее время вообще перестал развиваться. Я ошибаюсь?


Best regards,
Dennis Schetinin
Sent with Sparrow

On Wednesday, 22 February 2012 г. at 16:51, Владимир Мусулайнен wrote:

А, тогда понятно. Я тоже по морально-эстетическим соображениям
периодически подхожу к Pharo, но каждый раз вздыхаю и отхожу.
В итоге ведем переговоры с cincom о продаже лицензий. Но... итить...
Я их просто уже полгода упрашиваю продать мне...
Я начинаю понимать, почему smalltalk не выстрелил с такой политикой
продаж.

On 22 фев, 16:17, Victor Metelitsa <vvm1...@gmail.com> wrote:
Там такая уникальная обстановка, что я могу позволить себе и Smalltalk, и
Pharo в том числе. Я вообще формально не программист, а DBA. В конторе базы
чужой разработки, из разных мест и даже стран, я выступаю между ними
"мостом" (скажем, данные из трёх баз трёх разных производителей смешиваются
и поступают в четвёртую)), мои личные (т.е. те, кто пользуется моим софтом
в том числе) пара десятков юзеров не очень привередливы. Pharo интересен
исключительно по моральным причинам.

--

--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Pharo и многонитевый FFI

Dennis Schetinin
In reply to this post by vvm13xyz xyz
Мне показалось, что это как раз по теме: http://forum.world.st/Why-do-we-use-Pharo-a-k-a-rethinking-Pharo-marketing-td4401788i20.html#a4407743


Best regards,
Dennis Schetinin
Sent with Sparrow

On Wednesday, 22 February 2012 г. at 0:37, Victor Metelitsa wrote:

Добрый день.

Решил рискнуть здоровьем и сделать то, что я сам же и осуждаю - задать вопрос без предварительного гугления и чтения ньюсгрупп. Но фаровы ньюсгруппы по-настоящему страшны, а ежедневного чтения настолько много, что ещё и на них меня не хватает..

Мне хочется соскочить с VW на Pharo (ввиду бесплатности последнего, чтобы убрать беспокойство по этому поводу). Но, что меня поражает, за все эти десятки лет (включая историю Squeak'а), полноценной поддержки (интересующих меня) СУБД так и не видно. Т.е. Oracle, DB2, Interbase/Firebird. Я не раз подумывал заняться сам. Если бы интерфейс к внешним вызовам был в духе VW или VAST'а, и занялся бы. Но вызовы FFI, как я читал, выполняется в той же нити, что и VM. Это сразу же убивает весь смысл. Для вебсервера это абсолютно неприемлемо. SQL-запросы могут выполняться достаточно продолжительное время, но при этом сервер не имеет права висеть, он должен отвечать на http-запросы других пользователей.

SqueakDBX сам по себе был сомнителен, но с многонитевостью они вообще провалились. Использование плагинов кажется мне чрезмерно сложным - это надо будет углублять около-C-шные знания и т.п., что само по себе может затянуться на месяцы, проще на VW оставаться.

Не так давно (но, наверное, год уже прошёл) я видел сообщение от Миранды, что он сделал многонитевый FFI. Как сейчас обстоят дела? Работоспособно ли оно? Есть ли более-менее приличная документация?

--
http://groups.google.ru/group/sugr

--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Pharo и многонитевый FFI

Igor Stasenko
2012/2/22 Dennis Schetinin <[hidden email]>:
> Мне показалось, что это как раз по
> теме: http://forum.world.st/Why-do-we-use-Pharo-a-k-a-rethinking-Pharo-marketing-td4401788i20.html#a4407743
>

да, это один из пунктов в моей повестке дня: проверить, протестить,
довести до ума, релиз етц.
проблема в том что повестка дня большая, не успеваю всем одновременно
заниматься :)
Потому-что Элиот подкрутил ВМ, но для того чтоб использовать это в
языке нужен код который собственно это использует.
А его еще нет.

>
> Best regards,
> Dennis Schetinin
> Sent with Sparrow
>
> On Wednesday, 22 February 2012 г. at 0:37, Victor Metelitsa wrote:
>
> Добрый день.
>
> Решил рискнуть здоровьем и сделать то, что я сам же и осуждаю - задать
> вопрос без предварительного гугления и чтения ньюсгрупп. Но фаровы
> ньюсгруппы по-настоящему страшны, а ежедневного чтения настолько много, что
> ещё и на них меня не хватает..
>
> Мне хочется соскочить с VW на Pharo (ввиду бесплатности последнего, чтобы
> убрать беспокойство по этому поводу). Но, что меня поражает, за все эти
> десятки лет (включая историю Squeak'а), полноценной поддержки (интересующих
> меня) СУБД так и не видно. Т.е. Oracle, DB2, Interbase/Firebird. Я не раз
> подумывал заняться сам. Если бы интерфейс к внешним вызовам был в духе VW
> или VAST'а, и занялся бы. Но вызовы FFI, как я читал, выполняется в той же
> нити, что и VM. Это сразу же убивает весь смысл. Для вебсервера это
> абсолютно неприемлемо. SQL-запросы могут выполняться достаточно
> продолжительное время, но при этом сервер не имеет права висеть, он должен
> отвечать на http-запросы других пользователей.
>
> SqueakDBX сам по себе был сомнителен, но с многонитевостью они вообще
> провалились. Использование плагинов кажется мне чрезмерно сложным - это надо
> будет углублять около-C-шные знания и т.п., что само по себе может
> затянуться на месяцы, проще на VW оставаться.
>
> Не так давно (но, наверное, год уже прошёл) я видел сообщение от Миранды,
> что он сделал многонитевый FFI. Как сейчас обстоят дела? Работоспособно ли
> оно? Есть ли более-менее приличная документация?
>
> --
> http://groups.google.ru/group/sugr
>
>
> --
> http://groups.google.ru/group/sugr



--
Best regards,
Igor Stasenko.

--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Pharo и многонитевый FFI

vvm13xyz xyz
In reply to this post by Igor Stasenko
Так я не возражаю насчёт приложить свои руки, но есть вещи, которые я могу себе позволить, и есть - какие не могу. Среди тех, что не могу, это ковыряться в VM и компилировать C. Нельзя сказать, что сама мысль меня пугает, но барьер велик, а...

Я-то надеялся, что Миранда уже доделал, и я могу приступить.

--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Pharo и многонитевый FFI

vvm13xyz xyz
In reply to this post by Dennis Schetinin
Что называть развитием? Всё-таки люди в Cincom'е заняты полный рабочий день и что-то делают. Даже багу с перерисовкой GUI обещают наконец исправить, после стольких лет.

--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Pharo и многонитевый FFI

Igor Stasenko
In reply to this post by vvm13xyz xyz
2012/2/22 Victor Metelitsa <[hidden email]>:
> Так я не возражаю насчёт приложить свои руки, но есть вещи, которые я могу
> себе позволить, и есть - какие не могу. Среди тех, что не могу, это
> ковыряться в VM и компилировать C. Нельзя сказать, что сама мысль меня
> пугает, но барьер велик, а...
>
> Я-то надеялся, что Миранда уже доделал, и я могу приступить.
>

приступить без ковыряния в С? я слабо себе это представляю. ведь чтоб
написать привязку к С-шной библиотеке
даже используя FFI, все-равно без ковыряния не обойтись.
или я что-то упускаю?

> --
> http://groups.google.ru/group/sugr



--
Best regards,
Igor Stasenko.

--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Pharo и многонитевый FFI

vmusulainen-2
In reply to this post by Igor Stasenko
CONTENTS DELETED
The author has deleted this message.
Reply | Threaded
Open this post in threaded view
|

Re: Pharo и многонитевый FFI

vvm13xyz xyz
In reply to this post by Igor Stasenko
Чтение C-шных хедеров и сэмплов я за ковыряние в C не держу. Там всё понятно. Но ставить компилятор, разбираться во всех этих make, git'ах, svn, vmmaker'ах... это немного другой уровень, займёт месяцы. Мне хотелось бы для начала хотя бы экзамены OCP (Oracle Certified Professional) наконец сдать, это много более актуально, и даже с этим торможу.

--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Pharo и многонитевый FFI

vvm13xyz xyz
In reply to this post by vmusulainen-2
А чего допиливать? Лично я, ввиду наличия Seaside, только из-за отсутствия желаемого интерфейса к БД испытываю настоящий дискомфорт. Для остального есть отладчик.

Конечно, есть разные области применения и разные требования, и мне чрезвычайно повезло, что я могу себе такое позволить. Ну вот, кроме всего прочего, мы поддерживаем некое приложение на Java (JBoss) - так сказать, всё из себя корпоративное. Эта штука (JBoss, Hibernate и приложения для них) кошмар, ей-богу. Лучше пилить Pharo, чем копаться в этой банке с червями.

Для "корпоративных" дел должен VAST хорошо подходить. Недавно было сообщение Instantiations, что у них появилось представительство в России, а лицензионная политика там традиционная, а не такая необычная, как у Cincom'а.

Вот отсутствие программистов - это проблема, и это проблема курицы и яйца. Для популяризации нам нужен бесплатный неограниченный (по сравнению с VW и VAST'ом) продукт. Ведь нельзя сказать, что Pharo совсем не годится.

Вот ST/X, видимо, накрылся (http://www.exept.de/download/). Если бы авторы открыли бы весь исходный код, было бы другое дело (с моей точки зрения).

--
http://groups.google.ru/group/sugr
Reply | Threaded
Open this post in threaded view
|

Re: Pharo и многонитевый FFI

vvm13xyz xyz
In reply to this post by vvm13xyz xyz
Каких-нибудь новостей на эту тему не появилось? А то вдруг, может, оно уже работает, а я об этом не знаю.

--
http://groups.google.ru/group/sugr
123