Компьютерра - Компьютерра PDA 19.06.2010-25.06.2010

Тут можно читать онлайн Компьютерра - Компьютерра PDA 19.06.2010-25.06.2010 - бесплатно полную версию книги (целиком) без сокращений. Жанр: Прочая околокомпьтерная литература. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

Компьютерра - Компьютерра PDA 19.06.2010-25.06.2010 краткое содержание

Компьютерра PDA 19.06.2010-25.06.2010 - описание и краткое содержание, автор Компьютерра, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

ОГЛАВЛЕНИЕ

Сергей Голубицкий: Голубятня: Жертва Жэпса

Григорий Рудницкий: Редактор видео YouTube

Василий Щепетнев: Василий Щепетнёв: Искушение пустынника Владимира

Николай Маслухин: Промзона: Многоразовая крышка

Сергей Голубицкий: Голубятня: Коннект-позор

Максим Букин: Skype против "Мультифона": в чём разница?

Ника Парамонова: Panasonic VIERA TX-PR42G20 - телевизор с возможностями компьютера

Юрий Ильин: Lenovo в Москве: всё руководство в сборе

Андрей Письменный: E3 2010: кто победит в войне контроллеров

Ваннах Михаил: Кафедра Ваннаха: Готовый корм для памяти

Николай Маслухин: Промзона: Посудомойка из 2050-го

Берд Киви: Кивино гнездо: Люди и насекомые

Анатолий Вассерман: Бдительность и репрессии

Андрей Письменный: В чём секрет многозадачности iOS4

Андрей Письменный: "Нивал" и 1С о выставке E3 2010

Юрий Ильин: Сотовый телефон заменит билет на метро

Василий Щепетнев: Василий Щепетнёв: Жизнь и смерть деревянных солдат - III

Николай Маслухин: Промзона: Настенная корзина для белья

Сергей Голубицкий: Голубятня: Twitter

Берд Киви: Кивино гнездо: Безмолвный очевидец

Олег Нечай: Суперкомпьютер IBM Watson: элементарно, Ватсон

дана бойд: 4chan и взлом экономики внимания

Михаил Карпов: Вещь дня: Трекпад-цифровая клавиатура

Юрий Ревич: СМИ оказались равнее других

Крестников Евгений: Нетбуки и планшеты – кто победит

Николай Маслухин: Промзона: Скакалка-заряжалка

Олег Нечай: Системные платы для платформы Intel

Олег Парамонов: Уимблдонская дополненная реальность

Ваннах Михаил: Кафедра Ваннаха: Левиафан как форма искусственной жизни

Герман Царев: Нет ничего проще

Михаил Карпов: Вещь дня: iPhone-джойстик, iPad-"Денди"

Юрий Ильин: NFC в метрополитене, далее везде

Андрей Письменный: Что ждёт Kinect и новый Xbox 360 в России

Юрий Ильин: Нано-био-холодильник

Василий Щепетнев: Василий Щепетнёв: Полёт гусеницы

Юрий Ильин: Елена Дорохина о юбилее Price.ru и его новой версии

Юрий Ильин: DisTREE ИТ-неделя: два дня и 25 фотографий

Максим Букин: Перевод через мобильный

Компьютерра PDA 19.06.2010-25.06.2010 - читать онлайн бесплатно полную версию (весь текст целиком)

Компьютерра PDA 19.06.2010-25.06.2010 - читать книгу онлайн бесплатно, автор Компьютерра
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Но вот интеллектуально "Левиафан" хорош. Особенно его начало - представление о том, "что все автоматы (механизмы, движущиеся при помощи пружин и колес, как, например, часы) имеют искусственную жизнь". Наивно? Но ведь это писано в те годы, когда друг Гоббса аббат Мерсенн пытался запустить пушечное ядро на орбиту спутника земли... И далее - представление о государстве, Левиафане, как об объекте искусственной жизни, созданном искусством человека. То что дальше - это историкам политической философии. Пусть сегодня bella omnia contra omnes, война всех против всех, с которой началась человеческая история, кажется более правдоподобной, - в свете находок обглоданных прачеловеческих костей в прачеловеческих же становищах, - чем сторонникам либерального "естественного состояния" Локка. И пусть идея блага, достигаемого подчинением власти, не привлекает после тоталитаризмов ХХ века. Всё равно - идея о подобии социальных структур живым существам золотыми буквами вписана в историю науки.

Ну, и под конец вспомним, что перед крахом СССР появилась тенденция рассматривать тогдашний аппарат управления как некие "големы", объекты искусственной жизни - ну, например, в самиздатовской статье А. Лазарчука и П. Лелика "Голем хочет жить" http://lazandr.lib.ru/web/books027.html. Идея забавная, но отводящая внимание от конкретных людей, сначала управлявших, а потом и - владевших собственностью. Когда то Бернард Рассел отметил, что в передовых странах практика ведет за собой философию, а в странах отсталых чужие теории определяют практику...

Нет ничего проще

Автор: Герман Царев

Опубликовано 24 июня 2010 года

Орфография и пунктуация автора сохранены. - прим. ред.

Наверное, каждый человек, занимающийся разработкой программного обеспечения, когда-либо сталкивался с задачей обработки больших объемов данных. Такая потребность могла возникнуть при реализации сложных математических алгоритмов, обработки сетевого трафика, создания различного рода игр и так далее. И тогда приходилось принимать очень важное, определяющее решение для дальнейшей разработки. Либо обрабатывать все данные в одном потоке, что, конечно же, занимает огромное количество времени и не реализует все возможности и ресурсы многоядерных машин, которые на настоящий момент, мягко говоря, не редкость, либо заниматься многопоточным программированием, которое в свою очередь существенно может ускорить выполнение программы.

Естественно, что более опытные и подготовленные специалисты выбирали второй путь развития событий. Их выбор является вполне понятным и логичным. Однако при попытке его реализации можно наткнуться на следующие проблемы.

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

Вторая проблема такого подхода связана со сложностью отладки подобных приложений. Практика и статистика показывает, что при реализации больших проектов, более 40% времени разработки тратится на исправление ошибок, тестирование и отладку приложения. В случае многопоточной реализации на этот процесс уйдет в 2-3 раза больше времени.

Отсюда возникает желание создавать многопоточные "быстрые" приложение, однако, затрачивая на это меньше времени и сил. Было бы здорово, если бы процесс создания, контроля, синхронизации потоков проходил в автоматическом режиме без участия разработчика.

И такой механизм уже существует, однако, далеко не всем о нем известно. В настоящей статье я попытаюсь раскрыть суть и основы этого удобного и полезного инструмента для разработчиков многопоточных приложений.

И так, знакомьтесь – MapReduce. Эта модель программирования для обработки больших объемов данных. Ее создателем считается небезызвестная компания Google. В своей работе она активно применяет этот механизм, что позволяет говорить о его удобности, быстродействии и практичности.

Рассмотрим обработку данных с применением этой технологии. MapReduce включает в себя 3 этапа. Подготовка данных, определение функции map и определении функции reduce. Рассмотрим каждый их этих этапов.

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

Определение функции map. Функция map является, по сути, обработчиком данных. В последующем эта функция будет запускаться в каждом потоке для обработки тех частей данных, которые подготовил программист на первом этапе. Параметром является часть данных для обработки. Возвращать функция должна результат обработки этих данных. Возвращаемое значение определяется программистом в зависимости от решаемой задачи.

Определение функции reduce. Функция reduce служит для сборки обработанных частей данных в единый результат. Программист определяет эту функции исходя из поставленной задачи и требуемого результата.

После этого, для запуска обработки данных необходимо вызвать всего одну функцию (ее название зависит от реализации механизма MapReduce, например в Qt подобная функция имеет название mappedReduced), указав в ее параметрах: подготовленные разбитые на части данные, функцию map и функцию reduce.

После вызова этой функции будет автоматически запущено необходимое количество потоков, которые обработают все входные данные и соберут единый результат. В итоге – минимум затрат от программиста и максимальная производительность. Как показывает практика, приложения, написанные с применением MapReduce, оказываются минимум в 2 раза быстрее, чем приложения, использующие обычный механизм запуска потоков.

Данная технология реализована для различных языков программирования, например, для С++, С#, Java и других.

Удобной, простой в использовании с одной стороны, и показывающие прекрасные результаты быстродействия с другой, является реализация механизма MapReduce в объектно-ориентированной кроссплатформенной библиотеке Qt.

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

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

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Компьютерра читать все книги автора по порядку

Компьютерра - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Компьютерра PDA 19.06.2010-25.06.2010 отзывы


Отзывы читателей о книге Компьютерра PDA 19.06.2010-25.06.2010, автор: Компьютерра. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x