Title: Ten Thousand miles to the DSG
1Ten Thousand miles to the DSG
- Aamir Shafi
- Distributed Systems Group
- University of Portsmouth
- Portsmouth, UK
- Aamir.Shafi_at_port.ac.uk
2Outline
- Introduction and why this title ?
- Previous project experiences
- DIAMONDS
- MonALISA
- Teaching Experience Community Services
- Suggestions for the DSG
- Research Interests
- Middle ware technologies their interfacing
- Agent-based DS for the Grid
- Network monitoring and diagnostic tool
- Evaluation of .NET platform
- Software Development paradigms
- Summary
3Introduction title
- Aims of the talk
- Introduce myself and my back ground work
- What are the research areas I would like to work
on, being part of DSG - Title, well... that's probably very true
- Belong to Multan
- Did my BCSEngg from NUST, Islamabad
- Worked for NUST-Caltech acedemic collaboration
for one and a half year
4(No Transcript)
5Previous Projects and Work experience
6DIAMOnDS (Distributed Mobile Agents for Mobile
Dynamic Services)
- Framework for higher level services (Job
scheduling services) to make use of MonALISA
monitoring information. - Paper published in the proceedings of Computing
in High Energy Physics (CHEP03), UCSD,
California, 23-28 March, 03 http//arxiv.org/abs/c
s.DC/0305062 - Project Web Site
- http//www.niit.edu.pk/acadamics/niit_research/ndg
c/research_ndgc_diamonds.html
7Why a new Mobile Agent Framework?
- Web-Based Toolkit
- Only toolkit that allows agents to be started
from the web - Truly Mobile Agents
- A requirement to achieve robustness in WAN
applications. (FIPA-OS moves agent by cloning) - Remote Monitoring
- Only toolkit in which agents have remote GUIs
that can be downloaded on the client side - Integration of SOA
- The notion of Agents acting as mobile services
for end user
8Architecture of DIAMOnDS
9Architecture of DIAMOnDS
10(No Transcript)
11(No Transcript)
12(No Transcript)
13MonALISA
- Goal is
- Provide monitoring information from large and
distributed systems to a set of loosely coupled
"higher level services" in a flexible, self
describing way. - Monitoring what ?
- Resources which Regional Centers would like to
share on LHC Data Grid - RC's, Farms, abstractions in LHC Data Grid ...
- Ultimately higher level services would access
this monitoring data, to make decisions
14MonALISA (Demo)
- Project web site http//monalisa.cacr.caltech.edu
- Iosif Legrand among the main developers
- MonALISA Demo
- MonALISA Web Repository
15(No Transcript)
16Auto Network Topology Discovery Module
- Discover the physical topology of any network,
- First implementation was only in SNMP,currently,
ping, zonetransfer, nslookup etc are considered. - Cornell, takes one hr,CERN, took three hrs
- Highly CPU intensive module, parallel
implementation may be interesting - Details -http//www.niit.edu.pk/acadamics/niit_re
search/ndgc/resources_presentations/network_topolo
gy_discovery.ppt
17Little Monalisa
- What about monitoring the clients, who make use
of Grid, Web, Jini services ? - Little MonALISA, part of Internet2 End to End
Performance Initiative work - Demo
- http//monalisa.cern.ch/LML1/lml.jnlp
- Web Site http//202.125.153.148/newlml5/index.h
tml - Future work, aiming to build a diagnostic tool
18TCP Monitor and Auto Tuner
- Web100 project, http//www.web100.org
- Implementation of linux kernel, and C library
that allows to extract a lot of info about TCP
connections. - Playaround with C/R/S Window Size, SACK,
- Build a GUI that presented TCP connection
information - Around 100 different TCP parameters, (adjustable)
- Java Analysis Studio (JAS) enabled GUI
19Teaching Experience Community Services
- Course included
- .Net Introduction
- Syntax of C
- ASP.Net ADO.Net
- My part to teach, Jini and Apache Axis
- VRVS support person (http//www.vrvs.org)
- Managing XEON dual processor running MonALISA,
VRVS Reflector - Managing Windows 2000 Domain Server
20Suggestions for DSG
- Java Web Start
- Kick start any Java application from a web page
- Power of Java2D, Java3D, Swing at your disposal
- Impressive for Demos (sample in next slide)
- ANT (build tool)
- Platform independent
- Compile, Clean, MakeJars, and even execute by one
command - Supported by Sun
- VRVS support center for UK
- Installating MonALISA
21Sample JNLP (Java Network Lauching Protocol) File
lt?xml version"1.0" encoding"utf-8"?gt ltjnlp
spec"1.0" codebase"http//dsg.port.ac.uk/shafi
a" href"aamir.jnlp"gt ltinformationgt
lttitlegtMPJ Clientlt/titlegt
ltvendorgtDSGlt/vendorgt lthomepage
href"http//dsg.port.ac.uk"/gt
ltdescriptiongtExample file for
dsglt/descriptiongt lt/informationgt
ltsecuritygt ltall-permissions/gt
lt/securitygt ltresourcesgt
ltj2se version"1.4"/gt ltjar
href"Aamir.jar"/gt ltjar
href"Shafi.jar"/gt ltjar
href"tools.jar"/gt lt/resourcesgt ltapplication-de
sc main-class"MainClass"/gt lt/jnlpgt
22Sample build.xml file
ltproject name"MyProject" default"dist"
basedir"."gt ltdescriptiongt simple
example build file lt/descriptiongt lt!-- set
global properties for this build --gt ltproperty
name"src" location"src"/gt ltproperty
name"build" location"build"/gt ltproperty
name"dist" location"dist"/gt lttarget
name"init"gt lt!-- Create the time stamp --gt
lttstamp/gt lt!-- Create the build directory
structure used by compile --gt ltmkdir
dir"build"/gt lt/targetgt lttarget
name"compile" depends"init"
description"compile the source " gt lt!--
Compile the java code from src into build
--gt ltjavac srcdir"src" destdir"build"/
gt lt/targetgt
23Sample build.xml contd ....
lttarget name"dist" depends"compile"
description"generate the distribution" gt
lt!-- Create the distribution directory --gt
ltmkdir dir"dist/lib"/gt lt!-- Put
everything in build into the
MyProject-DSTAMP.jar file --gt ltjar
jarfile"dist/lib/MyProject-DSTAMP.jar"
basedir"build"/gt lt/targetgt lttarget
name"clean" description"clean up" gt
lt!-- Delete the build and dist directory
trees --gt ltdelete dir"build"/gt
ltdelete dir"dist"/gt lt/targetgt lt/projectgt
24Research Interests
1. Performance and Feature Evaluation of Middle
ware Technologies
25Jini
- Amazing features
- Leasing
- Code Mobility
- Distributed Events Model
- Transaction support
- JavaSpace (interesting feature to provide fault
tolerance) - Protocol Independence (amazing ability, can be
used for interfacing) - Excellent security support
- Surrogate Architecture
- Not so amazing things
- Usage of RMI
- Maybe JERI helps ?
- Java dependence
26Web Services
- Amazing Features
- Platform and Language independence
- Use of XML (SOAP)
- Not so amazing features
- Security
- Transaction
- Treats network as a static entity (No leasing)
- Infact, why not use SOAP in Jini instead of RMI ?
27Other Technologies
- Globus (GT3) (http//www.globus.org)
- JXTA (http//www.jxta.org)
- GigaSpaces (http//www.gigaspaces.com)
- Commercial implementation of JavaSpaces
- Software infrastructure for developing clustered,
synchronized and service oriented applications - Acts as a real time data bus, using distributed
shared cache (Gigaspace) - Is interesting and research license for one year
can be obtained
28Interfacing
- Judy Project, (phases)
- Jini client to access a web service
- Jini service to be advertised as Web service
- LUSs act like UDDI database
- UDDI database act like LUS
- Being a non-active developer of this project, I
plan to work for this. - http//www.judy.jini.org, Owner R Dale Asberry
and till date, the sole programmer as well. - Embryonic stage, but once implemented will be a
proof of concept
29Interfacing other technologies
- Using JXTA protocols to improve Jini discovery
protocols on WAN (as identified in Jini meets the
Grid - OGSI interfacing with Jini
- OGSI Java programming API
- GigaSpaces is already developed in Java/Jini
- Once done, Grid Jini
30Research Interests
2. Investigation of agents-based Distributed
Systems in Grid
31Agent-Based DS for Grid
- Many toolkits available
- IBM Aglets, FIPA-OS, JADE (very popular)
- Do they really ?
- Reduce network load and overcome latency
- Execute asynchronously and autonomously.
- Naturally heterogeneous, adapt dynamically
- Are fault-tolerant and allow disconnected
operations - If yes, then we should adopt agents for message
passing in DS - Maybe use mobile agents for message passing in
MPJ (if on WAN)
32Research Interests
4. Performance and Feature comparison of C and
Java, infact, the .NET platform and Java
33.Net and Java (J2EE)
- All know, C resembles Java a lot
- My experience (naïve) suggests,
- Excellent platform for RAD
- ASP.NET, much powerful than other scripting
languages - Why doesnt any researcher in DS uses it ??
- A lot of papers already written
- Evaluate .Net for HPC
- Compare its performance with Java
34Research Interests
5. Software Development paradigm
35Why OOSE ??
- Only 10 of software projects are in-time and
in-budget. - Studied two courses
- Learnt DFD(Data Flow Diagrams), ERD (entity
relationship diagrams), UML, Rational Rose, Objec
cts, Procedures . - In short I wasted my time, each of the design
model and tool is a failure - Extreme Programming (XP)
- Aspect Orient Programming
- Would like to make my own software designing tool
until I find one .
36Research Interests
5. Building a network monitoring diagnostic
tools
37- Not so long ago, Quality of VRVS
- Caltech --gtgt Excellent
- CERN --gtgt Very Poor
- E mailed Internet2(http//www.internet2.edu)
network experts, solution was - Run traceroute to determine the path
- NUST-Caltech
- NUST-CERN
- Run Iperf with CERN and Caltech
- Get back ground traffic
- What through put TCP can achieve
38- Email from the experts continue ...
- Test at different times of the day to determine
if congestion out of Pakistan is the culprit - If Congestion, then apply ltltDivide and Conquergtgt
between sites - Cant even tell, why my voice chat is not working.
- Not one tool to pin point, diagnose the problem
- Noticeable in slower networks
- Would like to explore this area,
- Web100 may help
39Summary
- Introduced my self and my previous work
- Discussed my research interests
- Looking forward to contribute, while being part
of DSG
?