Об андроиде и ядрах
17.06.2012
|
Ночной Смотрящий
|
Epic failКомпания Intel провела ряд тестов и обнаружила, что последняя версия Android 4 ICS получает очень незначительно преимуществ при использовании двух ядер, а в ряде случаев производительность даже снижается.
Использование двухъядерных процессоров может быть полезно при сильной нагрузке на процессор, однако при этом очень важно правильное распределение потоков задач в ядрах. Майк Бэлл из Intel Mobile and Communications Group утверждает, что Android пока не справляется с управлением потоками процессов в нескольких ядрах: система бросает всё процессорное время на выполнение какой-нибудь одной задачи, а многие другие при этом останавливаются. Google необходимо научить свой Android правильному распределению системных ресурсов.
Согласно Бэллу, внутреннее тестирование Intel показало, что Android работает с двухъядерным процессором (конкретная модель не называлась) медленнее, чем с одноядерным. Включение второго ядра зачастую оказывается избыточным, с его использованием система потребляет больше ресурсов и не даёт прироста производительности. Некоторые из проведённых Intel тестов показали, что использование второго ядра может быть даже вредным, поскольку далеко не все разработчики приложений знают, как распределять процессы по ядрам.
| 17.06.2012 47 комментариев |
НС>Согласно Бэллу, внутреннее тестирование Intel показало, что Android работает с двухъядерным процессором (конкретная модель не называлась) медленнее, чем с одноядерным. Включение второго ядра зачастую оказывается избыточным, с его использованием система потребляет больше ресурсов и не даёт прироста производительности. Некоторые из проведённых Intel тестов показали, что использование второго ядра может быть даже вредным, поскольку далеко не все разработчики приложений знают, как распределять процессы по ядрам.
НС>Epic fail
Читать: "Мы пока ниасилили двуядерные мобильные процессоры, но это потому, что они НуНужны(тм). Покупайте Medfield". На моём HTC One двуядерность ещё как заметна.
Учитывая, что на Android'е — вполне себе обычный Linux, то его заявления вообще смешны.
C>Читать: "Мы пока ниасилили двуядерные мобильные процессоры, но это потому, что они НуНужны(тм). Покупайте Medfield". На моём HTC One двуядерность ещё как заметна.
Старший Z2580 в линейке medfield — двухядерный с HT.
C>>Читать: "Мы пока ниасилили двуядерные мобильные процессоры, но это потому, что они НуНужны(тм). Покупайте Medfield". На моём HTC One двуядерность ещё как заметна.
НС>Старший Z2580 в линейке medfield — двухядерный с HT.
Ну вот как раз когда он начнёт выпускаться, то Intel выкатит пресс-релиз: "Мы тут подумали, и ускорили Android в 100500 раз с помощью МегаОптимизаций. Так что теперь можно покупать двухядерный Medfield".
C>Ну вот как раз когда он начнёт выпускаться, то Intel выкатит пресс-релиз: "Мы тут подумали, и ускорили Android в 100500 раз с помощью МегаОптимизаций. Так что теперь можно покупать двухядерный Medfield".
Это все не имеет отношения к твоему аргументу. Факт в том, что Интел таки осилил многоядерность (что неудивительно, вобщем то), но на массовый рынок нацеливает все таки одноядерную модель (причем без HT, что отметает намеки на недостаточную энергоэффективность многоядерника).
C>>Ну вот как раз когда он начнёт выпускаться, то Intel выкатит пресс-релиз: "Мы тут подумали, и ускорили Android в 100500 раз с помощью МегаОптимизаций. Так что теперь можно покупать двухядерный Medfield".
НС>Это все не имеет отношения к твоему аргументу. Факт в том, что Интел таки осилил многоядерность (что неудивительно, вобщем то), но на массовый рынок нацеливает все таки одноядерную модель (причем без HT, что отметает намеки на недостаточную энергоэффективность многоядерника).
Имеет. У Интела пока и без многоядерности проблемы с энергопотреблением — оно очень посредственное. Конкретно сейчас Medfield конкурентен с предидущим поколением ARM'ов, вот они и занимаются FUD-ом.
C>Конкретно сейчас Medfield конкурентен с предидущим поколением ARM'ов
Зато по перформансу даже будущее поколение ARM ему не конкурент. И что в итоге лучше — одноядерный атом или 4-хядерный ARM, это еще очень большой вопрос.
C>вот они и занимаются FUD-ом.
Пока что этим занимаешься ты, потому что у тебя за душой только свой собственный палец.
C>>Конкретно сейчас Medfield конкурентен с предидущим поколением ARM'ов
НС>Зато по перформансу даже будущее поколение ARM ему не конкурент. И что в итоге лучше — одноядерный атом или 4-хядерный ARM, это еще очень большой вопрос.
Посмотри реальные benchmark'и на Anandtech, что ли?
Atom там в серединке, по сравнению с предидущим поколением ARM'ов. Уж точно не быстрее.
C>>вот они и занимаются FUD-ом.
НС>Пока что этим занимаешься ты, потому что у тебя за душой только свой собственный палец.
Да ну? Кто запостил тему без какого-либо реального подтверждения, типа там benchmark'ов?
Тут люди как бэ реально могут сравнить двухядерные процессоры и одноядерные.
НС>Это все не имеет отношения к твоему аргументу. Факт в том, что Интел таки осилил многоядерность (что неудивительно, вобщем то), но на массовый рынок нацеливает все таки одноядерную модель (причем без HT, что отметает намеки на недостаточную энергоэффективность многоядерника).
Блин, а как я точно угадал:
http://www.pcpro.co.uk/news/375019/intel-improving-android-but-is-it-willing-to-share
И окажется, что они там у себя пару ключей компилятора забыли поменять. Вот у них оно и тормозило, ага.
C>И окажется, что они там у себя пару ключей компилятора забыли поменять. Вот у них оно и тормозило, ага.
Да не, общаться м/у потоками тоже надо уметь. А у Интел кучи либ lock-free из их бибилиотек для x86.
Дело еще в том, что сам андроид безбожно тормозит. Мерить на нем какое-либо быстродействие — это издевательство. Вот тут делился впечатлениями: http://www.rsdn.ru/forum/flame.comp/4778546.1.aspx
C>Учитывая, что на Android'е — вполне себе обычный Linux, то его заявления вообще смешны.
Не важно. Зависит от того, как построена графическая либа и насколько дорого в этой андронной VM общение потоков.
V>Не важно. Зависит от того, как построена графическая либа и насколько дорого в этой андронной VM общение потоков.
хоспади, да мало ли того, что там лялих, так ещё и жаба — как вообще это нормально может работать?!
о_О>хоспади, да мало ли того, что там лялих, так ещё и жаба — как вообще это нормально может работать?!
Как-как. Благодаря стройной системе костылей и подпорок (с)
о_О>хоспади, да мало ли того, что там лялих, так ещё и жаба — как вообще это нормально может работать?!
Как раз на лялихе много потоков чувствует себя лучше, чем на винде.
V>Здравствуйте, о_О, Вы писали:
о_О>>хоспади, да мало ли того, что там лялих, так ещё и жаба — как вообще это нормально может работать?!
V>Как раз на лялихе много потоков чувствует себя лучше, чем на винде.
так в лялихе же многопоточность убогая? там, если я не ошибаюсь, потоки — это отдельные процессы. или у меня неправильное представление?
о_О>так в лялихе же многопоточность убогая? там, если я не ошибаюсь, потоки — это отдельные процессы. или у меня неправильное представление?
Неправильные. Дороговина переключения потоков/процессов не только в копировании/восстановлении регистров, в первую очередь из-за смены контекста (карты виртуальной памяти). Если контекст не меняется — то это дешевле. А то, что внутри ОС в дескрипторах потоков прописаны фактически те же самые данные, что в дескрипторах процессов — никакой рояли на саму скорость переключения не влияет. Хотя, может влиять на скорость работы шедуллера: у линухов шедуллер более дешевый вышел.
о_О>>>хоспади, да мало ли того, что там лялих, так ещё и жаба — как вообще это нормально может работать?!
V>>Как раз на лялихе много потоков чувствует себя лучше, чем на винде.
о_О>так в лялихе же многопоточность убогая? там, если я не ошибаюсь, потоки — это отдельные процессы. или у меня неправильное представление?
Так было примерно 10 лет назад (Leroy threads). С тех пор появился NPTL (New POSIX Threading Library), который существенно лучше.
В данный момент планировщик в Линуксе существенно лучше (гораздо справедливее) и быстрее, чем в Винде.
C>В данный момент планировщик в Линуксе существенно лучше (гораздо справедливее) и быстрее, чем в Винде.
Дешевле — да. Лучше — ХЗ... Асинхронный ввод-вывод на Винде вне конкуренции, ИМХО, спасибо шедуллеру.
Но если надо просто поделить время м/у равнозначными задачами (например, сервер VoIP на сотни/тысячи абонентов), то да, Линуховый выглядит гораздо предпочтительнее, особенно где дефицит вычислительных мощностей.