OAR@UM Collection:/library/oar/handle/123456789/133122025-11-06T20:25:32Z2025-11-06T20:25:32ZMonitorability of contracts for web services/library/oar/handle/123456789/185162017-09-26T10:12:06Z2016-01-01T00:00:00ZTitle: Monitorability of contracts for web services
Abstract: Web services typically consist of two types of components, servers and clients, which
interact with each other through service interactions. A server can be seen as a
collection of services that a client invokes in order to reach a successful state. A
server can be described in terms of a contract, which defi nes the service interactions
that it offers. Dually, a client may also be portrayed by a contract, describing
sequences of interactions that it expects to conduct with a server. In a dynamic
service discovery setting, where clients search for compatible services with whom
to interact, a server contract may be advertised by a server as its specification.
A server may inadvertently or maliciously advertise a contract which it does not
implement. Although static-based techniques can be employed to verify whether a
server actually implements its advertised contract or not, there are settings where
static verifi cation cannot be used. Furthermore, a client may decide not to trust
a server. In such cases, the client is forced to verify the behaviour of the server
at runtime. This scenario may be viewed as an instance of Runtime Veri fication,
where a pertinent question is whether contracts can be monitored for adequately
at runtime, otherwise stated as the monitorability of contracts. In general, not all
specifications can be verified in a correct manner at runtime.
In this dissertation, we set up to investigate this problem. We consider a language
of contracts describing both clients and servers, together with a formal notion
of \agreement" amongst these two types of contracts. We then develop a formal
monitoring framework where we instrument servers with our monitors. We de fine
monitor properties that relate monitors to server specifications that are de fined
using contracts. One such property determines whether the conclusion reached by
a monitor is correct wrt. a specification contract. Another property states that
a monitor must be able to reach a conclusion about the server. In other words,
it must be able to tell whether the server is implementing a specification or not.
These properties are then used to study the notion of monitorability of contracts
by using the newly created monitor language to defi ne an automatic synthesis
from contracts to monitors. By using this synthesis, we show whether our contract
language can create monitors which satisfy these properties.
Description: M.SC.COMPUTER SCIENCE2016-01-01T00:00:00ZDynamic cluster scheduling for ALICE/library/oar/handle/123456789/185142017-07-27T08:39:02Z2016-01-01T00:00:00ZTitle: Dynamic cluster scheduling for ALICE
Abstract: With the ever-increasing growth in data processing, simulation and other computation-heavy operations, more organisations are resorting to the use of computer
clusters in order to keep up with their computational demands. A Large Ion Collider Experiment (ALICE), one of the experiments at the European Organisation for Nuclear Research (CERN), clearly exemplifies this demand for computational power, with hundreds of computing centres devoted to process and analyse
petabytes of data generated yearly by the Large Hadron Collider (LHC). A number of problem domains often employ the use of specialised distributed software
frameworks which assume total control of cluster resources, making efficient resource utilisation difficult when running the frameworks concurrently. In this work,
meta-scheduling approaches are investigated in order to mitigate the resource allocation problem present when running multiple frameworks concurrently; in par-
ticular, Apache Mesos, a meta-scheduler for distributed systems, is employed and
extended to improve resource allocation without resorting to static partitioning.
Furthermore, this research investigates the use of network topology-aware scheduling for a number of application profiles; a novel method for automatic dynamic
network topology discovery using Layer 2 devices is presented and evaluated. The
results show that employing topology-aware meta-scheduling strategies can drastically improve performance for certain application profiles, demonstrating significant
speed-up, while also improving resource utilisation.
Description: M.SC.COMPUTER SCIENCE2016-01-01T00:00:00ZPerformance analysis and auto-tuning of batch thread schedulers/library/oar/handle/123456789/185092017-09-28T09:59:21Z2016-01-01T00:00:00ZTitle: Performance analysis and auto-tuning of batch thread schedulers
Abstract: Threads are provided by modern operating systems as a lightweight alternative
to processes which are easily manageable at the user level. In the same process,
threads share information such as the address space allowing for processes to split
work amongst various threads which may be spread across a machines cores in a
multi-core environment. E ciency in thread scheduling is vital as the overhead of
the scheduler may negate any bene ts gained through utilising threads, even in a
multi-core setting. With CPU clock speeds increasing and the overhead of using
memory becoming more signi cant, e cient utilisation of the cache is vital with
increasing the performance of any high performance application.
Therefore, cache a ne thread scheduling is crucial for providing good performance.
Reducing the amount of cache misses avoids the need to access slower
areas in memory. As such, thread schedulers which promote high levels of thread
locality are desirable. Batching is a technique which groups ne grained threads
into coarser grained entities termed batches, in order to promote repeated cache
use amongst grouped threads whilst still sharing work over all available cores in
multi-core machines. Machine learning is commonly used to optimise algorithms
and recently work has been done to apply machine learning methods to enhance
thread scheduling algorithms. This project discusses the results of implementing
a batch based scheduler on modern hardware and proposes a method to utilize
optimisation methods in order to auto-tune the batch parameters for any given
application.
Description: M.SC.COMPUTER SCIENCE2016-01-01T00:00:00ZPredicting spatial relationships for image descriptions/library/oar/handle/123456789/185072017-10-02T07:22:49Z2016-01-01T00:00:00ZTitle: Predicting spatial relationships for image descriptions
Abstract: This dissertation studies and demonstrates how machine generated spatial relationships
between image objects can improve the accuracy in retrieval-based image
caption generation systems. To this end, a Random Forest Tree based spatial
preposition predictive model is developed. This model outperforms current best
preposition prediction accuracy rates. The main contribution of this dissertation
lies on a proposed image description framework that casts the generation of image
descriptions as a combination of generation-retrieval process. In contrast to all current
retrieval-based methods, the suggested novel approach is designed to extract
image descriptions from the endless multimedia content found on the Web. The
system is evaluated by both human and computational methods. Results show that
the proposed image description system is highly competitive to current state-of-art
retrieval-based image description algorithms. Good results were achieved when
describing images containing two image objects with object labels connected by
spatial prepositions, while the web-retrieval based approach was notably effective
when describing single-object images.
Description: M.SC.COMPUTER SCIENCE2016-01-01T00:00:00Z