AAU Projects


This thesis describes the design of U.P., a decentralised job distribution system for mass computing projects. The design is based on the concept of distributed hash tables, which when combined with keyword-based indexing and load balancing provides a robust and scalable peer-to-peer network for mass computing projects to distribute jobs.

An implementation of the system is developed in C++ for the p2psim simulator. Realistic and synthetic tests of the implementation are conducted to explore the intrusiveness, scalability and robustness, with promising results, although a few problems remain.

Hence, we conclude that a decentralised architecture can be a viable alternative to the currently deployed centralised designs with better scalability, high availability and easier and cheaper deployment for new projects. We also believe that the decentralised architecture can be used to provide the foundation of a more general computational grid.

Download: ps, pdf
top
This report describes the design of Nubis, a decentralised, flexible, fault-tolerant and scalable foundation for computational grids. The design is based on a distributed file system with support for access control, mutual excluion and notification of file changes. The distributed file system is based on the concept of distributed hash tables, resulting in a scalable, robust information service. On top of this, the report describes the design of a data service and outlines the design of grid resource and user components.

A prototype implementation of the information service is developed in C++ and tested. The tests are performed with a network of 994 participating nodes and are mostly promising.

The design is in its infancy and there are many unanswered questions that the report does not address, in particular with respect to the resource components and scheduling. However, the design is robust compared to the currently deployed grids, and also appears to be more scalable and flexible.

Download: pdf, ps
top
In this paper, we represent the task graph scheduling problem with uniform processors and arbitrary task execution times with BDDs and devise a breadth-first search and an A*-based algorithm for finding optimal schedules. The representation is chosen to minimise the state BDD sizes, and the transition relations are partitioned to reduce the computation time and allow optimisations based on analysis of the task graphs. The empirical results show that guiding the search with an A approach is difficult in practice, but that the breadth-first search works very well with graphs with many dependencies.

Download: pdf, ps
top
Free software has been around for more than 20 years and has had a profound impact on how software is developed. Everything from small scripts to very large pro jects, like the Linux kernel and Ximian Evolution consisting of several million lines of code, have been developed as free software.

This essay will examine how crafting software as free software improves productivity compared to proprietary software development methods.

Download: pdf, ps
top
This report describes the development of Heurika, a distributed shared file system for local area networks. With Heurika, every client in a network contributes to the shared file system in a peer-to-peer manner to avoid the bottleneck and single point of failure that plagues traditional centralised shared file systems.

A design for a decentralised peer-to-peer file system is presented and its characteristics theoretically analysed. Then a prototype of the design implemented in C++ is described and experiments in a simulated network with 96 peers presented.

The theoretical and the empirical results indicate that Heurika can provide better availability and scale better than a centralised shared file system.

Download: pdf, ps
top
A simulation language with a syntax similar to the C family is designed and its formal semantics defined. A translation to Java virtual machine assembler is then specified, and proved to preserve the high-level semantics. Finally, an actual implementation of the compiler is presented.

Download: pdf, ps
top
This report documents the development of an administration system, Defect Tracker, for reporting, tracking and managing software defects. It has been developed using the OOA&D method, and implemented with Java beans, server pages and servlets running on a Jakarta Tomcat server.

The study report reflects on the analysis, design and test phases, and look into the algorithmic problem of efficient string matching which is needed by a function in the system for highlighting search words.

Download: pdf, ps
top
Et af de områder hvor neurale netværk udmærker sig er tegngenkendelse som har fundet anvendelse på håndholdte computere. I rapporten undersøges mulighederne for at anvende et fremadførende neuralt netværk til at genkende enkeltstående håndskrevne tegn. Optrænet med fejlfunktionen sum af kvadrater vil dette netværk maksimere sandsynligheden for rigtig klassifikation. Netværket implementeres i C++, og der indsamles et dataset til test.

For at kunne udføre testene undersøges den empiriske metode, som bygger på en positivistik tankegang om at kun det som kan sanses, kan bidrage med viden. Ved hjælp af den empiriske metode kan man udføre eksperimenter og opnå pålidelige konklusioner der dog ikke er garanteret at være korrekte generelt.

To former for forbehandling undersøges, centrering og skalering. Anvendelse af disse viser sig at være væsentlige. Til at optræne netværket undersøges to algoritmer, en simpel gradientnedstigning og konjugeret gradient som er en mere advanceret algoritme - det viser sig dog at gradientnedstigning er hurtigst. Efter at have fundet størrelsen på det optimale netværk, testes der om en eftertræning af netværket på en bestemt testperson øger genkendelsesprocenten. Dette viser sig at være tilfældet; 92.3% uden eftertræning og 99.3% med eftertræning.

Download: ps
top
I denne rapport beskæftiger vi os med kompression af HTML. Dels fra en teoretisk syns- vinkel i form af informationsteori, dels fra en mere konkret synsvinkel i form af en gennemgang af generelle algoritmer der kan bruges til at komprimere HTML-sider. Vi undersøger desuden om man kan udnytte nogle af egen- skaberne ved HTML til at skabe en mere effektiv, specifik algoritme.

Grunden til at HTML-kompression er interessant, skyldes at mængden af internettrafik vokser støt mens udbyderne ønsker at spare penge på stadigt voksende forbindelser, og brugerne ønsker en bedre internetoplevelse. Kompression af HTML har potentialet til at hjælpe på dette fordi HTML-sider kan komprimeres effektivt, ligesom billeder, lyd, video og software der allerede komprimeres rutinemæssigt. Spørgsmålet er om potentialet er stort nok. Og om behovet er stort nok.

Download: pdf, ps
top
Kryptering handler om at holde data hemmelige for uvedkommende. Der findes flere forskellige metoder at kryptere med. I denne rapport gennemgåes ROT13 og XOR samt DES og RSA som er to af de mest brugte metoder i dag.

DES og RSA repræsenterer hver for sig to forskellige paradigmer inden for kryptologien; DES som et konventionelt system med symmetriske, private nøgler og RSA som et moderne system hvor en nøgle offentligøres og dermed tillader signering og vilkårlige sikre forbindelser over ellers usikre kanaler som internettet.

Udviklingen inden for kryptologi har gjort at ubrydelige kryptosystemer nu kan være hvermandseje. Dette udmønter sig i sammenstød mellem modstridende interesser og har medført forsøg på lovgivning på området. Lovgivninger som rejser etiske spørgsmål og som i praksis ikke har virket.

Download: pdf, ps
top