Faculty of Computer Science (Fredericton)

Pages

MicroJIT: a lightweight just-in-time compiler to improve startup times
MicroJIT: a lightweight just-in-time compiler to improve startup times
by Federico Sogaro, The startup phase of an application represents a tiny fraction of the total runtime, but it is considered, nevertheless, a critical phase for both client and server environments. In the JVM, the Just-in-Time compiler (JIT) translates Java bytecodes to native machine code to improve the performances of an application. This thesis investigates whether using two different JIT compilers in the same JVM can improve startup time. A lightweight JIT system (i.e. MicroJIT) has been integrated into the J9 JVM and it has been set up to perform an initial, low-optimized, but fast compilation while, at a latter time, the standard JIT recompiles Java bytecodes with better, but more expensive, optimizations. This solution has been evaluated using different benchmarks and metrics and has been compared to the JVM in different configurations: default configuration, standard JIT tuned for optimal startup time (option Xquickstart) and executing the Java application with Ahead-of-Time code available from the Shared Class Cache. Experimental results show that enabling MicroJIT, compared to the default configuration, significantly reduces the startup time of the considered benchmarks but with a cost in memory usage and, in some cases, a reduction in throughput performance. The solution presented in this thesis does not improve the startup time as much as the other solution already implemented in the JVM, however in some conditions it could be the best option since, the penalty on throughput performance is less than the one caused by using the option Xquickstart to tune the main JIT system for optimal startup time, and it does not require the presence of the Shared Class Cache.
MicroJIT: a template-based Just-in-Time compiler for constrained environments
MicroJIT: a template-based Just-in-Time compiler for constrained environments
by Eric Douglas Coffin, The widespread adoption of Java Virtual Machine (JVM) runtime environments has increased application portability and security while making programming much more accessible. Programs that run on the JVM are initially interpreted, however, to improve performance, a Just in Time (JIT) compiler may be employed at run-time to translate parts of the program to native code. Later, the generated code can be executed directly, bypassing the need to interpret the code. Before code generation, some JIT compilers build an intermediate representation (IR) to apply transformations to, allowing for further performance improvements. For some constrained runtime environments, the overhead required by an optimizing JIT compiler may be too high to be useful. An alternative approach is to employ a non-optimized, template-based JIT compiler that copies predefined machine-code templates instead of generating and manipulating IR. In this work, we present such a JIT compiler, MicroJIT, geared toward generating native code as fast as possible for Eclipse OpenJ9, an open-source Java runtime environment. Our initial results for compilation time and memory overhead are promising. For our custom benchmarks, we can compile with significantly less overhead than the default optimizing JIT compiler in OpenJ9.
Mining partially ordered sequential rules on unbounded data
Mining partially ordered sequential rules on unbounded data
by Andriy Drozdyuk, Data mining studies how to separate useful data from the rest. Recent work in the field of Sequential Rule Mining has led to mining new types of rules, partially ordered sequential rules. However, existing approaches do not consider the case of unbounded data. With unbounded data, conventional approaches to data mining are not sufficient because they become slow as the dataset increases in size. We propose an algorithm that makes use of previous intelligence when processing new information. This requires a slight reformulation of the problem and the solution. In the end, we show that our algorithm, on average, outperforms the existing approaches when applied to unbounded data.
Modeling a campus network and provisioning video and VoIP services
Modeling a campus network and provisioning video and VoIP services
by Omar Alsaiari, Capacity planning is used to predict the characteristics of a new network even before any modifications are made to it. One such scenario is testing to ensure that new services like streaming video or VoIP can be added to a network without affecting any existing applications. We used OPNET Modeler to model a campus network and then tested the network after adding new video and VoIP services. The results show that adding video and VoIP services to the campus network would not degrade other running applications. The highest response time transferring an HTTP object is still only 1.5 ms when the network is running 200 simultaneous video users in the network. The results also show the video delay would be only 3 ms with 500 video users, VoIP delay remains within specifications and is less than 130 ms, and jitter is 0.002 ms, all of which indicate a good performance of the campus network after streaming video and VoIP applications are added., A Report Submitted in Partial Fulfillment of the Requirements for the Degree of Master of Computer Science in the Graduate Academic Unit of Computer Science. Scanned from archival print submission., M.C.S. University of New Brunswick, Faculty of Computer Science, 2013.
Movement generator for mobile network simulation
Movement generator for mobile network simulation
by Raid A. Alghamdi, The simulation of mobile networks relies on a reliable movement generation. Random movement patterns are frequently used in simulators. In this report, the performance of the popular setdest movement generator, which is built into the ns2 open source simulator, is investigated using two statistical tests: quadrat count test and the variance to mean ratio (VMR) test. The results show a non-uniform distribution of nodes during the simulation with a bias towards placing the nodes in the center of the simulated area. We propose and implement a different method for random movement generation in the ns2 simulator and show that our movement generator improves the randomness of the node distribution during the simulation. The new generator was successfully tested with the ns2 simulator., Scanned from archival print submission., M.C.S. University of New Brunswick, Faculty of Computer Science, 2012.
Movement modeling in 3D for MANETS
Movement modeling in 3D for MANETS
by Nasir Mahmood, NS-2 is an open-source event-driven simulator designed specifically for research in computer communication networks. It allows modeling of MANET in two dimensions which imposes limits on investigating the MANET performance in the real world. In this report, NS-2 source code was enhanced and a capability to model MANETs in three dimensions was added. The independent setdest utility was enhanced in order to make use of the output file which initializes the nodes with the initial position and defines the movement of nodes in 3D throughout the simulation time. A number of experiments were conducted in which movements generated by the modified independent setdest utility were used. The experiments show how the modified NS-2 simulator can be used to investigate MANET performance in 3D scenarios., A Report Submitted in Partial Fulfillment of the Requirements for the Degree of Master of Computer Science Coop in the Graduate Academic Unit of Computer Science. Electronic Only. (UNB thesis number) Thesis 9429. (OCoLC) 963932631., M.S.C., University of New Brunswick, Faculty of Computer Science, 2014.
Multipath TCP for user cooperation in wireless networks
Multipath TCP for user cooperation in wireless networks
by Dizhi Zhou, In this thesis, we propose several enhancement modules to Multipath TCP (MPTCP) so as to support stable and efficient multipath transmission with user cooperation in the Long Term Evolution (LTE) network. Specifically, we aim to 1) provide a stable aggregate throughput to the upper-layer applications; 2) guarantee a steady goodput, which is the real application-layer perceived throughput; and 3) ensure that the local traffic of the relays is not adversely affected when the relays are forwarding data for the destination. Firstly, we propose a subset-sum based relay selection (SSRS) module to achieve a stable aggregate throughput with MPTCP in the user cooperation scenario. Secondly, two independent and complementary modules, adaptive congestion control (ACC) and differentiated packet forwarding (DPF), are developed to improve the goodput based on the stable aggregate throughput provided by SSRS. Thirdly, a bandwidth sharing module extends the congestion control algorithm of MPTCP to ensure that the throughput of the local traffic at the relays is not degraded by the forwarding traffic for the destination. As the foundation of ACC and DPF, the SSRS and bandwidth sharing modules can protect the local traffic of the relays and provide a stable aggregate throughput so that ACC and DPF can further improve the goodput perceived at the application layer. To evaluate the performance of the proposed extensions to MPTCP, we implement an MPTCP module of ns-3 and extend the LTE network module of ns-3 to support user cooperation among mobile devices. The performance of the proposed solutions is extensively evaluated in various scenarios. The simulation results demonstrate that the proposed modules can achieve a stable aggregate throughput and significantly improve the goodput by 1.5 times on average. At the same time, the results also show that our extensions can well respect the local traffic of the relays and motivate the relay users to provide the relaying service., Electronic Only. (UNB thesis number) Thesis 9425. (OCoLC) 965920318.
Multithreading support in GarCoSim
Multithreading support in GarCoSim
by Andrii Kuch, Garbage Collection Simulator (GarCoSim) is a framework that has been created to ease the analysis of existing memory management techniques, as well as the prototyping of new memory management techniques. As a part of the framework, the Trace File Simulation tool has been created to prototype and test new Memory Allocation and Garbage Collection (GC) policies. This thesis focuses on the enhancement of the functionality of the simulator, namely on enabling the simulator to run multiple threads. Such a simulation would represent processes in memory more realistically, as well as allowing prototyping and testing thread-aware garbage collection methods. This work describes the changes that have been made to the simulator and its trace files to make such a parallel execution possible.
Multiword expression identification using
deep learning
Multiword expression identification using deep learning
by Waseem Gharbieh, Multiword expressions combine words in various ways to produce phrases that have properties that are not predictable from the properties of their individual words or their normal mode of combination. There are many types of multiword expressions including proverbs, named entities, and verb noun combinations. In this thesis, we propose various deep learning models to identify multiword expressions and compare their performance to more traditional machine learning models and current multiword expression identification systems. We show that convolutional neural networks are able to perform better than state-of-the-art with the three hidden layer convolutional neural network performing best. To our knowledge, this is the first work that applies deep learning models for broad multiword expression identification., M.C.S. University of New Brunswick, Faculty of Computer Science, 2017.

Pages

Zircon - This is a contributing Drupal Theme
Design by WeebPal.