Algoval: Evaluation Server Past, Present and Future Simon Lucas Computer Science Dept Essex University 25 January, 2002.

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

What is RMI? Remote Method Invocation –A true distributed computing application interface for Java, written to provide easy access to objects existing.
COM vs. CORBA.
Snejina Lazarova Senior QA Engineer, Team Lead CRMTeam Dimo Mitev Senior QA Engineer, Team Lead SystemIntegrationTeam Telerik QA Academy SOAP-based Web.
Copyright © 2001 Qusay H. Mahmoud RMI – Remote Method Invocation Introduction What is RMI? RMI System Architecture How does RMI work? Distributed Garbage.
What iS RMI? Remote Method Invocation. It is an approach where a method on a remote machine invokes another method on another machine to perform some computation.
Remote Method Invocation
The road to reliable, autonomous distributed systems
Remote Object Invocation
Technical Architectures
1 CS6320 – Why Servlets? L. Grewe 2 What is a Servlet? Servlets are Java programs that can be run dynamically from a Web Server Servlets are Java programs.
Communication in Distributed Systems –Part 2
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Web Services Mohamed Fahmy Dr. Sherif Aly Hussein.
Copyright © Orbeon, Inc. All rights reserved. Erik Bruchez Applications of XML Pipelines XML Prague, June 16 th, 2007.
CSCI 6962: Server-side Design and Programming Web Services.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
Web Server Administration Web Services XML SOAP. Overview What are web services and what do they do? What is XML? What is SOAP? How are they all connected?
Lecture 15 Introduction to Web Services Web Service Applications.
Distributed Component Object Model (DCOM)
Scalable Web Server on Heterogeneous Cluster CHEN Ge.
Architectures of distributed systems Fundamental Models
Wenjing Wu Computer Center, Institute of High Energy Physics Chinese Academy of Sciences, Beijing BOINC workshop 2013.
Component Technology. Challenges Facing the Software Industry Today’s applications are large & complex – time consuming to develop, difficult and costly.
Introduction to CORBA University of Mazandran Science & Tecnology By : Esmaill Khanlarpour January
Client Call Back Client Call Back is useful for multiple clients to keep up to date about changes on the server Example: One auction server and several.
Java Remote Method Invocation RMI. Idea If objects communicate with each other on one JVM why not do the same on several JVM’s? If objects communicate.
RMI remote method invocation. Traditional network programming The client program sends data to the server in some intermediary format and the server has.
RMI Remote Method Invocation Distributed Object-based System and RPC Together 2-Jun-16.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
Jian Gui WANG New Implementation of Agriculture Models APAN19---Jan New Implementations of Agriculture Models Using Mediate Architecture.
Architecture Models. Readings r Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 m Note: All figures from this book.
 Common Object Request Broker Architecture  An industry standard developed by OMG to help in distributed programming.
SOAP-based Web Services Telerik Software Academy Software Quality Assurance.
JS (Java Servlets). Internet evolution [1] The internet Internet started of as a static content dispersal and delivery mechanism, where files residing.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
By: Cheryl Mok & Sarah Tan. Java is partially interpreted. 1. Programmer writes a program in textual form 2. Runs the compiler, which converts the textual.
Java Web Server Presented by- Sapna Bansode-03 Nutan Mote-15 Poonam Mote-16.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
Apache Web Server Architecture Chaitanya Kulkarni MSCS rd April /23/20081Apache Web Server Architecture.
.NET Mobile Application Development XML Web Services.
UMBC Distributed Computing with Objects RMI/Corba CMSC 432 Shon Vick.
1 RMI Russell Johnston Communications II. 2 What is RMI? Remote Method Invocation.
Java Distributed Object Model A remote object is one whose methods can be invoked from another JVM on a different host. It implements one or more remote.
Nguyen Thi Thanh Nha HMCL by Roelof Kemp, Nicholas Palmer, Thilo Kielmann, and Henri Bal MOBICASE 2010, LNICST 2012 Cuckoo: A Computation Offloading Framework.
Topic 5: CORBA RMI Dr. Ayman Srour
Introduction to Programming 1 1 2Introduction to Java.
Added Value to XForms by Web Services Supporting XML Protocols Elina Vartiainen Timo-Pekka Viljamaa T Research Seminar on Digital Media Autumn.
Fundamental of Java Programming (630002) Unit – 1 Introduction to Java.
Distributed Systems Architectures. Topics covered l Client-server architectures l Distributed object architectures l Inter-organisational computing.
Applications Active Web Documents Active Web Documents.
Distributed Computing
WEB SERVICES.
Remote Method Invocation
What is RMI? Remote Method Invocation
Design and Implementation
Chapter 3: Windows7 Part 4.
Creating a Distributed System with RMI
Architectures of distributed systems Fundamental Models
Architectures of distributed systems Fundamental Models
Creating a Distributed System with RMI
Remote Method Invocation
Creating a Distributed System with RMI
Architectures of distributed systems Fundamental Models
Web Servers (IIS and Apache)
Creating a Distributed System with RMI
Presentation transcript:

Algoval: Evaluation Server Past, Present and Future Simon Lucas Computer Science Dept Essex University 25 January, 2002

Architecture Evolution Version 1: Centralised evaluation of Java submissions (Spring 2000) Version 2: Distributed evaluation using Java RMI (Summer 2001) Version 3: Distributed evaluation using XML over HTTP (Spring 2002)

Competitions Post-Office Sponsored OCR Competition (Autumn 2000) IEEE Congress on Evolutionary Computation 2001 IEEE WCCI 2002 ICDAR 2003 Wide range of contests – OCR, Sequence Recognition, Object Recognition

Sample Results

Statistics

Details

More Details

Parameterised Algorithms Note that league table entries can include the parameters that were used to configure the algorithm This allows developers to observe the results of different parameter settings on the performance measures E.g.: problems.seqrec.SNTupleRecognizer?n=4&g ap=11?eps=0.01

Centralised System restricted submissions to be written in Java – for security reasons –Java programs can be run in within a highly restrictive security manager Does not scale well under heavy load Many researchers unwilling to convert their algorithm implementations to Java

Centralised II Can measure every aspect of an algorithms performance –Speed –Memory requirements (static, dynamic) All algorithms compete on a level playing field Very difficult for an algorithm to cheat

Distributed Researchers can test their algorithms against others without submitting their code Results on new datasets can be generated immediately for all clients that are connected to the evaluation server Results are generated by the same evaluation method. Hence meaningful comparisons can be made between different algorithms.

Distributed (RMI) Based on Java’s Remote Method Invocation (RMI) Works okay, but client programs still need to access a Java Virtual Machine BUT: the algorithms can now be implemented in any language However: there may still be some work converting the Java data structures to the native language

Distributed II Since most computation is done on the clients' machines, it scales well. Researchers can implement their algorithms in any language they choose - it just has to talk to the evaluation proxy on their machine. When submitting an algorithm it is also possible to specify URLs for the author and the algorithm Visitors to the web-site can view league tables then follow links to the algorithm and its implementer.

Distributed (RMI)

UML Sequence

Remote Participation Developers download a kit Interface their algorithm to the spec. Run a command-line batch file to invoke their algorithm on a specified problem

Features of RMI Handles Object Serialization Hence: problem specifications can easily include complex data structures Fragile! – changes to the Java classes may require developers to download a new developer kit Does not work well through firewalls HTTP Tunnelling can solve some problems, but has limitations (e.g. no callbacks)

XML Version While Java RMI is platform independent (any platform with a JVM), XML is language independent XML version is HTTP based No known problems with firewalls

XML Version Each client (algorithm under test) –parses XML objects (e.g. datasets) –sends back XML objects (e.g. pattern classifications) to the server

Pattern recognition servers Reside at particular URLs Can be trained on specified or supplied datasets Can respond to recognition requests

Example Request Recognize this word: Given the dictionary at: – And the OCR training set at: – Respond with your 10 best word hypotheses

Example Response 1. MELISSOBLAPTES 2. ENDOMMMASIS 3. HETEROGRAPHIS 4. TRICHOBAPTES 5. HETEROCHROSIS 6. PHLOEOGRAPTIS 7. HETEROCNEPHES 8. DRESCOMPOSIS 9. MESOGRAPHE 10.DIPSOCHARES

Issues How general to make problem specs –Could set up separate problems for OCR and face recognition, or a single problem called ImageRecognition How does the software effort scale?

Software Scalability Suppose we have: –A algorithms implemented in L languages –D datasets –P problems –E algorithm evaluators How will our software effort scale with respect to these numbers?

Scalability (contd.) Consider server and clients More effort at the server can mean less effort for clients For example, language specific interfaces and wrappers can be defined This makes participation in a particular language much less effort This could be done on demand

Summary Independent, automatic algorithm evaluation Makes sound scientific and economic sense Existing system works but has some limitations Future XML-based system will overcome these Then need to get people using this Future contests will help Industry support will benefit both academic research and commercial exploitation