JP2006091946A - Computer system for guaranteeing certain response time - Google Patents

Computer system for guaranteeing certain response time Download PDF

Info

Publication number
JP2006091946A
JP2006091946A JP2004272689A JP2004272689A JP2006091946A JP 2006091946 A JP2006091946 A JP 2006091946A JP 2004272689 A JP2004272689 A JP 2004272689A JP 2004272689 A JP2004272689 A JP 2004272689A JP 2006091946 A JP2006091946 A JP 2006091946A
Authority
JP
Japan
Prior art keywords
queue
memory
response time
latency
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004272689A
Other languages
Japanese (ja)
Other versions
JP4407445B2 (en
Inventor
Takeshi Tanaka
剛 田中
Keitaro Uehara
敬太郎 上原
Shiyouki Murakami
祥基 村上
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004272689A priority Critical patent/JP4407445B2/en
Publication of JP2006091946A publication Critical patent/JP2006091946A/en
Application granted granted Critical
Publication of JP4407445B2 publication Critical patent/JP4407445B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To solve problems wherein (1) delay by software has limitations, (2) it is difficult to put delay into all of a case having no source code and a case where various applications combine complexly, and (3) a system failure such as data mismatch can occur when delay is put into only a specific piece of software. <P>SOLUTION: By enabling a business server 2 to increase the memory latency of the server by a relatively free variation width, the performance of the whole server can be adjusted to an expected performance. A managing server 4 calculates the delay cycle number of appropriate memory latency based on the response time observed by a client 1, and the correlation among the operating condition, the memory latency, and the response time of the business server 2, and varies the memory latency of the business server 2. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は計算機システムの性能の制御に関し、特にサーバのハードウェアの性能を直接制御することで性能を一定にする方法及び装置に関する。   The present invention relates to control of computer system performance, and more particularly to a method and apparatus for making performance constant by directly controlling server hardware performance.

1台以上のサーバから構成されるシステム上で稼動するサービスの利用者の端末で、システムに対して要求を入力してから応答が帰ってくるまでの時間を応答時間という。システムの導入初期段階においては、システムへの負荷が小さいため応答時間は小さい。ところが、使用時間の経過とともにデータベースのサイズやサーバに接続するユーザ数が増大する。すると、データベースサイズが増えることで業務サーバがデータを検索する時間が増えたり、接続するユーザ数が増えることでことで業務サーバに対して要求されるスループットが増えることで応答時間が大きくなる。このときの応答時間がシステム開発時に見積もった時間内で収まっていたとしても、新しいシステムを導入したにもかかわらずユーザは不満を感じるようになる。   The time from when a request is input to the system until the response is returned at a terminal of a service user operating on a system composed of one or more servers is called a response time. In the initial stage of system introduction, the response time is small because the load on the system is small. However, the database size and the number of users connected to the server increase as the usage time elapses. Then, the time required for the business server to search for data increases as the database size increases, and the response time increases as the throughput required for the business server increases due to the increase in the number of connected users. Even if the response time at this time falls within the time estimated at the time of system development, the user feels dissatisfied despite the introduction of a new system.

「データベースチューニング256の法則」Chris Looseley & Frank Douglas著、間宮あきら訳 日経BP社 P.50(非特許文献1)で示されて技術では、システム導入の初期段階ではアプリケーションのコードにタイマ式遅延を組み込んで応答時間を長くしておく。そして、システムの成長に合わせて、この人工的な遅延を徐々に取り除くことで応答時間の変化を小さくすることができ、ユーザが不満を感じにくくする。   “The Law of Database Tuning 256” by Chris Looseley & Frank Douglas, translated by Akira Mamiya, Nikkei Business Publications, Inc. 50 (Non-Patent Document 1), in the initial stage of system introduction, a timer-type delay is incorporated into the application code to increase the response time. As the system grows, the artificial delay is gradually removed to reduce the change in response time, thereby making it difficult for the user to feel dissatisfied.

特に、業務システムにユーティリティサービスを適用するケースでは、応答時間を一定に保証するサービスを提供することが必須となると考えられる。
サーバを構成するCPUの単体性能が、動作周波数の高周波数化やマルチCPUコアなどの技術で、著しく性能向上した為、マルチプロセッサのサーバでCPU数を増やしたときの性能向上の差が大きくなった。
In particular, in the case of applying a utility service to a business system, it is considered essential to provide a service that guarantees a constant response time.
The performance of a single CPU that constitutes a server has been significantly improved by technologies such as higher operating frequencies and multi-CPU cores, so the difference in performance improvement when increasing the number of CPUs in a multi-processor server has increased. It was.

「データベースチューニング256の法則」Chris Looseley & Frank Douglas著、間宮あきら訳 日経BP社 P.50“The Law of Database Tuning 256” by Chris Looseley & Frank Douglas, translated by Akira Mamiya, Nikkei Business Publications, Inc. 50

上記のように、システム導入の初期段階ではアプリケーションのコードにタイマ式遅延を組み込んで応答時間を長くしておく技術は、現在の開発環境では汎用的であるとは言い難い。その理由として以下の3点が挙げられる。
(理由1)現在のシステム開発は、複数のアプリケーションを組み合わせてシステム開発をすることが多く、ソースコードが開示されず実行形式のプログラムのみでパッケージが構成されている。そのため、アプリケーションのコードに遅延を直接入れることは不可能である。
(理由2)ソースコードを開示したアプリケーションプログラムも普及しつつあるが、データベースなどの大規模で複雑なアプリケーションのコードを不用意に改変することはプログラムの不具合を生む可能性がある。
(理由3)複数のアプリケーションが連携してある業務のフローを実現している場合、特定のアプリケーションにだけ遅延をいれると、遅延が入った処理と遅延が入らなかった処理間との間のタイミングがずれ、データの一貫性が保てなることやデッドロックを引き起こす危険性がある。
As described above, in the initial stage of system introduction, the technique of incorporating a timer-type delay in the application code to increase the response time is not widely used in the current development environment. The following three points can be cited as the reason.
(Reason 1) In the current system development, a system is often developed by combining a plurality of applications, and the source code is not disclosed, and the package is configured only by an executable program. Therefore, it is impossible to put a delay directly in the application code.
(Reason 2) Although application programs that disclose source codes are becoming widespread, carelessly changing the code of a large-scale and complicated application such as a database may cause a malfunction of the program.
(Reason 3) When a flow of business in which multiple applications are linked is realized, if a delay is added only to a specific application, the timing between the processing with the delay and the processing without the delay There is a risk that data consistency may be maintained and deadlock may occur.

したがって、応答時間を制御するためにプログラムのソースコードに遅延を入れることには、上記の理由で問題があるといえる。
さらに、CPUの単体性能が向上することでマルチプロセッサのサーバでCPU数の違いによる性能差が拡大していくことで、適当な応答時間を与えるシステム構成が得られにくく、上記に示したようなシステム導入の初期段階で過剰性能となる可能性がますます高くなっている。
Therefore, it can be said that there is a problem for the above reason in putting a delay in the source code of the program in order to control the response time.
Furthermore, since the performance difference due to the difference in the number of CPUs in a multiprocessor server increases as the performance of a single CPU increases, it is difficult to obtain a system configuration that provides an appropriate response time. The possibility of over-performance in the early stages of system introduction is increasing.

一方、サーバの開発者や運用管理者が、サーバのBIOSの設定やデバッグのために、起動時に画面に表示されるメッセージを監視する必要がある。CPU単体の速度が向上しているため、BIOSの設定画面に入るためのキーを打てなかったり、画面に表示されたメッセージを見逃したりすることがある。このため、従来は、サーバの開発者や運用管理は希望の操作が出来るまで何度も電源ON・OFFを繰り返すことになり作業の生産性が落ちることがある。   On the other hand, a server developer or an operation manager needs to monitor a message displayed on the screen at the time of startup in order to set or debug the server BIOS. Since the speed of the CPU alone is improved, a key for entering the BIOS setting screen may not be hit or a message displayed on the screen may be missed. For this reason, conventionally, the server developer and operation management repeatedly turn the power on and off repeatedly until the desired operation can be performed, which may reduce the productivity of work.

上記課題を解決するために、以下の点に着目した。
サーバのトランザクション処理のスループットは以下の式で求められる。
(スループット性能)=(CPU数×CPU周波数×定数)÷(CPUの実行ステップ数×CPI)
ここで、定数はスループットの値を単位時間当たり、あるいは単位秒あたりに変換する数を指す。CPIは、CPUの1命令あたりの実行サイクル数のことである。従来の方法では、プログラムのソースコードに遅延ループを入れることで、CPUの実行ステップ数を増やして性能を制御した。しかし、その方法では上述の課題1のような問題がある。また、CPU数の変更は、課題2の問題がある。しかし、その方法では上述のような問題がある。そこで、変更できるパラメータはCPU数、CPU周波数、CPIを制御する方法が考えられる。CPU数はハードウェアの設計で制限され、あまり自由度がない。CPU周波数は、性能の変動幅を大きくするには周波数の変動幅を大きくする必要がある。これは、LSIのディレイ設計が困難になると考えられる。
In order to solve the above problems, the following points were noted.
The throughput of server transaction processing can be obtained by the following formula.
(Throughput performance) = (number of CPUs × CPU frequency × constant) ÷ (number of CPU execution steps × CPI)
Here, the constant indicates the number of throughput values converted per unit time or per second. CPI is the number of execution cycles per instruction of the CPU. In the conventional method, by inserting a delay loop in the program source code, the number of execution steps of the CPU is increased to control the performance. However, this method has a problem such as the above-mentioned problem 1. Further, there is a problem of problem 2 in changing the number of CPUs. However, this method has the problems described above. Therefore, the parameter that can be changed may be a method of controlling the number of CPUs, CPU frequency, and CPI. The number of CPUs is limited by hardware design, and there is not much freedom. For the CPU frequency, it is necessary to increase the frequency fluctuation range in order to increase the performance fluctuation range. This is thought to be difficult for LSI delay design.

CPIは以下のようにも記述できる。ただし、キャッシュメモリがレベル1とレベル2のみがある場合を例にする。レベル3以降のキャッシュメモリが存在する場合も同様な式で記述できる。
CPI=CPI0+(L1キャッシュのミス率−L2キャッシュミス率)×(L2キャッシュのメモリレイテンシ)×Kc+(L2キャッシュのミス率)×(主記憶のメモリレイテンシ)×Km
CPI0:1次キャッシュが無限の容量ある場合の1命令あたりの実行サイクル数
Kc、Km:メモリアクセスが多重実行される場合を考慮したときの定数値
CPIの値を制御することで性能の制御が可能となるが、キャッシュメモリのミス率を制御することはアプリケーションのワーキングセットサイズによっては効果が得られないケースがある。したがって、メモリレイテンシを制御することでCPIを制御する方法が多くの場合で性能を制御することが可能であるといえる。特に、データベースを使ったOLTP(Online Transaction Processing)やOLAP(Online Analytical Processing)のようなデータが大規模でキャッシュメモリに収まらないケースで有効な手段であると考えられる。
The CPI can also be described as follows: However, a case where the cache memory has only level 1 and level 2 is taken as an example. A similar expression can be used when there is a cache memory of level 3 or later.
CPI = CPI0 + (L1 cache miss rate−L2 cache miss rate) × (L2 cache memory latency) × Kc + (L2 cache miss rate) × (main memory memory latency) × Km
CPI0: number of execution cycles Kc per instruction when the primary cache has an infinite capacity, Km: performance control by controlling the value of the constant value CPI when considering the case where multiple memory accesses are executed Although it is possible, controlling the cache memory miss rate may not be effective depending on the working set size of the application. Therefore, it can be said that the performance can be controlled in many cases of controlling the CPI by controlling the memory latency. In particular, it is considered to be an effective means in the case where data such as OLTP (Online Transaction Processing) and OLAP (Online Analytical Processing) using a database is large and does not fit in the cache memory.

本発明では比較的自由な変動幅でサーバのメモリレイテンシを増加することを可能にすることで、サーバ全体の性能を期待する性能に調節できるようにする。
更に、応答時間の監視と予め指定した応答時間からの逸脱の検出とメモリレイテンシと応答時間の相関関係から適当なメモリレイテンシの増分を計算し、業務サーバのメモリレイテンシを変更する管理サーバを設ける。
In the present invention, it becomes possible to increase the memory latency of the server with a relatively free fluctuation range, so that the performance of the entire server can be adjusted to the expected performance.
Furthermore, a management server is provided for monitoring the response time, detecting a deviation from the response time specified in advance, calculating an appropriate memory latency increment from the correlation between the memory latency and the response time, and changing the memory latency of the business server.

以上、本発明によれば、メモリレイテンシの遅延を応答時間やサーバの稼動状態をもとに操作することで、どのようなシステムを導入するときでも、汎用的に性能を変更することができる。
また、CPUの単体性能が向上することでマルチプロセッサのサーバでCPU数の違いによる性能差が拡大していくことで、適当な応答時間を与えるシステム構成が得られにくく、システム導入の初期段階で過剰性能となる可能性を抑止することができる。
As described above, according to the present invention, it is possible to change the performance for a general purpose when any system is introduced by manipulating the delay of the memory latency based on the response time or the operating state of the server.
In addition, since the performance difference due to the difference in the number of CPUs in a multiprocessor server increases due to the improvement in the single unit performance of the CPU, it is difficult to obtain a system configuration that provides an appropriate response time, and at the initial stage of system introduction The possibility of excessive performance can be suppressed.

更に、サーバの開発者や運用管理者が、サーバのBIOSの設定やデバッグのために、起動時に画面に表示されるメッセージが表示されている期間だけサーバの性能を落として速度を落とすことで、BIOSの設定画面に入るためのキーを打てなかったり、画面に表示されたメッセージを見逃したりすることを減らすことができ業務効率が改善できる。   In addition, server developers and operations managers can slow down the server performance by reducing the server performance only during the period when the message displayed on the screen is displayed for startup and debugging of the server BIOS. It is possible to reduce the possibility of not typing a key for entering the BIOS setting screen or overlooking a message displayed on the screen, thereby improving business efficiency.

以下、図面を参照して本発明の実施の形態について説明する。なお、本明細書で応答時間とは、クライアントでユーザが、Enterキーを押してから(コマンドの実行をしてから)、クライアントまでにデータが最初に帰ってくるまでの時間のことを指す。   Embodiments of the present invention will be described below with reference to the drawings. In this specification, the response time refers to the time from when the user presses the Enter key (after executing the command) until the data first returns to the client.

図1は、本発明の第1の実施例を表すシステム構成図である。一クライアント1と業務サーバ2は、ネットワーク14を介して接続されている。管理サーバ4は、クライアント1や業務サーバ2と接続して、これらの稼動情報の収集や構成管理を行う。ユーザはクライアント1から、業務サーバ2が提供する業務システムなどのサービスを受ける。なお図は単一のクライアント、単一の業務サーバのみ示すが、システム全体はそれぞれ複数台ずつ存在して接続される。
クライアント1には、業務サーバ2のサービスを要求してから応答が帰ってくるまでの応答時間を計測するクライアント監視エージェント3が稼動している。業務サーバ2では、サーバの稼動状態に係わる情報を集めるサーバ監視エージェント21が動作している。
FIG. 1 is a system configuration diagram showing a first embodiment of the present invention. One client 1 and business server 2 are connected via a network 14. The management server 4 is connected to the client 1 and the business server 2 to collect the operation information and manage the configuration. The user receives a service such as a business system provided by the business server 2 from the client 1. Although only a single client and a single business server are shown in the figure, the entire system exists and is connected in plural.
The client 1 has a client monitoring agent 3 that measures the response time from when the service of the business server 2 is requested until the response is returned. In the business server 2, a server monitoring agent 21 that collects information related to the operating state of the server is operating.

管理サーバ4では、クライアント1や業務サーバ2を管理する管理プログラム6が稼動している。管理サーバ4は、ハードウェアでメモリレイテンシの遅延を変更できるようになっており。固定された最小メモリレイテンシと最大メモリレイテンシの間でメモリレイテンシを変更することができる。メモリレイテンシの遅延は、メモリ空間上に配置されたコンフィグレーションレジスタにソフトウェアから遅延サイクル数を指定することで変更ができるようになっている。管理プログラム4は、クライアント1や業務サーバ2の稼動状態を監視する性能監視部6とメモリレイテンシの遅延時間の設定をする構成管理部7から構成される。   In the management server 4, a management program 6 for managing the client 1 and the business server 2 is running. The management server 4 can change the delay of the memory latency by hardware. The memory latency can be changed between a fixed minimum memory latency and a maximum memory latency. The delay of the memory latency can be changed by designating the number of delay cycles from the software in the configuration register arranged in the memory space. The management program 4 includes a performance monitoring unit 6 that monitors the operating state of the client 1 and the business server 2 and a configuration management unit 7 that sets a delay time of memory latency.

また、管理サーバ4には、業務サーバ2の目標応答時間を記録した目標性能データ8と、業務サーバ2上で稼動するアプリケーションプログラムごとに応答時間とメモリレイテンシの関係表を格納した性能モデルデータ9と、応答時間が目標を達成していない場合の適切なメモリレイテンシを決定するための判断基準を格納した性能ポリシーデータ10と、監視する対象のサーバ名や監視するイベントを記述した監視対象データ11と、応答時間や業務サーバの稼動状況を示すデータの統計を格納した性能統計データ12と、業務サーバ2で設定しているメモリレイテンシの遅延など構成情報を格納した構成情報データ13が保持されている。   The management server 4 also includes performance model data 9 in which target performance data 8 in which the target response time of the business server 2 is recorded and a relationship table of response time and memory latency for each application program running on the business server 2 are stored. And performance policy data 10 storing a criterion for determining an appropriate memory latency when the response time does not achieve the target, and monitoring target data 11 describing a server name to be monitored and an event to be monitored And performance statistics data 12 storing statistics of data indicating response time and operational status of the business server, and configuration information data 13 storing configuration information such as memory latency delay set in the business server 2 are held. Yes.

性能監視部6は、目標性能データ8と性能モデルデータ9と性能ポリシーデータ10と
監視対象データ11と性能統計データ12にアクセスし、データの読み書きをする。構成管理部7は、構成情報データ13にアクセスし、データの読み書きをする。更に、構成管理部7は業務サーバ2のメモリレイテンシの遅延量を指定する。管理プログラム5の性能監視部6は、応答時間のログの送付要求をクライアント監視エージェント3に送る(矢印16)。応答時間のログの送付要求を受けたクライアント監視エージェント3は、応答時間のログを管理プログラム5の性能管理部に送付する(矢印15)。一方、管理プログラム5の性能監視部6は、業務サーバ2の稼動状態のログの送付要求をサーバ監視エージェント21に送る(17)。応答時間のログの送付要求を受けたサーバ監視エージェント21は、業務サーバ2の稼動状態のログを管理プログラム5の性能管理部に送付する(18)。
ここで、サーバの稼動状態とは、CPU待ち行列長やディスクの待ち行列長、稼動しているアプリケーションごとのCPU使用率などサーバの稼動状態に係わる情報を指す。
The performance monitoring unit 6 accesses the target performance data 8, the performance model data 9, the performance policy data 10, the monitoring target data 11, and the performance statistical data 12, and reads and writes data. The configuration management unit 7 accesses the configuration information data 13 and reads / writes the data. Further, the configuration management unit 7 designates a delay amount of the memory latency of the business server 2. The performance monitoring unit 6 of the management program 5 sends a response time log sending request to the client monitoring agent 3 (arrow 16). Upon receiving the response time log sending request, the client monitoring agent 3 sends the response time log to the performance management unit of the management program 5 (arrow 15). On the other hand, the performance monitoring unit 6 of the management program 5 sends a log transmission request for the operational status of the business server 2 to the server monitoring agent 21 (17). Upon receiving the response time log sending request, the server monitoring agent 21 sends the operating status log of the business server 2 to the performance management unit of the management program 5 (18).
Here, the operating state of the server refers to information related to the operating state of the server such as the CPU queue length, the disk queue length, and the CPU usage rate for each active application.

次に、管理プログラムが参照するデータ群について説明する。
図2に目標性能データの例を示す。目標性能データは、クライアントから利用するアプリケーション(図2では業務A、業務B、業務Cと例示)ごとに、目標とする応答時間と、応答時間の許容幅を記録したものである。図2の例では業務Aは(A±ΔA)秒、業務Bは(B±ΔB)秒、業務Cは(C±ΔC)秒の応答時間であればよいことを示している。目標応答時間、許容幅の両者ともサーバの管理者が設定するデータである。
Next, a data group referred to by the management program will be described.
FIG. 2 shows an example of target performance data. The target performance data is a record of a target response time and an allowable range of response time for each application (exemplified as business A, business B, and business C in FIG. 2) used from the client. In the example of FIG. 2, it is shown that business A may have a response time of (A ± ΔA) seconds, business B may have a response time of (B ± ΔB) seconds, and business C may have a response time of (C ± ΔC) seconds. Both the target response time and the allowable range are data set by the server administrator.

性能モデルデータの例を図3に示す。性能モデルデータは、業務毎に予め用意する。さらに、それぞれの業務に対して、業務サーバの稼動状態と構成情報ごとに業務サーバに接続してサービスを受けているユーザ数と応答時間の関係をメモリレイテンシの遅延量ごとに、予め用意しておく。図3では、ユーザ数と応答時間の関係をグラフにしているが、実際に格納されるデータの形式は、関数あるいは表の形式となっている。   An example of performance model data is shown in FIG. The performance model data is prepared for each business in advance. Furthermore, for each business, prepare the relationship between the number of users connected to the business server for each business server operating status and configuration information and the response time for each memory latency delay amount. deep. In FIG. 3, the relationship between the number of users and the response time is shown as a graph, but the format of the data actually stored is a function or a table.

性能ポリシーデータの例を図4に示す。性能ポリシーデータは、ポリシーの集合30から構成される。ポリシーの集合30は、更にポリシー1に示されるような、ある目的を達成するための判断方法が記述されている。ポリシー1では、応答時間を予め設定した目的応答時間を遵守しているか検査し、その目的が充足されないときには、メモリレイテンシの遅延を変更してサーバの性能を変更する方法が記述されている。ポリシーが集合となっているのは要求される目的によって判断方法を変えていく必要があるからである。   An example of performance policy data is shown in FIG. The performance policy data includes a policy set 30. The policy set 30 further describes a determination method for achieving a certain purpose as shown in the policy 1. The policy 1 describes a method of checking whether the response time conforms to a preset target response time and changing the server performance by changing the delay of the memory latency when the purpose is not satisfied. The policy is a set because it is necessary to change the judgment method according to the required purpose.

次に、このポリシー1について詳細を説明する。
ポリシーは、目的と方法から構成される。図4のポリシー1では、目的は、「応答時間を設定時間±許容幅に収める」ことであり、方法はフローチャートで示されている。今回は理解を容易にするためにフローチャートで記述したが、スクリプト言語での記述でも可能である。以下にフローチャートに示した応答時間を制御する方法について説明する。
(ステップ31)管理サーバ上の管理プログラムが、クライアントや業務サーバから、管理者が予め設定した時間間隔で、応答時間や稼動状態を表す情報(性能統計データ)を収集する。
(ステップ32)応答時間のヒストグラムを作成し、90%値を計算する。90%値とは、応答時間の分布で90%値以下の応答時間の分布が全データの90%となる値のことである(図9)
(ステップ33)(目標応答時間±許容幅)に応答時間の90%値が収まっているか判定し、収まっている場合はステップ31を実行し、収まっていない場合はステップ34を実行する。
(ステップ34)図5(a)に示す性能モデルデータのグラフにおいて、現在のメモリレイテンシ遅延のグラフLb上の点(Up,Ri)が(Up,Rp)と重なるようにグラフを平行移動する。
(ステップ35)ステップ34で操作した後のグラフ(図5(b))で、現在のユーザ数で目標応答時間Rqを通るグラフを探す。その結果見つかったグラフに対応するメモリレイテンシの遅延Lcを業務サーバに適用することを決定。適当なグラフが見つからなかった場合は、最も目標に近いグラフを選択する。
(ステップ36)ステップ35で決定したメモリレイテンシの遅延Lcを業務サーバに設定する。
Next, the policy 1 will be described in detail.
A policy consists of a purpose and a method. In the policy 1 of FIG. 4, the purpose is to “set the response time within the set time ± allowable range”, and the method is shown in a flowchart. This time, it is described in the flowchart for easy understanding, but it is also possible to describe in script language. A method for controlling the response time shown in the flowchart will be described below.
(Step 31) The management program on the management server collects information (performance statistical data) indicating response time and operating status from the client or business server at time intervals preset by the administrator.
(Step 32) A histogram of response time is created and a 90% value is calculated. The 90% value is a value at which the response time distribution equal to or lower than the 90% value is 90% of all data in the response time distribution (FIG. 9).
(Step 33) It is determined whether 90% of the response time is within (target response time ± allowable width). If so, step 31 is executed, and if not, step 34 is executed.
(Step 34) In the graph of performance model data shown in FIG. 5A, the graph is translated so that the point (Up, Ri) on the current memory latency delay graph Lb overlaps (Up, Rp).
(Step 35) The graph after the operation in Step 34 (FIG. 5 (b)) is searched for a graph that passes the target response time Rq with the current number of users. As a result, the decision is made to apply the memory latency delay Lc corresponding to the found graph to the business server. If no suitable graph is found, the graph closest to the target is selected.
(Step 36) The delay Lc of the memory latency determined in Step 35 is set in the business server.

観測対象データの例を図6に示す。観測対象データは、どのクライアントや業務サーバで何のデータを観測するかサーバの管理者が設定をする。図6では、クライアントx0で応答時間を観測、業務サーバy0でCPU使用率、接続ユーザ数、ディスク待ち行列長を観測対象としている。   An example of observation target data is shown in FIG. The observation target data is set by the server administrator as to what data is to be observed by which client or business server. In FIG. 6, the response time is observed by the client x0, and the CPU usage rate, the number of connected users, and the disk queue length are observed by the business server y0.

性能統計データを例を図7と図8に示す。管理者が予め設定した時間間隔で管理サーバが、稼動状態に関するデータをクライアントや業務サーバから収集する。図7に示すようにCPU使用率、接続ユーザ数、ディスク待ち行列といったデータは管理サーバからデータの要求が到着する間に採取したデータの平均値となっている。クライアントで計測する応答時間は、図8に示すように、クライアントですべての応答時間のログを採取し、管理サーバに送られてきた応答時間の集合(R00,R01,…,R0n)(R10,R11,…,R1n)(R20,R21,…,R2n)として記録する。管理サーバ上の管理プログラムは、これらの統計データから図9に示す90%値Rth0,Rth1、Rth2を算出し、性能統計データとして記録する。この90%値は上述のポリシーがメモリレイテンシを変更するかどうかの判定に用いている。   Examples of performance statistics data are shown in FIGS. The management server collects data related to the operating state from the client and the business server at time intervals preset by the administrator. As shown in FIG. 7, data such as the CPU usage rate, the number of connected users, and the disk queue are average values of data collected while a data request arrives from the management server. As shown in FIG. 8, the response time measured by the client is a set of response times (R00, R01,..., R0n) (R10, R0n) sent to the management server by collecting all response time logs at the client. R11, ..., R1n) (R20, R21, ..., R2n). The management program on the management server calculates 90% values Rth0, Rth1, and Rth2 shown in FIG. 9 from these statistical data and records them as performance statistical data. This 90% value is used to determine whether the above-described policy changes the memory latency.

構成情報データの例を図10に示す。構成情報データは図10(a)に示した各業務サーバのメモリレイテンシの遅延をどのように変更したかのログと、図10(b)に示したサーバ構成情報からなる。図10(a)では、業務サーバyi(i=0,1,2)で、メモリレイテンシの遅延がDLi0、DLi1,DLi2と変更してきたことを示している。一番最後に記録されているメモリレイテンシの遅延が現在の遅延の大きさである。図10(b)の構成情報は、CPU数、CPU周波数、メモリ搭載量、ディスクドライブ数等が含まれる。   An example of the configuration information data is shown in FIG. The configuration information data includes a log indicating how the delay of the memory latency of each business server shown in FIG. 10A is changed and the server configuration information shown in FIG. FIG. 10A shows that the delay of memory latency has been changed to DLi0, DLi1, and DLi2 in the business server yi (i = 0, 1, 2). The memory latency delay recorded last is the current delay magnitude. The configuration information in FIG. 10B includes the number of CPUs, CPU frequency, memory mounting amount, number of disk drives, and the like.

次に、応答時間を一定にする処理の流れを初期化時と稼動時に分けて説明する。
(初期化時)
初期化時の処理の流れを図11を用いて説明する。
システム管理者がまず、現在の業務サーバの構成情報やメモリレイテンシの遅延の設定状態の調査を管理サーバに要求する(40)。管理サーバは、業務サーバに情報を問い合わせ(41)、その結果を構成情報データに記録すし(42)、同時にシステム管理者に構成情報を表示する(43)。システム管理者は、目標性能データ(目標応答時間と許容幅)と性能モデルデータと性能ポリシーを管理サーバにを登録する(44、45,46)。
Next, the process flow for making the response time constant will be described separately for initialization and operation.
(At initialization)
The flow of processing during initialization will be described with reference to FIG.
First, the system administrator requests the management server to investigate the configuration information of the current business server and the setting state of memory latency delay (40). The management server queries the business server for information (41), records the result in the configuration information data (42), and simultaneously displays the configuration information to the system administrator (43). The system administrator registers the target performance data (target response time and allowable range), performance model data, and performance policy in the management server (44, 45, 46).

次に、システム管理者は、初期状態でのメモリレイテンシの遅延値を決定し、業務サーバに登録するために、業務サーバの構成変更要求を管理サーバに送る(47)。管理サーバは、目標性能データ、性能モデルデータ、性能ポリシーデータ、及び構成情報からメモリレイテンシの遅延値を算出する(48)。そして、業務サーバに対してメモリレイテンシの遅延設定する(49)。その後、管理サーバは、正しく設定されているか調査(50)した後、構成情報データを更新すし(51)、管理者にも変更結果を画面表示する(52)。正しく書き込めない場合は再度実行する(図示せず)。管理者が指定した回数失敗した場合は、管理者に通知し管理者の指示を待つ(図示せず)。   Next, the system administrator determines the delay value of the memory latency in the initial state and sends a business server configuration change request to the management server in order to register it in the business server (47). The management server calculates a delay value of the memory latency from the target performance data, performance model data, performance policy data, and configuration information (48). Then, a delay of memory latency is set for the business server (49). Thereafter, the management server checks whether the setting is correct (50), updates the configuration information data (51), and displays the change result on the screen (52). If it cannot be written correctly, it is executed again (not shown). When the number of times designated by the administrator has failed, the administrator is notified and the administrator's instruction is waited (not shown).

その後、管理者は、管理サーバに稼動情報の測定を開始する要求を送る(53)。管理サーバは、クライアントと業務サーバに測定用のエージェントを起動する要求を送る(54)。その要求を受けたクライアントと業務サーバで、監視エージェントが応答時間や稼動状態の情報の測定を開始する(55,56)。   Thereafter, the administrator sends a request for starting measurement of operation information to the management server (53). The management server sends a request to start the measurement agent to the client and the business server (54). The monitoring agent starts measuring response time and operating state information in the client and the business server that have received the request (55, 56).

(稼動時)
システム稼動時に応答時間を一定にするためにメモリレテインシを制御する流れを図12を用いて説明する。
クライアントと業務サーバ上では常に性能の監視エージェントが稼動している。管理サーバ上の管理プログラムは、クライアントと業務サーバの監視エージェントに対して、管理者が予め設定したタイミングで定期的に応答時間の測定結果や稼動状態を送付する要求を発行する(60)。クライアントでは、監視エージェントが応答時間測定結果を管理サーバに送付する(61)。業務サーバでは、監視エージェントが稼動状態測定結果を管理サーバに送付する(62)。これらの応答時間や稼動状態のデータは性能統計情報データとして管理サーバで管理される。
(In operation)
The flow of controlling the memory latency to make the response time constant when the system is operating will be described with reference to FIG.
A performance monitoring agent is always running on the client and business server. The management program on the management server issues a request to send the response time measurement result and the operation status periodically to the monitoring agent of the client and the business server at the timing preset by the administrator (60). In the client, the monitoring agent sends the response time measurement result to the management server (61). In the business server, the monitoring agent sends the operating state measurement result to the management server (62). These response time and operating state data are managed by the management server as performance statistical information data.

管理サーバ上の管理プログラムは、性能統計情報データと目標性能データから、目標性能の条件を満足しているか判定し(64)、その結果を管理者に表示する(63)。
管理プログラムが、目標性能の条件を満足していないと判定した場合、性能統計情報データ、目標性能データ、性能ポリシーデータ、性能モデルデータ、及び構成情報データからメモリレイテンシの遅延の設定値を決める(65)。そして、業務サーバに対して、(65)で決めたメモリレイテンシの遅延の値を設定する(66)。管理プログラムは、正しくメモリレイテンシの遅延が設定されたか、業務サーバに問い合わせて(68)、正しい値であれば構成情報データを更新し、管理者に変更情報を表示する(70)。正しく書き込めない場合は再度実行する(図示せず)。管理者が指定した回数失敗した場合は、管理者に通知し管理者の指示を待つ(図示せず)。
以上で、応答時間を一定にする処理の流れを初期化時と稼動時に分けて説明した。
The management program on the management server determines from the performance statistical information data and the target performance data whether the target performance condition is satisfied (64), and displays the result to the administrator (63).
If the management program determines that the target performance condition is not satisfied, the setting value of the memory latency delay is determined from the performance statistical information data, target performance data, performance policy data, performance model data, and configuration information data ( 65). Then, the delay value of the memory latency determined in (65) is set for the business server (66). The management program inquires of the business server whether the memory latency delay has been set correctly (68), updates the configuration information data if the value is correct, and displays the change information to the administrator (70). If it cannot be written correctly, it is executed again (not shown). When the number of times designated by the administrator has failed, the administrator is notified and the administrator's instruction is waited (not shown).
The processing flow for making the response time constant has been described above separately for initialization and operation.

図13は、本発明の第2の実施例を表すCPUの構成図である。
CPU50は、CPUコア101、キャッシュメモリ102、アドレスキュー104、106、データキュー108、110、キュー制御回路105,107,109、レイテンシ可変キュー制御回路103から構成される。
FIG. 13 is a block diagram of the CPU representing the second embodiment of the present invention.
The CPU 50 includes a CPU core 101, a cache memory 102, address queues 104 and 106, data queues 108 and 110, queue control circuits 105, 107 and 109, and a latency variable queue control circuit 103.

CPUコア101は、命令を処理する部分であり、CPU内蔵のキャッシュメモリ102と接続している。CPUコア101は、命令やデータをキャッシュメモリ102から取ってくるが、キャッシュメモリ102にCPUコア101で必要とするデータが存在しない場合(キャッシュミス)は、キュー104を通して、アドレスバス111に主記憶あるいは他のキャッシュが持っているデータにアクセスするためのトランザクションを発行する。アドレスバスに発行されたメモリ要求トランザクションは同じアドレスバス111に接続している他のCPU(図示せず)とチップセット114で受信する。
他のCPUはCPU100と同じ構造なので、ここではCPU100を使って説明する。アドレスバス111に発行されたメモリ要求トランザクションは、キュー106を経由してCPUコア101に到着する。CPUコア101は、キャッシュメモリ102にトランザクションが要求しているアドレスのデータが無いか調べる。
これは、一般的なバススヌーピングの動作を意味する。キャッシュメモリにメモリ要求トランザクションが要求するデータがあるかアドレスバス111あるいは、別の専用線(図示せず)を通して、要求発行元のCPUに通知する。存在している場合は、データバスへキュー108を通してデータバス112にデータを転送する。
The CPU core 101 is a part for processing instructions, and is connected to a cache memory 102 built in the CPU. The CPU core 101 fetches instructions and data from the cache memory 102, but when the data required by the CPU core 101 does not exist in the cache memory 102 (cache miss), the main memory is stored in the address bus 111 through the queue 104. Alternatively, a transaction for accessing data held by another cache is issued. The memory request transaction issued to the address bus is received by the other CPU (not shown) connected to the same address bus 111 and the chip set 114.
Since other CPUs have the same structure as the CPU 100, the CPU 100 will be described here. The memory request transaction issued to the address bus 111 arrives at the CPU core 101 via the queue 106. The CPU core 101 checks the cache memory 102 for data at the address requested by the transaction.
This means a general bus snooping operation. It is notified to the CPU that issued the request through the address bus 111 or another dedicated line (not shown) whether there is data requested by the memory request transaction in the cache memory. If it exists, the data is transferred to the data bus 112 through the queue 108 to the data bus.

一方、アドレスバス111からチップセット114へ転送されたメモリ要求トランザクションは、チップセット114から主記憶(図示せず)や他のチップセット(図示せず)に接続しているアドレスバスに転送され、そのアドレスバスに接続しているCPUへ問い合わせが行き、バススヌーピングが行われキャッシュにデータが有るか無いか検査した結果が要求発行元のCPUに通知される。また、主記憶からは、メモリ要求トランザクションの要求するアドレスのデータがチップセット114に転送される。チップセット114では、バススヌーピング結果から、主記憶からのデータか、他のキャッシュから送られたデータを判定してデータバスの112にデータを転送する。CPU100は、キュー110を経由してこのデータをキャッシュメモリに格納し、CPUコアでの処理に使用する。   On the other hand, the memory request transaction transferred from the address bus 111 to the chip set 114 is transferred from the chip set 114 to an address bus connected to the main memory (not shown) or another chip set (not shown). An inquiry is made to the CPU connected to the address bus, bus snooping is performed, and the result of checking whether there is data in the cache is notified to the CPU that issued the request. Further, the data at the address requested by the memory request transaction is transferred from the main memory to the chip set 114. In the chip set 114, data from the main memory or data sent from another cache is determined from the bus snooping result, and the data is transferred to the data bus 112. The CPU 100 stores this data in the cache memory via the queue 110 and uses it for processing in the CPU core.

キュー制御回路105,107,109の構成と動作について図14を用いて説明する。図14に示すように、キュー制御回路120は、ライトポインタ121、ポインタ制御回路122、リードポインタ制御回路123から構成される。ライトポインタ121は、カウンタで構成され、新規に到着したトランザクションを格納するキューの位置を示し、ライトポインタ信号を出力する。一方、リードポインタ123は、キューから発行するトランザクションが格納されている位置を示し、ライトポインタ信号を出力する。
キュー制御回路は120は、キューに格納するトランザクションが来たことを意味するセット信号127をトランザクション発行元から受信して、ポインタ制御回路122に入力する。ポインタ制御回路は、トランザクションの書き込み後、セット信号が到着したときの値をカウントアップして指す位置を一つずらす。また、リリース信号125はトランザクションを発行可能であることをキューの接続先のブロック(図示せず)に通知する。このブロックがトランザクションを受け取ったことを示すリリース完了信号128をポインタ制御回路が受け取ると、リードポインタ123を一つカウントアップしてポインタの指す位置を一つずらす。
The configuration and operation of the queue control circuits 105, 107, and 109 will be described with reference to FIG. As shown in FIG. 14, the queue control circuit 120 includes a write pointer 121, a pointer control circuit 122, and a read pointer control circuit 123. The write pointer 121 includes a counter, indicates the position of a queue that stores a newly arrived transaction, and outputs a write pointer signal. On the other hand, the read pointer 123 indicates a position where a transaction issued from the queue is stored, and outputs a write pointer signal.
The queue control circuit 120 receives a set signal 127 indicating that a transaction to be stored in the queue has arrived from the transaction issuer, and inputs the set signal 127 to the pointer control circuit 122. The pointer control circuit counts up the value when the set signal arrives after writing the transaction and shifts the position indicated by one. Further, the release signal 125 notifies a queue connection destination block (not shown) that a transaction can be issued. When the pointer control circuit receives a release completion signal 128 indicating that this block has received a transaction, the read pointer 123 is incremented by one and the position indicated by the pointer is shifted by one.

次に、レイテンシ可変キュー制御回路103の構成について図15を用いて説明する。図15に示すように、レイテンシ可変キュー制御回路129は、先に説明したキュー制御回路120に遅延制御回路120と待ちカウンタ131と遅延値レジスタ132と比較器133を追加した構成となっている。追加した部分は、メモリレイテンシを変更するために、キューのリリースタイミングを遅らせる動作をする。遅延時間は、遅延値レジスタ132に設定する。この遅延値レジスタ132は、メモリ空間上に配置されたレジスタで、ソフトウェアからアクセスして適当な数値を設定できる構造となっている。   Next, the configuration of the latency variable queue control circuit 103 will be described with reference to FIG. As shown in FIG. 15, the latency variable queue control circuit 129 has a configuration in which a delay control circuit 120, a wait counter 131, a delay value register 132, and a comparator 133 are added to the queue control circuit 120 described above. The added part operates to delay the release timing of the queue in order to change the memory latency. The delay time is set in the delay value register 132. The delay value register 132 is a register arranged in the memory space and has a structure in which an appropriate numerical value can be set by accessing from software.

レイテンシ可変キュー制御回路103のこの動作を図16を用いて説明する。
(ステップ140)遅延制御回路120は、トランザクションを格納するキューに何もトランザクションが格納されている場合、ステップ31へ、トランザクションが格納されていない場合は、ステップ32を実行する。
(ステップ31)遅延制御回路120は、キューに格納したトランザクションをリリースするとき、待ちカウンタ131をスタートし、トランザクション発行先でトランザクションを受け取らないようにするため、リリース信号はアクティブにしないでおき、ステップ33へ。
This operation of the latency variable queue control circuit 103 will be described with reference to FIG.
(Step 140) The delay control circuit 120 executes Step 31 when no transaction is stored in the queue storing the transaction, and executes Step 32 when no transaction is stored.
(Step 31) When the delay control circuit 120 releases the transaction stored in the queue, the delay control circuit 120 starts the wait counter 131 so that the transaction issuance destination does not receive the transaction. Go to 33.

(ステップ32)遅延制御回路120は、キューにトランザクションをセットしたとき、待ちカウンタ131をスタートし、トランザクション発行先でトランザクションを受けたら無いようにするため、リリース信号はアクティブにしないでおき、ステップ33へ。
(ステップ33)遅延制御回路120は、比較器133で待ちカウンタ131と遅延レジスタ132の内容が一致することを検出したとき、キューからトランザクションをリリースする要求をポインタ制御回路122に発行してリリース信号をアクティブにする。これと、同時に待ちカウンタ131をリセットし、ステップ140へ。
上記のレイテンシ可変キュー制御回路103によってCPU50の発行するメモリ要求トランザクションの発行タイミングを管理者が遅延値レジスタ132に設定したサイクル数がけ遅延させることができ、メモリレイテンシの制御が可能となる。
(Step 32) When the delay control circuit 120 sets a transaction in the queue, the delay control circuit 120 starts the wait counter 131 so that the release signal is not activated so as not to receive the transaction at the transaction issue destination. What.
(Step 33) When the comparator 133 detects that the contents of the wait counter 131 and the delay register 132 match, the delay control circuit 120 issues a request to release the transaction from the queue to the pointer control circuit 122 to release the signal. Activate At the same time, the wait counter 131 is reset, and the process goes to step 140.
The latency variable queue control circuit 103 can delay the issue timing of the memory request transaction issued by the CPU 50 by the number of cycles set by the administrator in the delay value register 132, thereby enabling memory latency control.

図17は、本発明の第3の実施例を表すチップセットの構成図である。チップセット150は、アドレスキュー154、155、164、170とデータキュー156、157、165、166、171、172とキュー制御回路159、160、161、168、169、173、174、175とレイテンシ可変キュー制御回路158、167とマルチプレクサ162,163、183、184、185、186から構成される。
キュー制御回路159、160、161、168、169、173、174、175は、第2の実施例で説明した図14と同一の回路である。また、レイテンシ可変キュー制御回路158、167は、第2の実施例で説明した図15の回路と同一の回路である。これらのキュー制御回路、レイテンシ可変キュー制御回路の構成及び動作の説明は第2の実施例を参照することにし、ここでは説明を省略する。
FIG. 17 is a block diagram of a chip set representing the third embodiment of the present invention. The chip set 150 includes address queues 154, 155, 164, 170, data queues 156, 157, 165, 166, 171, 172, and queue control circuits 159, 160, 161, 168, 169, 173, 174, 175 and variable latency. It comprises queue control circuits 158 and 167 and multiplexers 162, 163, 183, 184, 185 and 186.
The queue control circuits 159, 160, 161, 168, 169, 173, 174, and 175 are the same circuits as those in FIG. 14 described in the second embodiment. The latency variable queue control circuits 158 and 167 are the same circuits as the circuit of FIG. 15 described in the second embodiment. The description of the configuration and operation of these queue control circuit and latency variable queue control circuit will be made with reference to the second embodiment, and description thereof will be omitted here.

次にチップセット150と他のモジュールとのインタフェースについて説明する。
第一に、チップセット150は、アドレスバス152、及びデータバス153と接続しており、これらを通して、CPU150−0、150−1、150−2、150−3とメモリ要求トランザクション、及びデータトランザクションを相互に転送可能となっている。
第二に、チップセット150は、メモリコントローラ180と相互に接続し、メモリ要求トランザクションをチップセット150からメモリコントローラ180を経由してメモリモジュール181に転送される。メモリモジュール181は要求のあったアドレスのデータをメモリコントローラ180を経由してチップセットへ転送される。また、CPUのキャッシュラインのリプレースによって発生するライトバックトランザクションは、チップセット150から書き込みアドレスを指定するライトバックトランザクションと、書き込みデータのデータトランザクションがチップセット150からメモリコントローラ180を経由してメモリモジュール181に転送され、データの書き込みが行われる。
Next, the interface between the chipset 150 and other modules will be described.
First, the chipset 150 is connected to the address bus 152 and the data bus 153, and through these, the CPU 150-0, 150-1, 150-2, and 150-3 perform memory request transactions and data transactions. They can be transferred to each other.
Second, the chipset 150 is interconnected with the memory controller 180, and the memory request transaction is transferred from the chipset 150 to the memory module 181 via the memory controller 180. The memory module 181 transfers the requested address data to the chip set via the memory controller 180. The write-back transaction generated by the CPU cache line replacement includes a write-back transaction for designating a write address from the chipset 150 and a data transaction for the write data from the chipset 150 via the memory controller 180 to the memory module 181. And data writing is performed.

第三に、チップセット150は、I/Oブリッジ183とも相互に接続しており、ネットワークカードやSCSIカード等のPCIデバイス184からに主記憶へのDMA転送をするインバウンド・トランザクションやCPUからPCIデバイスへのアクセスであるインバウンド・トランザクションをI/Oブリッジ183を経由して相互に転送する。
最後に、チップセット150は他のチップセット182と相互に接続され、メモリ要求トランザクションやライトバックトランザクション、データトランザクション等が相互に転送される。この接続はチップセット182に接続しているCPUやメモリモジュールやPCIデバイスへのアクセスをするために使用される。
Thirdly, the chipset 150 is also connected to the I / O bridge 183, and an inbound transaction for performing DMA transfer from the PCI device 184 such as a network card or a SCSI card to the main memory, or from the CPU to the PCI device. Inbound transactions that are accesses to the network are transferred to each other via the I / O bridge 183.
Finally, the chip set 150 is interconnected with other chip sets 182, and memory request transactions, write back transactions, data transactions, and the like are transferred to each other. This connection is used to access the CPU, memory module, and PCI device connected to the chipset 182.

また、クロスバスイッチを用いて2個以上のチップセット間を相互接続する場合もある。これまでの例の類推で理解できるため、ここでは説明を省略する。
図17のチップセット150の動作について説明する。
なお、今回対象としているチップセットではキャッシュコヒーレンシ制御のためスヌーピング方式を使っているが、キャッシュコヒーレンシ制御の詳細については、本特許によって変更はないので、本実施例ではトランザクションの流れについてだけ説明をする。CPU150−i(i=0,1,2,3)で発行されたメモリ要求トランザクションは、アドレスバス152を経由してチップセット150のアドレスキュー154に格納される。アドレスキュー154は、レイテンシ可変キュー制御回路158で制御されていて、管理者により、アドレスキュー154からトランザクションがリリースされる遅延時間が決められる。アドレスキュー154から発行されたメモリ要求トランザクションは、メモリコントローラ180とI/Oブリッジ183、チップセット182に転送され、キャッシュコヒーレンシ制御が行われる。CPUのキャッシュメモリなどに最新のデータがある場は、チップセット182からデータが、データキュー172、マルチプレクサ163、データキュー157を経由して要求元のCPUのあるデータバス153に転送され、要求元CPUがデータを受け取る。主記憶(メモリモジュール181)からのデータは、マルチプレクサ163、データキュー157を経由して要求元のCPUのあるデータバス153に転送され、要求元CPUがデータを受け取る。
In some cases, two or more chip sets are interconnected using a crossbar switch. Since it can be understood by analogy with the examples so far, the description is omitted here.
The operation of the chip set 150 in FIG. 17 will be described.
In addition, although the snooping method is used for the cache coherency control in the target chipset, the details of the cache coherency control are not changed by this patent, so in this embodiment, only the flow of transactions will be described. . The memory request transaction issued by the CPU 150-i (i = 0, 1, 2, 3) is stored in the address queue 154 of the chipset 150 via the address bus 152. The address queue 154 is controlled by the latency variable queue control circuit 158, and the administrator determines a delay time for releasing the transaction from the address queue 154. The memory request transaction issued from the address queue 154 is transferred to the memory controller 180, the I / O bridge 183, and the chipset 182, and cache coherency control is performed. When there is the latest data in the cache memory of the CPU, the data is transferred from the chipset 182 to the data bus 153 with the requesting CPU via the data queue 172, the multiplexer 163, and the data queue 157, and the request source The CPU receives data. Data from the main memory (memory module 181) is transferred via the multiplexer 163 and data queue 157 to the data bus 153 where the requesting CPU is located, and the requesting CPU receives the data.

一方、PCIデバイス184発のインバウンド・トランザクションは、I/Oブリッジ183を経由してチップセット150のアドレスキュー164に格納される。このアドレスキュー164はレイテンシ可変キュー制御回路167でリリースするタイミングが変更される。アドレスキュー164で発行されたインバウンド・トランザクションはマルチプレクサ162を経由してアドレスキュー155を経由してアドレスバス152に発行されキャッシュコヒーレンシのための処理が行われる。また、メモリへはマルチプレクサ184を経由してメモリコントローラ180に転送される。他ヒップセット182へのキャッシュコヒーレンシ処理や、メモリへのアクセスのために。マルチプレクサ183を経由してチップセット182に転送される。DMA転送でメモリのデータを読み出す場合は、メモリモジュール181からメモリコントローラ180、マルチプレクサ185、データキュー166を経由してI/Oブリッジへ転送される。DMA転送でI/Oからメモリにデータを書き込む場合は、メモリ要求トランザクションがI/Oブリッジ183からキュー164、マルチプレクサ184を経由してメモリコントローラ180に転送される。一方、データはデータキュー165、マルチプレクサ186を経由して、メモリコントローラ180に転送され、メモリモジュール181にデータを書き込む。
以上の動作により、チップセット内のアドレスキューのリリースタイミングを操作してサーバの性能を制御することができる。
On the other hand, the inbound transaction from the PCI device 184 is stored in the address queue 164 of the chipset 150 via the I / O bridge 183. The timing of releasing the address queue 164 by the latency variable queue control circuit 167 is changed. The inbound transaction issued in the address queue 164 is issued to the address bus 152 via the multiplexer 162 and the address queue 155, and processing for cache coherency is performed. The data is transferred to the memory controller 180 via the multiplexer 184 to the memory. For cache coherency processing to other hipsets 182 and memory access. The data is transferred to the chip set 182 via the multiplexer 183. When data in the memory is read by DMA transfer, the data is transferred from the memory module 181 to the I / O bridge via the memory controller 180, the multiplexer 185, and the data queue 166. When data is written from the I / O to the memory by DMA transfer, the memory request transaction is transferred from the I / O bridge 183 to the memory controller 180 via the queue 164 and the multiplexer 184. On the other hand, the data is transferred to the memory controller 180 via the data queue 165 and the multiplexer 186, and the data is written to the memory module 181.
With the above operation, the server performance can be controlled by manipulating the release timing of the address queue in the chipset.

図18は、本発明の第4の実施例を表すファームウェアの階層構成を示したものである。計算機は、ハードウェア200、ファームウェア201、OS202、アプリケーション203の階層構造となっている。ファームウェア201は、ハードウェア200の電源投入後の初期化を行い、OS202が稼動するための環境をハードウェア200に設定する。   FIG. 18 shows the hierarchical structure of the firmware representing the fourth embodiment of the present invention. The computer has a hierarchical structure of hardware 200, firmware 201, OS 202, and application 203. The firmware 201 initializes the hardware 200 after power-on, and sets an environment for operating the OS 202 in the hardware 200.

ハードウェア200は、実施例2または実施例3で示したメモリレイテンシの遅延を変更する機構が備わっている。このメモリレイテンシの遅延のサイクル数は、メモリ空間上に割り当てられたコンフィグレーションレジスタとして備えられている。電源投入後あるいはシステムのリセット後にファームウェア201が起動時しているとき、このコンフィグレーションレジスタにアクセスすることでハードウェアの性能を変更する。
計算機の開発時など頻繁にファームウェアのセットアップ画面に切り替える必要がある場合、あるいはファームウェが表示するメッセージを読み取らなければならないとき、ハードウェアの性能を低下させることで、設定画面への切り替えメッセージやその他画面に表示されるエラーメッセージなどを見逃さないようにする。
The hardware 200 includes a mechanism for changing the memory latency delay described in the second or third embodiment. This memory latency delay cycle number is provided as a configuration register allocated in the memory space. When the firmware 201 is starting up after power-on or system reset, the hardware performance is changed by accessing this configuration register.
When it is necessary to frequently switch to the firmware setup screen, such as when developing a computer, or when the message displayed by the firmware must be read, switching to the setting screen or other messages by reducing the hardware performance Do not miss any error messages that appear on the screen.

図19は、ファームウェア201がハードウェア200のメモリレイテンシの遅延を設定する処理の流れを示している。
計算機の管理者220が、ハードウェア200の電源を投入する(210)。すると、ハードウェア200では、BIST(Built In Self Test)を実行する(211)。CPU、チップセット、メモリがそれぞれBISTを実行する。それらが完了した時点でハードウェア200は、ROMに格納されたファームウェア201を起動する(212)。ファームウェア201は起動した後、ハードウェア200に対してメモリレイテンシの遅延を設定する。この遅延の大きさは、予め管理者220が設定しておく。ファームウェア201が、ハードウェア200の初期化の際にメッセージを表示している期間(216)やセットアップ画面で切り替えキー入力待ちをしている期間(217)だけハードウェア200のメモリレイテンシの遅延を大きくしておく。これらの期間が終わり、OSのブートローダをメモリ上にロードしようとする前に、ファームウェア201はメモリレイテンシの遅延を0に設定し、元の性能に戻す(213)。この後、ファームウェア201は、OSのブートローダをメモリ上にロードし(214)、OSを起動する(215)。
FIG. 19 shows a flow of processing in which the firmware 201 sets the memory latency delay of the hardware 200.
The computer administrator 220 turns on the hardware 200 (210). Then, the hardware 200 executes BIST (Built In Self Test) (211). The CPU, chipset, and memory each execute BIST. When these are completed, the hardware 200 starts the firmware 201 stored in the ROM (212). The firmware 201 sets a memory latency delay for the hardware 200 after being activated. The magnitude of this delay is set in advance by the administrator 220. The delay of the memory latency of the hardware 200 is increased only during the period when the firmware 201 is displaying a message when initializing the hardware 200 (216) and when the firmware 201 is waiting for the switching key input on the setup screen (217). Keep it. Before these periods are over and before attempting to load the OS boot loader onto the memory, the firmware 201 sets the memory latency delay to 0 and restores the original performance (213). Thereafter, the firmware 201 loads the OS boot loader onto the memory (214), and starts the OS (215).

以上の動作により、ファームウェが表示するメッセージを読み取らなければならないとき、ハードウェアの性能を低下させて設定画面への切り替えメッセージやその他画面に表示されるエラーメッセージなどを見逃さないようにすることができる。   With the above operation, when the message displayed by the firmware has to be read, the performance of the hardware may be reduced so that the switching message to the setting screen and other error messages displayed on the screen are not overlooked. it can.

本発明は情報処理システムの応答性能を稼動状態をもとに安定に制御する手段を提供し、用いているCPUの種類等に影響することなく汎用的に性能を設定できるため、この分野に広く採用が期待される。   The present invention provides means for stably controlling the response performance of an information processing system based on the operating state, and the performance can be set universally without affecting the type of CPU being used. Adoption is expected.

本発明の第1の実施例を表すシステムのブロック図。1 is a block diagram of a system representing a first embodiment of the present invention. 目標性能データの一例。An example of target performance data. 性能モデルデータの一例。An example of performance model data. 性能ポリシーデータの一例。An example of performance policy data. 性能モデルデータの変換過程。Conversion process of performance model data. 監視対象データの一例。An example of monitoring target data. 性能統計データの一例(応答時間を除く)。An example of performance statistics data (excluding response time). 性能統計データの一例(応答時間)。An example of performance statistics data (response time). 応答時間分布での90%値。90% value in response time distribution. 構成情報データの一例。An example of configuration information data. 第1の実施例のシステムの動作の流れ(初期化時)。Flow of operation of system of first embodiment (at initialization). 第1の実施例のシステムの動作の流れ(稼動時)。The flow of operation | movement of the system of a 1st Example (at the time of operation). 本発明の第2の実施例を表すCPUのブロック図。The block diagram of CPU showing the 2nd Example of this invention. キュー制御回路のブロック図。The block diagram of a queue control circuit. レイテンシ可変キュー制御回路のブロック図。The block diagram of a latency variable queue control circuit. レイテンシ可変キュー制御回路の遅延制御回路の論理。Logic of the delay control circuit of the latency variable queue control circuit. 本発明の第3の実施例を表すチップセットのブロック図。The block diagram of the chipset showing the 3rd example of the present invention. 本発明の第4の実施例を表すファームウェアのブロック図。The block diagram of the firmware showing the 4th Example of this invention. ファームウェアの処理の流れ。Firmware processing flow.

符号の説明Explanation of symbols

1 クライアント
2 業務サーバ
3 クライアント監視エージェント
4 管理サーバ
5 管理プログラム
8 目標性能データ
9 性能モデルデータ
10 性能ポリシーデータ
11 監視対象データ
12 性能統計データ
13 構成情報データ
21 サーバ監視エージェント
100,151−0,151−1,151−2,151−3 CPU
101 CPUコア
102 キャッシュメモリ
103,129,158,167 レイテンシ可変キュー制御回路
105,107,109,120,159,160,161,167,168,169,173,174,175 キュー制御回路
104,106,154,155,164,170 アドレスキュー
108,110,156,157,165,166,171,172 データキュー
111,152 アドレスバス
112,153 データバス
114,150,182 チップセット
121 ライトポインタ
122 ポインタ制御回路
123 リードポインタ
124 ライトポインタ信号
125 リリース信号
126 リードポインタ信号
127 セット信号
128 リリース完了信号
130 遅延制御回路
131 待ちカウンタ
132 遅延値レジスタ
133 比較器
180 メモリコントローラ
181 メモリモジュール
183 I/Oブリッジ
184 PCIデバイス
162,163,183,184,185,186 マルチプレクサ
200 ハードウェア
201 ファームウェア
202 OS
203 アプリケーション。
DESCRIPTION OF SYMBOLS 1 Client 2 Business server 3 Client monitoring agent 4 Management server 5 Management program 8 Target performance data 9 Performance model data 10 Performance policy data 11 Monitoring object data 12 Performance statistics data 13 Configuration information data 21 Server monitoring agents 100, 151-0, 151 -1,151-2, 151-3 CPU
101 CPU core 102 Cache memory 103, 129, 158, 167 Latency variable queue control circuit 105, 107, 109, 120, 159, 160, 161, 167, 168, 169, 173, 174, 175 Queue control circuit 104, 106, 154, 155, 164, 170 Address queue 108, 110, 156, 157, 165, 166, 171, 172 Data queue 111, 152 Address bus 112, 153 Data bus 114, 150, 182 Chipset 121 Write pointer 122 Pointer control circuit 123 Read pointer 124 Write pointer signal 125 Release signal 126 Read pointer signal 127 Set signal 128 Release completion signal 130 Delay control circuit 131 Wait counter 132 Delay value register 33 comparator 180 the memory controller 181 memory module 183 I / O bridge 184 PCI devices 162,163,183,184,185,186 multiplexer 200 hardware 201 firmware 202 OS
203 Application.

Claims (6)

稼動中にメモリレイテンシを変更可能とするインタフェースを有する1台以上の計算機から構成される業務サーバと、前記業務サーバからの応答時間を計測するエージェントプログラムが稼動する1台以上のクライアントと、前記エージェントプログラムが計測した前記応答時間の統計データを作成し目標性能値の比較を行う性能監視処理とメモリレイテンシと応答時間の相関関係を表したデータから適当なメモリレイテンシを求め、前記業務サーバのメモリレイテンシを変更し、更にメモリレイテンシを変更した後の前記業務サーバの前記応答時間をフィードバックして前記目標性能値を維持するように前記業務サーバのメモリレイテンシを制御する管理サーバとがネットワークを介して接続された計算機システム。 A business server composed of one or more computers having an interface capable of changing the memory latency during operation, one or more clients on which an agent program for measuring a response time from the business server operates, and the agent Appropriate memory latency is obtained from performance monitoring processing for comparing the target performance values by creating statistical data of the response time measured by the program and data representing the correlation between the memory latency and the response time, and the memory latency of the business server. And a management server that controls the memory latency of the business server so as to maintain the target performance value by feeding back the response time of the business server after changing the memory latency. Computer system. CPUコアと、
キャッシュメモリと、
CPUコアがアドレスバスに発行するメモリアクセストランザクションを格納する第1のキューと、
メモリ空間上に配置され、前記第1のキューが格納されたメモリアクセストランザクションを送出する間隔を設定するための待ちサイクル指定レジスタと、前記第1のキューのトランザクション送出の待ち時間をカウントする待ちサイクルカウンタと、前記待ちサイクル指定レジスタに格納された値と前記待ちサイクルカウンタの格納された値とを比較する比較回路と、前記比較回路が前記待ちサイクル指定レジスタと前記待ちカウンタの格納した値が一致したと判定したとき前記第1のキュー内の先頭のメモリアクセストランザクションを前記アドレスバスに送出させる第1のキュー制御回路を備え、もってメモリレイテンシを制御するレイテンシ制御回路と、
前記アドレスバスから前記CPUコアに対するメモリアクセストランザクションを格納する第2のキューと、
前記第2のキューを制御する第2のキュー制御回路と、CPUコアからメモリに書き込むデータトランザクションを格納する第3のキューと、
前記第3のキューを制御する第3のキュー制御回路と、
メモリから送られたデータトランザクションを格納する第4のキューと、
前記第4のキューを制御する第4のキュー制御回路を有するCPU。
CPU core,
Cache memory,
A first queue for storing memory access transactions issued by the CPU core to the address bus;
A wait cycle specifying register for setting an interval for sending a memory access transaction in which the first queue is stored, and a wait cycle for counting a waiting time for sending a transaction in the first queue. A counter, a comparison circuit for comparing the value stored in the wait cycle designation register with the value stored in the wait cycle counter, and the comparison circuit matches the values stored in the wait cycle designation register and the wait counter A latency control circuit for controlling the memory latency, comprising a first queue control circuit for sending the first memory access transaction in the first queue to the address bus when it is determined that
A second queue for storing memory access transactions from the address bus to the CPU core;
A second queue control circuit for controlling the second queue, a third queue for storing a data transaction to be written from the CPU core to the memory,
A third queue control circuit for controlling the third queue;
A fourth queue for storing data transactions sent from memory;
A CPU having a fourth queue control circuit for controlling the fourth queue.
CPUと接続するアドレスバスおよびデータバスと、
PCIデバイスと接続するI/Oブリッジと
メモリコントローラと、
他のチップセットとのインタフェースと、
前記CPUが前記アドレスバスに発行したメモリアクセストランザクションを格納するキューと、
メモリ空間上に配置され、前記キューが格納されたメモリアクセストランザクションを送出する間隔を設定するための待ちサイクル指定レジスタと、前記キューのトランザクション送出の待ち時間をカウントする待ちサイクルカウンタと、前記待ちサイクル指定レジスタに格納された値と前記待ちサイクルカウンタの格納された値とを比較する比較回路と、前記比較回路が前記待ちサイクル指定レジスタと前記待ちカウンタの格納した値が一致したと判定したとき前記キュー内の先頭のメモリアクセストランザクションを前記アドレスバスに送出させるキュー制御回路を備え、もってメモリレイテンシを制御するレイテンシ制御回路とを有するチップセット。
An address bus and a data bus connected to the CPU;
I / O bridge and memory controller connected to PCI devices,
Interface with other chipsets,
A queue for storing memory access transactions issued by the CPU to the address bus;
A wait cycle designation register for setting an interval for sending a memory access transaction in which the queue is stored, a wait cycle counter for counting a waiting time for sending a transaction in the queue, and the wait cycle A comparison circuit for comparing a value stored in the designated register with a value stored in the wait cycle counter; and when the comparison circuit determines that the values stored in the wait cycle designation register and the wait counter match. A chip set comprising a queue control circuit for sending the first memory access transaction in the queue to the address bus, and a latency control circuit for controlling memory latency.
CPUと接続するアドレスバスおよびデータバスと、
PCIデバイスと接続するI/Oブリッジと、
メモリコントローラと、
他のチップセットとのインタフェースと、
前記CPUがアドレスバスに発行したメモリアクセストランザクションを格納する第1のキューと、
メモリ空間上に配置され、前記第1のキューが格納されたトランザクションを発行する間隔を設定するための第1の待ちサイクル指定レジスタと、前記第1のキューのメモリアクセストランザクション送出の待ち時間をカウントする待ち第1のサイクルカウンタと、前記第1の待ちサイクル指定レジスタに格納された値と前記第1の待ちサイクルカウンタの格納された値とを比較する第1の比較回路と、前記第1のが値の一致を判定したとき前記第1のキュー内の先頭のメモリアクセストランザクションを前記アドレスバスに送出させる第1のキュー制御回路を備え、もってメモリレイテンシを制御する第1のレイテンシ制御回路と、
前記I/Oブリッジ経由で前記PCIデバイスが発行したDMAトランザクションを格納する第2のキューと、
メモリ空間上に配置され、前記第2のキューが格納されたトランザクションを発行する間隔を設定するための第2待ちサイクル指定レジスタと、前記第2のキューのDMAトランザクション送出の待ち時間をカウントする第2の待ちサイクルカウンタと、前記第2の待ちサイクル指定レジスタに格納された値と前記待ちサイクルカウンタの格納された値とを比較する第2の比較回路と、前記比較回路が値の一致を判定してたとき前記第2のキュー内の先頭のDMAトランザクションを前記アドレスバスに送出させる第2のキュー制御回路を備え、もってメモリレイテンシを制御する第2のレイテンシ制御回路とを有するチップセット。
An address bus and a data bus connected to the CPU;
An I / O bridge that connects to PCI devices,
A memory controller;
Interface with other chipsets,
A first queue for storing memory access transactions issued by the CPU to the address bus;
A first wait cycle specification register for setting an interval for issuing a transaction in which the first queue is stored, and a waiting time for sending a memory access transaction in the first queue is counted. A waiting first cycle counter, a first comparison circuit for comparing a value stored in the first waiting cycle designation register with a value stored in the first waiting cycle counter, and the first comparison circuit A first latency control circuit for controlling the memory latency by providing a first queue control circuit for sending the first memory access transaction in the first queue to the address bus when it determines that the values match.
A second queue for storing DMA transactions issued by the PCI device via the I / O bridge;
A second wait cycle designating register for setting an interval for issuing a transaction in which the second queue is stored, and a second wait cycle transmission time count for counting DMA transactions in the second queue; 2 wait cycle counters, a second comparison circuit that compares the value stored in the second wait cycle designation register with the value stored in the wait cycle counter, and the comparison circuit determines whether the values match. A chip set comprising a second queue control circuit for sending the first DMA transaction in the second queue to the address bus, and a second latency control circuit for controlling memory latency.
クライアントから業務サーバに対して発行したトランザクションの応答時間と目標応答時間と前記業務サーバが提供するサービス毎に予め集めたメモリレテインシと応答時間の関係表と前記業務サーバのメモリレイテンシの遅延の大きさを示す構成情報と前記応答時間の統計値と前記業務サーバの稼動状態と前記目標性能から前記応答時間の統計値を前記目標応答時間に近づける適当なメモリレイテンシの遅延の大きさを選択をする判断をする手順書である性能ポリシーを入力とし、前記応答時間の統計値が前記目標応答時間を予め決めておいた範囲を逸脱しているとき、前記業務サーバに対してメモリレイテンシの遅延の大きさを設定する命令を出力するサーバ管理プログラム。 Response time and target response time of transactions issued from the client to the business server, a relationship table of memory latency and response time collected in advance for each service provided by the business server, and the delay of the memory latency of the business server From the configuration information indicating the response time, the statistical value of the response time, the operating state of the business server, and the target performance, an appropriate memory latency delay magnitude that brings the statistical value of the response time close to the target response time is selected. When a performance policy, which is a procedure manual for making a decision, is input, and the statistical value of the response time deviates from a predetermined range of the target response time, a large memory latency delay is caused for the business server. A server management program that outputs instructions to set the file size. 計算機の起動時にプラットフォームを初期化するファームウェアを搭載した計算機システムであって、前記ファームウェアの設定画面に移るためのキー入力の前に前記計算機のメモリレイテンシの遅延を大きくする設定するステップと、前記キー入力表示の後、予め設定したタイミングで前記計算機のメモリレイテンシの遅延を小さくするステップと、前記ファームウェアがメッセージを表示するとき前記計算機のメモリレイテンシの遅延を大きくするステップと前記メッセージ表示の後、予め設定したタイミングで前記計算機のメモリレイテンシの遅延を小さくするステップを有する前記ファームウェアを搭載することを特長とした計算機システム。 A computer system equipped with firmware that initializes a platform at the time of startup of the computer, the step of setting the delay of the memory latency of the computer to increase before the key input for moving to the setting screen of the firmware, and the key After the input display, the step of reducing the delay of the memory latency of the computer at a preset timing, the step of increasing the delay of the memory latency of the computer when the firmware displays a message, and after displaying the message, A computer system comprising the firmware having a step of reducing a delay in memory latency of the computer at a set timing.
JP2004272689A 2004-09-21 2004-09-21 A computer system that guarantees a constant response time. Expired - Fee Related JP4407445B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004272689A JP4407445B2 (en) 2004-09-21 2004-09-21 A computer system that guarantees a constant response time.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004272689A JP4407445B2 (en) 2004-09-21 2004-09-21 A computer system that guarantees a constant response time.

Publications (2)

Publication Number Publication Date
JP2006091946A true JP2006091946A (en) 2006-04-06
JP4407445B2 JP4407445B2 (en) 2010-02-03

Family

ID=36232903

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004272689A Expired - Fee Related JP4407445B2 (en) 2004-09-21 2004-09-21 A computer system that guarantees a constant response time.

Country Status (1)

Country Link
JP (1) JP4407445B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7991991B2 (en) 2007-02-22 2011-08-02 Fujitsu Limited Apparatus operable under an operating system, method of controlling apparatus and computer-readable recording medium
CN110321272A (en) * 2019-06-24 2019-10-11 西北工业大学 A kind of highly reliable civil aircraft flight control computer performance evaluation methodology of high safety

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7991991B2 (en) 2007-02-22 2011-08-02 Fujitsu Limited Apparatus operable under an operating system, method of controlling apparatus and computer-readable recording medium
CN110321272A (en) * 2019-06-24 2019-10-11 西北工业大学 A kind of highly reliable civil aircraft flight control computer performance evaluation methodology of high safety
CN110321272B (en) * 2019-06-24 2023-01-06 西北工业大学 Method for evaluating performance of civil aircraft flight control computer with high safety and high reliability

Also Published As

Publication number Publication date
JP4407445B2 (en) 2010-02-03

Similar Documents

Publication Publication Date Title
US7577770B2 (en) System and method for performance monitoring and reconfiguring computer system with hardware monitor
US8108632B2 (en) Kernel and application cooperative memory management
US10620877B2 (en) Managing a collection of data
Molka et al. Detecting memory-boundedness with hardware performance counters
US8943284B2 (en) Systems and methods for integrating compute resources in a storage area network
WO2012163217A1 (en) Hardware basic tool-based architecture and method for monitoring performance of virtual system
US20080270770A1 (en) Method for Optimising the Logging and Replay of Mulit-Task Applications in a Mono-Processor or Multi-Processor Computer System
US10831539B2 (en) Hardware thread switching for scheduling policy in a processor
JP2014149606A (en) Resource usage totaling program, resource usage totaling method and resource usage totaling device
Qiao et al. Hermit:{Low-Latency},{High-Throughput}, and Transparent Remote Memory via {Feedback-Directed} Asynchrony
CN111612373B (en) Public cloud system performance consistency adjustment method
US20090320000A1 (en) Method and system for power management using tracing data
JP4407445B2 (en) A computer system that guarantees a constant response time.
KR20030041612A (en) A method of realtime analyzing server bottlenecks
van der Grinten et al. Managarm: A Fully Asynchronous Operating System
JP2023538241A (en) Monitoring memory locations to identify whether data stored in the memory location has been modified
Pettis et al. Implementation Guides for a Homogeneous Architecture for Power Policy Integration in Operating Systems
WO2016084150A1 (en) Server computer, computer system, and method
Supalov et al. Addressing System Bottlenecks
Döbel Improving system performance using application-level hints
Benke Flexible Monitoring of Storage I/O

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060425

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070314

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090414

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090602

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090818

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090901

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091102

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131120

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees