Kendinizi Güçlendirin Android Geliştiricileri, Yeni Bir Android Derleyicisi Geliyor
Yayınlanan: 2022-03-11Parçalanma, yıllardır Android geliştiricileri ve tüketicileri için bir hayal kırıklığı kaynağı olmuştur; şimdi işler düzelmeden önce daha da kötüleşecek gibi görünüyor. Yine yeni bir Android derleyici geliyor ve donanım cephesinde geliştiricileri etkileyebilecek bazı dikkate değer gelişmeler var.
Dalvik ortadan kalktığında, birçok kişi Google'ın yeni 64-bit özellikli ART çalışma zamanının yıllarca sürmesini bekliyordu, ki muhtemelen öyle olacak, ancak yakın gelecekte büyük bir revizyona girecek. 64-bit donanım desteği sunmanın yanı sıra ART, önceden (AOT) derlemeyi de sunarken, Dalvik tam zamanında (JIT) bir derleyiciydi. Yeni Optimize edilmiş derleyici, daha da fazla olasılığın kilidini açacaktır.
Donanım geliştirmelerine gelince, akıllı telefon Çipte Sistem endüstrisinde bazı yeni trendler ve bazı yeni ve eski oyuncular var, ancak buna daha sonra geleceğim.
İlk olarak, Google'ın çalışma zamanı planlarına bir göz atalım.
Yeni Android Derleyici ile Dalvik, ART, ART
ART, geçen yıl Android 5.0 ile tanıtıldı ve Nexus 9 ve Nexus 6'da piyasaya sürüldü, ancak ikincisi 32 bit ARMv7-A CPU kullanıyordu. Ancak, ART, sıfırdan tasarlanmaktan ziyade, aslında Dalvik'in JIT'den uzaklaşan bir evrimiydi.
Dalvik, uygulamaları gerektiği gibi anında derler. Bu, açıkçası, daha fazla CPU yükü ekler, uygulamaları başlatmak için gereken süreyi artırır ve pil ömrüne zarar verir. ART, kurulum sırasında her şeyi önceden derlediğinden, cihaz bir uygulamayı her başlattığında derleme için saat döngülerini boşa harcamak zorunda kalmaz. Daha sorunsuz bir kullanıcı deneyimi sağlarken aynı zamanda güç tüketimini azaltır ve pil ömrünü artırır.
Peki Google bundan sonra ne yapacak?
ART, geçen yılın sonlarında çevrimiçi olmaya başlayan yeni 64-bit ARMv8 CPU çekirdeklerinden yararlanmak için geliştirildiğinden, orijinal derleyici geçici bir önlem gibi görünüyor. Bu, verimlilik ve optimizasyonun değil, pazara sunma süresinin öncelik olduğu anlamına geliyordu. Bu, SANAT'ın sadece acemi bir iş olduğu anlamına gelmez, çünkü öyle değildi; çalışma zamanı iyi çalışıyor ve geliştiriciler ve kullanıcılar tarafından övgüyle karşılandı.
Bununla birlikte, iyileştirme için yer var ve şimdi, Google bir süredir büyük ölçüde geliştirilmiş bir derleyici üzerinde çalışıyor gibi görünüyor ve çaba muhtemelen ART'ın resmi sürümünden önce geliyor. İngiliz çip tasarımcısı ARM, kısa süre önce Google'ın çalışma zamanı planları hakkında ART için yeni bir "Optimizasyon" derleyicisine işaret eden birkaç ilginç gerçeği ortaya çıkardı. Yeni derleyici, kod oluşturmadan önce program yapısının değiştirilmesine izin veren ara temsiller (IR) sunar. Derleyicinin mimariye duyarlı bölümlerine daha iyi bilgi sağlayan, bilgi açısından zengin bir grafik olarak yapılandırılmış tek bir ara temsil düzeyi kullanır.
"Hızlı" derleyici, basit bağlantılı talimat ve değişken listeleri ile iki düzeyde ara temsil kullanır, ancak IR oluşturma sırasında önemli bilgileri kaybeder.
ARM, yeni "Optimizasyon" derleyicisinin bir dizi önemli fayda sağlayacağını iddia ederek, onu derleyici teknolojisi açısından "ileriye doğru büyük bir adım" olarak tanımlıyor. Derleyici, gelecekteki optimizasyonlar için daha iyi bir altyapı sunacak ve kod kalitesini iyileştirmeye yardımcı olacaktır.
Optimizasyon ve Hızlı Derleyici Temel Özellikler
ARM, iki derleyici arasındaki farkı tek bir slaytta özetledi ve “En İyileştirme” derleyicisinin daha verimli kayıt kullanımı, yığına daha az dökülme ve yürütmek için daha az koda ihtiyaç duyduğunu iddia etti.
İşte ARM bunu nasıl ifade ediyor:
Quick , çok basit bir kayıt ayırma algoritmasına sahiptir.
- IR'de bilgi eksikliği
- Karmaşıklık üzerinde derleme hızı - bir JIT olarak kökenler
- Düşük performans – yığına çok sayıda kayıt döküldü
Optimizasyon , Liner Tarama Kayıt Tahsisi'ni kullanır.
- Performans ve zaman arasında mükemmel uzlaşma
- Canlılık analizi kullanılır
- Yığına kasa dökülmesini en aza indirme”
Yeni derleyici hala geliştirme aşamasında olmasına rağmen, ARM birkaç performans rakamı paylaştı; sentetik CPU testlerinde, derleyici yüzde 15 ila 40 aralığında bir performans artışı sağlar. Derleme hızı yaklaşık yüzde 8 oranında artırıldı. Ancak şirket, yeni derleyici olgunlaştıkça rakamların “günlük olarak değiştiği” konusunda uyarıyor.
Odak noktası, şu anda derleme hızı ve dosya boyutunda açık bir avantaja sahip olan “Hızlı” derleyici ile yakın eşliğe ulaşmaktır.
Şu anda, bir takas gibi görünüyor; yeni "Optimize Edilmiş" derleyici, CPU'ya bağlı uygulamalarda ve sentetik karşılaştırmalarda etkileyici performans iyileştirmeleri sağlar, ancak ~ yüzde 8 daha yavaş derlenen yüzde 10 daha büyük dosyalarla sonuçlanır. Son iki rakam CPU performans artışlarından daha ağır basıyor gibi görünse de, CPU yükünden bağımsız olarak her uygulamaya uygulanacağını ve RAM ve depolama gibi daha da sınırlı kaynakları kullanacağını unutmayın. 64 bitte derlemenin 32 bitte derlemeden daha fazla RAM aldığını unutmayın.
Derleme hızındaki ve başlatma sürelerindeki herhangi bir azalma, cihazın yanıt verme hızı ve kullanıcı deneyimi üzerindeki etkisi nedeniyle de bir endişe kaynağıdır.
Çok Çekirdekli ARM Yarışı
Çalışma zamanı ve derleyiciden bağımsız olarak başka bir endişe kaynağı, ARMv7-A ve ARMv8 mimarilerine dayalı çok çekirdekli işlemcilerin popülerliğidir. Sekiz çekirdek çılgınlığı 2013'te başladı ve ucuz bir pazarlama numarası olarak hızla reddedildi. Bir Qualcomm yöneticisi, mühendisleri “aptal olmadığı” için şirketin hiçbir şey yapmayacağını söyleyerek sekiz çekirdekli işlemcileri “aptal” ve “aptal” olarak adlandıracak kadar ileri gitti. Aynı yönetici, Apple A7'deki 64-bit desteğini bir "hile" olarak tanımladı.
İki yıl ileri sardım ve masamda 64-bit Qualcomm sekiz çekirdekli Cortex-A53 akıllı telefonum varken, söz konusu yöneticinin isim plaketinde farklı bir iş unvanı var.
8 çekirdekli yongalar yetmezmiş gibi önümüzdeki yıl 10 çekirdekli uygulama işlemcilerine dayalı ilk cihazları göreceğiz. İlk 10 çekirdekli akıllı telefon çipi MediaTek'ten Helio X20 biçiminde geliyor ve dev olarak adlandırılan üç CPU çekirdeği kümesine sahip olacak.Orta.TINY. Kulağa eğlenceli geliyor ve daha iyi oluyor; yakında yeni nesil Intel işlemcilere sahip ilk uygun fiyatlı Android cihazları görmeye başlayacağız.
ARM çekirdek savaşlarına ve geliştiriciler ve tüketiciler için ne anlama geldiklerine bakalım. ARM SoC sekiz çekirdekli tasarımların iki farklı versiyonu vardır. Üst düzey çözümler, yüksek yük için dört düşük güçlü çekirdek ve dört büyük çekirdek kullanan ARM'nin büyük. LITTLE düzenini kullanma eğilimindedir. Sekiz ARM CPU çekirdeğini bir çipe yapıştırmanın ikinci yolu, aynı çekirdekleri veya aynı çekirdekleri farklı saat hızlarına sahip iki kümede kullanmaktır.
Önde gelen mobil yonga üreticileri, üst düzey cihazlarda büyük. LITTLE yongaları ve ana akım ürünlerde normal sekiz çekirdekli her iki yaklaşımı da kullanma eğilimindedir. Her iki yaklaşımın da artıları ve eksileri var, o yüzden daha yakından bakalım.
ARM big.LITTLE ve Normal Sekiz Çekirdekli:
Farklı CPU çekirdeklerinden oluşan iki küme kullanmak, büyük.LITTLE tasarımlarında iyi tek iş parçacığı performansı ve verimliliği sağlar. Takas, tek bir Cortex-A57 çekirdeğinin kabaca dört küçük Cortex-A53 çekirdeğinin boyutunda olması ve daha az verimli olmasıdır.
Farklı saatlere sahip iki kümede sekiz özdeş çekirdek veya sekiz özdeş çekirdek kullanmak uygun maliyetli ve güç açısından verimlidir. Ancak, tek iş parçacığı performansı düşüktür.
ARMv8 çekirdeklerine dayalı mevcut big.LITTLE tasarımları nesli, en ucuz 28nm üretim düğümünü kullanamaz. 20 nm'de bile, bazı tasarımlar, sürdürülebilir performanslarını sınırlayan çok fazla kısma sergiler. Cortex-A53 CPU çekirdeklerine dayalı standart sekiz çekirdekler, 28nm'de etkin bir şekilde uygulanabilir, böylece yonga üreticilerinin maliyetleri düşük tutan 20nm veya 16/14nm FinFET gibi son teknoloji üretim düğümlerini kullanması gerekmez.
Çip tasarım trendleriyle canınızı sıkmak istemiyorum ancak 2015 ve 2016 mobil işlemciler için birkaç temel noktayı akılda tutmak önemlidir:
- Çoğu çip, 28nm üretim düğümleri ve Cortex-A53 çekirdekleri kullanacak ve tek iş parçacıklı performansı sınırlayacaktır.
- Büyük Cortex-A57 çekirdeği, Samsung ve Qualcomm'un iki ana tasarımında uygulanıyor, ancak diğer yonga üreticileri bunu atlıyor ve Cortex-A72 çekirdeğini bekliyor gibi görünüyor.
- Çok iş parçacıklı performans, önümüzdeki 18 ay içinde giderek daha önemli hale gelecek.
- 20nm ve FinFET düğümleri önemli ölçüde ucuzlayana kadar (2016 ve sonrası) büyük performans kazanımları beklenemez.
- 10 çekirdekli tasarımlar da geliyor.
Tüm bu noktaların Android geliştiricileri için belirli etkileri vardır. Yonga üreticileri, akıllı telefon ve tablet yongalarının çoğunluğu için 28nm süreçlerinde sıkışıp kaldığı sürece, geliştiricilerin çok kanallı performanstan yararlanmak ve verimliliğe odaklanmak için ellerinden gelenin en iyisini yapmaları gerekecek.

ART ve yeni derleyiciler, performansı ve verimliliği artırmak için uzun bir yol kat etmelidir, ancak fizik yasalarını çiğneyemeyeceklerdir. Eski 32-bit tasarımlar, ilerleyen birçok cihazda kullanılmayacak ve en ucuz cihazlar bile 64-bit silikon ve Android 5.0 ile birlikte gönderilmeye başlandı.
Android 5.x hala nispeten küçük bir kullanıcı tabanına sahip olsa da, hızla büyüyor ve 64-bit çipler ve Android 5.0 ile 100-150$ arası telefonlar geldiğinden şimdi daha da hızlı genişleyecek. 64-bit Android'e geçiş iyi gidiyor.
Asıl soru, Dalvik'in yeni Optimize edilmiş derleyiciyi ne zaman alacağıdır. Bu yıl veya gelecek yıl Android 6.0 ile piyasaya sürülebilir; kesin bir şey söylemek için henüz çok erken.
Mobil Cihazlara Gelen Heterojen Bilgi İşlem
Akılda tutulması gereken bir şey daha var; mobil grafikler, özellikle üst düzey işlemcilerde daha güçlü hale geliyor, bu nedenle çip üreticileri, oyun ve video kod çözme dışındaki kullanımlar için onlara dokunmak için sahne arkasında çok fazla iş yapıyor. Heterojen bilgi işlem, bilgisayarların yüksek düzeyde paralelleştirilmiş görevleri GPU'ya devretmesine olanak tanıyan birkaç yıldır piyasada.
Aynı teknoloji şimdi mobil işlemcilere de geliyor ve CPU ve GPU çekirdeklerini etkin bir şekilde birleştiriyor. Yaklaşım, geliştiricilerin GPU'ya OpenCL yüklemeleri gibi belirli program türlerini yürüterek daha fazla performansın kilidini açmasını sağlayacaktır. Geliştiriciler verime odaklanabilecekken, işlemciler CPU ve GPU'larda paralel yürütmeyi otomatik olarak gerçekleştirecek.
Tabii ki, bu her uygulamada çalışmayacak ve her durumda yükü azaltmayacak, ancak bazı nişlerde daha fazla performansın kilidini açmalı ve güç tüketimini azaltmaya yardımcı olmalıdır. Yüke bağlı olarak, SoC, bazı görevler için CPU'yu kullanırken diğerlerini GPU'ya boşaltarak kodun nasıl işleneceğine otomatik olarak karar verir.
Paralel uygulamalarla uğraştığımız için, yaklaşımın görüntü işlemede en büyük iyileştirmeleri sağlaması bekleniyor. Örneğin, süper çözünürlüklü ve görüntüleri yeniden örneklemeniz gerekiyorsa, süreç OpenCL'de farklı aşamalara ayrılabilir. İşlem, find_neighbor
, col_upsample
, row_upsample
, sub
ve blur2
gibi farklı aşamaları içeriyorsa, donanım, verilen görevi en iyi şekilde ne tür bir çekirdeğin yerine getireceğine bağlı olarak yükü CPU ve GPU çekirdekleri arasında en verimli şekilde dağıtacaktır. yol. Bu, performansı yalnızca bir büyüklük sırasına göre iyileştirmekle kalmayacak, aynı zamanda güç tüketimini azaltmaya da yardımcı olacaktır.
Intel Ölümden Döndü ve Bir Ceset İçin İyi Görünüyor
Intel, mobil devrimdeki tekneyi kaçırdı ve neredeyse pazarı ARM ve donanım ortaklarına devretti. Ancak, ABD'li çip üreticisi yedek kulübesinde birkaç yıl geçirip geri dönüş yapacak paraya ve kaynaklara sahip.
Geçen yıl Intel, tabletler için Atom işlemcilerinin satışlarını sübvanse etti ve bir yıldan kısa bir sürede sevkiyatları dört katına çıkarmayı başardı. Şimdi ise yeni SoFIA Atom x3 işlemcileri ile akıllı telefon segmentine yöneliyor. Açıkçası, bu çiplerin Intel işlemcileri olarak anılması gerektiğinden tam olarak emin değilim çünkü aslında çip devi tarafından üretilmiyorlar. SoFIA işlemcileri, Çinli yonga üreticileriyle işbirliği içinde dar bir bütçeyle tasarlandı. 28nm düğümde üretilirler, yavaş, küçük ve ucuzdurlar.
Bu, bazı sıradan gözlemciler için sürpriz olabilir, ancak Intel, üst düzey mobil çözümlerle uğraşmıyor; Düşük kaliteli SoFIA parçaları, fiyatı 50 ila 150 dolar arasında değişen metalaştırılmış Android telefonlara güç sağlayacak. İlk tasarımlar 2015'in ikinci çeyreğinin sonunda gönderilmeye başlayacak ve çoğu Asya pazarlarının yanı sıra dünyanın diğer bölgelerindeki gelişmekte olan pazarlar için tasarlanacak. Bazılarını Kuzey Amerika ve Avrupa'da görmemiz mümkün olsa da, Intel'in odak noktası Çin ve Hindistan gibi görünüyor.
Intel, tamamen yeni bir mimari ve şirketin son teknoloji ürünü 14nm üretim düğümünü kullanacak olan Atom x5 ve x7 işlemcilerle bahislerini riskten koruyor. Ancak bu ürünler, en azından şimdilik, akıllı telefonlardan ziyade tabletlere yöneliktir.
Cevabını bulamadığım büyük soru, Intel'in kaç tasarım zaferi kazanabileceği. Analistler bu konuda ikiye bölünmüş durumda ve bu noktada sevkiyat tahminleri tahmin gibi görünüyor.
Geçen yıl Intel, tablet pazarında bir yer edinmek için kayıpları sürdürmeye ve milyarlarca dolar yakmaya istekli olduğunu kanıtladı. Yeni Atom çipleriyle, özellikle de akıllı telefon SoFIA ürünleriyle aynı yaklaşımı kullanıp kullanmayacağını söylemek için henüz çok erken.
Şu ana kadar Intel SoFIA işlemci tabanlı yalnızca bir gerçek ürün gördüm – 3G bağlantılı 69 dolarlık Çin tableti. Bu aslında büyük boyutlu bir telefon, tahmin edebileceğiniz gibi, giriş seviyesi bir SoFIA telefonunun maliyeti çok daha düşük olabilir. Beyaz kutulu akıllı telefon ve tablet üreticileri için cezbedici bir teklif olmalı, çünkü arkasında “Intel Inside” etiketi olan ve pazarlama açısından kulağa hoş gelen bir “Intel Inside” etiketiyle 50-100 dolarlık cihazları kolayca tasarlayabiliyorlar.
Ne yazık ki, önümüzdeki yıl içinde kaç tane Intel telefon ve tabletin gönderileceğini yalnızca tahmin edebiliriz. Açıkça milyonlarca birimle uğraşıyoruz, düzinelerce, ama soru şu: kaç düzine? Çoğu analist, Intel'in bu yıl 20 ila 50 milyon Atom x3 işlemci göndereceğine inanıyor; bu, toplam akıllı telefon sevkiyatlarının bu yıl 1,2 milyar cihaza ulaşacağı tahmin edildiğinde kovada bir düşüş. Ancak Intel acımasızdır, yakacak parası vardır ve bu çiplerin hiçbirinden kar elde etmek zorunda değildir. 2015 yılı sonuna kadar pazarın yüzde 3 ila 4'ünü ele geçirebilir, ancak pazar payı 2016 ve sonrasında büyümeye devam etmelidir.
Bu Android Geliştiricileri İçin Ne Anlama Geliyor?
Intel, belirli uyumluluk sorunları nedeniyle bazı Android geliştiricileri arasında kötü bir üne kavuştu. Bu, birkaç yıl önce gerçek bir sorundu çünkü donanım çoğu cihazda kullanılan standart ARM çekirdeklerinden çok farklıydı.
Neyse ki, şirket iki yıl içinde çok ilerleme kaydetti; kapsamlı eğitim programları, kapsamlı belgeler ve daha fazlasını sunar. Aslında, LinkedIn iş listelerine hızlı bir bakış, Intel'in düzinelerce Android geliştiricisini işe aldığını ve her ay birkaç yeni açık pozisyon açtığını ortaya koyuyor.
Yani her şey yolunda gidiyor, değil mi? Peki, bağlıdır…
Geçen hafta Intel'in Atom Z3560 tabanlı yeni bir Asus telefonunu test etme şansım oldu ve sonuçlardan memnun kaldığımı söylemeliyim; Bütçe cihazında 4 GB RAM'e hitap edebilen iyi bir donanım platformudur. Asus, bu yıl 30 milyon adet satabileceğini düşünüyor ve bu, Intel'in akıllı telefon pazar payı göz önüne alındığında gerçekten etkileyici.
Tek sorun, bazı Android uygulamalarının Intel donanımında hala hatalı davranmasıdır . Genellikle çok büyük bir şey değildir, ancak bazı garip çökmeler, gerçekçi olmayan kıyaslama puanları ve diğer uyumluluk tuhaflıkları ile karşılaşıyorsunuz. Kötü haber şu ki, geliştiriciler donanımla ilgili sorunları çözmek için fazla bir şey yapamıyor, ancak test için Intel tabanlı bazı cihazlar almak iyi bir başlangıç olabilir. İyi haber: Intel, her şeyi en sonunda halletmek için elinden gelenin en iyisini yapıyor, yani sizin yapmanıza gerek yok.
ARM donanımına gelince, daha fazla kümede daha fazla CPU çekirdeği göreceğiz. Tek iş parçacığı performansı, dört ve sekiz çekirdekli Cortex-A53 SoC'lere dayalı ucuz telefonlar gibi birçok ana cihazda sınırlı kalacaktır. Yeni Google/ARM derleyicilerinin bu tür cihazlarda performansı artırıp artıramayacağını söylemek için henüz çok erken. Muhtemelen yapacaklar, ama ne kadar? Heterojen bilgi işlem, gelecek yıl için dikkat edilmesi gereken başka bir trend.
Özetlemek gerekirse, 2015 ve 2016'nın sonlarında Android geliştiricilerinin yazılım ve donanım açısından beklemesi gerekenler:
- Giriş seviyesi ve ana akım pazar segmentlerinde daha fazla Intel x86 işlemci.
- Intel'in pazar payı 2015'te önemsiz olacak, ancak 2016 ve sonrasında artabilir.
- Daha fazla ARMv8 çok çekirdekli tasarım çevrimiçi oluyor.
- Yeni “Optimize Edilmiş” ART derleyicisi.
- Heterojen bilgi işlem geliyor, ancak biraz zaman alacak.
- FinFET üretim düğümlerine ve Cortex-A72'ye geçiş, daha fazla performans ve özelliğin kilidini açacaktır.