OMR for the Internet-of-Things―Student Recruitment

The Centre for Advanced Studies – Atlantic (CAS Atlantic) within the Faculty of Computer Science at the University of New Brunswick in Fredericton, New Brunswick, Canada, pools the research efforts of six faculty members, working in a variety of projects (see http://www.unb.ca/research/casatlantic/). Many of our projects are in partnership with IBM Canada, and while we work directly with them on elements of their internal, proprietary code, UNB theses are fully public documents and candidates will be expected to produce research results on par with any comprehensive university in Canada.

We are currently seeking a number of graduate students for our OMR for the Internet-of-Things project, specifically in this call, the OMR in Resource Constrained Environments theme. Open-sourced from IBM, “Eclipse-OMR is enterprise-class runtime technology that delivers high performance without sacrificing versatility or robustness” (see http://www.eclipse.org/omr/).

Qualifications

This project will require substantial hands-on and experimental work; all candidates will require extensive, in-depth background in systems-level programming, including a knowledge of C/C++, and familiarity with standard software engineering practices. Familiarity with Linux and open-source software development would be a plus. Knowledge and expertise in the inner workings of the OMR core including memory management, threading, data storage, would be an asset, but otherwise will be expected to be acquired during the course of the project.

Applicants to the Computer Science PhD program at UNB normally require a Master's degree in computer science or a closely related area; admission to a Master’s degree requires a Bachelor’s degree in the same fields (please see http://www.unb.ca/gradstudies/admissions/index.html and http://www.unb.ca/international/). These positions are “fully funded” for qualifying students; the exact funding package is subject to finalization, but will be consistent with other fully funded students in Computer Science at UNB.

Due to our relationship with IBM, any student working in the CAS Atlantic lab must first be cleared by IBM before being offered a position.

Projects and Positions

1. Embedded/Internet-of-Things/Mobile OMR

We are seeking PhD and Master’s students to work with a research assistant on porting the current OMR environment to the 64-bit ARM platform. The focus will be on adapting the OMR technology to support a diverse resource constrained system while maintaining its general goals of providing a generic run-time environment with support for multiple runtime languages. Research will be specifically conducted into real-time scheduling, as well as automatic memory management techniques to minimize the overall memory footprint.

In addition to the qualifications listed above for all candidates, knowledge and expertise in real-time and embedded systems would be an asset for these positions.

2. Ahead of Time Compiled Code Generation

We are seeking PhD and Master’s students to work with a post-doctoral researcher on designing and implementing generic ahead-of-time (AOT) code-compilation support for OMR and then extending AOT to support a scripting language, such as Python. Current implementations of AOT will be analyzed in detail and research will be specifically conducted into deciding what should be stored in persistent memory to gain best advantage in terms of size and execution speed.

In addition to the qualifications listed above for all candidates, knowledge and expertise in programming languages and compiler construction would be an asset for these positions.

3. MicroJIT for OMR

We are seeking PhD and Master’s students to work with a post-doctoral researcher and a research assistant on improving the performance of OMR in resource constrained environments through enhanced just-in-time (JIT) compilation. Starting from the existing IBM MicroJIT implementation, specific research will be conducted into utilizing MicroJIT for languages other than Java and for applying MicroJIT in embedded OMR.

In addition to the qualifications listed above for all candidates, knowledge and expertise in real-time and embedded systems and/or compiler construction would be an asset for these positions.

4. Garbage Collection with Reference Counting

We are seeking Master’s students to work on improving automatic garbage collection in OMR, particularly for dynamic languages such as Python. A solution based upon reference counting is proposed and research will be specifically conducted into studying the known shortcomings of reference counting and then various optimizations to overcome said shortcomings will be implemented and evaluated.

In addition to the qualifications listed above for all candidates, knowledge and expertise in dynamic languages and multi-processor environments would be an asset for these positions.

To Apply

Send your C.V. and unofficial transcripts by email to: cas-atlantic@unb.ca.

Please note we can only extend a formal offer to a student that has also been accepted into graduate school by UNB (the processes are separate). For more information please see http://www.unb.ca/international/ and http://www.unb.ca/gradstudies/admissions/index.html.

Please specify which project or projects are of interest and whether you are applying for a PhD or Master’s position.