Filip Pizlo

Curriculum Vitae

fil@fiji-systems.com

Please note: the PDF version of my CV is almost always more up-to-date.

Research Interests

I'm the co-founder and president of Fiji Systems Inc., an Indianapolis-based technology startup specializing in real-time Java solutions. My academic research, on which Fiji Systems' core product is based, spans real-time systems, memory management, virtual machines, runtime systems, static analysis, type systems, and programming models. I'm also involved in scientific computing efforts as part of the VERITAS collaboration.

Education

Ph.D., Purdue University, West Lafayette, IN, dissertation topic: Java on Bare Hardware. Key courses: Compilers, Programming languages, Operating Systems, Formal Compiling Methods, Analysis of Algorithms, Parallel Computing, Numerical Methods, Randomized and Probabilistic Algorithms, Numerical Solutions to Ordinary Differential Equations. Due to graduate in 2011.
2003 B.S., Purdue University, West Lafayette, IN., double-majored in computer science and math. Key courses: Computer Architecture, Analysis of Algorithms, Data Structures, Databases, Compilers, Operating Systems, Software Engineering, Computer Networking, Real Time Systems, Scientific Computing, Numerical Methods, Calculus, Discrete Math, Linear Algebra, Differential Equations, Abstract Algebra, Physical Mechanics I (Honors), Gamma-ray Astrophysics, Russian.
1999 High school diploma, Brebeuf Jesuit Preparatory School, Indianapolis, IN.

Awards and Grants

Publications - Journals

  1. J. Baker, A. Cunei, T. Kalibera, F. Pizlo, J. Vitek. Accurate Garbage Collection in Uncooperative Environments. Concurrency and Computation: Practice and Experience, 2008. paper
  2. A. Armbuster, J. Baker, A. Cunei, C. Flack, D. Holmes, F. Pizlo, E. Pla, M. Prochazka, J.Vitek. A Real-Time Java Virtual Machine with Applications in Avionics. In ACM Transactions in Embedded Computing Systems (TECS), 2006. paper

Publications - Refereed Conferences

  1. F. Pizlo, L. Ziarek, P. Maj, A. L. Hosking, E. Blanton, J. Vitek. Schism: Fragmentation-Tolerant Real-Time Garbage Collection. To appear in the ACM SIGPLAN 2010 Conference on Programming Language Design and Implementation (PLDI 2010). paper slides PDF slides Keynote
  2. F. Pizlo, L. Ziarek, E. Blanton, P. Maj, J. Vitek. High-level Programming of Embedded Hard Real-Time Devices. In the ACM SIGOPS 2010 EuroSys Conference (EuroSys 2010). paper
  3. T. Kalibera, F. Pizlo, A. L. Hosking, J. Vitek. Scheduling Hard Real-Time Garbage Collection. IEEE Real-Time Systems Symposium 2009: 81-92. paper
  4. F. Pizlo, L. Ziarek, J. Vitek. Real time Java on resource-constrained platforms with Fiji VM. JTRES 2009: 110-119. paper
  5. T. Kalibera, J. Hagelberg, F. Pizlo, A. Plsek, B. Titzer, J. Vitek. CDx: a family of real-time Java benchmarks. JTRES 2009: 41-50. paper
  6. T. Wrigstad, F. Pizlo, F. Meawad, L. Zhao, J. Vitek. Loci: Simple Thread-Locality for Java. In the 2009 European Conference on Object-Oriented Programming (ECOOP 2009). paper
  7. F. Pizlo, E. Petrank, B. Steensgaard. Path Specialization: Reducing Phased Execution Overheads. In The 2008 International Symposium on Memory Management (ISMM 2008). paper slides
  8. F. Pizlo, E. Petrank, B. Steensgaard. A Study of Concurrent Real-time Garbage Collectors. In the ACM SIGPLAN 2008 Conference on Programming Language Design and Implementation (PLDI 2008). (Acceptance rate: 18%) paper slides
  9. F. Pizlo, J. Vitek. Memory Management for Real-time Java: State of the Art. Proceedings of the IEEE International Symposium on Object-oriented Real-time Distributed Computing (ISORC), May 2008.
  10. F. Pizlo, D. Frampton, E. Petrank, B. Steensgaard. Stopless: A Real-Time Garbage Collector for Modern Platforms. In The 2007 International Symposium on Memory Management (ISMM 2007), October 2007. paper
  11. F. Pizlo, A. Hosking, J. Vitek. Hierarchical Real-time Garbage Collection. In the ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES'07), held in San Diego as part of the Federated Computing Research Conference (FCRC'07). paper slides
  12. J. Spring, F. Pizlo, R. Guerraoui, J. Vitek. Reflexes: Programming Abstractions for Highly Responsive Systems. In the 2007 ACM International Conference on Virtual Execution Environments (VEE'07), held in San Diego as part of the Federated Computing Research Conference (FCRC'07). paper
  13. J. Baker, A. Cunei, F. Pizlo, J. Vitek. Accurate Garbage Collection in Uncooperative Environments with Lazy Pointer Stacks. In Compiler Construction, 16th International Conference, CC 2007, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2007. paper slides
  14. F. Pizlo, J. Vitek. An Empirical Evaluation of Memory Management Alternatives for Real-time Java. In Proceedings of the 27th IEEE Real-Time Systems Symposium (RTSS), December 2006. paper slides
  15. J. Baker, A. Cunei, C. Flack, F. Pizlo, M. Prochazka, J. Vitek, A. Armbuster, E. Pla, D. Holmes. Real-time Java in Avionics Applications. In Proceedings of the 12th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), 2006. paper
  16. F. Pizlo, J. Fox, D. Holmes, J. Vitek. Real-time Java scoped memory: design patterns, semantics. In Proceedings of the IEEE International Symposium on Object-oriented Real-Time Distributed Computing (ISORC’04), pp 101112, Vienna, Austria, May 2004. paper

Publications - Workshops

  1. T. Kalibera, F. Pizlo, J. Vitek, M. Prochazka, M. Zulianello, M. Decky. Real-Time Java in Space: Potential Benefits and Open Challenges. Presented at Eurospace DASIA 2009.
  2. F. Pizlo. First in, first out memory. Presented at The 3rd Workshop on Java Technologies for Real-time and Embedded Systems, October 2005.
  3. F. Pizlo, M. Prochazka, S. Jaggannathan, J. Vitek. Transactional lock-free data structure for Real Time Java. In Workshop on Concurrency and Synchronization in Java Programs, St John’s, Newfoundland, Canada, July 2004.

Publications in Other Disciplines - Journals

  1. VERITAS collaboration. A connection between star formation activity and cosmic rays in the starburst galaxy M82. Nature, Volume 462, pp. 770-772.
  2. V. A. Acciari et al. VERITAS Observations of a Very High Energy Gamma-ray Flare from the Blazar 3C 66A. Astrophysical Journal Letters, 2009.
  3. J. Holder et al. The first VERITAS telescope. Astroparticle Physics, Volume 25, Issue 6, p. 391-401. July 2006.
  4. E. T. Linton et al. A new search for primordial black hole evaporations using the Whipple gamma-ray telescope. Journal of Cosmology and Astroparticle Physics, Issue 01, pp. 013. January 2006.
  5. A. D. Falcone et al. A Search for TeV Gamma-Ray Emission from High-peaked Flat-Spectrum Radio Quasars Using the Whipple Air Cerenkov Telescope. The Astrophysical Journal, Volume 613, Issue 2, pp. 710-715. October 2004.
  6. R. M. Steinman, Z. Pizlo, F. Pizlo. Phi is not beta, and why Wertheimer's discovery launched the Gestalt revolution: a minireview. Vision Research, 40, 2257-2264. 2000.

Professional Experience

Fiji Systems Fiji Systems Inc., Indianapolis, IN
Co-founder and CEO, 2009-present
Co-founder of Fiji Systems Inc. and Chief Executive Officer. I am the lead on Fiji Systems' core technology, the Fiji VM, an exciting new Java virtual machine that allows hard real-time and safety-critical code to be written in Java. While at Fiji Systems I invented the Schism real-time garbage collector (RTGC), the world's first high-throughput wait-free fragmentation-tolerant RTGC for multiprocessors. I was also responsible for the Fiji SSA-based compiler (Fiji C1) and the high throughput PIP/fast/biased lock implementation.
S3 Lab Secure Software Systems Lab, Purdue University, West Lafayette, IN
Research Assistant, 2003-2009
PhD student, and core developer on OpenVM and Jikes RVM. My contributions to both systems span thread scheduling, lock implementation, garbage collection (real-time garbage collection in particular), compilation, data flow analysis, and type systems.
VERITAS Very Energetic Radiation Imaging Telescope Array System, Purdue University, West Lafayette, IN
Research Assistant, 2000-2009
Designed and developed software for the VERITAS telescope array. VERITAS is an international project consisting of over 20 universities and research institutions. The telescope array is the largest of its type in the northern hemisphere. My work includes the design and development of the backend data acquisition system, the real-time data analysis, and the standard data format.
Microsoft Microsoft Research, Redmond, WA
Research intern, Winter 2006-2007 and Summer 2007
Developed three algorithms for concurrent copying garbage collection. Also developed a new compiler optimization for improving garbage collector performance. Our CoCo algorithm for concurrent copying (published in ISMM'07) was the first such algorithm to support lock-freedom and multiprocessors while being fast enough for practical use.
IBM T.J. Watson Research Center, IBM, Hawthorne, NY
Research intern, Summer 2004
Member of original design team for the X10 programming language. Developed original X10 compiler.

Software Development Experience

Fiji VM Chief architect and project lead. Designed and implemented a parallel SSA-based ahead-of-time compiler that converts Java bytecodes to native code. Optimized the compiler to the point where it beats Jikes RVM and is as fast as HotSpot 1.6 server. Designed and implemented two novel concurrent on-the-fly real-time garbage collectors (Schism and CMR). Designed and implemented a novel locking strategy that combines Java-style fast locking, PIP locking, and biased locking. Ported the VM to a variety of platforms, which included making it run on bare metal and in kernel mode.
See http://www.fiji-systems.com/ for more information about Fiji VM.
Bartok Compiler Extended the Microsoft Bartok Research Compiler to support three new on-the-fly lock-free concurrent copying garbage collectors and a new compiler optimization for improving garbage collector performance. Also added numerous useful enhancements to other parts of the system (including the reference counting collector, inliner, devirtualizer, and code scheduler).
See http://research.microsoft.com/research/act/default.aspx for more information about Bartok.
VERITAS Telescope Member of the core engineering team. I'm responsible for the standard "VBF" data format, one of the main data analysis packages (namely, the Quicklook real-time analysis), and the backend data acquisition system. My software is critical to the real-time recording, compression, and analysis of the 20 MB/sec VERITAS data stream.
See http://veritas.sao.arizona.edu/ for more information about VERITAS.
OpenVM Java VM Member of the core team. Designed novel garbage collection, scheduling, and data analysis techniques, in addition to implementing numerous features and fixes to other parts of the system. Currently maintaining the memory management and thread scheduling frameworks.
See http://www.ovmj.org/ for more information about OpenVM.
Jikes RVM Core team member. Implemented and stabilized native threading as a replacement for M:N green threading. Also worked on fixes and improvements in the compiler, garbage collector, and locking.
See http://www.jikesrvm.org/ for more information about Jikes RVM.
TSF library Designed and implemented the TSF open source data format library. TSF is a scientific data format not unlike HDF5, FITS, or NetCDF, and is used by VERITAS for storing data summaries.
See http://homepage.mac.com/pizlo/tsf/ for more information about TSF.
Stochastic M-CAS Designed and implemented a mechanism for lock-free atomic multi-word compare-and-swap (Multi-CAS, or M-CAS) based on random numbers. Stochastic Multi-CAS can be used for a variety of non-blocking applications, especially concurrent garbage collection.
See http://homepage.mac.com/pizlo/smcas/ for more information about Stochastic Multi-CAS