JP6278908B2 - 管理装置、および、ソフトウェアコンポーネントグルーピング方法 - Google Patents
管理装置、および、ソフトウェアコンポーネントグルーピング方法 Download PDFInfo
- Publication number
- JP6278908B2 JP6278908B2 JP2015019051A JP2015019051A JP6278908B2 JP 6278908 B2 JP6278908 B2 JP 6278908B2 JP 2015019051 A JP2015019051 A JP 2015019051A JP 2015019051 A JP2015019051 A JP 2015019051A JP 6278908 B2 JP6278908 B2 JP 6278908B2
- Authority
- JP
- Japan
- Prior art keywords
- software components
- communication frequency
- pair
- layer
- group
- 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.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
1つのデータセンタに、複数のラックが対応して設けられている。
1つのラックに、複数の物理サーバが対応して設けられている。
1つの物理サーバに、複数の仮想サーバが対応して設けられている。
1つの仮想サーバに、複数のプロセスが対応して設けられている。
そして、プロセスに、ソフトウェアコンポーネントが1対1対応で配置(ロード)される。
1つのデータセンタ11に、複数のラック12が対応して設けられている。
1つのラック12に、複数の物理サーバ13が対応して設けられている。
1つの物理サーバ13に、複数の仮想サーバ14が対応して設けられている。
1つの仮想サーバ14に、複数のプロセス15が対応して設けられている。
プロセス15に、ソフトウェアコンポーネント3(以下、符号無しで「ソフトウェアコンポーネント」と称する。)が1対1対応で配置される。
その場合、処理部21は、当該通信頻度データに基づき、ソフトウェアコンポーネントを階層的にグルーピングし、分散システム1に対するソフトウェアコンポーネントの初期配置を実行する(詳細は後記)。
その場合、処理部21は、当該通信頻度データに基づき、ソフトウェアコンポーネントを階層的にグルーピングし、分散システム1に対するソフトウェアコンポーネントの再配置を実行する(詳細は後記)。
出力部24は、情報を出力するための出力インタフェースであり、例えば、液晶画面表示装置により実現される。
通信部25は、分散システム1などの外部装置との通信を行うための通信インタフェースである。
そして、そのグルーピング結果に基づいて、分散システム1にソフトウェアコンポーネントを配置する(符号B)。
アプリケーションを構成するすべてのソフトウェアコンポーネント間の通信回数(通信頻度)を一定期間計測する。
<ステップ2>
ソフトウェアコンポーネント間の通信頻度(記憶部22の通信頻度データ)に基づき、ソフトウェアコンポーネントの第1階層でのグルーピングを実施する。
グルーピングを階層的に繰り返し実施する。
<ステップ4>
階層的にグルーピングしたソフトウェアコンポーネントを、階層化された分散システム1へ対応付けて配置する。
<ステップ1>
ステップ1では、前記したように、アプリケーションを構成するすべてのソフトウェアコンポーネント間の通信回数を一定期間計測する。
具体的には、図2に示すように、アプリケーションを構成するソフトウェアコンポーネントの集合Sに含まれるソフトウェアコンポーネントsn,sm間の通信回数をc(sn,sm)として、本ステップによりcの集合C={c(sn,sm)|sn<sm∧sn∈S∧sm∈S}を得る。例えば、s1,s2の間の通信回数が18回であることは、c(s1,s2)=18と表すことができる。
ステップ2では、まず、通信するソフトウェアコンポーネントのすべてのペアについて、通信頻度の高いペアから順に、ペアを同じ第1階層グループに所属させるか、または、所定の第1制約条件によりペアを同じ第1階層グループに所属させられない場合には、ペアの通信頻度を、それぞれが所属する第1階層グループ間の通信頻度として加算することで、第1階層グルーピングを完了する。
その後、さらに、同様のグルーピング処理を第N階層(Nは2以上の整数)まで繰り返し実施する。
ステップ2−1では、集合Cの要素c(sn,sm)を降順にソートする。
次に、ステップ2−2では、先頭の要素c(sn,sm)を取得する。つまり、通信回数の多いペアからグルーピング処理を実施する。
次に、ステップ2−3では、判定アルゴリズムに基づいてグルーピング条件判定を行う。この判定アルゴリズムについては、図4〜図7を用いて後記する。
このようにして、ステップ2を実現することができる。
なお、ケース1〜ケース4とは、次の通りである。
ケース2:sn,smのどちらか一方だけ既存のグループに属する場合
ケース3:sn,smのそれぞれが既存の別々のグループに属する場合
ケース4:sn,smの両方が既存の同じグループに属する場合
まず、ケース1について、図4を参照して説明する。
sn,smのいずれも既存のグループに属さない場合、新しくグループを作成する。例えば、図4(a)に示すように、判定対象のソフトウェアコンポーネントペアがs3,s9で、いずれも既存のグループg1,g2に属さない場合、図4(b)に示すように、新しくグループg3を作成し、そのグループg3にs3,s9を入れる。その場合、そのペアの通信回数(c(s3,s9)=75)は保存される。
次に、ケース2について、図5を参照して説明する。ここで、所定の第1制約条件として、第1階層グループに所属させることができるソフトウェアコンポーネントの数の上限値(max(|g|))が決まっているものとする。この上限値(max(|g|))は、仮想サーバ14の容量等に基づいて予め決定しておく。
なお、既存のグループに属するのがsnではなくsmの場合も同様である。
次に、ケース3について、図6を参照して説明する。sn,smのそれぞれが既存の別々のグループに属する場合、例えば、sn,smのそれぞれが既存の別々のグループgo,gpに属すると仮定する。そのとき、グループgoとgpの要素数の合計が上限値を超えないとすると(max(|g|)≧|go|+|gp|)、goとgpをマージ(統合)する。例えば、図6(a)に示すように、判定対象のソフトウェアコンポーネントのペアであるs1,s5のそれぞれが既存の別々のグループg1,g2に属するとき、グループg1とg2の要素数の合計が上限値を超えないとすると(max(|g|)≧6(=3+3))、図6(b)に示すように、g1とg2をマージする。その場合、そのペアの通信回数(c(s1,s5)=60)は保存される。
次に、ケース4について、図7を参照して説明する。
sn,smの両方が既存の同じグループに属する場合、グルーピングはそのままで、通信回数c(sn,sm)の情報を追加する。例えば、図7(a)に示すように、判定対象のソフトウェアコンポーネントのペアs1,s2の両方が既存のグループg1に属する場合、図7(b)に示すように、グルーピングはそのままで、通信回数(c(s1,s2)=70)の情報を追加する。
次に、ステップ3では、ステップ2と同様のグルーピングを階層的に繰り返し実施する。つまり、ステップ2ですでに第1階層グループとしてのグルーピングが完了しているので、まず、第1階層グループ単位でグルーピングを行って第2階層グループを作成し、その第2階層グループ単位でグルーピングを行って第3階層グループを作成し、という処理を最終の第N階層グループを作成するまで行う。
次に、ステップ3−2では、先頭の要素cg(gn,gm)を取得する。つまり、通信回数の多いペアからグルーピング処理を実施する。
次に、ステップ3−3では、判定アルゴリズムに基づいてグルーピング条件判定を行う。この判定アルゴリズムについては、ステップ2における判定アルゴリズムと同様であるので、説明を省略する。
ステップ4では、図9に示すように、ソフトウェアコンポーネントのグループ階層を分散システム1の階層と対応付け、ソフトウェアコンポーネントを分散システム1へ配置する。つまり、同じ第1階層グループ内のソフトウェアコンポーネントは、同じ仮想サーバ14内に配置される。また、同じ第2階層グループ内の第1階層グループは、同じ物理サーバ13内に配置される。また、同じ第3階層グループ内の第2階層グループは、同じラック12内に配置される。また、同じ第4階層グループ内の第3階層グループは、同じデータセンタ11内に配置される。このソフトウェアコンポーネントの配置のデータは、記憶部22のソフトウェアコンポーネント配置データとして記憶される。
例えば、本実施形態では分散システム1が4つの階層を有する場合について説明したが、これに限定されず、2つの階層、3つの階層、または、5つ以上の階層を有する場合にも適用できる。
また、所定の第1制約条件、所定の第2制約条件は、サーバ容量の制限に基づく数値に限定されず、所定の理由により同じグループにグルーピングできないソフトウェアコンポーネントに関する情報などでもよい。
その他、具体的な構成について、本発明の主旨を逸脱しない範囲で適宜変更が可能である。
2 管理装置
3 ソフトウェアコンポーネント
11 データセンタ
12 ラック
13 物理サーバ
14 仮想サーバ
15 プロセス
21 処理部
22 記憶部
23 入力部
24 出力部
25 通信部
Claims (8)
- 第1階層から第N階層(Nは2以上の整数)まで有する分散システムに適用されるアプリケーションを構成する複数のソフトウェアコンポーネントの配置を決定する管理装置であって、
前記分散システムにおいて、前記ソフトウェアコンポーネントは前記第1階層に配置され、前記ソフトウェアコンポーネント同士の通信は、経由する階層が下位層であるほど時間がかかり、
前記管理装置は、
通信する前記ソフトウェアコンポーネントのペアごとの通信頻度データを記憶する記憶部と、
前記記憶部の通信頻度データを参照し、
通信する前記ソフトウェアコンポーネントのすべてのペアについて、
通信頻度の高いペアから順に、ペアを同じ第1階層グループに所属させるか、または、所定の第1制約条件によりペアを同じ前記第1階層グループに所属させられない場合には、ペアの通信頻度を、それぞれが所属する第1階層グループ間の通信頻度として加算することで、第1階層グルーピングを完了し、
次に、
通信する前記第1階層グループのすべてのペアについて、
通信頻度の高いペアから順に、ペアを同じ第2階層グループに所属させるか、または、所定の第2制約条件によりペアを同じ前記第2階層グループに所属させられない場合には、ペアの通信頻度を、それぞれが所属する第2階層グループ間の通信頻度として加算することで、第2階層グルーピングを完了し、
さらに、
同様のグルーピング処理を前記第N階層まで繰り返し実施し、前記ソフトウェアコンポーネントを階層的にグルーピングする処理部と、
を備えることを特徴とする管理装置。 - 前記所定の第1制約条件は、前記第1階層グループに所属させることができる前記ソフトウェアコンポーネントの数の上限値であり、
前記所定の第2制約条件は、前記第2階層グループに所属させることができる前記第1階層グループの数の上限値である
ことを特徴とする請求項1に記載の管理装置。 - 前記通信頻度データは、前記分散システムへ前記ソフトウェアコンポーネントを配置する前に予測した前記ソフトウェアコンポーネント同士の通信頻度のデータであり、
前記処理部は、当該通信頻度データに基づき、前記ソフトウェアコンポーネントを階層的にグルーピングし、前記分散システムに対する前記ソフトウェアコンポーネントの初期配置を実行する
ことを特徴とする請求項1または請求項2に記載の管理装置。 - 前記通信頻度データは、前記分散システムにおける前記ソフトウェアコンポーネント間の実際の通信頻度を集計したデータであり、
前記処理部は、当該通信頻度データに基づき、前記ソフトウェアコンポーネントを階層的にグルーピングし、前記分散システムに対する前記ソフトウェアコンポーネントの再配置を実行する
ことを特徴とする請求項1または請求項2に記載の管理装置。 - 第1階層から第N階層(Nは2以上の整数)まで有する分散システムに適用されるアプリケーションを構成する複数のソフトウェアコンポーネントの配置を決定する管理装置によるソフトウェアコンポーネントグルーピング方法であって、
前記分散システムにおいて、前記ソフトウェアコンポーネントは前記第1階層に配置され、前記ソフトウェアコンポーネント同士の通信は、経由する階層が下位層であるほど時間がかかり、
前記管理装置は、
通信する前記ソフトウェアコンポーネントのペアごとの通信頻度データを記憶する記憶部と、処理部と、を備えており、
前記処理部は、
前記記憶部の通信頻度データを参照し、
通信する前記ソフトウェアコンポーネントのすべてのペアについて、
通信頻度の高いペアから順に、ペアを同じ第1階層グループに所属させるか、または、所定の第1制約条件によりペアを同じ前記第1階層グループに所属させられない場合には、ペアの通信頻度を、それぞれが所属する第1階層グループ間の通信頻度として加算することで、第1階層グルーピングを完了し、
次に、
通信する前記第1階層グループのすべてのペアについて、
通信頻度の高いペアから順に、ペアを同じ第2階層グループに所属させるか、または、所定の第2制約条件によりペアを同じ前記第2階層グループに所属させられない場合には、ペアの通信頻度を、それぞれが所属する第2階層グループ間の通信頻度として加算することで、第2階層グルーピングを完了し、
さらに、
同様のグルーピング処理を前記第N階層まで繰り返し実施し、前記ソフトウェアコンポーネントを階層的にグルーピングする
ことを特徴とするソフトウェアコンポーネントグルーピング方法。 - 前記所定の第1制約条件は、前記第1階層グループに所属させることができる前記ソフトウェアコンポーネントの数の上限値であり、
前記所定の第2制約条件は、前記第2階層グループに所属させることができる前記第1階層グループの数の上限値である
ことを特徴とする請求項5に記載のソフトウェアコンポーネントグルーピング方法。 - 前記通信頻度データは、前記分散システムへ前記ソフトウェアコンポーネントを配置する前に予測した前記ソフトウェアコンポーネント同士の通信頻度のデータであり、
前記処理部は、当該通信頻度データに基づき、前記ソフトウェアコンポーネントを階層的にグルーピングし、前記分散システムに対する前記ソフトウェアコンポーネントの初期配置を実行する
ことを特徴とする請求項5または請求項6に記載のソフトウェアコンポーネントグルーピング方法。 - 前記通信頻度データは、前記分散システムにおける前記ソフトウェアコンポーネント間の実際の通信頻度を集計したデータであり、
前記処理部は、当該通信頻度データに基づき、前記ソフトウェアコンポーネントを階層的にグルーピングし、前記分散システムに対する前記ソフトウェアコンポーネントの再配置を実行する
ことを特徴とする請求項5または請求項6に記載のソフトウェアコンポーネントグルーピング方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015019051A JP6278908B2 (ja) | 2015-02-03 | 2015-02-03 | 管理装置、および、ソフトウェアコンポーネントグルーピング方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015019051A JP6278908B2 (ja) | 2015-02-03 | 2015-02-03 | 管理装置、および、ソフトウェアコンポーネントグルーピング方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016143257A JP2016143257A (ja) | 2016-08-08 |
JP6278908B2 true JP6278908B2 (ja) | 2018-02-14 |
Family
ID=56570492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015019051A Active JP6278908B2 (ja) | 2015-02-03 | 2015-02-03 | 管理装置、および、ソフトウェアコンポーネントグルーピング方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6278908B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6617087B2 (ja) * | 2016-09-01 | 2019-12-04 | 日本電信電話株式会社 | 分散処理システム、分散処理方法および分散処理プログラム |
KR20240107119A (ko) * | 2021-11-22 | 2024-07-08 | 소니 세미컨덕터 솔루션즈 가부시키가이샤 | 정보 처리 장치, 정보 처리 방법, 프로그램 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5666620B2 (ja) * | 2010-12-07 | 2015-02-12 | 株式会社日立製作所 | ネットワークシステム、及びそのサービス品質制御方法 |
JP5887149B2 (ja) * | 2012-01-25 | 2016-03-16 | 株式会社エヌ・ティ・ティ・データ | 仮想マシン配置装置、仮想マシン配置方法 |
JP5911319B2 (ja) * | 2012-02-02 | 2016-04-27 | 三菱電機株式会社 | 情報処理装置および情報処理方法およびプログラム |
WO2014033882A1 (ja) * | 2012-08-30 | 2014-03-06 | 富士通株式会社 | 稼働管理装置、稼働管理方法、稼働管理プログラム及び記録媒体 |
-
2015
- 2015-02-03 JP JP2015019051A patent/JP6278908B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016143257A (ja) | 2016-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102968503B (zh) | 数据库系统的数据处理方法以及数据库系统 | |
US10409696B2 (en) | Scalable data storage pools | |
JP6083300B2 (ja) | プログラム、並列演算方法および情報処理装置 | |
US20140320497A1 (en) | Graph partitioning for massive scale graphs | |
US11341049B2 (en) | Method, apparatus, and computer program product for managing storage system | |
JP6446125B2 (ja) | リソースリーク検出の方法、装置及びシステム | |
JP2019536146A (ja) | プログラム可能クロックモニタ | |
US20190004728A1 (en) | Method and device for managing storage system | |
WO2021189695A1 (zh) | 分布式的数据库动态扩容方法、装置、设备及存储介质 | |
CN103345519B (zh) | 无共享分布式数据库的数据分布的方法和装置 | |
US10229145B2 (en) | Building of a hash table | |
JP6278908B2 (ja) | 管理装置、および、ソフトウェアコンポーネントグルーピング方法 | |
CN111083189A (zh) | 用于在运行时处理数据倾斜的系统和方法 | |
JP6387994B2 (ja) | 管理装置、管理方法及びプログラム | |
US10884861B2 (en) | Write-balanced parity assignment within a cluster | |
JP6714158B2 (ja) | 制御装置、制御方法及び制御プログラム | |
CN104238834A (zh) | 一种提高触控灵敏度的方法及系统 | |
JP6417341B2 (ja) | 管理装置、および、ソフトウェアコンポーネントグルーピング方法 | |
US9569470B2 (en) | Managing sharing relationship of tables | |
CN105988954B (zh) | 区域描述元管理方法及其电子装置 | |
US11709755B2 (en) | Method, device, and program product for managing storage pool of storage system | |
US10725879B2 (en) | Resource management apparatus, resource management method, and nonvolatile recording medium | |
US10586007B1 (en) | Multi-dimensional placement | |
CN113391758A (zh) | 在存储系统中管理条带的方法、设备和计算机程序产品 | |
RU2515211C1 (ru) | Спецпроцессор для поиска гамильтоновых циклов в графах |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170224 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171221 |
|
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: 20180109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180116 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6278908 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |