[openrtm-staff:1221] Re: FW: 第7回RTCライブラリふくしま研究会 弊社発表(VPN接続によるデータポートwriteエラー)詳細レポート

Tomohiro Tannai tomohiro-tannai @ eac-inc.co.jp
2017年 11月 17日 (金) 17:44:22 JST


産総研 安藤 様

 

東日本計算センター 丹内です。

お世話になっております。

 

先日の調査結果から何かわかりますでしょうか。

対処不可の場合は、先日のメールでもお伝えしたとおり、5Hzでの運用を考えております。

 

 

From: Tomohiro Tannai [mailto:tomohiro-tannai @ eac-inc.co.jp] 
Sent: Tuesday, November 14, 2017 1:14 PM
To: 安藤 慶昭 <n-ando @ aist.go.jp>; 'openrtm-staff @ openrtm.org' <openrtm-staff @ openrtm.org>
Cc: '鈴木教文' <norifumi-suzuki @ eac-inc.co.jp>
Subject: RE: [openrtm-staff:1192] Re: FW: 第7回RTCライブラリふくしま研究会 弊社発表(VPN接続によるデータポートwriteエラー)詳細レポート

 

産総研 安藤 様

 

東日本計算センター 丹内です。

お世話になっております。

 

本番環境(ドローン~クラウド)ではありませんが、PC間での確認を致しました。

 

 

OutPortのコールバック関数(OpenRTMサンプルコードを流用)にて確認しましたところ、タイムアウトが発生しておりました。

(ON_BUFFER_FULLとON_BUFFER_WRITE_TIMEOUTを仕掛けました。)

なお、Exec rateを10→5Hzに変更した場合は、検出されませんでした。

 

------------------------------

Listener:        ON_BUFFER_WRITE_TIMEOUT

Profile::name:   Send0.send_Rcv0.rcv

Profile::id:     f5bdd8be-c8df-11e7-ba78-dc0ea17dffdc

Data:            161

------------------------------

 

 

VPN接続でのping結果は以下でした。

 

PING 10.8.0.38 (10.8.0.38) 56(84) bytes of data.

64 bytes from 10.8.0.38: icmp_seq=1 ttl=128 time=221 ms

64 bytes from 10.8.0.38: icmp_seq=2 ttl=128 time=184 ms

64 bytes from 10.8.0.38: icmp_seq=3 ttl=128 time=163 ms

64 bytes from 10.8.0.38: icmp_seq=4 ttl=128 time=200 ms

64 bytes from 10.8.0.38: icmp_seq=5 ttl=128 time=200 ms

64 bytes from 10.8.0.38: icmp_seq=6 ttl=128 time=203 ms

64 bytes from 10.8.0.38: icmp_seq=7 ttl=128 time=150 ms

64 bytes from 10.8.0.38: icmp_seq=8 ttl=128 time=247 ms

64 bytes from 10.8.0.38: icmp_seq=9 ttl=128 time=175 ms

64 bytes from 10.8.0.38: icmp_seq=10 ttl=128 time=180 ms

64 bytes from 10.8.0.38: icmp_seq=11 ttl=128 time=126 ms

64 bytes from 10.8.0.38: icmp_seq=12 ttl=128 time=157 ms

^C

--- 10.8.0.38 ping statistics ---

12 packets transmitted, 12 received, 0% packet loss, time 11014ms

rtt min/avg/max/mdev = 126.963/184.371/247.823/31.652 ms

 

 

iperfで計測(10秒)した結果は以下でした。

 

------------------------------------------------------------

Client connecting to 10.8.0.38, TCP port 5001

TCP window size: 45.0 KByte (default)

------------------------------------------------------------

[  3] local 10.8.0.34 port 37462 connected with 10.8.0.38 port 5001

[ ID] Interval       Transfer     Bandwidth

[  3]  0.0-10.1 sec  4.62 MBytes  3.83 Mbits/sec

 

 

 

From: 鈴木教文 [ <mailto:norifumi-suzuki @ eac-inc.co.jp> mailto:norifumi-suzuki @ eac-inc.co.jp] 
Sent: Monday, November 13, 2017 7:54 PM
To: 丹内 智博 < <mailto:tomohiro-tannai @ eac-inc.co.jp> tomohiro-tannai @ eac-inc.co.jp>
Subject: [openrtm-staff:1192] Re: FW: 第7回RTCライブラリふくしま研究会 弊社発表(VPN接続によるデータポートwriteエラー)詳細レポート

 

 

From: Ando Noriaki [ <mailto:n-ando @ aist.go.jp> mailto:n-ando @ aist.go.jp] 
Sent: Monday, November 13, 2017 7:32 PM
To:  <mailto:openrtm-staff @ openrtm.org> openrtm-staff @ openrtm.org
Cc: 鈴木 教文 < <mailto:norifumi-suzuki @ eac-inc.co.jp> norifumi-suzuki @ eac-inc.co.jp>
Subject: Re: [openrtm-staff:1192] Re: FW: 第7回RTCライブラリふくしま研究会 弊社発表(VPN接続によるデータポートwriteエラー)詳細レポート

 

東日本計算センター 丹内様 鈴木様

会津大学 菊池様

 

ご連絡ありがとうございます。

 

可能性としては、タイムアウトでエラーになっているかもしれません。

エラーが出る状況としては

・送信(受信)バッファがフル

・送信(受信)側がタイムアウト

・送信(受信)側バッファ(ブロックモード)でタイムアウト

などがあります。

 

試しに、以下のコールバックをOutPortに仕掛けてタイムアウトが出ていないか確認して見ていただけないでしょうか?

 

http://www.openrtm.org/doc/python/1.1.2/classreference_ja/class_open_r_t_m__aist_1_1_connector_listener_1_1_connector_data_listener.html#details

 

あとVPNでpingはどのくらいかかってますでしょうか?

またnetperf/iperfなどではどのくらいのスループットが出てますでしょうか?

 

以上、よろしくお願いいたします。

 

2017年11月13日(月) 15:38 Tomohiro Tannai <tomohiro-tannai @ eac-inc.co.jp <mailto:tomohiro-tannai @ eac-inc.co.jp> >:

産総研 安藤 様

 

東日本計算センター 丹内です。

お世話になっております。

 

御回答ありがとうございます。

ご質問への回答を致します。

 

>・Publisher Type: New ですと、すべてのデータが送信されるかどうかは保証されません。

 

発生当初はそう思っておりましたが、調査したところ、VPN接続のみwrite()にてFalseが返ってきております。

rtc.confを変更せずに実施した場合(VPN接続ではない場合)は、10Hz周期でも受信側RTCで全て受信できておりました。

先日、会津ラボ様とテスト(ドローン~会津大学クラウドをVPN接続)しましたところ、

5Hzでwriteエラーがなく全データの送受信が確認できました。

 

>・write()でFalseが返るのは、送信に関してバッファフル等のエラーが返ってきているためかもしれません。

 

バッファフルが発生しoverwriteされているのかと疑い、バッファを初期値(8)→20や100に増やしても改善されませんでした。

メールにも展開しましたテストRTC(Send RTC, Rcv RTC)においては、RTC間の通信の型はTimedShortのみですが、それでも発生しております。

 

write()でFalseが返ってくる原因を知る方法はありますでしょうか。

コネクタ書込みステータスを知るための関数(getStatusList())を利用してみたところ、Python版には存在していないようですが、

認識合っていますでしょうか。

 <http://www.openrtm.org/openrtm/ja/content/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%9D%E3%83%BC%E3%83%88-%E5%9F%BA%E7%A4%8E%E7%B7%A8> http://www.openrtm.org/openrtm/ja/content/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%9D%E3%83%BC%E3%83%88-%E5%9F%BA%E7%A4%8E%E7%B7%A8

 

>ちなみに、エラーの出るタイミングはいつでしょうか?

>最初だけ、まんべんなく、突発的に、などいろいろ考えられるかと思います。

 

まんべんなく、発生しております。

write()にてFalseが返ってくるため、受信側RTCでは送信RTCが送信したデータの7~9割しか受信しておりません。

 

 

=====================================

株式会社 東日本計算センター

R&Dセンター

チーム・サブ・リーダー

 

丹内 智博(たんない ともひろ)

 

<本社>

〒970-8026 福島県いわき市平字研町2

TEL: 0246-37-0575 / FAX: 0246-25-1040

HP:  <http://www.eac-inc.co.jp/> http://www.eac-inc.co.jp/

 

<会津オフィス>

〒965-8580 福島県会津若松市一箕町鶴賀

会津大学 先端ICTラボ(LICTiA) プロジェクトルーム8

=====================================

 

 

From: Ando Noriaki [mailto: <mailto:n-ando @ aist.go.jp> n-ando @ aist.go.jp] 
Sent: Monday, November 13, 2017 2:58 PM
To: openrtm-staff < <mailto:openrtm-staff @ openrtm.org> openrtm-staff @ openrtm.org>; Tomohiro Tannai < <mailto:tomohiro-tannai @ eac-inc.co.jp> tomohiro-tannai @ eac-inc.co.jp>
Subject: [Spam] Re: [openrtm-staff:1190] FW: 第7回RTCライブラリふくしま研究会 弊社発表(VPN接続によるデータポートwriteエラー)詳細レポート
Importance: Low

 

東日本計算センター 丹内様

 

安藤です

 

お世話になっております。

お問い合わせの件ですが、

・Publisher Type: New ですと、すべてのデータが送信されるかどうかは保証されません。

・write()でFalseが返るのは、送信に関してバッファフル等のエラーが返ってきているためかもしれません。

 

ちなみに、エラーの出るタイミングはいつでしょうか?

最初だけ、まんべんなく、突発的に、などいろいろ考えられるかと思います。

 

以上、よろしくお願いいたします。

 

 




--
安藤慶昭@国立研究開発法人 産業技術総合研究所
  ロボットイノベーション研究センター
  ロボットソフトウェアプラットフォーム研究チーム長
  (兼務)首都大学東京 客員教授,  博士(工学)
  〒305-8568 つくば市梅園1-1-1 中央第2
  e-mail: n-ando @ aist.go.jp <mailto:n-ando @ aist.go.jp> , web: http://staff.aist.go.jp/n-ando
  OpenRTM-aist: http://www.openrtm.org

Noriaki Ando, Ph.D.
    Team Leader, Robot Software Platform Research Team,
    Robot Innovation Research Center, AIST
    Visiting Prof., Tokyo Metropolitan University
    AIST Tsukuba Central 2, Tsukuba, Ibaraki 305-8568 JAPAN
    e-mail: n-ando @ aist.go.jp <mailto:n-ando @ aist.go.jp> , web: http://staff.aist.go.jp/n-ando
    OpenRTM-aist: http://www.openrtm.org

 

2017年11月13日 14:35 Tomohiro Tannai <tomohiro-tannai @ eac-inc.co.jp <mailto:tomohiro-tannai @ eac-inc.co.jp> >:

産総研 安藤 様

 

東日本計算センターの丹内です。

お世話になっております。

 

先週問い合わせ致しました本件、再送致します。

その後状況はいかがでしょうか。

 

 

From: Tomohiro Tannai [mailto: <mailto:tomohiro-tannai @ eac-inc.co.jp> tomohiro-tannai @ eac-inc.co.jp] 
Sent: Thursday, November 9, 2017 8:29 AM
To: 安藤 慶昭 < <mailto:n-ando @ aist.go.jp> n-ando @ aist.go.jp>
Cc: 鈴木 教文 < <mailto:norifumi-suzuki @ eac-inc.co.jp> norifumi-suzuki @ eac-inc.co.jp>
Subject: 第7回RTCライブラリふくしま研究会 弊社発表(VPN接続によるデータポートwriteエラー)詳細レポート

 

産総研 安藤 様

 

東日本計算センターの丹内です。

お世話になっております。

 

昨日の第7回RTCライブラリふくしま研究会にて弊社から、VPN接続によるデータポートwriteエラーについてご報告致しました。

前提条件は発表資料とは異なりますが、標準型のデータポートにおいても発生しておりますので、その環境を以下に示します。

(本メールに簡易図を添付致します。2ページ目になります。)

解決方法がございましたら、教授いただけますでしょうか。

 

事象:

 送信側RTCから送信したデータが、受信側RTCで全て受信できず

 (例えば、291件送信した場合、7~9割しか受信できず)

 

前提条件:

 [送信側RTC]

  OS: Ubuntu 14.04 LTS

  RTM: OpenRTM-Python 1.1.0

  何らかの標準型データポート1つ(本メール最後に共有したサンプルではTimedShort)。実行周期は10Hz(=100msec)。

 

 [受信側RTC]

  OS: Windows 10 Pro

  RTM: OpenRTM-Python 1.1.2

     ただし、コード生成は送信側RTCのPCにて実施

  OpenRTP: 1.1.2

何らかの標準型データポート1つ(本メール最後に共有したサンプルではTimedShort)。実行周期は10Hz(=100msec)。

 

 [RTC間の接続]

  ・VPN接続(OpenVPNを使用)

   VPN接続のため、rtc.confのcorba.endpoints, corba.nameservers, naming.formatsを変更

  ・DataFlowTypeはpush、Subscription Typeはnew、Push policyはall。その他の設定はデフォルト。

 

原因:

送信RTCのデータポートのwrite()にてFalseが返ってくる

 

その他:

 ・試しに実行周期を5Hzにした場合では、write()にてFalseが返らず、受信側RTCで全て受信できた

  ドローン~クラウドでのテストは未実施。今週末実施予定。

 ・VPN接続ではない場合は問題無し

 

テストコード:

送信側RTCを以下に共有します。onExecute実行回数をカウントするデータポートを送信します。

 <https://www.dropbox.com/s/9lb2znouugjkl4a/Send.zip?dl=0> https://www.dropbox.com/s/9lb2znouugjkl4a/Send.zip?dl=0

受信側RTCを以下に共有します。

 <https://www.dropbox.com/s/xmvs9wjvjtlgd96/Rcv.zip?dl=0> https://www.dropbox.com/s/xmvs9wjvjtlgd96/Rcv.zip?dl=0

 

 


_______________________________________________
openrtm-staff mailing list
openrtm-staff @ openrtm.org <mailto:openrtm-staff @ openrtm.org> 
http://www.openrtm.org/mailman/listinfo/openrtm-staff

 

_______________________________________________
openrtm-staff mailing list
openrtm-staff @ openrtm.org <mailto:openrtm-staff @ openrtm.org> 
http://www.openrtm.org/mailman/listinfo/openrtm-staff

-- 

--
安藤慶昭@国立研究開発法人 産業技術総合研究所
  ロボットイノベーション研究センター
  ロボットソフトウェアプラットフォーム研究チーム長
  (兼務)首都大学東京 客員教授,  博士(工学)
  〒305-8568 つくば市梅園1-1-1 中央第2
  e-mail: n-ando @ aist.go.jp <mailto:n-ando @ aist.go.jp> , web: http://staff.aist.go.jp/n-ando
  OpenRTM-aist: http://www.openrtm.org

Noriaki Ando, Ph.D.
    Team Leader, Robot Software Platform Research Team,
    Robot Innovation Research Center, AIST
    Visiting Prof., Tokyo Metropolitan University
    AIST Tsukuba Central 2, Tsukuba, Ibaraki 305-8568 JAPAN
    e-mail: n-ando @ aist.go.jp <mailto:n-ando @ aist.go.jp> , web: http://staff.aist.go.jp/n-ando
    OpenRTM-aist: http://www.openrtm.org

-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://www.openrtm.org/pipermail/openrtm-staff/attachments/20171117/1fcd7949/attachment-0001.html>


More information about the openrtm-staff mailing list