ビルドからoaisim実行まで

LTE基地局オープンソースであるOpenAirInterface(以下、OAI)。これの一部ソースを見たいだけだったが、せっかくなのでビルドしてみることにした。仮想マシンは非推奨とあるが、運用するわけではないため、Ubuntu16.04日本語版をVirtualBOXで構築し、そこで作業してみた。OAIではUbuntu14.04が推奨のようだが、tag v0.5以降なら16.04でも良さそうな旨が書かれてる。

結果的には、ほぼ下記URLに沿って作業を実施したが、このURLにたどり着くまでに結構時間がかかってしまった。
https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/OpenAirSoftwareSupport

ホスト環境構築作業:
## gitをインストール。tigは任意。svnは不要と思うが念の為。
sudo apt instlal git subversion tig

## Ubuntu Studioで標準のPreempt Kernelに入れ替える(simだけなら入替不要)。
sudo apt install linux-image-4.8.0-53-lowlatency linux-headers-4.8.0-53-lowlatency

## 追加パッケージ
sudo apt install libboost-all-dev libgdchart-gd2-spm-dev cmake

## 再起動後
sudo apt autoremove

OAI環境構築作業:
git clone https://gitlab.eurecom.fr/oai/openairinterface5g.git
cd openairinterface5g

git checkout -b v0.6.1 refs/tags/v0.6.1
## README.txtを読むとv0.5.2が良さそう。
git checkout -b v0.5.2 refs/tags/v0.5.2
git branch ## 現在の作業branchを一応確認
cd cmake_target
export LANG=C ## 日本語環境対策
source ./oaienv
./build_oai -I
## ↑でFailしたら力づくで処置する方が良い。私はbuild_target内のURLを変更した。
./build_oai --oaisim --noS1
一部、Failedとは出るが、openairinterface5g/targets/bin 以下にバイナリができていればOK。

実行例:

source ./oaienv
cmake_targets/tools/run_env_ue_virt_noS1


source ./oaienv
cd cmake_targets/oaisim_noS1_build_oai/build/
./oaisim -O ../../../targets/PROJECTS/GENERIC-LTE-EPC/CONF/env.band7.tmi.generic.oaisim.local_mme.conf --xforms
    (-Aで EPA, EVAなどのチャンネルモデルを指定することもできる)

とすると、下記の画面が出る。これを実行中のCPU負荷は、とても高い。

続きは次回(・・・たぶん無い)。

CPUの健康管理が時として仇となる

最近、省電力機能に関連するトラブルが、本当に増えてきました。先日のスマホVLC BANの件もそうでした。本件は、デスクトップ系CPUの話になりますが、CPUの健康管理機能は、時として仇となります。

キーワード:
P-State, C-State, Thermal Throttling, Junction Temperature (TjMAX)

最近、仮想マシンばかり触れていて、完全に失念していました。エンジニアは、これらの機能を認識しておくことが極めて重要です。これらの機能は、仮想マシンでは、どうにもなりません。

上記の機能は諸刃の剣であり、用途や適用によっては、悪影響となります。CPU種別・マザーボード実装・OS実装・用途によって、完全にケースバイケースとなるので、状況に合わせて調査が必要となります。

情報は多いので、調べれば何とかなりますが、気付かないとかなり回り道するケースが発生しそうなので、備忘録として記録しました。

思い出したきっかけ:
OpenAirKernelMainSetup#power-management
OpenAirKernelMainSetup#virtual-machine-vmware-virtual-box-etc

注意事項:
周囲温度とジャンクション温度は別物ですので、気をつけて下さい。

トレーニングでのBGM

レーニングでのBGM。ゆっくりローテーションしているが、ここ数ヶ月は固定し、ルーチンになりつつある。

<トレーニング>
1) Zedd - Get Low
スタートアップ。体のキレを確認しながらこの日のテーマを決める。
キレが良い時ほど怪我をするので要注意!
2) Maluma - Carnaval
「Huu」という所で特に力を入れる。
3) Becky G - Can't Stop Dancin'
「Fuuu」という所で特に力を入れる。

<ストレッチ>
1) 杏里 - D.J. I LOVE YOU
今でも最高のキラキラサウンド/クリアボイスのマッチング。横浜ベイブリッジの思い出、バブルの残り香に浸りながらストレッチ。
2) Mandy Moore - I Wanna Be With You
このダンサーのように動ける日を妄想しながらストレッチ。
3) Jane Kelly Williams - I'm Leaving for You
某スーパーのクロージング。そろそろ帰ろうという気分でストレッチ。

VLC BANの対応

以下、記録として残しておくが、今はVLCを普通にインストールできる。

    • -

本件は微妙に「脱力モード」ではない本筋の話。下記のスラドの件にヒットしていた。純正VLCが無いなぁとは思っていたが、まさかBANされていたとは。。。
mobile.srad.jp/story/18/07/31/0723249/

対策:
※以下、決して安全ではないので、自己責任で。

1) スマホchrome一時的に実行権限を与える。
 設定→セキュリティとプライバシー→その他→不明なアプリをインストールする→Chrome
 →アプリのインストールを許可する

2) スマホchromehttp://get.videolan.org/vlc-android/ から、最新のフォルダを選択し、ARMv8の.apkファイルをダウンロードし、インストール。インストール画面が出ない場合は、右上をタップして「ダウンロード」→該当ファイルを選択し、流れに従う。

3) 忘れずに、1) の危険な設定を元に戻す。

以下、バックグランド再生設定。通勤やスポーツジムでは必須。さもないと、画面Off後しばらくして、停止する。

4) 設定→電池→起動→VLC→手動で管理(項目は全てON)

5) 設定→アプリと通知→アプリ→(画面下)「*」マーク→特別なアクセス
 →バッテリー最適化を無視→(画面上)すべてのアプリ→VLC→許可

6) VLCアプリ左上から:設定→ビデオ バックグラウンド/PiPモード
 →バックグラウンドでビデオを再生

備考:
イコライザーは下記設定。音質はイヤホンに大きく依存するが、クリアで引き締まったサウンドになる。スマホのメーカを変更しても、サウンドは忠実に引き継ぐことができた。

Hz: 31 631252505001 k2 k4 k8 k16 k
dB:11.55.7-0.3-5.0-2.8-1.1-1.71.80.43.8
備考2:おおよそ1ヶ月毎に、上記1)〜3)を実施した方が良いだろう(自己責任で)。

備考3:音だけで良いならHF Player(ONKYO製)でいいだろう。VLCと違って、スマホ側のバックグランド設定は不要だった。グライコで200〜250Hzを低点にした「レ」を描けば、上と同じサウンドを狙える。

オリーブ牛

ご縁あって、ふるさと納税させていただいた返礼に、オリーブ牛サーロインステーキをいただいた。このような高級食材をいただくのは、どなたか(または自分)の披露宴以来、20年ぶりだろうか?口の中でとろける牛肉は、もう、最高!

ただ、家族には不評。肉を食べている気がしないらしい。所詮、庶民かw

元々、オリーブ牛を推めてくれたのは私の兄妹であり、学生の頃の私達兄妹は、テスト等の勝負前や、風邪をひいた時は、決まって牛肉を与えられていたので、私の体の主要部は牛肉でできているのだろう。オリーブ牛を食べた翌日のエアロビは、体の節々にクレ556が染み込んだかのように、滑らかでキレが良かった。きっと、頭の回転も滑らかになったはず。。。

明日も仕事があることに感謝し、サザエさんシンドロームを克服しよう。

OpenCLは使えるか?

そういえば、Linuxよりも先にPLD/FPGAに触っていたことに気付いた。Linuxに初めて触れたのはEnterpriseが付く前のRedhat6だったが、PLD/FPGAはMAX3000,FLEX6000あたりから触れている。FPGAはもうこりごり、触れたくなかったけれど、OpenCLならいいかも。

OpenCLについては既に情報は多い。主目的はオフロード。高負荷演算処理や高速演算処理を文字通り外出しする手段であるが、INTEL(旧ALTERA)のOpenCLは、オフロード以外のメリットもありそう。

S/W開発者がFPGAをサブプロセッサとして利用できる。
・PCIe(またはAXI)周辺のバッファ方式設計、流用元選択、デバイスドライバ開発、API設計が不要となる。
・S/W-FPGA I/F仕様書(いわゆるICD:Interface Contril Documentsの作成)が不要となる。
FPGAアップデート作業が不要となり、高速バス(PCIe/AXI)を使ったConfigになる。

バラ色のソリューションに見えるが、回路が膨れ上がったり、性能・動作周波数が上がらないリスクもあるので、十分な検証も必要。FPGAを知らない人は、コンパイルに時間がかかることもご留意。エミュレートではコンパイルは一瞬で終わり機能検証できるが、最終バイナリ生成は、へたすると半日以上かかりますよ。

INTEL PACカード欲しい。。。DELLのサーバオプションで買える。これでデータマイニングできたら最高最強!だが、高過ぎ。元は取れないだろう。

[エアロビ] 定位置の重み・プレッシャー・打開策

同じクラスでエアロビをやっていると、席次がおおよそ決まってくる。
1列目には左大臣様、右大臣様がいて、その横に副大臣様がいる。
2列目には秘書官クラスが座を占める。この2列の動きが良いと、
クラス全体が引き締まって、いい感じになる。

現在、私は、右大臣様の次席秘書官あたりまで出世し、がんばっている。
月始めは、コリオ(振り)が変わるので、少しプレッシャーがかかる。
過去、スランプに陥ったときは、一度、プレッシャに潰され、
次席秘書官を脱落することとなった。今月も、ちょっとやばい。。。
体のキレが悪かった上に、弱点(=手のフリ)を突かれたときに
完全にペースを乱し、プレッシャーから体が硬直し、のれなかった。

(…途中、「次週はできますよー」という先生の声で我に返り、
  手は途中で封印し、体に動きを染み込ませることに専念でき
  たのは良かった。)

毎年、湿気の多くなる6月後半から7月は、心と体が不安定になる。
今は、左腰がやや筋筋膜性腰痛。右足首の古傷がうずく時もある。
心の健康面でも、やや浮き沈みが多い状況。

無理は禁物、休むことも必要。…とは思いつつも、過去のつたない
人生経験では、ひとつ上のステージの難しさを経験することで、
現状を打開できるケースがあることも知っている。
今月は、魑魅魍魎の棲む伏魔殿(=最上位クラス)へ挑戦するか、
熟考中。地蔵になると周囲にご迷惑をおかけするかもしれないが、
お金払っているし、遠慮はいらない!
心と体の準備ができていたら、再チャレンジしてみよう。