JPH0619749A - Log data compression device - Google Patents

Log data compression device

Info

Publication number
JPH0619749A
JPH0619749A JP4174229A JP17422992A JPH0619749A JP H0619749 A JPH0619749 A JP H0619749A JP 4174229 A JP4174229 A JP 4174229A JP 17422992 A JP17422992 A JP 17422992A JP H0619749 A JPH0619749 A JP H0619749A
Authority
JP
Japan
Prior art keywords
log data
instruction
executions
central processing
compression device
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.)
Withdrawn
Application number
JP4174229A
Other languages
Japanese (ja)
Inventor
Mayumi Kamiko
真弓 神子
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 JP4174229A priority Critical patent/JPH0619749A/en
Publication of JPH0619749A publication Critical patent/JPH0619749A/en
Withdrawn legal-status Critical Current

Links

Abstract

PURPOSE:To provide a log data compression device where a storage area can be saved on the storage of log data collected for performance evaluation of a parallel processing system executing a processing by means of distributing a load in plural central processing units. CONSTITUTION:The compression device compressing log data 2i collected on the respective central processing units 1i is provided with a conversion means 6 generating an index table 8 to which an instruction executed at a prescribed time is registered and a symbol table 10 to which an identification code corresponding to the instruction name is registered and converting the number of the execution times of the instruction into a relative value by reducing it at a prescribed rate and a registration means 7 which sequentially reads the instruction name and the number of the execution times from log data 2i and registers the identification code for the instruction name obtained from the symbol table 10 and the relative value with respect to the number of execution times, which is converted in the conversion means 6, in a prescribed registration position of a data table 9.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、複数の中央処理装置部
に負荷を分散して処理を行う並列処理システムの性能評
価のために収集されたログデータを圧縮し、これを記憶
領域に格納するログデータ圧縮装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention compresses log data collected for performance evaluation of a parallel processing system in which loads are distributed to a plurality of central processing units to store the data in a storage area. Log data compression device.

【0002】[0002]

【従来の技術】複数の中央処理装置部(以下、「プロセ
ッサ」という)を有する並列処理システム、あるいはネ
ットワークに接続される複数のワークステーションで構
成されるシステムの環境下においては、このシステムを
稼働させるためのプログラムの開発に際し、分散された
プロセッサの実行を効率よく行いシステム全体の処理速
度の向上を図ることが要求されている。理想的には、N
台のプロセッサを用いればN倍の速度向上が期待できる
ことになり(一般に「台数効果」と呼ばれている)、通
常プログラム開発者はこの台数効果を出すために、性能
評価の作業を繰り返し行っている。
2. Description of the Related Art A parallel processing system having a plurality of central processing units (hereinafter referred to as "processors") or a system composed of a plurality of workstations connected to a network operates this system. In developing a program for this, it is required to efficiently execute the distributed processors to improve the processing speed of the entire system. Ideally, N
If one processor is used, N times speed improvement can be expected (generally called “number effect”), and normally the program developer repeats performance evaluation work in order to produce this number effect. There is.

【0003】現状では、十分な効果が得られない個所を
特定するために、各プロセッサごとのプログラムの実行
状況をサンプリングし、実行後にこのサンプリングした
ログデータを解析して性能評価を行っている。
Under the present circumstances, in order to identify a portion where a sufficient effect cannot be obtained, the execution status of the program for each processor is sampled, and after execution, the sampled log data is analyzed to evaluate the performance.

【0004】さらに、複数のプロセッサを有する並列処
理システム等において、プロセッサ台数の増加に対し
て、特定のプロセッサに処理量(以下、「負荷」とい
う)が集中しないようにするためには、プログラムの実
行に係る負荷を並列に実行できる単位に分割し、かつ各
プロセッサに負荷が均一になるように割り当てる必要が
ある。しかし、実際にはプログラム中の依存関係やプロ
グラム間でのデータのやりとりがあるために、負荷の均
一な割り当てが有効に行えず、大幅な処理速度の向上を
実現するのが困難となっている。そこで、負荷の均一化
を図るために、各プロセッサ毎にプログラムの実行状況
をサンプリングし、実行後にこのサンプリングされたロ
グデータを解析、評価する作業が行われる。
Further, in a parallel processing system having a plurality of processors, in order to prevent the processing amount (hereinafter referred to as "load") from concentrating on a specific processor as the number of processors increases, the program It is necessary to divide the load related to execution into units that can be executed in parallel and to allocate the load to each processor so that the load becomes uniform. However, in reality, because of the dependency relationships in the programs and the exchange of data between the programs, it is difficult to effectively allocate the load evenly, and it is difficult to achieve a significant increase in processing speed. . Therefore, in order to equalize the load, a work of sampling the execution status of the program for each processor and analyzing and evaluating the sampled log data after execution is performed.

【0005】ここで、上記ログデータの例として、UN
IXの下でC言語のプログラムを実行しプロファイルを
行なった場合に得られるログデータを図20に示す。こ
の例は1つのプロセッサに関するログであり、命令ごと
に集計を行ったものである。図中%timeは実行時間
全体に対する各命令に要した時間の割合、cumsec
sは各命令に要した時間、#callは命令の実行回
数、ms/callは命令1回に要した時間、name
は命令名を示す。
Here, as an example of the log data, UN
FIG. 20 shows log data obtained when a C language program is executed under IX and profile is performed. In this example, the log is for one processor, and is aggregated for each instruction. In the figure,% time is the ratio of the time required for each instruction to the total execution time, cumsec
s is the time required for each instruction, #call is the number of times the instruction is executed, ms / call is the time required for one instruction, name
Indicates an instruction name.

【0006】[0006]

【発明が解決しようとする課題】ところで、上記ログデ
ータの情報から大まかなプロセッサの動きを知ることが
できるが、これを解析、評価して並列処理システムの負
荷の割り当てに応用する場合には、このままでは情報が
不十分でありさらに詳しい実行情報をサンプリングする
必要がある。また、効果的な解析、評価を行うために
は、プログラム作成の基準として、どの命令がいつどの
プロセッサで実行されたかを時間を追って把握する必要
がある。
By the way, the rough movement of the processor can be known from the information of the above log data. However, when this is analyzed and evaluated to be applied to the load allocation of the parallel processing system, As it is, the information is insufficient and it is necessary to sample more detailed execution information. Further, in order to perform effective analysis and evaluation, it is necessary to grasp which instruction was executed by which processor as time as a standard for program creation.

【0007】しかし、十分な情報量を確保しようとすれ
ばサンプリングするログデータの量は増え、さらにプロ
セッサの台数の増加に伴いログデータが大幅に増え、こ
のため大量の記憶領域が必要になってくるといった問題
点が生じてくる。本発明は、上記問題点に鑑みてなされ
たものであり、プロセッサの性能評価を行う大量のログ
データを圧縮して保存することにより、記憶領域の節約
が図れるログデータ圧縮装置を提供することを目的とし
てなされたものである。
However, if an attempt is made to secure a sufficient amount of information, the amount of log data to be sampled will increase, and the log data will increase significantly as the number of processors increases, which requires a large amount of storage area. There is a problem that comes. The present invention has been made in view of the above problems, and provides a log data compression device capable of saving a storage area by compressing and storing a large amount of log data for performance evaluation of a processor. It was done for the purpose.

【0008】[0008]

【課題を解決するための手段】以上の技術的課題を解決
するために、本発明のログデータ圧縮装置に係る第1の
手段では、図1に示すように複数の中央処理装置部1i
(i=1,2 〜)に負荷を分散して処理を行う並列処理シス
テムにおける性能評価のために、各中央処理装置部毎に
収集され、一定の時間間隔毎に各中央処理装置部1i が
この一定時間内に実行した各種命令の実行回数を記録し
たログデータ2i (i=1,2 〜)を用い、このログデータ
を圧縮すると共に所定の記憶領域に格納する圧縮装置を
備えたログデータ圧縮装置であって、上記圧縮装置は、
上記ログデータ2i に基づき、各中央処理装置部1i が
上記一定時間に実行した命令の種類が各中央処理装置部
1i 毎にかつ各一定時間毎に登録されるインデックステ
ーブル8を作成するインデックステーブル作成手段4
と、上記ログデータ2i に含まれる命令名及びこの命令
名に対応させた所定の識別コードが登録されるシンボル
テーブル10を作成するシンボルテーブル作成手段5
と、上記一定時間内に実行した一の種類の命令の実行回
数の最大値を調べ、この最大値を所定の比率で縮小して
相対値を設定し、他の実行回数についてはこれと同じ比
率の相対値に変換する変換手段6と、上記ログデータ2
i から命令名及びこの実行回数を順次読出すと共に、上
記シンボルテーブル10から求めたこの命令名に対する
識別コード及び上記変換手段6で変換した実行回数に対
する相対値を、上記インデックステーブル8に基づいて
決定されるデータテーブル9の所定の登録位置に登録す
る登録手段7とを有する構成である。
In order to solve the above technical problems, in the first means relating to the log data compression apparatus of the present invention, as shown in FIG.
For the performance evaluation in the parallel processing system in which the load is distributed to (i = 1,2 ...), the data are collected for each central processing unit, and each central processing unit 1i collects at a constant time interval. Using log data 2i (i = 1,2 ~) that records the number of executions of various instructions executed within this fixed time, the log data is provided with a compression device that compresses this log data and stores it in a predetermined storage area. A compression device, wherein the compression device is
Index table creation for creating an index table 8 in which the types of instructions executed by the central processing units 1i at the fixed time are registered for each central processing unit 1i and for each fixed time based on the log data 2i. Means 4
And a symbol table creating means 5 for creating a symbol table 10 in which an instruction name included in the log data 2i and a predetermined identification code corresponding to the instruction name are registered.
Then, the maximum number of executions of one type of instruction executed within the above fixed time is checked, this maximum value is reduced by a predetermined ratio and a relative value is set, and other executions have the same ratio. Conversion means 6 for converting into a relative value of the log data 2
The instruction name and the number of executions thereof are sequentially read from i, and the relative value to the identification code for the instruction name obtained from the symbol table 10 and the number of executions converted by the converting means 6 is determined based on the index table 8. And a registration means 7 for registering the data table 9 at a predetermined registration position.

【0009】また、第2の手段における圧縮装置は、図
1に示すように上記一定時間内に実行した一の種類の命
令の実行回数の最大値を調べ、この最大値を所定の比率
で縮小して相対値を設定し、他の実行回数についてはこ
れと同じ比率の相対値に変換する変換手段6と、上記命
令名毎に一定の保持領域を確保すると共に、この保持領
域には上記各中央処理装置部1i 毎にかつ上記一定時間
毎における命令の実行回数が登録される命令テーブル1
2を設け、上記ログデータ2i から命令名及びこの実行
回数を順次読出すと共に、この実行回数を上記変換手段
6で相対値に変換したものを、この命令名に対応する上
記命令テーブル12の保持領域内の所定の登録位置に登
録する命令テーブル登録手段11とを有する構成であ
る。
Further, as shown in FIG. 1, the compression device in the second means examines the maximum value of the number of times of execution of one type of instruction executed within the fixed time, and reduces this maximum value by a predetermined ratio. Then, the relative value is set, and the conversion means 6 for converting the relative number of other execution times into the relative value of the same ratio, and a fixed holding area is secured for each of the command names, and the holding area has An instruction table 1 in which the number of executions of the instruction is registered for each central processing unit 1i and for each of the fixed time
2 is provided, the instruction name and the number of executions thereof are sequentially read from the log data 2i, and the number of executions converted into a relative value by the conversion means 6 is held in the instruction table 12 corresponding to the instruction name. The instruction table registration means 11 for registering at a predetermined registration position in the area is provided.

【0010】第3の手段では、本発明に係るログデータ
圧縮装置に、図1に示すように上記一定の時間間隔毎の
各一定時間の単位に番号を付与したものをX軸、これら
各一定時間における命令の実行回数をY軸としたグラフ
及びX軸及びこのグラフの左右両端のY軸との平行線と
で囲まれる部分の面積と、この命令の実行回数の最大値
を含むX軸と平行なグラフ及びX軸及びこのグラフの左
右両端のY軸との平行線とで囲まれる部分の面積とを比
較したときに、前者の面積が後者の面積に比べて所定の
比率よりも大であれば上記第2の手段に係る圧縮装置を
選択しそうでなければ上記第1の手段に係る圧縮装置を
選択する選択手段3を設けた構成である。
In the third means, the log data compression apparatus according to the present invention is provided with a number assigned to each fixed time unit at each fixed time interval as shown in FIG. A graph in which the number of executions of an instruction in time is the Y axis, an area of a portion surrounded by the X axis and parallel lines to the Y axes at the left and right ends of this graph, and an X axis including the maximum value of the number of executions of this instruction When comparing the area of the parallel graph and the area surrounded by the X axis and the parallel lines with the Y axis at the left and right ends of this graph, the former area is larger than the latter area by a predetermined ratio. If there is such a compression device according to the second means, if it is not selected, the selection device 3 for selecting the compression device according to the first means is provided.

【0011】[0011]

【作用】ここで、上記構成を有する本発明の思考の過程
についての説明を行う。並列処理システムを稼働させる
プログラムの性能評価を行なうに際して、プログラムの
実行中に各プロセッサにおいて、ある一定時間単位(以
下、「サイクル」という)にどの命令を何回実行したか
を収集し、これを保持する。図5及び図6は、このとき
の各プロセッサで保持されるデータの例を示している。
このデータに含まれるPE Info の意味を以下に示す。
Now, the process of thinking of the present invention having the above construction will be described. When evaluating the performance of a program that runs a parallel processing system, we collect the number of times and which instruction was executed in a certain fixed time unit (hereinafter referred to as "cycle") in each processor during the execution of the program. Hold. 5 and 6 show examples of data held in each processor at this time.
The meaning of PE Info included in this data is shown below.

【0012】PE Info = profile(Cycle1,Info1),prof
ile(Cycle2,Info2),… Cycle i : サイクル番号 Info i = {Rutin1,Call1}, {Rutin2,Call2}, … Rutin i : 命令名 Call i : 実行回数
PE Info = profile (Cycle1, Info1), prof
ile (Cycle2, Info2), ... Cycle i: Cycle number Info i = {Rutin1, Call1}, {Rutin2, Call2}, ... Rutin i: Instruction name Call i: Number of executions

【0013】また、サンプリングされるログデータは各
プロセッサごとに保持されているが、プログラム終了後
には解析を行なうためにまとめて主記憶部に保存され
る。図6は、単に上記ログデータを主記憶部に保存した
場合の例を示している。このデータに含まれるProfile
Infoの意味は以下に示す通りである。 Profile Info= profile (Cycle1,PEInfo2),profile(Cy
cle2,PEInfo), … Cycle i : サイクル番号 PEInfo i= pe(PENum1,RutinInfo1),pe(PENum2,RutinIn
fo2), … PENun i = プロセッサ番号 RutinInfo i = {Rutin1,Call1}, {Rutin2,Call
2}, … Rutin i : 命令名 Call i : 実行回数
The sampled log data is held for each processor, but after the program is finished, it is collectively stored in the main memory for analysis. FIG. 6 shows an example in which the log data is simply stored in the main storage unit. Profile included in this data
The meaning of Info is as follows. Profile Info = profile (Cycle1, PEInfo2), profile (Cy
cle2, PEInfo),… Cycle i: Cycle number PEInfo i = pe (PENum1, RutinInfo1), pe (PENum2, RutinIn
fo2),… PENun i = processor number RutinInfo i = {Rutin1, Call1}, {Rutin2, Call
2},… Rutin i: Instruction name Call i: Execution count

【0014】通常、ログデータ中の数値(実行回数)
は、32〜64bit の数で表されている。しかし、並列シス
テムを解析する際には実行回数が何回だったかという細
かい数字までは必要とせず、全体の傾向が把握できれば
よい。したがって、相対的にみて、負荷が偏っているプ
ロセッサはどれか、さらに、どのサイクルで負荷が大き
いかを調べて偏っている処理は何かを絞り込むことにな
る。また、実行回数の厳密な値は保持せず、出現する実
行回数のうちの最大値に対する比率だけを保持すること
により、すべての実行回数を4〜8bit で表すことがで
き、これにより、1/8程度の情報の圧縮を行なうこと
ができる。一方、復元する際には、上記最大値を用い、
この最大値に対する比率から大まかな実行回数を求める
こともできる。
Normally, the numerical value in the log data (number of executions)
Is represented by a number from 32 to 64 bits. However, when analyzing a parallel system, it is not necessary to have a detailed number of executions, and it is sufficient to understand the overall tendency. Therefore, in relative terms, which processor has a biased load, and in which cycle the load is large, the biased processing is narrowed down. Also, by not holding the exact value of the number of executions, but only by holding the ratio of the number of executions that occurs to the maximum value, it is possible to express all the number of executions in 4 to 8 bits. About eight pieces of information can be compressed. On the other hand, when restoring, use the above maximum value,
The rough execution count can also be obtained from the ratio to this maximum value.

【0015】そして、上記情報の圧縮を行なうための方
式には、インデックステーブルおよびシンボルテーブル
を用いる方式(方式A)がある(図7参照)。これはロ
グデータ中の記号(文字情報)を圧縮するものである。
例えば命令名はログデータ中に何度も出現し、この命令
名は通常8bit ×文字数で表され、この場合、文字数が
10文字程度である場合には、8×10=80bit を要する。
As a method for compressing the above information, there is a method (method A) using an index table and a symbol table (see FIG. 7). This is to compress symbols (character information) in log data.
For example, a command name appears many times in log data, and this command name is usually represented by 8 bits x number of characters. In this case, the number of characters is
If there are about 10 characters, 8 × 10 = 80 bits are required.

【0016】そこで、上記命令名を少ない情報量ですむ
ように識別可能な数字のIDに対応付けを行なった表(以
下、「シンボルテーブル」という)を作成する。そし
て、これにより記号は16bit の数字のIDで表すことがで
き、このため1/5程度の情報の圧縮を行なうことがで
きる。また、実行後、ログデータを読む際には、上記シ
ンボルテーブルを参照する。
Therefore, a table (hereinafter referred to as a "symbol table") in which the above command names are associated with numerical IDs that can be identified so as to require a small amount of information is created. As a result, the symbol can be represented by a 16-bit numerical ID, so that about 1/5 of the information can be compressed. Further, when the log data is read after the execution, the symbol table is referred to.

【0017】さらに、ログデータ中には種々のデリミタ
(区切り符号)が含まれている。図6に示した例でも、
総サイクル数、総使用プロセッサ台数が固定であればデ
リミタがなくても解読できるが、プログラムによって異
なるものであるため、サイクルの識別のためにprofile
(サイクル番号,…)、プロセッサの識別のためにpe(P
E 番号, …) というデリミタが用いられている。これら
デリミタも文字1文字で8bitを要するため、圧縮する際
にはデリミタについてもなるべく少ない情報で識別可能
にする必要がある。そして、総サイクル数および総プロ
セッサ数、さらに各プロセッサにおけるサイクルごとの
出現命令数が決まればデリミタは必要ない。そこで、各
プロセッサごとに保持されているログデータを解析し、
必要な情報をインデックステーブルを設けてこれに保持
することにより、ログデータをデリミタのない数字の列
で表すことができる。
Furthermore, various delimiters (separation codes) are included in the log data. Even in the example shown in FIG.
If the total number of cycles and the total number of processors used are fixed, it can be decoded without a delimiter, but since it differs depending on the program, the profile is used to identify the cycle.
(Cycle number,…), pe (P
The delimiter E number,…) is used. Since these delimiters also require 8 bits for each character, it is necessary to identify the delimiter with as little information as possible when compressing. Then, if the total number of cycles, the total number of processors, and the number of appearing instructions for each cycle in each processor are determined, the delimiter is not necessary. Therefore, we analyze the log data held for each processor,
By providing an index table and holding the necessary information in the index table, the log data can be represented by a string of numbers without delimiters.

【0018】また、上記情報の圧縮を行なうための別の
方式として、命令テーブルを用いる方式(方式B)があ
る(図7参照)。これは、命令別にデータを保持するこ
とにより、上記で示したシンボルテーブルおよびインデ
ックステーブルは必要がなくなる。この命令テーブル
は、命令名別に総プロセッサ台数×総サイクル数のデー
タを保持するためのテーブルを用意し、当命令がプロセ
ッサp番のサイクルc番において何回実行されたかを登
録するものである。
Another method for compressing the above information is a method using an instruction table (method B) (see FIG. 7). Since the data is held for each instruction, the symbol table and index table shown above are unnecessary. This instruction table prepares a table for holding data of total number of processors × total number of cycles for each instruction name, and registers how many times this instruction is executed in cycle c of processor p.

【0019】命令が各プロセッサ上、各サイクルごとに
ほぼ均一に出現している場合には命令テーブルを用いる
方式Bで圧縮するほうが記憶領域はより削減できると思
われる。一方、各プロセッサごと、サイクルごとに命令
の出現回数にむらが有る場合には方式Aで圧縮するほう
がよい。方式Bでは命令名ごとに総プロセッサ台数×総
サイクル数の領域をあらかじめ用意するため、出現回数
にむらのある場合には無駄な領域が増えるという欠点が
ある。一方、方式Aは出現した命令についてのみ保持す
るため、方式Bの欠点はカバーできると思われる。
When the instructions appear substantially evenly in each cycle on each processor, it is considered that the storage area can be further reduced by compressing with the method B using the instruction table. On the other hand, if there is unevenness in the number of appearances of instructions for each processor and for each cycle, it is better to use method A for compression. In the method B, an area of total number of processors × total number of cycles is prepared in advance for each instruction name, so that there is a disadvantage that a wasteful area increases when the number of appearances is uneven. On the other hand, since method A holds only the instructions that have appeared, it seems that the drawbacks of method B can be covered.

【0020】さて、ここで上記第1の手段の作用を説明
する。上記並列処理システムの稼働時には、各中央処理
装置部1i (以下、「プロセッサ」と呼び、各プロセッ
サに「プロセッサ番号」を設ける)では、上記一定時間
を単位として(以下、この一定時間の単位を「サイク
ル」と呼び、順に「サイクル番号」を設ける)、各プロ
セッサ1i が実行した命令の種類及びこの命令の実行回
数を各サイクル毎に収集し、この収集を所定の全サイク
ルについて行い、これを各プロセッサ1i 毎にログデー
タ2i として保持する。
Now, the operation of the first means will be described. During operation of the parallel processing system, each central processing unit 1i (hereinafter referred to as a "processor" and each processor is provided with a "processor number") uses the fixed time as a unit (hereinafter, the unit of the fixed time is The "cycle number" is provided in sequence, and the "cycle number" is provided in sequence.) The type of instruction executed by each processor 1i and the number of times this instruction is executed are collected for each cycle, and this collection is performed for all predetermined cycles. The log data 2i is held for each processor 1i.

【0021】次に、上記保持されたログデータ2i の圧
縮に際して、まずインデックステーブル作成手段4にお
いて、上記ログデータ2i をプロセッサ1i 毎に読出し
このプロセッサ1i における各サイクル毎に、そのサイ
クルで実行した命令の種類を順にインデックステーブル
8に登録し、これを全てのプロセッサ1i について行
う。また、シンボルテーブル作成手段5において、上記
ログデータ2i を検索しここに含まれる文字情報として
の命令名を読出し、これに対応させて所定の識別コード
を付与しこれらをシンボルテーブル10に登録する。こ
の検索と同時に、上記変換手段6において各サイクルで
実行した同一命令の実行回数について大きい値のものを
優先的に保持することで、この実行回数の最大値を求め
る。
Next, in compressing the retained log data 2i, first, the index table creating means 4 reads the log data 2i for each processor 1i, and for each cycle in the processor 1i, an instruction executed in that cycle. Types are sequentially registered in the index table 8, and this is performed for all the processors 1i. Further, in the symbol table creating means 5, the log data 2i is searched, the command name as the character information contained therein is read, a predetermined identification code is given in correspondence with this, and these are registered in the symbol table 10. Simultaneously with this search, the conversion means 6 preferentially retains a large execution count of the same instruction executed in each cycle to obtain the maximum execution count.

【0022】次に、登録手段7においてデータテーブル
9を作成する。この際、上記ログデータ2i から命令名
及びこの実行回数をサイクル順に順次読出すと共に、上
記シンボルテーブル10を用いてこの命令名に対する識
別コードを求め、また、変換手段6において上記実行回
数に対する相対値を求める。そしてこれら識別コード及
び相対値を、例えば上記インデックステーブル8に登録
された命令の種類の数を累積的に加算しこの値に対応す
るデータテーブル9の登録位置に登録する。そして、こ
れらの処理を全てのサイクル、すべてのプロセッサ1i
のログデータ2i について行なう。このようにしてログ
データ2i の内容が圧縮されたデータテーブル9が作成
され、これが上記所定の記憶領域に格納される。
Next, the registration means 7 creates the data table 9. At this time, the instruction name and the number of executions thereof are sequentially read from the log data 2i in the order of cycles, the identification code for the instruction name is obtained using the symbol table 10, and the conversion means 6 uses a relative value for the number of executions. Ask for. Then, the identification code and the relative value are cumulatively added, for example, to the number of types of instructions registered in the index table 8 and registered in the registration position of the data table 9 corresponding to this value. Then, these processes are performed for all cycles and for all processors 1i.
Log data 2i. In this way, the data table 9 in which the contents of the log data 2i are compressed is created, and this is stored in the predetermined storage area.

【0023】次に、上記第2の手段の作用を説明する。
まず変換手段6においてログデータ2i を検索し、全て
のプロセッサ1i の各サイクルにおける命令の実行回数
を調べ、この1サイクルの間で実行した同一命令の実行
回数についての最大値を求める。この後、各プロセッサ
1i についてのログデータ2i を参照し、各サイクル毎
に出現する命令名及びこの命令の実行回数を読出し、こ
の命令名が初めて出現する場合にはこの命令名を命令テ
ーブルの上記保持領域に登録する。そして変換手段6に
おいて、この命令の上記実行回数を相対値に変換し、こ
れを上記命令名を登録した保持領域における当該サイク
ル番号及び当該プロセッサ番号に該当する登録位置に登
録する。同様にして、これらの処理を全てのサイクル、
すべてのプロセッサ1iのログデータ2i について行な
う。このようにしてログデータ2i の内容が圧縮された
命令テーブル12が作成され、これが上記所定の記憶領
域に格納される。
Next, the operation of the second means will be described.
First, the conversion means 6 searches the log data 2i, checks the number of times of execution of instructions in each cycle of all processors 1i, and obtains the maximum value of the number of times of execution of the same instruction executed during this one cycle. After that, the log data 2i for each processor 1i is referred to, and the instruction name that appears in each cycle and the number of executions of this instruction are read. When this instruction name appears for the first time, this instruction name is stored in the instruction table above. Register in the holding area. Then, the conversion means 6 converts the number of executions of this instruction into a relative value, and registers this into a registration position corresponding to the cycle number and the processor number in the holding area in which the instruction name is registered. In the same way, these processes are performed for all cycles,
This is performed for the log data 2i of all the processors 1i. In this way, the instruction table 12 in which the contents of the log data 2i are compressed is created, and this is stored in the predetermined storage area.

【0024】また第3の手段では、各サイクルにおける
命令の実行回数のばらつきに基づき、上記第1の手段に
係る圧縮装置と上記第2の手段に係る圧縮装置のどちら
かを選択する。そして選択手段3において、上記サイク
ル番号をX軸、これら各サイクルにおける全ての命令の
全実行回数をY軸としたグラフ及びX軸及びこのグラフ
の左右両端のY軸との平行線とで囲まれる部分の面積を
求める。また、上記命令の全実行回数の最大値を含むX
軸と平行なグラフ及びX軸及びこのグラフの左右両端の
Y軸との平行線とで囲まれる矩形状の部分の面積を求め
る。そして、前者の面積が後者の面積に比べて所定の比
率よりも大であれば上記請求項2に係る圧縮装置を選択
し、そうでなければ上記請求項1に係る圧縮装置を選択
する。
In the third means, either the compression device according to the first means or the compression device according to the second means is selected based on the variation in the number of executions of instructions in each cycle. Then, in the selecting means 3, it is surrounded by a graph in which the cycle number is the X-axis, the total number of executions of all instructions in each of these cycles is the Y-axis, and the X-axis and parallel lines with the Y-axis at the left and right ends of this graph. Find the area of the part. In addition, X including the maximum value of the total number of executions of the above instructions
The area of the rectangular portion surrounded by the graph parallel to the axis, the X axis, and the parallel lines to the Y axis at the left and right ends of the graph is obtained. Then, if the former area is larger than the latter area by a predetermined ratio or more, the compressor according to claim 2 is selected, and if not, the compressor according to claim 1 is selected.

【0025】[0025]

【実施例】以下本発明に係るログデータ圧縮装置の実施
例を図面に基づいて詳細に説明する。
Embodiments of the log data compression apparatus according to the present invention will be described in detail below with reference to the drawings.

【0026】図2及び図4は、本発明の実施例に係るロ
グデータ圧縮装置を示すものである。この装置は、並列
処理システムを構成する複数台のプロセッサ21i (i=
1,2〜)と、データテーブル39等を作成する第1の圧
縮装置24と、命令テーブルを作成する第2の圧縮装置
25と、これらの圧縮装置24,25を選択する圧縮選
択装置23と、圧縮装置24,25で圧縮した圧縮デー
タを集計し加工する集計部26と、この集計部26で集
計した圧縮データを画面上にグラフ表示し、或いは印刷
する出力部27とを有している。また、上記各プロセッ
サ21i の内部にはログデータを抽出するログデータ抽
出部22i (i=1,2 〜)を有している。
2 and 4 show a log data compression apparatus according to an embodiment of the present invention. This device includes a plurality of processors 21i (i =
1, 2), a first compression device 24 that creates a data table 39, a second compression device 25 that creates an instruction table, and a compression selection device 23 that selects these compression devices 24, 25. It has an aggregating unit 26 which aggregates and processes the compressed data compressed by the compression devices 24 and 25, and an output unit 27 which graphically displays or prints the compressed data aggregated by the aggregating unit 26 on a screen. . Further, each processor 21i has a log data extraction unit 22i (i = 1,2 ...) That extracts log data.

【0027】本実施例に係るログデータ圧縮装置は、上
記各プロセッサ21で保持されているログデータをまと
めて保存する際に、データの圧縮・加工を行うものであ
る。
The log data compression apparatus according to the present embodiment compresses / processes data when collectively storing the log data held by each processor 21.

【0028】ここで本実施例の全体的な処理を、図3に
示すフローチャートに基づいて説明する。並列処理シス
テムあるいはネットワークシステム等の分散環境の各プ
ロセッサ21において、各プロセッサ21が並列に稼働
する並列プログラムを実行した際に、OS(オペレーテ
ィングシステム)により一定時間間隔に、どの命令が何
回実行されたかがカウントされる。そして、各プロセッ
サ21のログデータ抽出部22においてプログラム実行
情報を抽出する(S1)。図5に示すのは、圧縮装置2
4,25に入力されるデータの例を示したものであり、
このようなログデータが各プロセッサ21において保持
されている。
The overall processing of this embodiment will be described with reference to the flowchart shown in FIG. In each processor 21 in a distributed environment such as a parallel processing system or a network system, when each processor 21 executes a parallel program that operates in parallel, which instruction is executed many times by the OS (operating system) at a constant time interval. Taka is counted. Then, the log data extraction unit 22 of each processor 21 extracts the program execution information (S1). FIG. 5 shows the compression device 2
4 shows an example of data input to 4,25,
Such log data is held in each processor 21.

【0029】次に、圧縮選択装置23において、各プロ
セッサ21のログデータを参照し、プロセッサに関する
ばらつきの値S1及び理想面積T1、またサイクルに関
するばらつきの値S2及び理想面積T2の各割合を計算
する(S2)。そして、上記で求めた割合、S1/T1
或いはS2/T2と所定の閾値Limit とを比較する(S
3)。このとき閾値Limit がいずれの割合よりも小さけ
ればステップ(S5)を実行し、これ以外のときにはス
テップ(S4)を実行する。
Next, the compression / selection device 23 refers to the log data of each processor 21 and calculates the respective ratios of the variation value S1 and the ideal area T1 relating to the processor and the variation value S2 and the ideal area T2 relating to the cycle. (S2). Then, the ratio calculated above, S1 / T1
Alternatively, S2 / T2 is compared with a predetermined threshold Limit (S
3). At this time, if the threshold Limit is smaller than any of the ratios, step (S5) is executed, otherwise step (S4) is executed.

【0030】上記ステップ(S4)では、第1の圧縮装
置24においてインデックステーブル37及びシンボル
テーブル38を用いた圧縮方式により、各プロセッサ2
1におけるログデータから圧縮データ(データテーブル
39)を作成し主記憶の記憶領域に保持する。また、ス
テップ(S5)では、第2の圧縮装置25において命令
テーブルを用いた圧縮方式により、各プロセッサ上のロ
グデータから圧縮データ(命令テーブル44のデータ
部)を作成し主記憶における所定の記憶領域に保存す
る。この後、圧縮装置24(又は圧縮装置25)から出
力される圧縮データは、集計部26で集計され(S
6)、更に出力部27からこの集計結果を画面にグラフ
表示或いはリストとして印刷出力され(S7)、性能解
析を行なうための資料として利用される。
In the step (S4), each processor 2 is operated by the compression method using the index table 37 and the symbol table 38 in the first compression device 24.
Compressed data (data table 39) is created from the log data in No. 1 and held in the storage area of the main memory. In step (S5), compressed data (data section of the instruction table 44) is created from the log data on each processor by the compression method using the instruction table in the second compression device 25, and the predetermined storage in the main memory is performed. Save to area. Thereafter, the compressed data output from the compression device 24 (or the compression device 25) is totalized by the totalization unit 26 (S
6) Further, the totalized result is printed out as a graph on the screen or printed out as a list from the output unit 27 (S7) and used as a material for performance analysis.

【0031】図4は、上記圧縮装置24,25及び圧縮
選択装置23の詳細な構成図である。この第1の圧縮装
置24は、初期設定部32と、命令の実行回数を相対値
に変換する変換部33と、この相対値をデータテーブル
39の所定の登録位置に登録する登録部36と、インデ
ックステーブル作成部34と、シンボルテーブル作成部
35と、圧縮データ等を保持する記憶部40とを備えて
いる。そしてこの記憶部40は、インデックステーブル
37、シンボルテーブル38、データテーブル39及び
上記命令テーブル12を有している。
FIG. 4 is a detailed block diagram of the compression devices 24 and 25 and the compression selection device 23. The first compression device 24 includes an initial setting unit 32, a conversion unit 33 that converts the number of times an instruction is executed into a relative value, a registration unit 36 that registers this relative value at a predetermined registration position in the data table 39, An index table creation unit 34, a symbol table creation unit 35, and a storage unit 40 that holds compressed data and the like are provided. The storage unit 40 has an index table 37, a symbol table 38, a data table 39, and the instruction table 12.

【0032】ここで、第1の圧縮装置24の動作を説明
する。この圧縮装置24は上記ステップ(S4)に示す
ように、インデックステーブル37及びシンボルテーブ
ル38を作成すると共に、これらのテーブルを用いてデ
ータテーブル39を作成する。まず、インデックステー
ブル作成部34で作成されるインデックステーブル37
の作成手順を図9のフローチャートに基づいて説明す
る。このインデックステーブル37には、総プロセッサ
台数PE、総サイクル数Cycle 及び各サイクルごとにプ
ロセッサ21が実行した命令の種類が保持されている。
図8に示されるインデックステーブル37は、1要素32
bit であり、またデータ長はCycle ×PE+2 のデータ例
である。最初に、並列処理が行われるプロセッサの数を
調べ、これをテーブルの第0要素に登録する(S1
0)。さらに、最初の0番のプロセッサ21のログデー
タを参照して総サイクル数(Cycle )を調べ、この総サ
イクル数を第1要素に登録する(S11)。
The operation of the first compression device 24 will now be described. As shown in the step (S4), the compression device 24 creates the index table 37 and the symbol table 38, and also creates the data table 39 using these tables. First, the index table 37 created by the index table creation unit 34
The creation procedure of will be described based on the flowchart of FIG. The index table 37 holds the total number of processors PE, the total number of cycles Cycle, and the types of instructions executed by the processor 21 for each cycle.
The index table 37 shown in FIG.
It is a bit and the data length is an example of data of Cycle × PE + 2. First, the number of processors for parallel processing is checked, and this is registered in the 0th element of the table (S1
0). Further, the total number of cycles (Cycle) is checked by referring to the log data of the first 0th processor 21, and this total number of cycles is registered in the first element (S11).

【0033】そして、全てのプロセッサ21について各
プロセッサのサイクル毎の命令の種類を数えてインデッ
クステーブル28を作成する(S12)。これを各プロ
セッサ毎に行い、例えばプロセッサP番目のログデータ
を検索し、サイクルC番中に出現する命令の種類を数
え、テーブル内の第(Cycle )×(P−1)+C+1要
素に登録する(S16)。この登録作業を全てのプロセ
ッサについて行う(S13〜S18)。図8に示すイン
デックステーブル37の例では、プロセッサ0番のサイ
クル1番での出現命令数は3(第2要素)であり、プロ
セッサ0番のサイクル2番での出現命令数は4(第3要
素)である。
Then, the index table 28 is created for all the processors 21 by counting the types of instructions in each processor cycle (S12). This is performed for each processor. For example, the processor Pth log data is searched, the types of instructions appearing in cycle C are counted, and registered in the (Cycle) × (P−1) + C + 1 element in the table. (S16). This registration work is performed for all the processors (S13 to S18). In the example of the index table 37 shown in FIG. 8, the number of appearing instructions in cycle 1 of processor 0 is 3 (second element), and the number of appearing instructions in cycle 2 of processor 0 is 4 (third element). Element).

【0034】次に、シンボルテーブル作成部35で作成
するシンボルテーブル38の作成手順を図11のフロー
チャートに基づいて説明する。このシンボルテーブル3
8は、図10に示すように命令名とこの命令名を所定の
コードに対応させた命令IDとの対応関係を表にしたも
のである。作成に際しては、まず、プロセッサ21の台
数及び総サイクルの数の初期設定を行い、プロセッサ毎
また各サイクル毎に処理を行なう(S20〜S23)。
そして、各プロセッサ21に関するログデータを順に検
索し、例えばプロセッサP番のログデータにおけるサイ
クルC番中に出現する命令名(RName )を読出し(S2
4)、このときシンボルテーブル38中に命令名がすで
に登録されているいるかどうかを調べる(S25)。こ
のとき命令名が始めて出現するものであれば、識別可能
なID例えば整数の「1」を命令IDとして命令名と
「1」とを対応させてシンボルテーブル38に登録する
(S26)。
Next, the procedure for creating the symbol table 38 created by the symbol table creating section 35 will be described with reference to the flowchart of FIG. This symbol table 3
8 is a table showing the correspondence between the instruction name and the instruction ID in which the instruction name is associated with a predetermined code as shown in FIG. At the time of creation, first, the number of processors 21 and the number of total cycles are initialized, and processing is performed for each processor and for each cycle (S20 to S23).
Then, the log data relating to each processor 21 is sequentially searched, and, for example, the instruction name (RName) appearing in the cycle C in the log data of the processor P is read (S2
4) At this time, it is checked whether the instruction name is already registered in the symbol table 38 (S25). At this time, if the instruction name appears for the first time, the identifiable ID, for example, the integer "1" is used as the instruction ID, and the instruction name and "1" are associated and registered in the symbol table 38 (S26).

【0035】さらに、上記シンボルテーブル37の作成
と同時に、変換部33において、ログデータから上記命
令名の実行回数Rを読出しこの実行回数Rとそれまでの
実行回数の最大値Maxとを比較し大きいほうの数値を
Maxに代入(S27)しておくことで、この実行回数
の内から最大値Maxを検出する。なお、実現に際して
はインデックステーブル中、第2要素以降の数値の総出
現命令数(RutinNum)をまずカウントし、長さがRutinN
um×2+1 のテーブルを作成する。そして第0要素にRuti
nNumを登録し、第1要素から2要素ずつ命令名と命令I
Dを対応付けて登録する。
Further, at the same time as the creation of the symbol table 37, the conversion unit 33 reads the execution count R of the instruction name from the log data and compares the execution count R with the maximum value Max of the execution counts up to that time, which is larger. The maximum value Max is detected from the number of executions by substituting the numerical value of the one for Max (S27). Note that when implementing, the total number of appearance instructions (RutinNum) of the second and subsequent elements in the index table is counted first, and the length is RutinN.
Create a um × 2 + 1 table. And Ruti as the 0th element
Register nNum, and the instruction name and instruction I for each two elements from the first element
Register D in association.

【0036】次に、登録部36において作成されるデー
タテーブル39の作成手順を図13のフローチャートに
基づいて説明する。まずこのデータテーブル39の作成
に際して、初期設定部32において実行回数の最大値及
び各実行回数の最大値に対する比率を何段階(N)で示
すかを指定する(S30)。図12はこのデータ部の一
例を示したものであり、ここで第0要素には先ほど検出
した最大値Maxを登録し、また第1要素にはNを登録
する(S31)。そして、各プロセッサ21の各サイク
ル毎に(S32〜S34)ログデータを検索し、出現す
る命令名RNameを読出す(S35)。また、シンボルテ
ーブル38を参照し上記命令名に対応する命令IDを読
出し、これをデータテーブル39のデータ部に登録する
(S36)。また、出現する実行回数Rの最大値Max
に対する比率Ratio (相対値)を次の(式1)、 Ratio = R × N / Max (式1) で算出し、データ部の次の要素に登録し(S37)、こ
れをすべてのプロセッサの各サイクルについて行う(S
38〜S40)。そして、実行回数は指定された段階に
まるめられるので、例えば10段階という指定であれば1
〜10の数字で表される。
Next, the procedure for creating the data table 39 created by the registration unit 36 will be described with reference to the flowchart of FIG. First, when creating the data table 39, the initial setting unit 32 specifies the maximum value of the number of executions and the number of stages (N) indicating the ratio of the number of executions to the maximum value (S30). FIG. 12 shows an example of this data part. Here, the maximum value Max detected previously is registered in the 0th element, and N is registered in the first element (S31). Then, the log data is searched for each cycle of each processor 21 (S32 to S34), and the appearing instruction name RName is read (S35). Further, referring to the symbol table 38, the instruction ID corresponding to the above instruction name is read and registered in the data section of the data table 39 (S36). Also, the maximum value Max of the number of executions R that appears appears
The ratio Ratio (relative value) to is calculated by the following (Equation 1) and Ratio = R × N / Max (Equation 1), and registered in the next element of the data section (S37), and this is calculated for each processor. Do about cycle (S
38-S40). Since the number of executions is rounded up to the specified step, if you specify 10 steps, for example, 1
Represented by the numbers ~ 10.

【0037】図14は、最大値が1249、段階が10である
場合のログデータ(図5参照)の圧縮例を示したもので
ある。このログデータにおいて、プロセッサ0番のサイ
クル1番での命令を見ると命令名はafter-rewrite-arg
であるので、インデックステーブルを参照してafter-re
write-arg に対応する命令ID1を得て、これをデータ
部第1要素に登録する。一方、after-rewrite-arg の実
行回数は621 であるので、これを上記(式1)に代入す
ると、 Ratio =621 ×10/ 1249 =4.9 であるため、これを四捨五入して得られる「5」をデー
タ部第2要素に登録する。同様にそれ以降出現する命令
について処理を行なう。以上のようにしてデータ部にロ
グデータを圧縮した圧縮データが作成され、これらの圧
縮データが記憶部の所定の記憶領域に記憶される。この
後、圧縮データを読み出して復元し、これを解析して並
列処理システムの性能評価を行う。
FIG. 14 shows an example of compression of log data (see FIG. 5) when the maximum value is 1249 and the step is 10. In this log data, if you look at the instruction at cycle 1 of processor 0, the instruction name is after-rewrite-arg
So after-re referencing the index table
The command ID1 corresponding to write-arg is obtained and registered in the first element of the data section. On the other hand, the number of executions of after-rewrite-arg is 621, so when substituting this into (Equation 1) above, Ratio = 621 x 10/1249 = 4.9, so this is rounded off to obtain "5". Is registered in the second element of the data section. Similarly, processing is performed for the instructions that appear thereafter. As described above, compressed data is created by compressing log data in the data section, and these compressed data are stored in a predetermined storage area of the storage section. After that, the compressed data is read and restored, and this is analyzed to evaluate the performance of the parallel processing system.

【0038】さて、ここで上記圧縮データを復元する処
理について説明する。上記で示した圧縮データを利用す
る場合、インデックステーブル37を参照することによ
って、データテーブル39のデータ部の数字の列から何
要素目に希望するデータが登録されているかがわかる。
図15は、プロセッサ番号が(Processor )番で、サイ
クル番号がC番のデータの復元手順を示したものであ
る。まず、インデックステーブル37を参照し、総プロ
セッサ台数PE及び総サイクル数Cycle を読出す(S5
0)。そして、第2要素から第Cycle ×Processor +C
要素までの値を加算し、この合計Skip Countを得る(S
51)。また、プロセッサProcessor 番におけるサイク
ルC番中に出現した命令の種類Rnumを、インデックステ
ーブルの第Cycle ×Processor +C+1要素から読出す
(S52)。次に、上記Rnumに基づきデータテーブル3
9を参照して命令名及び実行回数を読出す(S54〜S
60)。まずデータテーブル39から第SkipCount 要素
を読出し(S56)、この値は命令IDであるためシン
ボルテーブル38を参照して対応する命令名に復元する
(S57)。更に、次の要素の値Rを読出し(S5
8)、これは最大値MaxをN段階で示した場合の比率で
あるので、これから実行回数(R)、 R=Max×R/N を算出して復元する(S59)。このようにして、圧縮
データを読出して復元する処理をRnum回繰り返す(S5
5からS60)。
Now, the process of restoring the compressed data will be described. When using the above-described compressed data, by referring to the index table 37, it is possible to know from which numerical element column of the data portion of the data table 39 the desired data is registered.
FIG. 15 shows a procedure for restoring data whose processor number is (Processor) and whose cycle number is C. First, referring to the index table 37, the total number of processors PE and the total number of cycles Cycle are read (S5).
0). And from the 2nd element to the Cycle x Processor + C
Add the values up to the element and get this total Skip Count (S
51). Further, the instruction type Rnum appearing in the cycle C in the processor Processor is read from the Cycle × Processor + C + 1 element of the index table (S52). Next, based on the above Rnum, data table 3
9 to read the instruction name and the number of executions (S54 to S)
60). First, the SkipCount element is read from the data table 39 (S56), and since this value is the instruction ID, the symbol table 38 is referenced to restore the corresponding instruction name (S57). Further, the value R of the next element is read (S5
8) Since this is the ratio when the maximum value Max is shown in N stages, the number of executions (R) and R = Max × R / N are calculated and restored from this (S59). In this way, the process of reading and restoring the compressed data is repeated Rnum times (S5).
5 to S60).

【0039】ここで具体例として、例えばプロセッサ3
番に着目してどの命令が何回実行されたかを復元する
(図14参照)。まず、インデックステーブル37中の
第2要素から第128 ×3+1 番目までの要素を順に参照
し、読出した数の合計Skip Countを算出する。また、第
128 ×3+2 番目の要素がプロセッサ3番におけるサイク
ル1番での出現命令数RNumである。そして、データテ
ーブル39のデータ部のSkip Count番の要素を読出し、
この要素には命令IDが含まれているため、シンボルテ
ーブル38を参照しこの命令IDに対応する命令名を取
出す。例えば、IDが3であれば命令名はunify である
(図10参照)。また、次の要素に含まれる数値は最大
値1249を10段階で示した場合の比率である。例えばこれ
が6であれば実際の実行回数は1249×6/10=749.4 とな
る。
Here, as a concrete example, for example, the processor 3
Paying attention to the number, which instruction is executed many times is restored (see FIG. 14). First, the total Skip Count of the read numbers is calculated by sequentially referring to the second element to the 128 × 3 + 1th element in the index table 37. Also,
The 128 × 3 + 2th element is the number of appearing instructions RNum in cycle 1 in processor 3. Then, the Skip Count element of the data part of the data table 39 is read,
Since this element includes the instruction ID, the symbol table 38 is referred to retrieve the instruction name corresponding to this instruction ID. For example, if the ID is 3, the instruction name is unify (see FIG. 10). The numerical values included in the following elements are ratios when the maximum value 1249 is shown in 10 steps. For example, if this is 6, the actual number of executions is 1249 × 6/10 = 749.4.

【0040】このようにしてサイクル1番の命令実行回
数を出現個数RNum分同様に処理する。さらにサイクル
2〜128について同様に処理することで、プロセッサ
3番における命令実行の様子を解析するためのログデー
タを復元することができる。次に、第2の圧縮装置25
について説明する。この圧縮装置25は図4に示すよう
に、初期設定部41と、命令の実行回数を相対値に変換
する変換部42と、命令名及びこの相対値を命令テーブ
ル44に登録する命令テーブル登録部43と、記憶部4
0とを備え、この記憶部40は上記命令テーブル44を
有している。
In this way, the instruction execution count of cycle 1 is processed in the same manner as the number of appearances RNum. Further, by performing the same processing for cycles 2 to 128, it is possible to restore the log data for analyzing the instruction execution state in the processor No. 3. Next, the second compression device 25
Will be described. As shown in FIG. 4, the compression device 25 includes an initial setting unit 41, a conversion unit 42 for converting the number of executions of an instruction into a relative value, an instruction table registration unit for registering an instruction name and this relative value in an instruction table 44. 43 and the storage unit 4
0 and the storage unit 40 has the instruction table 44.

【0041】この装置で用いられる命令テーブル44
は、出現命令総数×(1+総プロセッサ台数PE×総サ
イクル数Cycle)+4のデータ例からなっている。この
命令テーブル44は、命令別にデータを保持するもので
あり、このため上記第1の圧縮装置31で示したシンボ
ルテーブル38およびインデックステーブル37は必要
としない。そしてこの命令テーブル44は、命令名別に
総プロセッサ台数×総サイクル数のデータ領域が確保さ
れ、ここに当該命令がプロセッサp番のサイクルc番に
おいて何回実行されたかを登録するものである。
The instruction table 44 used in this apparatus
Is a data example of the total number of appearing instructions × (1 + total number of processors PE × total number of cycles Cycle) +4. The instruction table 44 holds data for each instruction, and therefore the symbol table 38 and the index table 37 shown in the first compression device 31 are not required. In the instruction table 44, a data area of the total number of processors × total number of cycles is secured for each instruction name, and the number of times the instruction is executed in the cycle c of the processor p is registered therein.

【0042】ここで、図17のフローチャートに基づ
き、上記第2の圧縮装置25における命令テーブルの作
成手順を説明する。最初、初期設定部41において、プ
ロセッサ21の台数を調べ、更に所定のプロセッサ21
に関するログデータを参照することにより総サイクル数
を求める。そして、全プロセッサ21に関するログデー
タを検索して実行された命令名が何種類あるかを調べ、
同時に、一のサイクルで出現する命令の実行回数を調べ
これの最大実行回数(最大値Max)を求め、また、外部
から入力するデータとして、実行回数の最大値に対する
各実行回数の比率を表すためこの最大値を何段階(N)
で表すかを指定する(S70)。
Now, the procedure for creating the instruction table in the second compression device 25 will be described with reference to the flowchart of FIG. First, in the initial setting section 41, the number of processors 21 is checked, and further the predetermined processors 21
The total number of cycles is obtained by referring to the log data regarding. Then, the log data regarding all the processors 21 is searched to find out how many kinds of instruction names are executed,
At the same time, the maximum number of executions (maximum value Max) of the number of executions of an instruction that appears in one cycle is determined, and the ratio of each number of executions to the maximum value of the number of executions is expressed as externally input data. How many steps (N) this maximum value is
Is designated (S70).

【0043】このようにして、命令テーブル44として
図16に示すような各命令名毎に総プロセッサ台数PE
×総サイクル数Cycleの一定のデータ領域をもつテーブ
ルを作成する。そして、命令テーブル44の第0要素に
は総プロセッサ台数PE、第1要素には総サイクル数C
ycle、第2要素には最大値Max、第3要素には段階を表
すNを登録し、またデータ部は「0」で初期化する(S
71)。
In this way, the total number of processors PE for each instruction name as shown in FIG.
× Create a table with a constant data area of the total number of cycles, Cycle. The zeroth element of the instruction table 44 is the total number of processors PE, and the first element is the total number of cycles C.
ycle, the maximum value Max is registered in the second element, N representing the stage is registered in the third element, and the data part is initialized to "0" (S).
71).

【0044】以上の初期化が終了すれば、命令テーブル
登録部43において、各プロセッサ毎に保持されている
ログデータを順に検索して出現する命令名(RName )を
読出す(S75)。そして、命令名が始めて出現するも
のであれば(S76)、命令テーブル44にこの命令名
を登録する(S77)。また、この命令の実行回数Rを
読出し、変換部42において実行回数Rの最大値Maxに
対する比率を次の式、 Ratio=R×N/Max で算出する。そして、このログデータがプロセッサ番号
P、サイクル番号Cのものであれば上記命令名に対応す
るデータ領域のP×Cycle+C要素の位置に登録する
(S78)。このようにして、ログデータを読出して命
令テーブル44の所定の位置に登録する処理を全てのプ
ロセッサの各サイクルについて行う(S72〜S8
0)。
When the above initialization is completed, the instruction table registration unit 43 sequentially searches the log data held for each processor and reads the appearing instruction name (RName) (S75). If the command name appears for the first time (S76), this command name is registered in the command table 44 (S77). Further, the execution count R of this command is read out, and the conversion unit 42 calculates the ratio of the execution count R to the maximum value Max by the following formula: Ratio = R × N / Max. If the log data has the processor number P and the cycle number C, the log data is registered at the position of P × Cycle + C element in the data area corresponding to the instruction name (S78). In this way, the process of reading the log data and registering it at a predetermined position in the instruction table 44 is performed for each cycle of all the processors (S72 to S8).
0).

【0045】ここで、図5に示すログデータに基づいて
命令テーブル44を作成した場合の具体例を示す。な
お、このときMax=1249、N=10とする。まずプロセッ
サ1番でサイクル1の命令を調べると、命令名はafter-
rewrite-arg であるのでこの命令名が初めて出現したも
のである場合はこれを命令テーブル44に登録する。ま
た、このafter-rewrite-arg の実行回数は621 であるの
でこれから上記Ratioを求めると、621 ×10/1249 =4.
9 となり、これを四捨五入して得られる「5」を対応す
るデータ部の最初の要素に登録する。同様にして、それ
以降出現する命令について処理を行なう。また、あらか
じめ全てのデータ部には「0」が代入されているため、
命令が出現しなかったプロセッサ番号、サイクル番号に
ついての要素は「0」となる。以上のように図16に示
す命令テーブル44が作成される。
Here, a concrete example of the case where the instruction table 44 is created based on the log data shown in FIG. 5 will be shown. At this time, Max = 1249 and N = 10. First of all, when the instruction of cycle 1 is checked by the processor 1, the instruction name is after-
Since this is rewrite-arg, if this command name appears for the first time, it is registered in the command table 44. Also, the number of times this after-rewrite-arg is executed is 621, so if you calculate the Ratio from this, 621 × 10/1249 = 4.
It becomes 9, and "5" obtained by rounding off this is registered in the first element of the corresponding data part. Similarly, processing is performed for the instructions that appear thereafter. In addition, since "0" is assigned to all data parts in advance,
The elements for the processor number and the cycle number where the instruction does not appear are “0”. As described above, the instruction table 44 shown in FIG. 16 is created.

【0046】ところで、命令が各プロセッサ21の各サ
イクル毎にほぼ均等に出現している場合には第2の圧縮
装置25を用い、この圧縮装置25で命令テーブルを作
成してログデータを圧縮する方が効果的に記憶領域が削
減できる。一方、各プロセッサ21の各サイクル毎の命
令の出現回数にばらつきがある場合には第1の圧縮装置
24を用いるのが効果的である。この場合、第2の圧縮
装置25では命令名ごとに総プロセッサ台数×総サイク
ル数の領域をあらかじめ用意するため、データ部に
「0」が登録されたままの無駄な領域が増えてしまうか
らである。
By the way, when the instructions appear substantially evenly in each cycle of each processor 21, the second compression device 25 is used, and the compression device 25 creates an instruction table to compress the log data. The storage area can be reduced more effectively. On the other hand, it is effective to use the first compression device 24 when the number of times the instructions of each processor 21 appear in each cycle varies. In this case, the second compression device 25 prepares an area of the total number of processors × total number of cycles for each instruction name in advance, so that a wasteful area in which “0” is registered in the data section increases. is there.

【0047】上記ばらつきの尺度として、ログデータを
図18に示すように時間に関する分布を示すグラフにし
たものを用いる。これは、サイクル番号をx軸、出現命
令個数をy軸としたグラフで表したものである。また、
プロセッサ21に関する分布も同様に、プロセッサ番号
をx軸、出現命令個数をy軸としたグラフで表される。
この場合、図18(b)に示すような分布にばらつきの
あるグラフに比べ、全体を通して命令が均一に出現して
いる図18(a)に示すばらつきのないグラフで表され
る分布を示すログデータについては、これを圧縮する際
には第2の圧縮装置25を用いるのがよい。また、図1
8に示すグラフでばらつきを判断するには、x軸とグラ
フとで囲まれた部分の面積Sが、グラフの最大命令出現
数×サイクル数(またはプロセッサ台数)で計算される
理想面積Tに近いほどばらつきがないといえる。
As a measure of the above-mentioned variation, a log data graph shown in FIG. 18 showing a distribution with respect to time is used. This is a graph in which the cycle number is on the x-axis and the number of appearing instructions is on the y-axis. Also,
Similarly, the distribution regarding the processor 21 is also represented by a graph with the processor number as the x-axis and the number of appearing instructions as the y-axis.
In this case, the log showing the distribution represented by the graph with no variation shown in FIG. 18A in which the instructions appear uniformly throughout the whole, compared to the graph with variation in the distribution shown in FIG. 18B. For the data, it is preferable to use the second compression device 25 when compressing the data. Also, FIG.
To determine the variation in the graph shown in FIG. 8, the area S of the portion surrounded by the x-axis and the graph is close to the ideal area T calculated by the maximum number of instruction occurrences in the graph × the number of cycles (or the number of processors). It can be said that there is not much variation.

【0048】ここで、上述した第1の圧縮装置24及び
第2の圧縮装置25の両方の圧縮装置の内から効果的に
記憶領域が削減できる装置を選択する圧縮選択装置23
について説明する。この装置は、図4に示すように、初
期設定部50と、出現命令個数の分布を示すグラフに囲
まれる部分の面積を求める実面積算出部47と、出現命
令個数の最大値に基づくグラフの面積を求める理想面積
算出部48と、これらの両面積を比較して圧縮装置2
4,25の選択を行う比較選択部49とを有している。
Here, the compression selection device 23 that selects a device that can effectively reduce the storage area from the compression devices of both the first compression device 24 and the second compression device 25 described above.
Will be described. This apparatus, as shown in FIG. 4, has an initial setting unit 50, an actual area calculation unit 47 for obtaining the area of a portion surrounded by a graph showing the distribution of the number of appearing instructions, and a graph based on the maximum value of the number of appearing instructions. The ideal area calculation unit 48 for obtaining the area is compared with the both areas and the compression device 2
It has a comparison and selection section 49 for selecting 4, 25.

【0049】次に、上記圧縮選択装置23の処理を、図
19のフローチャートに基づき説明する。最初に、初期
設定部50においてしきい値Limit (例えば0.5 )及び
総サイクル数Cycle を設定する(S90)。そして、理
想面積算出部48においてサイクル毎の出現命令数を数
え(S91)、全サイクルの内から最大出現命令数Mを
調べ、これから理想面積Tを次式、 理想面積T=M×Cycle に基づいて求める(S92)。
Next, the processing of the compression selection device 23 will be described with reference to the flowchart of FIG. First, the threshold value Limit (for example, 0.5) and the total cycle number Cycle are set in the initial setting unit 50 (S90). Then, the ideal area calculation unit 48 counts the number of appearing instructions for each cycle (S91), and checks the maximum number of appearing instructions M from all the cycles. From this, the ideal area T is calculated based on the following equation: ideal area T = M × Cycle (S92).

【0050】また、実面積算出部47において実面積S
を求め、この実面積Sは各サイクル(あるいは各プロセ
ッサ)i 上での出現命令数をFiとすると、次式で近似で
きるので次式、 実面積S=(F1 +2 ×F2+2 ×F3・・・+2 ×Fn-1+F
n)/2 に各Fiの値を代入して計算する(S93)。
Further, the actual area S is calculated by the actual area calculation unit 47.
This real area S can be approximated by the following equation, where Fi is the number of instructions that appear on each cycle (or each processor) i. Therefore, the real area S = (F1 + 2 × F2 + 2 × F3 ... +2 x Fn-1 + F
The value of each Fi is substituted into n) / 2 for calculation (S93).

【0051】そして、比較選択部49において上記で求
めた実面積Sと理想面積Tとの比較を行ない、この結果
S/Tがしきい値Limiat(例えば0.5)よりも大きい
場合には第1の圧縮装置24を選択し、そうでなければ
第2の圧縮装置25を選択して(S94〜S96)、選
択された圧縮装置を用いて圧縮を行なう。またプロセッ
サに関する分布に基づいて圧縮装置を選択する場合に
も、上記と同様にしてプロセッサ関するばらつきを算出
し、圧縮装置を選択する。
Then, the comparison / selection unit 49 compares the real area S obtained above with the ideal area T, and if the result S / T is larger than the threshold value Limiat (for example, 0.5), then The first compression device 24 is selected, and if not, the second compression device 25 is selected (S94 to S96), and compression is performed using the selected compression device. Also, when the compression device is selected based on the distribution regarding the processor, the variation regarding the processor is calculated in the same manner as above, and the compression device is selected.

【0052】従って、本実施例に係るログデータ圧縮装
置によれば、複数の中央処理装置部に負荷を分散して処
理を行う並列処理システムの性能評価のため収集され複
数の各中央処理装置部で実行される命令数を収集したロ
グデータを、上記第1の圧縮装置24又は第2の圧縮装
置25を用いて圧縮するようにしたから、この圧縮後の
ログデータを記憶する記憶領域が大幅に削減され、この
記憶領域の節約を図ることができるといった効果があ
る。
Therefore, according to the log data compression apparatus of this embodiment, a plurality of central processing units are collected for performance evaluation of a parallel processing system in which loads are distributed to a plurality of central processing units. Since the log data in which the number of instructions executed in step 1 is collected is compressed using the first compression device 24 or the second compression device 25, the storage area for storing the compressed log data is significantly large. The effect is that this storage area can be saved.

【0053】さらに、圧縮選択装置23を設け、各中央
処理装置部における実行命令数の分布に基づいて圧縮装
置を選択するようにしたから、より圧縮効果の期待でき
る圧縮装置を選択することができより効果的に記憶領域
の節約を図ることができるといった効果がある。
Further, since the compression selection device 23 is provided and the compression device is selected based on the distribution of the number of execution instructions in each central processing unit, it is possible to select the compression device which is expected to have a higher compression effect. There is an effect that the storage area can be saved more effectively.

【0054】[0054]

【発明の効果】以上説明したように、本発明のログデー
タ圧縮装置に係る第1の手段では、各中央処理装置部1
i に関して収集されたログデータ2i を圧縮する圧縮装
置に、一定時間に実行した命令の種類が登録されるイン
デックステーブル8を作成するインデックステーブル作
成手段4と、命令名及びこれに対応させた識別コードが
登録されるシンボルテーブル10を作成するシンボルテ
ーブル作成手段5と、命令の実行回数の最大値を所定の
比率で縮小して相対値を設定し、他の実行回数について
はこれと同じ比率の相対値に変換する変換手段6と、上
記ログデータ2iから命令名及びこの実行回数を順次読
出すと共に、上記シンボルテーブル10から求めたこの
命令名に対する識別コード及びこの上記変換手段6で変
換した実行回数に対する相対値を、データテーブル9の
所定の登録位置に登録する登録手段7とを有する構成を
採用したから、圧縮後のログデータを記憶する記憶領域
が削減され記憶領域の節約を図ることができるといった
効果がある。
As described above, according to the first means of the log data compression apparatus of the present invention, each central processing unit 1 is used.
Index table creating means 4 for creating an index table 8 in which a type of an instruction executed at a fixed time is registered in a compression device for compressing the log data 2i collected for i, an instruction name and an identification code corresponding to the instruction name. The symbol table creating means 5 for creating the symbol table 10 in which is registered, and the relative value is set by reducing the maximum value of the number of times of execution of the instruction at a predetermined ratio, and the other ratio of execution is the same as the relative ratio. The conversion means 6 for converting into a value, the instruction name and the number of executions thereof are sequentially read from the log data 2i, the identification code for the instruction name obtained from the symbol table 10 and the number of executions converted by the conversion means 6 are obtained. Since the configuration having the registration means 7 for registering the relative value with respect to the predetermined registration position of the data table 9 is adopted, compression is performed. Storage area for storing log data is effective such can be reduced achieving savings of the storage area of the.

【0055】また、第2の手段における圧縮装置は、上
記変換手段6と、命令名毎に一定の保持領域を確保する
と共に、この保持領域には上記各中央処理装置部1i 毎
にかつ上記一定時間毎における命令の実行回数が登録さ
れる命令テーブル12を設け、上記ログデータ2i から
命令名及びこの実行回数を順次読出すと共に、この実行
回数を上記変換手段6で相対値に変換したものを、この
命令名に対応する上記命令テーブル12の保持領域内の
所定の登録位置に登録する命令テーブル登録手段11と
を有する構成を採用したから、圧縮後のログデータを記
憶する記憶領域が削減され記憶領域の節約を図ることが
できるといった効果がある。
Further, the compression device in the second means secures a constant holding area for each of the command names and the converting means 6, and this holding area is provided for each of the central processing unit sections 1i and the constant area. An instruction table 12 in which the number of executions of instructions at each time is registered is provided, and the instruction name and the number of executions are sequentially read from the log data 2i, and the number of executions is converted into a relative value by the conversion means 6. Since the command table registration means 11 for registering the command name at a predetermined registration position in the holding area of the command table 12 corresponding to the command name is adopted, the storage area for storing the compressed log data is reduced. There is an effect that the storage area can be saved.

【0056】第3の手段では、本発明に係るログデータ
圧縮装置に、上記一定の時間間隔毎の各一定時間の単位
に番号を付与したものをX軸、これら各一定時間におけ
る命令の実行回数をY軸としたグラフ及びX軸及びグラ
フの左右両端のY軸との平行線とで囲まれる部分の面積
と、この命令の実行回数の最大値を含むX軸と平行なグ
ラフ及びX軸及びグラフの左右両端のY軸との平行線と
で囲まれる部分の面積とを比較したときに、前者の面積
が後者の面積に比べて所定の比率よりも大であれば上記
第2の手段に係る圧縮装置を用い、そうでなければ上記
第1の手段に係る圧縮装置を用いることを選択する選択
手段3を設けた構成を採用し、各サイクルにおける実行
命令数の分布に基づいて、圧縮装置を選択するようにし
たから、より効果的にログデータの圧縮が行え記憶領域
の節約が図れるといった効果がある。
In the third means, the log data compressing apparatus according to the present invention is provided with a number assigned to each unit of each fixed time interval at the above fixed time interval on the X axis, and the number of executions of an instruction in each of these fixed time intervals. , Which is the Y axis, and the area enclosed by the X axis and the parallel lines to the Y axis at the left and right ends of the graph, and the graph including the maximum number of executions of this instruction and the X axis, When the area of the part surrounded by the lines parallel to the Y axis at the left and right ends of the graph is compared with the area of the latter compared with the area of the latter by a predetermined ratio or more, the second means is used. A configuration is provided in which a selection unit 3 that selects the use of the compression device according to the first means otherwise is used, and the compression device is based on the distribution of the number of execution instructions in each cycle. Since I chose to select An effect such log data compression can save storage space can be reduced to.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の原理構成図である。FIG. 1 is a principle configuration diagram of the present invention.

【図2】本発明の実施例に係るログデータ圧縮装置の構
成図である。
FIG. 2 is a configuration diagram of a log data compression device according to an embodiment of the present invention.

【図3】本発明の実施例に係るログデータ圧縮装置の動
作を示すフローチャートである。
FIG. 3 is a flowchart showing an operation of the log data compression device according to the exemplary embodiment of the present invention.

【図4】実施例に係る圧縮装置及び圧縮選択装置の構成
図である。
FIG. 4 is a configuration diagram of a compression device and a compression selection device according to an embodiment.

【図5】並列システム実行後における各プロセッサで収
集されたログデータの例を示す図である。
FIG. 5 is a diagram showing an example of log data collected by each processor after execution of a parallel system.

【図6】ログデータの記憶状態の例を示す図である。FIG. 6 is a diagram showing an example of a storage state of log data.

【図7】ログデータの圧縮後のデータの形態を示す図で
ある。
FIG. 7 is a diagram showing a form of data after compression of log data.

【図8】インデックステーブルを示す図である。FIG. 8 is a diagram showing an index table.

【図9】インデックステーブルの作成の手順を示すフロ
ーチャートである。
FIG. 9 is a flowchart showing a procedure for creating an index table.

【図10】シンボルテーブルを示す図である。FIG. 10 is a diagram showing a symbol table.

【図11】シンボルテーブルの作成手順を示すフローチ
ャートである。
FIG. 11 is a flowchart showing a procedure for creating a symbol table.

【図12】データテーブルの例を示す図である。FIG. 12 is a diagram showing an example of a data table.

【図13】データテーブルの作成手順を示すフローチャ
ートである。
FIG. 13 is a flowchart showing a procedure for creating a data table.

【図14】ログデータを圧縮して作成したテーブルの例
を示す図である。
FIG. 14 is a diagram showing an example of a table created by compressing log data.

【図15】データテーブルからログデータを復元する手
順を示すフローチャートである。
FIG. 15 is a flowchart showing a procedure for restoring log data from a data table.

【図16】命令テーブルの例を示す図である。FIG. 16 is a diagram showing an example of an instruction table.

【図17】命令テーブルの作成手順を示すフローチャー
トである。
FIG. 17 is a flowchart showing a procedure for creating an instruction table.

【図18】実行命令数のばらつきの分布を示すグラフで
ある。
FIG. 18 is a graph showing a distribution of variations in the number of execution instructions.

【図19】圧縮選択装置の動作を示すフローチャートで
ある。
FIG. 19 is a flowchart showing the operation of the compression selection device.

【図20】UNIXの下でのログデータの例を示す図で
ある。
FIG. 20 is a diagram showing an example of log data under UNIX.

【符号の説明】[Explanation of symbols]

1,21 中央処理装置部(プロセッサ) 2,22 ログデータ(ログデータ抽出部) 3,23 選択手段(圧縮選択装置) 4,34 インデックステーブル作成手段(インデック
ステーブル作成部) 5,35 シンボルテーブル作成手段(シンボルテーブ
ル作成部) 6,33,42 変換手段(変換部) 7,36 登録手段(登録部) 8,37 インデックステーブル 9,39 データテーブル 10,38 シンボルテーブル 11,43 命令テーブル登録手段(命令テーブル登録
部) 12,44 命令テーブル
1, 21 Central processing unit (processor) 2, 22 Log data (log data extraction unit) 3, 23 Selection means (compression selection device) 4, 34 Index table creation means (index table creation unit) 5, 35 Symbol table creation Means (symbol table creation unit) 6,33,42 Conversion means (conversion unit) 7,36 Registration means (registration unit) 8,37 Index table 9,39 Data table 10,38 Symbol table 11,43 Instruction table registration means ( Instruction table registration unit) 12,44 Instruction table

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 複数の中央処理装置部(1i ;i=1,2
〜)に負荷を分散して処理を行う並列処理システムにお
ける性能評価のために、各中央処理装置部(1i )毎に
収集され、一定の時間間隔毎に各中央処理装置部(1i
)がこの一定時間内に実行した各種命令の実行回数を
記録したログデータ(2i ;i=1,2 〜)を用い、このロ
グデータを圧縮すると共に所定の記憶領域に格納する圧
縮装置を備えたログデータ圧縮装置であって、 上記圧縮装置は、 上記ログデータ(2i )に基づき、各中央処理装置部
(1i )が上記一定時間に実行した命令の種類が各中央
処理装置部(1i )毎にかつ各一定時間毎に登録される
インデックステーブル(8)を作成するインデックステ
ーブル作成手段(4)と、 上記ログデータ(2i )に含まれる命令名及びこの命令
名に対応させた所定の識別コードが登録されるシンボル
テーブル(10)を作成するシンボルテーブル作成手段
(5)と、 上記一定時間内に実行した一の種類の命令の実行回数の
最大値を調べ、この最大値を所定の比率で縮小して相対
値を設定し、他の実行回数についてはこれと同じ比率の
相対値に変換する変換手段(6)と、 上記ログデータ(2i )から命令名及びこの実行回数を
順次読出すと共に、上記シンボルテーブル(10)から
求めたこの命令名に対する識別コード及び上記変換手段
(6)で変換した実行回数に対する相対値を、上記イン
デックステーブル(8)に基づいて決定されるデータテ
ーブル(9)の所定の登録位置に登録する登録手段
(7)とを有することを特徴とするログデータ圧縮装
置。
1. A plurality of central processing units (1i; i = 1,2)
To) are collected for each central processing unit (1i) for performance evaluation in a parallel processing system in which the load is distributed to each central processing unit (1i).
) Uses log data (2i; i = 1,2 ...) that records the number of executions of various instructions executed within this fixed time, and has a compression device that compresses this log data and stores it in a predetermined storage area. The log data compressing device according to claim 1, wherein the compressing device is such that, based on the log data (2i), the type of instruction executed by each central processing unit (1i) at the certain time is each central processing unit (1i). Index table creating means (4) for creating an index table (8) registered for each and every fixed time, an instruction name included in the log data (2i) and a predetermined identification corresponding to the instruction name. A symbol table creating means (5) for creating a symbol table (10) in which codes are registered, and a maximum value of the number of times of execution of one type of instruction executed within the fixed time are examined, and this maximum value is set to a predetermined value. The conversion means (6) is used to reduce the ratio and set the relative value, and to convert the other execution times into relative values of the same ratio, and the instruction name and the execution times are sequentially read from the log data (2i). At the same time, the identification code for this instruction name obtained from the symbol table (10) and the relative value for the number of executions converted by the conversion means (6) are determined based on the index table (8). 9. A log data compression device comprising: a registration means (7) for registering at a predetermined registration position of 9).
【請求項2】 複数の中央処理装置部(1i ;i=1,2
〜)に負荷を分散して処理を行う並列処理システムにお
ける性能評価のために、各中央処理装置部(1i )毎に
収集され、一定の時間間隔毎に各中央処理装置部(1i
)がこの一定時間内に実行した各種命令の実行回数を
記録したログデータ(2i ;i=1,2 〜)を用い、このロ
グデータを圧縮すると共に所定の記憶領域に格納する圧
縮装置を備えたログデータ圧縮装置であって、 上記圧縮装置は、 上記一定時間内に実行した一の種類の命令の実行回数の
最大値を調べ、この最大値を所定の比率で縮小して相対
値を設定し、他の実行回数についてはこれと同じ比率の
相対値に変換する変換手段(6)と、 上記命令名毎に一定の保持領域を確保すると共に、この
保持領域には上記各中央処理装置部(1i )毎にかつ上
記一定時間毎における命令の実行回数が登録される命令
テーブル(12)を設け、 上記ログデータ(2i )から命令名及びこの実行回数を
順次読出すと共に、この実行回数を上記変換手段(6)
で相対値に変換したものを、この命令名に対応する上記
命令テーブル(12)の保持領域内の所定の登録位置に
登録する命令テーブル登録手段(11)とを有すること
を特徴とするログデータ圧縮装置。
2. A plurality of central processing units (1i; i = 1,2)
To) are collected for each central processing unit (1i) for performance evaluation in a parallel processing system in which the load is distributed to each central processing unit (1i).
) Uses log data (2i; i = 1,2 ...) that records the number of executions of various instructions executed within this fixed time, and has a compression device that compresses this log data and stores it in a predetermined storage area. The log data compression apparatus, wherein the compression apparatus examines the maximum value of the number of executions of one type of instruction executed within the fixed time, reduces the maximum value by a predetermined ratio, and sets a relative value. However, for other execution times, a conversion means (6) for converting into a relative value of the same ratio as this, and a fixed holding area for each instruction name are secured, and in the holding area, each of the central processing units An instruction table (12) in which the number of executions of an instruction is registered for each (1i) and for each fixed time is provided. The instruction name and the number of executions are sequentially read from the log data (2i), and the number of executions is also read. The conversion means (6)
Log data characterized by having an instruction table registration means (11) for registering the value converted into a relative value at a predetermined registration position in the holding area of the instruction table (12) corresponding to this instruction name. Compressor.
【請求項3】 複数の中央処理装置部(1i ;i=1,2
〜)に負荷を分散して処理を行う並列処理システムにお
ける性能評価のために、各中央処理装置部(1i )毎に
収集され、一定の時間間隔毎に各中央処理装置部(1i
)がこの一定時間内に実行した各種命令の実行回数を
記録したログデータ(2i ;i=1,2 〜)を用い、このロ
グデータを圧縮すると共に所定の記憶領域に格納する圧
縮装置を備えたログデータ圧縮装置であって、 上記一定の時間間隔毎の各一定時間の単位に番号を付与
したものをX軸、これら各一定時間における命令の実行
回数をY軸としたグラフ及びX軸及びこのグラフの左右
両端のY軸とで囲まれる部分の面積と、この命令の実行
回数の最大値を含むX軸と平行なグラフ及びX軸及びこ
のグラフの左右両端のY軸とで囲まれる部分の面積とを
比較し、前者の面積が後者の面積に比べて所定の比率よ
りも大であれば上記請求項2に係る圧縮装置を選択しそ
うでなければ上記請求項1に係る圧縮装置を選択する選
択手段(3)を設けた請求項1及び請求項2記載のログ
データ圧縮装置。
3. A plurality of central processing units (1i; i = 1,2)
To) are collected for each central processing unit (1i) for performance evaluation in a parallel processing system in which the load is distributed to each central processing unit (1i).
) Uses log data (2i; i = 1,2 ...) that records the number of executions of various instructions executed within this fixed time, and has a compression device that compresses this log data and stores it in a predetermined storage area. In the log data compression device, a number is given to each fixed time unit at each fixed time interval as the X axis, and a graph with the Y axis representing the number of executions of instructions at each of these fixed times, the X axis, and The area of the part surrounded by the Y-axes at the left and right ends of this graph, the graph parallel to the X-axis containing the maximum number of executions of this instruction, and the part surrounded by the X-axis and the Y-axes at the left and right ends of this graph. The area of the former is larger than the area of the latter by a predetermined ratio or more, and the compressor according to claim 2 is selected. Otherwise, the compressor according to claim 1 is selected. The selection means (3) for performing is provided. Fine claim 2 log data compression apparatus as claimed.
JP4174229A 1992-07-01 1992-07-01 Log data compression device Withdrawn JPH0619749A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4174229A JPH0619749A (en) 1992-07-01 1992-07-01 Log data compression device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4174229A JPH0619749A (en) 1992-07-01 1992-07-01 Log data compression device

Publications (1)

Publication Number Publication Date
JPH0619749A true JPH0619749A (en) 1994-01-28

Family

ID=15974985

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4174229A Withdrawn JPH0619749A (en) 1992-07-01 1992-07-01 Log data compression device

Country Status (1)

Country Link
JP (1) JPH0619749A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000076161A (en) * 1998-04-03 2000-03-14 Hewlett Packard Co <Hp> Event log method
JP2010147897A (en) * 2008-12-19 2010-07-01 Fuji Xerox Co Ltd Image processing apparatus
JP2012032986A (en) * 2010-07-30 2012-02-16 Fujitsu Ltd Compile method and program
JP2012243269A (en) * 2011-05-24 2012-12-10 Ricoh Co Ltd Image formation device, information processing device, and program
JP2015079474A (en) * 2013-10-18 2015-04-23 ウィンウェイ システムズ,インコーポレイテッドWinway Systems, Inc. Data backup method and system for supporting the same
JP2016151842A (en) * 2015-02-17 2016-08-22 富士通株式会社 Program execution analysis method, information processor and program execution analysis program
CN114724276A (en) * 2022-04-12 2022-07-08 广州文远知行科技有限公司 Processing method, playing method and related equipment of multi-type log data

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000076161A (en) * 1998-04-03 2000-03-14 Hewlett Packard Co <Hp> Event log method
JP2010147897A (en) * 2008-12-19 2010-07-01 Fuji Xerox Co Ltd Image processing apparatus
JP2012032986A (en) * 2010-07-30 2012-02-16 Fujitsu Ltd Compile method and program
JP2012243269A (en) * 2011-05-24 2012-12-10 Ricoh Co Ltd Image formation device, information processing device, and program
JP2015079474A (en) * 2013-10-18 2015-04-23 ウィンウェイ システムズ,インコーポレイテッドWinway Systems, Inc. Data backup method and system for supporting the same
JP2016151842A (en) * 2015-02-17 2016-08-22 富士通株式会社 Program execution analysis method, information processor and program execution analysis program
CN114724276A (en) * 2022-04-12 2022-07-08 广州文远知行科技有限公司 Processing method, playing method and related equipment of multi-type log data
CN114724276B (en) * 2022-04-12 2023-10-24 广州文远知行科技有限公司 Processing method, playing method and related equipment for multi-type log data

Similar Documents

Publication Publication Date Title
JP5298117B2 (en) Data merging in distributed computing
JP5328099B2 (en) Data profiling
US7739662B2 (en) Methods and apparatus to analyze processor systems
EP2609501B1 (en) Dynamic calculation of sample profile reports
JPH0750441B2 (en) Rule-based system management apparatus and method
CN112052138A (en) Service data quality detection method and device, computer equipment and storage medium
US20040015879A1 (en) Method and apparatus for tracing details of a program task
Elshoff A numerical profile of commercial PL/I programs
JPH0619749A (en) Log data compression device
CN110852559A (en) Resource allocation method and device, storage medium and electronic device
US20200249740A1 (en) Methods and devices for power management based on synthetic machine learning benchmarks
Sodhi et al. Automatic construction and evaluation of performance skeletons
CN114510419A (en) Performance analysis programming framework, method and apparatus
Schopf et al. Using stochastic intervals to predict application behavior on contended resources
CN113094353A (en) Database capacity expansion method and device
Toledo PERFSIM: A tool for automatic performance analysis of data-parallel Fortran programs
JP3826602B2 (en) System operation management device
CN111324542B (en) Web application regression test case selection system, method and equipment
Chang et al. Implementation and computational results for the hierarchical algorithm for making sparse matrices sparser
CN117155779A (en) Binding method, storage medium, monitoring terminal and Internet of things system
CN113934765A (en) Data association analysis method, system and storage medium based on member behaviors
Zhang et al. Interpolation calculation made EZ
Meajil et al. A quantitative approach for architecture-invariant parallel workload characterization
JPH06337777A (en) Software resource rearrangement system
CN117112341A (en) Non-invasive quasi-real-time monitoring method and system based on ASM byte code instrumentation

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19991005