juan_gandhi: (Default)
[personal profile] juan_gandhi
В оркуте юзерский спрос был волнами: первая волна - утро Бразилии, до обеда. Потом спад. Потом после обеда, волна чуть повыше (потому что присоединились те, кто дрых до обеда). К вечеру волна спадает.
Кроме того, были изменения в течение недели: в понедельник уровень ниже всего; затем больше, больше... и в пятницу после обеда - самая высокая волна. Ну типа насчёт выходных утрясают.

А ресурсы в оркуте распределены под завязку. И вот каждую пятницу после обеда дежурный по пейджеру получает звонки, раз в пять минут: сервер перегружен, сервер перегружен! Можно предсказать за месяц, когда сервер будет перегружен.

Я ходил спрашивал, ребята, нельзя в пятницу добавить с десяток серверов-то? Или сделать это погибче, ну типа приоритеты там, запасные сервера... ведь не АТС же, компьютеры, линухи - пока не занят оркутом, гоняет мапредьюсы, а как занят... да какие по пятницам мапредьюсы, народ же отдыхает, к TGIF готовится.

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

То есть, в принципе-то проблемы особой в софте оркута вообще не было. Кроме как баги мелкие пофиксить, фичи новые добавить да с хакерами бороться. А с хакерами бороться нужны же ресурсы. Я нарисовал регексп, покрывающий все хакерские трюки в scrapbook. Этот регексп выкинули, да ещё со словами "неопытный инженер" (ну это гугл, там всякий сельский идиот считает себя умнее усех, т.к. он умеет на распределённой системе вычислять медиану) - неопытность заключалась в том, что этот регексп требует небольшое но количество дополнительных серверных ресурсов. И чё? А ничё, ресурсы добавлять нельзя, лучше пусть хакают, это не так часто случается. Потом, правда, абьюз тим бьётся потом круглые сутки, пишут мапредьюсы, которые сутками работают чистят базу - но это как бы уже не наше дело. Не барское.

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

Я что хочу сказать... что сложность работы гугловского инженера в-основном, имхо, обусловлена наличием искусственных и бессмысленных ограничений. Дескать, а ну-ка мы попробуем решить такую-то задачу в условиях, приближенных к боевым с другой стороны. А на хера? А потому что мы ж крутые, и задачи у нас все NP-полные, другие задачи нас не интересуют.

Это в среднем, конечно (см Пирамиду Лебедева).

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

Date: 2009-03-12 10:49 pm (UTC)
From: [identity profile] brumka.livejournal.com
Выкидывать регексп (как фичу) - не дело программера, а начальника проекта. Ведь надо посчитать, или хотя-бы прикинуть, что дешевле/важнее - лишние сервера (они и так, небось, симметричные) или часы работы IT + abuse team. А если выкинувший действительно ТАК крут - пусть лучше попытается оптимизировать регексп.

a так, прикольно читать подобное про гугл. в индустрии истории "про то как в гугле" рассказываются нердами a-la Wired с восторженным придыханием.

а оно - вон, как везде

Date: 2009-03-12 11:40 pm (UTC)
From: [identity profile] ivan-gandhi.livejournal.com
Да вот сижу и обдумываю - а какие, собственно, мы решали проблемы, какие алгоритмы имплементировали? Вот на новой работе - иерархический вариант двустороннего алгоритма Дийкстры, и никто не гордится общественным строем, а сидим да работаем.

А что было? А была постоянная борьба за ресурсы. Всё напряжение ума расходовалось на попытки а) перекрыть кислород тем, кто ниже в трофический цепи, б) выцарапать побольше, побольше у тех, кто выше в трофической цепи.

Пикантность придаёт то, что половина играющих не понимает правил, и недоумевает. Ну примерно как [livejournal.com profile] kouzdra и ему подобные тифареты недоумевают, отчего бы это не отнять у всех всё и не отдать британским учёным для опытов, им же надо!

Date: 2009-03-13 01:02 am (UTC)
From: [identity profile] brumka.livejournal.com
Ну, главное, что-бы тех, кто не понимает было поменьше вокруг и/или подальше от принимающих решения.

Date: 2009-09-03 11:05 pm (UTC)
From: [identity profile] vdas.livejournal.com
главное, чтобы "солдат, которые знают как рулить" было немного. Один или два.

Date: 2009-03-13 06:37 am (UTC)
From: [identity profile] http://users.livejournal.com/_navi_/
Dude, bidirectional Dijkstra algorithm is still suboptimal for constant graphs. Behold: presentation (http://www.avglab.com/andrew/pub/sofsem.pdf) & paper (http://www.avglab.com/andrew/pub/msr-tr-2005-132.pdf). See also the author's homepage: Andrew Goldberg (http://research.microsoft.com/en-us/people/goldberg/).

Date: 2009-03-13 03:00 pm (UTC)
From: [identity profile] ivan-gandhi.livejournal.com
Sure. There are linear solutions for certain kinds of graphs. (But thanks anyway.)

Date: 2009-03-13 10:16 pm (UTC)
From: [identity profile] http://users.livejournal.com/_navi_/
It's not about the kinds of graphs, it's about being able to precompute some extra data beforehand and store it on the device. Space/performance tradeoff basically.

Date: 2009-03-13 10:21 pm (UTC)
From: [identity profile] ivan-gandhi.livejournal.com
Sure; the algorithm I'm reading about does exactly that... but this article and presentation you had posted - they are really cool. Thanks again.

Date: 2009-03-13 05:33 pm (UTC)
From: [identity profile] cema.livejournal.com
Ну wired это вообще glamour for nerd wannabes.

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

May 2025

S M T W T F S
    1 2 3
456 7 8 9 10
11 121314151617
181920 21222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 22nd, 2025 03:55 pm
Powered by Dreamwidth Studios