vol17. BMCA (Best Master Clock Algorithm) について

概要

  • gPTP のGrand Master(GM)を選択するアルゴリズム。ネットワーク上の各クロックの中から、最もqualityの高いclock をみつけだす

  • BMCAを使用することにより以下が保証されている
    • Best Master Clock を特定する
    • すべてのgPTP device (time aware system) は、同じGMを使用することを保証される
    • GMがなんらかの理由でネットワークから外れた場合、代わりのデバイスGMになる

  • 自動車への実装は、かなりの点でIEEEの標準規格と異なる[1]
    • IEEE
      • ネットワークトポロジーやBMCAなど動的な設定がゆるされている
    • 自動車
      • 静的に事前決定される
        • 一意のシステムを作成し、システムを最適化させるため
        • 起動時間の短縮

topology

https://upload.wikimedia.org/wikipedia/en/thumb/6/64/Clock-Master.pdf/page1-1200px-Clock-Master.pdf.jpg

アルゴリズム

  1. 各gPTP device (switch, endpoint) は、Announce messageを用いて、自身の持つクロック情報をネットワーク内にmulticast 転送する。
  2. Message を受け取ったその他のgPTP deviceは、受信したクロック情報と自身のクロック情報を、以下の属性順に比較し、優先するソースを選択する。
  3. よりよいクロックを持つデバイスからannouce message を受け取った場合、そのポートはslave port へと移行する。(Announce message を発行するのを停止する)

Announce message

  • master portが発行する
  • 以下のクロック属性情報をもつ
    • priority1
    • clockClass
    • clockAccuracy
    • offsetScaledLogVariance
    • priority2
    • clockIdentity

クロック優劣の決定方法

  • systemIdentity で数字が小さい方が勝ち
  • IEEE802.1ASより引用

The systemIdentity attribute of a time-aware system is a
UInteger112 (i.e., a 14-byte, unsigned integer) formed by
concatenating the following attributes, in the following order,
from most significant to least significant bit:

a) priority1 (1 octet, see 8.6.2.1)
b) clockClass (1 octet, see 8.6.2.2 and 6.3.3.8)
c) clockAccuracy (1 octet, see 8.6.2.3 and 6.3.3.8)
d) offsetScaledLogVariance (2 octets, see 8.6.2.4 and 6.3.3.8)
e) priority2 (1 octet, see 8.6.2.5)
f) clockIdentity (8 octets, see 8.5.2.2 and 6.3.3.6)

g) A is better than B if and only if SA < SB, and
h) B is better than A if and only if SB < SA.

vol16. gPTP の流れを調べてみた

時間同期のしくみ

基本的なしくみは以下のとおり

  1. BMCA等により、Grand Master(GM)を決定する
  2. GMは、自身の正確な時刻を定期的にマルチキャスト配信
  3. 各スレーブは、メッセージ送信のDelay値を取得
  4. #2, #3 から、各スレーブは、各スレーブにおける時刻を算出

時間同期に使用されるMessage

  • Ethertype
    • gPTP: 0x88F7
  • Destination MAC Address
    • 01:80:C2:00:00:0E
      • Multicast用アドレス
      • LLDP(Link Layer Discovery Protocol) multicast addressとかぶる
      • MSRPも同じアドレスを使用する
      • AVTP は異なるアドレスを使用
        • 91:E0:F0:01:00:00
        • MAAP によってallocate されたアドレス

Message の種類

Announce
  • network のstartup 時に、すべてのendpoint はそれぞれのcapabilityをAnnounce messageでネットワーク内のデバイスに通知する
  • BMCAにて使用
Sync/Follow up
  • Masterのタイムスタンプをネットワーク内に定期的にマルチキャスト配信 Bridge が仲介した場合は、propagation delay値分(link delay + residence delay (forwarding delay))を加算し(correction)下流におくる
  • default で 125ms 間隔
Pdelay_Req/Pdelay_Resp/Pdelay_Followup
  • 隣接するノード間の遅延値を算出するために用いる
    • 遅延値は各スレーブが保有する
  • Master がPdelay_Req を発行するケースもある。(知りたい人が発行する)
Signaling
  • TLVを用いて、Information/Request/command を運ぶ

vol15. SRP(Stream Reservation Protocol) について調べてみた

SRPとは

  • Stream Reservation Protocol の略
  • 例えば、カメラ(talker)と Display(listener) のストリームに必要な帯域を事前に予約しておくことで、優先的に通信が確保される。Ethernet switch に接続されたその他のデバイス間の通信量が増大しても、通信混雑によるパケット落ちや遅延は発生しない。
  • Ethernet AVB で必要とされるプロトコルの一つ。他には、gPTP, AVTP, FQTSS, AVDECC等がある。
  • IEEE 802.1Qatにて2010年に策定され、2011年に802.1Q(Clause35)に取り込まれた

応用例

車載アプリケーションにおいては、Parking Assisist System(バックカメラやサラウンドビュー)やInfortaiment, ADAS(advanced driver assistance system)といったリアルタイム性を必要とするアプリケーションでの使用が期待されている。

例えば、バックカメラの映像をナビの画面に表示させるアプリでは、他のデバイスの通信状況によって、バックカメラの映像が乱れたり、映像に遅延が生じると、ドライバーを混乱させ重大な事故につながる。SRPの技術を導入すれば、帯域の確保が保障されるため、このような問題は発生しない。

特徴

  • Class 制
    • Class A
      • generate 8000 packets/s
      • guarantees max 2m sec latency across 7 AVB devices (hops)
    • Class B
      • generate 4000 packets/s
      • guarantees max 50m sec latency across 7 AVB devices (hops)
    • Best efffort
      • no gurantee
  • IEEE802.1Q VLAN を利用
    • Stream にVLAN IDを設定する
    • Ethernet switch のportに通過させるVLAN ID を設定する。

利用するプロトコル

  • MSRP(Multiple Stream Registration Protocol)
    • Domain, Talker, Listener 情報の伝搬
  • MVRP(Multiple VLAN Registration Protocol)
    • ストリームが流れるポートに、そのストリームのVLAN 情報を登録する
  • MMRP(Multiple MAC Registretion Protocol)
    • Talker prunning に使用
  • Ethertype

MMRP, MVRP, MSRP のEthertype は以下の通り。

Ethertype
IPv4 0x0800
ARP 0x0806
IPv6 0x86dd
MMRP 0x88F6
MVRP 0x88F5
MSRP 0x22EA
PTP 0x88F7
AVTP 0x22F0

どのようにstreamを予約するのか?

おおまかな流れ
  1. AVB domain をつくる
  2. Talker がstream 情報をadvertize する
  3. Listener がstream をregister する
AVB domain をつくる

AVB domainはSRP domainとgPTP domainの交わった領域。SRP domainは、各EndpointがMSRP(attibute type:domain)をmulticastすることでスイッチに通知。Domain message を受け取らなかったポートは、Boundary となる。
gPTP domainはasCapableがtrue のポート。(詳しくはIEEE802.1as)を参照

Talker がstream 情報をadvertize する

TalkerはMSRP talker advertise メッセージをmulticastする。SRP domain 全体に送られる。talker advertise メッセージは、Class ID、Priority、VLAN IDといったストリームの情報を含む。
Bridgeは、自分ポートの利用可能バンド幅を確認し、OK なら次のスイッチにメッセージ転送する。NG ならTalker failed メッセージをTalkerに転送する。Listener にメッセージが届くまで繰り返す。

Listener がstream をregister する (attach/request)

ListenerはMSRP Ready メッセージをtalker へと送り返す。Ready メッセージは、stream IDの情報が含まれる。スイッチはready を受け取ったら、resource(バンド幅)をlock down し、Ready メッセージを上流のスイッチに転送し、
talkerにメッセージが届くまで繰り返す。

talker はready メッセージを受け取れば、そのストリームに必要なバンド幅を確保できたとみなせる。

vol14. 大人のための読書の全技術

大人のための読書の全技術

大人のための読書の全技術

大人のための読書の全技術を読んだ。

斎藤氏の読書術をふんだんに披露した書籍。読書の大切さから、速読術、精読術、本
選び、そしてアウトプットの方法まで、著者が日頃から実践していること、考えてい
ることを述べている。

様々な読書法に関する書籍に目を通してきたため、特に本書から得られた目新しい知
見はなかった。

あえていうならば、読書の効能の絶大さを述べた部分が心に響いた。自分のボキャブ
ラリーの少なさは、客観的にみてもとても少ないと感じている。故に、これを伸ばせ
ば、思考力も劇的に向上するとのこと。その為にも読書の習慣化は大事だ。
自分の思考力はまだまだ向上の余地がある、そして、向上した姿を想像しただけでワ
クワクしてくる。

オススメ図書は、ほぼ自分が読んでいない本ばかりだ。ということは、まだまだたく
さんの本との出会いがある。それも楽しみだ。

vol13. 読書: 知識を自分のものにする 最強の読書

知識を自分のものにする 最強の読書

知識を自分のものにする 最強の読書

  • 作者:遠越 段
  • 出版社/メーカー: 総合法令出版
  • 発売日: 2016/01/21
  • メディア: 単行本(ソフトカバー)


読書法に関する本。

多読の重要性、速読の重要性、精読の重要性、
ノートの重要性、書く重要性を説いている。

他の読書法に関する本と比べて、内容は平易、特筆する手法を紹介しているわけでも
ないが、改めて本書にかかれていることは、本質的な事が書かれているのかなと感じ
た。

特に、以下の文章はそれをよく表現していると思う。
> - 文章がうまく、よく書けるようになるには、次の3つの原則が大切となる。
> - 第1原則 本を大量に読む。できれば名文と言われるもの、古典的なものを読むこと。
> - 第2原則 自分でものを考える習慣をつくる。テレビ、新聞、本を参考にしても、自らの目と自らの頭を一番信じること
> - 第3原則 とにかく日々書き続けること

とにかく日々書き続けること。
これがいまの自分に必要なことだ。

vol12. 王様の速読術

王様の速読術

王様の速読術

王様の速読術を読んだ。
医学博士の斎藤英治氏が執筆した速読本。

王様から教えを請う形の物語風にアレンジされており、スイスイ読める。

以下の文章が、自分に特に響いた。

ひたすら目の訓練や、脳を活用するための訓練をし、あげくの果てに読む気のまったく
ない本を使って、「今日は一分で何文字読めた」とか「10分で何ページ読めた」と競
ってみても、そのうち「これは自分が求めていたものではない」とあきらめてしまう人
が出てくるのは当然だろう。


というのも、最近「巷の速読教室」に惹かれ体験講座を受けてきたからだ。
実際に、本は早く読めるようになりたい。ただ、料金は高いし
、興味のない本をひらいてそのスピードを競いあう内容に疑問が生じた。
実際に読むスピードが上がっても、頭や心にほとんど内容が残っていなかったためだ。
そういった疑問、モヤモヤがこの本を読んで解消された。

速読の入門書としておすすめ。

vol11. 読書法について

齋藤孝の速読塾 これで頭がグングンよくなる! (ちくま文庫)

齋藤孝の速読塾 これで頭がグングンよくなる! (ちくま文庫)

斎藤孝の速読塾を読んだ。
教育学者、齋藤孝氏著の速読法。

"私達はそろそろ「本は最初から最後まで読むもの」という脅迫観念から自由になる
べきです。"


この文章がとても印象に残った。
どちらかと言うと完璧主義的傾向がある自分にとって、初めから終わりまですべてを理解しないといけないという
無意識の観念が少なからず自分の中にあったことに気付いた。
かならずしも最初から最後まで順序だって読む必要はないのか。
確かに読んでいてつまらない部分や、わかっているよーと思える部分、理解できない部分は、
今の自分には必要ないかもしれない。そういった部分は心が欲した時に読めばよいのかなとも思える。


これまで何冊か読書法に関する書籍を読んできたが、自分なりに読書法のポイントをまとめると、

  • 「著者の本当に伝えたい事は何か」の問を立てその答えを探すように読む
  • アウトプットを意識して読む

の2つが最も根幹をなす部分だと思う。

「著者の本当に伝えたい事は何か」を把握する為に、まず第一段階として

  • 骨子を見いだすことを意識して読む。
    • 目次を読み
    • 全体像をつかむために流し読み
    • 序文やあとがきを読む

といった、いわゆる点検読書を行う。

次に、

  • 問をたてて、読みなおす。
  • 心に引っかかった部分を拾い読みする。
    • 違和感と共感を推進力にして
  • 著者と対話をしながら読む
    • 著者の側に視点移動

といった分析読書を行う。

「アウトプットを意識して読む」ために、

  • 引用したい文を一文さがしながら読む


読書は自分自身の成長に影響を最も及ぼす活動なので、
これらを実践しながら、更に様々な書籍もヒントにしながら、
自分なりの方法を身につけるのが大事だ。