VISUALIZING A LARGE SCALE BEOWULF CLUSTER USING WEB AND VRML TECHNOLOGY

observancecookieSecurity

Nov 5, 2013 (3 years and 10 months ago)

74 views








VISUALIZING A LARGE SCALE BEOWULF CLUSTER USING WEB AND VRML
TECHNOLOGY

Putchong Uthayopas, Sompong Techarphonchai, Tawee Iam-ngamsup
Parallel Research Group, CONSYL
Department of Computer Engineering, Faculty of Engineering,
Kasetsart University, Bangkok, Thailand
Phone: (662) 942-8555 Ext. 1416
Email: pu@ku.ac.th


ABSTRACT

As cluster system becomes larger and more complex, the ability to visualize the
complex system information can significantly ease the task of managing the system. In this
paper, a web based software tool called KCAP has been presented. KCAP consists of a set of
complex tools and script that can converts complex system configuration into 3D
representation. This representation allows the users to effectively navigate and visualize the
cluster system. KCAP also comes with Java based real-time performance monitoring
subsystem that continuously monitors system performance parameters and presents the
information in 3D form using VRML and Java EAI technology. With this tool, large Beowulf
cluster can be visualizes effectively using even on a network with very low bandwidth.
Currently, KCAP is an open source software that available for download by any users.

INTRODUCTION AND RELATED WORK

Beowulf cluster [6], a low cost high-performance Linux cluster, becomes one of the
main high performances computing system used by various organizations. Recently, very
large Beowulf cluster system with 64 to 1000 nodes started to appear. For examples, PIRUN
system at Kasetsart University, Thailand [7] consists of 75 nodes Pentium II 500 MHz
system, Chiba City [1] consists of 256 nodes 512 processors system. A system that consists
of more than a thousand nodes has already been in existence at Stanford University [2]
For large scale cluster system, one of the major challenge is to develop a scalable
software tool that can navigate effectively into the system and presents the information
obtained in a very informative way. Web and VRML is a well-established technology that can
be used for this task. Web technology provides many benefits such as uniform and well
defined user interface, location transparency, standard based implementation, and effective
use of network bandwidth. Also, VRML allows us to explore new approach in navigating and
presenting information to user. Using 3D representation, multiple information can be
encapsulated in the form of position, shape, color, size, and texture. This allows much more
information to be carried to user at once. KCAP is design to capitalize all the benefit of web
and VRML technology mentioned earlier.
This paper presents our ideas and implementation technique concerning the
development of KCAP software. The paper is organized as follows. Section 2 stated the
requirements of the software. Section 3 present the system design. Section 4 describes the


implementation while Section 5 discuss the experiences obtained. Finally, Section 6 presents
the conclusion and discusses the possible future we are pursuing.

REQUIREMENTS

In order to provide the necessary functionality in cluster environment, we set up some
design requirements as follows.
• The software must provides a powerful navigation capability that allows user to easily
reach any part of the system and perform some interaction or query the status of that
part.
In this area, web and VRML is a very effective technology that can be used.
• The 3D graphics shapes must represent some meaningful information. We have
experimented with many different metaphors. But this is an are that is still need to
explore more extensively.
• The software must be easy to use and learn. World Wide Web technology is again a
very beneficial since its provides a good and uniform user interface and interaction
model for general users.
• The overall performance such as respond time must be at the acceptable level. This is
a challenging problem especially with the real time monitoring part.
As we consider a large cluster system, the information obtained from the system
appeared in two forms:
• Static Information
This is an information related to physical structure or hardware components of the
cluster such as number of nodes, hardware contained inside , switch, interface. This
information is mostly static. The change to this class of information occurred but not very
frequently.
• Dynamics Information
This class of information is information related to the usage of the system such as
percentage of CPU utilization, memory, I/O, number of users. This class of information
represents the state of the system and is very dynamics. However, the rate of change of the
information is only slow to moderate.
• Real-time Information
This is a class of information that users wants to access in Real-time since the
information seems to change continuously. For this class of information, there is a special
need for a complex subsystem that handles this kind of information.
In order to process the information mentioned above effectively, certain capabilities are
required such as.
• Navigation capability: This is related to how to navigate into the system and select the
component user wants to interact with.
• Search capability: Software much allows users to input at least a simple query and obtain
necessary information about the system. Software can must keep the needed information in
form of databases.
• Filtering capability: User must be able to define an information filter. Software can collect
information from the system and presents only information that is valid according to the
filtering rule.
In the next Section, the design of KCAP and KCAP3D to achieved these goals will be
presented.

SYSTEM DESIGN



In order to fulfill the requirements stated earlier, the software has been designed based
on the ideas as explained in the following subsections.
• Beowulf Cluster Architecture


Figure 1 Typical Cluster Configuration.

Figure 1 illustrates the configuration of smile cluster system, which is a typical
configuration of a Beowulf cluster. Beowulf cluster system usually consists of the following
components:
• Set of nodes which is a PC system that run fully multitasking operating system such as
Linux, or Free BSD
• Dedicated high speed interconnection that links every node in the cluster together
• A file server that provides common file system space
• Gateway which control the access to cluster system and sometime act as a login host
for user of Beowulf system.
For our software, we assume that there must be a web server such as apache installed
gateway machine so the web can be access from outside the cluster. Moreover, we assume
that this web server machine has a right to perform remote execution on each node in the
cluster so that we can execute remote scripts to gather the system information.
• Static Information Handling
In our systems, some information is static or rather change infrequently. This kind of
information includes the system configuration, node configuration, number and type of
component in each node. Figure 2 illustrate the methods used to handle this type of
information.
This information such as system configuration and topology will be extracted and saved
at the installation time in the static information storage. When user request to view the
information, this information will be retrieved from the storage, transform into an appropriate
representation by visualization filter, then send back to user. Perl and C is the main
programming language that we use to develop the information filter.



Information
Extractor
Static
Information
Storage
Visualization
FIlter
Request
Handler
Web Browser
Large Scale Cluster System

Figure 2 Static Information Handling in KCAP3D

• Dynamics Information Handling
Dynamics information of the system state has been handle in a way that is similar to
static information handling. The main different is in the part of information extractor. This
part will be done on the fly. For example, when user request to see the list of processes that
are being executed throughout the cluster. The request is handle by starting the execution
thread of parallel ps command. Then information gathered will be sent to visualization filter
to be convert to and present to user later.
• Real-time Information Handling
The real-time information monitoring part is based on our previous work on real-time
monitoring subsystem and management tool [8][9]. The overall concept of this part is
presented in Figure 3. Portable real-time monitoring system consists of a daemon called CMA
(Control and Monitoring Agent) that run on each node and collect system information
continuously. This information is reported to a centralize server called SMA (Systems
Management Agent). This server help keeps track of system information for later retrieval and
reduce the interference caused by the information request. In addition, this SMA response to
user query of system status and forward some command to CMA. All daemon communicating
using UDP protocol in order to reduce the traffic.
An API called RMI (Resources Management Interface) has been provided to access
system-monitoring service. This interface is available in C, TCL/TK, and Java Class library. ,
Java interface allows us to easily integrate the web technology into the monitoring system.




Figure 3 RMI Structure.

• 3D Visualization using VRML
The VRML or Virtual Reality Modeling Language [3][4][5] is a standard scene
description language that can be used to display three dimension scene and object over the
web. A piece of software called VRML plug-in must be installed in web browser to display
the information properly. Some modern web browser such as Microsoft Internet explorer 5.0
has already support VRML component intrinsically. VRML consists of several basics
components such as node that describes about features of object in the scene and fields that
represent the object attribute such as color, location.
Behavior of VRML component can be controlled using Java based Interface called External
Authoring Interface or EAI. These EAI classes allow programmers to intercept the events
happened inside VRML scene and modify field values in any nodes. The interface between
Java code and VRML scene has been done using a special node called “Script node”.
In KCAP, EAI has been used as a bridge between real-time monitoring subsystem and
3D Real-time performance display code. A Java applet on the browser will open a network
connection to real-time monitoring system on the cluster. As the system information changed,
it will be updated into VRML scene using EAI interface.

IMPLEMENTATION

• 2D Web Interface
KCAP Consists of both 2-D and 3-D based user interface. For 2-D web based interface,
users can access many system information such as
• General configuration of the cluster system.
• System status such as kernel message and kernel module, network configuration, hard
disk space, memory space, user status, process status, and number of users in the
system.
• Real-time Monitoring – This section can display real-time system information such as
CPU, Context switch, main board temperature, load average, memory, page, swap
page.




(a)


(a)


(b)
Figure 4 KCAP User Interface (a) First and System Configuration (b) Real-time
Monitoring

• 3-D User Interface
The 3-D user interface provides many benefits. Users have more freedom to navigate
into the user interface space. In addition, 3D interface provides much more information at the
same time. The shape, texture, color, position, width, height, depth of one object can
encapsulate 7 kinds of information into a single objects. This is much more powerful than the
conventional user interface model can define. The main problem is that the user interface
design become more of an art which create certain difficulty to computer scientists. The
following sections will explain some of the ideas we use to build our user interface.




Figure 5 First KCAP Screen

Figure 4 shows the first screen of our user interface. We use the building metaphor to
represent the cluster system. Please note that the tree that appears in the scene outside the
building also represents a number of users currently using the system.
Figure 5 shows the inside of the building. Various 3-D icons are used to represent the
functions that operate on the whole collective. For example, the process Icon represents a part
of software that allows user to query about the process running on all nodes in the cluster.


Figure 6 Inside the Building

The real-time monitoring part, which can be accessed here, is shown in Figure 6. As
user select the object, a Java applet will be loaded from web server. This Java applet will
contact back to real-time monitoring subsystem that running on the cluster. Again, EAI is
used to change VRML scene according to system characteristic changes.




Figure 7 KCAP Real-time Monitoring part

Behind the building, user will see a group of machines. Each one represents a real node
in the cluster. This allows user to easily select the nodes that they wants to obtain the detail
information. The information available includes the process status, File system structure, user
information, and hardware information.




Figure 8 KCAP 3D display nodes in cluster

EXPERIENCES

After implementing KCAP, we found that:
• Web based 2D interface is very flexible and consumed only a small amount of network
bandwidth. However, the expressiveness of the interface are also more limited than 3-D
interface which provides much more opportunity to explore a better user interface design.
• Current version of KCAP System has been implemented using Perl, C, and Java language.
We found that each language consists of both strength and weakness. Script language such
as Perl is good in text-based processing while C delivers an excellent performance and
interoperability in Unix environment. However, in Internet and web environment, Java is the
best choice.
• With these 3-D navigation, it is very easy for users to navigate inside a very complex and
large scale cluster. However, VRML requires a substantial good graphics support and high
computing capability on the client machines. We also found that good graphics hardware is
much more important than computing power.




(a)


(b)



(c)
Figure 9 Node Information (a) Processes (b) File System (c) Hardware Configuration

• Designing the user interface seems to be an easy task. In contrast, we found it is more
complex that expected and most of the time, the concept that seems to be good turns out to
be very poor after the implementation finished. So, rapid prototyping is an effective method
to be used here.
• Linux system is still lack behind severely in term of 3-D and VRML support. In this project,
we mostly used Microsoft Internet Explorer and VRML plug-in on Windows 98 platform.
However, due to what seems to be a big memory leak. The system still hang-up after many
uses or after receiving large image. Much more work needs to be done in this area to provide
a stable system users.

CONCLUSION

The contribution of our work is to propose an approach to present a complex
information in large-scale cluster system using web and VRML technology. Also, we have


built new open-source software tools to allow users to easily navigate in side the cluster using
3-D technique. With this software, users can understand more about the efficient operations of
this class of system. The same approach can be applied to many systems such as
Internet/Intranet, Distributed System, and Distributed Database. The software is available for
download by visiting our main page at http://smile.cpe.ku.ac.th.
We are currently working on expanding the tool by:
• Adding the support for hierarchical cluster system. With the current progress, we
expect to see a cluster of 10000 nodes in a very near future. To make a system to scale
to such level, the organization of the system will be in the form of some hierarchical
structure. So, there is a need to provide the support in KCAP3D.
• Including more complex navigation tools into user space, process space, file space and
much more information obtained from the systems.
• Adding database future and explore a way to make a query and representing the results
in web based 3-D environment.

ACKNOWLEDGMENT

This research has been funded by the Faculty of Engineering, Kasetsart University
Research Grant, Kasetsart University Research and Development Institute SRU Research
Grant, and AMD Corporation Research Grant.

REFERENCES

(Chibacity) Chiba City Project, "http://www.mcs.anl.gov/chibacity"
(Genetics) Genetics Programming Machines,
http://www.geneticsprogramming.org

(Grigore,1994) Burdea., Grigore., and Philipe Coiffer., VIRTUAL REALITY
TECHNOLOGY, New York, NY: John Wiley & Sons,1994.
(Jamsa, 1997) Kris Jamsa,Ph.D., Phil Schmauder., Nelson Yee., VRML PROGRAMMER’S
LIBRARY, Jamsa Press,Las Vegas,USA,1997.
(Lea,1996) Rodger Lea., Kouichi Matsuda., Ken Miyashita., JAVA fOR 3D AND VRML
WORLDS, New Riders Publishing,Indianapolis,Indiana,USA,1996.
(Sterling, 1995) Thomas Sterling, Donald J. Becker, Daniel Savarese, John E. Dorband Udaya A.
Ranawake, Charles V. Packer, “BEOWULF: A Parallel Workstation for Scientific
Computation”, Proceedings of the International Conference on Parallel Processing
ICPP95, 1995.
(Uthayopas-a, 2000) Uthayopas, P., Sanguanpong, S. and Poovarawan, Y,2000 “Building a
Large Scale Internet Superserver for Academic Services with Linux Cluster
Technology”. International Workshop on Asia Pacific Advanced Network and Its
Application (IWS-2000), Tsukuba, Japan, February 15-17, pp. 65-71.
(Uthayopas-b,2000) Putchong Uthayopas, Jullawadee Maneesilp, Paricha Ingongnam,
“SCMS: Integrated Cluster Management Tool for Beowulf Cluster System” , in
Proceedings of the International Conference on Parallel and Distributed Proceeding
Techniques Applications 2000 (PDPTA’2000), Las Vegas, Nevada, USA, 26-28 June,
2000.
(Uthayopas-c,2000)Putchong Uthayopas, Thara Angskun, Jullawadee Maneesilp, System
Main Framework and Tools for Beowulf Cluster”, in Proceedings of HPCAsia2000,
Beijing, China, May 2000.