Papers/Multi_Core기반 테스트

Analysis of Distrubuted Java Application Using Dynamic Inst.

tomato13 2008. 7. 2. 09:12

www.dps.uibk.ac.at/projects/aksum/publications/cluster2005.pdf

 

이 논문은 Distributed application에 대해서 자동으로 performance problem region을 발견하여 나타내는 방법을 소개한다. 그리고 이를 적용한 사례를 보여준다. 주요 내용을 인용하면 아래와 같다.

 

아래 내용은 java기반 dynamic instrumentation service에 대한 설명이다.

In Java 1.5, the Java API was also improved, providing a subset of the functionality found in JVMTI. The monitoring and management API provides, for example, timers for obtaining per thread CPI time and user time, garbage collection time, and synchronization time. In addition, the instrumentation API introduced in Java 1.5 allows one to change the bytecodes of classes dynamically and to intercept classes before they are loaded, which makes it possible to create sophisticated instrumentation and monitoring agents written purely in Java (and therefore platform independent).

 

논문에서는 Twillight와 Aksum 을 소개한다. 전자는 application 내부의 agent thread이며 후자는 host side의 profiling info. analyzer이다. 아래는 Twillight에 대한 설명이다.

Twillight accepts four types of requests: snapshot requests, SIR requests, instrumentation requests, and control request.

 

다음은 Aksum에 대한 설명이다.

Aksum uses JavaPSL to define and customize performance problems in a systematic and portable way. A performance property characterizes a specific negative performance behavior of an application based on static data and dynamic data.

......

The instrumentation and monitoring engine decides what must be instrumented in the application during its execution by analyzing the class stacks and the files executed. The engine asks periodically for the call stacks of the execution and instruments the methods found according to the algorithm.