Об андроиде и ядрах
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 на сотни/тысячи абонентов), то да, Линуховый выглядит гораздо предпочтительнее, особенно где дефицит вычислительных мощностей.