Показать сообщение отдельно
  #29  
Старый 24.03.2012, 19:37
Аватар для Alagor
Alagor Alagor вне форума
участник
 
Регистрация: 11.08.2008
Адрес: Есть только миг между прошлым и будущим.
Сообщений: 108
Alagor на пути к лучшему
По умолчанию Ответ: Свободный интернет - проект

Цитата:
Сообщение от perestoronin Посмотреть сообщение
Здесь на помощь может прийти только полный переход или широкое использование функционального программирования. Логическое программирование помогает реализовывать задачи анализа информации.
Убидили, я не буду рекламировать C/C++. В задаче РБЗ (Распределённая База Знаний), нет необходимости оперативного программирования с использованием скриптовых или функциональных языков. Нужен небольшой набор функций, которые будут реализовать протокол сетевых взаимодействий. Система должна уметь отвечать на очень не большой набор вопросов от других узлов.

Можно и всю систему реализовать на любом языке. Это может быть C/C++ или Prolog. Язык программирования - это инструмент. Если большинство разработчиков знаком C/C++ значит нужно писать на нём, знакомо с PERL значит на PERL. Это главный фактор в выборе языка.

Цитата:
Сообщение от perestoronin Посмотреть сообщение
Может начать с изучения OpenCL, CUDA и т.п. технологий?
У меня есть опыт работы на OpenCL. Я занимался им около полугода. Программирование на нём сложнее, чем на классических языках. Любые решения заточены ЖЁСТКО под конкретную задачу. Я согласен направление развивается и подаёт надежды. Даже Intel/AMD в последних процессорах стали добавлять элементы архитектуры SIMD (один поток иструкций несколько потоков данных). Я бы не стал называть это параллельным программированием, а скажем МАТРИЧНОЕ ОДНОПОТОЧНОЕ программирование. Но практическая отдача очень высока, скорость вычислений увеличивается раз в 10.

Вобщем, мой прогноз по CUDA. Это временное явление. Оно существует только потому, что сейчас технологии штамповки микропроцессоров, не позволяют создавать чипы содержащие одновременно и процессор и динамическую память на одном кристалле. Однако "лучик надежды" есть. Это ферро-магнитная память, которая позволяет на одном кристалле создавать сотни независимых комбинаций процессор-память. Программирование таких систем напоминает классическое программирование, а выигрыш в производительности превосходит SIMD, по той простой причине что их оптимальность упирается в работу с внешней памятью. Представьте себе 500 SIMD запросов и все щимятся в одину подсистему памяти, если обращение не разбросано, то одна инструкция будет выполняться 500 тактов внешней шины.

Цитата:
Распределенное хранение информации тоже замечательно. Но как обеспечить целостность этой информации? Попробуйте для начала все таки освоить более простые задачи - надежные локальные системы хранения информации на Вашем локальном сервере, здесь тоже помогут имеющиеся недорогие решения на базе программных RAID10.
Это не по теме. RAID - это не распределённая технология. RAID - это только технология хранения. Задача РБЗ - не хранить сама не знает что, а навести порядок в связи между собой обрывков информации. RAID - замечательно, но это всего лишь железка, где здесь ПОЛЬЗОВАТЕЛЬ.
Ответить с цитированием