2017-02-18

進化を続ける Linux (kernel 4.10)

Linux カーネルの新しいリリースでどんな新機能が加わったのか、情報を追跡することについて行けなくなりましたが、この週末の2月19日にバージョン 4.10 のリリースがおこなわれるという記事をたまたま目にしました(参考サイト [1])。

今回のリリース主要な新機能だけでも下記のように盛りだくさんです。

  • Support for Intel’s Turbo Boost Max 3.0
  • Initial support for Intel Graphics Virtualization Technology(GVT)
  • Welcomes more new ARM platforms
  • Integrating the support for new hardware like raspberry Pi3, Microsoft surface and x86 laptops
  • More AMD ZEN/RYZEN Enablement
  • NOUVEAU Boost Support (NVIDIA)
  • AMD GPU DRM driver fixes

ちなみに Fedora 25 の現在のカーネルバージョンは 4.9.9 です。自分が使っている格安 PC の非力な CPU では、今回のリリースで大きな恩恵を受けることはなさそうです。しかし Fedora でも早い段階で 4.10 系のカーネルのパッケージがリリースされるでしょうから、単純にそれだけでワクワクしてしまします。

参考サイト

  1. Linux Kernel 4.10 - Comes Loaded With Exciting New Features Every Linux User Needs. - CuriousPost [2017-02-16]

 

ブログランキング・にほんブログ村へ
にほんブログ村

2017-02-10

WebAssembly と Google Chrome 56

Google Chrome バージョン 51 からプラットフォームに依らず利用可能になった WebAssembly ですが、定点観測的に Google の Octane で Javascript のベンチマークを取って WebAssembly の有効/無効時のパフォーマンスを比較してみました。→ 本記事は筆者の理解不足があり、意味の無い比較になってしまいました。匿名さんからコメントを頂きました(こちら)。

動作環境は次の通りです。使用した PC は HP Stream 11 の新旧二台を使いました。

今回は Octane 2.0 を、WebAssembly の機能を無効、有効それぞれ 5 回ずつ、二台の PC で実施、計 20 回でベンチマークのスコアを取得しました。今までのベンチマークでは、各条件 5 回実施したうち、最高スコアを比較対象としました[1][2]。しかし今回は他の情報を捨ててしまうのがもったいないと思い、全ての情報を反映させるべく R の ggplot2 でプロットしました。

WebAssembly の有効化/無効化

Google Chrome のアドレスバーに chrome://flags/#enable-webassembly と入力します。試験運用版 WebAssembly の行で「有効にする」あるいは「無効にする」を選択します(下図)。

画面下の「今すぐ再起動」をクリックして Google を再起動して機能を有効にします(下図)。

ベンチマーク結果

Octane によるベンチマーク結果を下記にまとめました。PC の違いは(文字数の短く表記に便利なので)CPU の違いとして旧モデル Stream 11-r016TU を N2840、新モデル Stream 11-y004TU を N3050 と表しています。

#Web
Assembly
CPUOctane
Score
RichardsDelta
blue
CryptoRay
trace
Earley
Boyer
RegexpSplaySplay
Latency
Navier
Strokes
pdf.jsMandreelMandreel
Latency
GB
Emulator
Code
Load
Box2D
Web
zlibType
script
1DisableN28407551888915505967616855111371371186641451187838905545120131519640459404220238104
2DisableN2840810891891641795331636211158926517876751160838765745122491541539669536201847658
3DisableN284075389228160019586172421120693933825349118483921575956331536040199873235328166
4DisableN284077989023158759516164521145593845066032119494383610759851569840319321237818296
5DisableN2840797191711531394981626311023942452954451182539286028130161547140109353230667809
6EnableN28408083897016470953316247113861362340648981182539746301141631547140399321228468123
7EnableN28408256911114605966014785108511362507780591192537335667122491588840039081233028055
8EnableN2840819291501599495851617311013915555866631193738246057128481525739839697234208102
9EnableN2840827893271598195971614111304931539810670117543974547399311531840049573236458155
10EnableN284080699147159159433169128886905575369071163138765770118131539438769956236268144
11DisableN3050737180351444782241559888351229395277151315542965225100311122633266880206237237
12DisableN30506765800614711812115625913584843844013130464207516510861632832856428205897551
13DisableN305069447694139118162155528924848254359851300741075209111031243033956666206516975
14DisableN30506450806714586822415567906483826623665130333753510951931158134397035206536894
15DisableN305067857965136408225158628744832338751091315538234982101741130033955557205956834
16EnableN3050701880671475883321543591051244184755371271243455197108611228434636781207077352
17EnableN3050736981161226580881564187211242456770901310341125284112791182734176359208397345
18EnableN305072297996137468222157269071831376576721300742525211106071178934286934207187329
19EnableN305072177939148048258162479096839446663931287240995136106071162334236511206767388
20EnableN305070308095138918182163798928857289064161284743295225108611159934156145207527345

OctaneScore

まずは OctaneScore の結果です。どちらの CPU においても WebAssembly を有効にした方がスコアが高くなっていますが、CPU の差の方が大きく、しかも、N3050 の方があきらかにスコアが低いという結果になりました。

以下、ベンチマークの各項目の結果です。

Richards

Deltablue

Crypto

Raytrace

EarleyBoyer

Regexp

Splay

SplayLatency

NavierStrokes

pdf.js

Mandreel

MandreelLatency

GB Emulator

CodeLoad

Box2DWeb

zlib

Typescript

まとめ

本ベンチマークは 2 月の最初の週末に実施したのですが、詳しくまとめる時間が取れずに一週間が過ぎようとしていたので、内容が古くなる前に公開してしまいました。ベンチマークの各項目の説明など、追記して行く予定です。

後記

本記事に関して下記のコメントをいただきました。

JSのベンチマークであるOctaneではWebAssemblyもasm.jsも一切使われていないので、違いが出るとは思えないのですが、何を測ろうとしているのでしょう?WebAssemblyの実装がJSを遅くしていないかどうかの確認ですか?

考えてみると、asm.jp や WebAssembly によって Javascript の実行速度が勝手に速くなるものだと思いこんでいましたが、そうでは無かったようです[3][4][5]。ディレクティブを付加してから型アノテーションが必要になるのですね。コメントをありがとうございました。

ということで、意味のないベンチマークの比較をしてしまいました。恥ずかしいので記事を消してしまいたいのはやまやまですが、自戒の念を込めてこのまま残しておきます。

参考サイト

  1. bitWalk's: WebAssembly と Google Chrome 51 [2016-05-28]
  2. bitWalk's: WebAssembly と Google Chrome 53 [2016-09-18]
  3. asm.jsとWebAssemblyって実際なんなの? [2015-08-22]
  4. Webブラウザで高速な演算を可能にする低水準言語asm.jsと、WebAssembly詳解ーJavaScript が動く仕組み | HTML5Experts.jp [2016-07-07]
  5. Webブラウザで高速な演算を可能にする低水準言語asm.jsと、WebAssembly詳解ーasm.jsの仕組みとコーディング例 | HTML5Experts.jp[2016-07-25]

 

ブログランキング・にほんブログ村へ
にほんブログ村

2017-01-27

HP Stream 11 新旧比較

HP Stream 11 は、11.6 インチ画面を持つエントリーブランドのモバイルノート PC です。何よりも手頃な価格で販売されていることが最大の特徴と言えます。

私は、2015 年 10 月に発売された Stream 11-r016TU に Fedora (Linux) をインストールして愛用してきましたが、2016 年 9 月発売されたモデルに 4GB メモリが搭載されたものを選べるということで、Amazon.jp で発売されるのを待って購入してしまいました。

それぞれのモデルについてのレビューは既に専門の方たちによってなされています。購入に際に参考にさせていただいたいくつかのサイトを紹介します。

今さらという感はありますが、日本 HP のサイトで紹介されている仕様 [1][2] を元に比較表を作って、それをベースに使用感をまとめました。

仕様比較

シリーズ HP Stream 11-r000 シリーズ HP Stream 11-y000 シリーズ
発売開始月 2015 年 10 月 2016 年 9 月
モデル 11-r016TU 11-y003TU 11-y004TU
外観
カラー コバルトブルー アクアブルー
プロセッサ Intel® Celeron® N2840
(2.16GHz-2.58GHz, L2キャッシュ 1MB)
Intel® Celeron® N3050
(1.60GHz-2.16GHz, L2 キャッシュ 2MB)
メモリ 2GB オンボード 4GB オンボード
(1333MHz,DDR3L SDRAM) (1600MHz,DDR3L SDRAM)
ストレージ 32GB (eMMC)
Web カメラ HP TrueVision HD Webcam (約92万画素) VGA Webcam (約30万画素)
内蔵無線LAN IEEE802.11a/b/g/n/ac, Bluetooth 4.0 IEEE802.11a/b/g/n/ac, Bluetooth 4.2
グラフィックスタイプ インテル®HDグラフィックス (プロセッサーに内蔵)
ビデオメモリ 最大1033MB (メインメモリと共有) メインメモリと共有
ディスプレイタイプ 11.6インチワイドHD非光沢・ディスプレイ (1366×768/最大1677万色)
外部ディスプレイ 最大1920×1080/最大1677万色
ポインティングデバイス イメージパッド (タッチジェスチャー対応)
メディアカードスロット microSDカードスロット
キーボード 日本語配列
インターフェイス HDMI 出力端子×1, USB3.0×1、USB2.0×1, ヘッドフォン出力/マイク入力コンボポート×1
オーディオ dts Sound+, Realtek High Definition Audio準拠 dts Studio Sound, Realtek High Definition Audio準拠
デュアルスピーカー, 内蔵デュアルマイク デュアルスピーカー, 内蔵マイク
サイズ (幅x奥行きx高さ) 約 300 x 206 x 18.4 mm 約 300 × 205 x 18.5(最薄部)-20.0(最厚部)mm
質量 約1.18 kg 約1.13 kg
ACアダプター 45W スマートACアダプター(動作電圧:100-240 VAC、動作周波数:50-60 Hz)
消費電力 (標準時/最大時) 約 5W / 45W
省エネ法に基づくエネルギー消費効率 S区分 0.043(AA) Y区分 0.043(AAA) S区分 0.043(AA)
バッテリ リチウムイオンポリマーバッテリ(2セル) リチウムイオンバッテリ(2セル)
バッテリ駆動時間 約10時間30分 約10時間45分
実勢価格 (amazon.jp 1/26 調べ) 26,270 円 28,980 円 38,800 円

仕様の比較では、一字でも記載が異なる場合は何かが違うとみなし欄を分け、そうでない場合は共通にして違いが見やすいようにしました。

スペックダウンと機能向上

よく見ると、今回のモデル(HP Stream 11-y000 シリーズ)では、スペックダウンされた項目があります。それは Web カメラの画素数と内蔵マイクです。反面、Bluetooth が 4.2 に対応したり、重量が微妙に軽くなっていたりと小さな改善があります。

Web カメラと内蔵マイクは、自分にとっては使用頻度が低いデバイスですので、うまいところで全体のバランスを取って価格を抑えてくれたように思います。なお、DTS(サウンドシステム)についても表記が微妙に異なるので分けましたが、具体的に何がどう違うのかは判りません。

CPU の違い

CPU が 22nm 世代の Celeron® N2840 から 14nm 世代の Celeron® N3050 へ変わっていますが、参考資料 [3] によると、CPU の処理性能は Celeron® N2840 のほうが高く、グラフィックスの性能は Celeron® N3050 の方が高いようです。

実際の使用感では、Fedora の起動時間や、ログインして GNOME3 のデスクトップ環境が使えるようになるまでの時間は、明らかに新しいモデルの方が早いと感じます。しかしメモリが 4GB であることも影響している可能性が高いです。ベンチマークを別の機会でレポートします。

気に入らない点

筐体がアクアブルーになりましたが、旧モデルのコバルトブルーの方が良かったと感じるのは、まだ新しいカラーに慣れていないからでしょうか。

しかし変更は色だけではありません。今回のモデルでは電源 ON/OFF のボタンの発光ダイオードが無くなりました。旧モデルでは電源を ON にすると、電源マークのダイオードが灯り(左図左側)、ON の状態を容易に確認できましたが、新モデルではその確認ができなくなりました(左図右側)。

筐体左側面のダイオードが灯るので電源 ON/OFF の状態を確認できるのですが、電源ボタンのリアクションが無くなるとなんだか拍子抜けしてしまいます。慣れが必要なのかもしれません。

こういうダイオードによる表示もバッテリーの消費に効いてくるのは判りますが、発光ダイオードを減らすのであれば、筐体左側面ではなく電源ボタンの方のダイオードを残して欲しかったです。その場合、ディスプレイパネルを閉じれば電源 ON/OFF の状態を確認できなくなってしまうので、悩ましいところではあります。

そういえば、インターフェイス部分の 🎧 みたいな表示が、前モデルはコバルトブルーの筐体に白色で示されていたのに対し、新モデルでは凹凸で示されているだけで、やや識別しにくくなってしまいました。このように色を塗らずに凸凹にする方がきっとコスト的には有利なのででしょうが、個人的には安っぽくなったという感が拭えません。

ストレージは、旧モデルと同じく eMMC で容量も 32GB のままになっています。Windows の場合 C ドライブに割り当てられるので、この容量の少なさがネックになりそうですが、ロジカルボリューム (LVM) を標準で扱える Linux においては、microSD カードと組み合わせて使えば良いので、あまり気にすることはありません。

欲を言えば、もし eMMC の容量が 64GB あれば、/home だけ microSD に分離するという贅沢な使い方を余裕で出来るので、運用がもっと楽になります。

※ システム要件にはありませんが、Fedora や RHEL ではインストール時におけるパーティションの自動設定の挙動から察するに、フルインストールに必要な領域は、最大でも 50GB 程度と見積もっているようです。

モバイルノートの楽しみ方

私の仕事は出張が多く、週の半分以上はホテル暮らしです。業務で使うノート PC はショルダーバッグへ、プライベートで使う PC (HP Stream 11-y004TU) をキャリーバッグに忍ばせ、ごろごろ引いて持ち歩いています。

※ HDD がストレージの主流だった時代は、キャリーバッグに入れてごろごろ引いて歩くと、継続的な衝撃で HDD が劣化していくことを常に心配していました。SSD や eMMC を利用できるようになった今、そのような心配をしなくて済むようになりました。

こういったサブノート的な役割を担うノート PC に期待する性能はそれほど高くはありません。ホテルの WiFi に接続して Web サーフィンをして調べ物をして、プライベートのメールの確認をする程度です。そう、Amazon.jp でプライム・ビデオも見ます。さらに言うなら、プログラミングでプロトタイプ開発案件の動作確認もしたいと言ったところでしょうか。

JavaFX による GUI アプリケーションであれば NetBeans で、Python/wxPython による GUI アプリケーションであれば Eclipse で、そこそこ動作確認や修正を行えれば合格点です。動作速度がクリティカルな開発案件はありませんが、データ処理量は多いので、メモリが多いほど安心です。

前述のような不満点はありますし、Amazon.jp で価格が安定するまで待てなかったという失敗はありますが、総合的に考えると今回の新モデル HP Stream 11-y004TU はまあまあ良い買い物だったと思っています。

参考サイト

  1. HP Stream 11-r000 シリーズ(詳細スペック)
  2. HP Stream 11-y000 シリーズ(詳細スペック)
  3. Celeron N3050とN2840の違いは?Braswell世代のCeleronの性能をチェック! – こまめブログ [2015-07-03]

 

ブログランキング・にほんブログ村へ
にほんブログ村

2017-01-23

Oracle、17件の脆弱性を修正した「Java SE 8 Update 121」を公開 - 窓の杜

Java SE 8 Update 121 が 1 月 17 日(現地時間)に米 Oracle Corporation から公開されていました。気がつくのが遅れてしまいました。

今回のアップデートは四半期ごとに実施される Oracle 製品の定例セキュリティアップデートの一環で、Java SE では新たに発見された 17 件の脆弱性が修正されているそうです。そのうち 16 件は認証なしでリモートから悪用が可能で早急な対策が必要です。

参考サイト

  1. Oracle、17件の脆弱性を修正した「Java SE 8 Update 121」を公開 - 窓の杜 [2017-01-18]

 

ブログランキング・にほんブログ村へ
にほんブログ村

2017-01-22

【備忘録】Apache で Userdir を有効にする (Fedora 25)

Apache HTTP Server (httpd) は、Fedora の他、多くの Linux のディストリビューションで採用されている HTTP サーバです。

Apache による Web サーバは簡単な設定で利用できるので、自分の Linux 環境にインストールしておき、ホームページの HTML 文書をインターネットに公開する前にチェックすることに使っていました。

Apache のインストール

Fedora では、ルート権限で次のように httpd および関連パッケージをグループインストールすることができます。

$ su
パスワード:
# dnf groupinstall "Web サーバー"
...
...

サービスの起動

インストールした httpd のサービスを起動するには、ルート権限で次のようにします。

# systemctl enable httpd.service
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
# systemctl start httpd.service

Google Chrome などの Web ブラウザを起動して、URL に http://localhost と入力して、下記の画面が表示されることを確認します。

Userdir の利用

Apache が表示する HTML 文書のルートディレクトリ (DocumentRoot) は、/var/www/html になっています。これは /etc/httpd/conf/httpd.conf で設定されています。

個人のファイルを /var/www/html 内で編集するのはアクセス権限などの設定変更をしなければならず何かと不便です。そんなときには、自分のアカウント (/home/bitwalk) 内に public_html というようなディレクトリを作成して、その中に保存した HTML ファイルなどを http://localhost/~bitwalk と URL で指定してブラウザ上に表示させることができます。参考サイト [1]CentOS 7 での設定例が説明されていますので、それに従って設定を変更し、httpd サービスを再起動します。

試しに /home/bitwalk/public_html 内に適当な index.html を用意して、Web ブラウザで http://localhost/~bitwalk を表示してみると、アクセス権がないというエラーが表示されます。

今どきの Linux では SELinux がデフォルトで有効になっており、従来のパーミッションの設定の他にこの SELinux の設定も必要になります。SELinux を無効にすれば目の前の問題を直ちに解決できるのですが、その代わりに折角のセキュアな環境を放棄することになります。

今回の事象への対応方法は、幸いにしてぴったりのものが見つかりました。英文ですが参考サイト [2] に紹介されていまして、一文実行するだけで OK です。そこで、SELinux の設定を含めてまとめ直しました。

  1. /etc/httpd/conf.d/userdir.conf の設定変更
    • ...
      ...
      #
      <IfModule mod_userdir.c>
          #
          # UserDir is disabled by default since it can confirm the presence
          # of a username on the system (depending on home directory
          # permissions).
          #
          #UserDir disabled
      
          #
          # To enable requests to /~user/ to serve the user's public_html
          # directory, remove the "UserDir disabled" line above, and uncomment
          # the following line instead:
          # 
          UserDir public_html
      </IfModule>
      ...
      ...
      
  2. 権限変更
    • # mkdir /home/owner/public_html
      # chmod g+x /home/owner/
      # chown :apache /home/owner/
      
  3. httpd サービス再起動
    • # systemctl restart httpd
      
  4. SELinux ブール値の変更
    • # setsebool -P httpd_enable_homedirs true
      

再び Web ブラウザで http://localhost/~bitwalk を表示してみると、今度は用意した index.html が表示されました。

さて、この画面ですが、参考サイト [3] で紹介されている HTML ファイルです。

今年は HTML5 をしっかりおぼえて、HTML5 に準拠したホームページを作ろうと考えています。まずはじっくり構成を練ってから公開する予定です。テーマは、このブログと同じ Linux とプログラミングで、目指すは学習参考書のようなわかりやすさでまとめられた Linux の参考書のようなサイトを作ることです。📖

参考サイト

  1. CentOS7のapacheでUserdirを有効にする - Qiita [2014-10-24]
  2. Enabling apache UserDir (public_html) with SELinux enabled on Fedora » Diego Búrigo Zacarão’s Weblog [2010-05-07]
  3. html5で書いてみよう:構造化タグのサンプル集

 

ブログランキング・にほんブログ村へ
にほんブログ村