Consumer grade Virtual Reality (VR)-headsets are on the rise, and with them comes an increasing number of digital games which support VR. How players perceive the gameplay and how well they perform at the games tasks can be key factors to designing new games.

This master’s thesis aims to evaluate if a user can performa game task, specifically a target practice, in less time and/or more accurately when using a VR-headset as opposed to a computer screen and mouse. To gather statistics and measure the differences, an experiment was conducted using a test application developed alongside this report. The experiment recorded accuracy scores and time taken in tests performed by 35 test participants using both a VR-headset and computer screen.

The resulting data sets are presented in the results chapter of this report. A Kolmogorov-Smirnov Normality Test and Student’s paired samples t-test was performed on the data to establish its statistical significance. After analysis, the results are reviewed, discussed and conclusions are made.

This study concludes that when performing the experiment, the use of a VR-headset decreased the users accuracy and to a lesser extent also increased the time the user took to hit all targets. An argument was made that the longer previous experience with computer screen and mouse of most users gave this method an unfair advantage. With equally long training, VR use might score similar results.

For achieving an environment where students think it is more fun to learn in school, a Gamification tool could be applied. Today these tools have been more commonly used, as the digital world evolves. There must be an understanding of how these tools affect the students, in order to use them in school environments. This study investigates whether elements of fun in a Gamification tool increases students' test results, by comparing a Gamification tool and an educational test in school. The results could be analysed by gathering data from two different tests, one with the Gamification tool: Kahoot, and one without it, performed by 16 middle-school students. As a part of the experiment, the students answered a survey including questions about whether they learned something from using a digital tool in school. Five of the students participated in an interview, which purpose was to open up further discussions that could provide valuable information for answering the research question. The results of this study show that the test results did not increase in the use of the gamified tool. Most of the students had fewer right answers in Kahoot compared to the traditional test. No statistically significant change occurred between the learning tools, which proved the null hypothesis. According to the survey, most of the students thought it was more fun using a digital tool in school. The result shows that the use of a Gamification tool affects students' learning negatively, due to the decrease of performance in the test in Kahoot compared to the traditional test. According to the interview, the notable difference between the learning tools is that the gamified tool could potentially create a stressful environment in the classroom compared to the traditional written test. This could be the reason for the decrease in performance of the test in Kahoot. This experiment creates room for further research in this field, but a suggestion would be to do it on a larger scale and to learn more about the elements of fun in learning environments, to get more valid results.

Introduction. For hardware used in radar systems of today, technology is evolving in an increasing rate. For existing software in radar systems, relying on specific drivers or hardware, this quickly becomes a problem. When hardware required is no longer produced or outdated, compatibility problems emerges between the new hardware and existing software. This research will focus on exploring if the virtualization technology can be helpful in solving this problem. Would it be possible to address the compatibility problem with the help of hypervisor solutions, while also maintaining high performance?

Objectives. The aim with this research is to explore the virtualization technology with focus on hypervisors, to improve the way that hardware and software cooperate within a radar system. The research will investigate if it is possible to solve compatibility problems between new hardware and already existing software, while also analysing the performance of virtual solutions compared to non-virtualized.

Methods. The proposed method is an experiment were the two hypervisors Xen and KVM will analysed. The hypervisors will be running on two different systems. A native environment with similarities to a radar system will be built and then compared with the same system, but now with hypervisor solutions applied. Research around the area of virtualization will be conducted with focus on security, hypervisor features and compatibility.

Results. The results will present a proposed virtual environment setup with the hypervisors installed. To address the compatibility issue, an old operating system has been used to prove that implemented virtualization works. Finally performance results are presented for the native environment compared against a virtual environment.

Conclusions. From results gathered with benchmarks, we can see that the individual performance might vary, which is to be expected when used on different hardware. A virtual setup has been built, including Xen and KVM hypervisors, together with NAS communication. Running an old operating system as a virtual guest, compatibility has been proven to exist between software and hardware using KVM as the virtual solution. From the results gathered, KVM seems like a good solution to investigate more.

Heat demand forecasting is in one form or another an integrated part of most optimisation solutions for district heating and cooling (DHC). Since DHC systems are demand driven, the ability to forecast this behaviour becomes an important part of most overall energy efficiency efforts. This paper presents the current status and results from extensive work in the development, implementation and operational service of online machine learning algorithms for demand forecasting. Recent results and experiences are compared to results predicted by previous work done by the authors. The prior work, based mainly on certain decision tree based regression algorithms, is expanded to include other forms of decision tree solutions as well as neural network based approaches. These algorithms are analysed both individually and combined in an ensemble solution. Furthermore, the paper also describes the practical implementation and commissioning of the system in two different operational settings where the data streams are analysed online in real-time. It is shown that the results are in line with expectations based on prior work, and that the demand predictions have a robust behaviour within acceptable error margins. Applications of such predictions in relation to intelligent network controllers for district heating are explored and the initial results of such systems are discussed. (C) 2017 The Authors. Published by Elsevier Ltd.

Context. Real time rendering has many challenges to overcome, one of them being character realism. One way to move towards realism is to use wrinkle maps. Although already used in several games, there might be room for improvement, common practice suggests using two wrinkle maps, however, if this number can be reduced both texture usage and workload might be reduced as well.

Objectives. To determine whether or not it is possible to reduce the number of wrinkle maps from two to one without having any significant impact on the perceived realism of a character.

Methods. After a base character model was created, a setup in Maya were made so that dynamic wrinkles could be displayed on the character using both one and two wrinkle maps. The face were animated and rendered, displaying emotions using both techniques. A two-alternative forced choice experiment was then conducted where the participants selected which implementation displaying the same facial expression and having the same lighting condition they perceived as most realistic.

Results. Results showed that some facial expressions had more of an impact of the perceived realism than others, favoring two wrinkle maps in every case where there was a significant difference. The expressions with the most impact were the ones that required different kinds of wrinkles at the same area of the face, such as the forehead, where one variant of wrinkles run at a more vertical manner and the other variant runs horizontally along the forehead.

Conclusions. Using one wrinkle map can not fully replicate the effect of using two when it comes to realism. The difference on the implementations are dependant on the expression being displayed.

Due to the trends towards Big Data and Cloud Computing, one would like to provide large storage systems that are accessible by many servers. A shared storage can, however, become a performance bottleneck and a single-point of failure. Distributed storage systems provide a shared storage to the outside world, but internally they consist of a network of servers and disks, thus avoiding the performance bottleneck and single-point of failure problems. We introduce a cache in a distributed storage system. The cache system must be fault tolerant so that no data is lost in case of a hardware failure. This requirement excludes the use of the common write-invalidate cache consistency protocols. The cache is implemented and evaluated in two steps. The first step focuses on design decisions that improve the performance when only one server uses the same file. In the second step we extend the cache with features that focus on the case when more than one server access the same file. The cache improves the throughput significantly compared to having no cache. The two-step evaluation approach makes it possible to quantify how different design decisions affect the performance of different use cases.

Summary: Thread-level speculation can be used to take advantage of multicore architectures for JavaScript in web applications. We extend previous studies with these main contributions; we implement thread-level speculation in the state-of-the art just-in-time-enabled JavaScript engine V8 and make the measurements in the Chromium web browser both from Google instead of using an interpreted JavaScript engine. We evaluate the thread-level speculation and just-in-time compilation combination on 15 very popular web applications, 20 HTML5 demos from the JS1K competition, and 4 Google Maps use cases. The performance is evaluated on two, four, and eight cores. The results clearly show that it is possible to successfully combine thread-level speculation and just-in-time compilation. This makes it possible to take advantage of multicore architectures for web applications while hiding the details of parallel programming from the programmer. Further, our results show an average speedup for the thread-level speculation and just-in-time compilation combination by a factor of almost 3 on four cores and over 4 on eight cores, without changing any of the JavaScript source code.

JavaScript is a sequential programming language that has a large potential for parallel execution in Web applications. Thread-level speculation can take advantage of this, but it has a large memory overhead. In this article, we evaluate the effects of adjusting various parameters for thread-level speculation. Our results clearly show that thread-level speculation is a useful technique for taking advantage of multicore architectures for JavaScript in Web applications, that nested speculation is required in thread-level speculation, and that the execution characteristics of Web applications significantly reduce the needed memory, the number of threads, and the depth of our speculation.

Thread-Level Speculation has been used to take advantage of multicore processors in virtual execution environments for the sequential JavaScript scripting language. While the results are promising the memory overhead is high. Here we propose to reduce the memory usage by limiting the checkpoint depth based on an in-depth study of the memory and execution time effects. We also propose an adaptive heuristic to dynamically adjust the checkpoints. We evaluate this using 15 web applications on an 8-core computer. The results show that the memory overhead is reduced for Thread-Level Speculation by over 90% as compared to storing all checkpoints. Further, the performance is often better than when storing all the checkpoints and at worst 4% slower.

Virtual platforms provide benefits to developers in terms of a more rapid development cycle since development may begin before next-generation hardware is available. However, there is a distinct lack of graphics virtualization in industry-grade virtual platforms, leading to performance issues that may reduce the benefits virtual platforms otherwise have over execution on actual hardware. This paper demonstrates graphics acceleration by the means of paravirtualizing OpenGL ES in the Wind River Simics full-system simulator. We propose a solution for paravirtualized graphics using magic instructions to share memory between target and host systems, and present an implementation utilizing this method. The study illustrates the benefits and drawbacks of paravirtualized graphics acceleration and presents a performance analysis of strengths and weaknesses compared to software rasterization. Additionally, benchmarks are devised to stress key aspects in the solution, such as communication latency and computationally intensive applications. We assess paravirtualization as a viable method to accelerate graphics in system simulators, this reduces frame times up to 34 times compared to that of software rasterization. Furthermore, magic instructions are identified as the primary bottleneck of communication latency in the implementation.

Context. It is very common today that e-commerce systems store sensitiveclient information. The database administrators of these typesof systems have access to this sensitive client information and are ableto manipulate it. Therefore, data integrity is of core importance inthese systems and methods to detect fraudulent behavior need to beimplemented.

Objectives. The objective of this thesis is to implement and evaluatethe features and performance impact of different methods for achievingdata integrity in a database, Oracle to be more exact.Methods. Five methods for achieving data integrity were tested.The methods were tested in a controlled environment. Three of themwas tested and performance evaluated by a tool emulating a real lifee-commerce scenario. The focus of this thesis is to evaluate the performanceimpact and the fraud detection ability of the implementedmethods.

Results. This paper evaluates traditional Digital signature, Linkedtimestamping applied to a Merkle hash tree and Auditing performanceimpact and feature impact wise. Two more methods were implementedand tested in a controlled environment, Merkle hash tree and Digitalwatermarking. We showed results from the empirical analysis, dataverification and transaction performance. In our evaluation we provedour hypothesis that traditional Digital signature is faster than Linkedtimestamping.

Conclusions. In this thesis we conclude that when choosing a dataintegrity method to implement it is of great importance to know whichtype of operation is more frequently used. Our experiments show thatthe Digital signature method performed better than Linked timestampingand Auditing. Our experiments did also conclude that applicationof Digital signature, Linked timestamping and Auditing decreasedthe performance by 4%, 12% and 27% respectively, which is arelatively small price to pay for data integrity.

Large collections of historical document images have been collected by companies and government institutions for decades. More recently, these collections have been made available to a larger public via the Internet. However, to make accessing them truly useful, the contained images need to be made readable and searchable. One step in that direction is document image binarization, the separation of text foreground from page background. This separation makes the text shown in the document images easier to process by humans and other image processing algorithms alike. While reasonably well working binarization algorithms exist, it is not sufficient to just being able to perform the separation of foreground and background well. This separation also has to be achieved in an efficient manner, in terms of execution time, but also in terms of training data used by machine learning based methods. This is necessary to make binarization not only theoretically possible, but also practically viable.

In this thesis, we explore different ways to achieve efficient binarization in terms of execution time by improving the implementation and the algorithm of a state-of-the-art binarization method. We find that parameter prediction, as well as mapping the algorithm onto the graphics processing unit (GPU) help to improve its execution performance. Furthermore, we propose a binarization algorithm based on recurrent neural networks and evaluate the choice of its design parameters with respect to their impact on execution time and binarization quality. Here, we identify a trade-off between binarization quality and execution performance based on the algorithm’s footprint size and show that dynamically weighted training loss tends to improve the binarization quality. Lastly, we address the problem of training data efficiency by evaluating the use of interactive machine learning for reducing the required amount of training data for our recurrent neural network based method. We show that user feedback can help to achieve better binarization quality with less training data and that visualized uncertainty helps to guide users to give more relevant feedback.