Realtime Monitoring for Parallel Distributed Processing System based ...

1 downloads 0 Views 493KB Size Report
Charlotte[3] is a parallel platform designed to allow any host, that is connected to the internet, to provide resources through the web browser, using pure Java. It.
Realtime Monitoring for Parallel Distributed Processing System based on Internet

Young-Sik Jeong, Bock-Ja Park, Eun-Ha Song Department of Computer Engineering, Wonkwang University, 344-2 Shinyong-Dong, Iksan, Jeonbuk 570-749, Korea {ysjeong, ppojja, ehsong}@wonkwang.ac.kr

Abstract Recently many researches are going on to use idle hosts connected to the Internet for parallel/distributed processing of large scale applications. These researches did not take into account the realtime monitoring of the host. There are difficult to predict the performance changes and states of a host. Therefore, the realtime monitoring is required to deal with the performance change and the state of host during the actual execution time. This paper introduces the real-time monitoring and visualizations over the Parallel Distributed Processing(PDP), which is a parallel computing framework on the Internet. We develop the Realtime Host Monitor(RHM) that should perform the real-time monitoring in order to improve the performance of a parallel distributed processing on PDP scheme. It is shown that RHM could be used to verify the effectiveness of PDP’s task allocation algorithms. Through monitoring, it is also found out that the CPU usages of host has greater effect on the performance than the CPU speed. Keywords : Parallel/Distributed Processing, Real-time Monitoring, High Performance Computing, Internet, Java

1. Introduction Researches are going on to use many idle hosts connected to the Internet for parallel/distributed processing of large scale applications[1,2,3].

These, such as local balancing, fault tolerance, resource

allocation and management, and task scheduling, are being done to improve the speed of executions through sharing host resources on the internet-based parallel/distributed processing.

JavaParty[1] builds

a shared memory space by providing a mechanism, using JavaRMI and regular sockets, to automatically distribute objects to hosts, but it has yet to present a solution to apply it to the internet environment. ParaWeb[2] presents a solution to utilize web computing resources by using message transmission methods through Java parallel class libraries.

However, it could not present a solution for balanced task

allocations in the message transmission methods. Charlotte[3] is a parallel platform designed to allow any host, that is connected to the internet, to provide resources through the web browser, using pure Java. It provides fault tolerance and strategies for balanced task allocations. However, it has the disadvantages of high traffic from virtual memory managements and large overheads. -----------------------------------------------------------------------------------------------------------------------------* This research was supported by University IT Research Center Project

These researches did not take into account the realtime monitoring of the host. Specially, it is impossible to predict the CPU usage of each host during the execution time. Because it is further compounded by the fact that each host can be also accessed by many users, and the number of internal process of each host constantly changes. In other words, they should not consider the changes in the hosts’ performances during the task execution time, and therefore, the total execution time will increase. And also, host fault refers to various faulty states of a host, such as effects due to remote users’ actions, system downs, and disconnections due to network instability. However, the administrator cannot know the detailed reasons for host faults. Therefore, the real-time monitoring on the participating hosts is required during task execution to deal with changes in the performances and states of the hosts.

2. Related Works In the past years several projects have confirmed the ability of the Internet for massive parallel computing. Some of these projects were also developed in Java; JPVM, JavaParty, ATLAS, Charlotte, JET, POPCORN, Javelin, and Java//. Most of these systems lack some support of fault-tolerance, scalability, supports for interoperability with other existing tools and a module of statistics to motivate Internet users to participate in Web-based computations. Table 1 makes a relative comparison between some of these projects. Table 1 : Relative Comparison of Some Projects :Web, z: Support, S : Partial Support, ³ : Not Support System JPVM

JavaParty

ATLAS

ParaWeb

Charlotte

JET

POPCORN

Javalin

Java//

PDP

JVM

z

z

z

³

z

z

z

z

z

z

Message Passing

z

³

³

³

³

z

³

z

³

³

Remote Call Method

³

z

³

³

³

³

z

³

z

z

Remote Thread ObjectOriented Programming

³

³

z

z

z

³

³

³

³

³

³

z

³

³

³

³

z

³

z

z

Extensibility

³

³

S

z

z

z

z

z

³

z

Virtual Memory

³

z

³

³

z

³

³

³

³

³

Load Balancing

³

³

z

³

S

³

S

z

³

z

Fault Tolerance

³

³

³

³

S

z

S

³

³

z

Dynamic Host Management

³

³

³

³

³

³

³

³

³

z

Property

PDP provides a simple yet efficient infrastructure that supports several important issues such as ease of use, scheduling, load balancing, fault tolerance, and dynamic host management and so on. In order to improve the performance of a parallel distributed processing in PDP scheme, we develop the realtime host monitoring that is possible to monitor the resource usage of each host.

3. PDP System Fig.1 illustrates the basic concept of PDP[4] based on the Internet. A Java-based global computing

infrastructure was used to develop PDP, which is a parallel computing framework over the Internet. In this model, there are three kinds of participating entities; Manager, Host, Requester. The Requester is a process seeking computing resources, The Host is a process offering computing resources, The Manager is a process that coordinates the supply and demand for computing resources. Fig. 2 presents the simple procedure for running PDP. Idle Host 1

Manager

Idle Host 2

Hosts

Manager Idle Host 3

Participation Task Allocation

Internet A large-scale application

Requester

Idle Host 4

Login / Request

Result

Idle Host 5 Idle Host 6 Idle Host 7

Requester

Basic Concept of PDP diagram

Simple Control Flow of PDP

PDP fragments the large scale application into small units, or tasks. Tasks are then processed in parallel through the key algorithms. PDP’s task allocation algorithm is classified into static task allocation and dynamic task allocation, depending on whether the participating hosts are dynamically managed or not. During the static phase, the addition of new hosts and the secession of hosts does not occur. In this phase, PDP has three cockpit algorithms: the Uniform Task Allocation (UTA), the CPU Performance Task Allocation (CPTA), and the Static Adaptive Task Allocation (S_ATA). In the dynamic phase, the number of participating hosts may be changed during the execution time and PDP has one Dynamic Adaptive Task Allocation (D_ATA) algorithm based on S_ATA. UTA is a very simple algorithm. It is executed by equally distributing a certain amount of tasks to each host regardless of the CPU capacity of the participating hosts. Each host then executes the tasks and their results are directly called back to the requester, using the RMI reference value. CPTA is more common than UTA because the connected hosts are distinguished by their different CPU capacities, the CPTA algorithm is executed by allocating the tasks to each host based on its CPU capacity. For evaluation of the CPU capacity, the LINPACK[10] benchmark algorithm is used. However, it is impossible to predict the performance changes of each host during the execution time because the locations of hosts are geographically too far from one another. The prediction of performance changes is further compounded by the fact that each host can be also accessed by many users, and the number of internal process of each host constantly changes. These problems are resolved by the static adaptive task allocation(S_ATA). Due to the autonomous character of the Internet, system faults can result in the secession of host connection to the manager. Specifically, network failure or internal defects of each host may unexpectedly disable the sharing of resources. In order to support that, we use to the dynamic adaptive task allocation (D_ATA). The architecture showing interrelation between each element in PDP is demonstrated in Fig. 3. Communications between each package are done by message forwarding and remote method call, using session or JavaRMI. Fig. 4 is an actual example showing about D_ATA based on S_ATA. Host2 and Host3 are added to complete the unexecuted tasks of Host0 and Host1 while they are in active execution and the unexecuted tasks are reallocated to the four hosts and the tasks are being completed. Also, it is shown that the unexecuted tasks of Host1 are reallocated to Host0 when host1 has occur the fault. At that

time, the other hosts are continuously executed. Task Result

Requester

Task Processor

GUI

RequestApplet

Task Spec.

Host 2

Task Scheduling Result

Host 0

Session or RMI

Entry

Controller

Schedule

Schedule

Application

Task result

Dynamic Registry

Manager

Host 3

Host 2, 3 : Dynamic Host Insertion

Host 1

Host 1 Failure → Host 0 Reallocation

VM(Virtual VMManager)

Session or RMI Task Spec, Control message

HostBroker

Task result info.

Processor

Dynamic Processor Task Proxy

Host HostApplet

Static Processor

Architecture of PDP

Actual Example of PDP

However, these algorithms have the disadvantage of considering only the current task progress and not the actual host performance. RHM is a system that monitors the resource usage in each host during the actual execution time in order to improve the performance of parallel processing on PDP system.

4. Realtime Host Monitor 4.1 Architecture of RHM Functionally, RHM is divided into RHMMonitor and RHMWindow. RHMMonitor collects, saves, and processes host information and is inserted in the host and manager of PDP.

RHMWindow takes charge

of the visualization and is inserted in the manager of PDP. The RHMMonitor in the PDP host is composed of DLLs for extracting resource information, ResBroker that acts as an interface. RHMMonitor, in the manager of PDP, must be compatible with the PDP for feedback. GUI

ResInfoDLL JNI(Java Native Interface)

ResInfo View

ResTime View

Resource Information

ALLHost View

Event

ResBroker

HostFactor Resource Information

Resource Information

STATIC ResRegister

RPEntry HostEntry RHMSocket

ResTransmission

StateGraph View

DYNAMIC

Socket Web Web

RHMMonitor architecture of PDP Host

RHMMonitor

Factor Observer Display Event

RHMWindow

Job/PDP Information

HostEntry TaskReuireBroker StaticScheduler PDPWindow

PDPManager Socket Web Web

RHM Architecture of PDP Manager

Information for monitoring the hosts can be classified into hardware information that is directly extracted from the PDP’s hosts, and monitoring information that the PDP’s manager received. First, the hosts’ hardware information is classified into static resource factor and dynamic resource factor. Static resource factors are information that does not change with time, such as memory and CPU information. Dynamic resource factors are information that changes with time, such as resource usage, system objects, and information of memory usage.

4.2 Implementation of RHM Visualization is an important in monitoring for providing accurate analyses to the administrators and system designers.

RHM’s RHMWindow is in charge of visualization and the provided interface is

composed of HostListPanel, SimplePanel, JobInfoPanel, and DisplayViewPanel.

Implementation of RHM Several components come together to for one view. Information is displayed in magnification, graph, progress bar, text, and table formats.

5. Monitoring Evaluations While the PDP’s task allocation algorithms are being executed, the real-time monitoring information presents the analysis results on the participating hosts’ performance changes. The test-bed is composed of four hosts; Host0(Thekey) has 2410 CPU speed and 45.778MLOPS, Host1(hypermedia), Host2(park) and Host 3(forvee) have also 731, 1500, 1296 CPU speed and 42.917, 45.778, 68.667 MLOPS respectively. H 3P i i i

(a) UTA

(b) CPTA

(c) S_ATA

(d) D_ATA

Example of Monitoring In case of UTA, tasks are equally allocated regardless of performance. Fig. 8(a) shows that there are differences in the ranges of the CPU usages of Host1, Host0, and Host2. Host1, with the lowest performance, is almost 100%, while Host2, with the best performance, is close to 90%.

In other words,

monitoring shows that the host’s CPU usage affects the performance. In case of CPTA, tasks are allocated according to each host’s performance. From Host0’s graph in Fig. 8(b), it can be seen that the host’s CPU Usage and Job Process Usage is greater than other hosts’. It can be deduced that there are other process running on Host0 other than the Job Process. In S_ATA, tasks are allocated according to the hosts’ performances and when a host completes its task, it receives the slowest host’s task and processes it. In Fig. 8(b), there were large differences between the hosts’ execution times, but in Fig. 8(c), the hosts demonstrate almost equal execution time.

It can be seen that Host0’s tasks were reallocated to improve

overall performance. If a new host is added, the task of the host with the lowest performance is reallocated and is processed. In Fig. 8(d), Host 3 participated at the marked line. It can be seen that the total execution time became shorter than that of S_ATA when Host3 was added. The total execution time is affected by the number of hosts and their performances. However, adding too many hosts will induce many reallocation calculations, causing an increase in execution time.

7. Conclusion This paper presented the RHM for host monitoring of PDP, an internet-based parallel/distributed processing system.

RHM provided easy access to each host’s hardware information.

It also provided

various views for the visualization of real-time monitored information. Through RHM, system designers and administrators could identify hosts that participate, leave or generate faults. It was also shown that RHM could be used to verify the effectiveness of PDP’s task allocation algorithms.

Through monitoring,

it was also found out that the CPU usages of the host and the job process has greater effect on the performance than CPU speed. In the future, the resource factors that effect performance must automatically be reflected in task allocation scheduling algorithms. RHM scheduling algorithm must utilize the host performance information to solve the current problems in the constancy of benchmarking.

References [1] Michael Philippsen and Matthies Zenger, "JavaParty-Transparent Remote Objects in Java," In the ACM Workshop on Java for Science and Engineering computation, 1997. [2] T. Brecht, H. sandhu, M. Shan, and J. Talbot, "ParaWeb : Towards World-Wide Supercomputing," In Proc. of the 7th ACM SIGOPS European workshop : System Support for Worldwide Application, Con., Ireland, Sep. 1996. [3] A. Baratloo, M. Karaul, Z. M. Kedem, and P. Wychoff, "Charlotte: Meta-computing on the Weg," The 9th International

Conference

on

Parallel

and

Distributed

Computing

Systems,

Dijon,

France,

http://www.cs.nyu.edu/milan/charlotte/index.html, September 1996. [4] Eun-Ha Song, Young-Sik Jeong, “Development of Dynamic Host Management Scheme for Parallel/Distributed Processing on the Web,” KISS Vol. 8 No 3. 2002. [5] Haban, D. Shin, K. G, "Application of real-time monitoring to scheduling tasks with random execution times," IEEE Transactions on Software Engineering, vol 16 Dec. 1990 pp 1374 -1389. [6] J. E. Baldeschwieler, R. D. Blumofe, and E. A. Brewer, "ATLAS : An Infrastructure for Global Computing," In Proc. of the 7th ACM SIGOPS European Workshop : System Support for Worldwide Application, 1996. [7] Hernani Pedroso, Luis M. Silva, Victor Batista, Paulo Martins, Guilherme Soares and Telmo Menezes, "Webbased Metacomputing with JET," In Proc. of Concurrency : Practice and Experience, 1997. [8] N. Camiel, S. London, N. Nisan, and O. Regev. "The POPCORN Project : Distributed computing over the Internet in Java," In Proc. 6th International World Wide Web Conference, 1997. [9] B. O. Christiansen, P. Cappello, M. F. Ionescu, M. O. Neary, and K. E. Schauser, "Javelin : Internet-Based Parallel Computing Using Java," ACM Workshop on Java for Science and Engineering Computation, 1997. [10] J. Dongarra, J. Bunch, D. Moler, and G. W. Stewart, "LINPACK User`s Guide" SIAM Philadephia PA 1979.