The rapidly evolving architectures on computer systems has made the task of application optimisation non-trivial. There is no single set of optimisations that can yield optimally to any application on any architecture. Instead, a voluminous optimisation space has to be searched, restricting the fine-tuning only to particular pairs of application-architecture.
Iterative (or adaptive) optimisation is a technique that undertakes the task of exploring such optimisation spaces so as to improve various aspects of an application, i.e. performance, power consumption, code size, etc. It requires a high number of compilations and instrumented executions, which restricts its applicability to specific fields like embedded applications, i.e. optimise once, execute forever.
In particular, for mobile devices, that have restricted processing power and finite power sources, applying such a technique is prohibitively expensive. My research will focus on making this technique viable on such delicate environments.
June 2012 – September 2012
Worked on FOSS project (Smartlib, a volunteer sharing library), which included a backend database and frontend web page and applications for mobile platforms: Android and iOS for volunteer book sharing, among faculty and students.
Contributed to a project coined Vectormap, which provides fine-grained, low power and privacy-preserving indoor localization on smartphones. The backend consists of 2 parts: Hadoop HBase database on top of HDFS, and Oracle’s Glassfish server. The frontend is an Android application, which allows users to anonymously localize themselves indoors, while monitoring server’s speculations about their actual location.
Designed and developed a system for CYMAR Market-Research Ltd. By following a custom designed protocol, the company’s ITs can write and deploy dynamic questionnaires on Android tablet devices without the need of programming for Java/Android SDK. A handful of the supported functionalities are: mathematical operations, logical operations, nested branches, custom OO variables, and questionnaires flow/lifecycle control. The research staff use the dynamic questionnaires offline. On a subsequent stage the data are securely harvested on company’s servers. Progress reports of the research staff are automatically generated in order to be examined by the managers/ITs.
General Programming: Web Technologies: Image and Graphics: High Performance: Other Frameworks: Databases: Operating Systems: IDEs: Versioning: | Java, C/C++, Bash Scripting, Python, Fortran PHP, HTML/CSS, JavaScript (jQuery), Java Servlets OpenGL/GLSL, Matlab, AndEngine MPI, OpenMP, OpenCL Google’s Android, Drive, Maps, Calendar SDKs MySQL, Oracle SQL, Hadoop HBase Windows, Linux, Mac OS X IntelliJ Idea, PHPStorm, Android Studio, Eclipse, AppCode, Visual Studio Git, SVN |
I like underwater fishing, watching and playing football, and playing badminton. I also like listening to music, watching movies, and latest and greatest hacking my smartphones and tablets.
Last updated: 3 Oct. 2014