Не устаревают только костяные счеты. Все, что сложнее их, рано или поздно, уступает место новому. Пришла очередь популярного (и заслуженно!) твердотельного накопителя КС400. Он был выпущен уже три года назад, пришло время заменить его на конвейере более совершенной моделью. Kingston объявил о выпуске КС600, твердотельника с высокой скоростью работы, большим выбором объемов, на любой кошелек и для самых разных задач, и, вдобавок, с широким набором средств шифрования.
Рубрика «высокая производительность» - 30
Новый SSD для ноутбуков и десктопов. KC600 — высокая скорость, большой объем
2019-10-28 в 16:06, admin, рубрики: KC600, Kingston, ssd, SSD Kingston, SSD для сервера, Блог компании Kingston Technology, высокая производительность, Компьютерное железо, накопитель, накопитель для ноутбука, Настольные компьютеры, настольный накопитель, хранение данных, шифрование данныхОтладка скрытых утечек памяти в Ruby
2019-10-28 в 13:08, admin, рубрики: ruby, Анализ и проектирование систем, Блог компании Mail.Ru Group, высокая производительность, никто не читает теги, отладка, утечки памяти
В 2015-м я написал об инструментарии, который Ruby предоставляет для обнаружения управляемых утечек памяти. В основном статья рассказывала о легко управляемых утечках. На этот раз я расскажу об инструментах и хитростях, которые вы можете применять для ликвидации утечек, которые в Ruby не так легко проанализировать. В частности, я расскажу о mwrap, heaptrack, iseq_collector и chap.
Читать полностью »
Программист-защитник сильнее энтропии
2019-10-28 в 8:12, admin, рубрики: best practices, fallback, post mortem, безопасность, Блог компании FunCorp, валидация, высокая производительность, кеширование, надежность, оптимизация, прагматизм, практики, практики программирования, Программирование, Проектирование и рефакторинг, процесс разработки, процессы, Разделение привилегий, разделяй и властвуй, разработка, Совершенный код, стабильность© Dragon Ball. Goku.
Программист-защитник в любой момент и в любом месте кода ожидает появления потенциальных проблем и пишет код таким образом, чтобы заранее от них защититься. А если от проблемы нельзя защититься, то хотя бы сделать так, чтобы её последствия и влияние на пользователей были минимальными.
Вспоминается эффект FlashForward из голливудских блокбастеров, когда главный герой видит грядущую катастрофу и остаётся предельно спокойным, потому что заранее знает, что она произойдёт, и имеет от неё защиту. Идея защитного программирования в том, чтобы защититься от проблем, которые сложно или вовсе невозможно предвидеть. Программист-защитник ожидает появления ошибок в любом месте системы и в любой момент времени, чтобы предотвратить их до того, как они нанесут ущерб. При этом цель не в том, чтобы создать систему, которая никогда не падает, это всё равно невозможно. Цель в том, чтобы создать систему, которая падает изящно в случае любой непредвиденной проблемы.
Давайте разберёмся подробнее, что входит в понятие «падать изящно».
- Падать быстро. В случае непредвиденной ошибки все операции должны завершаться сразу же, особенно если последующие вычисления тяжёлые или могут привести к порче данных.
- Падать аккуратно. Если возникла ошибка, программа должна освободить все ресурсы, снять локи, удалить временные и наполовину записанные файлы, закрыть соединения. Дождаться завершения критических операций, прерывание которых может привести к непредсказуемым результатам. Либо безопасным способом аварийно завершить эти операции.
- Падать явно и красиво. Если что-то сломалось, сообщение об ошибке должно быть простым, лаконичным и содержать важные детали из того контекста системы, где возникла ошибка. Это поможет команде, которая отвечает за систему, максимально быстро разобраться в проблеме и исправить её.
Высоконагруженный сервис для вычислений на GPU
2019-10-25 в 10:21, admin, рубрики: gpu, Анализ и проектирование систем, Блог компании Mail.Ru Group, высокая производительность, высоконагруженный сервис, машинное обучение, обработка изображений
Привет! Я руковожу разработкой платформы Vision — это наша публичная платформа, которая предоставляет доступ к моделям компьютерного зрения и позволяет вам решать такие задачи, как распознавание лиц, номеров, объектов и целых сцен. И сегодня хочу на примере Vision рассказать, как реализовать быстрый высоконагруженный сервис, использующий видеокарты, как его разворачивать и эксплуатировать.
Читать полностью »
Пробуем preload (PHP 7.4) и RoadRunner
2019-10-22 в 12:04, admin, рубрики: performance, php, php-fpm, preload, roadrunner, Блог компании Badoo, высокая производительность, Программирование, Разработка веб-сайтов
Привет!
Мы часто пишем и говорим о производительности PHP: как мы ей занимаемся в целом, как мы сэкономили 1 млн долларов при переходе на PHP 7.0, а также переводим разные материалы на эту тему. Это вызвано тем, что аудитория наших продуктов растёт, а масштабирование PHP-бэкенда при помощи железа сопряжено со значительными затратами — у нас 600 серверов с PHP-FPM. Поэтому инвестирование времени в оптимизацию для нас выгодно.
Прежде мы говорили в основном об обычных и уже устоявшихся способах работы с производительностью. Но сообщество PHP не дремлет! В PHP 8 появится JIT, в PHP 7.4 — preload, а за пределами core-разработки PHP развиваются фреймворки, подразумевающие работу PHP как демона. Пора поэкспериментировать с чем-то новым и посмотреть, что это может нам дать.
Так как до релиза PHP 8 ещё далеко, а асинхронные фреймворки плохо подходят для наших задач (почему — расскажу ниже), сегодня остановимся на preload, который появится в PHP 7.4, и фреймворке для демонизации PHP — RoadRunner.
Это текстовая версия моего доклада с Badoo PHP Meetup #3. Видео всех выступлений мы собрали в этом посте.Читать полностью »
Как AWS «варит» свои эластичные сервисы. Масштабирование серверов и базы данных
2019-10-22 в 7:50, admin, рубрики: amazon aurora, Amazon Web Services, AWS, Nitro, Блог компании Конференции Олега Бунина (Онтико), высокая производительность, масштабирование, Разработка веб-сайтов, хранилища данныхОблака подобны магической шкатулке — задаешь, что тебе нужно, и ресурсы просто появляются из ниоткуда. Виртуальные машины, базы данных, сеть — все это принадлежит только тебе. Существуют и другие тенанты облака, но в своей Вселенной ты единоличный правитель. Ты уверен, что всегда получишь требуемые ресурсы, ни с кем не считаешься и самостоятельно определяешь, какой будет сеть. Как устроена эта магия, которая заставляет облако эластично выделять ресурсы и полностью изолировать тенанты друг от друга?
Облако AWS это мегасуперсложная система, которая эволюционно развивается с 2006 года. Часть этого развития застал Василий Пантюхин — архитектор Amazon Web Services. Как архитектор он видит изнутри не только конечный результат, но и сложности, которые преодолевает AWS. Чем больше понимания работы системы, тем больше доверия. Поэтому Василий поделится секретами облачных сервисов AWS. Под катом устройство физических серверов AWS, эластичная масштабируемость БД, кастомная база данных Amazon и методы повышения производительности виртуальных машин с одновременным уменьшением их цены. Знание архитектурных подходов Amazon поможет эффективнее использовать сервисы AWS и, возможно, даст новые идеи по построению собственных решений.
Читать полностью »
Мы ускорили планировщик Tokio в десять раз
2019-10-20 в 13:59, admin, рубрики: crossbeam, Hyper, loom, mpmc, Rust, TechEmpower, Tonic, Алгоритмы, высокая производительность, двусторонняя очередь, захват работы, комбинаторный взрыв, пермутационное тестирование, планировщик задач, Программирование, система задач, Тестирование IT-систем, шедулерМы в поте лица готовим очередную мажорную версию Tokio, асинхронной среды выполнения для Rust. 13 октября для слияния в ветку оформлен пул-реквест с полностью переписанным планировщиком задач. Результатом станет огромное улучшение производительности и уменьшение задержки. В некоторых тестах зафиксировано десятикратное ускорение! Как обычно, синтетические тесты не отражают фактическую выгоду в реальности. Поэтому мы также проверили, как изменения в планировщике повлияли на настоящие задачи, такие как Hyper и Tonic (спойлер: результат замечательный).
Готовясь к работе над новым планировщиком, я потратил время на поиск тематических ресурсов. Кроме фактических реализаций, особо ничего не нашлось. Я также обнаружил, что в исходниках существующих реализаций трудно ориентироваться. Чтобы исправить это, мы постарались написать шедулер Tokio как можно более чисто. Надеюсь, эта подробная статья о реализации планировщика поможет тем, кто находится в том же положении и безуспешно ищет информацию на эту тему.
Статья начинается с высокоуровневого обзора дизайна, в том числе политик захвата работы. Затем погрузимся в детали конкретных оптимизаций в новом планировщике Tokio.
Читать полностью »
Чипы для ML — рассказываем о новинках
2019-10-20 в 12:12, admin, рубрики: 1сloud, Блог компании 1cloud.ru, высокая производительность, машинное обучениеГоворим о новых архитектурах как крупных мировых производителей, так и стартапов — waferscale-чипах, тензорных процессорах и устройствах на базе графов.
Подборка по теме:
По вашим заявкам: профессиональный тест SSD-накопителей Kingston DC500R и DC500M
2019-10-18 в 10:26, admin, рубрики: SSD-накопитель, Блог компании Kingston Technology, высокая производительность, накопитель, накопитель для ЦОД, серверные решения, Сетевое оборудование, стойка, хранение данных, хранилище, центр обработки данных, цодВы просили показать реальные примеры использования наших корпоративных SSD-накопителей и профессиональные тесты. Предоставляем вашему вниманию подробный обзор наших SSD-накопителей Kingston DC500R и DC500M от нашего партнера Truesystems. Эксперты Truesystems собрали реальный сервер и эмулировали абсолютно реальные задачи, с которыми сталкиваются все твердотельные накопители корпоративного класса. Давайте почитаем, что у них получилось!
Почему надо создавать модули для nginx
2019-10-16 в 11:11, admin, рубрики: Lua, lua-nginx-module, nginx, nginx module, njs, open source, Блог компании Конференции Олега Бунина (Онтико), высокая производительность, Разработка веб-сайтовNginx — это веб-сервер, который решает десятки бизнес-задач, гибко настраивается, масштабируется и работает почти на всех ОС и платформах. Список функций, возможностей и решаемых проблем из коробки можно расписать в небольшой брошюре. Но порой, ряд бизнес-задач можно решить, только разработав собственные модули для nginx. Это модули, которые ориентированы на бизнес и содержат некоторую бизнес-логику, а не только обобщенное системное решение.
Вообще все в nginx — это модули, которые когда-то кем-то были написаны. Поэтому писать модули под nginx не только можно, но и нужно. Когда это необходимо делать и зачем, расскажет Василий Сошников (dedokOne) на примере нескольких кейсов.
Поговорим о причинах, которые побуждают писать модули на C, об архитектуре и ядре nginx, анатомии HTTP-модулей, о C-модулях, NJS, Lua и nginx.conf. Это важно знать не только тем, кто разрабатывает под nginx, но также тем, кто использует nginx-конфиги, Lua или другой язык внутри nginx.
Примечание: статья написана на основе доклада Василия Сошникова, который постоянно модернизируется и обновляется. Информация в материале довольно техническая и, чтобы извлечь максимум пользы, читателям необходимо иметь опыт работы с кодом nginx на среднем уровне и выше.
Читать полностью »