Curriculum Vitae |
| ||
|
| ||
|
| ||
Personal Information |
| ||
Full Name | Vojin Jovanovic | ||
Address | Goldbrunnenstrasse 73, 8055, Zürich, Switzerland | ||
Telephone | +41 (0)21 69 37691 | Mobile: | +41 (0)78 871 91 74 |
vojin.jovanovic@oracle.com | |||
Date of birth | 14th January 1985 | ||
Goals and aspirations | I believe that programs can be written abstractly and yet execute as fast as their hand tuned counterparts. To this end, I am making a framework that allows effortless addition of domain-specific optimizations to existing libraries. I am also working on a high-level programming model for dynamic compilation where dynamic information is used to perform domain-specific optimizations at runtime; yet managing assumptions, deoptimization, and code caches is done behind the scenes. | ||
|
| ||
|
| ||
Selected Work Experience |
| ||
Position and Dates | Principal Researcher November 2015 – present | ||
Employer | Oracle Labs, Zürich | ||
Main activities and responsibilities | VM research and development. | ||
|
| ||
Position and Dates | PhD Student October 2010 – December 2015 | ||
Employer | Scala Laboratory (LAMP), EPFL, Switzerland | ||
Main activities and responsibilities | Author and maintainer of the Yin-yang framework which is used for seamless embedding of DSLs. Yin-yang is used for generating and reifying queries in the new version of LegoBase. Co-author and initiator of Scala Records. Scala Records are used for type-safe manipulation of SparkSQL query results. Co-author of SIP 14 – Futures and Promises LMS contributor: implemented a loop fusion prototype, added record support, enabled and helped removal of the dependency to Virtualized Scala. Author of sbt-coursera which is used for automatic grading of Java based projects Coursera. | ||
|
| ||
Position and Dates | Research Intern June 2013 – September 2013 | ||
Employer | Oracle Labs, Switzerland | ||
Main activities and responsibilities | Implemented the Graal backend for Lightweight Modular Staging with support for vectorization. Performance on all (at the time) supported vectorization features was within 10% of hand-written C. | ||
|
| ||
Position and Dates | Research Intern April 2010 – September 2010 | ||
Employer | Network Systems Laboratory (NSL), EPFL, Switzerland | ||
Main activities and responsibilities | Implemented DiCE, a system that makes a snapshot of a network of BGP routers and uses concolic execution to explore the live system state. Exploration ensures that the faulty system states can not be reached. DiCE detects common errors in BGP networks like the cybernuke vulnerability. | ||
|
| ||
Position and Dates | Software Developer – Team Leader March 2008 – September 2009 | ||
Employer | Margintech Corporation, Toronto Working for Taleo inc. on the TBE product | ||
Main activities and responsibilities | Developed software for a large SaaS system that is used daily by over 50.000 customers. Lead a team of 3 people on several enterprise projects. At the same time developed algorithms for cache re-balancing (10x improvement in memory utilization), fixed critical concurrency bugs and integrated a semantic search engine. | ||
|
| ||
|
| ||
Education |
| ||
|
| ||
School and Dates | École polytechnique fédérale de Lausanne (EPFL), Switzerland October 2010 – December 2015 | ||
Title | Ph.D. in Computer Science | ||
|
| ||
School and Dates | School of Electrical Engineering, University of Belgrade, Serbia October 2008 – April 2010 | ||
Title | Engineer of Electrical Engineering and Computer Science – Master GPA 10.00/10.00 Thesis: Human Computer Interaction Device for Visually Impaired People | ||
|
| ||
School and Dates | School of Electrical Engineering, University of Belgrade, Serbia October 2003 – October 2008 | ||
Title | Engineer of Electrical Engineering GPA 9.02/10.00 Thesis: Tactile Web Browser Simulator | ||
|
| ||
|
| ||
|
| ||
Selected Publications |
| ||
|
| ||
| V. Jovanovic, D. Shabalin, E. Burmako, and M. Odersky, Annotating the Previous Stage: Succinct Type-Driven Staging at Compile Time, Scala'15 (under submission) | ||
| V. Jovanovic, A. Shaikhha, S. Stucki, V. Nikolaev, C. Koch, and M. Odersky, Yin-Yang: Concealing the deep embedding of DSLs, GPCE'14 | ||
| A. Sujeeth, T. Rompf, K. Brown, H. Lee, H. Chafi, V. Popic, M.Wu, A. Prokopec, V. Jovanovic, M. Odersky, and K. Olukotun, Composition and reuse with compiled domain-specific languages, ECOOP'13 | ||
| T. Rompf, A. Sujeeth, N. Amin, K. Brown, V. Jovanovic, H. Lee, M. Jonnalagedda, K. Olkotun, and M. Odersky, Optimizing Data Structures in High-Level Programs: New Directions for Extensible Compilers based on Staging, POPL '13 | ||
| S. Ackermann, V. Jovanovic, T. Rompf, and M. Odersky, Jet: An Embedded DSL for High-Performance Big Data Processing, BigData'12 | ||
| M. Canini, V. Jovanovic, D. Venzano, D. Novakovic, and D. Kostic, Online Testing of Federated and Heterogeneous Distributed Systems, Computer Communication Review, vol. 41, p. 434-435, 2011. | ||
| M. Canini, V. Jovanovic, D. Venzano, B. Spasojevic, and O. Crameri, Toward Online Testing of Federated and Heterogeneous Distributed Systems, USENIX'11 | ||
|
| ||
|
| ||
Activities |
| ||
|
| ||
Selected talks | Programming DSLs Made Simple, ScalaDays 2014 Yin-Yang: Transparent Deep Embedding of DSLs, ScalaCamp 2013 High-Performance DSLs Embedded in Scala, GeeCon 2013 | ||
Reviewing | Artefact reviewer for OOPSLA'15 Subreviewer for HLPP'14, GPCE'14, and ICFP'14 | ||
Demos | Yin-Yang: Concealing the Deep Embedding of DSLs, ECOOP'15 | ||
Organizing | Summer School on Domain Specific Programming Languages, Lausanne, July 2015 Scala Workshop, 2013 PL Seminar at EPFL | ||
Teaching | Reactive Programming and Parallelism (2015) Functional Programming Principles in Scala (2013, 2014, 2015) Principles of Reactive Programming (2013, 2015) Foundations of Software (2012) Operating Systems (2011) | ||
|
| ||
|
| ||
References | |||
|
| ||
| Christian Wimmer, Research Manager at Oracle Labs, christian.wimmer@oracle.com
Thomas Wuerthinger, Research Director at Oracle Labs, thomas.wuerthinger@oracle.com Martin Odersky, Professor of Computer Science at EPFL, martin.odersky@epfl.ch
Christoph Koch, Professor of Computer Science at EPFL, christoph.koch@epfl.ch
Leonid Igolink, VP of Engineering, App. Perf. Management at CA Technologies, lim@igolnik.com | ||
|
| ||