В общем ваял тут на Питоне один проект и думал о всяком параллелизме (методах его реализации). И пришла в головУ такая мысль, вот хочеться узнать кому она пришла до меня:-)
Итак, какие типовые средства разхработки параллельных приложений есть (из тех что я знаю:-))? Всякие шреды-форки и т.д., но общая методология следующая - пишеться функция (или как то оформленный кусок кода), которая запущаеться в отдельной нити (процессе или чем то еще). И этот кусок кода каким то образом жениться (взаимодействует) с другими кусками, что то разумное деланет. Я говорю сейчас о общепринятых технологиях, не затрагивая таких мостров как НОРМА, DVM, и т.д.
Теперь с-но мысль. Чего бы хотелось (речь идет о питоне)? Хотелось бы написать типа напр:
p1 = new_thread()
p2 = new_process('alpha.mycompani.ru')
p1.a = (1,2,3,4,5)
p2.Import('mymodul')
p2.a= p2.mymodul.A()
b = lambda i : i*i
p2.a.run_super_calc(b, p1.a, p2.mymodul.super_calc_init1())
и т.д. В общем идея - можно создавать новые процессы, нити и т.д. (неважно кого, назовем их пезантами)))). Каждый пезант имеет свое пр-во имен. Можно просто писать код, можно в код вставлять инструкции для отдельных пезантов. Гарантируется что сетевой трафик будет минимизоравться. Передача исходников м-ду хостами происходит автоматически. ИНструкции для пезантов не блокируют основную нить программы, даже если пезент занят, а становяться в очередь. Есть средства барьерной синхронизации, типа sync(p1,p2), ну и тут много всякого разного моно придумать.... напр продолжение работы пезантов при закрытии родительского процесса, с возможностью восстановления соединения при запуске нового родительского процесса)))
В общем вопрос - что то подобное для питона уже есть? В сторону CORBA моно кивнуть - там это вроде как моно сделать, но я думаю про куда более простой в использовании пакет, фактически тот же питоновский код, но можно явно указывать где будет выполняться та или иная инвструкция, причем указывать вперемешку - ты делаешь то, а ты делаешь то и т.д.
Про безопасность я пока не думал:-)