LINUX.ORG.RU

К специалистам по паралленым вычислениям (языкам) - детский вопрос - что есть в природе в этом стиле (+)?


0

0

В общем ваял тут на Питоне один проект и думал о всяком параллелизме (методах его реализации). И пришла в головУ такая мысль, вот хочеться узнать кому она пришла до меня:-)

Итак, какие типовые средства разхработки параллельных приложений есть (из тех что я знаю:-))? Всякие шреды-форки и т.д., но общая методология следующая - пишеться функция (или как то оформленный кусок кода), которая запущаеться в отдельной нити (процессе или чем то еще). И этот кусок кода каким то образом жениться (взаимодействует) с другими кусками, что то разумное деланет. Я говорю сейчас о общепринятых технологиях, не затрагивая таких мостров как НОРМА, 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 моно кивнуть - там это вроде как моно сделать, но я думаю про куда более простой в использовании пакет, фактически тот же питоновский код, но можно явно указывать где будет выполняться та или иная инвструкция, причем указывать вперемешку - ты делаешь то, а ты делаешь то и т.д.

Про безопасность я пока не думал:-)

★★★★★
Ответ на: комментарий от vsl

Нельзя объять необъятного (с)

Спорить по повду данного утверждения не буду, поскольку спор в данном направлении ИМНО неконструктивен. Могу только добавить еще цитату "Мой книжный шкаф знает больше меня, но физик я а не он"(с)А.Азимов:-)

Про то кому нужны кодеры - сразу видно что программист Вы хороший видимо, но вот в суровой реальности звиняюсь не понимаете не шиша (может потому и хороший:-))) Например, история человечества знает множество проектов во всех областях, закончившихся полным провалом именно потому что решением проблемы занимался слишком уж звездный состав - слишком много было "программистов" (креативных личностей с широким кругозором) и не хватало "кодеров"(простых тупых рабочих лошадок). Такой расклад невыгоден хотя бы из чиста финансовых соображений......

Ладно, Вы утверждали про то что в Питоне нету замыканий и ортогональности. Я тут порылся... в каком смысле нету замыканий? Есть несколько трактовок этого термина. Если в смысле ФП так они есть. Если в смысле проверки корректности принимаемых функцией значений - так это оборотная стороная гибкости языка, как раз тот случай когда недостаток являеться следствием достоинств...

Про ортоганальность - можно конкретный пример, где питон менее ортоганален чем напр тот же С++? Именно язык, а не структура напр. библиотек остающаяся на совести сторонних разработчиков....

AIv ★★★★★
() автор топика
Ответ на: комментарий от AIv

На самом деле тупые кодеры - не нужны совсем. Уже сейчас есть технологии, которые позволяют обходиться без них. Когда я закончу один из своих нынешних проектов - кодеры станут не нужны абсолютно, и это будет всем очевидно. Все эти массы быдла мигом лишатся работы!!!

И, кстати - неужели тебя устраивает быть в самом основании пирамиды, быть рядовым, когда мог бы стать генералом?

P.S. Сам я на зарплату пожаловаться не могу, хоть и пишу ни разу не на VB. Да, иногда приходится использовать Java или С#, но чаще есть возможность использовать Лисп, OCaml, F# или Haskell.

vsl
()
Ответ на: комментарий от AIv

Я не говорю про необъятное. Я говорю про БАЗУ. Этих базовых знаний - всего ничего, на один семестр обучения. Фундаментальных парадигм - совсем немного, но знать их обязан каждый, кто пытается программировать.

Про суровую реальность - да кто ты такой, чтоб меня тут с таким наглым тоном поучать? На что угодно готов поспорить, что с реальностью я знаком гораздо лучше тебя, и уж недостатком рационализма я не страдал никогда. Кстати, в той конторе, где я работаю - как раз таки и нет некреативных быдлокодеров. Это нисколько не мешает быстро и эффективно реализовывать самые разные проекты.

Про замыкания - я не говорил, что их нет. Их таки есть, но очень кривая реализация. И дурачок GvR всё мылится от лямбды избавиться - типа, непонятна она простому тупому кодеру...

Ну а по ортогональности - тут уж не с C++ сравнивать надо, C++ - уродливое нагромождение дублирующих друг друга нелепостей. Сравни со Scheme или с SML, и ужаснись. Даже те же list comprehensions, спёртые из Хаскелля, в Питоне сделали не на лямбде, а криво...

vsl
()
Ответ на: комментарий от vsl

А кто Вы такой что бы на основании незнания мной лиспа (к-й мне нахрен не сдался) и нек-х базовых парадигм хамски называть меня тупым кодером?? Я знаю ряд людей, к-е при незнании лиспа и ФП в своей области порвут даже Вас напр как тузик грелку, потому что на ФП свет клиином не сошелся в частности, и тупыми кодерами их ну никак не назовешь...:-) И кто Вам сказал что я нахожусь в основании пирмидs??? Это батенька такая же индукция, как и моя про Ваше знание суровой реальности:-)

Каждый из нас находиться в основании какой то пирамиды (точнее пирамид) и в какой то пирамиде он являеться генералом. С одной генеральской должности я вот давеча слез и очень этому рад... Се-ля-ви... про полную ненадобность тупых кодеров - такого не будет ни-ког-да. Просто потому что так мир устроен... потому что всегда найдется тупая и черная работа. Даже если она будет тупой и черной лишь в сравнении с другой более крнеативной... просто потому что креативных личностей лишь проценты от общей массы, а общей массе тоже на до что то делать, и проще (дешевле) припахать их к тупому кодированию, чем вкладываться в полную автоматизацию производства:-)

Ок, спасибо, посмотрю. И все же, повторюсь - каждый язык хорош для своей задачи. И ИМХО есть класс задач, для которых пиотон несмотря на все перечисленные недостатки является весьма эффективным инструментом. Сугубое ИМНО, никому не навязываю...

Спасибо. Берегите свою селезенку:-)

AIv ★★★★★
() автор топика
Ответ на: комментарий от vsl

>Когда я закончу один из своих нынешних проектов - кодеры станут не нужны абсолютно, и это будет всем очевидно. Все эти массы быдла мигом лишатся работы!!!

Хотелось бы верить... Но что-то сомнения гложут.

WFrag ★★★★
()
Ответ на: комментарий от WFrag

Лишились ведь работы извозчики, машинистки, тётки-телефонистки, операторы ЭВМ, разносившие стопки перфокарт. Так же лишатся работы и тупицы вроде AIv-а...

vsl
()
Ответ на: комментарий от vsl

>Лишились ведь работы извозчики, машинистки, тётки-телефонистки, операторы ЭВМ, разносившие стопки перфокарт. Так же лишатся работы и тупицы вроде AIv-а...

Хм. Ну что тут сказать. Даже если исчезнут индусские обезьянки с уровнем интеллекта где-то между камнем и амебой, я буду жутко счастлив.

WFrag ★★★★
()
Ответ на: комментарий от WFrag

P.S. Хотя они все-таки большую часть на мейнфреймах зарабатывают, насколько мне известно, чем на Java-поделках.

P.P.S. И все-таки, что же это за панацея, которая поднимет производительность программистов до небываемых высот (причем неизвестная доселе науке)?

WFrag ★★★★
()
Ответ на: комментарий от chumpa

>www.stratego-language.org

Я правиьно понимаю, что это штука для трансформации из некоторого высокоуровневого языка в низкоуровневый хост-язык? Так может это то, что мне сейчас и надо для счастья? :)

WFrag ★★★★
()
Ответ на: комментарий от anonymous

Не совсем. Это семантика, описывающая в явном виде любые возможные параллельные процессы (тогда как ленивая лямбда имеет лишь строго неявный параллелизм).

vsl
()
Ответ на: комментарий от WFrag

Гы... Я и так уже слишком много чего рассказал. Года через 1.5 - 2 и так все всё узнают. ;)

vsl
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.