Home
News
Events
Press
Downloads
Publications
Links
Partners
Contact
Search
Newsletter Issues
Wiki
BREIN User and Development Forum
BREIN Architecture
Knowldege Portal
Login Form
Latest News
6th Newsletter issue available   The 6th BREIN newsletter issue is now available. To download it, visit the "Newsletter Issues" section on the left menu or click here .   Details...

SOC-LOG'09 workshop at ICSOC-ServiceWave conference     BREIN is supporting the 1st International Workshop on Service Oriented Computing in Logistics (SOC-LOG'09) which will be held as part of ICSOC/ServiceWave, in Stockholm, Sweden (November 23, 2009).    Details...

New demo video BREIN project participated in the Internet of Services 2009 Concertation meeting, presenting among others two demos showing the work done on Semantically enhanced SLA Negotiations and Semantic aware and SLA-Driven Resource Management for Virtualized and Heterogeneous Platforms.   Details...

Cloud Computing Providers Part of our work done for the State of the Art is now available also through Gridipedia (visit here )   Details...

Semantics Week 2009   BREIN and the European projects STASIS, SOA4ALL, and the NESSI Semantics Group, would like to invite you to "Semantics Week" to be held June 22-26th in beautiful and logistic friendly Amsterdam.   Details...




BREIN Dissemination CDcd.jpg

newsletter.jpg





Receive HTML?

 Semantic Enhanced Resource Allocator TOOLKIT

Role(s): Service Provider

Component(s):  Semantic Resource Lifecycle Manager

                            Enhanced Resource Allocator

License: LGPL

 

 

Usage Instructions

Installation

Software Installation

Semantic Enhanced Resource Allocator Toolkit API

 

Usage Instructions

The Semantically-Enhanced Resource Allocator (SERA) toolkit groups the components which are in charge of allocating the resources available in a SP, taking into account the different technical requirements of the costumer tasks as well as the SP business parameters. It is capable to infer the resource allocation decisions evaluating a set of scheduling rules over the semantic descriptions of tasks, resources and customers which provides an extensible interoperable and efficient scheduling.

The SERA toolkit is composed by SRLM which is in charge of the customer task management and resource identification and the ERA which checks the availability of resources and schedules the execution on those resources. The Job execution and monitoring in the different resources is achieved combining SERA with Job Scheduler or Virtualized Resource Management and Monitoring for submitting the jobs and with the Notification Support to receive the job execution notifications (see Resource Management Framework Installation manual)

A SERA user or external software has to perform a set of actions in order to submit a job. First, the user has to check the availability of resources. Then if the SERA toolkit has found enough resources it provides the user a temporal reservation which has to be committed by the user. Finally, the user submits the job which is going to be executed according to the accepted reservation.

 

 Semantic Enhanced Resource Allocator Installation

 

Installation Requirements

The Semantically Enhanced Resource Allocation Toolkit is built for the Linux OS and Java 1.5+. The installation process also requires the Maven 2 build manager which downloads all the required libraries to build the toolkit. Therefore, it requires internet access with the outbound connexions allowed.

 

 

Deployment Tips

The minimum infrastructure to deploy the SERA toolkit is a single computer with all the prerequisites installed. However, if the number of jobs managed by the SERA is too big and it produces memory problems, we recommend the distribution of the SERA deployment across different computers. Following bullet points will show deployment and installation prerequisites. All of them are depicted in Figure 36 which shows the fully distributed deployment of the SERA Toolkit

Issues to consider for the deployment:

·All components are always necessary.

·There are no grouping restrictions. Components can be deployed together on a single machine as well as in different machines which can be reachable through the internet.

·Deployment on single machine is recommended to speed up the interaction if the number of concurrent semantic descriptions is not too big (thousand descriptions)

·Distributed deployment is recommended if there is memory shortage

 

 

 

Software Installation

Prerequisites

The Semantically Enhanced Resource Allocation requires the installation of the Semantic Binding Service and Metadata Service from the Ontokit which can be found in the OntoGrid project web site.Moreover, it requires the installation of the Jade Agent Platform 3.5 This platform must be installed in the SRLM and ERA Server. The SRLM Server also requires the installation of the Apache Tomcat Server in order to host the SRLM Service.

Installation

The SERA toolkit is distributed in two different packages: the binaries with an installer and the source code. The following paragraphs describe the steps for installing the toolkit from both distributions.

A.      From the installer

The SERA binary distribution consists on a Debian Package which can be installed using the dpkg  and the apt-get commands with the installation options. Once the “SERA.deb” installer has been downloaded from the website invoke the following commands to proceed with the installation.

$>dpkg -i SERA.deb

$>apt-get install

You can find more information about the dpkg and apt-get commands in the manuals for managing Debian packages

 

B.     From the sources

The compilation process is driven by the Maven build manager. It is in charge of downloading the dependent libraries and compiling all the source code. The whole toolkit is contained in the SERA folder of the subversion. The different subfolders contain the components, services, client APIs and common libraries of the toolkit. To compile the whole toolkit we only have to execute the maven build manager within SERA folder as the following:

$>cd SERA

$SERA> mvn install

If the compilation process successfully finish, a wars folder will be created. It will contain a war file with the whole toolkit. It must be installed in the webapps folder of the Tomcat Server

       $>cd wars

    $wars> cp SrlmWsit.war $CATALINA_HOME\webapps

Finally, you have to indicate the location of the Ontokit location editing the smr properties stored in the sera.properties file. It is located in a user defined folder specified with the environment variable SERA_HOME. By default this variable is set in /usr/brein/SERA  

 

 

 Semantic Enhanced Resource Allocator Toolkit API

 

SRLM Job Management Interface

Method

Boolean availability checkAvailability(String SLAID, String JobDescription)

Arguments

String SLAID - Identifier of the SLA attached to this job

String JobDescription - A xml which describes the job requirements with a SLA schema

Return Value[s]

Boolean availability - Returns true if there are available resources for the job constraints, otherwise, returns false.

Description

This method check if there are enough resources to compute a Job. If there are enough resources it makes a preliminary reservation.

Method

String executionEPR acceptReservation(String SLAID)

Arguments

String SLAID - Identifier of the SLA attached to this job

Return Value[s]

String executionEPR - Returns the EPR where the job or a service has to be executed if the reservation has been successfully accepted. Otherwise, returns null.

Description

This method accepts the reservation produced by the checkAvailability method.

Method

Boolean result cancelReservation(String SLAID)

Arguments

String SLAID - Identifier of the SLA attached to this job

Return Value[s]

Boolean result - Returns true if the reservation has been successfully cancelled. Otherwise, returns false.

Description

This method cancels the reservation produced by the checkAvailability method.

Method

String jobID submitJob(String SLAID)

Arguments

.String SLAID - Identifier of the SLA attached to this job

Return Value[s]

String jobID - Returns the identifier of the submitted job. Returns a null JobID when there was a problem with the job submission.

Description

Method to invoke the job submission. It will confirm the preliminary reservation, schedule the job and run it on the assigned resources.

Method

Boolean result cancelJob(String SLAID)

Arguments

String SLAID - Identifier of the SLA attached to this job

Return Value[s]

Boolean result - Returns true if the job has been successfully cancelled. Otherwise, returns false.

Description

This method cancels and destroys a job.

Method

String jobInfo getInfo(String SLAID)

Arguments

 

String SLAID - Identifier of the SLA attached to this job

Return Value[s]

 String jobInfo - Information of the submitted job

Description

Method to get the information of a Job

Method

String status getStatus(String jobID)

Arguments

 

String jobID - Identifier of the submitted job

Return Value[s]

String status - Status of the submitted job

Description

Method to get the status of a Job

 

As a special job submission the SERA user can also add new services to the SP Infrastructure combining the SRLM Job Management Interface (Table 11) with the SRLM Service Interface described in xx. Other configuration parameters for the service deployment (the deployment scripts, container location, etc.) can be changed in the deployment.properties file located in the SERA_HOME location.

 

Method

String deployApplicationService (String SLAID, String ServiceName, String Location )

Arguments

String  SLAID - SLA identifier used during reservation. A Null value of this value can means the service has been already deploy and it is only needed to register.

String  ServiceName - Name will be used in the SLA agreements to identify a resource request for this service.

String  Location - Location of the file where the service implementation can be found. If slaId is null this service has to indicate the deployed service epr.

Return Value[s]

 String ServiceID - Service identifier  

Description

This method adds a new application service to the SP Infrastructure.

Method

void removeApplicationService (String serviceID)

Arguments

String  servicerID - Identifier of a service previously registered with the SERA toolkit.

Description

This method remove an application service from the SP Infrastructure

 

Additionally, the toolkit also offers through the SRLM an interface to add and remove resource manager where the jobs can be allocated. It describes the way to add and remove the different resources nodes.

Table 12 - SLRM Resource Interface

Method

void nodeUp (String nodeID)

Arguments

String  nodeID - Node identifier which follows the template type-Node_FQDN.

Description

This method adds a resource to be used by the SERA toolkit.

Method

void nodeDown (String nodeID)

Arguments

String  nodeID - Node identifier which follows the template type-Node_FQDN.

Description

This method remove a resource from the SERA toolkit

Method

List<String> getNodes ()

Return Value[s]

 List<String> Node Identifiers with a URI format type://rm_adress:rm_port  

Description

This method gives all the nodes registered in the SERA toolkit