The University of Reading has a campus-wide Condor pool [1] of ca. 190 desktop machines, providing computational resources to researchers. In order to help new users to take advantage of this facility, it is necessary to create an easy-to-use grahpical client interface.
The task of this project will be to design, develop, test and deploy a graphical front end in the form of a portlets running on a Web Portal, which users will access to submit and monitor jobs on the pool. The portal will be created using Java servlets and Java Server Pages and will employ JSR-168 [2] compliant portlets that allow components to be easily reused. This work will build upon existing work in the School of Systems Engineering and the Reading e-Science Centre [3].
Requirements: Java, experience with servlet and JSP programming, on knowledge of portal programming an advantage
[1] Condor monitoring page: http://www.condor.rdg.ac.uk/, only accessible on-campusTycho [1] is a Java-based framework for implementation of an extensible wide-area messaging framework, which also contains a distributed registry for discovering remote service end-points. Tycho helps developers bind together their applications over the wide-area without having to install a myriad of complicated middleware and its services.
Tycho can use several protocols for wide-area communications including HTTP(S). Currently every message sent by Tycho is sent as a separate HTTP message. In order to increase throughout we wish to optimise the HTTP code to reuse HTTP connections (pipes), open multiple pipes and stream messages down these pipes in parallel. This is similar to a technique used by BitTorrent. This project has a clearly defined deliverable and provides plenty of scope to demonstrate programming skills. The work will contribute back to an ongoing research project and has the potential to lead to a conference research paper.
Requirements: Java, experience with servlets, and HTTP.
[1] http://acet.rdg.ac.uk/projects/tycho/Tycho [1] is a Java-based framework for implementation of an extensible wide-area messaging framework, which also contains a distributed registry for discovering remote service endpoints. Tycho helps developers bind together their applications over the wide-area without having to install a myriad of complicated middleware and services.
Tycho has Transport Handlers, which allow different transport protocols to be used between Tycho components. Currently the Transport Handler supports TCP sockets, HTTP(S) and Internet Relay Chat (IRC). We have benchmarked these implementations and have shown that HTTP offers higher throughput than IRC, but IRC can provide lower latency communications. What we require is a hybrid Transport Handler, which will, chose the optimum protocol to use for messages. The completed project, coupled with our existing work [2] has the potential to be developed into a research paper.
Requirements: Java, experience with servlets, and HTTP.
[1] http://acet.rdg.ac.uk/projects/tycho/ [2] http://acet.rdg.ac.uk/~mjeg/docs/tycho_cluster2006.pdfTycho [1] is a Java-based framework for implementation of an extensible wide-area messaging framework, which also contains a distributed registry for discovering remote service endpoints. Tycho helps developers bind together their applications over the wide-area without having to install a myriad of complicated middleware and services.
We currently have a live demonstration of Tycho using webcams [2]. The application can be accessed by normal web browser and is written using a combination of PHP and Java. We want to re-make the webcam demo with portlets (JSR 168 compliant) so that we have a pure Java implementation that can be installed in any compliant portal container. This is a good opportunity to learn about portlet technologies, which are becoming the new standard for web-based applications.
Requirements: Java, experience with servlets, Web portals, portlets, JSPs, AJAX and Taglibs.
[1] http://acet.rdg.ac.uk/projects/tycho/ [2] http://acet.rdg.ac.uk/projects/tycho/demos/web/Realtime graphics via a Web browser is still a problematic area and often it is easier to use old and trusted technologies, such as Java Applets for this purpose. However, a number of problems can arise with the use of applets, and alternative methods to handle realtime data streams may be more appropriate. This project will investigate the best contemporary means to handle real-time graphics via portlets and portal technologies. Current options include embedding a plugin to enable Quicktime, Realplayer or using Adobe's SVG viewer. The graphics will be available via a standardised portlet that is either JSR-168 or WSRP complaint.
Requirements: Java, experience with servlets, JSPs, JSTL, graphics, and Web portals will be helpful.
Useful Links:Tycho [1] is a reference implementation of an extensible wide-area messaging framework, which also contains a distributed registry for discovering endpoints. In Tycho, Producers or Consumers can publish their existence in a directory service known as the Virtual Registry (VR) [2]. Clients query the VR using any Tycho supported query language; currently this based on ANSI-SQL. The aim of this project is add support Xpath [3] in Tycho. This will involve parsing an XPATH query into the generic query format, which Tycho uses internally.
[1]Tycho, http://dsg.port.ac.uk/projects/tycho/Modern messaging systems, including the ones based on the MPI standard, provide a runtime system to bootstrap the execution of parallel processes. For example MPICH2 [1] and OpenMPI [2] provide runtime systems called SMPD (Super Multi-Purpose Daemon) and OpenRTE (Open Run-Time Environment), respectively. MPJ Express [3] currently just provides an experiemental runtime.
This project will evaluate the performance and scalability of these runtime systems. The information and experience gained from this evaluation will be use to improve the MPJ Express runtime.
[1] MPICH2, http://www-unix.mcs.anl.gov/mpi/mpichImprove the performance of collective communication algorithms in MPJ Express [1]. An important aspect of this project will be a current survey of high performance collective communication algorithms (see [2])
[1] MPJ Express, http://dsg.port.ac.uk/projects/mpjThis projext will define and implement MPI bindings for C#. We are also interested in evaluating non-Windows CLRs (Common Language Runtime)s like DotGNU [1] and MONO [2].
[1] The DotGNU Project, http://www.dotgnu.org