Data Analysis using Java Mobile Agents Mark Dönszelmann, Information, Process and Technology Group,...

17
Data Analysis using Java Mobile Agents Mark Dönszelmann, Information, Process and Technology Group, IT, CERN ATLAS Software Workshop Analysis Tools Meeting, 20 May, 1999

Transcript of Data Analysis using Java Mobile Agents Mark Dönszelmann, Information, Process and Technology Group,...

Page 1: Data Analysis using Java Mobile Agents Mark Dönszelmann, Information, Process and Technology Group, IT, CERN ATLAS Software Workshop Analysis Tools Meeting,

Data Analysis using Java Mobile Agents

Mark Dönszelmann, Information, Process and Technology Group, IT, CERN

ATLAS Software Workshop

Analysis Tools Meeting, 20 May, 1999

Page 2: Data Analysis using Java Mobile Agents Mark Dönszelmann, Information, Process and Technology Group, IT, CERN ATLAS Software Workshop Analysis Tools Meeting,

20 May 1999 Mark Dönszelmann, CERN/IT Information, Process and Technology Group

Contents

Requirements and Problems

Mobile Agent Paradigm

Java to implement Mobile Agents

Data Analysis System using Mobile Agents

Problems to integrate this with FORTRAN / C++

Page 3: Data Analysis using Java Mobile Agents Mark Dönszelmann, Information, Process and Technology Group, IT, CERN ATLAS Software Workshop Analysis Tools Meeting,

20 May 1999 Mark Dönszelmann, CERN/IT Information, Process and Technology Group

User Requirements

Access to data200 Ph * 1 Pbyte * 1% = 2 Pbytes of Data200 Ph * 25 Mbyte Jobs * 2000 Machines = 10 Tbytes of Data==> move jobs rather than data

Access to processing power130.000 SPECint95 / 100 (per machine) = 1300 Machines==> run on multiple cpus and/or parallelize the jobs

Access to/storage of intermediate resultsJobs run for weeks, days or hoursMachines may go down in that time==> restartable (through-startable) analysis jobs

Easy for the physicistsConcentrate on implementing his algorithm==> not be bothered by system aspects

Page 4: Data Analysis using Java Mobile Agents Mark Dönszelmann, Information, Process and Technology Group, IT, CERN ATLAS Software Workshop Analysis Tools Meeting,

20 May 1999 Mark Dönszelmann, CERN/IT Information, Process and Technology Group

System Requirements

Move Jobs rather than DataShip the code (securely)Ship the state objects

Run on multiple CPUs and/or Parallelize JobsPlatform independentMerging of the results

Make Jobs re-startableCheckpointing of the job (saving of state)Rebuilding (reloading) of the job

Page 5: Data Analysis using Java Mobile Agents Mark Dönszelmann, Information, Process and Technology Group, IT, CERN ATLAS Software Workshop Analysis Tools Meeting,

20 May 1999 Mark Dönszelmann, CERN/IT Information, Process and Technology Group

Mobile Agent Paradigm

Client Server

Request ?

Response !

Request ?

Response !

..

Client

Request ?

Response !

Request ?

Response !

..

Server

Remote Programming

Remote Procedure Calls

Page 6: Data Analysis using Java Mobile Agents Mark Dönszelmann, Information, Process and Technology Group, IT, CERN ATLAS Software Workshop Analysis Tools Meeting,

20 May 1999 Mark Dönszelmann, CERN/IT Information, Process and Technology Group

Serialization and Deserialization

10010110101011

File or Stream

Classes Objects

10010110101011

11010101101001

UserInteraction

StartApp

Serialize

Deserialize

Serialize

Page 7: Data Analysis using Java Mobile Agents Mark Dönszelmann, Information, Process and Technology Group, IT, CERN ATLAS Software Workshop Analysis Tools Meeting,

20 May 1999 Mark Dönszelmann, CERN/IT Information, Process and Technology Group

The Java System

Particular Platform

Java Code

.java files

ByteCode

.class files

PredefinedLibraries

.jar files

C++ Library C / FORTRAN Library

Java (JNI) Wrapper Java (JNI) Wrapper JITJust In Time

Compiler

Interpreterjava

Libraries

.jar files

Compilerjavac

Archiverjar

WWWBrowser

JITJust In Time

Compiler

Interpreterjava

Page 8: Data Analysis using Java Mobile Agents Mark Dönszelmann, Information, Process and Technology Group, IT, CERN ATLAS Software Workshop Analysis Tools Meeting,

20 May 1999 Mark Dönszelmann, CERN/IT Information, Process and Technology Group

Java to implement Mobile Agents

Platform independenceruns on any type of CPU/OS

Secure Executionno need for special checking of the job

Object Serializationsave and recover state of agent and or job

Reflection (runtime-type info)figure out how to merge

Example implementations:Aglets (IBM), Voyager (ObjectSpace), ...

Page 9: Data Analysis using Java Mobile Agents Mark Dönszelmann, Information, Process and Technology Group, IT, CERN ATLAS Software Workshop Analysis Tools Meeting,

20 May 1999 Mark Dönszelmann, CERN/IT Information, Process and Technology Group

CenterAgent

Agent

Center

Center

Agent

AgentAgent

Agent

AgentAgent

Agent

Agent

Agent

Communication

Travel

Mobile Agent

Stationary Agent

Mobile Agents and Stationary Agents

Page 10: Data Analysis using Java Mobile Agents Mark Dönszelmann, Information, Process and Technology Group, IT, CERN ATLAS Software Workshop Analysis Tools Meeting,

20 May 1999 Mark Dönszelmann, CERN/IT Information, Process and Technology Group

Data Analysis System using Mobile Agents

Aglet Daemon Aglet Daemon

Aglet Daemon

AnalysisAgent

AnalysisAgent

AnalysisAgent

Simulated, Raw and

ReconstructedData

...Data

Simulated, Rawand

ReconstructedData

Page 11: Data Analysis using Java Mobile Agents Mark Dönszelmann, Information, Process and Technology Group, IT, CERN ATLAS Software Workshop Analysis Tools Meeting,

20 May 1999 Mark Dönszelmann, CERN/IT Information, Process and Technology Group

Topologies

Page 12: Data Analysis using Java Mobile Agents Mark Dönszelmann, Information, Process and Technology Group, IT, CERN ATLAS Software Workshop Analysis Tools Meeting,

20 May 1999 Mark Dönszelmann, CERN/IT Information, Process and Technology Group

Submit, Run and move on...

Page 13: Data Analysis using Java Mobile Agents Mark Dönszelmann, Information, Process and Technology Group, IT, CERN ATLAS Software Workshop Analysis Tools Meeting,

20 May 1999 Mark Dönszelmann, CERN/IT Information, Process and Technology Group

… and Run and Move on…

Page 14: Data Analysis using Java Mobile Agents Mark Dönszelmann, Information, Process and Technology Group, IT, CERN ATLAS Software Workshop Analysis Tools Meeting,

20 May 1999 Mark Dönszelmann, CERN/IT Information, Process and Technology Group

… and finish.

Page 15: Data Analysis using Java Mobile Agents Mark Dönszelmann, Information, Process and Technology Group, IT, CERN ATLAS Software Workshop Analysis Tools Meeting,

20 May 1999 Mark Dönszelmann, CERN/IT Information, Process and Technology Group

CERN School of Computing

35 machines, each with 150 Mbyte data locally stored. Run a analysis job:

creating a histogram (total jobsize 0.5 Mbyte)analyzing and accessing all data 35 * 150 Mbyte ~ 5 Gbyterunning in serial mode (one machine after the other)producing (ongoing) results on the screen of the submitterin under 10 minutesusing virtually no network traffic

Assuming a 10 Mbit network:Data transfer: 5 Gbyte / 1Mbyte/s = 5000 secondsJob transfer: 0.5 Mbyte * 35 / 1Mbyte/s = 17.5 seconds

We could haverun jobs in parallelmerged the histogram automatically

Page 16: Data Analysis using Java Mobile Agents Mark Dönszelmann, Information, Process and Technology Group, IT, CERN ATLAS Software Workshop Analysis Tools Meeting,

20 May 1999 Mark Dönszelmann, CERN/IT Information, Process and Technology Group

Problems to integrate this with FTN / C++

Platform independence of executable code

Capture of state: serialization (rtti may provide that)

Secure transfer of executable code

Page 17: Data Analysis using Java Mobile Agents Mark Dönszelmann, Information, Process and Technology Group, IT, CERN ATLAS Software Workshop Analysis Tools Meeting,

20 May 1999 Mark Dönszelmann, CERN/IT Information, Process and Technology Group

Conclusions

The prototype of CSC has shown that Analysis System using Agents is possiblereasonably easy implementation in Javagives us distributed analysisgets around some of the data access problems

hides a lot of system detail from the physicist

howevera challenge to make this fail safeNOT easy to implement in C++