Blekinge Institute of Technology
Electronic Research Archive - Blekinge Tekniska HögskolaNot a member yet
1855 research outputs found
Sort by
Design and Implementation of Thread-Level Speculation in JavaScript Engines
Two important trends in computer systems are that applications are moved to the
Internet as web applications, and that computer systems are getting an
increasing number of cores to increase the performance. It has been shown that
JavaScript in web applications has a large potential for parallel execution
despite the fact that JavaScript is a sequential language. In this thesis, we
show that JavaScript execution in web applications and in benchmarks are
fundamentally different and that an effect of this is that Just-in-time
compilation does often not improve the execution time, but rather increases the
execution time for JavaScript in web applications. Since there is a significant
potential for parallel computation in JavaScript for web applications, we show
that Thread-Level Speculation can be used to take advantage of this in a manner
completely transparent to the programmer. The Thread-Level Speculation
technique is very suitable for improving the performance of JavaScript
execution in web applications; however we observe that the memory overhead can
be substantial. Therefore, we propose several techniques for adaptive
speculation as well as for memory reduction. In the last part of this thesis we
show that Just-in-time compilation and Thread-Level Speculation are
complementary techniques. The execution characteristics of JavaScript in web
applications are very suitable for combining Just-in-time compilation and
Thread-Level Speculation. Finally, we show that Thread-Level Speculation and
Just-in-time compilation can be combined to reduce power usage on embedded
devices
In press: An experiment on the effectiveness and efficiency of exploratory testing
The exploratory testing (ET) approach is commonly applied in industry, but
lacks scientific research. The scientific community needs quantitative results
on the performance of ET taken from realistic experimental settings. The
objective of this paper is to quantify the effectiveness and efficiency of ET
vs. testing with documented test cases (test case based testing, TCT). We
performed four controlled experiments where a total of 24 practitioners and 46
students performed manual functional testing using ET and TCT. We measured the
number of identified defects in the 90-minute testing sessions, the detection
difficulty, severity and types of the detected defects, and the number of false
defect reports. The results show that ET found a significantly greater number
of defects. ET also found significantly more defects of varying levels of
difficulty, types and severity levels. However, the two testing approaches did
not differ significantly in terms of the number of false defect reports
submitted. We conclude that ET was more efficient than TCT in our experiment.
ET was also more effective than TCT when detection difficulty, type of defects
and severity levels are considered. The two approaches are comparable when it
comes to the number of false defect reports submitted
Heuristics for Thread-Level Speculation in Web Applications
JavaScript is a sequential programming language, and Thread-Level Speculation
has been proposed to dynamically extract parallelism in order to take advantage
of parallel hardware. In previous work, we have showed significant speed-ups
with a simple on/off speculation heuristic. In this paper, we propose and
evaluate three heuristics for dynamically adapt the speculation: a 2-bit
heuristic, an exponential heuristic, and a combination of these two. Our
results show that the combined heuristic is able to both increase the number of
successful speculations and decrease the execution time for 15 popular web
applications
In the quest for economic significance: Assessing variable importance through mean value decomposition
Economic significance is frequently assessed through statistical hypothesis
testing, which however, does not always correspond to the implicit economical
questions being addressed. In this article we propose using mean value
decomposition to assess economic significance. Unlike most previously suggested
methods the proposed one is intuitive and simple to conduct. The technique is
demonstrated and contrasted with hypothesis tests by an empirical example
involving the income of Mexican children, which shows that the two inference
approaches provide different and supplementary pieces of information
A PMIPv6 Approach to Maintain Network Connectivity During VM Live Migration Over the Internet
We present a live migration solution based on Proxy Mobile IPv6 (PMIPv6), a
light-weight mobility protocol standardized by IETF. PMIPv6 handles node
mobility without requiring any support from the moving nodes. In addition,
PMIPv6 works with IPv4, IPv6 and dual-stack nodes. Our results from a real
testbed show that network connectivity is successfully maintained with little
signaling overhead and with short virtual machine (VM) downtime. As far as we
know, this is the first time PMIPv6 is used to enable live migration beyond the
scope of a LAN
Performance Aspects in Virtualized Software Systems
Virtualization has significantly improved hardware utilization by allowing IT
service providers to create and run several independent virtual machine
instances on the same physical hardware. One of the features of virtualization
is live migration of the virtual machines while they are active, which requires
transfer of memory and storage from the source to the destination during the
migration process. This problem is gaining importance since one would like to
provide dynamic load balancing in cloud systems where a large number of virtual
machines share a number of physical servers. In order to reduce the need for
copying files from one physical server to another during a live migration of a
virtual machine, one would like all physical servers to share the same storage.
Providing a physically shared storage to a relatively large number of physical
servers can easily become a performance bottleneck and a single point of
failure. This has been a difficult challenge for storage solution providers,
and the state-of-the-art solution is to build a so called distributed storage
system that provides a virtual shared disk to the outside world; internally a
distributed storage system consists of a number of interconnected storage
servers, thus avoiding the bottleneck and single point of failure problems. In
this study, we have done a performance measurement on different distributed
storage solutions and compared their performance during read/write/delete
processes as well as their recovery time in case of a storage server going
down. In addition, we have studied performance behaviors of various hypervisors
and compare them with a base system in terms of application performance,
resource consumption and latency. We have also measured the performance
implications of changing the number of virtual CPUs, as well as the performance
of different hypervisors during live migration in terms of downtime and total
migration time.
Real-time applications are also increasingly deployed in virtualized
environments due to scalability and flexibility benefits. However, cloud
computing research has not focused on solutions that provide real-time
assurance for these applications in a way that also optimizes resource
consumption in data centers. Here one of the critical issues is scheduling
virtual machines that contain real-time applications in an efficient way
without resulting in deadline misses for the applications inside the virtual
machines. In this study, we have proposed an approach for scheduling real-time
tasks with hard deadlines that are running inside virtual machines. In addition
we have proposed an overhead model which considers the effects of overhead due
to switching from one virtual machine to another
Towards a Behavioral Software Engineering
Throughout the history of Software Engineering (SE) it has been repeatedly
found that the humans involved, i.e. the engineers and developers in addition
to other stakeholders, are a key factor in determining project outcomes and
success. However, the amount of research that focuses on human aspects has been
limited compared to research with technology or process focus. With increasing
maturity of the field, interest in agile methods and a growing dissatisfaction
with the continued challenges of developing high-quality software on time, the
amount of SE research putting human aspect in primary focus has increased.
In this paper we argue that a synthesized view of the emerging human-focused SE
research is needed and can add value through giving focus, direction and help
identify gaps. Taking cues from the addition of Behavioral Economics as an
important part of the area of Economics we propose the term Behavioral Software
Engineering (BSE) as an umbrella concept for research that focus on behavioral
and social aspects in the work activities of software engineers. We propose
that a model based on three units of analysis can give structure and point to
concepts that are important for BSE. To add detail to this model we are
conducting a systematic review to map out what is currently known. To exemplify
the model and the area we here present the results from a subset of the
identified concepts
Cognitive AF Relay Assisting both Primary and Secondary Transmission with Beamforming
This paper investigates the system performance of a cognitive relay network
with underlay spectrum sharing wherein the relay is exploited to assist both
the primary and secondary transmitters in forwarding their signals to the
respective destinations. To exploit spatial diversity, beamforming transmission
is implemented at the transceivers of the primary and secondary networks.
Particularly, exact expressions for the outage probability and symbol error
rate (SER) of the primary transmission and tight bounded expressions for the
outage probability and SER of the secondary transmission are derived.
Furthermore, an asymptotic analysis for the primary network, which is utilized
to investigate the diversity and coding gain of the network, is developed.
Finally, numerical results are presented to show the benefits of the proposed
system
Performance Evaluation of Cognitive Multi-Relay Networks with Multi-Receiver Scheduling
In this paper, we investigate the performance of cognitive multiple
decode-and-forward relay networks under the interference power constraint of
the primary receiver wherein the cognitive downlink channel is shared among
multiple secondary relays and secondary receivers. In particular, only one
relay and one secondary receiver which offers the highest instantaneous
signal-to-noise ratio is scheduled to transmit signals. Accordingly, only one
transmission route that offers the best end-to-end quality is selected for
communication at a particular time instant. To quantify the system performance,
we derive expressions for outage probability and symbol error rate over
Nakagami-m fading with integer values of fading severity parameter m. Finally,
numerical examples are provided to illustrate the effect of system parameters
such as fading conditions, the number of secondary relays and secondary
receivers on the secondary system performance
Performance of Cognitive Radio Networks with Finite Buffer Using Multiple Vacations and Exhaustive Service
In this paper, we analyze the performance of a cognitive radio network where
the secondary transmitter, besides its own transmission, occasionally relays
the primary signal. It is assumed that the secondary transmitter employs the
exhaustive service mode to transmit the secondary signal and multiple vacations
to relay the primary signal. When assisting the primary transmitter, we assume
that the secondary transmitter utilizes the decode-and-forward protocol to
process the primary signal and forwards it to the primary receiver.
Furthermore, the secondary transmitter has a finite buffer, the arriving
packets of the secondary network are modeled as a Poisson process, and all
channels are subject to Nakagami-m fading. Modeling the system as an M/G/1/K
queueing system with exhaustive service and multiple vacations, using an
embedded Markov chain approach to
analyze the system, we obtain several key queueing performance indicators,
i.e., the channel utilization, blocking probability, mean number of packets,
and mean serving time of a packet in the system. The derived formulas are then
utilized to evaluate the performance of the considered system