Вроде достаточно просто, но впечатляет: если в реализации алгоритма 10% вычислений строго последовательны, нет смысла считать такую задачу на кластере более чем из 100 узлов, при этом максимальный выигрыш - в 10 раз быстрее чем на одном узле. Более десятикратного роста на такой задаче не добиться.
Закон Амдала выводит зависимость роста производительности от количества вычислителей и количества последовательных вычислений.
А тем временем только ленивый не написал про фреймворк MapReduce. Поскольку я ленивый не совсем, я тоже напишу.
По простому.
Вся фенечка этого фреймворка в том, что вам надо написать две функции для обработки ваших петабайт данных. Всего две.
Первая
map (in_key, in_value) -> list(out_key, intermediate_value)
и вторая
reduce (out_key, list(intermediate_value)) -> list(out_value)
Функция мэп получает на вход куски ваших данных в виде "ключ - значение", что-то делает (вам видней что, это ваша функция) и должна выдать результат в виде "ключ - значение".
Далее работает фреймворк, он группирует выход функции мэп так, чтобы ключи не повторялись, поэтому ключи связаны уже со списками значений (если в выходе мэп был уникальный ключ, то список получится из одного элемента).
И эти пары "ключ - список значений" фреймворк передает в вашу функцию редюс. Которая посчитает то, что вам надо. В виде списка или единственного значения, вам видней.
Если у вас есть задача, которую можно посчитать в таком стиле, если данных для обсчета очень много - ура, с помощью этого фреймворка вы можете посчитать свою задачу на гуглевом кластере. Очень быстро.
http://ru.wikipedia.org/wiki/MapReduce
Tools
Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.
2009-05-12
Масштабируемость
Posted by Valentin at 01:40
Labels: development, hiload
Подписаться на:
Комментарии к сообщению (Atom)
Архив блога
-
▼
2009
(365)
-
▼
мая
(31)
- Сказки
- ИИ
- Разные, мы разные
- Samba
- Рекомендация знатока
- Скриншоты - Shutter
- БДёвый путь
- mount разное
- Какой камень покупать
- Топобейс
- Питон за 13 уроков
- Wget
- Адреналин 2
- Толковая работа
- К чему такие сложности?
- Инфантилизьм
- Откровение
- Банеры, зарисовка
- Масштабируемость
- Snipplr
- Осквернение символики
- Скетчи
- Дискуссия
- Сорок правил метасатаниста
- Не люблю верстку
- HTTP redirect
- Здравый смысл
- DNS fix
- Microsoft Dynamics (AX|NAV)
- Протоколонезависимые абсолютные урлы
- Бронебойные советы
-
▼
мая
(31)
Ярлыки
linux
(241)
python
(191)
citation
(186)
web-develop
(170)
gov.ru
(159)
video
(124)
бытовуха
(115)
sysadm
(100)
GIS
(97)
Zope(Plone)
(88)
бурчалки
(84)
Book
(83)
programming
(82)
грабли
(77)
Fun
(76)
development
(73)
windsurfing
(72)
Microsoft
(64)
hiload
(62)
internet provider
(57)
opensource
(57)
security
(57)
опыт
(55)
movie
(52)
Wisdom
(51)
ML
(47)
driving
(45)
hardware
(45)
language
(45)
money
(42)
JS
(41)
curse
(40)
bigdata
(39)
DBMS
(38)
ArcGIS
(34)
history
(31)
PDA
(30)
howto
(30)
holyday
(29)
Google
(27)
Oracle
(27)
tourism
(27)
virtbox
(27)
health
(26)
vacation
(24)
AI
(23)
Autodesk
(23)
SQL
(23)
humor
(23)
Java
(22)
knowledge
(22)
translate
(20)
CSS
(19)
cheatsheet
(19)
hack
(19)
Apache
(16)
Manager
(15)
web-browser
(15)
Никонов
(15)
Klaipeda
(14)
functional programming
(14)
happiness
(14)
music
(14)
todo
(14)
PHP
(13)
course
(13)
scala
(13)
weapon
(13)
HTTP. Apache
(12)
SSH
(12)
frameworks
(12)
hero
(12)
im
(12)
settings
(12)
HTML
(11)
SciTE
(11)
USA
(11)
crypto
(11)
game
(11)
map
(11)
HTTPD
(9)
ODF
(9)
Photo
(9)
купи/продай
(9)
benchmark
(8)
documentation
(8)
3D
(7)
CS
(7)
DNS
(7)
NoSQL
(7)
cloud
(7)
django
(7)
gun
(7)
matroska
(7)
telephony
(7)
Microsoft Office
(6)
VCS
(6)
bluetooth
(6)
pidgin
(6)
proxy
(6)
Donald Knuth
(5)
ETL
(5)
NVIDIA
(5)
Palanga
(5)
REST
(5)
bash
(5)
flash
(5)
keyboard
(5)
price
(5)
samba
(5)
CGI
(4)
LISP
(4)
RoR
(4)
cache
(4)
car
(4)
display
(4)
holywar
(4)
nginx
(4)
pistol
(4)
spark
(4)
xml
(4)
Лебедев
(4)
IDE
(3)
IE8
(3)
J2EE
(3)
NTFS
(3)
RDP
(3)
holiday
(3)
mount
(3)
Гоблин
(3)
кухня
(3)
урюк
(3)
AMQP
(2)
ERP
(2)
IE7
(2)
NAS
(2)
Naudoc
(2)
PDF
(2)
address
(2)
air
(2)
british
(2)
coffee
(2)
fitness
(2)
font
(2)
ftp
(2)
fuckup
(2)
messaging
(2)
notify
(2)
sharepoint
(2)
ssl/tls
(2)
stardict
(2)
tests
(2)
tunnel
(2)
udev
(2)
APT
(1)
CRUD
(1)
Canyonlands
(1)
Cyprus
(1)
DVDShrink
(1)
Jabber
(1)
K9Copy
(1)
Matlab
(1)
Portugal
(1)
VBA
(1)
WD My Book
(1)
autoit
(1)
bike
(1)
cannabis
(1)
chat
(1)
concurrent
(1)
dbf
(1)
ext4
(1)
idioten
(1)
join
(1)
krusader
(1)
license
(1)
life
(1)
migration
(1)
mindmap
(1)
navitel
(1)
pneumatic weapon
(1)
quiz
(1)
regexp
(1)
robot
(1)
science
(1)
serialization
(1)
spatial
(1)
tie
(1)
vim
(1)
Науру
(1)
крысы
(1)
налоги
(1)
пианино
(1)
Комментариев нет:
Отправить комментарий