?

Log in

No account? Create an account
И вновь данайцы - Valse oubliée [entries|archive|friends|userinfo]
aruslan

[ userinfo | livejournal userinfo ]
[ archive | journal archive ]
[ delicious | aruslan's delicious ]

Links
[Links:| Tags Profile Friends FG1 PP gamedev XNA FF Entries Comments Memories ]

И вновь данайцы [Jan. 24th, 2009|04:06 pm]
aruslan
[Tags|, , ]

Забавно рассказывать о map и fold/reduce - и говорить о MapReduce.
Примерно так же забавно, как говорить о map и fold/reduce, объясняя fold/refold/unfold.
Википедия однозначно приносит плоды.

Зато ликбез был успешно проведён аж на трёх фронтах. И это радует.
LinkReply

Comments:
From: acefsm
2009-01-25 02:05 am (UTC)
что неужели занялись СУБД?
(Reply) (Thread)
[User Picture]From: aruslan
2009-01-25 02:14 am (UTC)
не-не, СУБД это слишком! :))
я просто рассказывал как в ассет пайплайне работает анализ и трансформации identity/sharing, времен жизни и cold-hot/AoS-SoA.
(Reply) (Parent) (Thread)
[User Picture]From: helvegr
2009-01-25 08:27 pm (UTC)
А что такое refold?
(Reply) (Thread)
[User Picture]From: aruslan
2009-01-26 10:13 am (UTC)
В компонентных системах на базе прототипов и цепочек делегирования - процесс преобразования удобной для authoringа модели в удобную для железа и программистов.

Грубо - делаем все плоским (убираем делегирование, анфолд) и заново фолдим базируясь на PGO-информации.
Я напишу подробнее как время будет.
(Reply) (Parent) (Thread)
(Deleted comment)
[User Picture]From: aruslan
2009-01-26 10:18 am (UTC)
Пахнет? ;)
(Reply) (Parent) (Thread)
(Deleted comment)
[User Picture]From: aruslan
2009-01-26 10:18 am (UTC)
Сайбер, ты меня пугаешь!
(Reply) (Parent) (Thread)
[User Picture]From: loyso_b
2009-01-26 07:00 am (UTC)
Мистер, обьясните провинциалу (т.е. мне) что такое AoS-SoA?
(Reply) (Thread)
[User Picture]From: aruslan
2009-01-26 10:03 am (UTC)
Хот-колд преобразование делается как часть PGO и разделяет структуру на горячие совместно-используемые и холодную части.

АоС - массив структур.
СоА - структура массивов.

В мире эльфов это неважно, а у нас - PGO потому что разные view.
(Reply) (Parent) (Thread)
[User Picture]From: loyso_b
2009-01-26 10:53 am (UTC)
AoS - антропологично, а SoA - для PPU?
(Reply) (Parent) (Thread)
[User Picture]From: loyso_b
2009-01-26 10:56 am (UTC)
* тьфу, SPU!
(Reply) (Parent) (Thread)
[User Picture]From: aruslan
2009-01-26 08:45 pm (UTC)
Для полиморфизма через мозг а не через как обычно.
Ну и для железа, очевидно.
(Reply) (Parent) (Thread)
[User Picture]From: north_log
2009-01-27 09:11 pm (UTC)
>Для полиморфизма через мозг а не через как обычно.

То есть объекты одинаковых типов группируются в SoA и если необходимо вызывать виртуальную функцию, то она вызывается однажды для всей группы?
А внутри у неё много-много циклов по этим самым A ?
При AoS, цикл по А с вызовом виртуальной функции для каждой S, так ?

вместо O(n) витуальных вызовов, делаем O(1*С) С- количество групп однотипных обьектов ?
тут же профит в кэшмиссах, ага.
(Reply) (Parent) (Thread)
From: (Anonymous)
2009-01-27 09:15 pm (UTC)
и sizeof(vptr) памяти можно эконимить для каждого обьекта в группе ...


>>Примерно так же забавно, как говорить о map и fold/reduce, объясняя fold/refold/unfold.

реквестирую конспект лекции! (куда-нибудь на blog.gamedeff) :)
(Reply) (Parent) (Thread)
[User Picture]From: aruslan
2009-01-28 02:58 am (UTC)
Грубо - да.
Про мозг - в authoring данных есть тенденция объединять мягкое и тёплое.
Например - звуки, графику, игровые свойства и т.п.
Получаются такие развесистые "графы всего".

На выходе обычно имеет смысл хранить звуки отдельно, рендерные отдельно, игровые данные рефолднутыми и т.п.

Ну и перешить объекты между собой где надо (где важно иметь отличный lifetime или принципиально надо дрочить на identity).
Получается "набор" "массивов", формирующих собою "гиперграф".

Про железо - префетчи и DMA-трансферы получаются влёт.
Плюс сильно проще управлять графами зависимостей тасков/джобов.
(Reply) (Parent) (Thread)
[User Picture]From: plakhov
2009-01-26 08:59 am (UTC)
А вот кстати, я только в Яндексе понял, что MapReduce - глобальное наебалово. Т.е. эта "красивая" идея, вроде как рекламирующая труъ математическое программирование, на самом деле, совершенно не нужна. Вот с этой абстракцией http://plakhov.livejournal.com/85028.html работать и быстрее, и намного приятнее, ну в разы просто; при этом ничего "функционального" в ней уже, в общем-то, нет.
(Reply) (Thread)
[User Picture]From: aruslan
2009-01-26 09:59 am (UTC)
Заголовок моего поста вполне отражает ;)
(Reply) (Parent) (Thread)
[User Picture]From: plakhov
2009-01-26 10:09 am (UTC)
А, увидел
(Reply) (Parent) (Thread)
[User Picture]From: aruslan
2009-01-26 10:15 am (UTC)
Что не отменяет.
За ссылку спасибо :)
(Reply) (Parent) (Thread)
[User Picture]From: mimokhod
2009-02-03 09:01 pm (UTC)
<хуй-с-горы>
Нихера не понял, оказалось про код )))),



я то думал про 2Dmapping -> 3Dmodel . . .


Кстати, вот мы с Серегой много аналогий находим между графой и звуком..
А тут есть что-то общее? Ну так, для праздного интереса. Термины ведь не зря одни и те же, скорее всего, абстракции-то общие и мозги одинаковые у всех исходно.
(Reply) (Thread)