JP2019186821A - 情報処理装置、情報処理方法、およびプログラム - Google Patents

情報処理装置、情報処理方法、およびプログラム Download PDF

Info

Publication number
JP2019186821A
JP2019186821A JP2018077621A JP2018077621A JP2019186821A JP 2019186821 A JP2019186821 A JP 2019186821A JP 2018077621 A JP2018077621 A JP 2018077621A JP 2018077621 A JP2018077621 A JP 2018077621A JP 2019186821 A JP2019186821 A JP 2019186821A
Authority
JP
Japan
Prior art keywords
compressed data
data
transmission data
unit
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018077621A
Other languages
English (en)
Other versions
JP7187809B2 (ja
Inventor
健太朗 片山
Kentaro Katayama
健太朗 片山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018077621A priority Critical patent/JP7187809B2/ja
Priority to US16/296,408 priority patent/US10601444B2/en
Publication of JP2019186821A publication Critical patent/JP2019186821A/ja
Application granted granted Critical
Publication of JP7187809B2 publication Critical patent/JP7187809B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6064Selection of Compressor
    • H03M7/6082Selection strategies
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6064Selection of Compressor
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6047Power optimization with respect to the encoder, decoder, storage or transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】データの送信において情報処理装置の性能低下を防止すること。【解決手段】送信データを圧縮して圧縮データを生成し、前記圧縮データのサイズに基づいて、前記圧縮データと圧縮前の前記送信データのいずれかをネットワークに送信するかを判定し、前記判定の結果に基づいて、前記圧縮データと圧縮前の前記送信データのいずれかを前記ネットワークに送信する。【選択図】図4

Description

本発明は、情報処理装置、情報処理方法、およびプログラムに関する。
CPU(Central Processing Unit)で動作するソフトウェアでは不向きな処理をGPU(Graphics Processing Unit)やFPGA(Field-Programmable Gate Array)等のハードウェア(HW)アクセラレータで行うことで、処理を高速化する技術がある。HWアクセラレータは、ウェブ検索やクラウドサービスなど様々な分野で利用されている。
また、WAN(Wide Area Network)広帯域化のためのWAN高速化技術が知られている。
WAN高速化技術には、大きく分けて以下の2つのアプローチが取られている。
(1)トランスポート最適化:TCP(Transmission Control Protocol)/UDP(User Datagram Protocol)を改良し、遅延やパケットロスがある場合にもWAN帯域を有効活用可能する。
(2)データ最適化:送信データをWANに送る前に圧縮しておくことで、WAN上を流れるデータ容量を削減し、実効帯域を向上させる。
データ最適化は計算量が大きく、CPUで実行する場合にボトルネックになる。そのため、送信データの圧縮処理をFPGAで行うことで高速化している。
図1は、データ最適化によるWAN高速化技術の例を説明する図である。
図1では、送信システム11のクライアント12から受信システム21のサーバ23に送信データを送信する場合について説明する。
送信システム11は、クライアント12およびWAN高速化部13を有し、受信システム21は、WAN高速化部22およびサーバ23を有する。WAN高速化部13とWAN高速化部22はWAN31を介して接続されている。
クライアント12からサーバ23に送信データを送信する場合、クライアント12は、WAN高速化部13に送信データを送信し、WAN高速化部13は、受信した送信データを圧縮して圧縮データを生成する。WAN高速化部13は、圧縮データをWAN31を介してWAN高速化部22に送信する。
WAN高速化部22は、受信した圧縮データを展開して送信データを復元する。WAN高速化部22は、送信データをサーバ23に送信する。
このように、データ最適化によるWAN高速化技術では、圧縮データをWANへ送出することで、WANの使用帯域を削減できる。
高負荷時等のストレージ装置に対するキャッシュ処理に起因して、スループットが低下する等の問題を解消する技術が知られている(例えば、特許文献1参照)。
特開2017−58858号公報 特開2005−301607号公報 特開平4−359315号公報
情報処理装置がFPGAを用いて送信データの圧縮処理を行う場合、例えば、CPUとFPGA間のバスが逼迫すると性能が低下する。例えば、データの圧縮率が低い場合にバスへの負荷が大きくなり性能が低下する場合がある。
1つの側面において、本発明は、データの送信処理において情報処理装置の性能低下の防止を目的とする。
実施の形態の情報処理装置は、ネットワークと接続し、処理回路と、処理部と、を備える。前記処理回路は、圧縮部と、判定部と、を有する。
前記圧縮部は、送信データを圧縮して圧縮データを生成する。
前記判定部は、前記圧縮データのサイズに基づいて、前記圧縮データと圧縮前の前記送信データのいずれかを前記ネットワークに送信するかを判定する。
前記処理部は、前記判定部の判定結果に基づいて、前記圧縮データと圧縮前の前記送信データのいずれかを前記ネットワークに送信する。
実施の形態の情報処理装置によれば、データの送信において情報処理装置の性能低下を防止できる。
データ最適化によるWAN高速化技術の例を説明する図である。 比較例の情報処理装置によるWAN高速化技術を説明する図である。 比較例の情報処理装置によるWAN高速化技術を説明する図である。 比較例の情報処理装置によるWAN高速化技術を説明する図である。 比較例の情報処理装置によるWAN高速化技術を説明する図である。 比較例の情報処理装置によるWAN高速化技術を説明する図である。 比較例の情報処理装置によるWAN高速化技術を説明する図である。 比較例の問題点を説明する図である。 実施の形態の情報処理装置の構成図である。 実施の形態の送信処理を説明する図である。 実施の形態の送信処理を説明する図である。 実施の形態の送信処理を説明する図である。 実施の形態の送信処理を説明する図である。 実施の形態の送信処理を説明する図である。 実施の形態の圧縮データが送信される場合の送信処理のシーケンス図である。 実施の形態の圧縮データが送信されない場合の送信処理のシーケンス図である。 実施の形態のCPUの処理のフローチャートである。 実施の形態の圧縮部の処理のフローチャートである。 実施の形態のスキップ判定部の処理のフローチャートである。
以下、図面を参照しながら実施の形態について説明する。
最初に比較例のWAN高速化技術と問題点について説明する。
図2A〜2Fは、比較例の情報処理装置によるWAN高速化技術を説明する図である。
図2A:情報処理装置51は、CPU52、メインメモリ53、HDD(Hard Disk Drive)54、ネットワークIF(Interface)55、FPGA56、およびDDR(Double-Data-Rate Synchronous)メモリ57を有する。
CPU52は、メモリバス61を介してメインメモリ53と接続されている。CPU52は、クライアントアプリ58およびWAN高速化アプリ59をメインメモリ53を利用して実行する。CPU52、HDD54、ネットワークIF55、およびFPGA56は、バス62(例えば、PCI Expressバス)を介して、互いに接続されている。FPGA56は、バス63を介してDDRメモリ57と接続されている。ネットワークIF55は、WANと接続されている。また、送信データはHDD131に記憶されているとする。
クライアントアプリ58は、送信データをHDD54から読み出し、送信データと送信データの送信要求をWAN高速化アプリ59に送信する。WAN高速化アプリ59は、送信データをメインメモリ53に送信し、送信データをメインメモリ53に記憶する。
図2B:WAN高速化アプリ59を実行するCPU52は、送信データをDDRメモリ57へ転送する。詳細には、CPU52は、送信データをFPGA56に送信し、FPGA56は送信データをDDRメモリ57に記憶する。
図2C:FPGA56は、DDRメモリ57から送信データを読み出し、送信データを圧縮して圧縮データを生成する。FPGA56は、DDRメモリ57に圧縮データを記憶する。
図2D:FPGA56は、CPU52に処理完了を通知する。
図2E:WAN高速化アプリ59を実行するCPU52は、DDRメモリ57から圧縮データを読み出し、メインメモリ53に記憶する。
図2F:WAN高速化アプリ59を実行するCPU52は、メインメモリ53から圧縮データを読み出し、圧縮データをネットワークIF55に送信する。ネットワークIF55は圧縮データをWANを介して送信先に送信する。
図3は、比較例の問題点を説明する図である。
情報処理装置51において、FPGA56とDDRメモリ57の間のバス63またはCPU52とFPGA56の間のバス62が逼迫した際に性能が低下する。FPGA56が高並列処理をする場合、FPGA56内の演算機ごとのアクセスタイミングの揺れにより、一時的にバス62、63の負荷が大きくなる場合がある。それにより、情報処理装置51の性能が低下する場合がある。
また、データによって圧縮率は変動するが、圧縮率が低い場合は圧縮データのサイズが大きくなるためバス62,63への負担が増し、更なる性能低下に繋がる場合がある。
図4は実施の形態の情報処理装置の構成図である。
情報処理装置101は、CPU111、メインメモリ121、HDD131、ネットワークIF141、FPGA151、およびDDRメモリ161を有する。情報処理装置101は、例えば、サーバ等のコンピュータである。
CPU111は、メモリバス171を介してメインメモリ121と接続されている。CPU111、HDD131、ネットワークIF141、およびFPGA151は、バス181を介して、互いに接続されている。CPU111は、処理部の一例である。
FPGA151は、スキップ判定部152、圧縮部153、およびバッファ154を有する。FPGA151は、バス191を介してDDRメモリ161と接続されている。FPGA151は、再構成可能な集積回路であり、処理回路の一例である。スキップ判定部152は、判定部の一例である。スキップ判定部152および圧縮部153は、算出部の一例である。
HDD131は、情報処理装置101で使用されるプログラムやデータ等を記憶する。HDD131は、クライアントアプリ132およびWAN高速化アプリ133を記憶する。クライアントアプリ132は、送信データの送信要求を行うプログラムであり、WAN高速化アプリ133は、送信要求に応じて、送信データまたは圧縮データをネットワークIF141を介して送信先の装置に送信するプログラムである。
CPU111は、メインメモリ121を利用してクライアントアプリ132を実行することにより、送信アプリ部として動作する。CPU111は、メインメモリ121を利用してWAN高速化アプリ133を実行することにより、メイン処理部として動作する。
ネットワークIF141は、WANと接続し、通信に伴うデータ変換を行う通信インターフェースである。WANは、ネットワークの一例である。
図5A〜5Eは、実施の形態の送信処理を説明する図である。
図5A〜5Eでは、圧縮データが送信されない場合、すなわち圧縮されていない送信データが送信される場合を説明する。
図5A:CPU111は、クライアントアプリ132を実行することにより、送信アプリ部112として動作し、WAN高速化アプリ133を実行することにより、メイン処理部113として動作する。また、送信データはHDD131に記憶されているとする。
送信アプリ部112は、送信データをHDD131から読み出し、送信データと送信データの送信要求をメイン処理部113に送信する。メイン処理部113は、送信データをメインメモリ121に送信し、送信データをメインメモリ121に記憶する。
図5B:CPU111は、送信データをDDRメモリ161へ転送する。詳細には、CPU111は、送信データをFPGA151に送信し、FPGA151は送信データをDDRメモリ161に記憶する。
図5C:圧縮部153は、DDRメモリ161から送信データを読み出し、送信データを圧縮して圧縮データを生成する。圧縮部153は、圧縮データをバッファ154に書き込む。圧縮完了時に圧縮部153は、スキップ判定部162に圧縮率を送信する。
図5D:スキップ判定部152は、圧縮率に基づいて、送信データまたは圧縮データのいずれかを送信するか判定(スキップ判定)する。ここでは、圧縮率が悪く、圧縮データを送信しないと判定された、すなわち性能低下を起こすと判定されたとする。スキップ判定部152は、スキップ要求をCPU111と圧縮部153に送信する。
図5E:FPGA151は、圧縮データに対する残りの処理(圧縮データのDDRメモリ161とCPU111への転送)をスキップする。CPU111は、送信データをメインメモリ121から読み出してネットワークIF141に送信する。
実施の形態の情報処理装置101によれば、性能低下が予測される場合に圧縮データのDDRメモリ161やCPU111へ転送をスキップし、CPU111から圧縮前のデータを送信する。このようにして、圧縮されにくいデータが入力された場合やバス性能が一時的に低下した場合に情報処理装置全体の性能が低下することを防ぐことができる。圧縮データのDDRメモリ161やCPU111へ転送をスキップすることで、バス181,191の帯域を節約することが出来る。
図6は、実施の形態の圧縮データが送信される場合の送信処理のシーケンス図である。
上述のように、CPU111は、クライアントアプリ132を実行することにより、送信アプリ部112として動作し、WAN高速化アプリ133を実行することにより、メイン処理部113として動作する。
ステップS501−i(i=1〜3)において、送信アプリ部112は、送信データをHDD131から読み出し、送信データと送信データの送信要求をメイン処理部113に送信する。メイン処理部113は、送信データをメインメモリ121に送信し、送信データをメインメモリ121に記憶する。
ステップS502−iにおいて、メイン処理部113は、送信データをFPGA151に送信し、FPGA151は送信データをDDRメモリ161に記憶する。
ステップS503において、メイン処理部113は、送信データに対する圧縮処理のリクエストを圧縮部153に送信する。
ステップS504−iにおいて、圧縮部153は、圧縮処理のリクエストを受信し、DDRメモリ161から送信データを読み出し、送信データを圧縮して圧縮データを生成する。
ステップS505−iにおいて、圧縮部153は、圧縮データをバッファ154に記憶する。
ステップS506において、圧縮部153は、圧縮データのサイズと送信データのサイズの比率(以下、圧縮率と呼ぶ)を算出する。すなわち、「圧縮率=圧縮データのサイズ/送信データのサイズ」である。圧縮率の値が小さいほど送信データをより小さく圧縮できていることを示す。圧縮部153は、圧縮データの利用可否の問い合わせと算出した圧縮率をスキップ判定部152に送信する。スキップ判定部152は、圧縮率に基づいて、送信データまたは圧縮データのいずれかを送信するか判定(スキップ判定)する。ここでは、圧縮データを送信すると判定された(OK)とする。尚、圧縮部153は、送信データのサイズと圧縮データのサイズをスキップ判定部152に送信し、スキップ判定部152が圧縮率を算出してもよい。
ステップS507において、スキップ判定部152は、圧縮データを送信することを示すOK(圧縮データ転送要求)を圧縮部153に送信する。
ステップS508−iにおいて、圧縮部153は、圧縮データをDDRメモリ161に送信する指示をバッファ154に送信する。
ステップS509−iにおいて、バッファ154は、記憶している圧縮データをDDRメモリ161に送信し、DDRメモリ161は、圧縮データを記憶する。
ステップS510において、圧縮部153は、処理完了通知をメイン処理部に送信する。
ステップS511において、メイン処理部113は、DDRメモリ161に圧縮データの読み出しを要求する。
ステップS512−iにおいて、メイン処理部113は、DDRメモリ161から圧縮データを受信する。
ステップS513において、メイン処理部113は、圧縮データを送信先の装置に送信する。詳細には、メイン処理部113は、圧縮データをネットワークIF141に送信する。ネットワークIF141は、圧縮データを接続されているWANに出力する。
図7は、実施の形態の圧縮データが送信されない場合の送信処理のシーケンス図である。図7では、圧縮データが送信されない場合、すなわち圧縮されていない送信データが送信される場合を説明する。
ステップS601−i(i=1〜3)において、送信アプリ部112は、送信データをHDD131から読み出し、送信データと送信データの送信要求をメイン処理部113に送信する。メイン処理部113は、送信データをメインメモリ121に送信し、送信データをメインメモリ121に記憶する。
ステップS602−iにおいて、メイン処理部113は、送信データをFPGA151に送信し、FPGA151は送信データをDDRメモリ161に記憶する。
ステップS603において、メイン処理部113は、送信データの圧縮リクエストを圧縮部153に送信する。
ステップS604−iにおいて、圧縮部153は、DDRメモリ161から送信データを読み出し、送信データを圧縮して圧縮データを生成する。
ステップS605−iにおいて、圧縮部153は、圧縮データをバッファ154に記憶する。
ステップS606において、圧縮部153は、圧縮データのサイズと送信データのサイズの比率(以下、圧縮率と呼ぶ)を算出する。圧縮部153は、圧縮データの利用可否の問い合わせと算出した圧縮率をスキップ判定部152に送信する。スキップ判定部152は、圧縮率に基づいて、送信データまたは圧縮データのいずれかを送信するか判定(スキップ判定)する。ここでは、圧縮データを送信しないと判定された(NG)とする。尚、圧縮部153は、送信データのサイズと圧縮データのサイズをスキップ判定部152に送信し、スキップ判定部152が圧縮率を算出してもよい。
ステップS607において、スキップ判定部152は、スキップ要求をメイン処理部113に送信する。また、スキップ判定部152は、圧縮データを送信しないことを示すNGを圧縮部153に送信する(不図示)。なお、スキップ判定部152の代わりに圧縮部153がスキップ要求をメイン処理部113に送信してもよい。
ステップS608において、メイン処理部113は、圧縮されていない送信データを送信先の装置に送信する。詳細には、メイン処理部113は、送信データをメインメモリ121から読み出してネットワークIF141に送信する。ネットワークIF141は、送信データを接続されているWANに出力する。
図8は、実施の形態のCPUの処理のフローチャートである。図8は、詳細にはメイン処理部113の処理を示すフローチャートである。
ステップS801において、メイン処理部113は、送信アプリ部112から送信データXを受信する。メイン処理部113が送信データを受信すると制御はステップS802に進む。
ステップS802において、メイン処理部113は、DDRメモリ161に送信データXを転送する。
ステップS803において、メイン処理部113は、メイン処理部113は、送信データXに対する圧縮処理のリクエストを圧縮部153に送信する。そして、メイン処理部113は、FPGA151からの応答を待つ。メイン処理部113がFPGA151から応答を受信したら制御はステップS804に進む。
ステップS804において、メイン処理部113は、受信した応答が処理完了通知かスキップ要求か判定する。受信した応答が処理完了通知である場合、制御はステップS805に進み、受信した応答がスキップ要求である場合、制御はステップS806に進む。
ステップS805において、メイン処理部113は、送信データXを圧縮した圧縮データをDDRメモリ161から読み出し、圧縮データをネットワークIF141に送信する。
ステップS806において、メイン処理部113は、送信データX(圧縮前データ)をメインメモリ121から読み出してネットワークIF141に送信する。
図9は、実施の形態の圧縮部の処理のフローチャートである。
ステップS811において、圧縮部153は、メイン処理部113から送信データXの圧縮処理のリクエスト(圧縮リクエスト)を受信する。
ステップS812において、圧縮部153は、DDRメモリ161から送信データXを読み出す。
ステップS813において、圧縮部153は、送信データXに対して圧縮処理を実行して圧縮データを生成する。圧縮部153は、圧縮データをバッファ153に転送し、バッファ153に圧縮データを記憶する。
ステップS814において、圧縮部153は、スキップ判定部152に圧縮データの利用可否を問い合わせる。また、圧縮部153は、問い合わせと一緒に圧縮データXのサイズosizeXおよび圧縮データのサイズcsizeXを送信する。圧縮部153は、圧縮データXの圧縮率を送信してもよい。
ステップS815において、圧縮部153は、スキップ判定部152から通知を受信し、通知が圧縮データを送信することを示すOKか圧縮データを送信しないことを示すNGか判定する。通知がOKの場合、制御はステップS816に進み、通知がNGの場合、制御はステップS818に進む。
ステップS816において、圧縮部153は、バッファ154に記憶された送信データXを圧縮した圧縮データをDDRメモリ161に転送する。
ステップS817において、圧縮部153は、処理完了通知をメイン処理部113に送信する。
ステップS818において、圧縮部153は、バッファ154に記憶された送信データXを圧縮した圧縮データを破棄する。
ステップS819において、圧縮部153は、スキップ要求をメイン処理部113に送信する。尚、スキップ判定部152がスキップ要求をメイン処理部113に送信する場合は、ステップS819は省略してもよい。
図10は、実施の形態のスキップ判定部の処理のフローチャートである。
ステップS821において、スキップ判定部152は、圧縮部153から圧縮データの利用可否の問い合わせを受信する。また、スキップ判定部152は、圧縮部153から送信データXのサイズおよび圧縮データのサイズを受信する。また、スキップ判定部152は、圧縮部153から圧縮率を受信してもよい。
ステップS822において、スキップ判定部152は、送信データXのサイズをosizeXとし、圧縮データのサイズをcsizeXとする。
ステップS823において、スキップ判定部152は、送信データXの圧縮率R_Xを算出する。圧縮率R_Xは、圧縮率R_X=圧縮データのサイズcsizeX/送信データXのサイズosizeXにより算出される。
尚、スキップ判定部152は、圧縮部153から圧縮率を受信した場合には、ステップS822,S823の処理は省略してもよい。
ステップS824において、スキップ判定部152は、判定結果retを初期化、すなわち判定結果retを1に設定する。
ステップS825において、スキップ判定部152は、圧縮率R_Xが閾値R_th以上であるか判定する。圧縮率R_Xが閾値R_th以上である場合、スキップ判定部152は、判定結果retを0に設定する。圧縮率R_Xが閾値R_th未満である場合、判定結果retは1のままである。
閾値R_thは、例えば、閾値R_th=1−WAN速度/展開速度とする。WAN速度は、ネットワークIF141と接続しているネットワーク(WAN)の速度(容量)である。展開速度は、送信データX(または圧縮データ)の送信先の装置において、受信した圧縮データを展開する展開部の性能を示す。展開速度は、展開部の出力データ(すなわち、圧縮データを展開した送信データ)の出力の速度である。閾値R_thは、予め設定されているとする。
例えば、WAN速度=10Gbps、展開速度=40Gbpsの場合、閾値R_thは0.75となる。例えば、WAN速度=1Gbps、展開速度=40Gbpsの場合、閾値R_thは0.975となる。圧縮率に基づいて判定することで、送信データが圧縮されにくい場合には、圧縮データが送信されず、バス181,191の負担が低減される。また、WAN速度および展開速度に基づいて判定することで、送信先へのデータの転送速度を考慮した判定を行うことが出来る。
また、ステップS825において、スキップ判定部152は、以下のような判定方法を用いて判定結果retを0に設定してもよい。
・FPGA側バス帯域重視
スキップ判定部152は、生成された圧縮データのサイズを圧縮データが生成された時刻とともに記録しておく。そして、直近1秒で生成された圧縮データのサイズがFPGA151とDDRメモリ161間のバス191の速度*0.6より大きい場合、スキップ判定部152は、判定結果retを0に設定する。
例えば、FPGA151とDDRメモリ161間のバス191の速度が64Gbps(8GB/s)の場合、直近1秒で4.8GByteより大きい圧縮データが生成されていれば、スキップ判定部152は、判定結果retを0に設定する。このように、バス191に余裕が少ない場合に、圧縮データを送信しないことで、バスの逼迫による性能低下を防止できる。
・WAN空き容量重視
スキップ判定部152は、送信側である情報処理装置101のデータの入力レートを記録しておく。データの入力レートは、CPU111がネットワークIF141を介して送信先に送信した所定時間(例えば1秒)当たりのデータのサイズである。
例えば、直近1秒の入力レートがWAN速度未満である場合、スキップ判定部152は、判定結果retを0に設定する。すなわち、WANの帯域に余裕がある場合には、圧縮データを送信しなくてもよいと考えられるため、圧縮データを送信せずに、バス181,191およびFPGA151の負荷を低減する。
ステップS826において、スキップ判定部152は、判定結果retが0であるか否か判定する。判定結果retが0である場合、制御はステップS827に進み、判定結果retが0でない(すなわち、判定結果ret=1)場合、制御はステップS828に進む。
ステップS827において、スキップ判定部152は、圧縮データを送信しないことを示すNGを圧縮部153に送信する。
ステップS828において、スキップ判定部152は、圧縮データを送信することを示すOKを圧縮部153に送信する。
実施の形態の情報処理装置によれば、データの送信において情報処理装置の性能低下を防止できる。
以上の実施の形態に関し、さらに以下の付記を開示する。
(付記1)
ネットワークと接続する情報処理装置であって、
送信データを圧縮して圧縮データを生成する圧縮部と
前記圧縮データのサイズに基づいて、前記圧縮データと圧縮前の前記送信データのいずれかを前記ネットワークに送信するかを判定する判定部と、
を有する処理回路と、
前記判定部の判定結果に基づいて、前記圧縮データと圧縮前の前記送信データのいずれかを前記ネットワークに送信する処理部と、
を備える情報処理装置。
(付記2)
前記処理回路は、前記判定部の判定結果に基づいて、前記処理回路と接続するメモリに前記圧縮データを記憶する付記1記載の情報処理装置。
(付記3)
前記処理回路は、前記判定部が前記圧縮データを前記ネットワークに送信すると判定した場合のみ、前記メモリに前記圧縮データを記憶する付記2記載の情報処理装置。
(付記4)
前記圧縮データのサイズと前記送信データのサイズの比率を算出する算出部をさらに備え、
前記判定部は、前記比率に基づいて、前記圧縮データと圧縮前の前記送信データのいずれかを前記ネットワークに送信するかを判定する付記1乃至3のいずれか1項に記載の情報処理装置。
(付記5)
前記判定部は、所定期間内に生成された圧縮データのサイズおよび前記メモリと前記処理回路の間のバスの速度に基づいて、前記圧縮データと圧縮前の前記送信データのいずれかを前記ネットワークに送信するかを判定する付記1乃至3のいずれか1項に記載の情報処理装置。
(付記6)
ネットワークと接続する情報処理装置が、
送信データを圧縮して圧縮データを生成し、
前記圧縮データのサイズに基づいて、前記圧縮データと圧縮前の前記送信データのいずれかを前記ネットワークに送信するかを判定し、
前記判定の結果に基づいて、前記圧縮データと圧縮前の前記送信データのいずれかを前記ネットワークに送信する、
情報処理方法。
(付記7)
前記判定の結果に基づいて、前記処理回路と接続するメモリに前記圧縮データを記憶する付記6記載の情報処理方法。
(付記8)
前記圧縮データを前記ネットワークに送信すると判定された場合のみ、前記メモリに前記圧縮データを記憶する付記7記載の情報処理方法。
(付記9)
前記圧縮データのサイズと前記送信データのサイズの比率を算出し、
前記比率に基づいて、前記圧縮データと圧縮前の前記送信データのいずれかを前記ネットワークに送信するかを判定する付記6乃至8のいずれか1項に記載の情報処理方法。
(付記10)
前記判定する処理は、所定期間内に生成された圧縮データのサイズおよび前記メモリと前記処理回路の間のバスの速度に基づいて、前記圧縮データと圧縮前の前記送信データのいずれかを前記ネットワークに送信するかを判定する付記6乃至8のいずれか1項に記載の情報処理方法。
(付記11)
ネットワークと接続するコンピュータに、
送信データを圧縮して圧縮データを生成し、
前記圧縮データのサイズに基づいて、前記圧縮データと圧縮前の前記送信データのいずれかを前記ネットワークに送信するかを判定し、
前記判定の結果に基づいて、前記圧縮データと圧縮前の前記送信データのいずれかを前記ネットワークに送信する、
処理を実行させるプログラム。
(付記12)
前記コンピュータは、前記判定の結果に基づいて、前記処理回路と接続するメモリに前記圧縮データを記憶する付記11記載のプログラム。
(付記13)
前記コンピュータは、前記圧縮データを前記ネットワークに送信すると判定された場合のみ、前記メモリに前記圧縮データを記憶する付記12記載のプログラム。
(付記14)
前記コンピュータは、
前記圧縮データのサイズと前記送信データのサイズの比率を算出し、
前記比率に基づいて、前記圧縮データと圧縮前の前記送信データのいずれかを前記ネットワークに送信するかを判定する付記11乃至13のいずれか1項に記載のプログラム。
(付記15)
前記コンピュータは、前記判定する処理において、所定期間内に生成された圧縮データのサイズおよび前記メモリと前記処理回路の間のバスの速度に基づいて、前記圧縮データと圧縮前の前記送信データのいずれかを前記ネットワークに送信するかを判定する付記11乃至13のいずれか1項に記載のプログラム。
101 情報処理装置
111 CPU
121 メインメモリ
131 HDD
132 クライアントアプリ
133 WAN高速化アプリ
141 ネットワークIF
151 FPGA
152 スキップ判定部
153 圧縮部
154 バッファ
161 DDRメモリ
171 メモリバス
181 バス
191 バス

Claims (7)

  1. ネットワークと接続する情報処理装置であって、
    送信データを圧縮して圧縮データを生成する圧縮部と
    前記圧縮データのサイズに基づいて、前記圧縮データと圧縮前の前記送信データのいずれかを前記ネットワークに送信するかを判定する判定部と、
    を有する処理回路と、
    前記判定部の判定結果に基づいて、前記圧縮データと圧縮前の前記送信データのいずれかを前記ネットワークに送信する処理部と、
    を備える情報処理装置。
  2. 前記処理回路は、前記判定部の判定結果に基づいて、前記処理回路と接続するメモリに前記圧縮データを記憶する請求項1記載の情報処理装置。
  3. 前記処理回路は、前記判定部が前記圧縮データを前記ネットワークに送信すると判定した場合のみ、前記メモリに前記圧縮データを記憶する請求項2記載の情報処理装置。
  4. 前記圧縮データのサイズと前記送信データのサイズの比率を算出する算出部をさらに備え、
    前記判定部は、前記比率に基づいて、前記圧縮データと圧縮前の前記送信データのいずれかを前記ネットワークに送信するかを判定する請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記判定部は、所定期間内に生成された圧縮データのサイズおよび前記メモリと前記処理回路の間のバスの速度に基づいて、前記圧縮データと圧縮前の前記送信データのいずれかを前記ネットワークに送信するかを判定する請求項1乃至3のいずれか1項に記載の情報処理装置。
  6. ネットワークと接続する情報処理装置が、
    送信データを圧縮して圧縮データを生成し、
    前記圧縮データのサイズに基づいて、前記圧縮データと圧縮前の前記送信データのいずれかを前記ネットワークに送信するかを判定し、
    前記判定の結果に基づいて、前記圧縮データと圧縮前の前記送信データのいずれかを前記ネットワークに送信する、
    情報処理方法。
  7. ネットワークと接続するコンピュータに、
    送信データを圧縮して圧縮データを生成し、
    前記圧縮データのサイズに基づいて、前記圧縮データと圧縮前の前記送信データのいずれかを前記ネットワークに送信するかを判定し、
    前記判定の結果に基づいて、前記圧縮データと圧縮前の前記送信データのいずれかを前記ネットワークに送信する、
    処理を実行させるプログラム。
JP2018077621A 2018-04-13 2018-04-13 情報処理装置、情報処理方法、およびプログラム Active JP7187809B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018077621A JP7187809B2 (ja) 2018-04-13 2018-04-13 情報処理装置、情報処理方法、およびプログラム
US16/296,408 US10601444B2 (en) 2018-04-13 2019-03-08 Information processing apparatus, information processing method, and recording medium storing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018077621A JP7187809B2 (ja) 2018-04-13 2018-04-13 情報処理装置、情報処理方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2019186821A true JP2019186821A (ja) 2019-10-24
JP7187809B2 JP7187809B2 (ja) 2022-12-13

Family

ID=68160506

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018077621A Active JP7187809B2 (ja) 2018-04-13 2018-04-13 情報処理装置、情報処理方法、およびプログラム

Country Status (2)

Country Link
US (1) US10601444B2 (ja)
JP (1) JP7187809B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021070422A1 (ja) 2019-10-10 2021-04-15 住友電工ハードメタル株式会社 切削工具

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003338761A (ja) * 2002-05-20 2003-11-28 Fujitsu Ltd データ圧縮プログラム、データ圧縮方法、およびデータ圧縮装置
JP2015103077A (ja) * 2013-11-26 2015-06-04 富士通株式会社 演算処理装置、情報処理装置、及び、情報処理装置の制御方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04359315A (ja) 1991-06-05 1992-12-11 Matsushita Electric Ind Co Ltd データ圧縮制御装置及びデータ復元制御装置
US6624761B2 (en) * 1998-12-11 2003-09-23 Realtime Data, Llc Content independent data compression method and system
JP2005301607A (ja) 2004-04-09 2005-10-27 Sony Corp 情報処理装置、情報処理システムおよび情報処理方法
GB2539966B (en) * 2015-07-03 2017-08-30 Sisp Tech Ltd Data processing method and apparatus
US20170024278A1 (en) * 2015-07-24 2017-01-26 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding data in memory system
JP2017058858A (ja) 2015-09-15 2017-03-23 株式会社東芝 通信装置、通信方法およびコンピュータプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003338761A (ja) * 2002-05-20 2003-11-28 Fujitsu Ltd データ圧縮プログラム、データ圧縮方法、およびデータ圧縮装置
JP2015103077A (ja) * 2013-11-26 2015-06-04 富士通株式会社 演算処理装置、情報処理装置、及び、情報処理装置の制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021070422A1 (ja) 2019-10-10 2021-04-15 住友電工ハードメタル株式会社 切削工具

Also Published As

Publication number Publication date
JP7187809B2 (ja) 2022-12-13
US10601444B2 (en) 2020-03-24
US20190319635A1 (en) 2019-10-17

Similar Documents

Publication Publication Date Title
CN110708393B (zh) 用于传输数据的方法、装置和系统
US11463503B2 (en) Method to determine optimal number of HTTP2.0 streams and connections for better QoE
US10025614B2 (en) Setting retransmission time of an application client during virtual machine migration
US11089349B2 (en) Apparatus and method for playing back and seeking media in web browser
CN113285931B (zh) 流媒体的传输方法、流媒体服务器及流媒体系统
WO2020026018A1 (zh) 文件的下载方法、装置、设备/终端/服务器及存储介质
CN109120687B (zh) 数据包发送方法、装置、系统、设备及存储介质
KR101989249B1 (ko) 이동 단말기의 오프로딩 방법 및 그 이동 단말기
JP7187809B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JPWO2013128623A1 (ja) 画像送信方法、プログラム、及び装置
US9875076B1 (en) Remoting client having GPU off-loader
US20130060960A1 (en) Optimizing software applications in a network
CN106302364B (zh) 代理方法、辅助代理方法与设备
CN117014379A (zh) 码率控制方法、装置、电子设备和存储介质
US9906331B2 (en) Communication method, information processing apparatus and recording medium
US10187178B2 (en) Dynamically partitioning media streams
JP2012049757A (ja) データ転送プログラム、データ転送方法及び情報処理装置
CN113242113A (zh) 数据传输控制方法、装置、电子设备及存储介质
JP2011249922A (ja) ネットワーク装置、tcpパケット受信装置及び方法
US20180159922A1 (en) Job assignment using artificially delayed responses in load-balanced groups
CN111447650B (zh) 一种数据前转的方法、设备及存储介质
JP2014168121A (ja) 情報分割送信装置、情報分割送信方法および情報分割送信処理プログラム
CN115993942B (zh) 数据缓存方法、装置、电子设备和计算机可读介质
CN116915860B (zh) 基于udp的指令传输方法、装置、设备以及介质
CN113703880B (zh) 应用程序的启动方法、装置、电子设备及可读存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220329

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20220329

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220927

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221101

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221114

R150 Certificate of patent or registration of utility model

Ref document number: 7187809

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150