link 未来から過去へ表示(*)
link 過去から未来へ表示

link もっと前
   2020年 8月 27日 ---> 2020年 8月 18日
link もっと後

2020年 8月 27日

サーバ向けプロセッサでは最強の Intel

Twitter で Cavium Thunder X3 はサーバ向け汎用 ARM SoC ではなくなるかもしれない、という話を見かけました。Cavium(今は Marvell に買収されました)は独自 ARM CPU コアを作って頑張ってたメーカーです。

ARM 自体はまだまだめげることなく、サーバ向けに売りたい(Arm のサーバ向け戦略十年の計は実を結ぶか、新プロセッサ「Neoverse」 - MONOist)ようですが、肝心の ARM 系 SoC メーカーやサーバベンダーが ARM 系サーバで成功している様子がないです。

以前 Qualcomm Centriq も鳴り物入りでサーバ向け ARM SoC に参入しましたが、2018年にあっさり撤退Arm SoC の開発部門を秘かに閉鎖していた Qualcomm - EE Times Japan)しています。モバイルの王者 Qualcomm をもってしても困難な道のようです。

サーバ向けプロセッサは Intel が 9割取っているらしいので、崩すのはなかなか容易ではありませんね……。

ARM メニーコア系 SoC

サーバ向けとして発表されている ARM メニーコア系 SoC を列挙してみました。年代はチップがローンチされたおおよその時期です。間違ってたらごめんなさい。

  • Ampere Altra(2020, ARM Neoverse N1, 80コア, 7nm)
  • Amazon Graviton 2(2020, ARM Neoverse N1, 64コア, 7nm)
  • Huawei Kunpeng 920(2019, Hisilicon TSV110, 64コア, 7nm)
  • Cavium Thunder X2(2018, Broadcom Vulkan, 32コア, 14nm)
  • Amazon Graviton(2018, ARM Cortex-A72, 16コア, 16nm)
  • Qualcomm Centriq(2017, Qualcomm Folker, 48コア, 10nm)
  • Socionext SC2A11(2017, Cortex-A53, 24コア)
  • Cavium Thunder X1(2014, Cavium 独自, 48コア)

こんな感じですかね?SC2A11 はホームページでサーバ向けと謳っていたので、リストに入れてます。でも CA53 コアなので、性能的には Thunder X2 辺りと並べるのはちょっと厳しい……かな?

編集者: すずき(更新: 2021年 1月 10日 19:49)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2020年 8月 24日

ALSA ループバックデバイス

デスクトップ PC にはスピーカーを繋いでいませんが、たまに音声再生を確認したいことがあります。スピーカーを繋ぎ変えても良いですが、ALSA のループバックデバイスを使うと簡単に音声を転送したり、ファイルに記録したりできます。

ループバックデバイスとは再生した音声がそのまま戻ってきて(ループバック)録音できるデバイスのことです。ヘッドフォンの出力端子を、マイクロフォンの入力端子に繋いでループさせた状態を想像してもらうとわかりやすいと思います。

ALSA のループバックデバイス(aloop)は、ALSA の標準的な機能です。普通の環境だとロードされていないはずなので、modprobe でロードします。

ループバックデバイスのインストール
# modprobe snd-aloop

$ cat /proc/asound/pcm

00-03: HDMI 0 : HDMI 0 : playback 1
00-07: HDMI 1 : HDMI 1 : playback 1
00-08: HDMI 2 : HDMI 2 : playback 1
00-09: HDMI 3 : HDMI 3 : playback 1
00-10: HDMI 4 : HDMI 4 : playback 1
01-00: ALC1220 Analog : ALC1220 Analog : playback 1 : capture 1
01-01: ALC1220 Digital : ALC1220 Digital : playback 1
01-02: ALC1220 Alt Analog : ALC1220 Alt Analog : capture 1
02-00: Loopback PCM : Loopback PCM : playback 8 : capture 8    ★このデバイス hw:2 を使用する
02-01: Loopback PCM : Loopback PCM : playback 8 : capture 8

ロードし終わると PCM デバイスが 1つ増えます。上記の場合は 02-xx(02-00 と 02-01)が増えています。

ALSA ループバックデバイスの使い方

ループバックデバイスはサブデバイス 0 が再生用、サブデバイス 1 が録音用となっています。先ほどの例でいうと、再生時は hw:2,0 を使い、録音時は hw:2,1 を使います。

音声を再生する側
$ aplay test.wav -D hw:2,0

Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
ループバック音声を録音する側
#### ファイルに記録する場合

$ arecord -D hw:2,1 -r 48000 -f S16_LE -c 2 test2.wav

Recording WAVE 'test2.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo


#### ネットワーク経由で送る場合

$ arecord -D hw:2,1 -r 48000 -f S16_LE -c 2 | nc 192.168.1.10 5555

Recording WAVE 'stdin' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo

私の家のスピーカーは、今のところ ROCK64 に繋がっています。ROCK64 にネットワーク経由で送って、下記のように受け取れば「ほぼ」リアルタイムでデスクトップ PC の音声が確認できます。

ネットワーク経由で別端末で受け取る場合
$ nc -l 5555 | aplay -D hw:0

Playing WAVE 'stdin' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo

受け取る方は先頭の WAV ヘッダでサンプリング周波数やチャネル数を知ることができるため、-r や -c を指定する必要はありません。指定しても構いませんが無視されるはずです。

「ほぼ」リアルタイムと書いた理由は、上記の方法だと人間が余裕でわかるくらいの遅延が発生してしまうからです。ちゃんと測っていませんが、0.5秒くらい遅れてるかも?これでも簡易的な音声確認としては十分ですし、気にしなくでも良いでしょう。

編集者: すずき(更新: 2020年 8月 31日 23:09)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2020年 8月 19日

メモリの使い方は三者三様 - その 5

その 1その 2その 3その 4その 5

久しぶりに Android が動作するボードを購入したので、メモリの使い方を見てみました。開発用ボードは su が使えるので、情報が何でも取れて楽で良いですね。

最初は Khadas VIM2 Basic というボードです(Linux 3.14.29 aarch64, Android 7.1.2 ベース)。Amlogic S912 という SoC です。RAM は 2GB です。RAM が 3GB の Pro というボードもあります。

Khadas VIM2 Basic の /proc/meminfo
MemTotal:        1746388 kB
MemFree:          457292 kB
MemAvailable:    1170284 kB
Buffers:            7384 kB
Cached:           676612 kB
SwapCached:            0 kB
Active:           380856 kB
Inactive:         585248 kB
Active(anon):     282472 kB
Inactive(anon):      612 kB
Active(file):      98384 kB
Inactive(file):   584636 kB
Unevictable:         252 kB
Mlocked:             252 kB
SwapTotal:        511996 kB
SwapFree:         511996 kB
Dirty:                76 kB
Writeback:             0 kB
AnonPages:        282492 kB
Mapped:           264172 kB
Shmem:               976 kB
Slab:             150844 kB
SReclaimable:     115568 kB
SUnreclaim:        35276 kB
KernelStack:       15184 kB
PageTables:        20864 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     1385188 kB
Committed_AS:   45821668 kB
VmallocTotal:    2097088 kB
VmallocUsed:      106876 kB
VmallocChunk:    1805380 kB
TotalCMA:         221184 kB
UsedCMA:            4172 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
Khadas VIM2 Basic の /proc/pagetypeinfo
Page block order: 9
Pages per block:  512

Free pages count per migrate type at order       0      1      2      3      4      5      6      7      8      9     10   total
Node    0, zone   Normal, type    Unmovable    103     43     23      8      1      0      0      0      1      0      0     617
Node    0, zone   Normal, type  Reclaimable      0      1      1      0      1      2      0      0      1      0      0     342
Node    0, zone   Normal, type      Movable      0      0     95     52     12      5      1      0      1      0    109  113084
Node    0, zone   Normal, type      Reserve      0      0      0      0      0      0      0      0      0      0      0       0
Node    0, zone   Normal, type          CMA      0      0      0      0      0      0      0      0      0      0      0       0
Node    0, zone   Normal, type      Isolate      0      0      0      0      0      0      0      0      0      0      0       0


Number of blocks type     Unmovable  Reclaimable      Movable      Reserve          CMA      Isolate
Node 0, zone   Normal          144           14          690            2          108            0
Khadas VIM2 Basic の /proc/iomem
00000000-04ffffff : System RAM
  01080000-01f5b813 : Kernel code
  020ac000-025a0fff : Kernel data
05300000-072fffff : System RAM
07300000-07307fff : persistent_ram
07308000-0730ffff : persistent_ram
07310000-07317fff : persistent_ram
07318000-0731ffff : persistent_ram
07320000-07327fff : persistent_ram
07328000-0732ffff : persistent_ram
07330000-07337fff : persistent_ram
07338000-0733ffff : persistent_ram
07340000-07347fff : persistent_ram
07348000-0734ffff : persistent_ram
07350000-07357fff : persistent_ram
07358000-0735ffff : persistent_ram
07360000-07367fff : persistent_ram
07368000-0736ffff : persistent_ram
07370000-07377fff : persistent_ram
07378000-0737ffff : persistent_ram
07380000-07387fff : persistent_ram
07388000-0738ffff : persistent_ram
07390000-07397fff : persistent_ram
07398000-0739ffff : persistent_ram
073a0000-073a7fff : persistent_ram
073a8000-073affff : persistent_ram
073b0000-073b7fff : persistent_ram
073b8000-073bffff : persistent_ram
073c0000-073c7fff : persistent_ram
073c8000-073cffff : persistent_ram
073d0000-073d7fff : persistent_ram
073d8000-073dffff : persistent_ram
073e0000-073e7fff : persistent_ram
073e8000-073effff : persistent_ram
073f0000-073f7fff : persistent_ram
073f8000-073fbfff : persistent_ram
073fc000-073fcfff : persistent_ram
073fd000-073fdfff : persistent_ram
07400000-77ffffff : System RAM
c11084c0-c11084d7 : c11084c0.serial
c1108500-c110851f : /i2c@c1108500
c1108680-c11086af : c1108680.saradc
c11087c0-c11087df : /i2c@c11087c0
c1109880-c110988f : /pinmux
c8013000-c80137ff : /mhu@c883c400
c8100014-c810001b : mux
c8100024-c810002b : gpio
c810002c-c810002f : pull
c8100480-c810049f : /rc@c8100580
c81004c0-c81004d7 : c81004c0.serial
c81004e0-c81004f7 : c81004e0.serial
c8100580-c81005c3 : /rc@c8100580
c8832000-c8832013 : /t9015
c8834430-c883446f : gpio
c88344b0-c88344d7 : mux
c88344e8-c88344fb : pull
c8834500-c8834503 : /defendkey
c8834520-c8834533 : pull-enable
c8834540-c8834547 : /ethernet@0xc9410000
c8834558-c8834563 : /ethernet@0xc9410000
c8838000-c88383ff : c8838000.canvas
c883c3d8-c883c3df : c1108680.saradc
c883c400-c883c44b : /mhu@c883c400
c9000000-c9007fff : /dwc3@c9000000
  c9000000-c9007fff : xhci-hcd
c900c100-c90fffff : /dwc3@c9000000
c9410000-c941ffff : /ethernet@0xc9410000
d0078000-d007807f : /usb2phy@d0078000
d0078080-d007809f : /usb3phy@d0078080
d00c0000-d01bffff : d00c0000.t82x

2つ目は Khadas VIM3 Basic というボードです(Linux 4.9.113 armv7l, Android 9 ベース)。Amlogic A311D という SoC で、S922X に NPU という AI 処理用の IP を搭載した仕様です。S922X とピンコンパチとのこと。RAM は 2GB です。RAM が 4GB の Pro というボードもあります。

Khadas VIM3 Basic の /proc/meminfo
MemTotal:        1925088 kB
MemFree:          643640 kB
MemAvailable:    1091900 kB
Buffers:            9696 kB
Cached:           563448 kB
SwapCached:            0 kB
Active:           405012 kB
Inactive:         434112 kB
Active(anon):     268152 kB
Inactive(anon):      788 kB
Active(file):     136860 kB
Inactive(file):   433324 kB
Unevictable:        2372 kB
Mlocked:            2372 kB
HighTotal:       1179648 kB
HighFree:          36428 kB
LowTotal:         745440 kB
LowFree:          607212 kB
SwapTotal:        262140 kB
SwapFree:         262140 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:        268356 kB
Mapped:           389444 kB
Shmem:              1084 kB
Slab:              58456 kB
SReclaimable:      24384 kB
SUnreclaim:        34072 kB
KernelStack:        8856 kB
PageTables:        22616 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     1224684 kB
Committed_AS:   29512728 kB
VmallocTotal:     245760 kB
VmallocUsed:           0 kB
VmallocChunk:          0 kB
CmaTotal:         778240 kB
CmaFree:           10972 kB
VmapStack:          4440 kB
Khadas VIM3 Basic の /proc/pagetypeinfo
Page block order: 10
Pages per block:  1024

Free pages count per migrate type at order       0      1      2      3      4      5      6      7      8      9     10
Node    0, zone   Normal, type    Unmovable     39     46     15      4      3      1      1      0      1      1      0
Node    0, zone   Normal, type      Movable    418     81     32      8     11      8      2      1      1      1    144
Node    0, zone   Normal, type  Reclaimable      0      1      1      4      0      1      0      1      1      1      0
Node    0, zone   Normal, type   HighAtomic      0      0      0      0      0      0      0      0      0      0      0
Node    0, zone   Normal, type          CMA      6      0      0      1      0      0      0      0      0      0      0
Node    0, zone   Normal, type      Isolate      0      0      0      0      0      0      0      0      0      0      0
Node    0, zone  HighMem, type    Unmovable    150     76     76     34     17      3     40     10      0      0      0
Node    0, zone  HighMem, type      Movable     90    186     62     26     10      4      1      0      0      0      0
Node    0, zone  HighMem, type  Reclaimable      0      0      0      0      0      0      0      0      0      0      0
Node    0, zone  HighMem, type   HighAtomic      0      0      0      0      0      0      0      0      0      0      0
Node    0, zone  HighMem, type          CMA    864    430    120     63     26      7      0      0      0      0      0
Node    0, zone  HighMem, type      Isolate      0      0      0      0      0      0      0      0      0      0      0

Number of blocks type     Unmovable      Movable  Reclaimable   HighAtomic          CMA      Isolate
Node 0, zone   Normal           17          167            7            0            1            0
Node 0, zone  HighMem           73           26            0            0          189            0
Khadas VIM3 Basic の /proc/iomem
00000000-77ffffff : System RAM
  00108000-015fffff : Kernel code
  01700000-0198cbc3 : Kernel data
ff100000-ff1007ff : galcore register region
ff3f0000-ff3fffff : eth_base
ff500000-ff507fff : /dwc3@ff500000
  ff500000-ff507fff : /dwc3@ff500000
ff50c100-ff5fffff : /dwc3@ff500000
ff630218-ff63021b : /rng
ff632000-ff633fff : /t9015
ff634440-ff63448b : gpio
ff6344e8-ff6344ff : pull
ff634520-ff634537 : pull-enable
ff634540-ff634547 : eth_cfg
ff6346c0-ff6346ff : mux
ff634740-ff63475b : drive-strength
ff638000-ff639fff : ff638000.canvas
ff63c400-ff63c44b : /mhu@c883c400
ff642000-ff643fff : /soc/audiobus@0xff642000
ff64c000-ff64c09f : eth_pll
ff800014-ff80001b : mux
ff80001c-ff800023 : drive-strength
ff800024-ff800037 : gpio
ff802000-ff80201f : /soc/aobus@ff800000/pwm@2000
ff803000-ff803017 : ff803000.serial
ff805000-ff80501f : /soc/aobus@ff800000/i2c@5000
ff808000-ff80801f : /rc@0xff808040
ff808040-ff808083 : /rc@0xff808040
ff809000-ff809047 : /saradc
ffd01008-ffd0100b : eth_reset
ffd19000-ffd1901f : /soc/cbus@ffd00000/pwm@19000
ffd1b000-ffd1b01f : /soc/cbus@ffd00000/pwm@1b000
ffd1c000-ffd1c01f : /soc/cbus@ffd00000/i2c@1c000
ffd22000-ffd22017 : ffd22000.serial
ffd24000-ffd24017 : ffd24000.serial
ffe03000-ffe037ff : /sdio@ffe03000
ffe05000-ffe057ff : /sd@ffe05000
ffe07000-ffe077ff : /emmc@ffe07000
ffe09000-ffe0907f : /usb2phy@ffe09000
ffe09080-ffe0909f : /usb3phy@ffe09080
ffe40000-ffe43fff : ffe40000.bifrost
fffe7000-fffe77ff : /mhu@c883c400
編集者: すずき(更新: 2020年 8月 20日 23:46)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
   2020年 8月 27日 ---> 2020年 8月 18日
link もっと後

管理用メニュー

link 記事を新規作成

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDF ファイル RSS 1.0
QR コード QR コード

最終更新: 1/17 14:28

カレンダー

<2020>
<<<08>>>
------1
2345678
9101112131415
16171819202122
23242526272829
3031-----

最近のコメント 5件

  • link 20年12月20日
    すずき 「パック旅行や旅行代理店に割り当てられた専...」
    (更新:12/21 19:00)
  • link 20年12月20日
    hdk 「羽田鹿児島便、ANA直接予約はほとんどし...」
    (更新:12/21 08:17)
  • link 20年09月10日
    すずき 「追加情報。最新の Debian Test...」
    (更新:10/07 16:48)
  • link 20年09月20日
    hdk 「最近は音楽聞く時やビデオ視聴時はミニコン...」
    (更新:09/24 21:43)
  • link 20年09月20日
    すずき 「ありゃー、同じ壊れ方ですね。\n新たなヘ...」
    (更新:09/24 00:23)

最近の記事 3件

link もっとみる
  • link 21年01月16日
    すずき 「[QEMU のデバッグ用ビルド方法] たまに RISC-V 向けの...」
    (更新:01/17 14:28)
  • link 20年08月27日
    すずき 「[サーバ向けプロセッサでは最強の Intel] Twitter で...」
    (更新:01/10 19:49)
  • link 21年01月03日
    すずき 「[Windows の仮想メモリサイズの謎] Windows で「コ...」
    (更新:01/03 13:04)

こんてんつ

open/close wiki
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報