суббота, 23 января 2010 г.

Con Colivas и планировщики в Linux

Тем не менее, PC — хлам. Это мусор. Во всех сферах применения, которые важны для нас, все оказывается перегруженным и слишком медленным. Сегодня у нас есть персональные компьютеры, которые по производительности равны суперкомпьютерам десятилетней давности. Десять лет назад у нас были персональные компьютеры равные суперкомпьютерам двадцатилетней давности и так далее. Так почему же все так тормозит? Если компьютеры становятся быстрее, почему на запуск системы и запуск приложений требуется больше времени чем раньше? Нет, когда они заняты чистой обработкой информации (типа декодирования видео) они восхитительны. Но во всем остальном сегодняшние компьютеры невероятно медленны. Они могут быть в 1000 раз быстрее чем они были декаду назад, и все по прежнему будет работать медленно.
Обычный аргумент который мне приводят люди в ответ — но ведь сейчас компьютеры делают намного больше чем раньше, поэтому это нечестное сравнение. Ладно, но они в 10 раз медленнее вместо того, чтобы быть в 1000 раз быстрее, следовательно они должны делать больше в 10000 раз. Очевидно, что те 10000 раз что они делают, они делают где-то не там, где нужно.
APC: Так значит проблемы производительности в Линукс на десктоп-системе стали для тебя главным мотиватором?
Да. Я начал с улучшения Линукса на десктопе, думая - «если я могу контролировать весь софт, я смогу заставить работать его быстрее». Должен же быть путь настроить, оптимизировать и добиться лучшей производительности.
...
Первый патч, который я вынес на публику не содержал моего собственного кода и был для ядра 2.4.18 . Было это где-то в феврале 2002. Я даже не знал, что представляет из себя код C, поскольку никогда не изучал какую-либо компьютерную науку. Из-за этого я застрял на месте до момента, когда ядро 2.6 было в разработке. Я следил за ее ходом и буду честен - я ужаснулся! Те разработчики ядра которых я уважал, работали над каким-то корпоративным хламом, который совершенно не нужен обычным пользователям.
И что хуже всего, хотя мне и нравится видеть Линукс на машине с 1024 процессорами и 1000 жестких дисков, мне противна мысль, что такая возможность, включенная в ядро, может убить производительность настольной системы.
Если количественные показатели это все что мы знаем, измеряя производительность, то действительно, она лучше чем когда либо. Но запускаем аудио-плеер и он заикается. Заикается! У нас черт знает сколько мегагерц, а мы не можем заставить нормально играть аудио?
Или начните записывать большой файл на диск и в это время только курсор будет двигаться, а все остальное на рабочем столе будет мертвым, а окна не будут обновляться в течение минуты.
Я чувствовал, что готов заплакать.
Помню мы направили баг-репорт и один разработчик ответил, что не может воспроизвести нашу проблему на своем четырехпроцессорном компьютере с четырьмя гигабайтами памяти, жесткие диски на котором объединены в рейд-массив. А подумайте, какое железо имели средние пользователи 4 года назад.
Все разработчики делают что-то, что не имеет ничего общего с десктоп-системой. Они все являются работниками больших компаний, которых не заботят проблемы обычных пользователей. Все, что их волнует — 1% лишний процент производительности, полученный в своем бенчмарке базы данных.
Линукс победил. Мы огромный конкурент на рынке серверов и баз данных и все большие компании проявляют заботу о Линуксе. Деньги текут разработчикам и они улучшают производительность системы в тех областях, в которых нужно заказчикам.
Пользователи проиграли. Обычный настольный компьютер для которого изначально разрабатывался Линукс остался в стороне.

Linux, являясь во многом копией UNIX, несмотря на протесты и утверждения об обратном, не представляет из себя ничего нового и оригинального, а построена на идеях времен Войны во Вьетнаме. Заимствованные идеи изначально возникли в недрах Bell Labs у создателей UNIX, которые тоже являлись весьма хорошо оплачиваемыми профессионалами, а Линус Торвальдс (Linus Torvalds) просто скопировал то, что финансировалось средствами корпорации и университета, и без чего не было бы никакого Linux.

СПО не всегда инновационно

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

Меня очень огорчает, когда я вижу всю эту молодёжь, которая думает, что Linux это круто, в то время как устройство этой системы настолько древнее, что будь она человеком, из неё давно бы песок сыпался. Им бы лучше придумывать что-то новое. Представьте себе молодого выпускника колледжа, специалиста по аэродинамике, который тратит жизнь обслуживая DC 10! (древняя модель самолетов, год выпуска – 1970). Ни один человек в мире, способный на инновации, не стал бы этим заниматься. Но сейчас это преподносится как модный тренд и люди ведутся, начиная писать свои программы как СПО. И даже если они действительно придумают что-то новое и классное, это будет отобрано корпорациями, имеющими деньги и ресурсы, чтобы реализовать это лучше и быстрее. Спасибо за идею, возьми с полки пирожок!

Большинство умных людей не стремилось бы строить карьеру программиста уже только по этим соображениям. Я не думаю, что самые умные из американцев еще так поступают. Этим сейчас заняты многие образованные эммигранты, стремящиеся убежать от плохих условий жизни в своих странах и готовые заниматься чем угодно ради визы и права жить и работать в США. А в качестве достойной карьеры для молодых американцев я рассматриваю MBA и юриспруденцию.
Проблемы открытого кода

Комментариев нет: