47 research outputs found
Advancing Operating Systems via Aspect-Oriented Programming
Operating system kernels are among the most complex pieces of software in existence to-
day. Maintaining the kernel code and developing new functionality is increasingly compli-
cated, since the amount of required features has risen significantly, leading to side ef fects
that can be introduced inadvertedly by changing a piece of code that belongs to a completely
dif ferent context.
Software developers try to modularize their code base into separate functional units.
Some of the functionality or âconcernsâ required in a kernel, however, does not fit into
the given modularization structure; this code may then be spread over the code base and
its implementation tangled with code implementing dif ferent concerns. These so-called
âcrosscutting concernsâ are especially dif ficult to handle since a change in a crosscutting
concern implies that all relevant locations spread throughout the code base have to be
modified.
Aspect-Oriented Software Development (AOSD) is an approach to handle crosscutting
concerns by factoring them out into separate modules. The âadviceâ code contained in
these modules is woven into the original code base according to a pointcut description, a
set of interaction points (joinpoints) with the code base.
To be used in operating systems, AOSD requires tool support for the prevalent procedu-
ral programming style as well as support for weaving aspects. Many interactions in kernel
code are dynamic, so in order to implement non-static behavior and improve performance,
a dynamic weaver that deploys and undeploys aspects at system runtime is required.
This thesis presents an extension of the âCâ programming language to support AOSD.
Based on this, two dynamic weaving toolkits â TOSKANA and TOSKANA-VM â are presented
to permit dynamic aspect weaving in the monolithic NetBSD kernel as well as in a virtual-
machine and microkernel-based Linux kernel running on top of L4. Based on TOSKANA,
applications for this dynamic aspect technology are discussed and evaluated.
The thesis closes with a view on an aspect-oriented kernel structure that maintains
coherency and handles crosscutting concerns using dynamic aspects while enhancing de-
velopment methods through the use of domain-specific programming languages
Automatic Generation of Distributed Runtime Infrastructure for Internet of Things
Ph. D. ThesisThe Internet of Things (IoT) represents a network of connected devices that are able to
cooperate and interact with each other in order to reach a particular goal. To attain this,
the devices are equipped with identifying, sensing, networking and processing capabilities.
Cloud computing, on the other hand, is the delivering of on-demand computing services â
from applications, to storage, to processing power â typically over the internet. Clouds
bring a number of advantages to distributed computing because of highly available pool of
virtualized computing resource. Due to the large number of connected devices, real-world
IoT use cases may generate overwhelmingly large amounts of data. This prompts the use
of cloud resources for processing, storage and analysis of the data. Therefore, a typical IoT
system comprises of a front-end (devices that collect and transmit data), and back-end â
typically distributed Data Stream Management Systems (DSMSs) deployed on the cloud
infrastructure, for data processing and analysis.
Increasingly, new IoT devices are being manufactured to provide limited execution
environment on top of their data sensing and transmitting capabilities. This consequently
demands a change in the way data is being processed in a typical IoT-cloud setup. The
traditional, centralised cloud-based data processing model â where IoT devices are used
only for data collection â does not provide an efficient utilisation of all available resources.
In addition, the fundamental requirements of real-time data processing such as short
response time may not always be met. This prompts a new processing model which is
based on decentralising the data processing tasks. The new decentralised architectural
pattern allows some parts of data streaming computation to be executed directly on edge
devices â closer to where the data is collected. Extending the processing capabilities to the
IoT devices increases the robustness of applications as well as reduces the communication
overhead between different components of an IoT system. However, this new pattern poses new challenges in the development, deployment and management of IoT applications.
Firstly, there exists a large resource gap between the two parts of a typical IoT system (i.e.
clouds and IoT devices); hence, prompting a new approach for IoT applications deployment
and management. Secondly, the new decentralised approach necessitates the deployment
of DSMS on distributed clusters of heterogeneous nodes resulting in unpredictable runtime
performance and complex fault characteristics. Lastly, the environment where DSMSs are
deployed is very dynamic due to user or device mobility, workload variation, and resource
availability.
In this thesis we present solutions to address the aforementioned challenges. We
investigate how a high-level description of a data streaming computation can be used
to automatically generate a distributed runtime infrastructure for Internet of Things.
Subsequently, we develop a deployment and management system capable of distributing
different operators of a data streaming computation onto different IoT gateway devices
and cloud infrastructure.
To address the other challenges, we propose a non-intrusive approach for performance
evaluation of DSMSs and present a protocol and a set of algorithms for dynamic migration
of stateful data stream operators. To improve our migration approach, we provide an
optimisation technique which provides minimal application downtime and improves the
accuracy of a data stream computation
Dynamic Reconfiguration with Virtual Services
We present a new architecture (virtual services) and accompanying
implementation for dynamically adapting and reconfiguring the behavior
of network services. Virtual services are a compositional middleware
system that transparently interposes itself between a service and a
client, overlaying new functionality with configurations of modules
organized into processing chains. Virtual services allow programmers
and system administrators to extend, modify, and reconfigure
dynamically the behavior of existing services for which source code,
object code, and administrative control are not available.
Virtual service module processing chains are instantiated on
a per connection or invocation basis, thereby enabling the
reconfiguration of individual connections to a service without
affecting other connections to the same service.
To validate our architecture, we have implemented a virtual services
software development toolkit and middleware server. Our experiments
demonstrate that virtual services can modularize concerns that cut
across network services. We show that we can reconfigure and enhance
the security properties of services implemented as either TCP
client-server systems, such as an HTTP server, or as remotely
invocable objects, such as a Web service. We demonstrate that virtual
services can reconfigure the following security properties and
abilities: authentication, access control, secrecy/encryption,
connection monitoring, security breach detection, adaptive response to
security breaches, concurrent and dynamically mutable implementation
of multiple security policies for different clients
Local Government in Ewedome, British Trust Territory of Togoland (Ghana), 1922-1974.
This thesis investigates the development of local government in the Ewedome region of present-day Ghana and explores the transition from the Native Authority system to a 'modem' system of local government within the context of colonization and decolonization. The decolonization process and the transition to local councils in the region from the 1950s brought in its wake a change in power relations, as individuals and groups at the local level began a struggle over status and political space within the new local government structure. As the decolonization process necessitated a change in the trusteeship status of the region, the development of local government suffered a severe jolt, as local councils became battlegrounds for the fight for and against the integration of the trust territory into independent Ghana. The thesis argues that while the Native Authorities of the colonial period were inefficient and incapable of advancing the development of a modem society, the successor local councils proved to be far more inept and corrupt than the bodies they came to replace. Excessive politicisation of local government structures alienated many citizens to the extent that local councils failed to follow in the tradition of serving as a focal point for harnessing the enthusiasm and energy of rural folk in the region
Towards Modern, Accessible and Dynamic HPC Using Container-based Virtual Clusters
In this thesis, a novel Virtual Container Cluster (VCC) framework is presented. Despite the growing popularity of container virtualisation in order to increase the flexi-bility of the software stack, run time environment virtualisation still poses significant portability challenges; by depending on the underlying cluster execution paradigm,a niche class of HPC only containers has emerged. This trend is detrimental to reusability, reproducibility, and encouraging new communities to HPC.
Traditional virtualisation techniques have a rich history within HPC, and have been demonstrated to offer much more than software flexibility. A Virtual Machine by nature requires an OS and full stack environment akin to a physical machine, and this allows it to be instantiated regardless of the underlying machine and what services it provides. This capability is essential in order to implement job forwarding and spanning - where the burden of an entire job can be transferred or shared between hetero-geneous cluster systems - with a high level of confidence that the environments will be compatible. In turn, this brings improvements to global resource performance, reducing the job turnaround time and increasing cluster utilization.
The VCC is an innovative solution that combines the full stack and container virtualisation approaches. Therefore, it offers both the flexibility of containers with the improved portability, performance and scalability of the full stack approach. In order to maintain the same accessibility and lower barrier of entry as the run time environment approach, the design incorporates an autonomous configuration and contextualisation mechanism, along with a Software Defined Networking technology, to ensure the full stack container does not place an additional burden on the user. The usefulness and performance is validated through benchmarking and two case studies: virtual clusters in the classroom and inter-institutional spanning
Migrant Ecologies
<p>Migrant Ecologies: Environmental Histories of the Pacific World is the first volume explicitly dedicated to the environmental history of Earthâs largest ocean. Covering nearly one-third of the planet, the Pacific Ocean is remarkable for its diverse human and non-human inhabitants, their astounding long-distance migrations over time, and their profound influences on other parts of the world. This book creates an understanding of the past, present, and futures of the lands, seas, peoples, practices, microbes, animals, plants, and other natural forces that shape the Pacific. It effectively argues for the existence of an interconnected Pacific World environmental history, as well as for the Pacific Ocean as a necessary framework for understanding that history.<br><br>The fifteen chapters in this comprehensive collection, written by leading experts from across the globe, span a vast array of topics, from disease ecology and coffee cultivation to nuclear testing and whaling practices. They explore regions stretching from the Tuamotu Archipelago in the south Pacific to the Kamchatka Peninsula in the far north, resisting the depiction of the Pacific as isolated and uninhabited. What unites these diverse contributions is a concern for how the people, places, and non-human beings of the Pacific World have been shaped by, and have in turn modified, their oceanic realm. Building on a recent renaissance in Pacific history, these chapters make a powerful argument for the importance of the Pacific World as a coherent unit of analysis and a valuable lens through which to examine past, ongoing, and emerging environmental issues. By showcasing surprising and innovative perspectives on the environmental histories of the peoples and ecosystems in and around the Pacific Ocean, this work adds to current conversations and debates about the Pacific World and offers myriad opportunities for further discussions, both inside and outside of the classroom.</p>