Как стать автором
Обновить
0
0
Павел Фоменко @Lord_Genry

System Architect

Отправить сообщение

Основные проблемы влияющие на производительность вычислительного ядра и приложения и методы их решения компилятором

Время на прочтение12 мин
Количество просмотров17K


Продолжаю разговор об оптимизации приложений, начатый здесь в посте «Существует ли простая оценка качества оптимизации приложения?»

Про процессоры можно говорить много и подробно и, наверняка, среди читателей Хабра есть масса людей споcобных на такие разговоры. Но моя точка зрения на процессор сугубо прагматичная. Поскольку меня интересует производительность приложения, через призму производительности процессора, то мне достаточно понимания базовых принципов работы вычислительного ядра. А также методов, которые существуют, чтобы на эти базовые принципы воздействовать. Буду я ориентироваться на архитектуру Intel64. Это вызвано тем, что в нашей команде анализа производительности мы занимаемся анализом работы оптимизирующего компилятора Intel, в основном, именно для этой архитектуры. На рынке вычислительных систем для высокопроизводительных вычислений эта и совместимые архитектуры занимают львинную долю, поэтому большинство проблем производительности имеет довольно общую природу. Давайте я коротко перечислю те основные проблемы и возможности, которые определяют производительность ядра и вычислительной системы и предложу короткий список различных оптимизаций, призванных влиять на эти проблемы.

Читать дальше →
Всего голосов 28: ↑21 и ↓7+14
Комментарии13

Ubuntu Linux «научили» работать Rockchip RK3066 (на примере ug802)

Время на прочтение2 мин
Количество просмотров37K


Как известно, чипы Rockchip RK3066 — это двухъядерные процессоры ARM Cortex-A9 с частотой работы ядра 1,6 ГГц. Процессоры эти очень популярны среди китайских производителей, которые выпускают большое количество разного рода мобильных устройств, планшетов, мини-ПК на основе этих процессоров. Большинство этих устройств работают на основе Android, поскольку разработчики Rockchip представили не так много средств/документации/исходных кодов для сторонних разработчиков ПО.

Читать дальше →
Всего голосов 34: ↑27 и ↓7+20
Комментарии14

Курс лекций «Стартап». Питер Тиль. Стенфорд 2012. Занятие 5

Время на прочтение21 мин
Количество просмотров113K

Этой весной, Питер Тиль (Peter Thiel), один из основателей PayPal и первый инвестор FaceBook, провел курс в Стенфорде — «Стартап». Перед началом Тиль заявил: «Если я сделаю свою работу правильно, это будет последний предмет, который вам придется изучать».

Один из студентов лекции записывал и выложил транскипт. В данном хабратопике 9e9names переводит пятое занятие. Редактор Astropilot)

Занятие 1: Вызов будущего
Занятие 2: Снова как в 1999?
Занятие 3: Системы ценностей
Занятие 4: Преимущество последнего хода
Занятие 5: Механика мафии
Занятие 6: Закон Тиля
Занятие 7: Следуйте за деньгами
Занятие 8: Презентация идеи (питч)
Занятие 9: Все готово, а придут ли они?
Занятие 10: После Web 2.0
Занятие 11: Секреты
Занятие 12: Война и мир
Занятие 13: Вы — не лотерейный билет
Занятие 14: Экология как мировоззрение
Занятие 15: Назад в будущее
Занятие 16: Разбираясь в себе
Занятие 17: Глубокие мысли
Занятие 18: Основатель — жертва или бог
Занятие 19: Стагнация или сингулярность?
Под катом подбор команды для стартапа
Всего голосов 39: ↑38 и ↓1+37
Комментарии9

Проксируем и спасаем

Время на прочтение7 мин
Количество просмотров163K
1 ноября мир изменился и больше никогда не будет таким же как прежде. В российском интернете появилась цензура — общеизвестный уже список запрещенных сайтов. Для одних это важнейшая политическая тема, для других повод изучить технологии шифрования и защиты анонимности, для третьих просто очередной странный закон, который приходится исполнять на бегу. Мы же поговорим о технологическом аспекте.

В данном пособии мы узнаем как быстро и просто сделать рабочее зеркало любого сайта, что позволяет сменить IP и назначить любое доменное имя. Мы даже попробуем спрятать домен в url, после чего можно сохранить локально полную копию сайта. Все упражнения можно сделать на любом виртуальном сервере — лично я использую хостинг Хетцнер и OS Debian. И конечно мы будем использовать лучший веб-сервер всех времен и народов — NGINX!

К этому абзацу пытливый читатель уже приобрел и настроил какой нибудь выделенный сервер или просто запустил Linux на старом компьютере под столом, а так же запустил Nginx последней версии со страничкой «Save me now».
Cкорее кого-нибудь спасем
Всего голосов 73: ↑68 и ↓5+63
Комментарии25

36 ядерный маршрутизатор от Mikrotik и кое-что еще

Время на прочтение1 мин
Количество просмотров46K
Mikrotik представила свои, давно анонсированные, роутеры «облачной» серии. Первая новинка Cloud Core Router CCR1036-12G-4S
image
Самый мощный 36-ядерный роутер от Микротик. Каждое ядро 1,2ГГц, 12xГбит портов, 4Gb RAM, 4xSFP слота, RS232 и USB порт, корпус 1U, питание от POE. В CCR1036-12G-4S имеется два слота SODIMM (поддержка 16Gb RAM и более). Обещана скорость 8 mpps по стандарному роутингу и 15 при fastpath режиме роутинга. До 16 Gbit/s трафика. Цена для дилеров 790$, розница 995$.
Читать дальше →
Всего голосов 24: ↑21 и ↓3+18
Комментарии54

Уязвимость в skype, позволяющая угнать любой аккаунт

Время на прочтение2 мин
Количество просмотров443K


Месяца три назад я писал об этой критической уязвимости в skype support, но она до сих пор не исправлена (уже исправлена).

Сразу скажу, что саму уязвимость я целиком не знаю(уже известна), но в последнее время начались массовые угоны аккаунтов.

Для реализации атаки необходимо лишь знать логин скайпа и e-mail жертвы.
Читать дальше →
Всего голосов 398: ↑345 и ↓53+292
Комментарии400

Самостоятельно готовимся к CCNA: практические советы

Время на прочтение7 мин
Количество просмотров286K


Среди сетевых специалистов не утихают споры: возможно (и стоит ли) готовиться к экзамену CCNA самостоятельно или нужно идти на платные курсы? В этой статье мы бы хотели дать несколько полезных советов тем, кто выбрал путь самостоятельной подготовки к экзамену компании Cisco CCNA.

Итак, возможно или нет?
Читать дальше →
Всего голосов 28: ↑25 и ↓3+22
Комментарии21

Честные выборы. Слово криптографам

Время на прочтение7 мин
Количество просмотров17K
Многие попытки (см., например Открытое электронное голосование(доказательство от противного), Про электронное тайное голосование) “на коленке” придумать эффективные схемы голосования, защищенного от основных видов фальсификаций, основываются на том или ином способе отказа от тайны голосования, игнорируя возникающие при этом опасности облегчения покупки голосов или принуждения избирателя к голосованию. Эти опасности, казалось бы, неизбежно вытекают из необходимости сочетать “несочетаемые” требования честных выборов – обеспечения возможности избирателю проверить, как учтен его голос, и исключения возможности продать свой голос – то есть доказать покупателю, как именно он проголосовал. Учет первого требования приводит к отказу от тайны голосования (хотя бы для самого избирателя), и, автоматически, дает этому избирателю возможность продать свой голос тому, кто захочет его купить. Возможность продажи голоса автоматически означает появление возможности принуждения избирателя голосовать по требованию злоумышленника под угрозой преследования или дискриминации. Фактической покупки голосов или принуждения может и не быть – достаточно самой угрозы и возможности такой покупки для возникновения опасности дискредитации результатов голосования.

Может ли современная криптография, решившая не менее головокружительные проблемы, представлявшиеся неразрешимыми на первый взгляд (открытие асимметричной системы шифрования), предложить решение, обеспечивающие выполнение двух требований честных выборов?

Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Комментарии83

Реализация Qt signal/slot на Android

Время на прочтение5 мин
Количество просмотров12K

Предисловие


Недавно портировал довольно большой проект с Qt (C++) на Android (Java), в процессе работы часто приходилось применять динамическое связывание объектов. Беда состояла в том что связывание (binding) в отличие от привычных сигналов и слотов в Qt в Java реализовано через лисенеры (listeners), и сколько я не пытался себя убедить что способ этот равноценен и тоже имеет место быть такого же удобства как при использовании сигналов и слотов достичь не удавалось.
Например, нам нужно связать бегунок (QSlider в Qt или SeekBar в Android) с каким либо действием, хотя бы привязать другой бегунок который будет послушно перемещаться следом за первым. В Qt подобная операция выглядит следующим образом:
Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Комментарии17

Чистый C++

Время на прочтение5 мин
Количество просмотров70K

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

В качестве введения
Многие считают, что есть два родственных языка — C и C++. При этом C++ — это якобы тот же C, только с двумя плюсами, т.е. ООП. Это очень распространенное заблуждение. «На самом деле все не так». C и С++ — это совершенно разные языки, не имеющие между собой практически ничего общего. Однако исторически так сложилось, что C++ синтаксически совместим с C, т.е. может компилировать программы, написанные на C. Из-за этой особенности четкая грань между языками отсутствует и существует множество кода, написанного на жуткой смеси этих языков. Причем пропорция этой смеси может меняться даже в рамках одной программы у одного автора.
Читать дальше →
Всего голосов 217: ↑108 и ↓109-1
Комментарии174

Встречайте IntelliCommand (Visual Studio 2010/2012 extension)

Время на прочтение1 мин
Количество просмотров15K
Как много горячих клавиш вы знаете в Visual Studio? Знаете все? Я знаю способ выучить их все. Хочу представить вам расширение для Visual Studio 2010/2012, которое я написал вместе со своими коллегами Drake Campbell и Aditya Mandaleeka. Позвольте мне просто скопировать описание расширения с Visual Studio Gallery:

IntelliCommand — это расширение для Visual Studio 2010 и 2012, которое помогает находить комбинации горячих клавиш. Данное расширение показывает окно-помощник со всеми возможными комбинациями клавиш при нажатии Control, Shift или Alt, или их комбинации (по умолчанию нужно удерживать клавишу на пару секунд). Так же данное расширение показывает список возможных комбинаций, когда вы нажимаете первую комбинацию из chord shortcut keys, например, Ctrl+K, Ctrl+C (данная комбинация закомментирует код в редакторе).
Читать дальше →
Всего голосов 58: ↑53 и ↓5+48
Комментарии33

Cubieboard — достойный соперник Raspberry Pi

Время на прочтение1 мин
Количество просмотров212K
Мини-компьютеры стремительно занимают свою нишу на рынке хай-тек устройств. Не успела отгреметь кампания «Raspberry Pi», а на дистанцию стали выходить другие интересные и недорогие решения. Tom Cubie, инженер из Китая, решил сделать свой вариант малобюджетного ARM-компьютера, умещающегося на плате размером 6 на 10 сантиметров.


Читать дальше →
Всего голосов 78: ↑74 и ↓4+70
Комментарии213

Ловушки языка С++

Время на прочтение3 мин
Количество просмотров49K
Было бы неплохо сделать серию статей, в которых описывались различные не очевидные «особенности» языков программирования. Во-первых, «предупреждён — значит, вооружён», во-вторых, знание их позволяет глубже понимать язык и объяснить, в случае чего, чем они опасны. Даже если в своём собственном коде такие конструкции не используются, с этими ловушками можно встретиться при разборе чужого кода или работая в команде.
Читать дальше →
Всего голосов 35: ↑19 и ↓16+3
Комментарии49

Управляем чайником из браузера или как я интернет-розетку делал

Время на прочтение5 мин
Количество просмотров165K

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

Итак, какой же путь должен проделать сигнал, чтоб включить чайник?
Нажатие кнопки на странице -> переход по ссылке и отработка web-сервера -> выполнение CGI скрипта -> передача команды по UART контроллеру -> появление напряжение на пине -> срабатывание реле, которое включает чайник.

Рассмотрим все по порядку.
Читать дальше →
Всего голосов 93: ↑87 и ↓6+81
Комментарии66

Использование оболочки Visual Studio 2010 для компиляции проектов с помощью gcc в Linux

Время на прочтение8 мин
Количество просмотров36K
Ни для кого не секрет, что Microsoft Visual Studio 2010 представляет собой мощную IDE, которая, помимо всего, позволяет заменять команды сборки проекта проектов путем внесения изменений в .vcxproj файлах. Как выяснилось, можно использовать эту возможность, чтобы заставить Visual Studio собирать проекты с помощью gcc, работающего на другом компьютере под управлением Linux. При этом обращение к gcc на Linux должно происходить по сети, например по ssh. В этой статье мы расскажем вам о проделанном нами эксперименте по такой необычной настройке Visual Studio.

Предположим, у нас есть программа:
Читать дальше →
Всего голосов 48: ↑44 и ↓4+40
Комментарии15
12 ...
39

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность