alICE lIGHTWEIGHT GRID COMPUTING MIDDLEWARE

·       ALiCE Grid Architecture

·       Template-Based Grid Programming

·       Implementation Technology

·       Security and Code Safety

·       Enterprise Benefits

·       Key Technology Differences

 

 

ALiCE Grid Architecture

 

ALiCE (Adaptive and scaLable Internet-based Computing Engine) is a portable software technology for developing and deploying general-purpose grid applications and systems. It virtualises computer resources on the Internet/intranet into one computing environment through a platform-independent consumer-producer resource-sharing model, and harnesses idle resources for computation to increase the usable power of existing systems on the network.

 

            Figure 1 shows our ALiCE consumer-producer model. Computer applications are submitted by a computer (referred to as consumer) for execution on idle computers (referred to as producers) through a resource broker residing on another computer. The resource broker regulates consumer’s resource demand and producer idle cycles, and dispatches tasks from its task pool for execution at the producers. A novel application-driven task-scheduling algorithm allows a consumer to select the performance level for each computer application to be executed. 

 

 

Figure 1: The ALiCE Consumer-Producer Model

 

         ALiCE consists of the following main components:

 

a.    A programming model consisting of class libraries and a set of design patterns to support both sequential and parallel computer applications.

 

b.    A user interface to support the submission of task by consumers with performance level selection.

 

c.     A generic computing engine at each producer supports a number of functions.  It notifies the resource broker of its availability, monitors and sends its performance to the resource broker; accepts tasks from the resource broker for execution and estimates its execution performance and returns the result to the resource broker.

 

d.    A resource broker that hides the complexities of distributed computing, and consists of three main components:

 

·        Task Manager – This includes a consumer list containing all registered consumers, a task pool containing computer applications submitted by consumers, a task monitor that monitors the progress of task execution, and for storing the application’s data and computed results;

 

·        Resource Manager – This includes a producer list containing all registered producers, a performance monitor containing workload and performance information received from producers, and a security manager;

 

·        Task Scheduler – Based on the information supplied by the task manager and resource manager, the scheduler performs task assignment by matching the consumer’s computational requirement with the available resources in the network.  

 

 

Template-based Grid Programming

 

ALiCE supports sequential and parametric computer applications to maximise computer throughput.   For parallel computer applications, ALiCE breaks down large computations into smaller tasks that can be distributed among producers tied to a network to exploit parallelism and speedup.  Various parallel programming models are supported through ALiCE Object-based Programming Template library (AOPT).  Task and result objects are exchanged between consumers and producers through the resource broker.

 

 

Implementation Technology

 

ALiCE is scalable and comprises modular components developed using ubiquitous and easy-to-use object-based software technologies.  It is implemented in Java, Java Jini and JavaSpaces for full cross-platform portability, extensibility and scalability.  Java free software applications from being operating system and system dependent.  Java Jini defines a runtime infrastructure that unifies all Java Virtual Machines into a single networked system, and to allow hardware devices to plug together to form impromptu (decentralised) communities. JavaSpaces technology is a simple, expressive, and powerful tool that eases the burden of creating distributed applications.  Processes are loosely coupled and communicate and synchronise their activities using a persistent object store called a space, rather than through direct communication.  To the best of our knowledge, ALiCE is the first grid-computing implementation in the world that is developed using Sun’s Java Jini and JavaSpaces.

 

Efficient task scheduling on a non-dedicated distributed computing environment is a critical issue especially if the performance of task execution is important. The main contributing factors include dynamic changes in computer workload and variations in computing power and network latency.  ALiCE’s load distribution technology is based on a novel application-driven, adaptive scheduling strategy.

 

 

Security and Code Safety

 

ALiCE employs several technologies to provide system security and code safety.  Strong authentication techniques via certificates are used to ensure that only trusted nodes are allowed to join the ALiCE network. State-of-the-art Java JCE encryption technology is adopted to provide security for mobile code and data.  Java sand-boxing technology is employed to protect ALiCE Producers from malicious codes.  The more advanced the security mechanism employed, the more expensive it is in terms of computational cost.  Therefore, ALiCE presents various levels of security from the most basic to the most advanced that the user may choose from, with each level having its own computational cost.

 

 

Enterprise Benefits

 

The main benefits of ALiCE to an enterprise include:

 

a.    reduce business cost by maximising the utilisation (and return on investment) of existing corporate computing resources through more efficient use and by selling spare resources.  On average 75% of PCs and 60% of servers in an enterprise are unutilised and its capabilities available for sale;

 

b.    access to scalable computational capabilities. ALiCE provides supercomputing power without the need for additional costly investment;

 

c.     remote access to expensive computational resources, equipment, and hard to distribute, large and proprietary data sets.

 

          By deploying ALiCE, an enterprise will stand to gain from enormous cost savings, enjoy reduced total cost of IT ownership and increased productivity. Complex, resource hungry and number crunching applications will have all the computing power necessary to process without incurring costly investment while benefiting from a much faster turnaround time. System scalability will never be an issue for an expanding enterprise that employs ALiCE in its IT infrastructure.

 

 

Key Technology Differences

 

1.    Platform Independence

As shown in the table below, ALiCE is implemented in Java and is not restricted to a particular hardware architecture or operating system.

 

 

Grid System

Supported Platforms
(Operating System/Hardware)

Globus Toolkit 2.0

Linux/x86, IRIX/MIPS, and Solaris/SPARC

Avaki 2.1

Tru64/Compaq, Linux/x86, Win2K/x86, WinNT/x86, Solaris/SPARC, IRIX/SGI, AIX/IBM

ALiCE

Any Java-enabled platform

 

 

2.    Simple and Robust Grid Application Programming

ALiCE provides users with simple and intuitive programming templates for developing grid applications.  It supports Java Technologies such as RMI and Java Sockets.  Hence, users do not need to learn a new language or programming API to develop grid applications. The programming templates consist of three main components: task generator, tasks, and result collector.  This model makes ALiCE grid applications more robust, allowing them to adapt to available resources during execution.

 

3.    Ease of Installation and Deployment

The Globus toolkit consists of a complex collection of grid protocols that leaves a user to deal with the complexities of deploying the grid. It is difficult to install and is generally installed by system administrators.  In contrast, ALiCE is a lightweight software that can be installed without system privileges.  ALiCE is designed to manage most of the complexity of the underlying environment, thus allowing user to focus on their applications.

 

4.    Ease of Administration

Globus grid administration relies heavily on the system administrators of participating sites. The administration process involves modifying configuration files to select the resources to aggregate, and granting remote users access to Globus resources. In contrast, ALiCE registered users simply logs into the ALiCE grid to share their resources.

 

back to home


Updated: 04 January 2003

 

This document, alice-tech.htm, has been accessed 18715 times since 13-Sep-94 17:04:00 SGT. This is the 1st time it has been accessed today.

A total of 8743 different hosts have accessed this document in the last 10790 days; your host, ec2-34-205-246-61.compute-1.amazonaws.com, has accessed it 1 times.

If you're interested, complete statistics for this document are also available, including breakdowns by top-level domain, host name, and date.