9 сентября 2015 года стала доступна новая версия высокопроизводительной системы распределенной обработки данных.
Apache Spark — это высокопроизводительная система для распределенной обработки данных, основанная на модели вычислений в памяти.
Spark предназначен для запуска в окружении Hadoop-кластера через использование механизма YARN или в одиночном режиме. В качестве уровня хранения данных могут быть использованы HDFS, HBase, Cassandra, Hive или любой Hadoop input format. Поддерживается работа в пакетном режиме (подобно map-reduce), а также режимы потоковой обработки, интерактивных запросов и машинного обучения. Spark предоставляет программные интерфейсы для работы с языками Python, Java и Scala.
Является проектом верхнего уровня Apache Software Foundation (ссылка).
7 апреля стала доступна новая версия отказоустойчивого распределенного хранилища данных Ceph.
Ceph — это масштабируемое петабайтное хранилище с открытым исходным кодом, в основе которого лежит принцип объединения дисковых пространств серверов в единое объектное хранилище, что позволяет реализовать гибкую многократную псевдослучайную избыточность данных. Ceph предоставляет на выбор три различных интерфейса для работы с хранилищем:
RADOS Gateway (RGW) — S3- и Swift-совместимый RESTful интерфейс;
RADOS block device (RBD) — блочное устройство с поддержкой тонкого роста и снэпшотами;
Для горячих голов: CephFS пока ещё не рекомендуется использовать для хранения информации, которую будет жалко потерять. :)
Основные изменения:
увеличено быстродействие RADOS: в OSD (Object Storage Daemon) и в библиотеку librados внесён ряд улучшений, направленных на улучшение работы на flash-накопителях, а также на улучшение параллелизма и масштабируемости системы на быстрых узлах;
добавлено шаридирование бакетов RGW: индексы бакетов теперь поддерживают разнесение на разные узлы, что увеличивает быстродействие для больших бакетов;
добавлены карты объектов RBD: создан механизм, отслеживающий аллокации частей образов блочных устройств, что увеличивает производительность операций клонирования, удаления и др.
много улучшений в механизме создания снэпшотов CephFS;
много улучшений направленных на повышение скорости и стабильности в утилитах восстановления и диагностики CephFS;
улучшения в CRUSH*): добавлен новый алгоритм (straw2), который позволяет снизить количество миграций при переконфигурировании кластера.
*) CRUSH - Controlled Replication Under Scalable Hashing; алгоритм определяющий распределение данных по узлам и, соответственно, их извлечение.
1-го апреля 2015 года стала доступна новая версия нереляционной СУБД Redis. Основной отличительной особенностью данного релиза является то, что это первая стабильная версия Redis со встроенной поддержкой кластеризации*).
Redis - это нереляционная СУБД типа ключ-значение (key-value) с открытым исходным кодом.
Поддерживает следующие структуры данных:
строка (string);
хэш (hash);
список (list);
множество (set);
сортированное множество (sorted set);
битовый массив (bitmap);
HyperLogLog (структура данных для реализации алгоритма рандомизированного вероятностного подсчета количества уникальных значений).
Для всех этих типов поддерживаются атомарные операции (например вставка в список или пересечение множеств). База данных Redis хранится в основной памяти, а для обеспечения долговременного хранения используется синхронизация на диск.
Основные изменения:
встроенная поддержка кластеризации;
улучшен аппроксимационный алгоритм вытеснения ключей для LRU**)-кешей;
добавлена команда CLIENT PAUSE: остановка обработки всех запросов клиента на определенное время;
переработан механизм обеспечения долговременного хранения даных AOF***) с целью уменьшения задержек при сбросе буфера на медленных дисках;
25 марта вышла новая версия графовой базы данных Neo4J.
В этом релизе представлены улучшения, которые, как утверждается, позволят существенно повысить производительность операций чтения и записи данных, а также улучшают возможности по отладке и тестированию.
Ключевые моменты изменений версии 2.2:
новый планировщик запросов для языка Cypher основанный на анализе затрат (cost-based optimizer);
поддержка профилирования и отладочного вывода для запросов Cypher;
новый механизм кеширования операций чтения, основанный на размещении страниц кеша в памяти (in-memory page cache);
новый механизм быстрой буферизации записи и оптимизация сброса транзакций на диск.
На начало 2015 года графовая база данных Neo4J занимает 23 место по популярности (по версии сайта DB-ENGINES).
After Deputy Prime Minister Dmitry Rogozin accused the United States of being the main suspect in rendering their Phobos-Grunt Mars spacecraft useless, the United States Strategic Command has mysteriously deleted all the spaceship's data from their Space Track database.
The US military has not given any official explanation and industry experts can't imagine what could be reasons of this strange decision, which goes against current Space Track policies.
30.11.2011 в свет вышла очередная версия фреймворка для построения компиляторов и виртуальных машин.
Википедия
Low Level Virtual Machine (LLVM) — универсальная система анализа, трансформации и оптимизации программ, реализующая виртуальную машину с RISC-подобными инструкциями. Может использоваться как оптимизирующий компилятор этого байткода в машинный код для различных архитектур либо для его интерпретации и JIT-компиляции (для некоторых платформ).
Проект LLVM официально включает в себя следующие основные проекты:
LLVMCore - библиотеки для обеспечения платформонезависимой оптимизации и кодогенерации под различные виды процессоров и платформ;
CLang - компилятор языков C/C++/Objective-C для LLVM;
dragonegg - объединяет в себе парсер GCC-4.5 и оптимизацию и кодогенерацию на основе библиотек LLVM;
LLDB - дебаггер, использует Clang и LLVM;
libc++ - реализация стандартной библиотеки C++ (включает неполную поддержку стандарта C++11);
vmkit - реализация языков Java и .Net для LLVM;
SAFECode - память-безопасный компилятор С/С++.
Помимо упомянутых официальных проектов существует большое количество проектов, которые используют LLVM для компиляции программ для таких языков как Ruby, Python, Haskell, Java, D, PHP, Lua и т.д.
Основные изменения:
llvm-gcc больше не поддерживается, рекомендуется использовать clang или dragonegg;
LLVM IR (intermediate representation - платформонезависимый ассемблер для LLVM) включает в себя полную поддержку атомарных операций с памятью (load, store, compare, exchange, read/modify/write, etc.);
полностью переделан механизм обработки исключений в LLVM IR;
полностью переделана система типов LLVM IR;
MIPS backend доведён до production quality;
...
Полный и подробный перечень изменений можно посмотреть в подробностях.
В настоящее время для скачивания доступен только исходный код (через svn). В ближайшее время на сайте в списке закачек ожидается появление бинарных сборок и тарболла.
Читал тут статью, наткнулся на фразу «Avoid early returns or lots of function calls to “help” performance, as it kills the instruction cache.»
Нет, ну я понимаю про «lots of function calls», а что там с «early returns»? Может имеется в виду «early returns» как типа оптимизация «lots of function calls»?
Обращаю внимание на большое количество искромётного школьного «юмора» и зашкаливающее количество испортившегося жира вот в этой теме.
В связи со сложившейся ситуацией предлагаю снести данную тему, с одной стороны за её абсолютной ненужностью ТС для целей, помимо глупой и натужной попытки потроллить, и, с другой стороны, по причине практически нулевой ценности для прочих участников форума.
Так как под удаление подходят практически все посты SexualOpenSourceCode, предлагаю предлагаю объявить ему благодарность путём выполнения запроса к базе пользователей.
Далее, у меня есть стойкое ощущение, что данный пользователь является чьим-то виртуалом. Предлагаю провести расследование (хоть и не уверен что оно даст результат).
Господин Михалков был так любезен, что раскрыл не только свои тайны, но и секреты своих коллег. Например, он рассказал много интересного про «трахающего на Красной площади козу» Диброва и «отобранную у Путина» мигалку.
- Хотите обосрать меня - конечно, вперед! - предложил режиссер.
Выбираю систему контроля версий для нового проекта. Выбор стоит между Gitorious и Github. Проект чисто программистский (никаких ресурсов и прочего) и открытый, будет рассчитан изначально на небольшое количество человек, но в дальнейшем, может быть существенно отмасштабирован по количеству участников.
Я проштудировал материалы в этих самых «интернетах» и более или менее представляю достоинства и недостатки данных систем контроля версий (в табличном виде). Однако, сравнения и графики - это конечно прекрасно, но хотелось бы сугубо личных (можно даже сказать предвзятых) впечатлений и доводов удобнее/неудобнее. Короче, поделитесь какая из представленных 2-х систем Вам лично больше нравится и какую чаще Вы используете.