socialgekon.com
  • メイン
  • Webフロントエンド
  • 革新
  • 分散チーム
  • 仕事の未来
モバイル

Android開発者を引き締め、新しいAndroidコンパイラが登場します

断片化は、 Android開発者 そして何年もの間消費者;今では、状況が良くなる前に悪化するようです。新しいAndroidコンパイラが再び登場し、ハードウェアの面で注目に値する開発がいくつかあり、開発者に影響を与える可能性があります。

Dalvikが見えなくなったため、多くの人がGoogleの新しい64ビット対応のARTランタイムが何年も続くと予想していました。おそらくそうなるでしょうが、近い将来、大幅なオーバーホールが行われるでしょう。 ARTは64ビットハードウェアのサポートを提供することに加えて、事前(AOT)コンパイルも導入しましたが、Dalvikはジャストインタイム(JIT)コンパイラでした。新しい最適化コンパイラは、さらに多くの可能性を解き放ちます。

Androidコンパイラのイラスト



ハードウェアの開発に関しては、スマートフォンのシステムオンチップ業界にはいくつかの新しいトレンドといくつかの新旧のプレーヤーがありますが、それについては後で説明します。

まず、Googleのランタイムプランを見てみましょう。

Dalvik、ART、ARTと新しいAndroidコンパイラ

ARTは昨年Android5.0で導入され、Nexus9とNexus6でリリースされましたが、後者は32ビットのARMv7-ACPUを使用していました。ただし、ARTはゼロから設計されるのではなく、実際にはJITから離れたDalvikの進化形でした。

Dalvikは、必要に応じてその場でアプリをコンパイルします。これは明らかに、CPU負荷を増やし、アプリケーションの起動に必要な時間を増やし、バッテリー寿命に悪影響を及ぼします。 ARTはすべてを事前にコンパイルするため、インストール時に、デバイスがアプリを起動するたびにコンパイル時にクロックサイクルを無駄にする必要はありません。これにより、ユーザーエクスペリエンスがよりスムーズになり、同時に消費電力が削減され、バッテリーの寿命が延びます。

では、Googleは次に何をするつもりですか?

ARTは、昨年末にオンラインになり始めた新しい64ビットARMv8 CPUコアを利用するために開発されたため、元のコンパイラは一時的な対策であったようです。これは、効率と最適化ではなく、市場投入までの時間が優先されることを意味しました。それはそうではなかったので、ARTが単なる失敗した急ぎの仕事であったという意味ではありません。ランタイムはうまく機能し、開発者やユーザーから賞賛されています。

ただし、改善の余地があり、現在、Googleは大幅に改善されたコンパイラにしばらく取り組んでいるようであり、その努力はおそらくARTの公式リリースよりも前のものです。英国のチップ設計者であるARMは最近、Googleのランタイム計画に関するいくつかの興味深い事実を明らかにし、ART用の新しい「最適化」コンパイラを指摘しました。新しいコンパイラは、コード生成の前にプログラム構造を操作できる中間表現(IR)を提供します。情報が豊富なグラフとして構造化された単一レベルの中間表現を使用し、コンパイラーのアーキテクチャー対応部分により良い情報を提供します。

Android開発者向けの新しいAndroidコンパイラ

「クイック」コンパイラは、命令と変数の単純なリンクリストを使用して、2つのレベルの中間表現を使用しますが、IRの作成中に重要な情報を失います。

ARMは、新しい「最適化」コンパイラーが多くの重要な利点を提供すると主張し、コンパイラー技術の観点からは「大きな飛躍」と説明しています。コンパイラーは、将来の最適化のためのより良いインフラストラクチャーを提供し、コード品質の向上に役立ちます。

最適化とクイックコンパイラの主な機能

ARMは、2つのコンパイラの違いを単一のスライドで概説し、「最適化」コンパイラにより、レジスタの使用効率が向上し、スタックへの流出が少なくなり、実行に必要なコードが少なくなると主張しました。

ARMは次のように述べています。

クイック があります 非常に 単純なレジスタ割り当てアルゴリズム。

  • IRの情報の欠如
  • 複雑さよりもコンパイル速度–JITとしての起源
  • パフォーマンスの低下–スタックに大量のレジスタがこぼれた

最適化 ライナースキャンレジスタ割り当てを使用します。

  • パフォーマンスと時間の間の優れた妥協点
  • 活性分析が使用されます
  • スタックへのレジスタスピルの最小化」

新しいコンパイラはまだ開発中ですが、ARMはいくつかのパフォーマンス数値を共有しました。合成CPUテストでは、コンパイラーは15〜40パーセントの範囲でパフォーマンスを向上させます。コンパイル速度は約8%向上します。ただし、同社は、新しいコンパイラが成熟するにつれて、数値が「毎日変化する」と警告しています。

焦点は、現在コンパイル速度とファイルサイズで明らかな利点がある「クイック」コンパイラとほぼ同等を達成することにあります。

今のところ、それはトレードオフのように見えます。新しい「最適化」コンパイラは、CPUバウンドアプリケーションと合成ベンチマークで印象的なパフォーマンスの向上をもたらしますが、コンパイルが最大8%遅くなる10%大きなファイルになります。最後の2つの数値は、CPUパフォーマンスの向上よりも重要であるように見えますが、CPUの負荷に関係なく、RAMやストレージなどのさらに限られたリソースを使用して、すべてのアプリに適用されることに注意してください。 64ビットでコンパイルすると、32ビットでコンパイルするよりも多くのRAMが消費されることに注意してください。

コンパイル速度と起動時間の低下も、デバイスの応答性とユーザーエクスペリエンスに影響を与えるため、懸念事項の1つです。

マルチコア軍拡競争

ランタイムとコンパイラに関係なく、もう1つの懸念事項は、ARMv7-AおよびARMv8アーキテクチャに基づくマルチコアプロセッサの人気です。オクタコアブームは2013年に始まり、安価なマーケティングスタントとしてすぐに却下されました。クアルコムの幹部は、オクタコアプロセッサを呼び出すところまで行きました 「ばかげた」と「ばかげた」 、エンジニアが「馬鹿ではない」ので、会社は何も作らないと言った。同じ幹部は​​、AppleA7での64ビットサポートを「仕掛け」と表現しました。

2年早送りすると、64ビットのQualcommオクタコアCortex-A53スマートフォンが机の上にありますが、問題のエグゼクティブは 別の役職 彼の名前の盾に。

マルチコアアーム

8コアのチップでは不十分であるかのように、来年には、10コアのアプリケーションプロセッサをベースにした最初のデバイスが登場します。最初の10コアスマートフォンチップは、MediaTekから ヘリオX20 、および巨大な.Medium.TINYと呼ばれるCPUコアの3つのクラスターを備えています。楽しそうに聞こえます、そしてそれは良くなります。間もなく、新世代のIntelプロセッサをベースにした最初の手頃なAndroidデバイスが登場します。

ARMコア戦争と、それが開発者と消費者にとって何を意味するのかを見てみましょう。 ARMSoCオクタコア設計には2つの異なるバージョンがあります。ハイエンドソリューションはARMを使用する傾向があります big.LITTLEレイアウト 、高負荷用に4つの低電力コアと4つの大コアを使用します。チップに8つのARMCPUコアを固定する2つ目の方法は、同一のコア、またはクロック速度が異なる2つのクラスターで同一のコアを使用することです。

主要なモバイルチップメーカーは、ハイエンドデバイスのbig.LITTLEチップと、主流の製品の通常のオクタコアの両方のアプローチを使用する傾向があります。どちらのアプローチにも長所と短所があるので、詳しく見てみましょう。

ARM big.LITTLEと通常のオクタコア:

異なるCPUコアの2つのクラスターを使用すると、big.LITTLEデザインで優れたシングルスレッドパフォーマンスと効率が得られます。トレードオフは、単一のCortex-A57コアが4つの小さなCortex-A53コアとほぼ同じサイズであり、効率が低いことです。

8つの同一のコア、またはクロックが異なる2つのクラスターで8つの同一のコアを使用すると、費用効果と電力効率が向上します。ただし、シングルスレッドのパフォーマンスは低くなります。

ARMv8コアに基づく現世代のbig.LITTLEデザインは、最も安価な28nm製造ノードを使用できません。 20nmでも、一部の設計では多くのスロットルが発生し、持続的なパフォーマンスが制限されます。 Cortex-A53CPUコアに基づく標準オクタコアは28nmで効果的に実装できるため、チップメーカーは20nmや16 / 14nm FinFETなどの最先端の製造ノードを使用する必要がなく、コストを抑えることができます。

ARM big.LITTLEvs。レギュラーオクタコア

チップ設計のトレンドに飽き飽きしたくはありませんが、2015年と2016年のモバイルプロセッサで覚えておくべきいくつかの基本事項が重要です。

  • ほとんどのチップは28nm製造ノードとCortex-A53コアを使用するため、シングルスレッドのパフォーマンスが制限されます。
  • 大きなCortex-A57コアは、SamsungとQualcommの2つの主要な設計で実装されていますが、他のチップメーカーはそれをスキップしてCortex-A72コアを待っているようです。
  • マルチスレッドのパフォーマンスは、今後18か月でますます重要になります。
  • 20nmおよびFinFETノードが大幅に安くなるまで(2016年以降)、大幅なパフォーマンスの向上は期待できません。
  • 10コアのデザインも登場します。

これらの点はすべて、Android開発者にとって一定の意味を持っています。チップメーカーがスマートフォンやタブレットチップの大部分で28nmプロセスに固執している限り、開発者はマルチスレッドパフォーマンスを活用し、効率に焦点を合わせるために最善を尽くす必要があります。

ARTと新しいコンパイラは、パフォーマンスと効率の向上に大いに役立つはずですが、物理法則を破ることはできません。古い32ビットデザインは、今後多くのデバイスで使用されることはなく、最も安価なデバイスでさえ、64ビットシリコンとAndroid5.0で出荷され始めています。

Android 5.xのユーザーベースはまだ比較的小さいですが、急速に成長しており、64ビットチップとAndroid5.0を搭載した100ドルから150ドルの携帯電話が登場するようになりました。 64ビットAndroidへの移行は順調に進んでいます。

大きな問題は、Dalvikが新しい最適化コンパイラをいつ入手するかです。今年後半、または来年に発売される可能性があります Android 6.0 ;確かに言うにはまだ時期尚早です。

モバイルに登場するヘテロジニアスコンピューティング

覚えておくべき別のことがあります。モバイルグラフィックスは、特にハイエンドプロセッサでより強力になっているため、チップメーカーは、ゲームやビデオデコード以外の用途にそれらを利用するために、舞台裏で多くの作業を行っています。 ヘテロジニアスコンピューティング PCが高度に並列化されたタスクをGPUにオフロードできるようにして、数年前から存在しています。

同じテクノロジーがモバイルプロセッサにも登場し、CPUコアとGPUコアを効果的に融合しています。このアプローチにより、開発者は特定のタイプのプログラム、つまりOpenCLロードをGPUに実行することで、パフォーマンスを向上させることができます。開発者はスループットに集中でき、プロセッサはCPUとGPUでの並列実行を自動的に処理します。

ヘテロジニアスコンピューティング

もちろん、これはすべてのアプリで機能し、すべての状況で負荷を軽減するわけではありませんが、一部のニッチでは、パフォーマンスを向上させ、消費電力を削減するのに役立つはずです。負荷に応じて、SoCはコードの処理方法を自動的に決定し、一部のタスクにはCPUを使用し、他のタスクはGPUにオフロードします。

並列化されたアプリケーションを扱っているので、このアプローチは画像処理の最大の改善をもたらすことが期待されます。たとえば、超解像とリサンプリング画像を使用する必要がある場合、プロセスはOpenCLのさまざまな段階に分割できます。プロセスにfind_neighbor、col_upsample、row_upsample、subなどのさまざまな段階が含まれる場合およびblur2、ハードウェアは、特定のタスクを最適な方法で処理するコアの種類に応じて、最も効率的な方法でCPUコアとGPUコアに負荷を分散します。これにより、パフォーマンスが1桁向上するだけでなく、消費電力の削減にも役立ちます。

インテルは死から戻ってきました、そしてそれは死体に似合っています

Intelはモバイル革命のボートを逃し、実質的にARMとそのハードウェアパートナーに市場を譲りました。しかし、米国のチップメーカーには、ベンチで数年を過ごしてカムバックするための資金とリソースがあります。

昨年、Intelはタブレット用のAtomプロセッサの販売に助成金を出し、1年足らずで出荷量を4倍に増やしました。スマートフォンセグメントに注目を集めています。 SoFIA Atomx3プロセッサー 。率直に言って、これらのチップは実際にはチップの巨人によって製造されていないため、Intelプロセッサと呼ばれるべきかどうかは完全にはわかりません。 SoFIAプロセッサは、中国のチップメーカーと協力して、厳しい予算で設計されています。それらは28nmノードで製造されており、低速で小型で安価です。

インテルとアンドロイド

これは一部のカジュアルなオブザーバーにとっては驚きかもしれませんが、Intelはハイエンドのモバイルソリューションに悩まされていません。ローエンドのSoFIAパーツは、50ドルから150ドルの価格のコモディティ化されたAndroidフォンに電力を供給します。最初のデザインは2015年の第2四半期の終わりまでに出荷を開始する予定であり、それらのほとんどはアジア市場だけでなく、世界の他の地域の新興市場向けにデザインされます。北米とヨーロッパでそれらのいくつかが見られる可能性はありますが、Intelの焦点は中国とインドにあるようです。

Intelはその賭けをヘッジしている Atomx5およびx7プロセッサー 、これは完全に新しいアーキテクチャに加えて、同社の最先端の14nm製造ノードを使用します。ただし、これらの製品は、少なくとも当面はスマートフォンではなくタブレット向けです。

大きな問題は、私が答えを持っていないことですが、インテルがそのベルトの下で獲得できるデザインの勝利の数です。アナリストはこの問題について意見が分かれており、出荷予測は現時点では推測のように見えます。

昨年、Intelは、タブレット市場で足場を固めるために、損失を維持し、数十億ドルを燃やす用意があることを証明しました。新しいAtomチップ、特にスマートフォンのSoFIA製品で同じアプローチを使用するかどうかを言うのはまだ時期尚早です。

これまでのところ、Intel SoFIAプロセッサをベースにした実際の製品は1つしかありません。それは、3G接続を備えた69ドルの中国製タブレットです。これは本質的に特大の電話であるため、ご想像のとおり、エントリーレベルのSoFIA電話のコストははるかに低くなる可能性があります。ホワイトボックスのスマートフォンやタブレットメーカーにとっては魅力的な提案であるに違いありません。背面に「IntelInside」ステッカーが貼られた50ドルから100ドルのデバイスを簡単に設計できるため、マーケティングの観点からは良さそうです。

残念ながら、来年かそこらで出荷されるインテルの携帯電話とタブレットの数を推測することしかできません。私たちは明らかに数百万のユニット、数千万のユニットを扱っていますが、問題は次のとおりです。ほとんどのアナリストは、Intelが今年2000万から5000万のAtom x3プロセッサを出荷すると信じています。これは、スマートフォンの出荷総数が今年12億台に達すると予測されていることを考えると、バケツの減少です。ただし、Intelは冷酷で、燃やすお金があり、これらのチップで利益を上げる必要はありません。 2015年末までに市場の3〜4%を占める可能性がありますが、市場シェアは2016年以降も成長を続けるはずです。

これはAndroid開発者にとって何を意味しますか?

Intelは一部の人々の間で悪い評判を得ました Android開発者 特定の互換性の問題が原因です。ハードウェアはほとんどのデバイスで使用されている標準のARMコアとは大きく異なっていたため、これは数年前の実際の問題でした。

幸いなことに、同社は2年間で大きな進歩を遂げました。広範なトレーニングプログラム、包括的なドキュメントなどを提供します。実際、LinkedInの求人情報を一目見ただけで、Intelは数十人のAndroid開発者を採用しており、毎月いくつかの新しい求人が開かれています。

それで、すべてが順調ですよね?まあ、それは…

先週、IntelのAtom Z3560をベースにした新しいAsusの電話をテストする機会がありましたが、結果に満足していると言わざるを得ません。手頃な価格のデバイスで4GBのRAMをアドレス指定できる優れたハードウェアプラットフォームです。 Asusは、今年は3,000万台を販売できると考えています。これは、Intelのスマートフォン市場シェアを考えると本当に印象的です。

唯一の問題は、一部のAndroidアプリです インテルのハードウェアでまだ誤動作 。通常、それは大きすぎるものではありませんが、奇妙なクラッシュ、非現実的なベンチマークスコア、その他の互換性の癖が発生します。悪いニュースは、開発者がハードウェア関連の問題に対処するために多くのことを行うことができないということですが、テスト用にいくつかのIntelベースのデバイスを入手することは良いスタートです。良いニュース:インテルはすべてを最後まで整理するために最善を尽くしているので、そうする必要はありません。

ARMハードウェアに関しては、さらに多くのクラスターでより多くのCPUコアが見られます。シングルスレッドのパフォーマンスは、多くの主流のデバイス、つまりクアッドコアおよびオクタコアのCortex-A53SoCに基づく安価な電話では制限されたままになります。新しいGoogle / ARMコンパイラがそのようなデバイスのパフォーマンスを向上させることができるかどうかを言うのは時期尚早です。彼らはおそらくそうするでしょう、しかしどれくらいですか?ヘテロジニアスコンピューティングは、来年注目すべきもう1つのトレンドです。

まとめとして、Android開発者が2015年後半と2016年にソフトウェアとハ​​ードウェアに関して期待すべきことは次のとおりです。

  • エントリーレベルおよびメインストリームの市場セグメントにおけるより多くのインテルx86プロセッサー。
  • インテルの市場シェアは2015年にはごくわずかですが、2016年以降に成長する可能性があります。
  • より多くのARMv8マルチコアデザインがオンラインになります。
  • 新しい「最適化された」ARTコンパイラ。
  • ヘテロジニアスコンピューティングが登場しますが、しばらく時間がかかります。
  • FinFET製造ノードとCortex-A72に移行すると、パフォーマンスと機能がさらに向上します。

CVSとAetnaの合併について知っておくべきことすべて

財務プロセス

CVSとAetnaの合併について知っておくべきことすべて
クラスタリングアルゴリズム:最初から最先端まで

クラスタリングアルゴリズム:最初から最先端まで

データサイエンスとデータベース

人気の投稿
TensorFlow入門:機械学習チュートリアル
TensorFlow入門:機械学習チュートリアル
Goaを使用したGoでのAPI開発
Goaを使用したGoでのAPI開発
音楽使用料が魅力的な資産クラスである理由
音楽使用料が魅力的な資産クラスである理由
iPhoneを工場出荷時の状態にリセットする方法
iPhoneを工場出荷時の状態にリセットする方法
新しい iPhone 12: 写真家にとってのメリットは?
新しい iPhone 12: 写真家にとってのメリットは?
 
サウンドロジックと単調AIモデル
サウンドロジックと単調AIモデル
スマートホームホーム:モノのインターネットを使いこなす
スマートホームホーム:モノのインターネットを使いこなす
Angular Components 101 —概要
Angular Components 101 —概要
iPhone XR 対 XS 対 XS Max: 写真とビデオ用に購入する iPhone は?
iPhone XR 対 XS 対 XS Max: 写真とビデオ用に購入する iPhone は?
STOMPでのWebSocket実装のためのSpringBootの使用
STOMPでのWebSocket実装のためのSpringBootの使用
カテゴリー
アジャイル分散チーム保管製品ライフサイクルバックエンド財務プロセス転記製品の担当者とチーム設計プロセス計画と予測

© 2023 | 全著作権所有

socialgekon.com