Рубрика «высокая производительность» - 142

С октября 2009 года я занимаюсь разработкой приложения для поиска и прослушивания музыки. Я стремлюсь организовать возможность быстрого взаимодействия пользователя с интерфейсом, и в качестве одного из средств ускорения взаимодействия использую различные способы для быстрой отрисовки страниц.

Предлагаю ознакомиться со способами, реализованными мной в приложении на системном уровне:

  • Использование CSS и переключение классов вместо перестроения DOM дерева
  • Повсемнестное кеширование выборок элементов ($('div.active_part span.highlighter')), атомарные операции по изменению (вместо всеобщей перерисовки, вместо переделывания больших участков DOM дерева)
  • Минимизации чтений DOM во время записи изменений состояний
  • Кеширование размеров и расположения элементов (это спасает от излишнего вычисления при считывании этих значений при наличии других изменений: чтение во время изменения множества частей дерева крайне негативно сказывается на производительности)
  • Аккуратное, не затягивающееся накопление изменений, необходимых произвести в DOM
  • Прикрепление частей изменяющихся коллекций единовременно (когда, например, в середину списка вставляется 3 новых элемента; createDocumentFragment) в конкретное место (after, before) вместо открепления всей коллекции от DOM и повторного прикрепления (и вместо того, чтобы перерисовывать весь список)
  • Прогрессивный асинхронный рендеринг: картина прорисовывается сразу с небольшим количеством деталей, затем деталей появляется всё больше
  • Клонирование нодов (как часть шаблонизации)
  • Кеширование и использование кеша результатов парсинга DOM шаблонов

Читать полностью »

Уже более 3 лет наша команда занимается разработкой такого важного компонента сети оператора как PCRF. Policy and Charging Rules Function (PCRF) – решение для управления политиками обслуживания абонента в сетях LTE (3GPP), позволяющее в реальном времени назначать ту или иную политику, принимая во внимание сервисы, подключенные у абонента, его местонахождение, качество сети в данном месте в данный момент, время суток, объем потребленного трафика и т.д. Под политикой в данном контексте подразумевается доступный абоненту набор сервисов и параметры QoS (качества обслуживания). Анализируя соотношение цена-качество для различных продуктов в данной области от разнообразных поставщиков, мы приняли решение разрабатывать свой продукт. И вот уже более 2 лет, наш PCRF успешно работает на коммерческой сети компании Yota. Решение полностью софтовое, с возможностью устанавливать даже на обычные виртуальные сервера. Работает в коммерции на Red Hat Linux, но в целом возможна установка и под другие Linux-системы.
Читать полностью »

Многие из новейших суперкомпьютеров основаны на аппаратных ускорителях вычислений (accelerator). включая две самые быстрые системы согласно TOP500 от 11/2013. Ускорители распространяются так же и на обычных PC и даже появляются в портативных устройствах, что ещё больше способствовует росту интереса к программированию ускорителей.

Такое широкое применение ускорителей является результатом их высокой производительности, энергоэффективности и низкой стоимости. Например, если сравнить Xeon E5-2687W и GTX 680, выпущенные в марте 2012, мы увидим, что GTX 680 в четыре раза дешевле, имеет в 8 раз большую производительность операций одинарной точности и в 4 раза большую пропускную способность памяти, а так же обеспечивает более 30 раз большую производительность в пересчёте на доллар и в 6 раз большую производительность на ватт. Исходя из таких сравнительных результатов, ускорители должны бы использоваться везде и всегда. Почему же этого не происходит?
Читать полностью »

1. Схема

Имеем:

  • Frontend — NGINX проксирующий сервер для принятия и распределения нагрузки (IP — 1.2.3.4 — внешний, IP — 192.168.5.10 — внутренний DMZ) по хорошему он тоже должен стоять за firewall-ом, но тут схема для простоты понимания.
  • Два сервера с поднятыми ownCloud
  • cloud-1 IP — 192.168.1.11
  • cloud-2 IP — 192.168.1.12
  • Хранилище файлов NFS-storage IP — 192.168.1.20 для размещения данных пользователей с доступом по NFS.

image
Читать полностью »

Суперкомпьютер IBM Watson станет отдельным подразделением корпорации с бюджетом в 1 миллиард долларов

Совсем недавно на Хабре уже публиковалась статья о том, что IBM открывает инструментарий суперкомпьютера IBM Watson для сторонних разработчиков. Теперь компания пошла дальше, и выделила IBM Watson в собственное подразделение, с дополнительным вложением средств.

Само собой, здесь имеется в виду не только сам суперкомпьютер, и но и команда его разработчиков, обслуживающего персонала и всех прочих. На развитие такого подразделения компания решила выделить 1 миллиард долларов, из которых десятая часть, 100 миллионов долларов, пойдет на создание «экосистемы» приложений и сервисов для IBM Watson.

Собственно, эти 100 миллионов выделены для формирования венчурного фонда, выделяющего инвестиции стартапам и компаниям, которые и будут разрабатывать приложения/сервисы для суперкомпьютера. Корпорация делает все это не просто так, а с оглядкой на прогноз исследовательской компании Gartner. По данным компании, в ближайшее время «умные» машины станут ключевым фактором прорыва в информационных технологиях, помогая людям «делать невозможное» и работать более эффективно.

Читать полностью »

Не секрет, что для защиты от HTTP-DDoS зачастую используют связку nginx в качестве фронтенда и некий другой web-сервер в качестве бакенда. При этом ввиду большой нагрузки возникает проблема хранения логов для дальнейшего их анализа. Можно хранить в текстовом файле, но, естественно, анализировать/ротировать его весьма неудобно. Можно гнать данные напрямую в, например, mysql через пайп, но выигрывая в удобстве анализа мы проигрываем в производительности, особенно это заметно при фрагментации. Золотой серединой, пожалуй, будет no-sql решение.
Для себя я выбрал redis.
Читать полностью »

Nvidia анонсировала процессор Tegra K1 (Tegra 5) со 192 ядрами

На выставке CES 2014, проходящей в Лас-Вегасе, демонстрируется много чего интересного. В частности, компания Nvidia представила очередной «мобильный» процессор, Tegra K1, основанный на архитектуре Kepler. Собственно, этот процессор мог бы называться Tegra 5, но его было решено переименовать из-за значительных отличий от предыдущих моделей.

Читать полностью »

Хочу показать вам прототип одного из своих некоммерческих проектов. Идея его проста — заменить буквы в словах на цветные квадраты. Ожидается, что человеческий мозг на распознавание цвета тратит существенно меньше времени чем на определение знака и такая система позволит увеличить скорость и упростит процесс чтения.
В качестве примера выбранна книга Джорджа Оруэлла, 1984. Постепенно, с каждой прочитанной страницей, буквы в квадратах будут пропадать и к 35й странице их не останется вовсе.

image

Читать полностью »

Photon – масштабируемая, отказоустойчивая и географически распределенная система обработки потоковых данных в режиме реального времени. Система является внутренним продуктом Google и используется в Google Advertising System. Research paper [5], описывающие базовые принципы и архитектуру Photon, был представлен на научной конференции ACM SIGMOD в 2013 году.

В paper [5] заявлено, что пиковая нагрузка на систему может составлять миллионы событий в минуту со средней end-to-end задержкой менее 10 секунд.
* 'Скорость света' в заголовке — наглая ложь гипербола.

Google Photon. Обработка данных со скоростью света*
Читать полностью »

В 2014 году сегмент микросерверов вырастет на 139%

Микросерверы — перспективный сегмент недорогих и энергоэкономичных компактных серверов. Именно они скоро будут востребованы на производствах, где не нужды в больших вычислительных мощностях. Также их собираются использоваться в дата-центрах новой архитектуры: миниатюрные микросервера планируется объединять в плотные кластеры. Если верить аналитикам из IC Insights, в ближайшем будущем именно представители этого сегмента будут «рулить» на рынках серверов во всем мире.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js