• Самая быстрая и энергоэффективная реализация алгоритма BFS на различных параллельных архитектурах

      Оффтоп


      В названии статьи не поместилось — данные результаты считаются таковыми по версии рейтинга Graph500. Также хотелось бы выразить благодарность компаниям IBM и RSC за предоставленные ресурсы для проведения экспериментальных запусков во время исследования.


      Введение


      Поиск в ширину (BFS) является одним из основных алгоритмов обхода графа и базовым для многих алгоритмов анализа графов более высокого уровня. Поиск в ширину на графах является задачей с нерегулярным доступом к памяти и с нерегулярной зависимостью по данным, что сильно усложняет его распараллеливание на все существующие архитектуры. В статье будет рассмотрена реализация алгоритма поиска в ширину (основного теста рейтинга Graph500) для обработки больших графов на различных архитектурах: Intel х86, IBM Power8+, Intel KNL и NVidia GPU. Будут описаны особенности реализации алгоритма на общей памяти, а также преобразования графа, которые позволяют достичь рекордных показателей производительности и энергоэффективности на данном алгоритме среди всех одноузловых систем рейтинга Graph500 и GreenGraph500.

      Нажми и прочитай про самый быстрый BFS в мире!
      • +13
      • 3,7k
      • 1
    • Разреженные матрицы: как ученые ускорили машинное обучение на GPU

        В начале декабря исследователи из OpenAI представили библиотеку инструментов, которая поможет ускорить обучение нейронных сетей на GPU от Nvidia за счет использования разреженных матриц. О том, с какими трудностями сталкиваются разработчики нейронных сетей и в чем основная идея решения от OpenAI, расскажем далее.

        Читать дальше →
      • Перспективы эволюции жестких дисков: передовые технологии и трудности реализации

          Для Western Digital 2017 год ознаменовался целым рядом громких премьер. 6 апреля мы анонсировали обновленный флагман в линейке специализированных накопителей для видеонаблюдения WD Purple емкостью 10 ТБ, а уже 19 мая были представлены 10-терабайтные модели серий WD Red и WD Red Pro, ориентированные на персональное использование и эксплуатацию в составе корпоративных NAS. Осень также не осталась без свежих релизов: в сентябре начались продажи WD Gold на 12 ТБ, а уже в октябре мир увидел первые винчестеры на 14 ТБ, выпущенные на рынок под маркой HGST Ultrastar Hs14.

          Все это стало ответной реакцией на растущие потребности ИТ-предприятий: бизнес остро нуждается в увеличении плотности хранения информации, и с каждым годом аппетиты компаний лишь растут. Вопрос в том, где тот предел, достигнув которого мы сможем уверенно заявить: «Пришло время искать принципиально иное решение задачи, потенциал жестких дисков полностью исчерпан». Об этом мы и поговорим в сегодняшней статье.
          Читать дальше →
        • Производительность mdadm raid 5,6,10 и ZFS zraid, zraid2, ZFS striped mirror

            Тестируем производительность ZFS и mdadm+ext4 на SSD Sandisk CloudSpeed
            для выбора технологии создания локального дискового массива.


            Цель данного тестирования — выяснить, с какой реальной скоростью смогут работать виртуальные машины в raw файловых образах, если разместить их на 4-х производительных SSD-дисках. Тестирование будет производится в 32 потока, чтобы приблизительно создать условия работы реального гипервизора.

            image
            Читать дальше →
          • Как я придумывал и применял формат хранения результатов экспериментов Measurelook

            В силу специфики научной деятельности мне нужно замерять время работы алгоритмов и строить по получившимся данным графики. Раньше процесс выглядел так:


            1. Алгоритм подготовлен.
            2. Запуск эксперимента, выходные данные идут в лог.
            3. Перенос данных в эксель.
            4. Постобработка: разбить, группировать, отсортировать.
            5. Строим график, а он кривой — ошибка в эксперименте, переход на шаг 1.

            Первая проблема — просто посмотреть как прошел эксперимент занимало очень много времени.


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


            Меня как программиста всегда раздражала необходимость «ручной работы». Да график готов, но мы еще что-то вручную подвинем, там перекрасим, тут подрисуем. Каждый раз когда приходят новые данные этот процесс приходится повторять. Третья проблема — перестроение графиков должно быть полностью автоматизированным.


            Для решения озвученных проблем я придумал формат хранения данных в JSON и назвал его Measurelook. В этой статье я расскажу о Measurelook и о его применении в подготовке научной публикации.


            Читать дальше →
            • +12
            • 2,2k
            • 7
          • Список полезных идей для высоконагруженных сервисов

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

              1. Думайте своей головой и проверяйте факты


              Это самое важное. Для вас не должно существовать безусловных авторитетов. Если кто-либо говорит полную чушь, или говорит что-то, что противоречит вашей практике — не прислушивайтесь к таким советам, и не важно, насколько этот человек известный и уважаемый. Если вы разрабатываете большую систему, и она не будет работать хорошо, то спрашивать будут с вас и в данном случае «мы следовали лучшим мировым практикам» оправданием не является. Умение применять нужные технологии в нужном месте и делает вас ценным специалистом, а не слепое следование чьим-то советам — для этого как раз квалификации не требуется.
              Читать дальше →
            • AdBlock похитил этот баннер, но баннеры не зубы — отрастут

              Подробнее
              Реклама
            • Два года успешного использования Edition-Based Redefiniton в базах Oracle

                Хранимый код в базе? Не смешите, на дворе 2017 год!


                В этом году бренду QIWI исполнилось 10 лет. За это время в нашей основной транзакционной базе накопилось более чем 130 тысяч строк хранимого PL/SQL кода. На Хабре регулярно встречаются статьи о том, как различные команды разработчиков категорически не используют хранимый код в БД, стараясь убрать излишнюю нагрузку с БД и таким образом удешевить систему. По этой теме можно долго дискутировать, и такая точка зрения опровергается, например, вот в этом видео.

                Что бесспорно — хранимый PL/SQL код традиционно имел один существенный минус: релиз PL/SQL программы требовал остановки сервиса, поскольку процесс компиляции этого кода должен был получить эксклюзивную блокировку в словаре БД (так называемый library cache pin). Не вовремя запущенная случайная рекомпиляция могла подвесить всю систему. Приходилось регулярно выделять технические окна для релиза PL/SQL кода. Заверенные скриншоты жалоб наших возмущённых клиентов, попавших в такие окна, бережно хранятся в наших архивах. Однако не прошло и 20 лет от создания PL/SQL, как Oracle этот недостаток если не устранил полностью, то существенно смягчил.

                Welcome to Oracle Edition-Based Redefinition


                Мы не будем приводить детальные примеры кода с использованием Edition-Based Redefinition, а опишем несколько ключевых пунктов проекта по его внедрению. С некоторой натяжкой этот механизм, который принято сокращать до EBR, можно считать системой контроля версий объектов БД внутри самой БД. Теперь приложения способны работать с разными версиями одних и тех же процедур, пакетов и представлений. Однако в БД, кроме кода, есть еще и структуры данных в виде таблиц, и Oracle пришлось придумать способ межверсионной трансформации как самих таблиц, так и данных в них.
                Читать дальше →
                • +11
                • 1,8k
                • 4
              • Как я написал приложение, которое за 15 минут делало то же самое, что и регулярное выражение за 5 дней

                • Перевод

                От переводчика


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

                Несколько недель назад вышла замечательная англоязычная статься об open-source python-библиотеки FlashText. Эта библиотека предоставляла быстрое работающее решение задачи поиска и замены ключевых слов в тексте.

                Т.к. на русском материалов подобной тематики не так много, то я решил перевести эту статью на русский. Под катом вас ждет описание проблемы, разбор принципа работы библиотеки а так же примеры тестов производительности.
                Поехали
              • Первый в России митап по Apache Ignite, 12 декабря

                  Друзья, приглашаем всех на посвящённый Ignite митап 12 декабря в московском ImpactHub (метро Китай-Город). Такие мероприятия мы хотим регулярно проводить в Москве и Санкт-Петербурге, и надеемся, что они станут местом встреч российских пользователей и разработчиков Ignite, специалистов по In-Memory Computing, а также всех, кто интересуется распределенными системами. Здесь можно будет обсудить любые вопросы, связанные с работой или развитием экосистемы.

                  На первом митапе мы хотим познакомить вас российскими банком и крупным телекомом, использующими Ignite каждый день.

                  Программа встречи:

                  — 18:30: Сбор гостей;
                  — 19:00: Рассказ о внедрении Apache Ignite в Сбербанке (Михаил Хасин, Сбербанк);
                  — 19:45: «Как мы построили Complex Event Processing крупного телеком-оператора на Apache Ignite» (Виктор Ходяков, Gridfore);
                  — 20:30: Секретный доклад;
                  — 21:15: Общение в кулуарах, заключительный кофе;
                  — 22:00: Окончание.
                  Читать дальше →
                • Секреты React и Redux при разработке веб-приложений

                  • Перевод
                  image Здравствуйте, уважаемые читатели! Совсем скоро у нас выйдет новая книга о технологиях React и Redux, оригинал — O'Reilly, май 2017

                  Чтобы обрисовать масштабы бедствия круг проблем, которые могут возникать при создании веб-приложений с использованием таких технологий, предлагаем сокращенный перевод статьи Сэмюэла Менденхолла (от 15 ноября), где рассмотрены тонкости работы с React, Redux, Typescript и рассказано, как устранить и упредить проблемы с производительностью в таких приложениях.
                  Читать дальше →
                Самое читаемое