Выбрать главу

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

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

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

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

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

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

В заключении хотелось бы сказать, что применять MapReduce необходимо обоснованно, обдуманно, иначе выигрыш времени, получаемый при распараллеливании, может быть меньше, чем время на создание новых потоков. Но надеюсь, что после освоения этого механизма каждый, кто будет слышать про обработку больших объемов данных, будет думать – да нет же ничего проще =)

К оглавлению

Голубятня-Онлайн

Голубятня: Коннект-позор

Сергей Голубицкий

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

Признаюсь, несколько подряд айтишных тем уже занудили меня и набили оскомину. Знаете: IT летом — словно жмурка, к ночи помянутая. Бррр! Так что будем дозировать, будем дозировать. Сегодня — последняя реплика, а затем перерыв — на нивах культурного просвещения и соцполитбаталий.

Я никогда не перестану «по-децки» наивно удивляться беспределу, творимому московскими опсосами. В смысле, что у меня элементарно в голове не укладываются причины и мотивы этого беспредела?! Ну почему так?! За что?! Неужели единственный объективный аргумент — это «лохов НУЖНО обувать по определению»?! Отъезжаешь от Московской области, и сразу же восстанавливаются рамки приличия: тарифы более или менее пристойные, поведение хоть и гадкое, но в пределах общепринятого во всем мире (другое дело, что опсосы повсюду на планете Земля одиозны по ту сторону добра и зла).

Нет, я правда бы хотел выслушать хоть кого-нибудь из Великой Тройки (с Большой Дороги) на предмет обоснования того, что они творят на просторах Новой Рязани и прилегающей к ней области. Может, есть какие-то объективные причины для ОСКОРБИТЕЛЬНЫХ тарифов, которыми грузятся московиты? Какая-то особая неприязнь? Внутреннее отторжение? Финансовые вилы и подводные камни? Скрытые поборы и налоги? Хоть что-то, что способно объяснить надругательство над пользователями...

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

Когда я последний раз писал о несуразных тарифах «Билайн», МТС и «Мегафона» в Москве и Московской области в сравнении с предложениями украинских и молдавских операторов, в Новой Рязани ещё не было 3G. Поэтому сравнивать особо было нечего: с одной стороны, полноценный скоростной HSDPA и WCDMA, с другой — жалкие потуги, балансирующие между GPRS и EDGE. Тогда все кивали на военных: типа, защитники родины не дают частот, вставляют палки в колёса.

Ну хорошо, перестали защитники вставлять. Сегодня с большой помпой отрапортовали Диумвирату: Три Жэ в Столице Есть! Уррряяя!

И чего? А вот я вам сейчас продемонстрирую, чего. Смотрите: это отрывок из бумажной «Голубятни», написанной летом 2008 года: