Показать сообщение отдельно
Старый 09.09.2011, 15:27   #8
comrade
Местный
 
Аватар для comrade
 
Регистрация: 14.07.2009
Адрес: Русь-СССР-Россия
По умолчанию

Цитата:
Сообщение от AbrWalg Посмотреть сообщение
Почему отечественные языки програмирования писали как ремиксы, с западных, под копирку?
Не всегда - смотри Рефал (придумал диссидент Турчин, но язык символьной обработки хорош).
Цитата:
Сообщение от AbrWalg Посмотреть сообщение
и мечтал об IBM-совместимом...
Это вторая наша проблема, наше реальное отставание от забугровых коллег. Всегда конечно можно списать на философские проблемы, на неправильную архитектуру, на "гонения на кибернетику".
Я говорил пока про отставание в производительности из-за отставаний в технологии, но не ты один в СССР мечтал о забугровом компе - но по другим причинам. Дело в их ориентированности на конечного пользователя, а значит они сразу с разработкой архитектуры даже большее внимание уделяют интерфейсам взаимодействия с конечным пользователем (не только производительность, но и удобство использования). Поэтому наши и ibm-вские машины были как небо и земля с точки зрения использования, подключения принтеров и прочих разъёмов, когда наши по старинке всё с перфокартами возились.
Сегодня ситуация в области суперкомпьютерных вычислений полностью аналогична. Создаются гиганские машины с гиганской производительностью, но ты свихнёшься их запрограммировать, чтобы выжать эту производительность. Потому во всех их программах от агенств DARPA, DTRA, DOE, под чьей эгидой разрабатываются машины, ключевыми идут 3 проблемы - performance, productivity, power efficincy (3P).
Productivity - это продуктивность программирования. Если в вашей супер-пупер машине может исполнятся миллион потоков - то как вы её запрограммируете, чтобы вам уравнение какое решить, Фурье посчитать, или что-то ещё? Традиционный подход с использованием MPI - давно в топке, тока для традиционнных кластеров. Потому в амеровской программе DARPA HPC (до 2010), а теперь DARPA UHPC - идёт разработка высокоуровневых языков параллельного программирования. Наши только и знают про MPI, а амеры уже на промышленном уровне используют библиотеки GASNet, ARMCI, языки UPC, CAF, разрабатывают среды исполнения для языков Chapel (проект Cascade, Cray), X10 (IBM), ... Сейчас идёт переход от PGAS-языков к HPGAS-языкам - платы-то многосокетные, многосвязные - в BluWaters ваще 32 сокета на плате ... Сети-то тоже многосвязные, многовходовые, ...
А наши (смотри МГУ, Саров, Курчатов - академики Воеводин, Велихов, Бетелин, ...) всё MPI да MPI - на котором машины типа IBM BlueWaters, Tianhe-1A просто неправильно программировать.
Что-то изменить пытаются единицы, некоторых из которых губят не без помощи зарубежных коллег. Хотя бы библиотека shmem делается для нескольких типа отечественных сетей. Но сами сети при этом - прошлое десятилетие по сравнению с технологиями амеров и китайцев.
Так вот все эти языки и библиотеки - для productivity, для повышения продуктивности разработки параллельных программ. Чтобы вы не год писали вашу программу для 65-тысяч процессорной многоядерной мультитредовой машины,а за 2 недели накропали и получили производительность на уровне. А для этого они многие миллиарды вкладывают именно в это направление, промышленность у них совместно с институтами работает. Если посмотреть их программу DARPA UHPC - это же мечта, когда несколько (4-5-6) институтов работает совместно с 1-2 прошленной конторой типа Intel, NVidia, Cray, ... Как ещё создавать и ВНЕДРЯТЬ новые технологии, до чего у нас как обычно только языки доходят, вместо рук.
Так вот итог - интересы конечного пользователя в любой разработке должны сразу задавать требования, а у нас хоть в СССР, хоть сейчас - ищется пользователь под уже сделанную разработку.
comrade вне форума   Ответить с цитированием