JP6069913B2 - 情報処理システム、情報処理システムの制御方法及び制御プログラム - Google Patents

情報処理システム、情報処理システムの制御方法及び制御プログラム Download PDF

Info

Publication number
JP6069913B2
JP6069913B2 JP2012152261A JP2012152261A JP6069913B2 JP 6069913 B2 JP6069913 B2 JP 6069913B2 JP 2012152261 A JP2012152261 A JP 2012152261A JP 2012152261 A JP2012152261 A JP 2012152261A JP 6069913 B2 JP6069913 B2 JP 6069913B2
Authority
JP
Japan
Prior art keywords
information processing
task
reduce
map
job
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.)
Expired - Fee Related
Application number
JP2012152261A
Other languages
English (en)
Other versions
JP2014016700A (ja
Inventor
剛 宮前
剛 宮前
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 JP2012152261A priority Critical patent/JP6069913B2/ja
Priority to US13/912,158 priority patent/US9124587B2/en
Publication of JP2014016700A publication Critical patent/JP2014016700A/ja
Application granted granted Critical
Publication of JP6069913B2 publication Critical patent/JP6069913B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、情報処理システム、情報処理システムの制御方法及び制御プログラムに関する。
大規模なマップリデュース(MapReduce)ジョブを広域で実行する場合、スループットを向上させるためには、通信の遅延を発生させないことが重要である。従来、通信の遅延によるスループットの低下を抑制するため、以下のような技術が開発されている。
例えば、OSDC(Open Science Data Cloud)においては、データセンタ間を専用線で接続することによって、広域でHadoopを実行できるようにしている。
また、広域のネットワークにおいてはTCP(Transmission Control Protocol)の処理が原因で遅延が発生することがあるため、UDP(User Datagram Protocol)を基にしたUDT(UDP-based Data Transfer Protocol)というプロトコルが提案されている。さらに、Sector/Sphereという技術においては、分散ファイルシステム及び並列データ処理を実現するため、UDTをコア技術として採用している。
また、CloudBLASTと呼ばれる技術においては、ViNe(Virtual Network)と呼ばれる、トランスポート層のWAN(Wide Area Network)技術を使用することで、スループットの向上を図っている。
しかし、上で述べたような技術をマップリデュースジョブに利用するのは必ずしも適切ではない場合がある。例えば、上で述べたような技術はコストがかかるだけでなく、世界中に点在するデータセンタ等において日々発生するデータを柔軟に解析することが困難である。さらに、TCP(Transmission Control Protocol)以外のトランスポート層プロトコルを採用すると、既存のファイアーウォールの枠組みを利用できなくなることがあるため、セキュリティ上の問題がある。
Robert L. Grossman, Yunhong Gu, Joe Mambretti, Michal Sabala, Alex Szalay, Kevin White. An Overview of the Open Science Data Cloud (2010) http://udt.sourceforge.net/ http://sector.sourceforge.net/ Andrea Matsunaga, Mauricio Tsugawa and Jose Fortes. CloudBLAST: Combining MapReduce and Virtualization on Distributed Resources for Bioinformatics Applications (2008)
従って、1つの側面では、本発明の目的は、広域で実行するマップリデュース処理のスループットを向上させるための技術を提供することである。
本発明に係る情報処理システムは、複数の情報処理装置を有する。そして、複数の情報処理装置のうちいずれかの情報処理装置が、(A)複数の情報処理装置が接続されたネットワークに含まれる複数のサブネットワークの各々について、当該サブネットワーク内の情報処理装置の中から1の情報処理装置を特定し、当該情報処理装置に対して、当該サブネットワーク内の情報処理装置が所持するデータに対して実行されたマップ処理の結果を集約する処理である第1のリデュース処理を割り当てる第1割り当て部と、(B)複数のサブネットワークの各々について実行された第1のリデュース処理の結果を集約する処理である第2のリデュース処理を、複数の情報処理装置のうちいずれかの情報処理装置に割り当てる第2割り当て部とを有する。
広域で実行するマップリデュース処理のスループットを向上させることができるようになる。
図1は、システムの概要を示す図である。 図2は、管理構造体を示す図である。 図3は、第1の実施の形態のメインの処理フローを示す図である。 図4は、CWCを行う場合にユーザが入力するコマンドの一例を示す図である。 図5は、CWCを行わない場合にユーザが入力するコマンドの一例を示す図である。 図6は、Hadoopストリーミングインタフェースによる実装の一例を示す図である。 図7は、Java(登録商標)による実装の一例を示す図である。 図8は、データセンタ1について1段階目のマップリデュースジョブを実行するための処理の処理フローを示す図である。 図9は、データセンタ2について1段階目のマップリデュースジョブを実行するための処理の処理フローを示す図である。 図10は、1段階目のマップリデュースジョブについて説明するための図である。 図11は、第1の実施の形態のメインの処理フローを示す図である。 図12は、2段階目のマップリデュースジョブを実行するための処理の処理フローを示す図である。 図13は、2段階目のマップリデュースジョブについて説明するための図である。 図14は、第2の実施の形態のメインの処理フローを示す図である。 図15は、第2の実施の形態のメインの処理フローを示す図である。 図16は、Hadoopの概要を示す図である。 図17は、Hadoopのコンポーネントを示す図である。 図18は、広域Hadoopのコンポーネントを示す図である。 図19は、広域Hadoopの動作について説明するための図である。 図20は、コンピュータの機能ブロック図である。
[実施の形態1]
図1に、第1の実施の形態におけるシステムの概要を示す。ネットワーク51及び52は、例えばLAN(Local Area Network)であり、WAN(Wide Area Network)の回線を介して接続されている。ネットワーク51には、データセンタ1におけるノード11及びノード12が接続されており、ネットワーク52には、データセンタ2におけるノード21及び22が接続されている。本実施の形態においては、例えばデータセンタ1が東京に設けられており、データセンタ2がニューヨークに設けられている等、広域でマップリデュースジョブを実行することを想定している。
マップリデュースジョブの対象となるデータは文書のデータであり、入力データ格納部116、入力データ格納部126、入力データ格納部216及び入力データ格納部226に格納されている。1つのマップリデュースジョブには、1又は複数のマップタスク及びリデュースタスクが含まれる。マップタスクにおいて文書に含まれる各単語の出現回数を計数し、リデュースタスクにおいてマップタスクの結果を集約する。
ノード11は、ジョブクライアント112と、第1割当部1131及び第2割当部1132を含むジョブトラッカー113と、タスクトラッカー114とを含む。ノード11には、実行結果格納部115及び入力データ格納部116が接続されている。
ノード12は、実行制御部121と、ジョブクライアント122と、タスクトラッカー12とを含む。ノード12には、実行結果格納部125及び入力データ格納部126が接続されている。
ノード21は、ジョブクライアント212と、タスクトラッカー21とを含む。ノード21には、実行結果格納部215及び入力データ格納部216が接続されている。
ノード22は、ジョブクライアント222と、タスクトラッカー22とを含む。ノード22には、実行結果格納部225及び入力データ格納部226が接続されている。
実行制御部121は、ユーザからマップリデュースジョブの実行指示を受け付けると、実行指示に係るマップリデュースジョブを分割し、データセンタ毎(すなわちネットワーク毎)にマップリデュースジョブを生成する。また、実行制御部121は、分割後のマップリデュースジョブの情報をジョブクライアント122に出力する。
ジョブクライアント122は、マップリデュースジョブの実行を開始する。具体的には、ジョブクライアント122は、受け取ったマップリデュースジョブの情報を、ジョブトラッカー113に送信する。
ジョブトラッカー113は、マップタスク及びリデュースタスクのスケジューリングを実行する。具体的には、ジョブトラッカー113は、タスクの割り当てを要求するタスク割当要求をタスクトラッカーから受信した場合に、そのタスクトラッカーを含むノードが実行可能なタスクを割り当てる。タスク割当要求には、例えばマップタスクのためのスロットのうち空いているスロットの数及びリデュースタスクのためのスロットのうち空いているスロットの数が含まれる。
但し、本実施の形態においては、各データセンタにおいてリデュースタスクを実行するようにしている。従って、ジョブトラッカー113における第1割当部1131は、データセンタ1において実行されたマップタスクの結果を集約するリデュースタスクを、データセンタ1内のノードに割り当てる。同様に、第1割当部1131は、データセンタ2において実行されたマップタスクの結果を集約するリデュースタスクを、データセンタ2内のノードに実行させる。そして、ジョブトラッカー113における第2割当部1132は、各データセンタにおいて実行されたリデュースタスクの結果を集約するリデュースタスクを、ユーザにより指定されたノードに割り当てる。
ジョブトラッカー113は、図2に示すような管理構造体を保持しており、このような管理構造体を利用して割り当てを管理する。例えば、図2におけるラックc2の配下のノードに対しては、データ1、データ2及びデータ3に対するタスクは割り当てないが、データ4についてのタスクは割り当てる。
タスクトラッカー114乃至224は、実行中のマップタスク及びリデュースタスクの数を管理する。タスクトラッカー114乃至224は、マップタスクのためのスロット及びリデュースタスクのためのスロットが空いた場合には、空いた分のタスクの割り当てを要求するタスク割当要求をジョブトラッカー113に送信する。そして、タスクトラッカー114乃至224は、タスクの種別及び入力データの位置に関する情報等を含む割当データをジョブトラッカー113から受信した場合には、タスクを実行するためのプロセスを起動する。タスクの実行結果は、実行結果格納部115乃至225に格納される。
なお、ジョブクライアント、ジョブトラッカー及びタスクトラッカーについては、後に示した付録を参照のこと。
次に、図3乃至図13を用いて、図1に示したシステムの動作について説明する。以下では、本実施の形態におけるマップリデュースジョブの実行方法をCWC(Cluster Wide Combiner)と呼ぶ。
まず、ノード12を操作するユーザは、マップリデュースジョブの実行結果の出力先の情報及び入力データのURI(Uniform Resource Identifier)を含むジョブ実行指示を入力する。ノード12における実行制御部121は、ユーザからジョブ実行指示の入力を受け付ける(図3:ステップS1)。
ユーザは、ジョブ実行指示として、例えば図4に示すようなコマンドを入力する。ユーザは、コマンドの先頭に「cwc.py」というデータを加えることによって、CWCを指定する。図4において、入力データは「−input」以下で指定され、出力先は「−output」以下で指定されている。一方、CWCではなく通常のマップリデュースジョブを指定する場合、図5に示すように、「cwc.py」というデータが加えられていないコマンドを入力する。
なお、図4に示したコマンドは、Pythonによって実装をする場合のコマンドの例である。Pythonによって実装をする場合、図6に示すように、ユーザはHadoopストリーミングインタフェースと同じ引数のコマンド(ここでは、cwc.pyとする)を作り、cwc.pyを実行すればよい。なお、Hadoopストリーミングインタフェースについては、後に示した付録を参照のこと。
マップリデュースジョブをJava(登録商標)で記述する場合、引数をJava(登録商標)API(Application Programming Interface)によって設定し、その後JobClient.runjobを呼び出す。そこで、例えばJava(登録商標)によって実装をする場合、図7に示すように、ジョブクライアントを継承した子クラス(例えば、JobClient_cwc)を用意し、マップリデュースジョブのJava(登録商標)プログラムからその子クラスを呼び出す。これによって、JobClient_cwcが引数をインタセプトできるようになる。
図3の説明に戻り、実行制御部121は、入力データのURIをジョブ実行指示から抽出する(ステップS3)。そして、実行制御部121は、入力データのURIを、URIに含まれるデータセンタの識別情報に従ってグループ分けする(ステップS5)。ステップS5においては、同じデータセンタ内に存在する入力データのURIが同じグループになるようにグループ分けをする。例えばユーザによって図4に示すような実行指示が入力された場合、URIにおける「/data」の直後の数字がデータセンタの識別情報である。
実行制御部121は、処理対象のデータセンタを特定するための変数である変数xを1に設定する(ステップS7)。
実行制御部121は、xがNより大きいか判断する(ステップS9)。Nは、データセンタの数であり、本実施の形態の場合は2である。xがNより大きい場合(ステップS9:Yesルート)、2段階目のマップリデュースジョブを実行するため、処理は端子Aを介して図11のS15に移行する。一方、xがN以下である場合(ステップS9:Noルート)、実行制御部121は、データセンタxについて1段階目のマップリデュースジョブを実行する(ステップS11)。ステップS11の処理については、図8乃至図10を用いて説明する。
まず、図8を用いて、データセンタ1についてマップリデュースジョブを実行する場合の処理について説明する。実行制御部121は、データセンタ1についてのマップリデュースジョブの情報をジョブクライアント122に出力する。マップリデュースジョブの情報には、入力データのURIが含まれる。ジョブクライアント122は、データセンタ1についてのマップリデュースジョブの情報をジョブトラッカー113に送信する(図8:ステップS31)。
ノード11におけるジョブトラッカー113は、データセンタ1についてのマップリデュースジョブの情報を受信する(ステップS33)。ここで、入力データのURIは、ノード11における入力データ格納部116とノード12における入力データ格納部126とを示しているとする。従って、第1割当部1131は、タスクトラッカー114及びタスクトラッカー124からタスク割当要求を受信した場合に限り、タスクを割り当てる。
ノード12におけるタスクトラッカー124は、タスク割当要求をノード11におけるジョブトラッカー113に送信する(ステップS35)。タスク割当要求には、例えばノードの識別情報、マップタスクのためのスロットのうち空いているスロットの数及びリデュースタスクのためのスロットのうち空いているスロットの数等が含まれる。
ノード11におけるジョブトラッカー113は、タスク割当要求をノード12から受信する(ステップS37)。ジョブトラッカー113における第1割当部1131は、マップタスク及びリデュースタスクについての割当データをノード12におけるタスクトラッカー124に送信する(ステップS39)。割当データには、例えばタスクの種別、マップタスクの場合には入力データの位置に関する情報、オフセット及び入力データのサイズ等が含まれる。なお、図示していないが、ノード11におけるタスクトラッカー114もタスク割当要求をジョブトラッカー113に出力し、マップタスクについての割当データをジョブトラッカー113から受け取ったものとする。
ノード12におけるタスクトラッカー124は、マップタスク及びリデュースタスクについての割当データをノード11から受信する(ステップS41)。そして、タスクトラッカー124は、マップタスクを実行するためのプロセスを起動し、マップタスクを実行させる(ステップS45)。
一方、ノード11におけるタスクトラッカー114は、マップタスクを実行するためのプロセスを起動し、マップタスクを実行させる(ステップS43)。タスクトラッカー114は、マップタスクの実行結果をノード12に送信する(ステップS47)。なお、実際には、リデュースタスクを実行するノード12が、ノード11に対してマップタスクの実行結果を要求した場合に、ノード11がノード12にマップタスクの実行結果を送信する。
ノード12におけるタスクトラッカー124は、ノード11からマップタスクの実行結果を受信する(ステップS49)。タスクトラッカー124は、リデュースタスクを実行するためのプロセスを起動し、1段目のリデュースタスクを実行させる(ステップS51)。ステップS51のリデュースタスクにおいては、ノード11におけるマップタスクの実行結果及びノード12におけるマップタスクの実行結果を集約し、リデュースタスクの結果を実行結果格納部125に格納する。また、リデュースタスクが完了すると、完了通知を実行制御部121に出力する。
次に、図9を用いて、データセンタ2についてマップリデュースジョブを実行する場合の処理について説明する。実行制御部121は、データセンタ1についてのマップリデュースジョブの情報をジョブクライアント122に出力する。マップリデュースジョブの情報には、入力データのURIが含まれる。ジョブクライアント122は、データセンタ2についてのマップリデュースジョブの情報をジョブトラッカー113に送信する(図9:ステップS61)。
ノード11におけるジョブトラッカー113は、データセンタ2についてのマップリデュースジョブの情報を受信する(ステップS63)。ここで、入力データのURIは、ノード21における入力データ格納部216とノード22における入力データ格納部226とを示しているとする。従って、第1割当部1131は、タスクトラッカー214及びタスクトラッカー224からタスク割当要求を受信した場合に限り、タスクを割り当てる。
ノード21におけるタスクトラッカー214は、タスク割当要求をノード11におけるジョブトラッカー113に送信する(ステップS65)。ノード22におけるタスクトラッカー224は、タスク割当要求をノード11におけるジョブトラッカー113に送信する(ステップS67)。
ノード11におけるジョブトラッカー113は、タスク割当要求をノード21及びノード22から受信する(ステップS69)。なお、説明を簡単にするためノード21及びノード22から同時にタスク割当要求を受信するように記載しているが、タスク割当要求を受信するタイミングは必ずしも同じではない。
第1割当部1131は、マップタスクについての割当データをノード22におけるタスクトラッカー224に送信する(ステップS71)。また、第1割当部1131は、マップタスク及びリデュースタスクについての割当データをノード21におけるタスクトラッカー214に送信する(ステップS73)。
ノード22におけるタスクトラッカー224は、マップタスクについての割当データをノード11から受信する(ステップS75)。そして、タスクトラッカー224は、マップタスクを実行するためのプロセスを起動し、マップタスクを実行させる(ステップS77)。
ノード21におけるタスクトラッカー214は、マップタスク及びリデュースタスクについての割当データをノード11から受信する(ステップS79)。そして、タスクトラッカー214は、マップタスクを実行するためのプロセスを起動し、マップタスクを実行させる(ステップS81)。
ノード22におけるタスクトラッカー224は、マップタスクの実行結果をノード21に送信する(ステップS83)。なお、実際には、リデュースタスクを実行するノード21が、ノード22に対してマップタスクの実行結果を要求した場合に、ノード22がノード21にマップタスクの実行結果を送信する。
ノード21におけるタスクトラッカー214は、ノード22からマップタスクの実行結果を受信する(ステップS85)。タスクトラッカー214は、リデュースタスクを実行するためのプロセスを起動し、1段目のリデュースタスクを実行させる(ステップS87)。ステップS87のリデュースタスクにおいては、ノード21におけるマップタスクの実行結果及びノード22におけるマップタスクの実行結果を集約し、リデュースジョブの結果を実行結果格納部215に格納する。また、リデュースタスクが完了すると、完了通知をノード12における実行制御部121に送信する。
図10は、図8及び図9を用いて説明した内容を図示したものである。実行制御部121は、データセンタ毎にマップリデュースジョブについての情報をジョブクライアント122に出力する(図10における(1))。ジョブクライアント122は、データセンタ毎にマップリデュースジョブについての情報をジョブトラッカー113に出力する(図10における(2))。
ジョブトラッカー113は、タスクトラッカーからタスク割当要求を受信すると、そのタスクトラッカーに割当データを送信する(図10における(3))。タスクトラッカーは、プロセスを起動し、マップタスク及びリデュースタスクを実行させる(図10における(4))。リデュースタスクの実行結果は、実行結果格納部に格納される。
例えば、マップタスクが、exampleという単語の出現回数を計数するというタスクであり、マップタスク1の結果が(example,1)、すなわちexmapleという単語が1回出現したとする。また、マップタスク2の結果が(example,2)、マップタスク3の結果が(example,2)、マップタスク4の結果が(example,3)であるとする。
この場合、ノード12におけるリデュースタスクの結果は(example,3)となり、ノード21におけるリデュースタスクの結果は(example,5)となる。
図3の説明に戻り、実行制御部121は、xをインクリメントし(ステップS13)、ステップS9の処理に戻る。
図11の説明に移行し、実行制御部121は、1段階目のマップリデュースジョブの完了通知をいずれのデータセンタからも受信したか判断する(ステップS15)。いずれかのデータセンタから完了通知を受信していない場合(ステップS15:Noルート)、ステップS15の処理を再度実行する。
一方、1段階目のマップリデュースジョブの完了通知をいずれのデータセンタからも受信した場合(ステップS15:Yesルート)、2段階目のジョブを実行する(ステップS17)。ステップS17の処理については、図12及び図13を用いて説明する。
まず、実行制御部121は、2段階目のマップリデュースジョブの情報をジョブクライアント122に出力する。2段階目のマップリデュースジョブの情報には、出力先の情報が含まれる。ジョブクライアント122は、2段階目のマップリデュースジョブの情報をジョブトラッカー113に送信する(図12:ステップS91)。
ノード11におけるジョブトラッカー113は、2段階目のマップリデュースジョブの情報を受信する(ステップS92)。ここで、出力先の情報は、ノード11における実行結果格納部115を示しているとする。従って、第2割当部1132は、タスクトラッカー114からリデュースタスクについてのタスク割当要求を受信した場合に限り、リデュースタスクを割り当てる。
そして、タスクトラッカー114が、リデュースタスクについてのタスク割当要求をジョブトラッカー113に出力する。そして、ジョブトラッカー113における第2割当部1132は、タスクトラッカー114に割当データを出力する(ステップS93)。受け取った割当データには、リデュースタスクの実行結果を保持しているノードの識別情報等が含まれる。従って、タスクトラッカー114は、リデュースタスクの実行結果を保持するノードであるノード12及びノード21に1段階目のリデュースタスクの実行結果を要求する。
これに応じ、ノード12におけるタスクトラッカー124は、実行結果格納部125から1段階目のリデュースタスクの実行結果を読み出し、ノード11に送信する(ステップS94)。また、ノード21におけるタスクトラッカー214は、実行結果格納部215から1段階目のリデュースタスクの実行結果を読み出し、ノード11に送信する(ステップS95)。
ノード11におけるタスクトラッカー114は、ノード12及びノード21から1段階目のリデュースタスクの実行結果を受信する(ステップS96)。タスクトラッカー114は、リデュースタスクを実行するためのプロセスを起動し、2段階目のリデュースタスクを実行させる(ステップS97)。ステップS97のリデュースタスクにおいては、ノード12におけるリデュースタスクの実行結果及びノード21におけるリデュースタスクの実行結果を集約し、結果を実行結果格納部115に格納する。また、リデュースタスクが完了すると、2段階目のマップリデュースジョブの完了通知をノード12における実行制御部121に送信する。
図13は、図12を用いて説明した内容を図示したものである。実行制御部121は、2段階目のマップリデュースジョブについての情報をジョブクライアント122に出力する(図13における(1))。ジョブクライアント122は、2段階目のマップリデュースジョブについての情報をジョブトラッカー113に出力する(図13における(2))。
ジョブトラッカー113における第2割当部1132は、タスクトラッカーからタスク割当要求を受信すると、そのタスクトラッカーに割当データを送信する(図13における(3))。ここでは、ノード11のタスクトラッカー114からリデュースタスクについてのタスク割当要求を受け取った場合に、2段階目のリデュースタスクについての割当データをタスクトラッカー114に出力する。タスクトラッカー114は、1段階目のリデュースタスクの実行結果をノード12及びノード22に要求する。ノード12におけるタスクトラッカー124は実行結果格納部125から1段階目のリデュースタスクの結果を読み出し、ノード11に送信する。また、ノード21におけるタスクトラッカー214は実行結果格納部215から1段階目のリデュースタスクの結果を読み出し、ノード11に送信する。なお、図13においてはマップタスクを実行するようになっているが、実際には実行結果格納部からデータを読み出しているだけである。そして、タスクトラッカー114は、2段階目のリデュースタスクのプロセスを起動し、リデュースタスクを実行させる(図13における(4))。2段階目のリデュースタスクの実行結果は、実行結果格納部115に格納される。
例えば、マップタスクが、exampleという単語の出現回数を計数するというタスクであり、実行結果格納部125に格納されている1段階目のリデュースタスクの結果が(example,3)、実行結果格納部215に格納されている1段階目のリデュースタスクの結果が(example,5)であったとする。この場合、ノード11における2段階目のリデュースタスクの結果は(example,8)となる。2段階目のシャッフルフェーズにおいては、1段階目のリデュースタスクの結果がデータセンタ間を転送されることになる。但し、データセンタ毎にリデュースタスクの結果を縮約した上で転送をしているので、転送されるデータの量は通常の広域Hadoopと比較して少ない。
図11の説明に戻り、実行制御部121は、2段階目のマップリデュースジョブの完了通知を受信したか判断する(ステップS19)。2段階目のマップリデュースジョブの完了通知を受信していない場合(ステップS19:Noルート)、再度ステップS19の処理を実行する。一方、2段階目のマップリデュースジョブの完了通知を受信した場合(ステップS19:Yesルート)、処理を終了する。
通常の広域Hadoopにおいては、例えば図19に示すように、マップタスクの結果をいずれか1のノードが収集する。従って、ノード21において実行されたマップタスク3の結果及びノード22において実行されたマップタスク4の結果がWAN上を流れることになる。一方、CWCの場合、各データセンタにおいてマップタスクの結果を集約した後に、いずれか1のノードにおいてさらに集約をするようにしている。従って、例えば図13の例であれば、WAN上を流れるのはノード21において実行されたリデュースタスクの結果だけである。よって、CWCによれば、WAN上を流れるデータの量を減らすことができるので、WANにおいて通信遅延が起こりにくくなり、スループットを向上させることができるようになる。
[実施の形態2]
CWCは、処理対象となる文書のデータに含まれるユニークワードの数によって効果の大きさが変わる。ユニークワードの数が少なすぎると、もともとHadoopに用意されているコンバイナによってデータの量はかなり削減されるため、CWCによる効果が目立ちにくくなる。逆に、ユニークワードの数が多すぎると、1段階目において実行する複数のマップタスクの間で共通のキーを有するレコードが少なくなるため、CWCを実行してもデータセンタ内においてはレコードがあまり縮約されない。それどころか、マップリデュースジョブを2段階に分割するためのオーバーヘッドにより、却ってマップリデュースジョブのスループットが低下することがある。そこで、本実施の形態においては、以下のような処理を実行する。
まず、ノード12を操作するユーザは、マップリデュースジョブの実行結果の出力先の情報及び入力データのURIを含むジョブ実行指示を入力する。ノード12における実行制御部121は、ユーザからジョブ実行指示の入力を受け付ける(図14:ステップS101)。
実行制御部121は、入力データのユニークワード数を算出する(ステップS103)。ステップS103においては、実行制御部121は、少なくとも一部の入力データを収集し、ユニークワード数を算出する。
実行制御部121は、ユニークワード数が所定の範囲内(すなわち、予め定められた第1の閾値以上であり且つ予め定められた第2の閾値以下)にあるか判断する(ステップS105)。ユニークワード数が所定の範囲内にない場合(ステップS105:Noルート)、実行制御部121は、通常のHadoopによってマップリデュースジョブを実行する(ステップS107)。通常のHadoopによってマップリデュースジョブを実行する場合、実行制御部121は、その旨をジョブクライアント122に通知する。
一方、ユニークワード数が所定の範囲内にある場合(ステップS105:Yesルート)、入力データのURIをジョブ実行指示から抽出し、URIに含まれるデータセンタの識別情報に従ってグループ分けする(ステップS109)。ステップS109においては、同じデータセンタ内に存在する入力データのURIが同じグループになるようにグループ分けをする。
実行制御部121は、処理対象のデータセンタを特定するための変数である変数xを1に設定する(ステップS111)。
実行制御部121は、xがNより大きいか判断する(ステップS113)。Nは、データセンタの数であり、本実施の形態の場合は2である。xがNより大きい場合(ステップS113:Yesルート)、2段階目のマップリデュースジョブを実行するため、処理は端子Aを介して図15のS119に移行する。一方、xがN以下である場合(ステップS113:Noルート)、実行制御部121は、データセンタxについて1段階目のマップリデュースジョブを実行する(ステップS115)。ステップS115の処理については、図8乃至図10を用いて説明したとおりである。
実行制御部121は、xをインクリメントし(ステップS117)、ステップS113の処理に戻る。
図15の説明に移行し、実行制御部121は、1段階目のマップリデュースジョブの完了通知をいずれのデータセンタからも受信したか判断する(ステップS119)。いずれかのデータセンタから完了通知を受信していない場合(ステップS119:Noルート)、ステップS119の処理を再度実行する。
一方、1段階目のマップリデュースジョブの完了通知をいずれのデータセンタからも受信した場合(ステップS119:Yesルート)、2段階目のジョブを実行する(ステップS121)。ステップS121の処理については、図12及び図13を用いて説明したとおりである。
実行制御部121は、2段階目のマップリデュースジョブの完了通知を受信したか判断する(ステップS123)。2段階目のマップリデュースジョブの完了通知を受信していない場合(ステップS123:Noルート)、再度ステップS123の処理を実行する。一方、2段階目のマップリデュースジョブの完了通知を受信した場合(ステップS123:Yesルート)、処理を終了する。
以上のような処理を実施すれば、CWCが効果的である場合に限りCWCを実行することができるようになるので、CWCによってスループットが低下するという事態が発生することを防げるようになる。
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明したノード11乃至22の機能ブロック構成は必ずしも実際のプログラムモジュール構成に対応するものではない。
また、上で説明した各テーブルの構成は一例であって、必ずしも上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
なお、上で述べたノード11乃至22は、コンピュータ装置であって、図20に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
[付録]
本付録においては、本実施の形態に関連する技術について説明する。
1.Hadoop
Hadoopは、大量のデータをクラスタノードが並列に読み込み、高速にバッチ処理(Hadoopジョブ又は単にジョブとも呼ばれる)を実行するためのフレームワークである。
図16に、Hadoopジョブの概要を示す。Hadoopジョブは、マップタスク、リデュースタスク及びコンバイナを含む。
マップタスクは、入力データを読み込み、キーバリューペアの形式のレコードを生成する処理である。生成したレコードの送信先は、例えばハッシュ関数等によって決定される。一般に、複数のマップタスクを並列に実行することができる。
リデュースタスクは、レコードを集約し、バッチ処理としての結果を出力する処理である。一般に、複数のリデュースタスクを並列に実行することができる。
コンバイナは、マップタスクの後処理として行われる処理である。コンバイナは、マップタスクの結果の中に同じキーを含む複数のレコードがある場合に、それらを集約することで、転送データ量を削減する。
マップタスクを実行するフェーズはマップフェーズと呼ばれ、リデュースタスクを実行するフェーズはリデュースフェーズと呼ばれ、マップタスクの結果をリデュースタスクに転送するフェーズはシャッフルフェーズと呼ばれる。
マップタスク及びリデュースタスクの内容は、ユーザが関数の形式で記述することができる。それらの関数は、マップ関数及びリデュース関数と呼ばれる。
図17を用いて、Hadoopのコンポーネントについて説明する。Hadoopは、ジョブクライアント、ジョブトラッカー及びタスクトラッカーを含む。
ジョブクラインアントは、クラスタにおける各ノード上で動作する。ジョブクライアントは、ユーザが指定したHadoopジョブを開始する役割を有する。ジョブクライアントは、ユーザが指定したHadoopジョブの情報をジョブトラッカーに送信する。これらの処理は、図17における(1)及び(2)に関係する
ジョブトラッカーは、Hadoopジョブを起動し、Hadoopジョブの進捗状況を管理する。また、ジョブトラッカーは、タスクトラッカーからの要求に応じ、マップタスク及びリデュースタスクを割り当てる(すなわちスケジューリングする)。これらの処理は、図17における(3)に関係する。
タスクトラッカーは、実行するマップタスクの数及びリデュースタスクの数を管理する。タスクトラッカーは、マップタスクのためのスロット又はリデュースタスクのためのスロットが空いた場合には、空いた分のタスクの割り当てをジョブトラッカーに要求する。タスクトラッカーは、ジョブトラッカーからタスクが割り当てられると、タスクを実行するためのプロセスを起動する。これらの処理は、図17における(4)に関係する。
2.広域Hadoop
WANを介して接続された複数のデータセンタを跨ってHadoopジョブを実行する場合、例えば図18に示すように、複数のデータセンタを跨ってクラスタを構築する。広域のクラスタを構築する場合にも、論理的な構成は上で説明したものと変わらない。通常、ジョブトラッカーはいずれかのデータセンタ内に設けられる。ジョブクライアントはクラスタにおける各ノード上で動作するため、ユーザは任意のノードにおいてHadoopジョブの実行を指示することができる。
また、図19に示すように、マップタスクの結果をいずれか1のノード(図19の例では、ノード12)が収集し、リデュースタスクにおいてマップタスクの結果を集約する。
3.Hadoopストリーミングインタフェース
Hadoopストリーミングインタフェースは、マップ関数及びリデュース関数の入出力として標準入出力を利用できるようにすることで、Java(登録商標)以外のプログラミング言語でマップ関数及びリデュース関数を記述できるようにする仕組みである。Hadoopジョブを起動する際は、コマンドの引数でマップ関数、リデュース関数、入力ファイル及び出力ファイル等を指定する。
なお、通常は、Hadoopジョブを起動するためのインタフェースはJava(登録商標)のAPIであるので、Hadoopジョブを実行するために適切なJava(登録商標)クラスを実装する。また、マップ関数及びリデュース関数もそれぞれJava(登録商標)クラスとして実装する。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態の第1の態様に係る情報処理システムは、複数の情報処理装置を有する。そして、複数の情報処理装置のうちいずれかの情報処理装置が、(A)複数の情報処理装置が接続されたネットワークに含まれる複数のサブネットワークの各々について、当該サブネットワーク内の情報処理装置の中から1の情報処理装置を特定し、当該情報処理装置に対して、当該サブネットワーク内の情報処理装置が所持するデータに対して実行されたマップ処理の結果を集約する処理である第1のリデュース処理を割り当てる第1割り当て部と、(B)複数のサブネットワークの各々について実行された第1のリデュース処理の結果を集約する処理である第2のリデュース処理を、複数の情報処理装置のうちいずれかの情報処理装置に割り当てる第2割り当て部とを有する。
広域においてマップリデュース処理を実行する場合、スループットを向上させるためには、サブネットワーク間を結ぶネットワークにおいて通信遅延が発生しないようにすることが重要である。そこで、上で述べたようにすれば、サブネットワーク間を結ぶネットワーク上に流れるデータの量を削減することができるので、広域で実行するマップリデュース処理のスループットを向上させることができるようになる。
また、第1のリデュース処理を割り当てられた情報処理装置が、(C)同じサブネットワークに属する情報処理装置からマップ処理の結果を収集し、収集したマップ処理の結果を集約し、第2のリデュース処理を割り当てられた情報処理装置が、(D)第1のリデュース処理を実行した情報処理装置から第1のリデュース処理の結果を収集し、収集した第1のリデュース処理の結果を集約するようにしてもよい。
このようにすれば、サブネットワーク間を結ぶネットワーク上を流れるデータの量を、リデュース処理を単純に1回だけ実行する場合よりも少なくすることができるようになる。
また、上で述べたマップ処理は、文書における単語の出現回数を計数する処理であってもよい。そして、複数の情報処理装置のうちいずれかの情報処理装置が、(E)複数の情報処理装置が所持しているデータに対しユニークワードの数を計数する処理を実行し、計数されたユニークワードの数が予め定められた値の範囲内である場合に、第1割り当て部及び第2割り当て部に処理を実行させる実行制御部をさらに有してもよい。
ユニークワード数が極端に少ない又は多い場合には、上で述べたように第1及び第2のリデュース処理を実行したとしても、スループットがあまり向上しないことがある。そこで、上で述べたようにすれば、スループットの向上を期待できる場合にのみ処理を実行させることができるようになる。
また、上で述べたサブネットワークはLAN(Local Area Network)であり、上で述べた複数のサブネットワークを含むネットワークはWAN(Wide Area Network)であってもよい。
このようにすれば、例えばインターネット等のWANにおいてマップリデュース処理を実行する場合にも対処できるようになる。
また、上で述べた第2割り当て部は、(b1)複数の情報処理装置のうちユーザから指定された情報処理装置に第2リデュース処理を割り当てるようにしてもよい。
このようにすれば、ユーザはマップリデュース処理の出力先の情報処理装置を指定できるようになる。
本実施の形態の第2の態様に係る制御方法は、複数の情報処理装置のうちいずれかの情報処理装置が、(F)複数の情報処理装置が接続されたネットワークに含まれる複数のサブネットワークの各々について、当該サブネットワーク内の情報処理装置の中から1の情報処理装置を特定し、当該情報処理装置に対して、当該サブネットワーク内の情報処理装置が所持するデータに対して実行されたマップ処理の結果を集約する処理である第1のリデュース処理を割り当て、(G)複数のサブネットワークの各々について実行された第1のリデュース処理の結果を集約する処理である第2のリデュース処理を、複数の情報処理装置のうちいずれかの情報処理装置に割り当てる処理を含む。
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
複数の情報処理装置を有する情報処理システムにおいて、
前記複数の情報処理装置のうちいずれかの情報処理装置が、
前記複数の情報処理装置が接続されたネットワークに含まれる複数のサブネットワークの各々について、当該サブネットワーク内の情報処理装置の中から1の情報処理装置を特定し、当該情報処理装置に対して、当該サブネットワーク内の情報処理装置が所持するデータに対して実行されたマップ処理の結果を集約する処理である第1のリデュース処理を割り当てる第1割り当て部と、
前記複数のサブネットワークの各々について実行された前記第1のリデュース処理の結果を集約する処理である第2のリデュース処理を、前記複数の情報処理装置のうちいずれかの情報処理装置に割り当てる第2割り当て部と
を有することを特徴とする情報処理システム。
(付記2)
前記第1のリデュース処理を割り当てられた情報処理装置が、
同じサブネットワークに属する情報処理装置から前記マップ処理の結果を収集し、収集した前記マップ処理の結果を集約し、
前記第2のリデュース処理を割り当てられた情報処理装置が、
前記第1のリデュース処理を実行した情報処理装置から前記第1のリデュース処理の結果を収集し、収集した前記第1のリデュース処理の結果を集約する
ことを特徴とする付記1記載の情報処理システム。
(付記3)
前記マップ処理は、文書における単語の出現回数を計数する処理であり、
前記複数の情報処理装置のうちいずれかの情報処理装置が、
前記複数の情報処理装置が所持しているデータに対しユニークワードの数を計数する処理を実行し、計数された前記ユニークワードの数が予め定められた値の範囲内である場合に、前記第1割り当て部及び前記第2割り当て部に処理を実行させる実行制御部
をさらに有する付記1又は2記載の情報処理システム。
(付記4)
前記サブネットワークはLAN(Local Area Network)であり、
前記複数のサブネットワークを含むネットワークはWAN(Wide Area Network)である
ことを特徴とする付記1乃至3のいずれか1つ記載の情報処理システム。
(付記5)
前記第2割り当て部は、
前記複数の情報処理装置のうちユーザから指定された情報処理装置に前記第2リデュース処理を割り当てる
ことを特徴とする付記1乃至4のいずれか1つ記載の情報処理システム。
(付記6)
複数の情報処理装置を含む情報処理システムの制御方法において、
前記複数の情報処理装置のうちいずれかの情報処理装置が、
前記複数の情報処理装置が接続されたネットワークに含まれる複数のサブネットワークの各々について、当該サブネットワーク内の情報処理装置の中から1の情報処理装置を特定し、当該情報処理装置に対して、当該サブネットワーク内の情報処理装置が所持するデータに対して実行されたマップ処理の結果を集約する処理である第1のリデュース処理を割り当て、
前記複数のサブネットワークの各々について実行された前記第1のリデュース処理の結果を集約する処理である第2のリデュース処理を、前記複数の情報処理装置のうちいずれかの情報処理装置に割り当てる
ことを特徴とする情報処理システムの制御方法。
(付記7)
複数の情報処理装置を含む情報処理システムの制御プログラムにおいて、
前記複数の情報処理装置のうちいずれかの情報処理装置に、
前記複数の情報処理装置が接続されたネットワークに含まれる複数のサブネットワークの各々について、当該サブネットワーク内の情報処理装置の中から1の情報処理装置を特定させ、当該情報処理装置に対して、当該サブネットワーク内の情報処理装置が所持するデータに対して実行されたマップ処理の結果を集約する処理である第1のリデュース処理を割り当てさせ
前記複数のサブネットワークの各々について実行された前記第1のリデュース処理の結果を集約する処理である第2のリデュース処理を、前記複数の情報処理装置のうちいずれかの情報処理装置に割り当てさせる
ことを特徴とする情報処理システムの制御プログラム。
11,12,21,22 ノード 121 実行制御部
112,122,212,222 ジョブクライアント 113 ジョブトラッカー
1131 第1割当部 1132 第2割当部
114,124,214,224 タスクトラッカー
115,125,215,225 実行結果格納部
116,126,216,226 入力データ格納部
51,52 ネットワーク

Claims (4)

  1. 各々複数のローカルエリアネットワークのいずれかに接続される複数の情報処理装置
    を有し、
    前記複数の情報処理装置のうち第1の情報処理装置が、
    前記複数のローカルエリアネットワークの各々について、当該ローカルエリアネットワークに接続された情報処理装置の中から1の情報処理装置を特定し、当該情報処理装置に対して、当該ローカルエリアネットワーク内の情報処理装置が所持する文書データにおいて各単語が出現する回数を計数する処理であるマップ処理の結果を集約する処理である第1のリデュース処理を割り当てる第1割り当て部と、
    前記複数の情報処理装置のうちいずれかの情報処理装置に対して、前記複数のローカルエリアネットワークの各々において実行された前記第1のリデュース処理の結果を、前記複数のローカルエリアネットワークの各々に接続されるワイドエリアネットワークを介して収集し、且つ、収集された前記第1のリデュース処理の結果を集約する処理である第2のリデュース処理を割り当てる第2割り当て部と
    前記複数の情報処理装置が所持する文書データに対しユニークワードの数を計数する処理を実行し、計数された前記ユニークワードの数が予め定められた範囲内である場合に、前記第1割り当て部及び前記第2割り当て部に処理を実行させる実行制御部と、
    を有することを特徴とする情報処理システム。
  2. 前記第1のリデュース処理を割り当てられた情報処理装置が、
    同じローカルエリアネットワークに属する情報処理装置から前記マップ処理の結果を収集し、収集した前記マップ処理の結果を集約する、
    ことを特徴とする請求項1記載の情報処理システム。
  3. 各々複数のローカルエリアネットワークのいずれかに接続される複数の情報処理装置を含む情報処理システムの制御方法であって、
    前記複数の情報処理装置のうち第1の情報処理装置が、
    前記複数の情報処理装置が所持する文書データに対しユニークワードの数を計数する処理を実行し、
    計数された前記ユニークワードの数が予め定められた範囲内である場合に、
    前記複数のローカルエリアネットワークの各々について、当該ローカルエリアネットワークに接続された情報処理装置の中から1の情報処理装置を特定し、当該情報処理装置に対して、当該ローカルエリアネットワーク内の情報処理装置が所持する文書データにおいて各単語が出現する回数を計数する処理であるマップ処理の結果を集約する処理である第1のリデュース処理を割り当て、
    前記複数の情報処理装置のうちいずれかの情報処理装置に対して、前記複数のローカルエリアネットワークの各々において実行された前記第1のリデュース処理の結果を、前記複数のローカルエリアネットワークの各々に接続されるワイドエリアネットワークを介して収集し、且つ、収集された前記第1のリデュース処理の結果を集約する処理である第2のリデュース処理を割り当てる
    処理を実行する制御方法。
  4. 複数の情報処理装置を含む情報処理システムの制御プログラムであって、
    前記複数の情報処理装置の各々は、複数のローカルエリアネットワークのいずれかに接続され、
    前記複数のローカルエリアネットワークの各々は、ワイドエリアネットワークに接続され、
    前記複数の情報処理装置のうち第1の情報処理装置に、
    前記複数の情報処理装置が所持する文書データに対しユニークワードの数を計数する処理を実行し、
    計数された前記ユニークワードの数が予め定められた範囲内である場合に、
    前記複数のローカルエリアネットワークの各々について、当該ローカルエリアネットワークに接続された情報処理装置の中から1の情報処理装置を特定し、当該情報処理装置に対して、当該ローカルエリアネットワーク内の情報処理装置が所持する文書データにおいて各単語が出現する回数を計数する処理であるマップ処理の結果を集約する処理である第1のリデュース処理を割り当て、
    前記複数の情報処理装置のうちいずれかの情報処理装置に対して、前記複数のローカルエリアネットワークの各々において実行された前記第1のリデュース処理の結果を、前記複数のローカルエリアネットワークの各々に接続されるワイドエリアネットワークを介して収集し、且つ、収集された前記第1のリデュース処理の結果を集約する処理である第2のリデュース処理を割り当てる
    処理を実行させるための制御プログラム。
JP2012152261A 2012-07-06 2012-07-06 情報処理システム、情報処理システムの制御方法及び制御プログラム Expired - Fee Related JP6069913B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012152261A JP6069913B2 (ja) 2012-07-06 2012-07-06 情報処理システム、情報処理システムの制御方法及び制御プログラム
US13/912,158 US9124587B2 (en) 2012-07-06 2013-06-06 Information processing system and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012152261A JP6069913B2 (ja) 2012-07-06 2012-07-06 情報処理システム、情報処理システムの制御方法及び制御プログラム

Publications (2)

Publication Number Publication Date
JP2014016700A JP2014016700A (ja) 2014-01-30
JP6069913B2 true JP6069913B2 (ja) 2017-02-01

Family

ID=49879324

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012152261A Expired - Fee Related JP6069913B2 (ja) 2012-07-06 2012-07-06 情報処理システム、情報処理システムの制御方法及び制御プログラム

Country Status (2)

Country Link
US (1) US9124587B2 (ja)
JP (1) JP6069913B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003095390A1 (fr) * 2002-05-10 2003-11-20 Ikuyoshi Kojima Procede de production de carreau de type tenmoku denature par cuisson

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150326644A1 (en) * 2014-05-07 2015-11-12 Microsoft Corporation Traveling map-reduce architecture
US10606804B2 (en) 2015-01-28 2020-03-31 Verizon Media Inc. Computerized systems and methods for distributed file collection and processing
US20160275123A1 (en) * 2015-03-18 2016-09-22 Hitachi, Ltd. Pipeline execution of multiple map-reduce jobs
KR102592611B1 (ko) * 2016-02-18 2023-10-23 한국전자통신연구원 맵 리듀스 장치, 맵 리듀스 제어장치 및 그 방법
CN108259568B (zh) * 2017-12-22 2021-05-04 东软集团股份有限公司 任务分配方法、装置、计算机可读存储介质及电子设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004110318A (ja) * 2002-09-18 2004-04-08 Nec Corp 階層的分散処理システムおよび階層的分散処理方法
BRPI0615559A2 (pt) * 2005-07-20 2017-09-12 Verimatrix Inc sistema e método de autenticação de usúario de rede
JP5229731B2 (ja) * 2008-10-07 2013-07-03 インターナショナル・ビジネス・マシーンズ・コーポレーション 更新頻度に基づくキャッシュ機構
JP5245711B2 (ja) * 2008-10-17 2013-07-24 日本電気株式会社 分散データ処理システム、分散データ処理方法および分散データ処理用プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003095390A1 (fr) * 2002-05-10 2003-11-20 Ikuyoshi Kojima Procede de production de carreau de type tenmoku denature par cuisson

Also Published As

Publication number Publication date
US9124587B2 (en) 2015-09-01
US20140012890A1 (en) 2014-01-09
JP2014016700A (ja) 2014-01-30

Similar Documents

Publication Publication Date Title
US10003649B2 (en) Systems and methods to improve read/write performance in object storage applications
US11175954B2 (en) Multi-layer QoS management in a distributed computing environment
Xu et al. Stateful serverless application placement in MEC with function and state dependencies
Zaharia et al. Job scheduling for multi-user mapreduce clusters
Chowdhury et al. Coflow: A networking abstraction for cluster applications
CN103414761B (zh) 一种基于Hadoop架构的移动终端云资源调度方法
US10296386B2 (en) Processing element management in a streaming data system
US10489176B2 (en) Method, system and apparatus for creating virtual machine
US10572290B2 (en) Method and apparatus for allocating a physical resource to a virtual machine
JP6069913B2 (ja) 情報処理システム、情報処理システムの制御方法及び制御プログラム
TWI408934B (zh) 網路介面技術
US20130074091A1 (en) Techniques for ensuring resources achieve performance metrics in a multi-tenant storage controller
JP6783850B2 (ja) データトラフィックを制限するための方法及びシステム
Li et al. OFScheduler: a dynamic network optimizer for MapReduce in heterogeneous cluster
CN107818013A (zh) 一种应用调度方法及装置
US20170344266A1 (en) Methods for dynamic resource reservation based on classified i/o requests and devices thereof
Dai et al. Scheduling for response time in Hadoop MapReduce
Yang et al. Joint optimization of mapreduce scheduling and network policy in hierarchical clouds
JP2016225877A (ja) サービス提供システム、サービス提供方法、およびサービス提供プログラム
Morla et al. High-performance network traffic analysis for continuous batch intrusion detection
CN118660017B (zh) 接收队列调度方法、设备、介质及计算机程序产品
Wu et al. Improving mapreduce performance by streaming input data from multiple replicas
Wu et al. Multi-source streaming-based data accesses for MapReduce systems
Komarasamy et al. A scalable scheduling and resource management framework for cloud-native B2B applications
Sui et al. RDMA-based Optimization of Intelligent Scheduling Policies for Kubernetes

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150406

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160920

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161116

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: 20161206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161219

R150 Certificate of patent or registration of utility model

Ref document number: 6069913

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees