Antti Pekka Miettinen
Research EngineerHelsinki, Finland
Background
Warning: I tend to be a bit verbose sometimes.
I was born on the 2nd of May 1967 in the city of Oulu. At that time my parents were living in the Vaala municipality, but I do not really feel like originating from Vaala as I cannot remember anything from those times. The reason we lived there was the fact that my father had got a teaching position there - he was about to graduate and we moved from Vaala to Valtimo when he graduated. Hmm.. do I feel as originating from Valtimo? Not that strongly as when I was about five years old, we moved to a town called Lieksa in eastern Finland. There I went to school and I lived till I moved to Espoo when I started my studies in Helsinki University of Technology.
During my studies at HUT I had my first encounters with free open source software. I had met computers already in Lieksa during my upper level of comprehensive school studies. The first computer in our school was an ABC80 from Luxor and my father purchased one of the first Commodore VIC-20 micros ever imported into Finland. Later we of course had to get the Commodore 64. At some point our school set up a real computer network with some Compis computers but I never got very excited about CP/M. What I did get very excited about was the Amiga. I have always been sort of a fan of arcade games and the ability to play games on my own computer was simply thrilling. But programming ended up being even more addicting. My typical programming excercise tended to be a foolish attempt to recreate some kind of variation of Space Invaders or Galaxian.
Oh yeah - Galaxian - I saw the game for the first time on a ship while travelling to Stockholm (must have been in the 70s). I had previously seen Space Invaders at Linnanmäki amusement park while visiting my cousin in Helsinki and naturally the Space Invaders clearly stood out among the mechanical coin ops. But Galaxian feeled magical. So when we got the VIC-20 my first BASIC programs naturally tried to print animated Galaxian-like figures with the CBM graphical character set.
So it is probably not such a surprise that I got in touch with free open source software via games. I had taken a programming job in the Laboratory of Physics at HUT to be able to support myself financially without taking large loans. My job was to program data acquisition and analysis software for measurements from vertebrate photoreceptors but on my spare time I played around with the unix machines of the lab. One of the important activities was naturally to install every freely available game on those machines. Some of those games had manual pages in nroff format and one of the machines in the lab was a Silicon Graphics Iris Indigo without the nroff formatting tools. In order to be able to format those manual pages I wanted to compile the GNU groff package for the Indigo. But groff was programmed in C++ and the Indigo did not have a C++ compiler. But g++ did exist. During those days, g++ was a separate package to be added on top of gcc and the IRIX version in the brand new Indigo had some differences compared to the IRIX version that was known to be supported by gcc. So out of the desire to view cbzone (if I remember correctly) manual page I ended up debugging gcc and making some bug reports about internal compiler errors. But I did manage to format those manual pages. And learned how wonderful the world of collaboration with free software is.
Professional Activities
In 1994 there was a job ad from Nokia Telecommunications for a GNU/HPUX wizard in the HUT student union news server. As I did have some experience about HPUX and I had played aroud with the GNU tools I dared to apply for the job even though I did not consider myself to be anything near a wizard. The job interview was quite pleasant experience as instead of discussing e.g. computing science grades we talked about a.out, COFF and m68k assembly. So I spent the summer of 1994 as a summer trainee building cross compilers for hppa HPUX host and m68k LynxOS target. I went back to my studies for the 1994-1995 winter and came back to hacking GNU tools in the spring of 1995. One side effect of that work was that I got an official permit to contribute to gcc/gdb/binutils as a Nokia employee - my name seems to be still on those old bfd-library changelogs.
While I was hacking the GNU tools I had very little idea about what was done with those. But I did find out later quite concretely that it was about network management. While working on the products that manage our network infrastructure, I met quite a few operating systems, compilers, protocol stacks, software frameworks - and many flawors of those, proprietary and open source. The variety of work has been inspiring for a person like me who gets easily interested in many things. I suppose an average programming job might not get one involved in coding interrupt handlers with assembly on one day and designing Web user interfaces with HTML and CSS the next day.
In 2004 I joined NRC. Here my current research focus is on energy and power management for mobile devices. The area seems to be huge and it looks like there are some quite hard challenges ahead of us but also a lot of interesting opportunities. I've looked at e.g. performance and energy consumption analysis which led me quite deep into modelling timed memory access in various simulation tools. I've also done some power and performance measurements and looked briefly at how we could utilize FPGA boards in our studies. My current research focuses on performance and energy consumption estimation during software development. I'm located at the NRC Helsinki/Ruoholahti site.
Research Interests
Program behaviour modelling, analysis, prediction, operating systems, programming languages, compilers, computing architectures, HDLs, energy efficiency - I tend to get interested in too many things.
Personal Information
I currently live in Espoo. I have a wife and four kids. I'm a member of the Domestic Network Association which is a nice environment for hacking with IP technology. I tend to get very little spare time but I did manage restart my old Judo hobby even though my activity has been a bit intermittent.
Work History
- 1989-1994
- Research assistant, Helsinki University of Technology (HUT), Laboratory of Physics
- 1994
- Trainee, Nokia Telecommunications (NTC)
- 1995-1999
- Software Engineer, NTC
- 1999-2003
- Software Engineer, Nokia Networks (NET, former NTC)
- 2004-
- Research Engineer, Nokia Research Center
Education
- Helsinki University of Technology
- Examination: Master of Science (M.Sc.)
- Year: 1997
- Subject: Information Science
Other Information
Software
For my modelling excercises I ported Linux to the RealView Instruction Set Simulator (RVISS). The patch is available at the ARM Linux wiki. During 2008 fall I did some work with a couple of ARM11MPCore platforms in collaboration with TKK. Some patches are available but unfortunately these are for obsolete Linux/oprofile/LTT versions.
Publications
During my studies I contributed to a couple of papers on using the Self Organizing Map for dimension reduction:
- J. Joutsensalo, A. Miettinen, and M. Zeindl, Nonlinear Dimension Reduction by Combining Competitive and Distributed Learning, Proc. 1995 International Conference on Artificial Neural Networks (ICANN'95), Paris, France, October 9-13, 1995, vol. 2, pp. 395-400.
- J. Joutsensalo and A. Miettinen, Self-Organizing Operator Map for Nonlinear Dimension Reduction, Proc. International Conference on Neural Networks (ICNN'95), Perth, Australia, Nov. 27 - Dec. 1, 1995, vol. 1, pp. 111-114.
While working for Nokia Networks I made some studies about (E)GPRS scheduling and we submitted a paper to the VTC Fall 2004 conference:
- A. Kuurne, A. P. Miettinen, Weighted Round Robin Scheduling Strategies in (E)GPRS Radio Interface, IEEE Vehicular Technology Conference 2004-Fall, September 26-29, 2004, Los Angeles, CA, pdf.
At the HotPar'09 I presented a position paper about parallelism in the mobile domain:
- A. Miettinen, V. Hirvisalo, Energy-efficient Parallel Software for Mobile Hand-held Devices, First USENIX Workshop on Hot Topics in Parallelism, March 30-31, 2009, Berkeley, CA. pdf
At the SPLST'09 I presented a study of the performance scaling properties of the x264 video encoder:
- A.P. Miettinen, V. Hirvisalo, Scalability of parallel workloads: the effects of granularity and scheduling in video processing, 11th Symposium on Programming Languages and Software Tools, August 26-28, 2009, Tampere, Finland. pdf
To the HotCloud'10 workshop we wrote a paper about mobile devices and cloud computing:
- A.P. Miettinen, J.K. Nurminen, Energy efficiency of mobile clients in cloud computing, the 2nd USENIX Workshop on Hot Topics in Cloud Computing, June 22, 2010, Boston, MA. pdf
In ESM 2010 I presented a paper about our performance estimation work with QEMU:
- A.P. Miettinen, V. Hirvisalo, J. Knuuttila, Execution-driven Simulation of Non-functional Properties of Software, European Simulation and Modelling Conference, October 25, 2010, Hasselt, Belgium.
The first International QEMU Users Forum (QUF) was arranged at DATE 2011. I presented results about the performance and accuracy of our QEMU instrumentation for performance estimation there:
- A.P. Miettinen, V. Hirvisalo, J. Knuuttila, Using QEMU in Timing Estimation for Mobile Software Development, The 1st International QEMU Users Forum, March 18, 2011, Grenoble, France.
Patents
Being an open source geek I naturally hate them. So I'm a bit sad that I'm in a disagreement with a goal of my company. But then again, I'm quite happy about the fact that my employer lets me hate them :-)